﻿@charset "utf-8";
/*
Theme Name: original
Author: takagi.omt
Description: original theme
Version： 1.0.0
*/
/*================================================================
  トップページ
================================================================*/
/*-----------------------------*/
/*　メインビジュアル (FSV)*/
/*-----------------------------*/
.fsv {
 overflow: hidden;
 background: #fff;
 padding-bottom: 40px;
}
.fsv__text {
 /* width: 650px; */
 width: clamp(320px, 33.85vw, 650px);
 padding-left: 4%;
 position: relative;
 z-index: 1;
 margin-top: clamp(120px, 10.42vw, 200px);
}
.fsv__text p {
 font-size: clamp(25px, 2.60vw, 50px);
 display: flex;
 align-items: center;
 color: #454545;
 margin-bottom: clamp(20px, 2.08vw, 40px);
 letter-spacing: 0.08em;
 opacity: 0;
 transition: .4s;
}
.fsv__text p.isShow {
 opacity: 1;
}
.fsv__text p span {
 display: inline-block;
 width: clamp(3px, 0.31vw, 6px);
 height: auto;
 aspect-ratio: 1/1;
 background: var(--default_font-color);
 border-radius: 50%;
 margin-left: clamp(2px, 0.21vw, 4px);
 margin-right: clamp(2px, 0.21vw, 4px);
}
.fsv__movie {
 width: 80%;
 margin: -11vw 0 0 auto;
 position: relative;
 z-index: 0;
 right: -8%;
}
.fsv__movie video {
 height: 100%;
 width: 100%;
}
@media (max-width: 991px) {
 .fsv__movie {
  margin-top:0;
  width: 120%;
 }
}
@media (max-width: 670px) {
 .fsv__movie {
  margin-top: 0;
  width: 130%;
  right: 2%;
 }
 .fsv {
  padding-bottom: 0;
 }
}
@media (max-width: 500px) {
 .fsv__movie {
  margin-top: 24px;
  width: 150%;
  right: 12%;
 }
 .fsv__text {
  width: clamp(256px, 33.85vw, 650px);
  margin-top: clamp(130px, 10.42vw, 200px);
 }
 .fsv__text p {
  font-size: clamp(20px, 2.60vw, 50px);
  margin-bottom: clamp(20px, 2.08vw, 40px);
 }
}
/*-----------------------------*/
/*　ビジョン (vision)*/
/*-----------------------------*/
.vision {
 padding: 80px 0;
 width: 100%;
 height: 100vh;
 position: fixed;
 top: 0;
 left: 0;
 z-index: -999;
 display: flex;
 align-items: center;
 justify-content: center;
}
.vision__title {
 margin-bottom: clamp(20px, 2.08vw, 40px);
}
.vision__title p {
 font-size: clamp(25px, 3.3vw, 70px);
 line-height: 1.4;
 letter-spacing: .1em;
 font-weight: 500;
 color: #fff;
 display: flex;
 align-items: center;
}
.vision__title p span {
 display: inline-block;
 width: clamp(4px, 0.52vw, 10px);
 height: auto;
 aspect-ratio: 1/1;
 background: #fff;
 border-radius: 50%;
 margin-left: clamp(2px, 0.83vw, 16px);
 margin-right: clamp(2px, 0.83vw, 16px);
}
.vision__text p {
 font-size: clamp(15px, 1.4vw, 28px);
 line-height: 1.6;
 margin-bottom: clamp(8px, 1.25vw, 24px);
 color: #fff;
}

/*-----------------------------*/
/*　ビジョン余白 (vision__margin)*/
/*-----------------------------*/
.vision__margin, .vision__bg {
 height: 200vh;
 position: relative;
}
.vision__bg::before {
 content: "";
 display: block;
 height: 100%;
 width: 100%;
 background: var(--grad_green);
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1000;
}
.vision__margin::before {
 content: "";
 display: block;
 width: 100%;
 height: 200px;
 background: linear-gradient(180deg, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%);
 position: absolute;
 top: 0;
 left: 0;
}
.vision__margin::after {
 content: "";
 display: block;
 width: 100%;
 height: 200px;
 background: linear-gradient(0deg, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%);
 position: absolute;
 bottom: -2px;
 left: 0;
}
@media (max-width: 500px) {
 .vision__title p {
  line-height: 1.6;
  font-size: clamp(22px, 4.2vw, 90px);
  letter-spacing: .0em;
 }
 .vision__margin, .vision__bg {
  height: 150vh;
 }
 .vision__text p {
  letter-spacing: .02em;
 }
}


/*-----------------------------*/
/*　取引先 (client)*/
/*-----------------------------*/
/*
.client {
 background: #fff;
 position: relative;
 overflow: hidden;
 padding-top: clamp(60px, 6.67vw, 128px);
}
.client__inner {
 display: flex;
 width: max-content;
 gap: clamp(40px, 2.81vw, 54px);
 margin: 0 auto;
}
.client__inner ul {
 display: flex;
 align-items: center;
 gap: clamp(40px, 2.81vw, 54px);
 width: auto;
}
.client ul li {
 height: clamp(20px, 2vw, 40px);
 display: inline-block;
 flex-shrink: 0;
 width:auto;
}
.client ul li img {
 object-fit: contain;
 height: 100%;
 width: auto;
}
*/
.slider_parent {
 position: relative;
 overflow: hidden;
}

.slider_parent .slider {
 display: flex;
 gap: 24px;
}

.text_scroll {
 animation: scroll 50s linear infinite;
}

.logos {
 flex-shrink: 0;
}

.slider_parent ul li {
 margin-left: 10px;
 margin-right: 10px;
}

.slider_parent ul li {
 display: inline-block;
}

.slider_parent ul {
 padding: 0;
 margin: 60px 0 0;
 display: flex;
 gap: 24px;
}

.slider_parent ul li > a img {
 transition: 0.4s;
}
.slider_parent ul li > a img {
 max-width: 100% !important;
}

@keyframes scroll {
 0% {
  transform: translateX(0%);
 }
 100% {
  transform: translateX(-100%);
 }
}

@media only screen and (max-width: 768px) {
 .slider_parent ul li {
  margin-left: 5px;
  margin-right: 5px;
 }
 .slider_parent ul li img {
  height: 28px;
  width: auto;
 }
 .text_scroll {
  animation: scroll 70s linear infinite;
 }
}



