/*
Theme Name: Best Selection CMS
Template: cocoon-master
Text Domain: best-selection-cms
Version: 1.0
*/

/* ========== ベース設定（rem基準：1rem=16px） ========== */
html{font-size:100%;}
:root{--c-bg:#F3FFFB;--c-main:#033824;--c-accent:#00A273;--c-subtitle:#028B63;--c-border:#B6D9CF;--c-white:#FFF;font-size: clamp(0.4rem, 0.96vw, 1rem);--komoji-size: 1.2rem;--komoji-s-size: 1.1rem;}
*{box-sizing:border-box;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
a:hover,a:focus-visible{opacity:.7;}
.gnav__link:hover,.yorisoi-btn:hover,.topics-group__more:hover,.topics-card:hover,.voices-btn:hover{color: var(--c-main);}
.header-cta:hover,.header-mega__item:hover{color: var(--c-white);}
button{cursor:pointer;}
.u-visually-hidden{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap;}
ol,ul{list-style-type:none;}
.pc-only{display:inline;}
.sp-only{display:none;}
body{background-color: var(--c-bg);overflow-x:hidden;}
article,.under-entry-content,#breadcrumb,.category h1,#list{max-width: 87.5rem;margin: 0 auto 2rem;}
#breadcrumb{margin: 0 auto 2rem;font-size: 1rem;color: var(--c-main);}
.breadcrumb-caption{color: var(--c-main);}
.fa-classic, .fas, .fa-solid, .far, .fa-regular, .fal, .fa-light, .fat, .fa-thin {font-family: "Font Awesome 6 Pro" !important;}

/* ========== 共通レイアウト ========== */
.l-container{max-width:112.5rem;margin:0 auto;padding-inline:1.25rem;}

/* ========== ヘッダー ========== */
.site-header{width:100%;background:var(--c-bg);position:relative;z-index:50;}
.site-header__bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem 1.125rem;}
.header-left{display:flex;align-items:center;gap:1.25rem;}
.header-left__brand{display:flex;flex-direction:column;gap:.375rem;}
.header-logo{width:16.5rem;display:block;}
.header-tagline{color:var(--c-main);font-size:.875rem;font-weight:400;line-height:1.6;}

/* グローバルナビ */
.gnav{display:flex;align-items:center;gap:1.5rem;}
.gnav__list{display:flex;align-items:center;gap:1.5rem;padding: 0;}
.gnav__link{font-size: clamp(1rem, 1.2vw, 1.375rem);font-weight:400;color:var(--c-main);line-height:1;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;}
.header-cta{display:inline-flex;align-items:center;justify-content:center;width:13.75rem;height:3.75rem;border-radius:1.875rem;background:var(--c-accent);color:var(--c-white);font-size:1.375rem;font-weight:400;text-decoration: none;}

/* ========== メガメニュー ========== */
.header-mega{position:absolute;left:0;top:100%;width:100%;background:var(--c-accent);display:none;padding:2rem 0;}
.header-mega.is-open{display:block;}
.header-mega__inner{max-width:112.5rem;margin:0 auto;padding-inline:1.25rem;display:grid;place-items:center;}
.header-mega__grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,auto);grid-auto-columns:max-content;gap:1rem 3rem;}
.header-mega__item{display:flex;align-items:center;gap:.75rem;color:var(--c-white);font-size:1.25rem;font-weight:400;line-height:1.4;}
.header-mega__item i{font-size:1.25rem;}

/* ========== メインビジュアル（TOP） ========== */
.mv{width:100%;background:var(--c-bg);padding:0;position:relative;}
.mv__viewport{position:relative;margin:0 auto;overflow:hidden;}
.mv__track{display:flex;align-items:center;gap:3.75rem;will-change:transform;transition:transform .6s ease;}
.mv__slide{position:relative;flex:0 0 87.5rem;background:var(--c-white);border:1px solid var(--c-border);border-radius:.5rem;padding:3.75rem;height:48.5rem;overflow:hidden;}
.mv__slide:not(.is-active)::before{content:"";position:absolute;inset:0 0 auto 0;height:100%;background:rgba(3,56,36,.3);pointer-events:none;z-index:1;}
.mv__heading-bar{width:100%;height:5.1875rem;display:grid;place-items:center;border-radius:.25rem;}
.mv__heading-bar h2{color:var(--c-white);font-size:1.75rem;font-weight:600;text-align:center;}

/* 1枚目 */
.mv--1 .mv__heading-bar{background:var(--c-accent);}
.mv--1 .mv__body{display:grid;grid-template-columns:1fr 42.5rem;gap:2.5rem;align-items:center;margin-top:1.875rem;}
.mv--1 .mv__lead{text-align:center;color:var(--c-main);}
.mv--1 h3{font-size:2.1rem;font-weight:700;line-height:1.3;}
.mv--1 .large-type{font-size:6.4rem;font-weight:900;line-height:1;}
.mv--1 .large-type2{font-size:5.5rem;font-weight:900;line-height:1;}
.mv--1 .mv__img-left{width:28rem;margin:1.25rem auto;}
.mv--1 .mv__btn{width:31.5rem;height:5.625rem;border-radius:2.8125rem;border:1px solid var(--c-main);display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--c-main);font-size:1.75rem;font-weight:500;}
.mv--1 .mv__img-right{width:40rem;margin-left:auto;}

