
/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
:root {
  /* 指定のブルー系グラデーション */
  --btn-grad-start: #333FA1;
  --btn-grad-end: #1D8EA8;
  /* メインカラー var(--main-blue) */
  --main-blue: #333FA1;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body { color: #333; line-height: 1;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {border-collapse: collapse;border-spacing: 0;}

/* CSSリセット（font:inherit）で打ち消される強調表示を復元（wysiwyg等の太字・斜体・下線） */
strong, b { font-weight: bold; }
em, i { font-style: italic; }
ins, u { text-decoration: underline; }

form button:hover{ cursor: pointer; cursor: hand; opacity: 0.8; }
.wysiwyg  iframe{ max-width: 100%; }

.fadeCom{opacity: 0; -webkit-transition: 1500ms ease; -o-transition: 1500ms ease; transition: 1500ms ease; -webkit-transform: translate3d(0, 30px, 0) scale(1, 1); -ms-transform: translate3d(0, 30px, 0) scale(1, 1); transform: translate3d(0, 30px, 0) scale(1, 1); -webkit-transition-property: opacity,transform; -o-transition-property: opacity,transform; transition-property: opacity,transform; }
/* ===== 表示 ===== */
.fadeCom__On{-webkit-transform:translate3d(0, 0, 0) scale(1,1); -ms-transform:translate3d(0, 0, 0) scale(1,1); transform:translate3d(0, 0, 0) scale(1,1); opacity: 1; }

/* loading------------------------------------------------ */
#wrap.load{opacity: 1; transition: opacity 1800ms; -moz-transition: opacity 1800ms; -webkit-transition: opacity 1800ms; -o-transition: opacity 1800ms; }
#com_loading__box {height: 100%; width: 100%; position: fixed; top: 0; left: 0; background: #fff; z-index: 99999999999999; -webkit-transition: all 400ms;   -o-transition: all 400ms;  -moz-transition: all 400ms;   transition: all 400ms; }
/*プログレスバー*/
#com_loading {width: 0; height: 5px; background: var(--main-blue); position: fixed; top: 0; left: 0; -webkit-transition: all 0.2s linear 0s;    -o-transition: all 0.2s linear 0s;  -moz-transition: all 0.2s linear 0s;   transition: all 0.2s linear 0s; }
#com_loading__img {position: absolute; top: 50%; left: 50%; -webkit-transform: translate( -50%,-50% ); -ms-transform: translate( -50%,-50% ); transform: translate( -50%,-50% );  width: auto; }
/*確認画面と完了画面を非表示*/ .confirm_area, .thanks_area { display: none; }
/*デフォルトのサンクスメッセージを非表示*/ .wpcf7-response-output{ display: none; }
#systmttl{ display: none;}


/* WEB FONTs 游ゴシックかすれ予防
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
*/
.f-gothic {font-family: "Noto Sans JP", sans-serif; font-style: normal;}
.f-en{ font-family: "Montserrat", sans-serif; }

p:has(.w-str-text) {
   margin-bottom: 0!important;
 }

#mainttl .js-split {opacity: 0;}
#mainttl .js-split.is-ready {opacity: 1;}
#mainttl .js-split .split-char {display: inline-block;}


@media screen and (min-width: 768px),print {
.sp-bgimages{ display: none;}
html {font-size: clamp(53.5%, 0.833vw, 62.5%); }
.onecol-contents{position: relative;max-width: 1114px;padding: 120px  5rem 0;margin: 0 auto;}

main{margin: 0 0 0 31rem;}

/* bese */
body {font-size: 1.6rem;overflow-x: hidden;line-height: 1.6;letter-spacing: 0.8px;background: #F0F1F3;}
body::before{}
header::-webkit-scrollbar{display:none;}
header{width: 36rem;height: 100vh;position: fixed;z-index: 20;top: 0;left: 0;overflow-y:auto; 
/* スクロールバー非表示 */-ms-overflow-style:none; /* IE, Edge */scrollbar-width:none; /* Firefox */}
header .inner-box{position: relative;height: auto;/* min-height: 760px; */padding: 4rem 5.6rem;background: #fff;border-radius: 0rem 6rem 0 0rem;}
header .h-logo{text-align: center;margin-bottom: 4.2rem;}

header .pickup-box{margin-bottom: 3.2rem;}
header .pickup-box .pickicon{font-size: 1.1rem;line-height: 1.3;letter-spacing: 0em;font-weight: 600;color: #fff;margin-left: 1.2rem;position: relative;margin-bottom: -0.9rem;z-index: 3;}
header .pickup-box .pickicon span{display: inline-block;padding: 0.8rem 1.6rem;background: var(--main-blue);border-radius: 3rem;}
header .pickup-box .pickicon span::before{content: "";display: block;background: url(../images/common/arr2.svg)no-repeat;position: absolute;bottom: -0.4rem;left: 3.5rem;width: 1.8rem;height: 0.9rem;z-index: 3;}
header .pickup-container{ }
header .pickup-container .pickup-slide,
header .pickup-container .pickup-slide .swiper-wrapper { height: auto; }
header .pickup-container .swiper-slide { width: 100%; height: auto; }
header .pickup-container .swiper-slide figure {width: 100%;aspect-ratio: 248 / 100;overflow: hidden;text-align: center;margin-bottom: ;position: relative;}
header .pickup-container .swiper-slide figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
header .pickup-container .swiper-pagination {position: static !important;text-align: center;}
header .pickup-container .swiper-pagination-bullet {width: 0.8rem;height: 0.8rem;background: #8F9BBE;margin: 0 5px !important;transition: opacity 0.3s;}
header .pickup-container .swiper-pagination-bullet-active {background: var(--main-blue); }
header .pickup-container .swiper-pagination-bullet.is-hidden-dot { display: none !important; }


header .sh-box{}
header .sh-box .buttl{font-size: 1.5rem;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;color: #fff;background: var(--main-blue);border-radius: 0 2rem 0rem 0rem;padding: 0.8rem 1rem 0.8rem 1.6rem;margin-bottom: 1.6rem;}
header .sh-box .buttl span{display: inline-block;margin-right: 0.8rem;}
header .sh-box .sh-in-box{}
header .sh-box .subttl{font-size: 1.5rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;border-bottom: 1px solid var(--main-blue);padding-bottom: 0.9rem;color: var(--main-blue);position: relative;margin-bottom: 1.6rem;}
header .sh-box .subttl span{ display: inline-block;margin-right: 0.8rem;}
header .sh-box .subttl::before{content: "";display: block;width: 1px;height: 2.1rem;background: var(--main-blue);position: absolute;top: 0;right: 2rem;}
header .sh-box .subttl::after{content: "";width: 1rem;height: 1rem;display: block;position: absolute;top: 0.6rem;right: 0;background: url(../images/common/arr.svg)no-repeat top center;transform: rotate(90deg);transform-origin: center;transition: all 0.3s ease-in-out;}
header .sh-box .open .subttl::after{transform: rotate(-90deg);transform-origin: center;}
header .sh-box .sh-box-aco{ margin-bottom: 1.8rem; }
header .sh-box .mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2%;text-align:center;}
header .sh-box .mini-list li{border:1px solid var(--main-blue);margin-bottom:0.5rem;display:flex;align-items:center;justify-content:center;}
header .sh-box .mini-list li a{display: block;padding: 0.8rem 0.4rem;font-size: 1.1rem;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: center;color: var(--main-blue);width: 100%;}
header .sh-box .mini-list li.is-twoline a{line-height: 1.4;}
header .sh-box .mini-list li a span{display: block;margin: 0 0 0.7rem;}
header .sh-box .mini-list.list1 li:nth-child(1) a,header .sh-box .mini-list.list1 li:nth-child(2) a{font-weight: bold;}
header .sh-box .mini-list.list1 li:nth-child(1),header .sh-box .mini-list.list1 li:nth-child(2){background: #E7EDF7;}

header .menu-box{ padding-top: 1.4rem; }
header .menu-box .buttl{font-size: 1.5rem;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;color: #fff;background: var(--main-blue);border-radius: 0 2rem 0rem 0rem;padding: 0.8rem 1rem 0.8rem 1.6rem;margin-bottom: 1.6rem;}
header .menu-box .buttl span{display: inline-block;margin-right: 0.8rem;}
header .menu-box .sh-in-box{}
header .menu-box .subttl{font-size: 1.5rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;border-bottom: 1px solid var(--main-blue);padding-bottom: 0.9rem;color: var(--main-blue);position: relative;margin-bottom: 1.6rem;}
header .menu-box .subttl span{ display: inline-block;margin-right: 0.8rem;}
header .menu-box .subttl::before{content: "";display: block;width: 1px;height: 2.1rem;background: var(--main-blue);position: absolute;top: 0;right: 2rem;}
header .menu-box .subttl::after{content: "";width: 1rem;height: 1rem;display: block;position: absolute;top: 0.6rem;right: 0;background: url(../images/common/arr.svg)no-repeat top center;transform: rotate(-90deg);transform-origin: center;}
header .menu-box .sh-box-aco{ margin-bottom: 1.8rem; }
header .menu-box .menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2%;text-align:center;margin-bottom: 3.2rem;}
header .menu-box .menu-list li{border:1px solid var(--main-blue);margin-bottom:0.5rem;display:flex;align-items:center;justify-content:center;font-size: 1.1rem;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: center;}
header .menu-box .menu-list li a{display: block;padding: 0.8rem 0rem;width: 100%;}

header .banner-list{ margin-bottom: 2.8rem; }
header .banner-list li{ margin-bottom: 0.8rem; position: relative; }
header .banner-list li a{ background: #E7EDF7; width: 100%; display: block; }
header .banner-list li a::before{content: "";position: absolute;display: block;background: url(../images/common/side-img00.svg)no-repeat top left;width: 0.8rem;height:  0.8rem;bottom: 0.5rem;right: 0.5rem;}
header .banner-list li span{font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding: 2.5rem 0.5rem 2.5rem 7.7rem;display: block;}
header .banner-list li:nth-child(2) span{padding-left: 5.8rem;}
header .banner-list li:nth-child(3) span{padding-left: 5.8rem;}
header .banner-list li:nth-child(4) span{padding-left: 6.1rem;}
header .banner-list li:nth-child(1) a::after{content: "";width: 4.15rem;height: 3.736rem;background: url(../images/common/side-img01.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.5rem;left: 1.7rem;}
header .banner-list li:nth-child(2) a::after{content: "";width: 3.65rem;height: 4.136rem;background: url(../images/common/side-img02.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.1rem;left: 1.7rem;}
header .banner-list li:nth-child(3) a::after{content: "";width: 3.65rem;height: 4.136rem;background: url(../images/common/side-img02.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.1rem;left: 1.7rem;}
header .banner-list li:nth-child(4) a::after{content: "";width: 2.95rem;height: 4.736rem;background: url(../images/common/side-img03.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.5rem;left: 1.8rem;}

header .sns-list{display:grid;grid-template-columns:repeat(3,auto);gap:2.4rem;width: 12rem;margin: 0 auto;padding-bottom: 4.8rem;}
header .sns-list li{width: auto;}
header .sns-list li a{}
header .sns-list li img{}

#contentsend{display:flex;margin-top: 16rem;margin-left: 5rem;}
#contentsend .photo-Box{width:50%; background: url(../images/common/contentsend-photo01.jpg)no-repeat; background-size: cover;}
#contentsend .text-Box{width:50%;background: url('../images/common/back.png') repeat,url(../images/common/contentsend-back01.svg)no-repeat top left;background-size: auto auto, cover;text-align: left;color: #fff;padding: 7.2rem 12.9rem 8.2rem 9.7rem;position: relative;}

#contentsend .bolt {position: absolute;width: 12.5rem;height: 14rem;top: 0;right: 0;overflow: hidden;}
#contentsend .bolt span.en{ display: block; position:relative; width:100%; height:100%; }
#contentsend .bolt span.en img{position:absolute;left: 0;bottom: 0;width: 22.6rem; /* 少し大きめに */transform:rotate(-30deg);transform-origin: center center;animation: rollRotatebolt 80s linear infinite;}
@keyframes rollRotatebolt{ 0%{transform:rotate(-30deg);} 100%{transform:rotate(330deg);} }


#contentsend .text-Box h2 {margin-bottom: 2.3rem;position: relative;font-size: 2.4rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;}
#contentsend .text-Box a{color: #fff;display: block;padding: 0rem 4rem 0rem 0rem;position: relative;border-right: 1px solid #dfff;}
#contentsend .text-Box span.gicon {display: inline-block;line-height: 1;}
#contentsend .text-Box span.gicon img {  }
#contentsend .text-Box h3 {margin-bottom: 1.6rem;position: relative;font-size: 2.2rem;line-height: 1.7;letter-spacing: 0.05em;font-weight: 700;text-align: left;}
#contentsend .text-Box p.text {position: relative;font-size: 1.4rem;line-height: 1.8;letter-spacing: 0.05em;font-weight: 500;text-align: left;}
#contentsend .text-Box a::before{}
#contentsend .text-Box a::after{content: "";width: 1rem;height: 1.4rem;display: block;position: absolute;top: 38%;right: -3.5rem;background: url(../images/common/arr.svg)no-repeat top center;transition: all 0.3s ease-in-out;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);background-size: 100% auto;}
#contentsend .text-Box a:hover::after{ transform: rotate(360deg); transform-origin: center;}

/* 右上の一覧ボタン */
.listbtn {font-size: 1.4rem;line-height: 1;letter-spacing: 0.05em;font-weight: 600;text-align: right;}
.listbtn a {display: inline-block;padding-right: 4rem;position: relative;}
.listbtn .arr {border-left: 1px solid var(--main-blue);position: absolute;top: -0.3rem;right: 0.1rem;height: 2rem;padding-left: 1.5rem;}
.listbtn .arr img { transform: rotate(0deg); transform-origin: center;transition: all 0.3s ease-in-out;}
.listbtn a:hover .arr img{ transform: rotate(360deg);}



#pc-menu-open,#pc-glnavi,#pc-glnavi .h-menu{display: none;}

#mainttl{background: #E2E5EA;border-radius: 0;}
#mainttl .inner-Box{padding: 14rem 5vw 5.6rem 23rem;}
#mainttl .page-title { font-size: 4.8rem; font-weight: 700; color: var(--main-blue); margin: 0 0 2.4rem 0; letter-spacing: 0.05em; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
#mainttl .split-char { display: inline-block; will-change: transform, opacity; white-space: pre; }
#mainttl .page-caption {color: #333;margin: 0;opacity: 0;transform: translateY(1rem);font-size: 1.4rem;line-height: 1.8;letter-spacing: 0.05em;font-weight: 400;text-align: left;margin-bottom: 9.9rem;}

/* 統合した見出し全体のスタイル */
.common-title-main {margin: 0 0 2.4rem 0;line-height: 1.5;}
.common-title-main .f-en {display: block;font-size: 1.2rem;font-weight: 600;color: var(--main-blue);letter-spacing: 0.05em;margin-bottom: 1.6rem;position: relative;padding-left: 1.8rem;line-height:1;}
.common-title-main .f-en::before {content: "";position: absolute;left: 0;top: 50%;width: 1rem;height: 1px;background-color: var(--main-blue);transform-origin: left center; /* JSの変数 --line-x で制御 */transform: scaleX(var(--line-x, 0));}
.common-title-main .ttl-ja {display: block;font-size: 2.8rem;font-weight: 700;color: var(--main-blue);letter-spacing: 0.05em;}
.common-title-main .split-char { display: inline-block; will-change: transform, opacity; /* 文字同士がバラバラに改行されないようにする */ white-space: pre; }

.bodtl{border-bottom: 1px solid #ccc;position: relative;font-size: 2.2rem;line-height: 1;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding-bottom: 1.6rem;margin-bottom: 4.8rem;}
.bodtl::before{ content: ""; height: 1px; background: var(--main-blue); width: 12rem; position: absolute; bottom: -1px; left: 0;}

/* 共通スライド */
#contentsmain .cmain-slider.swiper { margin-bottom: 8.2rem; overflow: visible; }
#contentsmain .cmain-slider .swiper-pagination { position: absolute; bottom: -3.5rem; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; line-height: 0; }
#contentsmain .cmain-slider .swiper-pagination-bullet { display: inline-block; width: 1rem; height: 1rem; margin: 0 0.5rem; padding: 0; cursor: pointer; border-radius: 50%; background: #D0D7E3; opacity: 1; border: 0; outline: none; transition: background 0.3s; }
#contentsmain .cmain-slider .swiper-pagination-bullet:hover,
#contentsmain .cmain-slider .swiper-pagination-bullet:focus { outline: none; }
#contentsmain .cmain-slider .swiper-pagination-bullet-active { background: var(--main-blue); }


footer{/* width: 100%; */z-index: 3;padding: 7.9rem 5vw 5.3rem;background: #D0D7E3;margin-left: 5rem;}
footer a{ color: #535779;}
footer .footer-Box{max-width: 1200px;margin: 0 auto;display:grid;grid-template-columns:21.67% 12.33% 30.08% 14.58%;gap:6.67%;}
footer .footer-Box1{position:relative;color: #535779;}
footer .footer-Box2{position:relative;}
footer .footer-Box3{position:relative;}
footer .footer-Box4{position:relative;}


footer .footer-Box1 figure.flogo {position: relative;top: 0;left: 0;margin-bottom: 1.2rem;}
footer .footer-Box1 figure.flogo img{  }
footer .footer-Box1 p.teltext {margin-bottom: -0.9rem;position: relative;font-size: 1.3rem;line-height: 3.8;letter-spacing: 0.05em;font-weight: 600;text-align: left;}
footer .footer-Box1 p.teltext span.sp-tel-link {font-size: 2.0rem;line-height: 2.5;letter-spacing: 0.05em;font-weight: 600;text-align: left;}
footer .footer-Box1 p.ftext1 {margin-bottom: 1.6rem;position: relative;font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;text-align: left;}
footer .footer-Box1 p.ftext2 {margin-bottom: 2.1rem;position: relative;font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;text-align: left;margin-right: -1rem;}
footer .footer-Box1 ul.sns-list{display:flex;gap:2.4rem;justify-content:flex-start;}
footer .footer-Box1 ul.sns-list li{}

footer p.fttl {margin-bottom: 1.6rem;position: relative;font-size: 1.5rem;line-height: 1.5;letter-spacing: 0em;font-weight: 700;text-align: left;border-bottom: #ACB3BF 1px solid;padding-bottom: 0.8rem;color: #535779;}
footer p.fttl2 {margin-bottom: 0.8rem;position: relative;font-size: 1.4rem;line-height: 1.5;letter-spacing: 0em;font-weight: 700;text-align: left;}
footer p.fttl2 a {  }
footer p.fttl2 a:hover {  }
footer ul.flist { margin-bottom: 1.6rem; }
footer ul.flist li { position: relative; }
footer ul.flist li p.litext::before{content: "-";display: inline-block;margin-right: 0.3rem;}
footer ul.flist li a {}
footer ul.flist li a:hover {  }
footer ul.flist p.litext {position: relative;font-size: 1.4rem;line-height: 1.5;letter-spacing: 0em;font-weight: 400;text-align: left;padding-left: 0;margin-bottom: 0.3rem;margin-right: -1rem;}

footer .footer-in-Box{display:grid;grid-template-columns:40.99% 52.35%;gap:6.65%;color: #535779;}
footer .footer-left-Box{position:relative;}
footer .footer-right-Box{position:relative;}
footer .ftlist2 li:nth-child(8),
footer .ftlist2 li:nth-child(10),
footer .ftlist2 li:nth-child(3),
footer .ftlist2 li:nth-child(5){ margin-bottom: 1.6rem; }

.copy{font-size: 1.2rem;line-height: 4.2;letter-spacing: 0.05em;font-weight: 400;background: #C4CCD8;text-align: center;padding: 1.5rem 0;color: #535779;border-top: #ACB3BF 1px solid;}

a.link-arr{text-align: center;display: block;width: 200px;margin: 0 auto;position: relative;}
a.link-arr .post-arrow {position: absolute;width: 4rem;height: 4rem;top: -4px;right: 0px;}
a.link-arr .post-arrow .arrow-bg { position: absolute; top: 50%; left: 50%; width: 4rem; height: 4rem; background-color: var(--main-blue); border-radius: 50%; opacity: 0; transform: translate(-50%, -50%) scale(0.5); transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease; z-index: 0 }
a.link-arr .post-arrow .arrow-icon {position: absolute;top: 50%;left: 50%;width: 2.6rem;height: auto;transform: translate(-50%, -50%);transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;z-index: 1}
a.link-arr .post-arrow .arrow-icon.default { transform: translate(-50%, -50%); opacity: 1 }
a.link-arr .post-arrow .arrow-icon.next { -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); transform: translate(-250%, -50%); opacity: 0 }
a.link-arr:hover .arrow-bg { opacity: 1; transform: translate(-50%, -50%) scale(1) }
a.link-arr:hover .arrow-icon.default { transform: translate(100%, -50%); opacity: 0 }
a.link-arr:hover .arrow-icon.next { left: -12px; transform: translate(100%, -50%); opacity: 1 }

.gl-btn{ }
.gl-btn a{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;/* height: 6.4rem; */color: #fff;position: relative;font-size: 1.6rem;padding: 2rem 5.3rem 2rem 2.3rem;text-align: left;transition: all 0.5s ease-in-out;font-weight: bold;}
.gl-btn a:hover{ color: #fff; background-position: 100% center; }
.gl-btn a .arr::before{content: "";background: #fff;display: block;width: 1px;height: 2.4rem;position: absolute;top: 50%;transform: translateY(-50%);right: 4.4rem;}
.gl-btn a .arr img{display: block;width: 13px;height: 11px;position: absolute;top: 50%;transform: translateY(-50%);right: 1.8rem;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
.gl-btn a:hover .arr img{  transform: translateY(-50%) rotate(360deg);}

.gl-btn-nolink{ }
a .gl-btn-nolink{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;/* height: 4.8rem; */color: #fff;position: relative;font-size: 1.4rem;padding: 1.3rem 0 1.3rem 2.6rem;text-align: left;transition: all 0.5s ease-in-out;font-weight: bold;}
a .gl-btn-nolink .arr::before{content: "";background: #fff;display: block;width: 1px;height: 2.4rem;position: absolute;top: 50%;transform: translateY(-50%);right: 4.4rem;}
a .gl-btn-nolink .arr img{display: block;width: 13px;height: 11px;position: absolute;top: 50%;transform: translateY(-50%);right: 1.8rem;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}
a:hover .gl-btn-nolink { color: #fff; background-position: 100% center; }
a:hover .gl-btn-nolink .arr img{  transform: translateY(-50%) rotate(360deg);}



/* 矢印ホバー */
a .morearrtext{transition: all 0.3s ease-in-out;margin-top: 1.5rem;}
a .morearrtext .arr{transform-origin:center;overflow:hidden;display:block;width:4rem;height:4rem;position:relative;transition:all .5s ease-in-out;}
a .morearrtext .arr img{display:block;width: 1.9rem;height: 1.2rem;position:absolute;transition:all 0.5s ease-in-out;}
a:hover .morearrtext .arr img{transform: rotate(360deg);}


/* 英語「ISSUES」のスタイル */
h2.corettl{font-size: 2.8rem; line-height: 1.8; letter-spacing: 0.14rem; font-weight: 700; text-align: left; }
h2.corettl span.f-en{ color: var(--main-blue); font-size: 1.2rem; line-height: 1; letter-spacing: 0.12rem; font-weight: 500; text-align: left; display: block; margin-bottom: 1.3rem; }

a figure.figbo { position: relative; overflow: hidden; }
a figure.figbo img {transition: transform 0.6s ease, filter 0.6s ease;transform: scale(1);filter: blur(0);width: 100%;height: 100%;object-fit: cover;}
a:hover figure.figbo img { transform: scale(1.04); }

.wavy-eng-issues {font-family: 'Poppins', sans-serif;font-size: 1.2rem;font-weight: 500;letter-spacing: 0.1em;display: block!important;margin-bottom: 16px;opacity:0;/* min-height: 2.4rem; */}
.wavy-eng-issues.is-show{opacity:1;transition:opacity 0.3s ease;}
.wavy-eng-issues span { display: inline-block; opacity: 0; transform: translateY(15px); animation: wavy-issues-appear 0.6s ease-out forwards; }

/* --- アニメーション定義 --- */
@keyframes wavy-issues-appear {
  0% {
    /* 開始時：透明で下にある */
    opacity: 0;
    transform: translateY(15px);
  }
  60% {
    /* 途中で少し上に上がりすぎる（波打つ動きの「頂点」） */
    opacity: 1;
    transform: translateY(-4px);
  }
  100% {
    /* 最終時：完全に表示され、元の位置に戻る */
    opacity: 1;
    transform: translateY(0);
  }
}

/* 共通CSR */
#common-csr {margin: 0 auto;position: relative;background: #fff;padding: 0 0 16rem 5rem;}
#common-csr .inner-Box {margin: 0 auto;position: relative;max-width: 139.6rem;padding: 12.3rem 5vw 0rem;}
#common-csr .ttl-Box {margin: 0 auto 4.9rem;position: relative;padding-right: 46rem;}
#common-csr .ttl-Box h2 {position: relative;text-align: left;}
#common-csr .ttl-Box p.text {position: relative;font-size: 1.6rem;line-height: 2;letter-spacing: 0.05em;font-weight: 350;text-align: left;}
#common-csr .list-Box ul{display:flex;flex-wrap:wrap;gap: 3.69%;max-width: 100rem;margin: 0 auto;}
#common-csr .list-Box ul li{width:22.23%;position:relative;text-align: center;}
#common-csr .list-Box ul li a {  }
#common-csr .list-Box ul li a:hover {  }
#common-csr .list-Box figure.img {position: relative;top: 0;left: 0;margin-bottom: 0.8rem;}
#common-csr .list-Box figure.img img{ width: 100%; height: auto; }
#common-csr .list-Box p.ltext {position: relative;font-size: 1.5rem;line-height: 1.8;letter-spacing: 0.05em;font-weight: 400;text-align: center;color: #333;}
#common-csr .gl-btn{position: absolute;top: 21.7rem;right: 5vw;}
#common-csr .gl-btn a{width: 33.2rem;}

/* 下余白がない固定ページ（フッター margin は body 背景が露出するため各ブロックで確保） */
body#sitemap #contentsmain,
body#privacy #contentsmain,
body#faq #qacontents,
body#privilege #contentsfaq,
body#consultation-desk #contentsfaq {
  padding-bottom: 8rem;
}

.entrybtn a{color: #454748;font-size: 2.4rem;line-height: 1.6;font-weight: 900;letter-spacing: 0.072rem;margin: 0 auto 30px;width: 320px;height: 70px;display: block;border: 3px solid #454748;border-radius: 36px;background: #fff;position: relative;left: 8px;padding: 13px 0 0;transition: background 0.3s ease-in-out,color 0.3s ease-in-out;text-align: center;}
.entrybtn a:hover{background: #454748;color: #fff;}



#pullnavi { opacity: 0; transition: opacity 0.3s, transform 0.3s; transform: translateY(-100%); }
#pullnavi.upMove { opacity: 0; transform: translateY(-100%); }
#pullnavi.dwMove { opacity: 1; transform: translateY(0); }

#pullnavi {position: fixed;top: 0;left: 0;z-index: 10;}
#pullnavi {background: #fff;width: 100%;box-shadow: 0px 3px 20px #00000029;}
#pullnavi .inbox{width: 100%;min-width: 1280px;height: 70px;margin: 0px auto 20px auto;padding-top: 14px;position: relative;}



   
   /* common */
   
   /* 2カラムサイト----------------
   #tow-cl{ width: 1100px; margin: 0 auto; padding: 20px 0;}
   #tow-cl main{ width: 800px!important; float: left;  }
   #tow-cl #side{ width: 280px; float: left; margin-right: 19px; background: #333; height: 800px; }
   #blog #tow-cl #side{ display: none;}
   #blog #tow-cl main{ width: 1100px !important;}*/
   /* 1カラムサイト */
   /*#one-cl{ }*/
   

   .main-title{width: auto;text-align: left;margin-bottom: 1.9rem;}
   .main-title .jp {display: block;font-size: 4.8rem;line-height: 1.5;letter-spacing: 0.24rem;font-weight: 700;text-align: left;}
   h2.sub-title{ padding: 25px 20px 10px; margin-bottom: 50px; font-size: 28px; font-weight: bold; letter-spacing: 2px; text-align: center; border-bottom: solid 2px #000;}

   .seo_bread_list {max-width: 1201px;width: 100%;padding: 0 0rem 0px 0rem;margin: 0 auto 0 0;font-size: 1.2rem;line-height: 1;letter-spacing: 0.06rem;font-weight: 400;text-align: right;color: #999;}
   .seo_bread_list li{ margin-right: 20px; float: left;  }
   .seo_bread_list a{margin-right: 0.2rem;}
   .seo_bread_list a{font-weight: 500;color: #333;}
   .seo_bread_list a::after{content: "";width: 0.8rem;height: 1px;display: inline-block;background: #333;position: relative;top: -0.5rem;margin: 0 0.7rem;}
   .seo_bread_list li::after{ content: " >"; }
   .seo_bread_list li:last-child::after{ content: ""; }
   
   /*pc・タブレットcss*/
   /*pc_defaultset*/
   .pc { display: block !important; }
   /*pcのみ表示ブロック*/
   .pc2 { display: inline-block !important; }
   /*pcのみ表示ブロック*/
   .sp, .sp2 { display: none !important; }
   /*スマホのみ表示ブロック*/
   .h_menu { display: none; }
   /*スマホ用ヘッダ*/
   .sp-header { display: none; }
   /*スマホ用メニュー*/
   #sp-global-nav { display: none; }
   /*スマホ用メニュー*/
   .sp-fix-list { display: none; }
   /* Antialiasing ※任意　*/
   
   .fit img { object-fit: cover; font-family: "object-fit: cover;"; }
   
   html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
   


   body { -webkit-text-size-adjust: 100%; }
   img {vertical-align: bottom;}
   a {text-decoration: none;color: var(--main-blue);transition: color 0.3s ease-in-out;}
   a:hover { color: var(--main-blue);  }
   .nobd a:hover { text-decoration: none !important; }
   
   /* clearfix */
   .clearfix { zoom: 1; }
   .clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }
   /* wysiwyg */

.wysiwyg { /* PC幅と中央寄せ */max-width: 80rem;margin-inline: auto;/* padding: 0 2rem; */ 
/* 変数定義（PC） */--wys-p-gap: 2.4rem;--wys-h2-margin: 8rem 0 3.2rem;--wys-h3-margin: 6.4rem 0 2.4rem;--wys-h4-margin: 4rem 0 1.6rem;--wys-blk-mt: 3.2rem;--wys-blk-mb: 3.2rem;}
/* --- Text & Paragraph --- */
.wysiwyg :is(h1, h2, h3, h4, p, ul li, ol li, td, th) { letter-spacing: 0.05em; }
.wysiwyg p { margin: 0; font-size: 1.6rem; line-height: 2; }
.wysiwyg p + p { margin-top: var(--wys-p-gap); }
/* --- Headings --- */
.wysiwyg h2 {margin: var(--wys-h2-margin);font-size: 2.4rem;line-height: 1.5;font-weight: 700;padding: 1.6rem 2.4rem;border-radius: 0 2.4rem 0 0;}
.wysiwyg h3 {margin: var(--wys-h3-margin);font-size: 2.2rem;line-height: 1.6;font-weight: 700;padding-bottom: 1.6rem;}
.wysiwyg h3::before{ content: ""; display: block; width: 12rem; height: 1px; background: var(--main-blue); position: absolute; bottom: -1px; left: 0; }
.wysiwyg h4::before{content: "";display: block;width: 0.8rem;height: 0.8rem;border: var(--main-blue) 2px solid;border-radius: 50%;position: absolute;top: 50%;left: 0;transform: translateY(-50%);}
.wysiwyg h4 {margin: var(--wys-h4-margin);font-size: 2rem;line-height: 1.5;font-weight: 700;padding-left: 2rem;}
 
/* --- Lists --- */ 
 .wysiwyg :is(ul, ol) { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb) 2.4rem; padding: 0; }
 /* Unordered List (ドット) */ 
 .wysiwyg ul { list-style: none; }
 .wysiwyg ul li { position: relative; font-size: 1.6rem; line-height: 1.8; margin-bottom: 0.8rem; }
 .wysiwyg ul li::before {content: "";position: absolute;left: -1.8rem;width: 0.7rem;height: 0.7rem;border-radius: 50%;background: var(--main-blue);top: 0.65em;top: calc(0.5lh - 0.35rem); /* テキスト1行目の垂直中央 */}
 /* Ordered List (数字) */ 
 .wysiwyg ol { list-style: decimal; }
 .wysiwyg ol li { font-size: 1.6rem; line-height: 1.8; margin-bottom: 0.8rem; }
 .wysiwyg ol li::marker { /* フォントを継承し、Poppins指定を削除 */font-weight: 700;color: var(--main-blue);}
 /* --- Images & Caption --- */ 
 .wysiwyg figure { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); max-width: 100%; }
 .wysiwyg figure img { max-width: 100%; height: auto; display: block; }
 .wysiwyg figcaption { margin-top: 1.2rem; font-size: 1.4rem; color: #666; text-align: center; }
 /* --- Table --- */ 
 .wysiwyg .table-wrapper { overflow-x: auto; margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); width: 100%; -webkit-overflow-scrolling: touch; }
 .wysiwyg table {width: 100%;border-collapse: collapse;font-size: 1.6rem;line-height: 1.5;min-width: 60rem; /* SP時にスクロールさせるための最小幅 */border-top: #CCC 1px solid;}
 .wysiwyg th, .wysiwyg td {padding: 1.6rem 2.4rem!important;border: 1px solid #ccc!important;text-align: left;border-left: none!important;border-right: none!important;}
 .wysiwyg th { background-color: #E2E5EA; font-weight: 700; width: 30%; }




   /* リンク透明 */
   a img{transition: opacity 0.3s ease-in-out;}
   a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
   /* リンク透明にしない */
   .noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
   /*---------------------------------------- 　　外部サービス ----------------------------------------*/
   /* ggmap */
   /* <div class="ggmap">iframeのコピーしたコード</div> */
   .ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
   .ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
   /* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
   .youtube { position: relative; width: 100%; padding-top: 56.25%; }
   .youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
   /*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
   @font-face { font-family: 'jp-sttl01';
   /* お好きな名前にしましょう */
   src: url("../font/.eot");
   /* IE9以上用 */
   src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
   /* iOS, Android用 */
   /* 念の為指定しておきます */
   font-weight: normal;
   /* 念の為指定しておきます */
   font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
   .myWebFontClass { font-family: 'jp-sttl01'; }
   }

@media screen and (min-width:768px) and ( max-width:1280px) {



}


@media screen and (min-width:768px) and ( max-width:1200px) {

}


@media screen and (min-width:768px) and ( max-width:1023px) {
header{ display: none;}
main{ margin: 0;}
#contentsend{ margin-left: 0;}
footer{ margin-left: 0;}
#mainttl .inner-Box{padding: 14rem 5vw 5.6rem;}
#common-csr{ padding-left: 0; }

#pc-glnavi,#pc-glnavi .h-menu{display: block;}
#pc-glnavi .h-logo{ display: none;}
/*+++ corp +++*/
#pc-glnavi{width: 100%;/* background: #fff; */position: fixed;top: 0;left: 0;height: 8rem;z-index: 1000;padding: 2.3rem 4.3rem;border-radius: 0 0 0rem 4rem;}
#pc-glnavi .h-menu {display: block;position: fixed;top: -2.5rem;right: 2rem;width: 9rem;height: 8rem;z-index: 1000;border-radius: 0px 0px 0px 30px;cursor: pointer;}

#pc-glnavi .h-menu::before{content: url(../images/common/common-rr01.svg);position: fixed;top: 1.6rem;left: 1.6rem;}
#pc-glnavi .h-menu::after{content: "";position: absolute;top: 1.6rem;left: -2.4rem;display: block;background: url(../images/common/common-rr02.svg)no-repeat;background-size: 100% auto;width: 2.5rem;height: 2.5rem;}


#pc-glnavi .h-menu .zdo_drawer_buttonsp::before{height: 27px;width: 27px;content: "";display: block;position: relative;top: 5px;left: 9px;/* background: #f00; */}
#pc-glnavi .h-menu .zdo_drawer_buttonsp * { margin: 0; padding: 0; outline: none; border: none; font: inherit; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; text-align: left; text-decoration: none; list-style: none; }
#pc-glnavi .h-menu .zdo_drawer_buttonsp {display: block;padding: 0;height: 34px;background: none;border: none;text-align: center;letter-spacing: 0.1em;cursor: pointer;outline: none;width: 42px;z-index: 9999;position: absolute;top: 4.2rem;left: 3.8rem;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {display: block;height: 2px;transition: all 0.2s;transform-origin: 0% 0%;transform: translateY(-50%);position: absolute;left: 0;width: 40px;border-radius: 2.5px;background: var(--main-blue);}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {top: 10px;left: 2px;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 {top: 21px;left: 2px;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {top: 33px;left: 2px;}
#pc-glnavi.active .h-menu{}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {width: 23px;left: 0.0vw;background: var(--main-blue)!important;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {transform: rotate(0.76rad) translateY(-96%);top: 9px;width: 37px;left: 9px;border-radius: 0;height: 2px;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 { opacity: 0; }
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {transform: rotate(-0.77rad) translateY(-50%);top: 34.6px;width: 37px;left: 9px;border-radius: 0;height: 2px;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_menu_text { display: none; }
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_close { display: block; }
.zdo_drawer_text { width: 100%; position: absolute; bottom: -2.6vw; left: 0; text-align: center; font-size: 1.3vw; }
.zdo_drawer_close { letter-spacing: 0.08em; display: none; }
/*+++ Default Button Color +++*/
.zdo_drawer_buttonsp { color: #000; }
.zdo_drawer_buttonsp .zdo_drawer_bar {background-color: #fff;}


.pc-menu{ position: fixed; top: 0; right: 0;  z-index: 9999; }
.pc-menu:hover{ opacity: 0.8; cursor: pointer; cursor: hand;}

.side-fix{position: fixed;top: 110px;right: 0;z-index: 10;}

#pc-menu-open{right: 0;display: none;background: #fff;width: 36rem;height: 100vh;min-height: 750px;position: fixed;top: 0;z-index: 999;overflow-y: scroll;padding: 4rem;}
#pc-menu-open a{ color: #333;}   

.open-main-Box{max-width: 1137px;margin: 0 auto 50px;padding: 19.5rem 5rem 0;}

#pc-menu-open .inner-box{position: relative;height: 100%;min-height: 760px;padding-bottom: 210px;}
#pc-menu-open .h-logo{text-align: center;margin-bottom: 4.2rem;}

#pc-menu-open .pickup-box{ margin-bottom: 4.2rem; }
#pc-menu-open .pickup-box .pickicon{font-size: 1.1rem;line-height: 1.3;letter-spacing: 0em;font-weight: 600;color: #fff;margin-left: 1.2rem;position: relative;margin-bottom: -0.9rem;z-index: 3;}
#pc-menu-open .pickup-box .pickicon span{display: inline-block;padding: 0.8rem 1.6rem;background: var(--main-blue);border-radius: 3rem;}
#pc-menu-open .pickup-box .pickicon span::before{content: "";display: block;background: url(../images/common/arr2.svg)no-repeat;position: absolute;bottom: -0.4rem;left: 3.5rem;width: 1.8rem;height: 0.9rem;z-index: 3;}

#pc-menu-open .pickup-box{margin-bottom: 5.6rem;}
#pc-menu-open .pickup-box .pickicon{font-size: 1.1rem;line-height: 1.3;letter-spacing: 0em;font-weight: 600;color: #fff;margin-left: 1.2rem;position: relative;margin-bottom: -0.9rem;z-index: 3;}
#pc-menu-open .pickup-box .pickicon span{display: inline-block;padding: 0.8rem 1.6rem;background: var(--main-blue);border-radius: 3rem;}
#pc-menu-open .pickup-box .pickicon span::before{content: "";display: block;background: url(../images/common/arr2.svg)no-repeat;position: absolute;bottom: -0.4rem;left: 3.5rem;width: 1.8rem;height: 0.9rem;z-index: 3;}
#pc-menu-open .pickup-container{ }
#pc-menu-open .pickup-container .pickup-slide,
#pc-menu-open .pickup-container .pickup-slide .swiper-wrapper { height: auto; }
#pc-menu-open .pickup-container .swiper-slide { width: 100%; height: auto; }
#pc-menu-open .pickup-container .swiper-slide figure {width: 100%;aspect-ratio: 248 / 100;overflow: hidden;text-align: center;margin-bottom: ;position: relative;}
#pc-menu-open .pickup-container .swiper-slide figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
#pc-menu-open .pickup-container .swiper-pagination {position: static !important;text-align: center;}
#pc-menu-open .pickup-container .swiper-pagination-bullet {width: 0.8rem;height: 0.8rem;background: #8F9BBE;margin: 0 5px !important;transition: opacity 0.3s;}
#pc-menu-open .pickup-container .swiper-pagination-bullet-active {background: var(--main-blue); }
#pc-menu-open .pickup-container .swiper-pagination-bullet.is-hidden-dot { display: none !important; }



#pc-menu-open .sh-box{}
#pc-menu-open .sh-box .buttl{font-size: 1.5rem;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;color: #fff;background: var(--main-blue);border-radius: 0 2rem 0rem 0rem;padding: 0.8rem 1rem 0.8rem 1.6rem;margin-bottom: 1.6rem;}
#pc-menu-open .sh-box .buttl span{display: inline-block;margin-right: 0.8rem;}
#pc-menu-open .sh-box .sh-in-box{}
#pc-menu-open .sh-box .subttl{font-size: 1.5rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;border-bottom: 1px solid var(--main-blue);padding-bottom: 0.9rem;color: var(--main-blue);position: relative;margin-bottom: 1.6rem;}
#pc-menu-open .sh-box .subttl span{ display: inline-block;margin-right: 0.8rem;}
#pc-menu-open .sh-box .subttl::before{content: "";display: block;width: 1px;height: 2.1rem;background: var(--main-blue);position: absolute;top: 0;right: 2rem;}
#pc-menu-open .sh-box .subttl::after{content: "";width: 1rem;height: 1rem;display: block;position: absolute;top: 0.6rem;right: 0;background: url(../images/common/arr.svg)no-repeat top center;transform: rotate(90deg);transform-origin: center;transition: all 0.3s ease-in-out;}
#pc-menu-open .sh-box .open .subttl::after{transform: rotate(-90deg);transform-origin: center;}
#pc-menu-open .sh-box .sh-box-aco{ margin-bottom: 1.8rem; }
#pc-menu-open .sh-box .mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2%;text-align:center;}
#pc-menu-open .sh-box .mini-list li{border:1px solid var(--main-blue);margin-bottom:0.5rem;display:flex;align-items:center;justify-content:center;}
#pc-menu-open .sh-box .mini-list li a{display: block;padding: 0.8rem 0.4rem;font-size: 1.1rem;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: center;color: var(--main-blue);width: 100%;}
#pc-menu-open .sh-box .mini-list li.is-twoline a{line-height: 1.4;}
#pc-menu-open .sh-box .mini-list li a span{display: block;margin: 0 0 0.7rem;}
#pc-menu-open .sh-box .mini-list.list1 li:nth-child(1) a,#pc-menu-open .sh-box .mini-list.list1 li:nth-child(2) a{font-weight: bold;}
#pc-menu-open .sh-box .mini-list.list1 li:nth-child(1),#pc-menu-open .sh-box .mini-list.list1 li:nth-child(2){background: #E7EDF7;}
#pc-menu-open .menu-box{ padding-top: 1.4rem; }

#pc-menu-open .menu-box .buttl{font-size: 1.5rem;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;color: #fff;background: var(--main-blue);border-radius: 0 2rem 0rem 0rem;padding: 0.8rem 1rem 0.8rem 1.6rem;margin-bottom: 1.6rem;}
#pc-menu-open .menu-box .buttl span{display: inline-block;margin-right: 0.8rem;}
#pc-menu-open .menu-box .sh-in-box{}
#pc-menu-open .menu-box .subttl{font-size: 1.5rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;border-bottom: 1px solid var(--main-blue);padding-bottom: 0.9rem;color: var(--main-blue);position: relative;margin-bottom: 1.6rem;}
#pc-menu-open .menu-box .subttl span{ display: inline-block;margin-right: 0.8rem;}
#pc-menu-open .menu-box .subttl::before{content: "";display: block;width: 1px;height: 2.1rem;background: var(--main-blue);position: absolute;top: 0;right: 2rem;}
#pc-menu-open .menu-box .subttl::after{content: "";width: 1rem;height: 1rem;display: block;position: absolute;top: 0.6rem;right: 0;background: url(../images/common/arr.svg)no-repeat top center;transform: rotate(-90deg);transform-origin: center;}
#pc-menu-open .menu-box .sh-box-aco{ margin-bottom: 1.8rem; }
#pc-menu-open .menu-box .menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2%;text-align:center;margin-bottom: 3.2rem;}
#pc-menu-open .menu-box .menu-list li{border:1px solid var(--main-blue);margin-bottom:0.5rem;display:flex;align-items:center;justify-content:center;font-size: 1.1rem;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: center;}
#pc-menu-open .menu-box .menu-list li a{display: block;padding: 0.8rem 0rem;width: 100%;}

#pc-menu-open .banner-list{ margin-bottom: 2.8rem; }
#pc-menu-open .banner-list li{ margin-bottom: 0.8rem; position: relative; }
#pc-menu-open .banner-list li a{ background: #E7EDF7; width: 100%; display: block; }
#pc-menu-open .banner-list li a::before{content: "";position: absolute;display: block;background: url(../images/common/side-img00.svg)no-repeat top left;width: 0.8rem;height:  0.8rem;bottom: 0.5rem;right: 0.5rem;}
#pc-menu-open .banner-list li span{font-size: 1.4rem;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding: 2.5rem 0.5rem 2.5rem 7.7rem;display: block;}
#pc-menu-open .banner-list li:nth-child(2) span{padding-left: 5.8rem;}
#pc-menu-open .banner-list li:nth-child(3) span{padding-left: 5.8rem;}
#pc-menu-open .banner-list li:nth-child(4) span{padding-left: 6.1rem;}
#pc-menu-open .banner-list li:nth-child(1) a::after{content: "";width: 4.15rem;height: 3.736rem;background: url(../images/common/side-img01.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.5rem;left: 1.7rem;}
#pc-menu-open .banner-list li:nth-child(2) a::after{content: "";width: 3.65rem;height: 4.136rem;background: url(../images/common/side-img02.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.1rem;left: 1.7rem;}
#pc-menu-open .banner-list li:nth-child(3) a::after{content: "";width: 3.65rem;height: 4.136rem;background: url(../images/common/side-img02.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.1rem;left: 1.7rem;}
#pc-menu-open .banner-list li:nth-child(4) a::after{content: "";width: 2.95rem;height: 4.736rem;background: url(../images/common/side-img03.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 1.5rem;left: 1.8rem;}

#pc-menu-open .sns-list{display:grid;grid-template-columns:repeat(3,auto);gap:2.4rem;width: 12rem;margin: 0 auto;padding-bottom: 4.8rem;}
#pc-menu-open .sns-list li{width: auto;}
#pc-menu-open .sns-list li a{}
#pc-menu-open .sns-list li img{}




}
@media screen and (min-width:768px) and ( max-width:1000px) {


}



@media screen and (max-width: 767px) {
header{ display: none;}
.sp-bgimages{position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background: url('../images/common/sp-body-back.jpg')no-repeat top center;background-size: cover;z-index: -1;display: none;}
.sp-recruit-bgimages{ position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: url('../images/common/sp-recruit-body-back.jpg')no-repeat top center; background-size: cover; z-index: -1; }

.mw_wp_form input[type="file"] { display: inline-block; width: 100%; font-size: 3.8vw; }

body {overflow: hidden;font-size: 3.6vw;font-family: sans-serif;-webkit-text-size-adjust: 100%;line-height: 1.6;background: #F0F1F3;padding-top: 16vw;}
.pc, .pc2 { display: none !important; }
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.side-fix{ display: none; }
.fix-list{ display: none; }
#g-nav{ display: none; }

#pc-glnavi{width: 100%;position: fixed;top: 0;left: 0;background: #fff;height: 15.9vw;z-index: 1000;padding: 3.3vw 82.4vw 3vw 4.3vw;border-radius: 0 0 0 0;border-bottom: 1px solid #E5E5E5;}
#pc-glnavi.active{position: static;background: none;}
#pc-glnavi.active .h-logo{position: relative;display: none;}
#pc-glnavi .h-menu {display: block;position: fixed;top: -2.5rem;right: 2rem;width: 9rem;height: 8rem;z-index: 1000;border-radius: 0.0vw 0.0vw 0.0vw 7.25vw;cursor: pointer;}

#mainttl{background: #E2E5EA;border-radius: 0;}
#mainttl .inner-Box{padding: 30.838vw 0vw 0vw;}
#mainttl .main-title{margin-bottom: 4.27vw;padding: 0 6.2vw;}
#mainttl .page-title {color: var(--main-blue);margin: 0 0 0;line-height: 1.5;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-size: 6.9vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;}
#mainttl .split-char { display: inline-block; will-change: transform, opacity; white-space: pre; }
#mainttl .page-caption {color: #333;margin: 0;opacity: 0;transform: translateY(4.267vw);margin: 0 6.2vw 14.343vw;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;text-align: left;}

/* 統合した見出し全体のスタイル */
.common-title-main {margin: 0 0 3.7vw 0vw;line-height: 1.5;}
.common-title-main .f-en {display: block;font-size: 3.20vw;font-weight: 600;color: var(--main-blue);letter-spacing: 0.05em;margin-bottom: 2.267vw;position: relative;padding-left: 4.1vw;line-height:1;}
.common-title-main .f-en::before {content: "";position: absolute;left: 0;top: 50%;width: 2.067vw;height: 1px;background-color: var(--main-blue);transform-origin: left center; /* JSの変数 --line-x で制御 */transform: scaleX(var(--line-x, 0));}
.common-title-main .ttl-ja {display: block;font-size: 6.13vw;font-weight: 700;color: var(--main-blue);letter-spacing: 0.05em;}
.common-title-main .split-char { display: inline-block; will-change: transform, opacity; /* 文字同士がバラバラに改行されないようにする */ white-space: pre; }

.gl-btn-nolink{ }
a .gl-btn-nolink{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;height: 9.4vw;color: #fff;position: relative;font-size: 3.73vw;padding: 3.2vw 0 0 0;text-align: left;transition: all 0.5s ease-in-out;font-weight: bold;}
a .gl-btn-nolink .arr::before{content: "";background: #fff;display: block;width: 1px;height: 3.1vw;position: absolute;top: 51%;transform: translateY(-50%);right: 7vw;}
a .gl-btn-nolink .arr img{width: 3vw;display: block;height: 2.93vw;position: absolute;top: 3.4vw;right: 2.3vw;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}


/*+++ Reset +++*/
#pc-glnavi .h-menu::after{}
#pc-glnavi .h-menu::before{background: url(../images/common/common-rr01.svg)no-repeat;position: absolute;top: 2.1vw;right: 15.8vw;background-size: 100% auto;width: 4.2vw;height: 10vw;transform: scale(-1, 1);}

#pc-glnavi .h-menu {position: fixed;top: -0.4vw;width: 15.43vw;right: 0.9vw;height: 15.83vw;border-radius: 0 0 0 4vw;border: none;z-index: 10002;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp::before{height: 1.21vw;content: "";display: block;position: relative;top: 0;left: 0;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp * { margin: 0; padding: 0; outline: none; border: none; font: inherit; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; text-align: left; text-decoration: none; list-style: none; }
#pc-glnavi .h-menu .zdo_drawer_buttonsp {display: block;padding: 0;width: 8.82vw;height: 5.4vw;background: none;border: none;text-align: center;letter-spacing: 0.1em;cursor: pointer;outline: none;z-index: 99999;position: absolute;top: 5.58vw;left: 2.52vw;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {display: block;height: 0.43vw;width: 8.33vw;transition: all 0.2s;transform-origin: 0% 0%;transform: translateY(-50%);position: absolute;left: 0;border-radius: 0.6vw;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {top: 0.42vw;left: 0.48vw;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 {top: 2.82vw;left: 0.5vw;}
#pc-glnavi .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {top: 5.32vw;left: 0.5vw;}
#pc-glnavi.active .h-menu{}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar {left: 1.7vw;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar1 {transform: rotate(0.77rad) translateY(-96%);top: 0.1vw;border-radius: 0;height: 0.48vw;width: 7.7vw;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar2 { opacity: 0; }
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_bar3 {transform: rotate(-0.77rad) translateY(-50%);top: 5.29vw;width: 7.7vw;left: 1.74vw;border-radius: 0;height: 0.48vw;}
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_menu_text { display: none; }
#pc-glnavi.active .h-menu .zdo_drawer_buttonsp .zdo_drawer_close { display: block; }
.zdo_drawer_text { width: 100%; position: absolute; bottom: -2.6vw; left: 0; text-align: center; font-size: 1.3vw; }
.zdo_drawer_close { letter-spacing: 0.08em; display: none; }
/*+++ Default Button Color +++*/
.zdo_drawer_buttonsp { color: #000; }
.zdo_drawer_buttonsp .zdo_drawer_bar {background-color: var(--main-blue);}
a:hover{ text-decoration: none!important;}

.gl-btn{ }
.gl-btn a{background: linear-gradient(90deg, var(--btn-grad-start) 0%, var(--btn-grad-end) 50%, var(--btn-grad-start) 100%);background-size: 200% 100%;background-position: 0% center;transition: background-position 0.6s ease-in-out;overflow: hidden;display: block;width: 100%;height: 9vw;color: #fff;position: relative;font-size: 4.3vw;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding: 5.4vw 0 0 5vw;}
.gl-btn a .arr::before{content: "";background: #fff;display: block;width: 1px;height: 3.1vw;position: absolute;top: 50%;transform: translateY(-50%);right: 9.4vw;}
.gl-btn a .arr img{display: block;width: 2.2vw;height: 3vw;position: absolute;top: 50%;transform: translateY(-50%);right: 4.1vw;transition: all 0.5s ease-in-out;transform-origin: center center;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);}


/* 矢印ホバー */
a .morearrtext{transition: all 0.3s ease-in-out;margin-top: 2.2vw;}
a .morearrtext .arr{transform-origin:center;overflow:hidden;display:block;width:4rem;height:4rem;position:relative;transition:all .5s ease-in-out;}
a .morearrtext .arr img{display:block;width: 1.9rem;height: 1.2rem;position:absolute;transition:all 0.5s ease-in-out;}

/* 共通スライド */
#contentsmain .cmain-slider.swiper {overflow: visible;}
#contentsmain .cmain-slider .swiper-pagination {position: absolute;bottom: -6.033vw;display: flex;justify-content: center;align-items: center;width: 100%;padding: 0;margin: 0;list-style: none;text-align: center;left: 0;line-height: 0;}
#contentsmain .cmain-slider .swiper-pagination-bullet {position: relative;display: inline-block;width: 1.60vw;height: 1.60vw;margin: 0 1.133vw;padding: 0;cursor: pointer;border-radius: 50%;background: #D0D7E3;opacity: 1;border: 0;outline: none;transition: background 0.3s;}
#contentsmain .cmain-slider .swiper-pagination-bullet:hover, #contentsmain .cmain-slider .swiper-pagination-bullet:focus { outline: none; }
#contentsmain .cmain-slider .swiper-pagination-bullet-active { background: var(--main-blue); }

.bodtl{border-bottom: 1px solid #ccc;position: relative;font-size: 4.80vw;line-height: 1;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding-bottom: 4.07vw;margin-bottom: 6.2vw;}
.bodtl::before{content: "";height: 1px;background: var(--main-blue);width: 21.3vw;position: absolute;bottom: 0px;left: 0;}

#contentsend{
    margin-top: 15vw;
}
#contentsend .photo-Box{width: 100%;background: url(../images/common/contentsend-photo01.jpg)no-repeat;background-size: cover;height: 43.4vw;}
#contentsend .text-Box{background: url('../images/common/back.png') repeat,url(../images/common/contentsend-back01.svg)no-repeat top left;background-size: auto auto, cover;text-align: left;color: #fff;padding: 10.1vw 4.3vw 15vw;position: relative;}
#contentsend .text-Box h2 {margin-bottom: 5.114vw;position: relative;font-size: 5.3vw;line-height: 1.8;letter-spacing: 0.05em;font-weight: 700;text-align: left;}
#contentsend .text-Box a{color: #fff;display: block;padding: 0vw 6.068vw 0rem 0rem;position: relative;margin-right: 6.7vw;border-right: 0.27vw solid #dfff;}
#contentsend .text-Box span.gicon {display: inline-block;line-height: 1;width: 6.3vw;position: relative;top: 0.6vw;margin-right: 0.7vw;}
#contentsend .text-Box span.gicon img {  }
#contentsend .text-Box h3 {margin-bottom: 2.827vw;position: relative;font-size: 4.8vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;}
#contentsend .text-Box p.text {position: relative;font-size: 3.2vw;line-height: 1.7;letter-spacing: 0.05em;font-weight: 500;text-align: left;top: 0.8vw;}
#contentsend .text-Box a::before{}
#contentsend .text-Box a::after{content: "";width: 2.567vw;height: 5.974vw;display: block;position: absolute;top: 43.3%;right: -6.935vw;background: url(../images/common/arr.svg)no-repeat top center;transition: all 0.3s ease-in-out;-webkit-filter: brightness(0) invert(1);filter: brightness(0) invert(1);background-size: 100% auto;}

#contentsend .bolt {position: absolute;width: 20.80vw;height: 23.20vw;top: 0;right: 0;overflow: hidden;}
#contentsend .bolt span.en{ display: block; position:relative; width:100%; height:100%; }
#contentsend .bolt span.en img{position:absolute;left: 0;bottom: 0;width: 37.60vw; /* 少し大きめに */transform:rotate(-30deg);transform-origin: center center;animation: rollRotatebolt 80s linear infinite;}
@keyframes rollRotatebolt{ 0%{transform:rotate(-30deg);} 100%{transform:rotate(330deg);} }



footer{width: 100%;z-index: 3;padding: 10.209vw 4.2vw 12.315vw;background: #D0D7E3;}
footer a{ color: #535779;}
footer .footer-Box{}
footer .footer-Box1{position:relative;color: #535779;text-align: center;margin-bottom: 8.8vw;}
footer .footer-Box2{position:relative;margin-bottom: 5.8vw;}
footer .footer-Box3{position:relative;margin-bottom: 6vw;}
footer .footer-Box4{position:relative;}

footer .footer-Box1 figure.flogo {position: relative;top: 0;left: 0;margin: 0 29.9vw  1.02vw;}
footer .footer-Box1 figure.flogo img{  }
footer .footer-Box1 p.teltext {margin-bottom: -1.74vw;position: relative;font-size: 3.47vw;line-height: 1.8;letter-spacing: 0.05em;font-weight: 600;}
footer .footer-Box1 p.teltext span.sp-tel-link {font-size: 5.33vw;line-height: 2.5;letter-spacing: 0.05em;font-weight: 600;text-align: left;margin-left: 0.4vw;}
footer .footer-Box1 p.ftext1 {margin-bottom: 2.127vw;position: relative;font-size: 3.7vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;text-align: center;}
footer .footer-Box1 p.ftext2 {margin-bottom: 6.161vw;position: relative;font-size: 3.73vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 400;}
footer .footer-Box1 ul.sns-list{display:flex;gap: 6.441vw;justify-content:flex-start;width: 32vw;margin: 0 auto;}
footer .footer-Box1 ul.sns-list li{}
footer .footer-Box1 ul.sns-list li img{ width: auto; height: 6.40vw;}

footer p.fttl {margin-bottom: 2.027vw;position: relative;font-size: 4.0vw;line-height: 1.5;letter-spacing: 0em;font-weight: 700;text-align: left;color: var(--main-blue);}
footer .sp-acd{background: #fff;margin-bottom: 1px; }
footer p.fttl2 {background: #fff;margin-bottom: 1px;position: relative;font-size: 3.73vw;line-height: 1.5;letter-spacing: 0em;font-weight: 700;text-align: left;padding: 2.5vw 2.5vw 2.5vw 4.4vw;color: #535779;}
footer p.fttl2::before{content: "";display: block;width: 2px;height: 3.26vw;background: var(--main-blue);position: absolute;top: 3.6vw;right: 7.433vw;}
footer p.fttl2::after{content: "";width: 2.167vw;height: 2.667vw;display: block;position: absolute;top: 4.06vw;right: 2.9vw;background: url(../images/common/arr.svg)no-repeat top center;transform: rotate(0deg);transform-origin: center;transition: all 0.3s ease-in-out;background-size: 100% auto;}
footer .sp-acd p.fttl2::after{transform: rotate(90deg);transform-origin: center;}
footer .sp-acd.open p.fttl2::after{transform: rotate(-90deg);transform-origin: center;}

footer p.fttl2 a {  }
footer p.fttl2 a:hover {  }
footer ul.flist {margin-bottom: 0.2vw;background: #fff;padding: 0vw 0vw 0.6vw 6.1vw;}
footer ul.flist li { position: relative; }
footer ul.flist li p.litext::before{content: "-";display: inline-block;margin-right: 1.280vw;position: relative;top: 0.2vw;left: 0.3vw;}
footer ul.flist li a {}
footer ul.flist li a:hover {  }
footer ul.flist p.litext {position: relative;font-size: 3.73vw;line-height: 1.5;letter-spacing: 0em;font-weight: 400;text-align: left;padding-left: 0;margin-bottom: 1.98vw;}

footer .footer-in-Box{}
footer .footer-left-Box{position:relative;}
footer .footer-right-Box{position:relative;}
footer .ftlist2{display:grid;grid-template-columns:repeat(2,1fr);padding: 0!important;top: -0.4vw;position: relative;}
footer .ftlist2 li{width:100%;border: #D0D7E3 1px solid;margin: 0 -1px -1px 0;}
footer ul.flist.ftlist2 li p.litext::before{content: none;}
footer ul.flist.ftlist2 li a{ display: block; }
footer ul.flist.ftlist2 li p.litext{font-size: 3.2vw;line-height: 1.5;letter-spacing: 0em;font-weight: 400;text-align: left;padding: 2.7vw 0 0.5vw 3vw;}

.copy{font-size: 3.2vw;line-height: 4.2;letter-spacing: 0.05em;font-weight: 400;background: #C4CCD8;text-align: center;padding: 0.501vw 0;color: #535779;border-top: #ACB3BF 0.27vw solid;}

.entrybtn a{color: #454748;font-size: 5.86vw;line-height: 1.6;font-weight: 900;letter-spacing: 0.17vw;margin: 0 11.4vw 7.25vw;height: 16.11vw;display: block;border: 0.72vw solid #454748;border-radius: 8.7vw;background: #fff;position: relative;padding: 2.84vw 0 0;transition: background 0.3s ease-in-out,color 0.3s ease-in-out;text-align: center;}

#pc-menu-open{display: none;background: var(--main-blue);width: 100vw;height: 100vh;position: fixed;top: 0;z-index: 1000;overflow-y: scroll;}
#pc-menu-open .h-logo{ }
#pc-menu-open .inner-box{position: relative;padding-bottom: 56.0vw;background: #fff;margin-left: 4.2vw;border-radius: 11vw 0 0 0;padding: 6.4vw 8.6vw 0;}
#pc-menu-open .h-logo{text-align: center;margin-bottom: 6.52vw;width: 16.1vw;}

#pc-menu-open .pickup-box{margin-bottom: 12.72vw;}
#pc-menu-open .pickup-box .pickicon{color: #fff;margin-left: 3.62vw;position: relative;margin-bottom: -2.04vw;z-index: 3;font-size: 2.9vw;line-height: 1.3;letter-spacing: 0em;font-weight: 600;text-align: left;}
#pc-menu-open .pickup-box .pickicon span{display: inline-block;padding: 2.113vw 4.227vw;background: var(--main-blue);border-radius: 12.8vw;}
#pc-menu-open .pickup-box .pickicon span::before{content: "";display: block;background: url(../images/common/arr2.svg)no-repeat;position: absolute;bottom: -1.707vw;left: 5.733vw;width: 7.68vw;height: 3.84vw;z-index: 3;background-size: 100% auto;}

#pc-menu-open .pickup-box{margin-bottom: 5.6rem;}
#pc-menu-open .pickup-box .pickicon{font-size: 1.1rem;line-height: 1.3;letter-spacing: 0em;font-weight: 600;color: #fff;margin-left: 1.2rem;position: relative;margin-bottom: -0.9rem;z-index: 3;}
#pc-menu-open .pickup-box .pickicon span{display: inline-block;padding: 0.8rem 1.6rem;background: var(--main-blue);border-radius: 3rem;}
#pc-menu-open .pickup-box .pickicon span::before{content: "";display: block;background: url(../images/common/arr2.svg)no-repeat;position: absolute;bottom: -0.4rem;left: 3.5rem;width: 1.8rem;height: 0.9rem;z-index: 3;}
#pc-menu-open .pickup-container{ }
#pc-menu-open .pickup-container .pickup-slide,
#pc-menu-open .pickup-container .pickup-slide .swiper-wrapper { height: auto; }
#pc-menu-open .pickup-container .swiper-slide { width: 100%; height: auto; }
#pc-menu-open .pickup-container .swiper-slide figure {width: 100%;aspect-ratio: 248 / 100;overflow: hidden;text-align: center;margin-bottom: ;position: relative;}
#pc-menu-open .pickup-container .swiper-slide figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
#pc-menu-open .pickup-container .swiper-pagination {position: static !important;text-align: center;}
#pc-menu-open .pickup-container .swiper-pagination-bullet {width: 2.13vw;height: 2.13vw;background: #8F9BBE;margin: 0 1.07vw !important;transition: opacity 0.3s;}
#pc-menu-open .pickup-container .swiper-pagination-bullet-active {background: var(--main-blue); }
#pc-menu-open .pickup-container .swiper-pagination-bullet.is-hidden-dot { display: none !important; }

/* 右上の一覧ボタン */
.listbtn {font-size: 3.73vw;line-height: 1;letter-spacing: 0.05em;font-weight: 600;text-align: right;}
.listbtn a {display: inline-block;padding-right: 6.667vw;position: relative;color: var(--main-blue);font-size: 3.2vw;line-height: 1;letter-spacing: 0.05em;font-weight: 600;text-align: right;}
.listbtn .arr {border-left: 0.27vw solid var(--main-blue);position: absolute;top: 0vw;right: 0.267vw;height: 3.333vw;padding-left: 2.3vw;}
.listbtn .arr img {transform: rotate(0deg);transform-origin: center;transition: all 0.3s ease-in-out;width: 2vw;position: relative;top: -0.3vw;}
.listbtn a:hover .arr img{ transform: rotate(360deg);}



#pc-menu-open .sh-box{}
#pc-menu-open .sh-box .buttl{font-size: 4.0vw;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;color: #fff;background: var(--main-blue);border-radius: 0 5.733vw 0rem 0rem;padding: 2.613vw 4.267vw 2.913vw 4.227vw;margin-bottom: 3.727vw;}
#pc-menu-open .sh-box .buttl span{display: inline-block;margin-right: 0.913vw;width: 3.8vw;}
#pc-menu-open .sh-box .sh-in-box{}
#pc-menu-open .sh-box .subttl{font-size: 4.0vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;border-bottom: 1px solid var(--main-blue);padding-bottom: 2.84vw;color: var(--main-blue);position: relative;margin-bottom: 4.227vw;}
#pc-menu-open .sh-box .subttl span{display: inline-block;margin-right: 1.013vw;width: 5.4vw;}
#pc-menu-open .sh-box .subttl::before{content: "";display: block;width: 1px;height: 5.96vw;background: var(--main-blue);position: absolute;top: 0.3vw;right: 5.333vw;}
#pc-menu-open .sh-box .subttl::after{content: "";width: 2.167vw;height: 2.667vw;display: block;position: absolute;top: 1.86vw;right: 0.2vw;background: url(../images/common/arr.svg)no-repeat top center;transform: rotate(90deg);transform-origin: center;transition: all 0.3s ease-in-out;background-size: 100% auto;}
#pc-menu-open .sh-box .open .subttl::after{transform: rotate(-90deg);transform-origin: center;}
#pc-menu-open .sh-box .sh-box-aco{ margin-bottom: 7.68vw; }
#pc-menu-open .sh-box .mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2%;text-align:center;margin-bottom: -2.9vw;}
#pc-menu-open .sh-box .mini-list li{border:0.27vw solid var(--main-blue);margin-bottom: 1.133vw;display:flex;align-items:center;justify-content:center;}
#pc-menu-open .sh-box .mini-list li a{display: block;padding: 2.413vw 1.707vw;font-size: 2.93vw;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: center;color: var(--main-blue);width: 100%;}
#pc-menu-open .sh-box .mini-list li.is-twoline a{line-height: 1.4;}
#pc-menu-open .sh-box .mini-list li a span{display: block;margin: 0 14.5vw 1.887vw;}
#pc-menu-open .sh-box .mini-list.list1 li:nth-child(1) a,#pc-menu-open .sh-box .mini-list.list1 li:nth-child(2) a{font-weight: bold;}
#pc-menu-open .sh-box .mini-list.list1 li:nth-child(1),#pc-menu-open .sh-box .mini-list.list1 li:nth-child(2){background: #E7EDF7;}

#pc-menu-open .menu-box .buttl{font-size: 4.0vw;line-height: 1.0;letter-spacing: 0.05em;font-weight: 700;text-align: left;color: #fff;background: var(--main-blue);border-radius: 0 5.733vw 0rem 0rem;padding: 2.613vw 4.267vw 2.913vw 4.227vw;margin-bottom: 4.627vw;}
#pc-menu-open .menu-box .buttl span{display: inline-block;margin-right: 0.913vw;width: 3.8vw;}
#pc-menu-open .menu-box .sh-in-box{}
#pc-menu-open .menu-box .subttl{font-size: 4.0vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;border-bottom: 0.27vw solid var(--main-blue);padding-bottom: 3.84vw;color: var(--main-blue);position: relative;margin-bottom: 6.827vw;}
#pc-menu-open .menu-box .subttl span{ display: inline-block;margin-right: 3.413vw;}
#pc-menu-open .menu-box .subttl::before{content: "";display: block;width: 0.27vw;height: 8.96vw;background: var(--main-blue);position: absolute;top: 0;right: 8.533vw;}
#pc-menu-open .menu-box .subttl::after{content: "";width: 4.267vw;height: 4.267vw;display: block;position: absolute;top: 2.56vw;right: 0;background: url(../images/common/arr.svg)no-repeat top center;transform: rotate(-90deg);transform-origin: center; background-size: 100% auto;}
#pc-menu-open .menu-box .sh-box-aco{ margin-bottom: 7.68vw; }
#pc-menu-open .menu-box .menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2%;text-align:center;margin-bottom: 10.453vw;}
#pc-menu-open .menu-box .menu-list li{border:0.27vw solid var(--main-blue);margin-bottom: 0.433vw;display:flex;align-items:center;justify-content:center;font-size: 2.93vw;line-height: 1.0;letter-spacing: 0em;font-weight: 400;text-align: center;}
#pc-menu-open .menu-box .menu-list li a{display: block;padding: 2.713vw 0rem;width: 100%;}

#pc-menu-open .banner-list{margin-bottom: 8.347vw;}
#pc-menu-open .banner-list li{margin-bottom: 1.913vw;position: relative;}
#pc-menu-open .banner-list li a{ background: #E7EDF7; width: 100%; display: block; }
#pc-menu-open .banner-list li a::before{content: "";position: absolute;display: block;background: url(../images/common/side-img00.svg)no-repeat top left;width: 2.113vw;height: 2.113vw;bottom: 1.133vw;right: 1.133vw;background-size: 100% auto;}
#pc-menu-open .banner-list li span{color: var(--main-blue);padding: 6.667vw 2.133vw 6.667vw 5.453vw;display: block;font-size: 3.7vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: center;}
#pc-menu-open .banner-list li:nth-child(2) span{padding-left: 7.647vw;}
#pc-menu-open .banner-list li:nth-child(3) span{padding-left: 7.647vw;}
#pc-menu-open .banner-list li:nth-child(4) span{padding-left: 7.527vw;}
#pc-menu-open .banner-list li:nth-child(1) a::after{content: "";width: 11.407vw;height: 15.94vw;background: url(../images/common/side-img01.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 3.4vw;left: 4.753vw;}
#pc-menu-open .banner-list li:nth-child(2) a::after{content: "";width: 9.573vw;height: 10.647vw;background: url(../images/common/side-img02.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 3.393vw;left: 4.853vw;}
#pc-menu-open .banner-list li:nth-child(3) a::after{content: "";width: 9.573vw;height: 10.647vw;background: url(../images/common/side-img02.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 3.393vw;left: 4.853vw;}
#pc-menu-open .banner-list li:nth-child(4) a::after{content: "";width: 7.987vw;height: 11.207vw;background: url(../images/common/side-img03.svg)no-repeat top center;background-size: 100% auto;position: absolute;top: 4.1vw;left: 4.98vw;}

#pc-menu-open .sns-list{display:grid;grid-template-columns:repeat(3,auto);gap: 6.24vw;width: 31.2vw;margin: 0 auto;padding-bottom: 20.48vw;}
#pc-menu-open .sns-list li{width: auto;}
#pc-menu-open .sns-list li a{}
#pc-menu-open .sns-list li img{ width: auto; height: 6.40vw; }

.contentsall{}
.side-nav a.active {}
/*.side-nav a::before{content:"";display: inline-block;height: 4.0vw;background: url(../images/common/contentsfoot-arr02.svg)no-repeat top center;position: relative;left: -2.4vw;margin-right: -4.0vw;top: 0.27vw;opacity: 0;transition: opacity 0.3s ease-in-out,margin-right 0.3s ease-in-out;}
.side-nav a.active::before,.side-nav a:hover::before{content:"";display: inline-block;height: 4.0vw;background: url(../images/common/contentsfoot-arr02.svg)no-repeat top center;position: relative;left: -2.4vw;margin-right: -1.33vw;top: 0.27vw; opacity: 1;}
*/

h2.corettl{font-size: 6.133vw;line-height: 1.6;letter-spacing: 0.307vw;font-weight: 700;text-align: left;}
h2.corettl span.f-en{color:var(--main-blue);font-size:3.2vw;line-height:1;letter-spacing:0.32vw;font-weight:500;text-align:left;display:block;margin-bottom: 4.27vw;}

/* 英語「ISSUES」のスタイル */
.wavy-eng-issues{font-family:'Poppins',sans-serif;font-size:3.2vw;font-weight:500;letter-spacing:0.1em;display:block!important;margin-bottom:4.27vw;opacity:0;min-height: 6.8vw;}
.wavy-eng-issues.is-show{opacity:1;transition:opacity 0.3s ease;}
.wavy-eng-issues span{display:inline-block;opacity:0;transform:translateY(4vw);animation:wavy-issues-appear 0.6s ease-out forwards;}

/* --- アニメーション定義 --- */
@keyframes wavy-issues-appear{
  0%{opacity:0;transform:translateY(4vw);}
  60%{opacity:1;transform:translateY(-1.07vw);}
  100%{opacity:1;transform:translateY(0);}
}  


#common-csr {position: relative;background: #fff;padding-bottom: 15vw;}
#common-csr .inner-Box {position: relative;padding: 13.8vw 4.3vw 0vw;}
#common-csr .ttl-Box {margin: 0 auto 4.067vw;position: relative;}
#common-csr .ttl-Box h2 {position: relative;margin-bottom: 4vw;text-align: left;}
#common-csr .ttl-Box p.text {position: relative;font-size: 3.7vw;line-height: 1.7;letter-spacing: 0.05em;font-weight: 350;text-align: left;}
#common-csr .list-Box ul{display:flex;flex-wrap:wrap;gap: 6vw 3.89%;max-width: 225.067vw;margin: 0 1.7vw 6vw;}
#common-csr .list-Box ul li{width: 48%;position:relative;text-align: center;}
#common-csr .list-Box ul li a {  }
#common-csr .list-Box ul li a:hover {  }
#common-csr .list-Box figure.img {position: relative;top: 0;left: 0;margin: 0 0 1.9vw;}
#common-csr .list-Box figure.img img{ width: 100%; height: auto; }
#common-csr .list-Box p.ltext {position: relative;color: #333;font-size: 3.2vw;line-height: 1.5;letter-spacing: 0em;font-weight: 400;text-align: center;}
#common-csr .gl-btn{position: relative;}
#common-csr .gl-btn a{width: auto;padding-bottom: 5vw;height: auto;}

body#sitemap #contentsmain,
body#privacy #contentsmain,
body#faq #qacontents,
body#privilege #contentsfaq,
body#consultation-desk #contentsfaq {
  padding-bottom: 10.67vw;
}

h2.sub-title{ font-weight: bold; padding: 3vw 3vw 1vw; margin-bottom: 5vw; font-size: 5vw; letter-spacing: 0.3vw; text-align: center; border-bottom: solid #000 0.2vw;}

.seo_bread_list {width: 100%;padding: 3.2vw 0vw 0.1vw 4.2vw;margin: 0 auto;font-size: 2.93vw;color: #999;line-height: 1.6;overflow-x: auto; /* 横スクロール */overflow-y: hidden;background: #D9DCE2;white-space: nowrap; /* 改行しない */-webkit-overflow-scrolling: touch; /* スマホスムーススクロール */border-top: #CCC 1px solid;border-bottom: #CCC 1px solid;height: 10.6vw;}
.seo_bread_list ul { display: inline-block; /* ul全体を1行に */ padding: 0; margin: 0; white-space: nowrap; }
.seo_bread_list li { display: inline-block; /* floatの代わり */ margin-right: 1.5vw; }
.seo_bread_list li::after { content: ">"; margin-left: 0.5vw; }
.seo_bread_list li:last-child::after { content: none; }
.seo_bread_list a {color: #333;}
.seo_bread_list a.home{}
.seo_bread_list a::after{content: "";width: 2vw;height: 1px;display: inline-block;background: #333;position: relative;top: -1.1vw;margin: 0 1.8vw;}


/* 2カラムサイト---------------- */
#tow-cl #side{ display: none;}

.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/

*:focus { outline: none!important;}
a { -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer;}

body { -webkit-text-size-adjust: 100%; }
img {vertical-align: bottom;width: 100%;height: auto;}
a {text-decoration: none;color: var(--main-blue);}
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }

#contentsfmch .chk-Box input[type="checkbox"]{left: -10vw;top: 0vw;}


/* wysiwyg */
.wysiwyg { /* PC幅と中央寄せ */margin-inline: auto; 
/* 変数定義（PC） */--wys-p-gap: 6.4vw;--wys-h2-margin: 17.333vw 0 6.40vw;--wys-h3-margin: 17.067vw 0 6.4vw;--wys-h4-margin: 10.667vw 0 4.267vw;--wys-blk-mt: 6.40vw;--wys-blk-mb: 6.40vw;}
/* --- Text & Paragraph --- */
.wysiwyg :is(h1, h2, h3, h4, p, ul li, ol li, td, th) { letter-spacing: 0.05em; }
.wysiwyg p {margin: 0;font-size: 3.382vw;line-height: 2;letter-spacing: 0.05em;font-weight: 400;text-align: left;word-break: break-all;}
.wysiwyg p + p { margin-top: var(--wys-p-gap); }
/* --- Headings --- */
.wysiwyg h2 {margin: var(--wys-h2-margin);font-size: 4.831vw;line-height: 1.5;font-weight: 700;text-align: left;padding: 2.8vw 3.4vw;border-radius: 0 7vw 0 0;}
.wysiwyg h3 {margin: var(--wys-h3-margin);font-size: 4.348vw;line-height: 1.5;letter-spacing: 0.05em;font-weight: 700;text-align: left;padding-bottom: 4.27vw;}
 .wysiwyg h4 {margin: var(--wys-h4-margin);font-size: 4.275vw;line-height: 1.5;text-align: left;padding-left: 4vw;}
 
 .wysiwyg h3::before{content: "";display: block;width: 21.33vw;height: 1px;background: var(--main-blue);position: absolute;bottom: -1px;left: 0;}
.wysiwyg h4::before{content: "";display: block;width: 2.17vw;height: 2.17vw;border: var(--main-blue) 3px solid;border-radius: 50%;position: absolute;top: 1.7vw;left: 0;}
 /* --- Lists --- */ 
 .wysiwyg :is(ul, ol) { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb) 6.4vw; padding: 0; }
 /* Unordered List (ドット) */ 
 .wysiwyg ul { list-style: none; }
 .wysiwyg ul li {position: relative;margin-bottom: 2.133vw;font-size: 3.733vw;line-height: 1.7;letter-spacing: 0.05em;font-weight: 400;text-align: left;}
 .wysiwyg ul li::before {content: "";position: absolute;left: -4.8vw;width: 1.867vw;height: 1.867vw;border-radius: 50%;background: var(--main-blue);top: 0.65em;top: calc(0.5lh - 0.933vw); /* テキスト1行目の垂直中央 */}
 /* Ordered List (数字) */ 
 .wysiwyg ol { list-style: decimal; }
 .wysiwyg ol li { font-size: 4.267vw; line-height: 1.8; margin-bottom: 2.133vw; }
 .wysiwyg ol li::marker { /* フォントを継承し、Poppins指定を削除 */font-weight: 700;color: var(--main-blue);}
 /* --- Images & Caption --- */ 
 .wysiwyg figure { margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); max-width: 100%; }
 .wysiwyg figure img { max-width: 100%; height: auto; display: block; }
 .wysiwyg figcaption { margin-top: 3.2vw; font-size: 3.733vw; color: #666; text-align: center; }
 /* --- Table --- */ 
 .wysiwyg .table-wrapper { overflow-x: auto; margin: var(--wys-blk-mt) 0 var(--wys-blk-mb); width: 100%; -webkit-overflow-scrolling: touch; }
 .wysiwyg table {width: 100%;border-collapse: collapse;font-size: 4.267vw;line-height: 1.5;min-width: 160vw; /* SP時にスクロールさせるための最小幅 */}
 .wysiwyg th, .wysiwyg td { padding: 4.267vw 5.333vw; border: 1px solid #ccc; text-align: left; }
 .wysiwyg th { background-color: #E2E5EA; font-weight: 700; width: 30%; }
 .wysiwyg .table-scroll {overflow-x: auto;-webkit-overflow-scrolling: touch;margin-right: -5vw;}
 .wysiwyg .table-scroll table { min-width: 200vw; width: 200vw; max-width: none; }
 .wysiwyg .table-scroll td, .table-scroll th { white-space: nowrap; } }
/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0; overflow: hidden; text-indent: -9999px; margin-top: -2vw; padding-bottom: 2vw; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 5vw; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}
@media screen and (max-height: 450px) {
   /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
	.sp-fix-list{display: none;}
}

.wysiwyg h1 { background-color: #dcdcdc;}
.wysiwyg h2 {
    background: #E2E5EA;
}
.wysiwyg h3 {
    font-weight: bold;
    position: relative;
    display: block;
    border-bottom: 1px solid #CCC;
}
.wysiwyg h4 {
    position: relative;
    font-weight: 700;
}
.wysiwyg h5 {}
.wysiwyg h6 { background-color: #eee; border: 1px dotted #999;}


/* =========================================================
   サイドナビ：ホバー／現在ページのアクティブ表示
   配色は全体テーマカラー（--main-blue / 薄青 #E7EDF7）に準拠
   header（PC固定サイドバー）と #pc-menu-open（ドロワー）の両方に適用
   ========================================================= */

/* ボックス型メニュー（物件を探す・メニュー）：滑らかな色変化
   ＋ ボタンを枠いっぱいに広げ、隣のボタンが2行になっても
      色（背景）が枠全体に乗るようにする */
header .sh-box .mini-list li a,
header .menu-box .menu-list li a,
#pc-menu-open .sh-box .mini-list li a,
#pc-menu-open .menu-box .menu-list li a {
  transition: background-color 0.3s ease, color 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* ホバー時・現在ページ：メインカラーで塗りつぶし＋白文字 */
header .sh-box .mini-list li a:hover,
header .menu-box .menu-list li a:hover,
header .sh-box .mini-list li.is-current a,
header .menu-box .menu-list li.is-current a,
#pc-menu-open .sh-box .mini-list li a:hover,
#pc-menu-open .menu-box .menu-list li a:hover,
#pc-menu-open .sh-box .mini-list li.is-current a,
#pc-menu-open .menu-box .menu-list li.is-current a {
  background: var(--main-blue);
  color: #fff;
}

/* ※ マンション／店舗・オフィスのアイコンは元のまま（色を変えない） */

/* バナー型メニュー：ホバー・現在ページで枠線＋薄青を強調 */
header .banner-list li a,
#pc-menu-open .banner-list li a {
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
header .banner-list li a:hover,
header .banner-list li.is-current a,
#pc-menu-open .banner-list li a:hover,
#pc-menu-open .banner-list li.is-current a {
  background: #D6E0F2;
  box-shadow: inset 0 0 0 2px var(--main-blue);
}


/* =========================================================
   固定ページ メインスライダー：表示枠を元画像比率（約3:2）に固定
   追加スライドの比率が違っても枠は3:2で高さを一定に保ちつつ、
   画像はトリミングせず3:2枠内に全体を収めて中央配置する。
   （比率が異なる画像は上下／左右に余白が入る）
   元画像（1600×1067）は余白なくぴったり収まる。
   ========================================================= */
#contentsmain .cmain-slider .swiper-slide figure.photo {
  aspect-ratio: 1600 / 1067; /* 元画像 1600×1067 ＝ 約3:2 */
  overflow: hidden;
}
#contentsmain .cmain-slider .swiper-slide figure.photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}