/*-----------------------------*/
/*　リンク (links)*/
/*-----------------------------*/
.links__inner {
 display: flex;
 gap: 40px;
 padding-top: clamp(80px, 8.85vw, 170px);
 padding-bottom: clamp(90px, 9.38vw, 180px);
}
.links__item {
 width: 100%;
}
.links__title {
 display: flex;
 align-items: center;
}
.links__title img.logo {
 width: 25%;
 margin: 0 24px 0 0;
 z-index: 1;
 position: relative;
}
.links__title {
 font-size: clamp(18px, 1.45vw, 32px);
 font-weight: 500;
 line-height: 1.6;
 margin-bottom: 12px;
 display: flex;
 align-items: center;
}
.links__item a:not(.button_default) {
 width: 100%;
 aspect-ratio: 16 / 6;
 background: #ACACAC;
 border-radius: 12px;
 position: relative;
 overflow: hidden;
}
.links__item a img.bg {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.links__item p {
 line-height: 1.8;
 font-weight: 400;
 font-size: 16px;
 letter-spacing: .04em;
 margin-top: 20px;
}
.links__text .button_default {
 margin-top: 20px;
 width: 200px!important;
 padding-left: 16px!important;
}
.links__text .button_default:hover svg {
 fill: #fff;
}
.links__text img {
 width: 25%;
 margin: 0 24px 0 0;
}
@media (max-width: 991px) {
 .links__title {
  margin: 0 0 10px;
 }
 .links__text img {
  margin: 0 16px 0 0;
  width: 120px;
 }
 .links__item > .links__text .links__title {
  display: flex;
  margin-bottom: 0;
 }
 .links__item p {
  margin-top: 8px;
 }
}
@media (max-width: 960px) {
 .links__inner {
  display: block;
 }
 .links__item {
  display: block;
  max-width: 540px;
  margin: 0 auto;
 }
 .links__item:first-child {
  margin-bottom: 56px;
 }
}
@media (max-width: 768px) {
 .links__item p {
  font-size: 14px;
  line-height: 1.6;
 }
 .links__item a:not(.button_default) {
  border-radius: 10px;
  width: 100%;
 }

 .links__text {
  width: 100%;
  margin-top: 24px;
 }
 .links__inner {
  width: 80%;
  max-width: 540px;
 }
}
@media (max-width: 540px) {
 .links__title {
  display: block;
 }
 .links__title img.logo {
  margin: 0 0 8px;
  width: 80px;
 }
 .links__item:first-child {
  margin-bottom: 40px;
 }
}

/*-----------------------------*/
/*　トピックス (topics)*/
/*-----------------------------*/
.topics {
 padding-bottom: clamp(100px, 12.5vw, 240px);
}
.topics__inner {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
}
.topics__header {
 order: 2;
}
.topics__title {
 color: var(--main_color);
}
.topics__title span {
 text-align: right;
 color: var(--default_font-color);
}
.topics__button {
 border: 1px solid var(--main_color);
}
.topics__button::before {
 background: var(--main_color);
}
.topics__button svg {
 fill: var(--main_color);
}
.button_default:hover .link_arrow{
 background: var(--main_color);
}
.topics__button:hover svg {
 fill:#fff;
}
.topics__list {
 order: 1;
 width: 68%;
}
.topics__item a,.company__item a {
 padding-top: clamp(24px, 2.08vw, 40px);
 padding-bottom: clamp(24px, 2.08vw, 40px);
 padding-right: 86px;
 padding-left: 24px;
 border-top: 1px solid rgb(229, 229, 229);
 display: flex;
 align-items: center;
 width: 100%;
 position: relative;
}
.topics__item:last-child a,.company__item:last-child a {
 border-bottom: 1px solid rgb(229, 229, 229);
}
.topics__item__date {
 font-size: 10px;
 font-weight: bold;
 letter-spacing: 0;
 color: #898989;
 background: #F7F7F7;
 padding: 2px 16px;
 border-radius: 40px;
 margin-right: 32px;
}
.topics__item__title {
 line-height: 1.6;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 1;
 overflow: hidden;
}
.topics__item a .link_arrow,.company__item a .link_arrow {
 position: absolute;
 right: 24px;
}
.topics__sp__all {
 display: none;
}
@media (hover: hover) and (pointer: fine) {
 .topics__button:hover {
  color: var(--main_color);
 }
 .topics__item a:hover,.company__item a:hover {
  border: none;
  box-shadow: rgb(47 65 19 / 20%) 0 0 18px;
  border-radius: 12px;
 }
}
@media (max-width: 991px) {
 .topics__inner {
  display: block;
 }
 .topics__list {
  width: 100%;
 }
 .topics__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
 }
 .topics__title span {
  margin-bottom: 32px;
  text-align: left;
 }
 .topics__item a .link_arrow, .company__item a .link_arrow {
  transform: scale(.8);
  right: 16px;
 }
 section.topics .title_main span {
  margin-bottom: 40px;
 }

}
@media (max-width: 768px) {
 .topics__item a {
  display: block;
 }
 .topics__item__date {
  margin-right: 0;
  margin-bottom: 8px;
  display: inline-block;
  padding: 0px 12px;
 }
 .topics__item a .link_arrow {
  bottom: 0;
  top: 0;
  margin: auto;
  height: fit-content;
 }
 .topics__item__title {
  font-size: 14px;
 }
 .company__item a {
  font-size: 14px;
 }
}
@media (max-width: 500px) {
 .topics__button {
  display: none!important;
 }
 .topics__title span {
  margin-bottom: 24px;
 }
 .topics__item a, .company__item a {
  padding-top: 16px;
  padding-bottom: 16px;
  padding-right: 42px;
  padding-left: 0;
 }
 .company__item a {
  padding-top: 24px;
  padding-bottom: 24px;
 }
 .topics__item a .link_arrow {
  right: 0;
 }
 .topics__sp__all {
  display: block;
 }
 .topics__sp__all a {
  display: flex;
  align-items: center;
  margin: 16px 0 0 auto;
  font-size: 14px;
 }
 section.topics .title_main span {
  margin-bottom: 24px;
 }
}