/* 2枚目 */
.mv--2 .mv__heading-bar{background:linear-gradient(90deg,#FFD600,#FF7A00,#FF0069,#D300C5,#7638FA);}
.mv--2 .mv__title{margin-top:1.875rem;text-align:center;color:var(--c-main);}
.mv--2 .mv__title h3{font-size:2.25rem;font-weight:700;}
.mv--2 .mv__title .large-type{font-size:6.875rem;font-weight:900;line-height:1;}
.mv--2 .mv__img-center{width:13.875rem;margin:1.25rem auto 1.875rem;}
.mv--2 .mv__btn{width:31.5rem;height:5.625rem;border-radius:2.8125rem;border:1px solid var(--c-main);display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--c-main);font-size:1.75rem;font-weight:500;margin:0 auto;z-index: 1;position: relative;background-color: var(--c-white);}
.mv--2 .mv__img-left-bottom{position:absolute;left:3.125rem;bottom:0;width:19.875rem;}
.mv--2 .mv__img-right-bottom{position:absolute;right:3.125rem;bottom:3.125rem;width:19.6875rem;}

/* 3枚目 */
.mv--3 .mv__title{text-align:center;color:var(--c-main);}
.mv--3 .mv__title h2{font-size:4rem;font-weight:800;line-height:1;}
.mv--3 .mv__title p{font-size:1.65rem;font-weight:400;line-height:1.7;margin-top:1rem;}
.mv--3 .mv__img-wrap{position:relative;width:81.375rem;margin:1.875rem auto 0;}
.mv--3 .mv__img-wrap img{width:100%;}
.mv--3 .mv__btn-on-image{position:absolute;left:50%;transform:translateX(-50%);bottom:1.25rem;width:31.5rem;height:5.625rem;border-radius:2.8125rem;display:flex;align-items:center;justify-content:center;gap:.75rem;background:var(--c-accent);color:var(--c-white);font-size:1.75rem;font-weight:500;border:none;}

/* 操作UI */
.mv__arrow{position:absolute;top:50%;transform:translateY(-50%);width:3.75rem;height:3.75rem;border-radius:50%;background:var(--c-white);border:1px solid var(--c-border);display:grid;place-items:center;z-index:2;}
.mv__arrow--prev{left:calc(50% - 43.75rem - 1.875rem);}
.mv__arrow--next{right:calc(50% - 43.75rem - 1.875rem);}
.mv__arrow i{color:var(--c-accent);font-size:1.5rem;}
.mv__dots{display:flex;gap:1.5rem;justify-content:center;margin-top:1.875rem;}
.mv__dot{width:1.25rem;height:1.25rem;border-radius:50%;background:var(--c-border);border:none;}
.mv__dot.is-active{background:var(--c-accent);}

/* ========== YORISOI君紹介 ========== */
.yorisoi{background:var(--c-bg);padding:6.25rem 0 9.375rem;}
.yorisoi__box{position:relative;border:1px solid var(--c-border);border-radius:.75rem;padding: 6.25rem;background:var(--c-white);max-width: 87.5rem;margin: 0 auto;}
.yorisoi__mascot{position:absolute;left:7.5rem;top:5rem;width:13.125rem;margin:0;}
.yorisoi__mascot img{width:100%;height:auto;display:block;}
.yorisoi__badge{position:absolute;left:-1.375rem;top:.125rem;writing-mode:vertical-rl;font-size:.875rem;font-weight:700;color:var(--c-main);letter-spacing:.05em;}
.yorisoi__phone{position:absolute;right:7.5rem;top:5rem;width:6.75rem;height:auto;}
.yorisoi__title{text-align:center;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1.2;}
.yorisoi__subtitle{text-align:center;color:var(--c-main);font-size:2rem;font-weight:700;line-height:1.6;margin-top: 1.5rem;}
.yorisoi__quoted{font-family:inherit;}
.yorisoi__lead{text-align:center;color:var(--c-main);font-size:1.375rem;line-height:2;margin-top: 2.5rem;}
.yorisoi__divider{border:none;height:1px;background:var(--c-border);margin:3rem 0;}
.yorisoi__desc{text-align:center;color:var(--c-main);font-size:1.375rem;line-height:2;}
.yorisoi-list{margin-top:2.5rem;display:grid;gap:.75rem;padding:0;}
.yorisoi-list__row{position:relative;background:var(--c-bg);border-radius:.375rem;padding: 0 1.25rem 0 5rem;height:4rem;display:flex;align-items:center;}
.yorisoi-list__no{position:absolute;left:0;top:0;width:4rem;height:4rem;background:var(--c-accent);color:var(--c-white);border-radius:.375rem;display:grid;place-items:center;font-weight:700;font-size:1.75rem;}
.yorisoi-list__text{color:var(--c-subtitle);font-size:1.375rem;line-height:1.8;font-weight: 500;}
.yorisoi__cta{margin-top:3.125rem;display:flex;justify-content:center;}
.yorisoi-btn{display:inline-flex;align-items:center;gap:1rem;border:1px solid var(--c-main);border-radius:2.25rem;padding:1rem 2rem;font-size:1.375rem;font-weight:500;color:var(--c-main);background:transparent;width: 18.75rem;height: 4.5rem;justify-content: center;}
.yorisoi-btn i{font-size:1.375rem;}

/* ========== トピックス一覧 ========== */
.topics{background:var(--c-bg);padding:0 0 13rem;}
.topics .l-container{max-width: 87.5rem;padding-inline: 0;}
.topics__head{text-align:center;margin-bottom:2rem;}
.topics__eyebrow{color:var(--c-subtitle);font-size:1.875rem;font-weight:700;letter-spacing:.06em;line-height: 1;}
.topics__title{color:var(--c-main);font-size:3.125rem;font-weight:800;line-height: 1;margin-top: 2.5rem;}
.topics-group{background:transparent;padding: 1.875rem 0;display: flex;align-items: flex-start;justify-content: space-between;border-top:1px solid var(--c-border);}
.topics-group:nth-of-type(1){border:none;}
.topics-group__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;flex-flow: column;}
.topics-group__title{color:var(--c-main);font-size:1.75rem;font-weight:700;margin: 1.875rem 0 3.125rem;line-height: 1;}
.topics-group__more{display:inline-flex;align-items:center;gap:.5rem;font-size:1.125rem;color:var(--c-main);}
.topics-group__more-dot{display:inline-block;transform:scale(1.1);color:#7FBFB2;}
.topics-list{list-style:none;margin:0;padding:0;width: 69.4375rem;}
.topics-item:nth-of-type(1){border:none;}
.topics-item{border-top:1px solid var(--c-border);}
.topics-item--empty{border:none;}
.topics-card{display:grid;grid-template-columns:15.625rem 1fr auto;gap:3.125rem;align-items:center;padding:1.875rem 0;}
.topics-card i{font-size:1.5rem;}
.topics-thumb{width:15.625rem;aspect-ratio:4/3;overflow:hidden;background:var(--c-white);}
.topics-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.topics-thumb__ph{display:grid;place-items:center;width:100%;height:100%;color:#9BBDB4;font-size:.875rem;}
.topics-content{min-width:0;}
.topics-meta{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.topics-date{color:var(--c-main);font-size:1.125rem;}
.topics-badge{display:inline-flex;align-items:center;justify-content:center;height:1.5rem;padding:0 .5rem;border-radius:.1875rem;background:var(--c-accent);color:var(--c-white);font-size:.875rem;font-weight:400;}
.topics-posttitle{color:var(--c-main);font-size:1.375rem;font-weight:500;line-height:1.6;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.topics-go{display:inline-grid;place-items:center;width:1.75rem;height:1.75rem;border:1px solid var(--c-border);border-radius:50%;color:var(--c-accent);margin-left:.5rem;}
.topics-go i{font-size:1rem;}
.topics-group__more + .topics-group__more { margin-top: .5rem; }


/* ========== ご挨拶 ========== */
.greeting{background:var(--c-accent);position:relative;padding: 9.375rem 0;}
.greeting__bgword{position:absolute;top:-8rem;width:100%;margin:0;padding:0;font-size:9rem;font-weight:900;line-height:1;color:var(--c-accent);left:50%;transform:translateX(-50%);max-width:87.5rem;text-align: center;-webkit-text-stroke-width: .1875rem;-webkit-text-stroke-color: var(--c-accent);}
.greeting__inner{position:relative;z-index:1;max-width:87.5rem;padding-inline: 0;}
.greeting__cols{display:grid;grid-template-columns:1fr 25.25rem;gap:0;align-items:flex-start;}
.greeting__text{color:var(--c-white);}
.greeting__title{font-size:3.125rem;font-weight:800;line-height:1;margin:0 0 3.125rem;}
.greeting__para{font-size:1.375rem;line-height:2;margin:0;}
.greeting__person{margin:0;align-self:end;}
.greeting__person img{width:25rem;height:auto;display:block;}
.scope-card{margin:0;background:var(--c-white);border-radius:.75rem;padding: 3.125rem;}
.scope-card__title{margin:0 0 1.875rem;text-align:center;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1;}
.scope-card__lead{margin:0 0 1.875rem;text-align:center;color:var(--c-main);font-size:1.5rem;font-weight:700;}

/* ===== Googleマップ ===== */
.scope-map{ position:relative; border-radius:.5rem; overflow:hidden; }
.scope-map__iframe{width:100%;height:46.25rem;display:block;border:0;pointer-events:auto;}
.scope-map__iframe--sp{ display:none; }
.scope-map__circle{position:absolute; left:50%; top:50%;width:45.4375rem; height:45.4375rem;background:rgba(255,214,0,.5);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none; z-index:1;transition:opacity .25s ease;}
.scope-map__circle.is-hidden{ opacity:0; visibility:hidden; }
.scope-map__veil{position:absolute; inset:0;background:transparent; z-index:2;pointer-events:auto; cursor:grab;}
.scope-map__veil.is-hidden{ display:none; }

/* ========== 選ばれる理由 ========== */
.reasons{background:var(--c-bg);padding:9.375rem 0 0;}
.reasons .l-container{max-width:87.5rem;padding-inline:0;}
.reasons__eyebrow{color:var(--c-subtitle);font-weight:700;letter-spacing:.06em;text-align:center;font-size:1.875rem;line-height:1;}
.reasons__title{color:var(--c-main);text-align:center;font-size:3.125rem;font-weight:800;line-height:1;margin-top:2.5rem;}
.reason{display:grid;grid-template-columns:37.5rem 1fr;gap:3.125rem;align-items:center;margin-top:5rem;}
.reason__img{overflow:hidden;}
.reason__img img{width:100%;height:auto;display:block;}
.reason__body{color:var(--c-main);}
.reason__badge{display:inline-block;height:2.5rem;padding:0 .625rem;border-radius:.25rem;background:var(--c-subtitle);color:var(--c-white);font-size:1.5rem;line-height:2.5rem;font-weight:400;margin-bottom:1.25rem;}
.reason__heading{font-size:2.375rem;font-weight:700;line-height:1.5;margin:0 0 1rem;}
.reason__text{font-size:1.375rem;line-height:2;}
.reason--rev{grid-template-columns:1fr 34.5rem;}
.reason--rev .reason__img{order:2;}
.reason--rev .reason__body{order:1;}

/* ========== お客様の声 ========== */
.voices{background:var(--c-bg);padding:9.375rem 0;}
.voices .l-container{max-width:87.5rem;padding-inline:0;}
.voices__eyebrow{color:var(--c-subtitle);font-weight:700;letter-spacing:.06em;text-align:center;font-size:1.875rem;line-height:1;}
.voices__title{color:var(--c-main);text-align:center;font-size:3.125rem;font-weight:800;line-height:1;margin-top:2rem;}
.voices-list{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3.125rem;padding: 0;}
.voices-card{display:block;text-align:center;}
.voices-thumb{width:100%;display:grid;place-items:center;overflow:hidden;}
.voices-thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.voices-thumb__ph{color:#9BBDB4;font-size:.875rem;}
.voices-name{margin:.75rem 0 0;color:var(--c-main);font-size:1.375rem;line-height:1.6;}
.voices__more{display:flex;justify-content:center;margin-top:3.75rem;}
.voices-btn{display: inline-flex;align-items: center;gap: 1rem;border: 1px solid var(--c-main);border-radius: 2.25rem;padding: 1rem 2rem;font-size: 1.375rem;font-weight: 500;color: var(--c-main);background: transparent;width: 18.75rem;height: 4.5rem;justify-content: center;}
.voices-btn i{font-size:1.375rem;}

/* ========== 主な取扱保険会社 & 関連リンク ========== */
.brands{background:var(--c-accent);padding:9.375rem 0;}
.brands .l-container{max-width:87.5rem;padding-inline:0;}
.brands__eyebrow{color:#FFF;text-align:center;font-weight:700;font-size:1.875rem;line-height:1;}
.brands__title{color:var(--c-white);text-align:center;font-size:3.125rem;font-weight:800;line-height:1;margin-top:2rem;}
.brands__hr{height:1px;background:rgba(255,255,255,.35);border:none;margin:0;flex: auto;}
.brands__group{margin-top:3.125rem;}
.brands__group-title{color:var(--c-white);font-size:1.75rem;font-weight:700;padding:0;margin:0;line-height: 1;}
.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin:0;padding:0;list-style:none;}
.brand-card{display:grid;place-items:center;padding:0;height:6.25rem;}
.brand-card img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;}
.links-block{margin-top:4.5rem;}
.links__title{color:var(--c-white);text-align:center;font-size:1.75rem;font-weight:800;line-height:1;margin:3.25rem 0 1.5rem;}
.link-grid{display:grid;gap:1rem;margin:0;padding:0;list-style:none;}
.link-grid--related{grid-template-columns:repeat(6,1fr);}
.link-grid--online{grid-template-columns:repeat(6,1fr);}
.link-grid--online2{grid-template-columns:repeat(6,1fr);margin-top:1rem;}
.link-card{display:block;overflow:hidden;}
.link-card img{width:100%;height:auto;display:block;}
.headline-and-line{display: flex;flex-flow: wrap;align-items: center;gap: 1rem;margin-bottom: 1.25rem;}

/* ===== SNS（Instagram） ===== */
.sns{background:var(--c-bg);padding:9.375rem 0;}
.sns .l-container{max-width:87.5rem;padding-inline:0;}
.sns__head{text-align: center;}
.sns__eyebrow{color:var(--c-subtitle);font-weight:700;letter-spacing:.06em;font-size:1.875rem;line-height:1;}
.sns__title{color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1.4;margin:2rem 0 0;}
.sns__link{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0 1rem;border:1px solid var(--c-main);border-radius:1.5rem;color:var(--c-main);font-size:1rem;}
.sns__block{margin-top:2rem;}
.sns__label{color:var(--c-main);font-size:1.5rem;font-weight:700;margin:0 0 1rem;}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0;padding:0;list-style:none;}
.ig-card{background:var(--c-white);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column;min-height:100%;}
.ig-link{display:flex;flex-direction:column;height:100%;}
.ig-thumb{aspect-ratio:1/1;background:#f6f6f6;display:block;overflow:hidden;}
.ig-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ig-thumb__ph{display:grid;place-items:center;width:100%;height:100%;color:#9BBDB4;font-size:.875rem;}
.ig-meta{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem 0;color:var(--c-main);}
.ig-date{font-size:.875rem;}
.ig-cap{padding: .5rem 1rem 1rem;color:var(--c-main);font-size:1rem;line-height:1.5;flex:1;}
.ig-empty,.ig-error{color:var(--c-main);padding:1rem;border:1px dashed var(--c-border);border-radius:.5rem;background:#fff;}
.ambassador{display: flex;justify-content: center;margin-top: 9.375rem;margin-bottom: 9.375rem;}
.ambassador img{width: 64rem;}

/* ========== フッター ========== */
.site-footer{background:var(--c-accent);color:#fff;}
.site-footer a{color:inherit;text-decoration:none;}
.site-footer a:hover,.site-footer a:focus-visible{opacity:.8}
.footer__inner{max-width:87.5rem;margin:0 auto;padding: 9.375rem 0;}
.footer__top{display:grid;grid-template-columns:38rem 1fr;gap:5rem;align-items:start}
.footer-card{background:#fff;border-radius:.5rem;padding:1.875rem;color:var(--c-main);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.footer-card__head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:.5rem}
.footer-logo{width:16rem;height:auto;display:block}
.footer-card__tag{margin:0;font-size:.875rem;line-height:1.6;border-left: 1px solid var(--c-border);padding-left: .875rem;}
.footer-address{margin: 1.25rem 0;font-style:normal;line-height:1.8;font-size:1.25rem}
.footer-icons{display:flex;gap:.875rem;margin:.75rem 0 0;padding:0;list-style:none}
.footer-icons a{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:transparent}
.footer-icons i{font-size:1.75rem;color:var(--c-accent)}
.footer-contact{margin:3rem 0 0}
.footer-contact__title{margin:0;color:#fff;font-weight:800;line-height:1;font-size:7rem;}
.footer-contact__tel{margin:.75rem 0 0}
.footer-contact__tel a{display:inline-block;font-size:5rem;font-weight:400;line-height:1.1}
.footer-contact__note{display:block;margin-top:2.5rem;font-size:1.25rem;}
.footer-contact__btn{margin:1.25rem 0 0}
.footer-contact__btn a{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem 0;border-bottom:1px solid #fff;font-size:1.75rem;width: 100%;justify-content: space-between;}
.footer-contact__btn i{font-size:1.75rem}
.footer-nav{display:flex;gap:5rem;justify-content: end;}
.footer-nav__col{list-style:none;margin:0;padding:0}
.footer-nav__col li+li{margin-top:2rem}
.footer-nav__col a{font-size:1.25rem;line-height:1}
.footer-note{margin:6.25rem 0 0;padding:3.125rem;border:1px solid rgba(255,255,255,.65);border-radius:.5rem;font-size:1.25rem;line-height:1.8}
.footer-copy{margin:3.125rem 0 0;text-align:center;font-size:1.25rem;}
.footer-left{width: 100%;padding: 0;}

/* ========== SPナビ（ハンバーガー） ========== */
html.is-spnav-open,body.is-spnav-open{overflow: hidden;height: 100%;overscroll-behavior: none;}
.spnav-toggle{display:none;}
.spnav{position:fixed; inset:0;background:var(--c-accent); color:#fff;display:none; z-index:9999;}
.spnav.is-open{display:block;}
.spnav__scroll{height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex; flex-direction:column;padding:1rem 1.25rem 9rem;}
.spnav__nav{margin-top:.25rem;padding: 0 1rem;}
.spnav__list{list-style:none; margin:0; padding:0;}
.spnav__list li + li{border-top:1px solid rgba(255,255,255,.25);}
.spnav__list a{display:flex; align-items:center; justify-content:space-between;gap:.75rem;padding:1.5rem .5rem;font-size:1.25rem; line-height:1.4; color:#fff; text-decoration:none;}
.spnav__list a i{font-size:1.125rem;}
.spnav__list a:focus-visible{outline:2px solid #fff; outline-offset:2px; border-radius:.25rem;}
.spnav__head{z-index: 1;background: var(--c-accent);display: flex;justify-content: flex-end;padding: .5rem 0 1rem;margin: 0;}
.spnav-close{display: inline-grid;place-items: center;width: 3rem;height: 3rem;border: none;border-radius: 50%;background: transparent;color: #fff;}
.spnav-close i{ font-size: 2rem; }
.spnav-close:focus-visible{outline: 2px solid #fff;outline-offset: 2px;}
.spnav__groups{display:grid;gap:1rem;padding:0 .5rem;}
.spnav__group{padding:.25rem 0 0;}
.spnav__heading{margin:0;font-size:1.25rem;font-weight:700;color:#fff;padding:.75rem .5rem;line-height:1.3;}
.spnav__links{display:grid;gap:.25rem;margin:.25rem 0 .5rem;}
.spnav__links .header-mega__item{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;padding:1rem .5rem;font-size:1.25rem;line-height:1.4;border-radius:.25rem;color:var(--c-white); text-decoration:none;}
.spnav__links .header-mega__item i{font-size:1.125rem;}
.spnav__divider{height:1px;border:none;background:rgba(255,255,255,.25);margin:.25rem 0 1rem;}
.spnav__footer{margin-top:auto;padding-top:2rem;}
.spnav__cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;height:3.25rem;border:1px solid #fff;border-radius:1.625rem;font-size:1.125rem;color:#fff;text-decoration:none;}
.spnav__cta:hover{color:#fff;}

/* ========== ブログ ========== */
.article{border: 1px solid var(--c-border);background: var(--c-white);border-radius: .75rem;padding: 6.25rem;margin: 3rem auto;}
.entry-title{margin: 0 0 3rem;font-size: 2.2rem;}
.a-wrap{padding: 0;}
.a-wrap:hover{background:transparent;}
.date-tags{margin-bottom: 2rem;}
.category h1{margin: 3rem auto 2rem;color: var(--c-main);}
.ect-vertical-card .entry-card-wrap .entry-card-thumb{overflow: hidden;aspect-ratio: 4 / 3;}
.related-entry-card-title, .entry-card-title,.e-card-info,.entry-title,.date-tags,.related-entry-heading{color: var(--c-main);}
.cat-label,.cat-link{background-color: var(--c-accent);font-size: 1rem;}
.eye-catch .cat-label,.cat-label{border: none;top: 0;left: 0;font-size: 1rem;}
.related-entry-card-title, .entry-card-title{font-size: 1.25rem;}
.entry-content.cf p{color: var(--c-main);font-size: 1.375rem;line-height: 2;margin: 0 0 2rem;}
.post-date, .post-update, .post-author, .amp-back, .entry-category{font-size: 1rem;}
.ect-3-columns {column-gap: 0;}
.sns-follow-message, .sns-share-message{font-size: 1rem;}
.ss-top .sns-share-buttons a .button-caption, .ss-bottom .sns-share-buttons a .button-caption{font-size: 1rem !important;}
.sns-buttons a{height: 2.8125rem;}
.sns-buttons{row-gap: .625rem;margin-bottom: 0;}
.entry-categories-tags {margin-bottom: 1.125rem;}
.entry-content {margin-top: 3rem;margin-bottom: 5rem;}
.related-entry-heading, .comment-title {margin: 4rem 0 1rem;font-size: 1.5rem;line-height: 1;}
.rect-vertical-card .related-entry-card-title {font-size: 1rem;}
.archive-title{font-size: 1.75rem;padding: 0;margin-bottom: 1.75rem;}
.rect-vertical-card .related-entry-card{margin: 0;}
.ect-vertical-card .entry-card-wrap .entry-card-meta{margin-top: 0;padding-top: 0;}
.single-post figure {margin: 2rem auto;}
.card-thumb img {width: 100%;height: 100%;}
.entry-content a:hover{color: var(--c-main);}
.entry-content.cf ul{list-style-type: disc;color: var(--c-main);font-size: 1.375rem;line-height: 2;}
.entry-content.cf .blank-box{margin-bottom: 3rem;padding: 2.5rem;font-size: 1.375rem;line-height: 2;color: var(--c-main);}
.st-blackboard{padding: 2rem;border: .25rem solid #f3f3f3;background: #fff;margin: 3rem 0;border-radius: 0;}
.st-blackboard-title {color: #424242;display: inline-block;border-bottom: 2px solid #424242;font-weight: 700;text-align: center;padding: 1rem 1rem .5rem;background: #fff;}
.st-blackboard-title:before {content: "\f0f6\00a0\00a0";font-family: FontAwesome;}
.st-blackboard-title-box {text-align: center;margin-bottom: 1rem !important;}
.list-2 li {border-bottom: 1px dashed;border-color: #cdcdcd;position: relative;margin: .5rem 0 !important;padding: 0 0 .75rem 1rem;}
.toc-center {margin: 3rem auto 4rem !important;}
.single-post .article h2{font-size: 2rem;padding: 2rem;margin-bottom: 3rem;}
.single-post.no-scrollable-main .main{width: 100%;}
.single-post.no-scrollable-main .main tbody{color: var(--c-main);font-size: 1.375rem;text-align: left;}
.single-post.no-scrollable-main table th{padding: 1rem;}
.single-post.no-scrollable-main summary{color: var(--c-main);font-size: 1.375rem;}
.single-post .article h3{font-size: 1.75rem;padding: 1.5rem;margin-bottom: 3rem;}
.single-post .article h4{font-size: 1.5rem;padding: 1.25rem;margin-bottom: 2rem;color: var(--c-main);}
.st-blackboard2 {padding: 2rem 2rem 0;border: 3px solid #f3f3f3;background: #fff;margin: 3rem 0;border-radius: 0;}
.st-blackboard-title-box2 {text-align: left;margin-bottom: 2rem;}
.st-blackboard-title2 {color: #fff;display: inline-block;font-weight: 700;text-align: left;padding: .75rem 1.5rem;background: var(--c-accent);}
.st-blackboard-title-box2{margin: 0 0 1rem !important;}
.speech-wrap .speech-balloon p{margin: 0;}
.single-post .speech-wrap .speech-person figure {margin: 0 auto 2rem;}
.secondary-box{color: var(--c-main);font-size: 1.375rem;padding: 2rem;background-color: var(--c-bg);}
.timeline-item-label{color: var(--c-main);font-size: 1.375rem;line-height: 1.1;}
.timeline-item-content{padding: .5rem 2rem;}
.blank-box ol{list-style-type: auto;}
a:where(:not(.wp-element-button)) {text-decoration: none !important;}
.toc-content{color: var(--c-main);font-size: 1.375rem;}
.toc-title{font-size: 1.75rem;}
.timeline-box.cf ul{list-style-type:none;}
.pagination-next{display: none;}
.page-numbers {height: 2.875rem;width: 2.875rem;margin: 0 .25rem;line-height: 2.875rem;font-size: 1rem;}
#author_box-2 .widget-below-related-entries-title{display:block !important;margin-bottom: 1rem;padding: 1rem;font-size: 1.75rem;background-color: #eee;color: #333;font-weight: 500;}
#author_box-2 .author-thumb{margin: .5rem auto 0;}
#author_box-2 .author-content {margin-left: 9rem;}
#author_box-2 .author-description{margin-bottom: 1rem;}
#author_box-2 .author-description p{color: #333;line-height: 1.6;margin: 0 0 1rem;font-size: 1.2rem;}
#author_box-2 .author-name{font-size: 1.4rem;}
#author_box-2 .author-thumb{width: 7.5rem;}
#author_box-2 .author-widget-name{font-size: 1.35rem;}
.post .under-entry-content,.post #author_box-2,.post .author-box{margin: 0 !important;}
.post .entry-content.cf a{color: #093bc9;}
.post .entry-content.cf a:hover{color: #093bc9;}
.cct-comments { margin-top: 2rem; }
.cct-comments__title {font-weight: 700; font-size: 1.125rem; line-height: 1.5;margin-bottom: .75rem;}
.comment-respond-container{background: var(--comment-respond-container-bg, #f0f0f0);padding: 1rem; border-radius: 10px; margin-top: 1rem;}
.comment-form .comment-notes { margin: .25rem 0 1rem; color:#555; }
.comment-form label { display:block; font-weight:600; margin-bottom:.25rem; }
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form input[type="password"],.comment-form textarea{width:100%; max-width:640px; padding:.6rem .7rem;border:1px solid #d1d5db; border-radius:8px;}
.comment-form .form-submit #submit{background: var(--comment-submit-bg, #9dab27);color:#fff; border:none; padding:.6rem 1rem; border-radius:8px; cursor:pointer;}
.comment-form .form-submit #submit:hover{ opacity:.9; }
.comment-reply-link{display:inline-block; padding:.25rem .6rem; border-radius:9999px;background: var(--comment-reply-link-bg, #f0f0f0);}
.cct-comments .comment-respond-container{--comment-respond-container-bg: #f0f0f0;background: var(--comment-respond-container-bg);padding: 1rem;border-radius: .5rem;}
.cct-comments .comment-reply-link{--comment-reply-link-bg: #f0f0f0;}
.cct-comments .comment-form .form-submit #submit{--comment-submit-bg: #04384c;background-color: var(--comment-submit-bg);}
.cct-comments p.comment-notes{margin: 0 0 .75rem;font-size: .95em;opacity: .85;}
.cct-comments .comment-form-author{margin-bottom: .75rem;}
.cct-comments .comment-form-author label{display: inline-block;margin-bottom: .25rem;}
.cct-comments .comment-form-author input[type="text"]{width: 100%;max-width: 30rem;}
figure.eye-catch:not(:has(img, picture)) > .cat-label { display: none !important;  }
.single-post figure.eye-catch:not(:has(img, picture)) {margin: 0;}
.eye-catch-wrap:not(:has(img, picture)) .cat-label { display: none !important; }
.entry-content p.nise2,.entry-content .nise2{font-weight: bold;padding: 10px;margin: 5px 0;background: var(--c-accent, #9eac27);border-bottom: 4px solid var(--c-accent, #9eac27);color: #fff;display: block;}
.entry-content .nise3{font-weight: bold;padding: 10px;margin: 10px 0;color: #000;border-bottom: 3px solid #ccc;}
.entry-content .nise4{font-weight: bold;padding: 12px;margin: 5px 0;color: #000;border-left: 10px solid var(--c-accent, #9eac27);}
.entry-content .nise5{font-weight: bold;padding: 12px;margin: 5px 0;color: #000;border-left: 10px solid #ccc;}
.entry-content.cf .yn-chart p.nise5{margin: 1rem 0 !important;}
#button {border-radius: 1px;-webkit-border-radius: 1px;-moz-border-radius: 1px;background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#4c8bee),color-stop(100%,#5692f0));background: linear-gradient(to bottom,#4c8bee 0%,#5692f0 100%);position: relative;display: inline-block;margin: auto;padding: .7em  .5em ;border: 1px solid rgba(0,0,0,.1);background-origin: border-box;box-shadow: 0 1px 2px rgba(0,0,0,.2), inset 0 -1px rgba(0,0,0,.1), inset 0 1px rgba(255,255,255,.2);color: #fff !important;text-align: center;text-decoration: none;text-shadow: 0 1px 2px rgba(0,0,0,.333);font-size: 105%;line-height: 1.6;display: block;width: 90%;}
#button:hover {position: relative;top: 1px;left: 1px;}
.search .ect-3-columns>* {width: 100%;}
.search #list {height: auto !important;}
.search .main figure.wp-block-table.alignfull {position: static;max-width: 100%;width: 100%;}
.search-post-title {background-color:#f5f5f5;padding: 8px;border-bottom: 3px solid #ccc;margin-bottom: 20px;margin-top: 10px;}
.hako100 {margin-top: 10px;margin-bottom: 10px;}
.hako300 {margin-top: 30px;margin-bottom: 30px;}
.hako500 {margin-top: 50px;margin-bottom: 50px;}
input#feas-submit-button-0{display:inline-block;margin:0px;font-size:1.1em;line-height:1.42;padding:1.0em 7.9em;font-weight:normal;border-width:0;border-style:solid;background:transparent;border-radius:0;cursor:pointer;font-family:"Booster Next FY", "Avenir Next", Avenir, sans-serif;user-select:none;vertical-align:bottom;transition:background-color 0.3s}
input#feas-submit-button-0:active{transition-duration:0.1s}
input#feas-submit-button-0{background-color:#ef943e;color:#fffbf7;border: solid 1px #ef943e}
input#feas-submit-button-0:hover{background-color:#fff;color:#ef943e;border: solid 1px #ef943e}
input#feas-submit-button-0:active{background-color:#ef943e}
input#feas-submit-button-1{display:inline-block;margin:0px;font-size:1.1em;line-height:1.42;padding:1.0em 7.9em;font-weight:normal;border-width:0;border-style:solid;background:transparent;border-radius:0;cursor:pointer;font-family:"Booster Next FY", "Avenir Next", Avenir, sans-serif;user-select:none;vertical-align:bottom;transition:background-color 0.3s}
input#feas-submit-button-1:active{transition-duration:0.1s}
input#feas-submit-button-1{background-color:#ef943e;color:#fffbf7;border: solid 1px #ef943e}
input#feas-submit-button-1:hover{background-color:#fff;color:#ef943e;border: solid 1px #ef943e}
input#feas-submit-button-1:active{background-color:#ef943e}
ul#contact-area {display: flex;margin: 0 0 -23px 0;padding: 0;text-align: center;font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}
#contact-area li {list-style: none;height: 100px;color: #fff;}
li.txt-area {padding: 20px;font-size: 1.3rem;line-height: 2rem;background: #9eac27;width: 40%;border-radius: 12px 0 0 0;}
li.txt-area span {border-bottom: 1px solid #fff;}
li.tel-area {width: 30%;padding: 20px 0;font-size: 1.1rem;line-height: 1.68rem;border-top: 2px solid #d4a730;border-left: 1px solid #fff;font-weight: 700;background: #d4a730;}
li.tel-area span {font-size: 1.6rem;border-bottom: 3px dotted #fff;}
li.tel-area span:before {display: inline-block;content: "▶︎";font-size: 1.1rem;margin: 0 4px 0 0;}
li.mail-area {width: 30%;padding: 20px 0;font-size: 1.1rem;line-height: 1.8rem;border-top: 2px solid #c59b6d;border-left: 1px solid #fff;border-bottom: none;border-radius: 0 12px 0 0;font-weight: 700;background: #c59b6d;}
li.mail-area span {font-size: 1.3rem;border-bottom: 3px dotted #fff;}
li.mail-area a {text-decoration: none;color: #fff;}
li.mail-area span:before {display: inline-block;content: "▶︎";font-size: 1.1rem;margin: 0 4px 0 0;}
.dfb-fixed-button{--dfb-text-color: #ffffff;--dfb-bg-color: #a0ab27;--dfb-border-color: #ffffff;position: fixed;right: 10px;bottom: calc(var(--go-top-offset, 60px));background-color: var(--dfb-bg-color, transparent);color: var(--dfb-text-color, #333);border: 1px solid var(--dfb-border-color, #333);padding: 5px 10px;display: flex; flex-direction: column; justify-content: center; align-items: center;cursor: pointer; line-height: 1.2em;z-index: 9999;border-radius: 50%;font-size: 12px;aspect-ratio: 1 / 1;text-decoration: none;transition: .15s;}
.dfb-fixed-button:hover{ color:#FFF; }
.yn-chart p{color:#333 !important;}
.yn-chart a{color:#093bc9 !important;}
.yn-chart li a{color:#333 !important;}
.yn-chart p.yn-chart__title{color: #fdc44f !important;font-size: 1.75rem !important;padding: 1.5rem 0 !important;}
.entry-content.cf .yn-chart p {margin:0 !important;}
.yn-chart p.yn-chart__add{color:#FFF !important;}
.yn-chart p:empty { display: none; }
.entry-content.cf .yn-chart p.p-check-btn{margin:2rem 0 !important;}
.search-box{margin: 1.75rem auto;max-width: 87.5rem;}
body.archive.category .post img.wp-post-image{max-height: unset !important;}
.entry-content.cf p cite{font-size: 1.375rem;}
.komoji{font-size: var(--komoji-size) !important;}
.komoji-s{font-size: var(--komoji-s-size) !important;}
.komoji-s *{font-size: inherit !important;}
.komoji-s :is(cite, small, a, sup, sub, p, li, td, th, strong, em){font-size: inherit !important;}
.sankaku {margin-left: auto;margin-right: auto;width: 0;height: 0;border-top: 30px solid #ccc;border-right: 80px solid transparent;border-bottom: 30px solid transparent;border-left: 80px solid transparent;}
.ccl-checkbox__check:checked ~ .ccl-checkbox__checkbox {border-color: #04384c;color: #04384c; }
.ccl-checkbox__check:checked ~ .ccl-checkbox__checkbox svg { stroke-dashoffset: 0; }
.ccl-checkbox__checkbox svg polyline{fill: none;stroke-linecap: round;stroke-linejoin: round;vector-effect: non-scaling-stroke;stroke-dasharray: 28;stroke-dashoffset: 28;transition: stroke-dashoffset .2s ease;}
.ccl-checkbox__checkbox svg:first-of-type polyline{stroke: #fff;stroke-width: 4.6px;}
.ccl-checkbox__checkbox svg:last-of-type polyline{stroke: currentColor;stroke-width: 2.2px;}
.ccl-checkbox__check:checked ~ .ccl-checkbox__checkbox svg polyline{stroke-dashoffset: 0;}
.ccl-checkbox--disabled .ccl-checkbox__label{color: #d0d0d0;}
.ccl-checkbox--disabled .ccl-checkbox__check-container{cursor: not-allowed;}
.ccl-modal img {margin: 0 auto;}
.search #list.list{flex-direction: row;flex-wrap: wrap;justify-content: flex-start;}
.search #list.list a{width: 33%;padding: 7px;}
.bs-kensaku-archive{max-width:87.5rem;margin:0 auto 3rem;padding:0 1rem;}
.bs-kensaku-archive__head{margin:3rem auto 2rem;}
.bs-kensaku-archive__title{color:var(--c-main);font-size:2rem;font-weight:800;line-height:1.2;margin:0;}
.bs-kensaku-archive__desc{color:var(--c-main);font-size:1.125rem;line-height:1.8;margin:.75rem 0 0;}
.bs-kensaku-list{display:grid;gap:3rem;}
.bs-kensaku-entry{border:1px solid var(--c-border);border-radius:.75rem;background:var(--c-white);padding:2rem;width: 100%;}
.bs-kensaku-entry__title{font-size:1.75rem;margin:0 0 1rem;color:var(--c-main);}
.bs-kensaku-entry__meta{color:var(--c-main);font-size:1rem;margin-bottom:1rem;display:flex;gap:1rem;align-items:center;}
.bs-kensaku-entry__content{font-size:1.375rem;line-height:2;color:var(--c-main);}
.bs-kensaku-empty{color:var(--c-main);margin:2rem 0;}
.ccl-modal .swl-cell-bg { pointer-events: none; }
#ccl-modal .scroll-hint-icon-wrap,#ccl-modal .scroll-hint-icon,#ccl-modal .scroll-hint-text {pointer-events: none !important;}
#ccl-modal .scroll-hint-icon-wrap {z-index: 0 !important;}

/* ========== サブページ ========== */
.submv{width:100%;background-size:cover;background-position:center;padding:5rem 0 6.25rem;color:#fff;}
.submv-inner{max-width:87.5rem;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:3rem;padding:0;}
.submv-head nav{font-size:1.25rem;display:flex;align-items:center;gap:.75rem;}
.submv-head .breadcrumbs {color: var(--c-main);font-weight: 400;line-height: 1;margin-bottom: 3.125rem;}
.submv-head .breadcrumbs a:hover{color: var(--c-main);}
.submv-head h1{color: var(--c-accent);font-size:2.5rem;font-weight:700;margin:0;line-height:1;}
.submv-head h2{color: var(--c-main);font-size:4.375rem;font-weight:700;margin: 2rem 0 0;line-height: 1;}
.submv-img img{width:38.75rem;}

/* ========== 求人 ========== */
.recruit-intro{background:var(--c-white);padding:9.375rem 0;}
.recruit-intro__inner{max-width:87.5rem;margin:0 auto;}
.recruit-intro__cols{display:grid;grid-template-columns:1fr 37.8125rem;gap:4rem;align-items:start;}
.recruit-intro__eyebrow{margin:0 0 3.125rem;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1;}
.recruit-intro__lead{margin:0;color:var(--c-main);font-size:2rem;font-weight:700;line-height:1.7;font-feature-settings:"palt";}
.recruit-intro__text{margin:2.5rem 0 0;color:var(--c-main);font-size:1.375rem;line-height:2;}
.recruit-intro__right img{width:100%;height:auto;display:block;border-radius:.25rem}
.recruit-movie{background:var(--c-accent);padding:9.375rem 0;}
.recruit-movie__inner{max-width:87.5rem;margin:0 auto;padding:0;}
.recruit-movie__title{margin:0 0 3.125rem;text-align:center;color:var(--c-white);font-size:3.125rem;font-weight:800;line-height:1;}
.recruit-movie__wrap{position:relative;border-radius:.75rem;background:var(--c-white);overflow:hidden;aspect-ratio:16/9;}
.recruit-movie__thumb{position:relative;width:100%;height:100%;display:block;border:0;padding:0;background:#000;}
.recruit-movie__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.recruit-movie__thumb::after{content:"";position:absolute;inset:0;}
.recruit-movie__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:6rem;height:6rem;border-radius:50%;background:var(--c-accent);color:var(--c-white);display:grid;place-items:center;box-shadow:0 .5rem 1.25rem rgba(0,0,0,.18), inset 0 0 0 .25rem rgba(255,255,255,.35);}
.recruit-movie__play i{font-size:2rem;margin-left:.25rem;}
.recruit-movie__thumb:hover .recruit-movie__play,.recruit-movie__thumb:focus-visible .recruit-movie__play{transform:translate(-50%,-50%) scale(1.06);}
.recruit-movie__iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000;}
.recruit-movie__player{position:absolute;inset:0;background:#000;width: 100%;height: 100%;}
.recruit-movie__player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.recruit-stories{background:var(--c-bg);padding:9.375rem 0;}
.recruit-stories__inner{max-width:87.5rem;margin:0 auto;padding:0 0;}
.recruit-card{background:var(--c-white);border:1px solid var(--c-border);border-radius:1.25rem;padding:6.25rem;}
.recruit-card + .recruit-card{margin-top:6.25rem;}
.recruit-card__title{margin:0 0 3.125rem;text-align:center;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1;}
.recruit-card__img{margin:0 0 2.5rem;border-radius:.5rem;overflow:hidden;}
.recruit-card__img img{width:100%;height:auto;display:block;}
.recruit-card__heading{margin:0 0 2rem;color:var(--c-main);font-size:2rem;font-weight:700;line-height:1.7;font-feature-settings:"palt";}
.recruit-card__text{color:var(--c-main);font-size:1.375rem;line-height:2;}
.recruit-card__text p{margin:2rem 0 0;}
.recruit-card__text p:first-child{margin-top:0;}
.recruit-card__sign{margin:2rem 0 0;color:var(--c-main);font-size:1.25rem;}
.recruit-spec,.company-spec{background:var(--c-white);padding:9.375rem 0;}
.company-spec.history{padding: 0 0 9.375rem;}
.recruit-spec__inner,.company-spec__inner{max-width:87.5rem;margin:0 auto;padding:0;}
.recruit-spec__title,.company-spec__title{margin:0 0 3.125rem;text-align:center;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1;}
.company-spec__title{margin: 0 0 5rem;}
.spec-table{margin:0;background:var(--c-white);border-top: 1px solid var(--c-border);border-bottom: 1px solid var(--c-border);overflow:hidden}
.spec-row{display:grid;grid-template-columns:20rem 1fr;border-top:1px solid var(--c-border);}
.spec-row:first-child{border-top:none;}
.spec-row dt{background:var(--c-white);color:var(--c-main);padding:1.875rem 1.5rem;font-size:1.375rem;line-height:1.7;font-weight:700;display:flex;align-items:flex-start}
.spec-row dd{padding:1.875rem 1.5rem;color:var(--c-main);font-size:1.375rem;line-height:1.9}
.spec-row dd p{padding-bottom: 1.875rem;}
.spec-row dd p:last-child{padding-bottom: 0;}
.spec-row a:hover{color:var(--c-main);}
.spec-list{margin:0;padding-left:1.25rem;list-style:disc}
.spec-list li+li{margin-top:.25rem}
.spec-list--inline{display:flex;gap:2rem;list-style:none;padding-left:0}
.spec-list--inline li+li{margin-top:0}
.recruit-briefing{background:var(--c-white);padding:0 0 9.375rem;}
.recruit-briefing__inner{max-width:87.5rem;margin:0 auto;padding:0;}
.briefing-card{background:var(--c-white);border:1px solid var(--c-border);border-radius:.75rem;padding:6.25rem}
.briefing-card__title{margin:0 0 3.125rem;text-align:center;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1;}
.briefing-card__img{margin:0;border-radius:.5rem;overflow:hidden}
.briefing-card__img img{width:100%;height:auto;display:block}
.briefing-card__note{margin:1rem 0 0;color:var(--c-main);font-size:1.375rem;line-height:1.8}
.briefing-card__box{margin:2rem 0 0;border-radius:.5rem;background:#F5F5F5;padding:3rem}
.briefing-card__subtitle{margin:0 0 1.25rem;color:var(--c-main);font-size:2rem;font-weight:700;line-height:1;}
.briefing-bullets{margin:0;padding-left:1.25rem;list-style:disc;color:var(--c-main);font-size:1.375rem;line-height:1.9}
.briefing-flow{margin:6.25rem 0 0}
.briefing-flow .briefing-card__title{text-align:left;}
.flow-list{margin:0;padding:0;list-style:none;overflow:hidden;background:#fff}
.flow-list > li + li{margin-top: 1.25rem;}
.flow-list li{display:grid;grid-template-columns:4.5rem 1fr;align-items:center;}
.flow-list li:first-child{border-top:none}
.flow-no{display:grid;place-items:center;height: 100%;background:var(--c-main);color:var(--c-white);font-weight:700;font-size: 1.75rem;border-radius: .25rem;}
.flow-text{padding:.75rem 1rem;color:var(--c-main);font-size:1.375rem;line-height:1.6;background: #F5F5F5;}
.recruit-entry{padding:6.25rem 0 0;text-align:center}
.recruit-entry__title{margin:0;color:var(--c-main);font-size:3.125rem;font-weight:700;line-height:1.2}
.recruit-entry__lead{margin:2rem 0 2.5rem;color:var(--c-main);font-size:2rem;line-height:1.8}
.recruit-entry__btn{margin:0}
.entry-btn{display:inline-flex;align-items:center;gap:.5rem;height:6.25rem;padding:0 1.5rem;border-radius:3.125rem;color:#FFF;font-size:1.375rem;background:var(--c-accent);width: 25rem;justify-content: center;}
.entry-btn i{font-size:1.125rem}
.entry-btn:hover{color:#FFF;}
.recruit-movie__video{position: absolute;inset: 0;width: 100%;height: 100%;display: block;object-fit: contain;object-position: center center;background: #000;}

/* ========== 私たちについて ========== */
.fd-declare{background: var(--c-accent);padding: 9.375rem 0;}
.fd-declare__inner{background: var(--c-white);border-radius: 1.25rem;padding: 6.25rem 6.25rem 1.25rem;max-width: 87.5rem;margin: 0 auto 2rem;}
.philosophy-card__title,.fd-declare-card__title,.fd-policy-card__title{font-size: 2rem;border-bottom: solid 1px var(--c-border);color:var(--c-main);padding-bottom: 1rem;margin-bottom: 3.125rem;}
.philosophy-detail-head,.yorisoikun-function-detail-head{display: flex;flex-flow: row;background: var(--c-bg);align-items: center;margin-bottom: 1rem;}
.philosophy-detail-number,.yorisoikun-function-detail-number{width: 4rem;height: 4rem;background: var(--c-accent);color:var(--c-white);font-size: 1.75rem;display: flex;align-items: center;justify-content: center;font-weight: 600;border-radius: .25rem;flex-shrink: 0;}
.philosophy-detail-head h4,.yorisoikun-function-detail-head h4{font-size: 1.375rem;color:var(--c-accent);background: var(--c-bg);padding-left: 1rem;line-height: 1.6;}
.philosophy-detail,.yorisoikun-function-detail{margin-bottom: 3rem;}
.philosophy-detail p,.fd-declare-detail p,.fd-policy-detail p,.yorisoikun-function-detail p,.yorisoikun-function-detail h5{font-size: 1.375rem;font-weight:400;color:var(--c-main);line-height: 2;}
.fd-declare-detail p{margin-top: 1.875rem;}
.fd-policy-detail{display: flex;flex-flow: column;gap: 2rem;}
.fd-declare-card{margin: 5rem auto;}
.fd-declare-card__sign{text-align: right;}
.fd-kpi{margin-top:2rem;}
.fd-kpi__title{margin:3.125rem 0 1.5rem;color:var(--c-main);font-size:1.5rem;font-weight:700;line-height:1.4;}
.fd-kpi__wrap{overflow-x:auto;}
.fd-kpi__table{width:100%;border-collapse:collapse;table-layout:auto;background:var(--c-white);color:var(--c-main);}
.fd-kpi__table thead th{background:var(--c-bg);font-weight:700;text-align:left;border:1px solid var(--c-border);padding:1.25rem 1rem;font-size:1.375rem;line-height:1.7;}
.fd-kpi__table tbody th,.fd-kpi__table tbody td{border:1px solid var(--c-border);padding:1.25rem 1rem;font-size:1.375rem;line-height:1.9;vertical-align:middle;background:var(--c-white);text-align: left;}
.fd-kpi__table tbody th[scope="row"]{font-weight:400;}
.fd-kpi__goal{font-weight:400;}
.fd-kpi__col--item{width:20rem;}
.fd-kpi__col--goal{width:14rem;}
.fd-policy-card{margin: 5rem auto;}
.yorisoikun-function{margin: 3.125rem auto;}
.yorisoikun-function__title{font-size: 1.75rem;text-align:center;color:var(--c-main);background:#f5f5f5;padding:1.25rem 0;margin-bottom: 3.125rem;}
.yorisoikun-function-detail h5{font-weight:600;}
.yorisoikun-function-detail-text{display: flex;flex-flow: column;gap: 2rem;}
.guideline{background:var(--c-white);padding:9.375rem 0;}
.guideline__inner{max-width:87.5rem;margin:0 auto;background:var(--c-bg);border-radius:1.25rem;padding:6.25rem 6.25rem 4.25rem;}
.guideline__title{margin:0 0 2.5rem;text-align:center;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1;}
.guideline__sectiontitle{margin:0 0 1.25rem;text-align:center;color:var(--c-main);font-size:2rem;font-weight:700;}
.guideline__lead{margin:0;text-align:center;color:var(--c-main);font-size:1.375rem;line-height:2;}
.guideline__hr{margin:2.5rem 0 3rem;height:1px;border:none;background:var(--c-border);}
.guideline__block{margin:0 0 2rem;}
.guideline__phase-title{margin:3rem 0 1.25rem;text-align:center;color:var(--c-subtitle);font-size:1.625rem;font-weight:700;}
.guideline-list{margin:0;padding:0;list-style:none;display:grid;gap:1rem;}
.guideline-list__row{display:grid;grid-template-columns:6.25rem 1fr;align-items:center;gap:1.25rem;background:var(--c-white);border-radius:.5rem;padding:1.25rem 1.25rem;}
.guideline-list__icon{margin:0;width:6.25rem;height:6.25rem;display:grid;place-items:center;}
.guideline-list__icon img{width:100%;height:100%;object-fit:contain;display:block;}
.guideline-list__text{margin:0;color:var(--c-main);font-size:1.375rem;line-height:2;}

/* ========== 会社案内 ========== */
.organization{background:var(--c-white);padding:0 0 9.375rem;}
.organization__inner{max-width: 87.5rem;margin: 0 auto;padding: 0;}
.organization__title{margin: 0 0 5rem;text-align: center;color: var(--c-main);font-size: 3.125rem;font-weight: 800;line-height: 1;}

/* ========== アクセス ========== */
.access-guide{background: var(--c-white);padding: 0 0 9.375rem;}
.access-guide__inner{background: var(--c-bg);max-width: 87.5rem;margin: 0 auto;padding: 0 0;border-radius: .75rem;padding: 6.25rem;}
.access-guide__block{background: transparent;padding: 0;}
.access-guide__block + .access-guide__block{margin-top: 4rem;}
.access-guide__heading{margin: 0 0 1rem;color: var(--c-main);font-size: 2.25rem;font-weight: 800;line-height: 1.2;}
.access-guide__divider{height: 1px;border: none;background: var(--c-border);margin: 0 0 2rem;}
.access-guide__text{margin: 0;color: var(--c-main);font-size: 1.375rem;line-height: 2;}
.access-guide__note{margin: .75rem 0 0;color: var(--c-main);font-size: 1.375rem;line-height: 2;}
.company-spec iframe{width: 63.75rem !important;height: 36.25rem !important;margin-top: 1rem;}

/* ========== 個人情報保護方針 ========== */
.privacy-policy{background: var(--c-white);padding: 9.375rem 0;}
.privacy-policy-card{background: var(--c-white);border: 1px solid var(--c-border);border-radius: .75rem;padding: 6.25rem;}
.privacy-policy__title{margin: 0 0 3.125rem;color: var(--c-main);font-size: 3.125rem;font-weight: 800;line-height: 1;}
.privacy-policy-card p{color: var(--c-main);font-size: 1.375rem;line-height: 2;margin-bottom: 2.5rem;}
.privacy-policy-card a{text-decoration: underline;}
.privacy-policy-card a:hover{color: var(--c-main);}
.privacy-policy__subtitle{font-size: 2rem;border-bottom: solid 1px var(--c-border);color: var(--c-main);padding-bottom: 1rem;margin: 3.125rem 0 1.875rem;}
.privacy-policy-card h4{font-size: 1.75rem;text-align: center;color: var(--c-main);background: #f5f5f5;padding: 1.25rem 0;margin: 3.125rem 0;}
.privacy-policy-contact{color: var(--c-main);font-size: 1.375rem;line-height: 2;display: flex;flex-flow: row;gap: 4rem;padding: 3.125rem;background: #F5F5F5;margin-bottom: 2.5rem;}
.privacy-policy-card img{width: 14.5625rem;}

/* ========== 勧誘方針 ========== */
.privacy-policy-card .spec-list{color: var(--c-main);font-size: 1.375rem;line-height: 2;}
.privacy-policy-card .spec-list li+li {margin-top: 1.5rem;}
.privacy-policy-card .fd-declare-card__sign{margin: 2.5rem 0 0;font-weight: 600;}

/* ========== 消費者志向自主宣言など ========== */
.submv-head h2 span{font-size: 3.125rem;}
.consumer-orientation .privacy-policy-card h4{text-align: left;padding: 1.25rem;}
.consumer-orientation .privacy-policy-card img {width: 64rem;margin: 3rem auto;}
.consumer-orientation .privacy-policy-card .fd-declare-card__sign{font-weight: 400;}

/* ========== LINEミニアプリ・プライバシーポリシー ========== */
.submv-head h2.line-policy-title{line-height: 1.3;}
.number-list{margin: 0;list-style: auto;color: var(--c-main);font-size: 1.375rem;line-height: 1.9;}
.number-list li+li{margin-top: 2rem;}
.line-policy .privacy-policy-card{padding: 6.25rem 6.25rem 4.25rem;}

/* ========== サイトマップ ========== */
.sitemap{background: var(--c-white);padding: 9.375rem 0;}
.sitemap__inner{max-width: 87.5rem;margin: 0 auto;padding: 0 0;}
.sitemap-card{background: var(--c-white);border: 1px solid var(--c-border);border-radius: 1.25rem;padding: 6.25rem;}
.sitemap__title{margin: 0;text-align: center;color: var(--c-main);font-size: 3.125rem;font-weight: 800;line-height: 1;}
.sitemap__hr{height: 1px;border: none;background: var(--c-border);margin: 3rem 0 4rem;}
.sitemap-nav{display: grid;gap: 4rem 0;}
.sitemap-group{display: grid;gap: 2rem;}
.sitemap-group__heading{margin: 0;color: var(--c-main);font-size: 1.375rem;font-weight: 700;line-height: 1.6;}
.sitemap-group__heading a{display: inline-block;}
.sitemap-group__heading a:hover{color: var(--c-main);}
.sitemap-links{display: grid;grid-template-columns: repeat(4, minmax(12rem, 1fr));gap: 2rem 4rem;padding: 0 3.125rem;margin: 0;list-style: none;}
.sitemap-links a{display: inline-block;color: var(--c-main);font-size: 1.25rem;line-height: 1.6;font-weight: 600;}

/* ========== AD Flagship Partner ========== */
.submv-head h2.tough_shop-title{line-height: 1.3;font-size: 4.22rem;}
.tough_shop .privacy-policy-card h5{font-size: 1.625rem;color: var(--c-main);border-left: .5rem solid var(--c-accent);padding-left: 1rem;line-height: 1.5;margin-bottom: 1rem;}
.tough_shop .privacy-policy-card img{width: auto;margin: 0 auto;}

/* ========== 主なサービスのご案内 ========== */
.consulting .privacy-policy-card img {width: auto;margin: 0 auto 1rem;}
.consulting .privacy-policy-card h4{margin: 3.125rem 0 1.875rem;}
.consulting .healthy-items{display: flex;flex-flow: row;gap: 3rem;}
.consulting .healthy-items img{width: 18.75rem;height: fit-content;}

/* ========== お問合わせ（入力/確認/thanks） ========== */
.inquiry{background:var(--c-white);padding: 9.375rem 0;overflow-x: hidden;}
.inquiry__inner{box-sizing: border-box;max-width:87.5rem;margin:0 auto;padding:0;background: var(--c-white);border: 1px solid var(--c-border);border-radius: .75rem;padding: 6.25rem;width: 100%;}
.inquiry__title{margin:0 0 2.5rem;color:var(--c-main);font-size:3.125rem;font-weight:800;line-height:1;}
.inquiry__note{color:var(--c-main);font-size:1.375rem;margin:0 0 2rem;}
.inquiry__fatal{color:#c0392b;background:#fff3f3;border:1px solid #ffd6d6;padding:1rem;border-radius:.5rem;}
.inq-block__title {margin:3.125rem 0;color: var(--c-main);font-size: 2rem;font-weight: 700;border-bottom: solid 1px var(--c-border);padding-bottom: 1rem;}
.form-row{display:flex;flex-direction:column;gap:1.25rem;margin:0 0 3.125rem;}
.form-label {color: var(--c-main);font-size: 1.5rem;font-weight: 700;display: flex;align-items: center;gap: .5rem;}
.req{display:inline-block;color:#E63946;font-size:1.125rem;font-weight:700;}
.form-control{width:100%;height: 6.25rem;border:1px solid var(--c-border) !important;border-radius:.375rem;background:#fff;padding:1.875rem !important;font-size: 1.5rem !important;color:var(--c-main);}
.form-textarea{height:auto;min-height:12rem;padding:1rem;line-height:1.8;}
.form-control::placeholder{color:#9BBDB4;}
.select-wrap{position:relative;}
.select-wrap select{appearance:none;-webkit-appearance:none;-moz-appearance:none;}
.select-wrap i{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#7FBFB2;}
.error-message{margin:.25rem 0 0;color:#E63946;font-size:.95rem;line-height:1.6;}
.has-error .form-control{border-color:#E63946;box-shadow:0 0 0 .125rem rgba(230,57,70,.06);}
.privacy-check{margin: 2.5rem auto 1.25rem;display: flex;flex-flow: column;justify-content: center;align-items: center;}
.privacy-lead{color:var(--c-main);font-size:1.75rem;margin:0 0 2.5rem;}
.privacy-lead a{text-decoration:underline;}
.privacy-lead a:hover{color:var(--c-main);}
.privacy-check__label{display:flex;align-items:center;gap:.75rem;color:var(--c-main);font-size:1.5rem;cursor:pointer;user-select:none;}
.privacy-check__label input[type="checkbox"]{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path: inset(50%);white-space:nowrap;}
.privacy-check__box{width:3.125rem;height:3.125rem;flex:0 0 3.125rem;display:inline-flex;align-items:center;justify-content:center;background:#EEEEEE;border:none;border-radius:.25rem;}
.privacy-check__box i{font-size:1.5rem;color:#033824;opacity:0;transform:scale(.8);transition:opacity .15s ease, transform .15s ease;}
.privacy-check__label input[type="checkbox"]:checked + .privacy-check__box i{opacity:1;transform:scale(1);}
.privacy-check__label input[type="checkbox"]:focus-visible + .privacy-check__box{outline:2px solid #028B63;outline-offset:2px;}
.privacy-check.has-error .privacy-check__box{box-shadow:0 0 0 2px rgba(230,57,70,.5) inset;}
.privacy-check__text{line-height:1.3;}
.inq-submit{display:flex;justify-content:center;margin-top:2.5rem;}
.inq-btn{display:inline-flex;align-items:center;justify-content:center;height: 6.25rem;padding:0 2rem;border-radius: .25rem;font-size: 1.5rem;font-weight:500;border:1px solid var(--c-main);}
.inq-btn--primary{background:var(--c-accent);color:#fff;border-color:var(--c-accent);width: 37.5rem;}
.inq-btn--primary:hover{color:#fff;}
.inq-btn--ghost{background:#fff;color:var(--c-main);border:1px solid var(--c-main);min-width:12rem;margin-right:1rem;}
.confirm .confirm-table{background:#fff;font-size: 1.375rem;}
.confirm .confirm-table dl{display:grid;grid-template-columns:18rem 1fr;border-top:1px solid var(--c-border);padding:1rem;}
.confirm .confirm-table dl:first-child{border-top:none;}
.confirm .confirm-table dt{color:var(--c-main);font-weight:700;}
.confirm .confirm-table dd{color:var(--c-main);}
.confirm .confirm-table dl.full{grid-template-columns:18rem 1fr;}
.confirm .confirm-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem;}
.thanks-section{background:var(--c-white);padding:9.375rem 0;}
.thanks-inner{max-width:52rem;margin:0 auto;text-align:center;}
.thanks-inner h1{margin:0 0 1.5rem;color:var(--c-main);font-size:2.5rem;font-weight:800;line-height:1.3;}
.thanks-inner p{color:var(--c-main);font-size:1.375rem;line-height:1.8;}
.home-btn {display: inline-flex;align-items: center;gap: .5rem;margin-top: 3rem;border: 1px solid var(--c-main);border-radius: .25rem;padding: 1.25rem 4rem;color: var(--c-main);font-size: 1.375rem;}
.home-btn i{font-size:1rem;}
.home-btn:hover{color:var(--c-main);}
.required-dot {width: .375rem;height: .375rem;background: #CC3333;border-radius: 50%;}
.submv-head h2.thanks-title{line-height: 1.3;}

/* ========== スタッフ紹介 ========== */
.staff-intro{background:var(--c-white);padding:9.375rem 0 3.25rem;}
.staff-intro__inner{max-width:87.5rem;margin:0 auto;}
.staff-list{background:var(--c-white);padding:0 0 9.375rem;}
.staff-list .l-container{padding-inline: 0;max-width: 87.5rem;margin: 0 auto;}
.staff-group{border-top:1px solid var(--c-border);padding:3rem 0;}
.staff-group:first-of-type{border-top:none;}
.staff-group__title{font-size: 1.75rem;text-align: center;color: var(--c-main);background: #f5f5f5;padding: 1.25rem 0;margin: 3.125rem 0;}
.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:0;padding:0;list-style:none;}
.staff-grid--directors{grid-template-columns:repeat(3,1fr);}
.staff-card{background:transparent;border:none;}
.staff-card__link{display:block;border-radius:.5rem;overflow:hidden;background:var(--c-white);}
.staff-card__thumb{aspect-ratio:3/4;overflow:hidden;}
.staff-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.staff-card__ph{display:grid;place-items:center;width:100%;height:100%;color:#9BBDB4;font-size:.875rem;}
.staff-card__meta{padding:1rem;text-align:center;color:var(--c-main);}
.staff-card__role{display:block;font-size:1.25rem;color: #666666;line-height:1.2;}
.staff-card__name{display:block;margin-top:.25rem;font-size:1.625rem;font-weight:600;}
.staff-empty{color:var(--c-main);text-align:center;padding:3rem;background:#fff;border:1px dashed var(--c-border);border-radius:.5rem}
.archive-title{margin: 1.75rem auto;max-width: 87.5rem;}
.tax-staff_cat .e-card-info{display: none;}
.tax-staff_cat .card-thumb img{height: 100%;}
.posts-not-found{margin: 1.75rem auto;max-width: 87.5rem;}
.staff-cat-nav{display: none;}

/* ======= スタッフ詳細 ======= */
.submv-portrait{width: 27rem;height: 32.5rem;}
.submv-portrait img{ width:100%; height:100%; display:block; border-radius:.25rem; object-fit: cover;}
.staff-detail .l-container{padding-inline:0;}
.staff-detail{padding:0;}
.staff-head{max-width:87.5rem;margin:0 auto 2rem;padding:0 1.25rem;text-align:left;color:var(--c-main);}
.staff-head__role{margin:0 0 .5rem;font-size:1.125rem;color:var(--c-subtitle);font-weight:700;}
.staff-head__en{margin:0;color:var(--c-subtitle);font-size:1.125rem;}
.staff-head__name{margin:.25rem 0 0;font-size:2.5rem;font-weight:800;line-height:1;}
.staff-head__line{margin:1rem 0 0;}
.staff-head__line a{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;border:1px solid var(--c-border);}
.staff-head__line i{font-size:1.5rem;color:#06C755;}
.profile-spec{max-width:87.5rem;margin:2rem auto 0;overflow:hidden;}
.profile-spec .spec-row{display:flex;flex-flow: column;border: none;}
.profile-spec .spec-row:first-child{border-top:none;}
.profile-spec .spec-row dt{background:#fff;color:var(--c-main);padding:1.75rem 1.5rem;font-size:1.75rem;font-weight:700;border: 1px solid var(--c-border);border-radius:.25rem;line-height: 1;}
.profile-spec .spec-row dd{color:var(--c-main);padding:1.875rem 1.5rem 3.125rem;font-size:1.375rem;line-height:1.9;}
.staff-brochure{max-width:52rem;margin:3rem auto 0;}
.staff-brochure img{width:100%;height:auto;display:block;border:1px solid var(--c-border);}
.staff-back{margin: 2.5rem auto 9.375rem;text-align:center;}
.staff-back .home-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--c-main);border-radius:.25rem;padding:1rem 2rem;color:var(--c-main);}
.submv--staff {color: var(--c-main);}
.submv--staff .breadcrumbs { color: var(--c-main); }
.submv-staff{ color: var(--c-main); }
.submv-staff .staff-head__role{margin: 0 0 .5rem;color: #666666;font-weight: 400;font-size: 1.875rem;line-height: 1;}
.submv-staff .staff-head__en{margin: 3.125rem 0 0;color: var(--c-subtitle);font-size: 2.5rem;font-weight: 600;line-height: 1;}
.submv-staff .staff-head__name{margin: 1.875rem 0 3.125rem;font-size: 4.375rem;font-weight: 800;line-height: 1;color: var(--c-main);}
.submv-contact{ margin:1rem 0 0; }
.line-contact-btn{display:inline-flex; align-items:center; gap:.75rem;color:var(--c-main); font-size:1.375rem; line-height:1.2;
}
.line-contact-btn i{font-size: 3.125rem; color:#06C755; }
.line-contact-btn:hover{color: var(--c-main);}
.spec-row--brochure dd{margin: 0 auto;}
.category-voices .ect-vertical-card .entry-card-wrap .entry-card-thumb{aspect-ratio: auto;}

/* =========================================================
   Staff 認証・モザイク表示
   ========================================================= */
.is-locked {position: relative;overflow: hidden;}
.is-locked img,.is-locked .brochure-img {filter: blur(10px) saturate(0.9);transform: scale(1.02);transition: filter .2s ease, transform .2s ease, opacity .2s ease;pointer-events: none;user-select: none;}
.lock-badge {position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 16px;line-height: 1;}
.lock-badge i { font-size: 22px; }
.staff-auth {margin: 32px auto;padding: 0 16px;}
.staff-auth__card {max-width: 720px;margin: 0 auto;background: #fff;border: 1px solid #e6e6e6;border-radius: 12px;padding: 20px 20px 16px;box-shadow: 0 2px 10px rgba(0,0,0,.04);}
.staff-auth__card h2 {font-size: 18px;margin: 0 0 12px;display: flex;align-items: center;gap: 8px;}
.staff-auth__alert {background: #fff3f3;border: 1px solid #ffd1d1;color: #c60000;border-radius: 8px;padding: 10px 12px;margin-bottom: 12px;font-size: 14px;}
.staff-auth__row {display: grid;grid-template-columns: 140px 1fr;gap: 10px;align-items: center;margin: 10px 0;}
.staff-auth__row label {font-size: 14px;color: #333;}
.staff-auth__row input[type="text"],.staff-auth__row input[type="password"] {width: 100%;border: 1px solid #ddd;border-radius: 8px;padding: 10px 12px;font-size: 16px;}
.staff-auth__actions {margin-top: 14px;display: flex;gap: 10px;}
.staff-auth__actions .button {padding: 8px 16px;}
.staff-auth__hint {margin-top: 10px;font-size: 13px;color: #666;}
.staff-back--with-logout {display: flex;gap: 10px;flex-wrap: wrap;align-items: center;justify-content: space-between;}
.staff-logout {background: #f7f7f7;border-radius: 9999px;padding: 8px 12px;border: 1px solid #e3e3e3;}
.staff-card__thumb.is-locked { position: relative; }
.staff-card__thumb.is-locked img { display: block; width: 100%;}

/* ===== Staff 認証モーダル ===== */
.bs-modal{position:fixed; inset:0; display:none; z-index:10000;}
.bs-modal.is-open{display:block;}
.bs-modal__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.5);}
.bs-modal__dialog{position:relative; z-index:1; width:min(720px, calc(100% - 2rem));margin:10vh auto; background:#fff; border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18); padding:0; overflow:hidden;}
.bs-modal__close{position:absolute; right:10px; top:10px; width:36px; height:36px;border-radius:50%; border:1px solid #e5e5e5; background:#fff;display:grid; place-items:center;}
.bs-modal__close i{font-size:18px;}
.bs-modal .staff-auth__card{border:none; box-shadow:none; margin:0;}
html.is-modal-open, body.is-modal-open{overflow:hidden;}
.staff-logout { display: none !important; }
.staff-back--with-logout { justify-content: center; gap: 0.75rem; }

/* =========================================
   段落・見出し・リストの余白
   ========================================= */
:root{--mb-xs: 0.25em;--mb-sm: 0.5em;--mb-md: 1em;--mb-lg: 2em;--mb-xl: 3em;}
.entry-content p,.wp-block-post-content p {line-height: 1.9;margin: 0 0 var(--mb-md);}
.is-style-mb-none { margin-bottom: 0 !important; }
.is-style-mb-xs   { margin-bottom: var(--mb-xs) !important; }
.is-style-mb-sm   { margin-bottom: var(--mb-sm) !important; }
.is-style-mb-md   { margin-bottom: var(--mb-md) !important; }
.is-style-mb-lg   { margin-bottom: var(--mb-lg) !important; }
.is-style-mb-xl   { margin-bottom: var(--mb-xl) !important; }
.u-mb-0  { margin-bottom: 0 !important; }
.u-mb-xs { margin-bottom: var(--mb-xs) !important; }
.u-mb-sm { margin-bottom: var(--mb-sm) !important; }
.u-mb-md { margin-bottom: var(--mb-md) !important; }
.u-mb-lg { margin-bottom: var(--mb-lg) !important; }
.u-mb-xl { margin-bottom: var(--mb-xl) !important; }
.wp-block-spacer { max-width: 100%; }

/* ========== Responsive ========== */
@media(max-width:1400px){
	.scope-map__iframe{height:56rem;}
	.scope-map__circle{width: 54rem;height: 54rem;}
}
@media(max-width:1200px){
	.scope-map__iframe{height:60rem;}
	.scope-map__circle{width: 58rem;height: 58rem;}
}
@media(max-width:1000px){
	.scope-map__iframe{height:72rem;}
	.scope-map__circle{width: 70rem;height: 70rem;}
}
@media(max-width:800px){
	:root{font-size: clamp(0.4rem, 2.6vw, 2rem);}
	.pc-only{display:none;}
	.sp-only{display:inline;}
	.gnav{display:none;}
	.header-mega{display:none !important;}
	.spnav-toggle{display:inline-grid; place-items:center;width:3rem; height:3rem; margin-left:.5rem;border:none; border-radius:50%;background:var(--c-bg); color:var(--c-main);flex:0 0 auto;font-size: 2rem;}
	.spnav-toggle .icon-close{display:none;}
	.spnav-toggle[aria-expanded="true"] .icon-hamburger{display:none;}
	.spnav-toggle[aria-expanded="true"] .icon-close{display:inline-block;}
	.site-header__bar{gap:.5rem;}
	.mv__track{padding-inline: 1rem;}
	.mv__slide {flex: 0 0 100%;padding: 2.5rem 1.5rem;height: 42rem;}
	.mv__heading-bar h2{line-height: 1.4;font-feature-settings: "palt";}
	.mv--3 .mv__title h2{line-height: 1.2;font-feature-settings: "palt";font-size: 3.6rem;}
	.mv--1 h3{font-size: 2rem;}
	.mv--1 .large-type{font-size: 6rem;}
	.mv--1 .large-type2{font-size: 5rem;}
	.mv__heading-bar{height: 6rem;}
	.mv--1 .mv__body{margin-top: 1rem;display: flex;flex-flow: column-reverse;}
	.mv__slide.mv--1 .mv__col-right{display: none;}
	.mv--1 .mv__img-left{width: 20rem;margin: 2.5rem auto;}
	.mv--2 .mv__title .large-type{font-size: 5.8rem;line-height: 0.9;}
	.mv--2 .mv__title{margin-top: 1.25rem;}
	.mv--2 .mv__img-center{width: 8rem;margin: 4rem auto;}
	.mv--2 .mv__img-left-bottom{width: 9rem;left: 2rem;bottom: 7rem;}
	.mv--2 .mv__img-right-bottom{width: 10rem;right: 2rem;bottom: 9rem;}
	.mv--2 .mv__title h3{line-height: 1;}
	.mv--3 .mv__title p{margin-top: 1rem;line-height: 1.6;font-size: 1.35rem;}
	.mv--3 .mv__img-wrap{width: 100%;justify-content: center;display: flex;flex-flow: column;align-items: center;margin: 1.375rem auto 0;}
	.mv--3 .mv__btn-on-image{bottom: 1.3rem;}
	.mv--3 .mv__img-wrap img {width: 178%;max-width: 178%;}
	.spnav__list a{font-size: 1.5rem;}
	.yorisoi__box{padding: 3rem 2rem;}
	.yorisoi__mascot{left: 6rem;top: 15.5rem;}
	.yorisoi__phone{right: 7rem;top: 15.5rem;}
	.yorisoi__lead{margin-top: 14rem;}
	.yorisoi__subtitle{margin-top: 1rem;}
	.yorisoi-list__row{height: auto;padding: 1rem 1.25rem 1rem 5rem;}
	.yorisoi-list__no{top: unset;}
	.yorisoi__divider{margin: 2rem 0;}
	.yorisoi__cta{margin-top: 2rem;}
	.yorisoi{padding: 5rem 0 7rem;}
	.l-container{padding-inline: 1rem;}
	.topics__title{margin-top: 2rem;}
	.topics__head{margin-bottom: 1rem;}
	.topics-group{flex-flow: column;margin: 0 1.5rem;}
	.topics-group__header{align-items: baseline;flex-flow: wrap;width: 100%;margin-bottom: 0;}
	.topics-group__title{margin: 1.5rem 0 1.5rem;}
	.topics-list{width: 100%;}
	.topics-card{gap: 1.5rem;}
	.greeting__bgword{top: -3.4rem;font-size: 3.8rem;}
	.topics{padding: 0 0 6rem;}
	.greeting__cols{display: flex;flex-flow: column;gap: 2rem;}
	.greeting__inner{padding-inline: 2rem;}
	.greeting{padding: 5rem 0;}
	.greeting__title{margin: 0 0 2rem;}
	.greeting__person{align-self: center;}
	.greeting__person img{width: 20rem;}
	.scope-card{padding: 2rem;}
	.scope-map__canvas{height: 30rem;}
	.scope-map__circle{width: 30rem;height: 30rem;}
	.scope-map__iframe--pc{ display:none; }
	.scope-map__iframe--sp{ display:block; }
	.scope-map__iframe {height: 44rem;}
	.reasons{padding: 5rem 0 0;}
	.reasons__title{line-height: 1.3;}
	.reason{display: flex;flex-flow: column;margin: 2.5rem 2rem 0rem;gap: 2rem;}
	.reason--rev{flex-flow: column-reverse;}
	.voices{padding: 5rem 0;}
	.voices-list{grid-template-columns: repeat(2, 1fr);margin: 3rem 2rem;}
	.brands{padding: 5rem 0;}
	.brands .l-container{padding-inline: 2rem;}
	.brand-grid{grid-template-columns: repeat(2, 1fr);}
	.brand-card{height: auto;}
	.link-grid--related{grid-template-columns: repeat(2, 1fr);}
	.link-grid--online {grid-template-columns: repeat(2, 1fr);}
	.link-grid--online2{grid-template-columns: repeat(2, 1fr);}
	.sns{padding: 5rem 0;}
	.sns__block{margin: 2rem;}
	.ig-grid{grid-template-columns: repeat(2, 1fr);}
	.sns__label{text-align: center;}
	.ambassador{margin: 5rem 2rem 0;}
	.footer__inner{padding: 5rem 2rem;}
	.footer__top{display: flex;flex-flow: column;}
	.footer-contact__title{font-size: 6.2rem;}
	.footer-contact__tel a{font-size: 4.5rem;}
	.footer-nav{flex-flow: column;gap: 2rem;}
	.footer-note{margin: 4em 0 0;padding: 2rem;}
	.footer-nav__col{line-height: 1;}
	.article{padding: 2rem;margin: 1rem 1.5rem;}
	.under-entry-content,#breadcrumb{margin: 0 1.5rem 2rem;}
	.category h1,.archive-title{margin: 1.5rem 1.5rem 1rem;}
	#list{margin: 0 1rem 2rem;}
	.eye-catch .cat-label, .cat-label{font-size: 1.25rem;}
	.related-entry-card-title, .entry-card-title {font-size: 1.5rem;}
	.post-date, .post-update, .post-author, .amp-back, .entry-category {font-size: 1.25rem;}
	.submv{padding: 7rem 1.5rem}
	.submv-inner{flex-flow: wrap;}
	.submv-head nav{margin-bottom: 3rem;}
	.recruit-intro,.recruit-movie,.recruit-spec,.company-spec{padding: 7rem 1.5rem;}
	.company-spec.history{padding: 0 1.5rem 7rem;}
	.recruit-stories{padding: 7rem 1.5rem 5rem;}
	.recruit-intro__cols{display: flex;flex-flow: column;}
	.recruit-movie__play{width: 5rem;height: 5rem;}
	.recruit-card{padding: 3rem 2rem;}
	.recruit-card__title{margin: 0 0 2rem;}
	.recruit-card + .recruit-card {margin-top: 5rem;}
	.recruit-spec__title{line-height: 1.4;}
	.spec-row{display: flex;flex-flow: column;}
	.spec-row dt{padding: 1.875rem 1.5rem 0;}
	.spec-row dd{padding: 1rem 1.5rem 1.875rem;}
	.recruit-briefing{padding: 0 1.5rem 7rem;}
	.briefing-card{padding: 3rem 2rem 4rem;}
	.briefing-card__title{margin: 0 0 2rem;line-height: 1.4;}
	.briefing-card__box{padding: 2rem;}
	.briefing-flow {margin: 5rem 0 0;}
	.flow-list > li + li {margin-top: 1rem;}
	.recruit-entry{padding: 5rem 0 0;}
	.fd-declare{padding: 7rem 1.5rem;}
	.fd-declare__inner{padding: 3rem 2rem;}
	.philosophy-detail-number, .yorisoikun-function-detail-number{width: 4.5rem;height: 4.5rem;}
	.fd-kpi__col--item {width: 8rem;}
	.fd-kpi__col--goal {width: 7rem;}
	.fd-policy-card.last-box{margin: 5rem auto 1rem;}
	.fd-declare__inner{margin: 0 auto;}
	.guideline{padding: 7rem 1.5rem;}
	.guideline__inner{padding: 3rem 2rem 2rem;}
	.organization__title{margin: 0 0 3rem;}
	#access-spec-title{line-height: 1.4;}
	.access-guide{padding: 0 1.5rem 7rem;}
	.access-guide__inner{padding: 3rem 2rem;}
	.access-guide__block + .access-guide__block {margin-top: 3rem;}
	.submv-head h2{line-height: 1.3;}
	.privacy-policy{padding: 7rem 1.5rem 5rem;}
	.privacy-policy-card{padding: 3rem 2rem;}
	.privacy-policy__title{line-height: 1.3;}
	.privacy-policy-contact{gap: 2rem;padding: 2rem;}
	.line-policy .privacy-policy-card {padding: 3rem 2rem;}
	.sitemap{padding: 7rem 1.5rem;}
	.sitemap-card{padding: 3rem 2rem;}
	.sitemap-links{grid-template-columns: repeat(2, minmax(10rem, 1fr));}
	.consulting .healthy-items{flex-flow: column-reverse;gap: 1rem;}
	.consulting .healthy-items img{width: auto;}
	.thanks-section{padding: 7rem 1.5rem;}
	.inquiry{padding: 7rem 1.5rem;}
	.inquiry__inner{padding: 3rem 2rem;}
	.inquiry__title{line-height: 1.3;}
	.confirm .confirm-table dl,.confirm .confirm-table dl.full{grid-template-columns: 7rem 1fr;}
	.submv-portrait{width: 100%;}
	.profile-spec{margin: 0 auto;padding: 0 1.5rem;}
	.staff-back{margin: .5rem auto 7rem;}
	.staff-intro{padding: 7rem 1.5rem 0;}
	.recruit-intro__eyebrow{line-height: 1.4;}
	.staff-list{padding: 0 1.5rem 7rem;}
	.staff-grid--directors{grid-template-columns: repeat(2, 1fr);}
	.staff-grid{grid-template-columns: repeat(2, 1fr);}
	.posts-not-found{margin: 1.75rem 1.5rem;}
	.search #list.list a{width: 49%;}
	.search-box{margin: 1.5rem 1.5rem 1rem;}
}

@media (prefers-reduced-motion: no-preference){
  .spnav{opacity:0; transform:translateY(-4px); transition:opacity .18s ease, transform .18s ease;}
  .spnav.is-open{opacity:1; transform:none;}
}