/*-----------------------------*/
/*　事業紹介 (service)*/
/*-----------------------------*/
.service {
 background: var(--grad_green);
 overflow:hidden;
 padding-top: clamp(72px, 13.54vw, 140px);
 padding-bottom: clamp(100px, 13.54vw, 260px);
}
.service__title {
 color: #fff;
}
.service__list ul {
 position: relative;
 margin-top: 80px;
}
.service__item {
 margin-right: clamp(12px, 1.25vw, 24px);
}
.service__list .slick-arrow {
 position: absolute;
 top: -48px;
 left: 0;
 transition: .2s;
 transform: scale(1.4);
}
.service__list .slick-arrow:hover {
 opacity: .6;
}
.service__list .slick-arrow.slick-next {
 left: 40px;
}
.service__item a {
 display: block;
 width: 100%;
 height: 100%;
 aspect-ratio: 52/45;
 position: relative;
 box-shadow: rgb(0 0 0 / 16%) 0 3px 18px;
 border-radius: 12px;
 overflow: hidden;
}
.service__item a::before {
 z-index: 1;
 position: absolute;
 top: 0;
 left: 0;
 content: "";
 display: block;
 width: 100%;
 height: 100%;
 background: rgb(0 0 0 / 10%);
 transform: scaleX(0);
 transform-origin: right;
 transition: all 0.3s
 ease;
 transition-property: transform;
}
.service__item__inner {
 position: absolute;
 bottom: 6%;
 width: 88%;
 right: 0;
 left: 0;
 margin: auto;
}
.service__item a h3 {
 font-size: clamp(16px, 1.25vw, 24px);
 z-index: 9;
 overflow: hidden;
 color: transparent;
 text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
 transition: text-shadow 0.3s;
 margin-bottom: 8px;
}
.service__item a h3 span {
 font-size: 12px;
 letter-spacing: 0;
}
.service__item a h3 svg {
 fill: #fff;
 position: relative;
 top: 4px;
}
.service__item a p {
 height: 40px;
 color: #fff;
 line-height: 1.4;
 font-size: 14px;
 letter-spacing: 0;
}
.service__item a img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 border-radius: 12px;
 transition: .3s;
 z-index: -1;
 position: relative;
}
.slick-list{
 overflow: visible!important;
}
.service__header {
 display: flex;
 align-items: center;
}
.service__header p {
 color: #fff;
 line-height: 1.6;
 margin-left: 3%;
}
.service__header .title_main span {
 margin-bottom: 0;
}

@media (hover: hover) and (pointer: fine) {
 .service__item a:hover::before {
  transform: scaleX(1);
  transform-origin: left;
 }
 .service__item a:hover h3 {
  text-shadow: 0 0 0 #fff, 0 -2em 0 #fff;
 }
 .service__item a:hover img {
  transform: scale(1.04);
 }
}
@media (max-width: 820px) {
 .service__header {
  display: block;
 }
 .service__header p {
  margin-left: 5px;
  margin-top: 16px;
 }
}
@media (max-width: 540px) {
 .service__header p br {
  display: none;
 }
}

/*-----------------------------*/
/*　会社案内 (company)*/
/*-----------------------------*/
.company {
 padding-bottom: clamp(90px, 9.90vw, 190px);
}
.company__img {
 height: clamp(144px, 23.44vw, 450px);
 margin-bottom: 40px;
}
.company__img img {
 height: 100%;
 object-fit: cover;
 object-position: left;
}
.company__inner {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
}
.company__info {
 max-width: 548px;
}
.company__info .title_main span {
 margin-bottom: 16px;
}
h3.company__title-sub {
 padding-left: clamp(6px, 0.63vw, 12px);
 line-height: 1.6;
 font-size: 24px;
}
.company__title {
 color: var(--main_color);
}
.company__title span {
 color: var(--default_font-color);
 margin-bottom: 40px;
}
.company__info p {
 line-height: 1.8;
 padding-left: clamp(6px, 0.63vw, 12px);
 margin-top: 8px;
}
.company__links {
 width: 50%;
 max-width: 470px;
}
@media (max-width: 1190px) {
 .company__inner {
  display: block;
 }
 .company__links {
  width: 100%;
  max-width: none;
 }
 .company__info {
  max-width: none;
  margin-bottom: 32px;
 }
}
@media (max-width: 620px) {
 .company__info p br {
  display: none;
 }
 h3.company__title-sub {
  font-size: 20px;
  font-weight: 500;
 }
}
@media (max-width: 500px) {
 h3.company__title-sub {
  font-size: 18px;
  letter-spacing: .08em;
 }
}
/*================================================================
  アーカイブ
================================================================*/
/*-----------------------------*/
/*　下層FSV*/
/*-----------------------------*/
.lower-page__fsv {
 transition: width 0.1s ease-out;
}
.lower-page__fsv__inner {
 height: clamp(154px, 18.54vw, 356px);
 background: var(--grad_green);
 margin-top: clamp(90px, 6.77vw, 130px);
 margin-bottom: clamp(40px, 4.43vw, 85px);
 border-radius: 12px;
 display: flex;
 align-items: flex-end;
 padding: 3%;
 color: #fff;
}
.lower-page__fsv__inner h2 {
 letter-spacing: 0;
 font-family: var(--fontfamily_en);
 font-size: clamp(48px, 6.25vw, 140px);
 font-weight: 300;
}
.lower-page__fsv__inner h2 span {
 display: block;
 font-size: clamp(12px, 0.78vw, 15px);
 margin-bottom: 4px;
 margin-left: 4px;
}
@media (max-width: 500px) {
 .lower-page__fsv__inner {
  margin-top: 74px;
  border-radius: 10px;
  padding: 4%;
 }
}
/*-----------------------------*/
/*　アーカイブコンテンツ*/
/*-----------------------------*/
section.archive .topics__list {
 width: 100%;
}
section.archive .topics__pagenation {
 text-align: center;
 padding-top: clamp(60px, 6.35vw, 122px);
 padding-bottom: clamp(80px, 6.35vw, 122px);
}
.topics__pagenation .nav-links {
 display: flex;
 justify-content: center;
 gap: 16px;
}
/*================================================================
  シングル
================================================================*/
.single__info {
 margin-top: 160px;
}
.single__info {
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.topics__all a {
 display: flex;
 align-items: center;
 font-size: 14px;
}
.topics__all a:hover {
 opacity: .6;
}
.topics__all a svg {
 transform: scale(.8);
}
h2.single__title {
 font-size: clamp(20px, 2.22vw, 32px);
 line-height: 1.4;
 border-top: 1px solid rgb(229, 229, 229);
 border-bottom: 1px solid rgb(229, 229, 229);
 margin-top: clamp(10px, 1.53vw, 22px);
 margin-bottom: clamp(16px, 2.50vw, 36px);
 padding-bottom: clamp(16px, 2.50vw, 36px);
 padding-top: clamp(16px, 2.50vw, 36px);
}
.single__thumbnail {
 width: auto;
 margin: 0 auto 24px;
}
.single__content {
 margin-bottom: 80px;
}
.single__page-move {
 margin-bottom: clamp(100px, 15.28vw, 220px);
}
.single__page-move .nav-links {
 height: 1px;
 position: relative;
}
.single__page-move .nav-links .nav-previous {
 position: absolute;
 top: 0;
 left: 0;
}
.single__page-move .nav-next {
 position: absolute;
 top: 0;
 right: 0;
}
.single__page-move a {
 display: flex;
 align-items: center;
}
.single__page-move a:hover {
 opacity:.6;
}
.single__page-move a svg {
 transform: scale(.8);
}
@media (max-width: 1420px) {
 .single__info {
  margin-top: 132px;
 }
}
@media (max-width: 991px) {
 .single__info {
  margin-top: 118px;
 }
}
@media (max-width: 500px) {
 .single__info {
  margin-top: 100px;
 }
}
/* 段落 */
.single__content p {
 margin: 8px 0;
 line-height: 1.6;
}
/* 強調 */
.single__content strong {
 font-weight: bold;
}
/* 見出し */
.single__content h3,
.single__content h4,
.single__content h5,
.single__content h6 {
 color: #222; /* 基本の文字色は濃い灰色 */
 margin-top: 2.5em; /* 上の要素との間隔を空ける */
 margin-bottom: 1em;
 line-height: 1.4;
}
/* h3: 主要な見出し (メインカラーを少し強調) */
.single__content h3 {
 font-size: 1.5em;
 padding: 0.3em 0;
 border-bottom: 2px solid #8FC33B; /* メインカラーの下線 */
}
/* h4: 小見出し (シンプルに左に線) */
.single__content h4 {
 font-size: 1.3em;
 border-left: 5px solid #8FC33B; /* メインカラーの左線 */
 padding-left: 10px;
}
/* h5, h6: さらに小さな見出し (シンプル) */
.single__content h5 {
 font-size: 1.1em;
 margin-top: 2em;
}
.single__content h6 {
 font-size: 1em;
 font-style: italic;
 margin-top: 2em;
}
/* リスト */
.single__content ul,
.single__content ol {
 margin-bottom: 1.5em;
 padding-left: 1.5em;
}
.single__content li {
 margin-bottom: 0.5em;
}
/* 順序なしリスト */
.single__content ul {
 list-style: disc;
}
/* 順序ありリスト */
.single__content ol {
 list-style: decimal;
}
/* 定義リスト */
.single__content dl {
 margin-bottom: 1.5em;
}
/* 定義語 (用語) - 少し強調 */
.single__content dt {
 font-weight: bold;
 color: #8FC33B; /* メインカラー */
 margin-top: 1em;
}
/* 定義 (説明) - 少しインデント */
.single__content dd {
 margin-left: 1.5em;
 margin-bottom: 1em;
}
/* 画像 */
.single__content img {
 max-width: 100%;
 height: auto;
 display: block;
 margin: 1.5em auto;
 border-radius: 5px;
 width: fit-content;
}
/* リンク */
.single__content a {
 color: #8FC33B; /* メインカラー */
 text-decoration: none;
 transition: color 0.3s;
 display: inline-block;
}
.single__content a:hover {
 color: #6a9530; /* メインカラーより少し濃い色 */
 text-decoration: underline;
}
/* 引用 */
.single__content blockquote {
 border-left: 4px solid #8FC33B; /* メインカラーの縦線 */
 margin: 2em 0;
 padding: 0.5em 1.5em;
 background-color: #f8f8f8;
 font-style: italic;
 color: #555;
}
/* 短い引用 */
.single__content q {
 font-style: italic;
 quotes: "“" "”" "‘" "’";
}
/* テーブル */
.single__content table {
 width: 100%;
 border-collapse: collapse;
 margin: 2em 0;
}
/* テーブルヘッダー */
.single__content th {
 background-color: #222; /* 落ち着いた濃い灰色 */
 color: white;
 padding: 10px;
 text-align: left;
 border: 1px solid #ccc;
}
/* テーブルデータ */
.single__content td {
 padding: 10px;
 border: 1px solid #ddd;
}
/* 偶数行の背景色を少し変える */
.single__content tr:nth-child(even) {
 background-color: #f9f9f9;
}
/* 整形済みテキスト (コードブロック) */
.single__content pre {
 background-color: #222; /* 落ち着いた濃い灰色 */
 color: #f0f0f0; /* 明るい文字色 */
 padding: 1em;
 margin: 2em 0;
 overflow-x: auto;
 border-radius: 5px;
 font-family: 'Consolas', 'Monaco', 'Andale Mono', 'Ubuntu Mono', monospace;
}
/* pdf開く */
.pdf__link {
 background: #E5E5E5;
 width: fit-content;
 padding: 12px 24px;
 color: var(--default_font-color);
 font-size: 14px;
 border-radius: 4px;
 margin: 16px 0;
 display: flex!important;
 color: var(--default_font-color)!important;
}
.pdf__link svg {
 transform: scale(.8);
 margin-right: 4px;
}
.pdf__link svg {
 fill: #d33333;
}
.pdf__link:hover {
 opacity: .8;
}

/*================================================================
  企業案内
================================================================*/
/*-----------------------------*/
/*　下層タイトル追従エリア*/
/*-----------------------------*/
.sticky-block {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 padding-block: 90px;
 padding-block: clamp(40px, 6.25vw, 90px);
 border-bottom: 1px solid #E5E5E5;
}
.sticky-block__title {
 width: 30%;
 position: sticky;
 top: clamp(90px, 8.33vw, 160px);
 padding-bottom: 60px;
}
.sticky-block__title > * {
 letter-spacing: 0;
 font-family: var(--fontfamily_en);
 font-size: clamp(22px, 2.67vw, 32px);
 font-weight: 300;
 color: var(--main_color);
 display: flex;
 align-items: center;
}
.sticky-block__title > * span {
 color: var(--default_font-color);
 font-family: var(--fontfamily_jp);
 display: inline-block;
 font-size: clamp(12px, 1.25vw, 15px);
 margin-left: clamp(10px, 1.83vw, 22px);
}
.sticky-block__content {
 width: 66%;
}
@media (max-width: 1320px) {
 .sticky-block__title > * {
  display: block;
 }
 .sticky-block__title > * span {
  display: block;
  margin-left: 0;
  margin-top: 8px;
 }
}
@media (max-width: 690px) {
 .sticky-block {
  display: block;
 }
 .sticky-block__title {
  position: relative;
  top: 0;
  padding-bottom: 40px;
  width: 100%;
 }
 .sticky-block__content {
  width: 100%;
 }
 .sticky-block__title > * {
  display: flex;
  font-size: 24px;
 }
 .sticky-block__title > * span {
  margin-left: 12px;
  margin-top: 0;
 }
}

/*-----------------------------*/
/*　当社の想い*/
/*-----------------------------*/
.company-vision .sticky-block__content {
 display: flex;
 align-items: self-start;
 justify-content: space-between;
}
.company-vision__text h4 {
 font-size: clamp(22px, 1.67vw, 32px);
 line-height: 1.4;
 font-weight: 500;
 margin-bottom: clamp(12px, 1.25vw, 24px);
}
.company-vision__text p {
 line-height: 1.6;
 margin-bottom: clamp(14px, 0.83vw, 16px);
 font-size: clamp(14px, 0.83vw, 16px);
}
.company-vision__img {
 width: 30%;
}
.company-vision__img .ceo_name {
 width: clamp(80px, 8.54vw, 164px);
 margin: 0 auto;
}
.company-vision__img span {
 display: block;
 text-align: center;
 font-size: 14px;
 margin: 16px auto 12px;
}
.company-vision__text {
 width: 66%;
}
.company-vision__text > img {
 width: clamp(200px, 21.35vw, 410px);
 margin: 0 auto;
 margin-top: clamp(36px, 3.75vw, 72px);
}
.company-vision__img-sp {
 display: none;
}
@media (max-width: 991px) {
 .company-vision .sticky-block__content {
  flex-wrap: wrap;
 }
 .company-vision__text {
  width: 100%;
 }
 .company-vision__img {
  display: none;
 }
 .company-vision__img-sp {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  margin-top: -70px;
  margin-bottom: 24px;
 }
 .company-vision__img-sp .ceo_img {
  order: 2;
  width: 146px;
 }
 .company-vision__img-sp  span {
  font-size: 12px;
  letter-spacing: 0;
  display: block;
  text-align: right;
 }
 .company-vision__img-sp .ceo_name {
  width: 120px;
 }
 .company-vision__img-sp > div {
  padding: 0 16px 9px 0;
 }
}
@media (max-width: 768px) {
 .company-vision__img-sp {
  margin-top: 24px;
 }
}
@media (max-width: 690px) {
 .company-vision__img-sp .ceo_name {
  width: 100px;
 }
}
/*-----------------------------*/
/*　会社概要*/
/*-----------------------------*/
.company-profile__table {
 width: 100%;
 margin-top: -24px;
}
.company-profile__table tr {
 border-bottom: 1px solid #E5E5E5;
 padding-top: 24px;
 padding-bottom: 24px;
 display: block;
}
.company-profile__table tr:last-child {
 border-bottom: none;
}
.company-profile__table th {
 width: 200px;
 padding: 0 24px;
 font-weight: 500;
 font-size: 14px;
 vertical-align: top;
}
.company-profile__table td {
 width: calc(100% - 200px);
 padding-right: 24px;
 font-size: 14px;
 letter-spacing: 0.04em;
}
.company-profile__table td.activity img {
 max-width: 470px;
}
.company-profile__table td dl {
 display: flex;
 align-items: flex-start;
 margin-bottom: 16px;
}
.company-profile__table td dl:last-child{
 margin-bottom: 0;
}
.company-profile__table td dl dt {
 margin-right: 24px;
 width: 40px;
}
section#sdgs .activity {
 max-width: 470px;
 margin-top: 40px;
}
section#sdgs .activity span {
 display: block;
 text-align: center;
 margin-top: 16px;
}
.activity-text * {
 line-height: 1.6;
}
.activity-text h4 {
 margin: 24px 0 4px;
 font-weight: bold;
}

.activity-text ul {
 margin-top: 10px;
 margin-bottom: 32px;
}
.activity-text ul li {
 padding-left: 16px;
 position: relative;
}
.activity-text ul li:before {
 content: "";
 display: block;
 width: 4px;
 height: 4px;
 background: var(--main_color);
 border-radius: 50%;
 position: absolute;
 top: 10px;
 left: 4px;
}
section#privacy p {
 line-height: 1.6;
}
section#privacy img {
 width: 160px;
 margin-top: 32px;
}

@media (max-width: 991px) {
 .company-profile__table th {
  width: 140px;
  padding: 0 16px;
 }
 .company-profile__table td {
  width: calc(100% - 140px);
  padding-right: 16px;
 }
 section#sdgs .activity {
  flex-wrap: wrap;
  gap: 24px;
 }
 section#sdgs .activity span {
  margin-top: 8px;
 }
}
@media (max-width: 768px) {
 .company-profile__table th {
  width: 100%;
  padding: 0;
  float: left;
  margin-bottom: 4px;
 }
 .company-profile__table td {
  width: 100%;
  padding-right: 0;
 }
 .company-profile__table tr {
  padding-top: 16px;
  padding-bottom: 16px;
 }
 .company-profile__table {
  margin-top: -16px;
 }
}
@media (max-width: 690px) {
 .company-profile__table td dl {
  display: block;
  margin-bottom: 8px;
 }
 .company-profile__table td {
  font-size: 13px;
  line-height: 1.4;
 }
}
/*-----------------------------*/
/*　アクセス*/
/*-----------------------------*/
.company-access__inner.sticky-block {
 border-bottom: none;
 margin-bottom: clamp(60px, 13.89vw, 200px);
}
.company-access .sticky-block__content {
 display: flex;
 align-items: center;
}
.company-access__map {
 width: 36%;
 margin-right: 32px;
}
.company-access__map > * {
 width: 100%;
 height: auto;
 aspect-ratio: 3/2;
}
.company-access__time h4 {
 font-weight: 500;
}
.company-access__time p {
 font-size: 14px;
 margin: 8px 0 24px;
 line-height: 1.4;
}
.company-access__time p:last-child {
 margin-bottom: 0;
}
@media (max-width: 991px) {
 .company-access .sticky-block__content {
  display: block;
 }
 .company-access__map {
  width: 100%;
  margin-right: 0;
 }
 .company-access__map > * {
  aspect-ratio: 16/9;
 }
 .company-access__time {
  margin-top: 24px;
 }
 .company-access__time p {
  font-size: 13px;
 }
}

/*================================================================
  お問い合わせ
================================================================*/
/*-----------------------------*/
/*　電話*/
/*-----------------------------*/
.contact-tel .footer__contact-link {
 background: rgb(153 205 96 / 10%);
 padding-right: 0;
 height: clamp(100px, 6.41vw, 132px);
}
.contact-tel .footer__contact-link:hover {
 opacity: .6;
}
.contact-tel .footer__contact-tel,.contact-tel .footer__contact-tel-text {
 color: var(--main_color);
}
.contact-tel .footer__contact-link .icon_svg {
 fill: var(--main_color);
}
.contact-tel .link_arrow {
 display: none!important;
}
.contact-tel .footer__contact-tel {
 font-size: clamp(28px, 2.08vw, 40px);
}
/*-----------------------------*/
/*　フォーム*/
/*-----------------------------*/
.contact-form__inner {
 margin-bottom: clamp(60px, 13.89vw, 200px);
 border-bottom: none;
}
.contact-form__table {
 width: 100%;
 border-collapse: collapse;
 margin-bottom: 20px;
}
.contact-form__table th, .contact-form__table td {
 padding: 16px 24px;
 text-align: left;
}
.contact-form__table tr {
 border-bottom: 1px solid #E5E5E5;
 padding-top: 24px;
 padding-bottom: 24px;
}
.contact-form__table tr:last-child {
 border-bottom: none;
}
.contact-form__table th {
 width: 200px;
 vertical-align: top;
 padding-top: 24px;
 font-size: 14px;
}
.contact-form__table td {
 width: calc(100% - 200px);
 padding-right: 24px;
 font-size: 14px;
 letter-spacing: 0.04em;
}
.contact-form__table td input[type="text"],
.contact-form__table td input[type="tel"],
.contact-form__table td input[type="email"],
.contact-form__table td textarea {
 width: 100%;
 padding: 8px;
 box-sizing: border-box;
 background: #F6F6F6;
}
.contact-form__table td input[type="email"] {
 margin-bottom: 8px;
}
input.wpcf7-form-control.wpcf7-text.p-region.p-locality.p-street-address.p-extended-address {
 margin-bottom: 8px;
}
input#email {
 margin-bottom: 8px;
}
input::placeholder {
 opacity: 0.5;
 color: #9c9c9c;
 font-size:14px;
}
.name-fields > p, .kana-fields > p, .email-fields > p {
 display: flex;
 gap: 10px;
}
.name-fields input, .kana-fields input {
 flex: 1;
}
.confirm-button {
 text-align: center;
 margin-top: 40px;
}
input.wpcf7-submit {
 padding: 16px 30px;
 max-width: 340px;
 width: 100%;
 border-radius: 4px;
 background-color: var(--main_color);
 color: white;
 border: none;
 cursor: pointer;
 font-size: 16px;
}
.contact-form__table tr:has(th:contains("確認事項")) td div {
 display: flex;
 align-items: center;
 margin-bottom: 10px;
}

tr.check-box th {
 margin-bottom: 8px;
}

/* 1. チェックボックスの本体（<input>）を非表示にする */
.contact-form__table input[type="checkbox"] {
 /* 視覚的に隠す設定を調整 */
 position: absolute;
 opacity: 0;
 /* z-indexを高くして、クリックイベントがブロックされないようにする */
 z-index: 10;

 /* クリック領域を確保するため、サイズは維持（または大きくする） */
 width: 100%; /* 親要素全体をクリック可能にする */
 height: 100%; /* 親要素全体をクリック可能にする */

 /* CF7の構造上、リストアイテムの左上を基準に配置 */
 left: 0;
 top: 0;
 cursor: pointer; /* マウスオーバー時にクリック可能なカーソルを表示 */
}

/* 2. ラベル装飾の基本スタイル (::before) */
/* 装飾の対象を .wpcf7-list-item-label に変更 */
.contact-form__table .wpcf7-list-item-label::before {
 content: '';
 position: absolute;
 left: 0;
 /* CF7は自動で <br> を挿入することがあるため、topを調整 */
 top: 50%;
 transform: translateY(-50%);
 width: 16px;
 height: 16px;
 border: 1px solid #d1d1d1;
 background-color: #fff;
 /* 装飾がラベルのテキストと重ならないようにpaddingを追加 (次のステップで必要) */
}

/* 3. 親要素に relative を設定 (装飾の基準位置を確保) */
/* CF7の構造に合わせて .wpcf7-list-item に position: relative を追加 */
.contact-form__table .wpcf7-list-item {
 position: relative;
 /* ラベルテキストとチェックボックス装飾の間にスペースを空ける */
 padding-left: 24px; /* 16px (box) + 8px (margin) */
 display: block; /* 縦に並べるためにブロック要素化 */
 margin-left: 0;
}

/* 4. チェック済みの場合の背景色 (::before) */
/* input[type="checkbox"]:checked の状態を親要素を通して指定 */
.contact-form__table input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before {
 background-color: var(--main_color);
 border-color: var(--main_color);
}

/* 5. チェック済みの場合のチェックマーク (::after) */
/* input[type="checkbox"]:checked の状態を親要素を通して指定 */
.contact-form__table input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after {
 content: '✔';
 position: absolute;
 left: 4px;
 top: 50%;
 transform: translateY(-50%);
 color: #fff;
 font-size: 12px;
 font-weight: bold;
}
@media (max-width: 991px) {
 .contact-form__table th {
  width: 100%;
  float: left;
  padding: 24px 0 0 0;
 }
 .contact-form__table td {
  width: 100%;
  float: left;
  padding: 8px 0 24px 0;
 }
}
@media (max-width: 768px) {
 .contact-form__table th {
  padding: 16px 0 0 0;
 }
 .contact-form__table td {
  padding: 8px 0 16px 0;
 }
}


/*================================================================
  事業内容
================================================================*/
/*-----------------------------*/
/*　FSV*/
/*-----------------------------*/
.service-page__fsv {
 overflow: hidden;
 padding-bottom: clamp(60px, 10.42vw, 200px);
 padding-top: clamp(100px, 8.33vw, 160px);
}
.service-page__fsv .service__title.title_main {
 background: var(--grad_blue);
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 width: fit-content;
}
.service-page__fsv .service__title.title_main span {
 background: #333;
 -webkit-background-clip: text;
 -webkit-text-fill-color: transparent;
 font-weight: 300;
}
.service-page__fsv .service__list .slick-arrow svg {
 fill: var(--main_color);
}
/*-----------------------------*/
/*　詳細*/
/*-----------------------------*/
section.service-page__fsv .slick-prev:before, section.service-page__fsv .slick-next:before {
 color: #70ba2c;
}
.service-detail__item__inner {
 padding-top: clamp(40px, 8.02vw, 154px);
 padding-bottom: clamp(60px, 9.38vw, 180px);
}
.service-detail__item--odd .service-detail__item__inner {
 background: var(--grad_green02);
 border-radius: 16px;
}
.service-detail__item--odd .service-detail__label,
.service-detail__item--odd .service-detail__title,
.service-detail__item--odd .service-detail__catchphrase,
.service-detail__item--odd .service-detail__description {
 color: #fff;
}
.service-detail__content-group--header {
 border-bottom: 1px solid;
 padding-bottom: 16px;
 margin-bottom: clamp(24px, 2.50vw, 48px);
}
.service-detail__item--odd .service-detail__content-group--header {
 border-color: #fff;
}
.service-detail__item--even .service-detail__content-group--header {
 border-color: var(--main_color);
}
.service-detail__label {
 font-family: var(--fontfamily_en);
 font-size: clamp(14px, 0.83vw, 16px);
 letter-spacing: 0;
 font-weight: 600;
 line-height: 1;
 margin-bottom: 16px;
 display: block;
 margin-left: 4px;
 color: var(--main_color);
}
.service-detail__label > span {
 font-weight: 300;
 margin-left: clamp(2px, 0.42vw, 8px);
 font-size: clamp(20px, 1.67vw, 32px);
}
.service-detail__title {
 font-size: clamp(18px, 1.67vw, 32px);
 font-weight: 500;
}
.service-detail__title span {
 font-size: 16px;
 letter-spacing: .04em;
 margin-left: 8px;
}
.service-detail__media {
 display: flex;
 align-items: self-start;
 justify-content: space-between;
}
.service-detail__text {
 width: 100%;
}
.service-detail__image {
 width: 32%;
 border-radius: 8px;
 overflow: hidden;
 box-shadow: rgb(0 0 0 / 10%) 0 3px 18px;
}
.service-detail__catchphrase {
 font-size: clamp(19px, 1.67vw, 32px);
 line-height: 1.6;
 font-weight: 500;
 margin-bottom: clamp(8px, 0.83vw, 16px);
}
.service-detail__description {
 line-height: 1.6;
 margin: 12px 0 25px;
 font-size: clamp(14px, 0.83vw, 16px);
}
.service-detail__info-list {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 margin-top: clamp(48px, 4.17vw, 80px);
}
.service-detail__info-list__header {
 width: 20%;
}
.service-detail__info-list__title {
 font-weight: 500;
 font-size: clamp(15px, 1.25vw, 24px);
}
.service-detail__item--odd .service-detail__info-list__title {
 color: #fff;
}
.service-detail__info-list__body {
 width: 76%;
}
.service-detail__info-list__item {
 background: rgb(153 205 96 / 8%);
}
.service-detail__item--odd .service-detail__info-list__item {
 background: rgb(255 255 255 / 84%);
}
#it-dx-homepage .service-detail__item__inner {
 padding-top: 0;
}
#it-dx-homepage .service-detail__info-list__items--1-column span {
 display: block;
}
#it-dx-homepage .service-detail__info-list__items--1-column span a {
 text-decoration: underline;
 letter-spacing: 0;
 color: #057bb6;
}
#it-dx-homepage .service-detail__info-list__items--1-column li {
 height: auto;
 padding-top: 24px;
 padding-bottom: 24px;
}
#it-dx-homepage .service-detail__info-list__items--1-column li img {
 margin-bottom: 16px;
}
@media (max-width: 991px) {
 .service-detail__media {
  flex-wrap: wrap;
 }
 .service-detail__text {
  width: 100%;
 }
 .service-detail__image {
  width: 100%;
  max-width: 400px;
  margin-top: 8px;
 }
 .service-detail__info-list__header {
  width: 100%;
  margin-bottom: 16px;
 }
 .service-detail__info-list__body {
  width: 100%;
 }
 .service-detail__info-list {
  display: block;
 }
}
@media (max-width: 500px) {
 .service-detail__description br {
  display: none;
 }
 .service-detail__item--odd .service-detail__item__inner {
  border-radius: 12px;
 }
}
/*-----------------------------*/
/*　2カラム*/
/*-----------------------------*/
.service-detail__info-list__items--2-column {
 display: flex;
 flex-wrap: wrap;
 gap: clamp(8px, 1.25vw, 24px);
}
.service-detail__info-list__items--2-column .service-detail__info-list__item {
 text-align: center;
 width: calc(50% - 12px);
 height: 100px;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 4px;
 padding: 0 12px;
}
#it-dx-solutions .service-detail__info-list__items--2-column .service-detail__info-list__item br {
 display: none;
}
.service-detail__info-list__items--2-column .service-detail__info-list__item > span {
 font-weight: 500;
 font-size: clamp(14px, 0.94vw, 18px);
}
.service-detail__info-list__items--2-column .service-detail__info-list__item > span > span {
 display: block;
 font-size: clamp(12px, 0.73vw, 14px);
 margin-top: 4px;
 letter-spacing: .04em;
 font-weight: 400;
 line-height: 1;
}
@media (max-width: 1260px) {
 .service-detail__info-list__items--2-column .service-detail__info-list__item br {
  display: block;
 }
}
@media (max-width: 768px) {
 .service-detail__info-list__items--2-column .service-detail__info-list__item {
  width: 100%;
  height: 72px;
 }
}
/*-----------------------------*/
/*　1カラム*/
/*-----------------------------*/
.service-detail__info-list__items--1-column .service-detail__info-list__item {
 display: flex;
 align-items: center;
 justify-content: flex-start;
 width: 100%;
 height: 124px;
 border-radius: 4px;
 padding: 0 4%;
}
.service-detail__info-list__items.service-detail__info-list__items--1-column {
 display: flex;
 flex-wrap: wrap;
 gap: clamp(8px, 0.83vw, 16px);
}
.service-detail__info-list__items--1-column li.service-detail__info-list__item  > span {
 display: flex;
}
.service-detail__info-list__items--1-column svg {
 aspect-ratio: 1/1;
 height: auto;
 width: clamp(16px, 1.35vw, 26px);
}
.service-detail__info-list__sub-title {
 font-size: clamp(15px, 0.94vw, 18px);
 display: flex;
 align-items: center;
 font-weight: 500;
 margin-left: clamp(16px, 1.67vw, 32px);
 width: clamp(220px, 13.54vw, 260px);
 line-height: 1.4;
}
.service-detail__info-list__text {
 line-height: 1.6;
 font-size: clamp(14px, 0.83vw, 16px);
}
@media (max-width: 1260px) {
 .service-detail__info-list__sub-title {
  width: calc(100% - 60px);
 }
 .service-detail__info-list__items--1-column li.service-detail__info-list__item > span {
  flex-wrap: wrap;
 }
 .service-detail__info-list__text {
  margin-left: clamp(30px, 3.02vw, 58px);
  padding-top: 4px;
 }
 .service-detail__info-list__sub-title br {
  display: none;
 }
}
@media (max-width: 991px) {
 .service-detail__info-list__items--1-column .service-detail__info-list__item {
  height: auto;
  padding: 24px!important;
 }
}
@media (max-width: 500px) {
 .service-detail__info-list__text {
  margin-left: 0;
  padding-top: 8px;
  letter-spacing: .04em;
 }
 li.service-detail__info-list__item:last-child .service-detail__info-list__text br {
  display: none;
 }
}
/*-----------------------------*/
/*　個別設定*/
/*-----------------------------*/
#proprietary-products .links__inner {
 padding-bottom: 0;
 padding-top: clamp(24px, 2.50vw, 48px);
}
#digital-signage .service-detail__info-list__sub-title {
 width: calc(100% - 60px);
}
#digital-signage .service-detail__info-list__items--1-column li.service-detail__info-list__item > span {
 flex-wrap: wrap;
}
#digital-signage .service-detail__info-list__text {
 width: 100%;
 padding-top: 4px;
 margin-left: clamp(30px, 3.02vw, 58px);
}
#digital-signage .service-detail__info-list__items--1-column .service-detail__info-list__item {
 height: auto;
 padding: 40px 16px;
}
.service-detail__case-studies__items {
 display: flex;
 gap: 24px;
}
.service-detail__case-studies__item {
 width: calc(100% / 3);
}
.service-detail__case-studies__title {
 font-weight: 500;
 font-size: clamp(15px, 0.94vw, 18px);
 margin-bottom: clamp(8px, 0.83vw, 16px);
}
.service-detail__case-studies__item img {
 border-radius: 8px;
 margin-bottom: 16px;
}
.service-detail__case-studies__detail {
 letter-spacing: .04em;
 font-size: clamp(14px, 0.83vw, 16px);
}
#server-management .service-detail__info-list__items--2-column .service-detail__info-list__item {
 height: auto;
 padding: 24px 4%;
 align-items: flex-start;
}
#server-management .service-detail__info-list__items--2-column .service-detail__info-list__item > span > span {
 line-height: 1.6;
 text-align: left;
 margin-top: clamp(8px, 0.83vw, 16px);
}
#proprietary-products .service-detail__text {
 width: 100%;
}
#proprietary-products .links__inner {
 width: 100%;
 max-width: none;
 padding: 40px;
 background: rgb(255 255 255 / 85%);
 border-radius: 8px;
}
@media (max-width: 991px) {
 .service-detail__case-studies__items {
  flex-wrap: wrap;
 }
 li.service-detail__case-studies__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
 }
 .service-detail__case-studies__title {
  width: 100%;
 }
 .service-detail__case-studies__item img {
  width: 36%;
 }
 ul.service-detail__case-studies__details {
  width: 60%;
 }
 .service-detail__case-studies__item {
  width: 100%;
 }
}
@media (max-width: 500px) {
 li.service-detail__case-studies__item {
  display: block;
 }
 .service-detail__case-studies__item img {
  width: 100%;
  margin-bottom: 8px;
 }
 ul.service-detail__case-studies__details {
  width: 100%;
 }
 .service-detail__case-studies__items {
  gap: 32px;
 }
 #digital-signage .service-detail__info-list__text {
  padding-top: 8px;
  margin-left: 0;
 }
	
	.footer__navi-address a {
		color:#fff;
		display:inline-block;
	}
}
/*-----------------------------*/
/*　追従ページ内リンク*/
/*-----------------------------*/
.service__fixed-links {
 position: fixed;
 width: 100%;
 padding-top: clamp(80px, 7.67vw, 128px);
 padding-bottom: clamp(14px, 1.25vw, 24px);
 background: rgb(255 255 255 / 80%);
 backdrop-filter: blur(10px);
 box-shadow: rgb(0 0 0 / 10%) 0 3px 18px;
 z-index: 9;
 transition: .3s;
 opacity: 0;
 pointer-events: none;
}
.fixed-links-visible {
 opacity: 1;
 pointer-events: auto;
}
.service__fixed-links.is_show {
 opacity: 1;
 pointer-events: auto;
}
.service__fixed-links ul {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 24px;
}
.service__fixed-links ul li a {
 display: flex;
 align-items: center;
}
.service__fixed-links ul li a svg {
 transform: rotate(90deg) scale(.8);
}

@media (max-width: 1440px) {
 .service__fixed-links ul {
  gap: 16px;
 }
 .service__fixed-links ul li a {
  font-size: 13px;
  letter-spacing: 0;
 }
}
@media (max-width: 1170px) {
 .service__fixed-links {
  padding-top: 100px;
 }
 .service__fixed-links ul {
  flex-wrap: wrap;
  gap: 4px 16px;
  max-width: 1000px;
  margin: 0 auto;
 }
 .service__fixed-links ul li {
  width: calc(100% / 5);
 }
}
@media (max-width: 991px) {
 .service__fixed-links {
  display: none;
 }
}


/*================================================================
  プライバシーポリシー
================================================================*/
.policy__inner {
 margin-bottom: clamp(100px, 10.42vw, 200px)!important;
}
.policy__inner p {
 line-height: 1.6;
 letter-spacing: .04em;
 margin-bottom: 24px;
}
.policy__inner ol {
 list-style: decimal;
 padding-left: 24px;
 margin: 24px 0;
}
.policy__inner ol li {
 margin-bottom: 8px;
 letter-spacing: .04em;
}
.policy__inner  h3 {
 font-weight: bold;
 margin-bottom: 16px;
 margin-top: 40px;
}
.policy-info > div {
 margin: 8px 0;
}
.policy__inner a {
 color: var(--main_color);
}
.policy__inner a:hover {
 text-decoration: underline;
 color: #6f982d;
}



.slick-next:before {
 content: '>'!important;
 width: 100% !important;
 display: flex;
 align-items: center;
 justify-content: center;
}
.slick-prev:before {
 content: '<'!important;
 width: 100% !important;
 display: flex;
 align-items: center;
 justify-content: center;
}



.top_item .img_box {
 overflow: hidden;
 position: relative;
 width: 100%;
 transform: translate3d(-100.5%, 0, 0);
 transform-origin: left;
 transition-duration: .3s;
 transition-timing-function: ease-out;
 transition-delay: 0s;
}
.top_item.isShow .img_box {
 transform: translate3d(0, 0, 0);
}
.top_item .img_box:before {
 content: '';
 display: block;
 position: absolute;
 top: 0;right: 0;bottom: 0;left: 0;z-index: 2;
 background-color: #ffffff;
 transform: scaleX(1);
 transform-origin: right;
 transition-duration: .3s;
 transition-timing-function: ease-out;
 -webkit-transition-delay: .3s;
 transition-delay: .3s;
}
.top_item.isShow .img_box:before {
 transform: scale(0, 1);
}


div#wpcf7cpcnf {
 z-index: 0;
}
div#wpcf7cpcnf td {
 padding-bottom: 16px;
 letter-spacing: 0;
}
button.wpcf7cp-cfm-edit-btn {
 background: #f1f1f1;
}
div.wpcf7cp-btns button {
 width: 100%;
 margin-bottom: 8px;
 margin-right: 0;
 text-align: center;
 padding: 8px;
 border-radius: 8px;
 font-size: 14px;
 cursor: pointer;
}
button.wpcf7cp-cfm-submit-btn {
 background: var(--main_color);
 color: #fff;
}
.wpcf7-spinner {
 display: none;
}



.grecaptcha-badge { visibility: hidden; }




