@charset "UTF-8";
/* =========================================================
   WINXCY ホームページ制作LP たたき台
   デザイン言語: sitte.page 完コピ仕様 (mirror/spec_*.md 準拠)
   基調: 黒#000 × 黄#06C755 / グレー#f7f6f5 / クリーム#e3f7ec
   1rem = 10px (html 62.5%)
========================================================= */

/* ---------- reset ---------- */
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}
ol li,ul li{list-style:none}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
html,body{
	color:#000;font-size:62.5%;
	font-family:YakuHanJP,'Roboto Condensed','Noto Sans JP','游ゴシック体','Yu Gothic',YuGothic,sans-serif;
	font-feature-settings:'palt';-webkit-text-size-adjust:100%;
	box-sizing:border-box;background-color:#fff;
}
*,*:before,*:after{box-sizing:inherit}
main{overflow:hidden}
a{text-decoration:none;color:#000}
img{max-width:100%;height:auto;vertical-align:middle}
em{font-style:normal}
::selection{background:#06C755}

/* ---------- 背景・セクション余白 ---------- */
.bg_base,.bg,.bg__fff{padding:120px 0}
@media screen and (max-width:640px){.bg_base,.bg,.bg__fff{padding:50px 0}}
.bg{background-color:#f7f6f5}
.bg__fff{background-color:#fff}
.bg__orange{background-color:#06C755;padding:100px 0}
@media screen and (max-width:1024px){.bg__orange{padding:50px 0}}

/* パターン背景ループ(CSSストライプ。※本番はロゴタイル画像に差し替え) */
.bg__animation{
	background-color:#06C755;
	background-image:repeating-linear-gradient(45deg, rgba(0,0,0,0.045) 0 24px, transparent 24px 75px);
	background-size:150px 150px;
	animation:bgiLoop 5s linear infinite;
}
@keyframes bgiLoop{0%{background-position:0 0}100%{background-position:150px -150px}}

/* ---------- コンテナ ---------- */
.l-wrap__inner_1080{max-width:1080px;margin:0 auto;width:80%}
@media screen and (max-width:896px){.l-wrap__inner_1080{width:90%}}
.l-wrap__inner_1300{max-width:1300px;margin:0 auto;width:80%}
@media screen and (max-width:1080px){.l-wrap__inner_1300{width:90%}}
.l-wrap__inner_900{max-width:900px;margin:0 auto}
@media screen and (max-width:960px){.l-wrap__inner_900{width:90%}}

/* ---------- スクロール出現演出 ----------
   出現アニメーションは全てGSAP(js/main.js)側で制御。
   CSSでは初期非表示にしない=GSAP未ロード時も全表示(フェイルオープン)。
   .left-to-right / .right-to-left はJSが方向を読むためのマーカー。 */
.js-on .o-c-common__headline::after{transform:scaleX(0);transition:transform .6s ease .35s}
.js-on .o-c-common__headline.head-in::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none !important;transition:none !important}
	.js-on .o-c-common__headline::after{transform:scaleX(1)}
}

/* ---------- 共通見出し ---------- */
.o-c-common__headline{text-align:center;margin-bottom:100px;position:relative}
@media screen and (max-width:640px){.o-c-common__headline{margin:0 0 40px}}
.o-c-common__headline__en{
	font-size:17rem;color:#e3f7ec;font-weight:300;line-height:1;
	text-transform:uppercase;font-family:'Roboto Condensed',sans-serif;padding-bottom:10px;
}
@media screen and (max-width:1080px){.o-c-common__headline__en{font-size:14rem}}
@media screen and (max-width:896px){.o-c-common__headline__en{font-size:10rem}}
@media screen and (max-width:640px){.o-c-common__headline__en{font-size:7rem}}
.o-c-common__headline__en.en__white{color:#fff}
.o-c-common__headline__en.en__white__feature{color:rgba(255,255,255,0.5)}
.o-c-common__headline__ja{
	margin-top:-10px;font-size:2.4rem;font-weight:bold;letter-spacing:0.24em;
	display:flex;flex-wrap:wrap;justify-content:center;width:90%;margin-left:auto;margin-right:auto;
}
@media screen and (max-width:1080px){.o-c-common__headline__ja{font-size:2rem}}
@media screen and (max-width:896px){.o-c-common__headline__ja{font-size:1.8rem}}
@media screen and (max-width:640px){.o-c-common__headline__ja{font-size:1.6rem}}
.o-c-common__headline::after{content:"";display:block;margin:50px auto 0;width:60px;height:4px;background:#06C755}
@media screen and (max-width:640px){.o-c-common__headline::after{height:2px;width:40px;margin-top:32px}}
.bg__orange .o-c-common__headline::after{background:#fff}

.sec_lead{text-align:center;font-size:1.6rem;line-height:2;margin:-60px auto 70px;max-width:760px;width:90%}
@media screen and (max-width:640px){.sec_lead{font-size:1.3rem;margin:-10px auto 40px}}
.sec_lead .hl{background:#b8f0d0;font-weight:bold;padding:0 4px}

/* ---------- ボタン(ピル型・hover白黒反転) ---------- */
.o_c_b{
	display:inline-block;background-color:#000;color:#fff;text-align:center;
	padding:15px 36px;border-radius:100px;border:3px solid #000;
	font-size:1.6rem;font-weight:bold;transition:all .2s ease;
}
.o_c_b:hover{background-color:#fff;color:#000}
@media screen and (max-width:640px){.o_c_b{padding:12px 24px;font-size:1.4rem}}
.o_c_b-big{
	display:block;background-color:#000;color:#fff;text-align:center;
	max-width:420px;width:100%;margin:0 auto;padding:22px 0;border-radius:100px;
	border:3px solid #000;font-size:1.8rem;font-weight:bold;letter-spacing:0.08em;transition:all .2s ease;
}
.o_c_b-big:hover{background-color:#fff;color:#000}
@media screen and (max-width:640px){.o_c_b-big{padding:16px 0;font-size:1.5rem}}

/* ---------- プレースホルダー(画像挿入箇所) ---------- */
.ph{
	position:relative;background:
		repeating-linear-gradient(-45deg, rgba(0,0,0,0.06) 0 12px, rgba(255,255,255,0.5) 12px 24px),#e8f7ef;
	border:2px dashed #08a548;border-radius:6px;
	display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.ph__label{
	display:inline-block;background:#d4f5e0;color:#08512b;font-size:1.2rem;font-weight:bold;
	line-height:1.6;padding:8px 14px;border-radius:4px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.15);
}
.ph--tall{min-height:380px}
.ph--wide{min-height:320px}
.ph--icon{width:110px;height:110px;border-radius:50%;margin:0 auto}
.ph--icon .ph__label{font-size:0.9rem;padding:4px 6px}
.ph--human{width:150px;height:150px;border-radius:50%}
.ph--human .ph__label{font-size:0.9rem;padding:4px 6px}
.ph--step{width:64px;height:64px;margin:6px auto 0}
.ph--step .ph__label{font-size:0.8rem;padding:2px 4px}

/* ---------- ヘッダー ---------- */
.l-header{
	position:fixed;width:100%;height:100px;top:0;left:0;z-index:300;padding:0 20px;
	display:flex;align-items:center;transition:all .3s;
}
.l-header__logo{position:absolute;top:50%;left:20px;transform:translateY(-50%);line-height:1}
.l-header__logo__img{height:44px;width:auto}
@media screen and (max-width:640px){.l-header__logo__img{height:32px}}
.l-header__scroll{background-color:#000;height:60px}
.l-header__scroll .l-header__logo__img{filter:brightness(0) invert(1)}
.l-header__menu{margin-left:auto;margin-right:70px;display:flex;align-items:center;gap:28px}
@media screen and (max-width:640px){.l-header__menu{display:none}}
.l-header__menu__item{font-size:1.3rem;font-weight:bold}
.l-header__bk-underline{position:relative;padding-bottom:4px}
.l-header__bk-underline::after{
	content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:#000;transition:width .3s;
}
.l-header__bk-underline:hover::after{width:100%}
.l-header__scroll .l-header__bk-underline{color:#fff}
.l-header__scroll .l-header__bk-underline::after{background:#fff}
.l-header__bk-block{background:#000;color:#fff;padding:12px 22px;border-radius:4px;transition:opacity .2s}
.l-header__bk-block:hover{opacity:.75}
.l-header__scroll .l-header__bk-block{background:#06C755;color:#000}

/* ハンバーガー */
.l-header__hamburger__button{
	position:fixed;top:37px;right:20px;width:35px;height:25px;background:none;border:none;cursor:pointer;
	transition:all .3s;z-index:310;
}
.l-header__scroll ~ * .l-header__hamburger__button{top:18px}
.l-header__hamburger__button__bar{
	display:block;width:35px;height:3px;background-color:#000;position:absolute;left:0;
	transition:all .2s;transform-origin:0 0;transform:translateY(-50%);
}
.l-header__scroll .l-header__hamburger__button__bar{background-color:#fff}
.l-header__hamburger__button__bar1{top:3px}
.l-header__hamburger__button__bar2{top:53%}
.l-header__hamburger__button__bar3{bottom:-1px}
.l-header__hamburger__button.active .l-header__hamburger__button__bar{width:42px}
.l-header__hamburger__button.active .l-header__hamburger__button__bar1{transform:rotate(0.55rad) translateY(-50%);top:3px}
.l-header__hamburger__button.active .l-header__hamburger__button__bar2{opacity:0}
.l-header__hamburger__button.active .l-header__hamburger__button__bar3{transform:rotate(-0.57rad);top:calc(100% - 2px)}
.l-header__hamburger__nav{
	position:fixed;top:70px;right:20px;width:220px;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.18);
	border-radius:6px;overflow:hidden;
	max-height:0;transition:max-height .4s ease;z-index:305;
}
.l-header__hamburger__nav.open{max-height:520px}
.l-header__hamburger__nav li a{
	display:block;padding:14px 18px;font-size:1.3rem;font-weight:bold;background:#f7f6f5;
	border-bottom:1px solid #fff;transition:background .2s;
}
.l-header__hamburger__nav li a:hover{background:#06C755}

/* ---------- ローディング ---------- */
.o-p-loader{display:none}
.js-on .o-p-loader{
	position:fixed;inset:0;background:#06C755;z-index:900;
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
}
.o-p-loader.done{opacity:0;pointer-events:none;transition:opacity .3s}
.o-p-loader__spinner{
	width:40px;height:40px;border:4px solid #000;border-top-color:transparent;border-radius:50%;
	animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.o-p-loader__text{font-size:1.4rem;font-weight:bold;letter-spacing:0.2em}

/* ---------- 固定CTAボタン ---------- */
.main_visual__wrap__btn.fixed_page{
	position:fixed;right:24px;bottom:24px;z-index:250;opacity:0;pointer-events:none;transition:opacity .3s;
}
.main_visual__wrap__btn.fixed_page.show{opacity:1;pointer-events:auto}
.main_visual__wrap__btn.fixed_page.footer-act{opacity:0;pointer-events:none}
.main_visual__wrap__btn span{
	display:inline-block;background:#000;color:#fff;font-weight:bold;
	padding:12px 20px;border-radius:50px;letter-spacing:0.12em;font-size:1.3rem;
	box-shadow:0 4px 16px rgba(0,0,0,.25);
}

/* ---------- ヒーロー ---------- */
.main_visual{position:relative;background:#f7f6f5;height:850px;overflow:hidden}
@media screen and (max-width:1080px){.main_visual{height:768px}}
@media screen and (max-width:896px){.main_visual{height:auto;padding-bottom:40px}}
.main_visual::before{
	content:"";position:absolute;top:0;right:0;width:62%;height:100%;background:#06C755;
	clip-path:polygon(26% 0,100% 0,100% 100%,0 100%);
}
@media screen and (max-width:896px){
	.main_visual::before{width:100%;height:46%;top:auto;bottom:0;clip-path:polygon(0 30%,100% 0,100% 100%,0 100%)}
}
.main_visual__wrap{position:relative;height:100%}
.main_visual__wrap__box{
	max-width:1200px;width:90%;margin:0 auto;height:100%;
	display:flex;justify-content:space-between;align-items:center;padding:120px 0 90px;position:relative;
}
@media screen and (max-width:896px){
	.main_visual__wrap__box{flex-direction:column;padding:120px 0 40px;gap:36px}
}
.main_visual__wrap__box__content{width:48%;position:relative;z-index:2}
@media screen and (max-width:896px){.main_visual__wrap__box__content{width:100%}}
.hero_en{
	font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:1.4rem;
	letter-spacing:0.3em;text-transform:uppercase;margin-bottom:18px;
}
.main_copy{font-size:3.8rem;font-weight:bold;line-height:1.55;letter-spacing:0.02em;margin-bottom:24px}
@media screen and (max-width:1300px){.main_copy{font-size:3.2rem}}
@media screen and (max-width:1080px){.main_copy{font-size:2.7rem}}
@media screen and (max-width:640px){.main_copy{font-size:2.1rem}}
.main_copy .line{display:block}
.main_copy .mk{background:#000;color:#fff;padding:0 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sub_copy{font-size:2rem;font-weight:bold;line-height:2;margin-bottom:10px}
@media screen and (max-width:640px){.sub_copy{font-size:1.3rem;line-height:1.8}}
.js-on .typ2{opacity:0}
.js-on .typ2 span{opacity:0}
.main_visual .text{font-size:1.4rem;line-height:2.4;margin-bottom:30px}
@media screen and (max-width:640px){.main_visual .text{font-size:1.2rem;font-weight:bold}}
.main_visual .text .hl{background:#b8f0d0;padding:0 3px}
.hero_btns{display:flex;gap:16px;flex-wrap:wrap}
.hero_btn_sub{background:#fff;color:#000}
.hero_btn_sub:hover{background:#000;color:#fff}
/* イラストは拡大し、下端をヒーロー下端に揃える(絶対配置) */
.main_visual__wrap__box__images{
	position:absolute;right:-2%;bottom:-36px;width:60%;z-index:2;
}
@media screen and (max-width:896px){
	.main_visual__wrap__box__images{position:static;width:88%;margin:0 auto}
}
.hero_mock{width:100%;filter:drop-shadow(0 18px 40px rgba(0,0,0,.2))}

/* ---------- PROBLEM (中央イラスト+放射状吹き出し) ---------- */
.problem__radial{position:relative;max-width:1080px;margin:0 auto;height:820px}
.problem__center{
	position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:300px;
}
.problem__center img{display:block;width:100%}
.problem__bubble{
	position:absolute;width:320px;background:#fff;border:3px solid #000;border-radius:24px;
	padding:22px 24px;box-shadow:7px 7px 0 0 #05a044;
}
.problem__bubble h3{
	font-size:1.8rem;font-weight:bold;letter-spacing:0.04em;line-height:1.55;margin-bottom:8px;
	display:flex;align-items:center;gap:10px;
}
.problem__bubble h3 > span + *{min-width:0}
.problem__x{
	min-width:32px;width:32px;height:32px;border-radius:50%;background:#000;color:#06C755;
	display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:bold;flex:none;
}
.problem__bubble p{font-size:1.3rem;line-height:1.8}
/* 放射配置: 左 / 左上 / 上左 / 上右 / 右上 / 右 */
.problem__bubble--p1{left:0;top:54%}
.problem__bubble--p2{left:2%;top:22%}
.problem__bubble--p3{left:19%;top:0}
.problem__bubble--p4{right:19%;top:0}
.problem__bubble--p5{right:2%;top:22%}
.problem__bubble--p6{right:0;top:54%}
/* 吹き出しのしっぽ(黒縁2枚重ね・中央のイラストの方向へ) */
.problem__bubble::before,
.problem__bubble::after{content:"";position:absolute;border-style:solid}
/* 左側の吹き出し→右向きしっぽ */
.problem__bubble--p1::before,
.problem__bubble--p2::before{right:-19px;top:50%;margin-top:-11px;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #000}
.problem__bubble--p1::after,
.problem__bubble--p2::after{right:-13px;top:50%;margin-top:-7px;border-width:7px 0 7px 13px;border-color:transparent transparent transparent #fff}
/* 右側の吹き出し→左向きしっぽ */
.problem__bubble--p5::before,
.problem__bubble--p6::before{left:-19px;top:50%;margin-top:-11px;border-width:11px 19px 11px 0;border-color:transparent #000 transparent transparent}
.problem__bubble--p5::after,
.problem__bubble--p6::after{left:-13px;top:50%;margin-top:-7px;border-width:7px 13px 7px 0;border-color:transparent #fff transparent transparent}
/* 上段の吹き出し→下向きしっぽ */
.problem__bubble--p3::before,
.problem__bubble--p4::before{bottom:-19px;left:50%;margin-left:-11px;border-width:19px 11px 0 11px;border-color:#000 transparent transparent transparent}
.problem__bubble--p3::after,
.problem__bubble--p4::after{bottom:-13px;left:50%;margin-left:-7px;border-width:13px 7px 0 7px;border-color:#fff transparent transparent transparent}
@media screen and (max-width:1080px){
	.problem__bubble{width:300px}
	.problem__bubble--p3{left:14%}
	.problem__bubble--p4{right:14%}
}
/* タブレット以下は縦積みフォールバック */
@media screen and (max-width:896px){
	.problem__radial{height:auto;display:flex;flex-direction:column;gap:20px;align-items:center}
	.problem__center{position:relative;left:auto;bottom:auto;transform:none;width:190px;order:-1;margin-bottom:6px}
	.problem__bubble{position:relative;width:100%;max-width:520px;left:auto !important;right:auto !important;top:auto !important}
	.problem__bubble::before,
	.problem__bubble::after{display:none}
}
@media screen and (max-width:640px){
	.problem__bubble{padding:16px 18px}
	.problem__bubble h3{font-size:1.5rem}
	.problem__bubble p{font-size:1.2rem}
}

/* ---------- SOLUTION (CONCEPTスタイル) ---------- */
.concept.bg__fff{padding:120px 0}
@media screen and (max-width:640px){.concept.bg__fff{padding:50px 0}}
.concept__contents{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between}
@media screen and (max-width:1080px){.concept__contents{justify-content:center;gap:40px}}
.concept__contents__image{max-width:500px;width:46%}
@media screen and (max-width:1080px){.concept__contents__image{width:100%}}
.concept__contents__unit{width:52%}
@media screen and (max-width:1080px){.concept__contents__unit{width:100%;max-width:490px}}
.concept__contents__unit__headline{font-size:5.2rem;line-height:1.6;font-weight:bold;letter-spacing:0.04em;margin-bottom:30px}
@media screen and (max-width:1300px){.concept__contents__unit__headline{font-size:4.6rem}}
@media screen and (max-width:896px){.concept__contents__unit__headline{font-size:3.8rem}}
@media screen and (max-width:640px){.concept__contents__unit__headline{font-size:2.8rem}}
.concept__contents__unit__text{font-size:1.6rem;line-height:2;margin-bottom:34px}
.concept__contents__unit__text span{display:inline-block}
.concept_btn{width:100%;max-width:380px;padding:15px 0;text-align:center}

/* ---------- APPROACH (ABOUTスタイル) ---------- */
.mech__flow{
	display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:70px;
}
.mech__flow__item{
	background:#fff;border-radius:10px;padding:28px 22px;text-align:center;width:190px;
	box-shadow:0 6px 24px rgba(0,0,0,.08);
}
.mech__flow__item p{font-size:1.5rem;font-weight:bold;line-height:1.6;margin-top:14px}
.mech__flow__icon{display:block;width:110px;height:110px;object-fit:contain;margin:0 auto}
@media screen and (max-width:896px){.mech__flow__icon{width:84px;height:84px}}
.mech__flow__arrow{font-size:2.6rem;font-weight:bold;color:#06C755}
@media screen and (max-width:896px){
	.mech__flow{gap:10px}
	.mech__flow__item{width:150px;padding:18px 12px}
	.mech__flow__arrow{font-size:2rem}
}
@media screen and (max-width:640px){
	.mech__flow{flex-direction:column}
	.mech__flow__arrow{transform:rotate(90deg)}
	.mech__flow__item{width:80%}
}
.mech__closing{text-align:center;max-width:760px;margin:0 auto}
.mech__closing__headline{font-size:2.8rem;font-weight:bold;letter-spacing:0.08em;line-height:1.7;margin-bottom:22px}
@media screen and (max-width:640px){.mech__closing__headline{font-size:1.8rem}}
.mech__closing__text{font-size:1.6rem;line-height:2.2}
@media screen and (max-width:640px){.mech__closing__text{font-size:1.3rem;line-height:2}}

/* ---------- 中間/末尾CTAバナー ---------- */
.banner__content{padding:80px 5%;text-align:center}
@media screen and (max-width:640px){.banner__content{padding:50px 5%}}
.banner__content .message{
	font-size:3.4rem;font-weight:bold;letter-spacing:0.1em;margin-bottom:44px;position:relative;display:inline-block;
}
.banner__content .message em{background:#000;color:#06C755;padding:2px 10px}
.banner__content .message::before,
.banner__content .message::after{
	content:"＼";position:absolute;top:0;font-size:3rem;font-weight:bold;
}
.banner__content .message::before{left:-52px}
.banner__content .message::after{content:"／";right:-52px}
@media screen and (max-width:896px){.banner__content .message{font-size:2.4rem}}
@media screen and (max-width:640px){
	.banner__content .message{font-size:1.7rem;margin-bottom:28px}
	.banner__content .message::before{left:-30px;font-size:1.8rem}
	.banner__content .message::after{right:-30px;font-size:1.8rem}
}
.banner__content__btns{position:relative;max-width:640px;margin:0 auto}
.banner__content__btns .human{position:absolute;right:-240px;bottom:-56px;width:220px}
.banner__content__btns .human img{display:block;width:100%}
@media screen and (max-width:1080px){
	.banner__content__btns .human{position:relative;right:auto;bottom:auto;width:170px;margin:0 auto 20px}
}
.banner__cta_set{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.banner__cta_unit{flex:1;min-width:260px;max-width:320px}
.banner__cta_unit p{font-size:1.5rem;font-weight:bold;margin-bottom:12px}
.banner__cta_unit small{display:block;font-size:1.1rem;margin-top:8px}
.o_c_b-big--line{background:#fff;color:#000}
.o_c_b-big--line:hover{background:#000;color:#fff}

/* ---------- REASON (MERITスタイル) ---------- */
.merit .merit__unit{max-width:960px;width:90%;margin:0 auto 70px;position:relative}
.merit .merit__unit + .merit__unit{margin-top:150px}
@media screen and (max-width:896px){.merit .merit__unit + .merit__unit{margin-top:60px}}
.merit__unit__content{
	position:relative;padding:60px 50px;background:#fff;max-width:540px;width:56%;z-index:3;
	box-shadow:0 10px 40px rgba(0,0,0,.06);
}
@media screen and (max-width:1080px){
	.merit__unit__content{max-width:none;width:100%;padding:36px 28px}
}
/* 交互配置: 奇数(1,3,5)=コンテンツ左/サムネ右、偶数(2,4)=コンテンツ右/サムネ左 */
.merit__unit__thumb{position:absolute;top:-40px;z-index:1;width:52%;max-width:520px}
.merit__unit:nth-of-type(odd) .merit__unit__thumb{right:-120px}
.merit__unit:nth-of-type(even) .merit__unit__thumb{left:-120px}
.merit__unit:nth-of-type(even) .merit__unit__content{margin-left:auto}
@media screen and (max-width:1080px){
	.merit__unit__thumb{position:relative;top:auto;right:auto !important;left:auto !important;width:100%;margin-bottom:20px}
}
.merit__unit__content__number{
	font-family:'Montserrat',sans-serif;font-size:4rem;letter-spacing:-2px;color:#06C755;font-weight:bold;
	margin-bottom:8px;position:relative;padding-left:26px;
}
.merit__unit__content__number::before{
	content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
	width:16px;height:16px;background:#06C755;border-radius:50%;
}
.merit__unit__content__headline{font-size:2.6rem;font-weight:bold;letter-spacing:0.12em;line-height:1.7;margin-bottom:18px}
.merit__unit__content__headline span{display:block}
@media screen and (max-width:1080px){.merit__unit__content__headline{font-size:2.2rem}}
@media screen and (max-width:640px){.merit__unit__content__headline{font-size:1.9rem}}
.merit__unit__content__text{font-size:1.6rem;line-height:2;margin-bottom:18px}
@media screen and (max-width:640px){.merit__unit__content__text{font-size:1.3rem;text-align:justify}}
.merit__tags{display:flex;flex-wrap:wrap;gap:8px}
.merit__tags span{
	background:#06C755;color:#000;font-size:1.2rem;font-weight:bold;
	padding:5px 14px;border-radius:100px;
}

/* ---------- SERVICE (FEATUREスタイル) ---------- */
.feature .feature__unit{display:flex;justify-content:space-between;flex-wrap:wrap}
.feature__unit__item{
	width:100%;padding:50px;margin-bottom:80px;background:#fff;position:relative;
	box-shadow:7px 7px 0 0 #05a044;
}
@media screen and (max-width:640px){.feature__unit__item{padding:30px 22px;margin-bottom:40px}}
.feature__unit__item:nth-of-type(1){width:100%}
.feature__unit__item:nth-of-type(1) .feature__unit__item__box{display:flex;justify-content:space-between}
.feature__unit__item:nth-of-type(1) .inner{width:48%}
.feature__unit__item:nth-of-type(1) .feature__unit__item__box__images{width:46%;min-height:280px}
@media screen and (max-width:896px){
	.feature__unit__item:nth-of-type(1) .feature__unit__item__box{flex-direction:column;gap:26px}
	.feature__unit__item:nth-of-type(1) .inner{width:100%}
	.feature__unit__item:nth-of-type(1) .feature__unit__item__box__images{width:100%;min-height:200px}
}
/* 2-3件目=2列 / 4-6件目=3列 (SITTEと同じ1+2+3グリッド) */
.feature__unit__item:nth-of-type(2),
.feature__unit__item:nth-of-type(3){width:48%;padding:50px}
@media screen and (max-width:1080px){
	.feature__unit__item:nth-of-type(2),
	.feature__unit__item:nth-of-type(3){width:49%}
}
.feature__unit__item:nth-of-type(4),
.feature__unit__item:nth-of-type(5),
.feature__unit__item:nth-of-type(6){width:31%;padding:30px}
@media screen and (max-width:1080px){
	.feature__unit__item:nth-of-type(4),
	.feature__unit__item:nth-of-type(5),
	.feature__unit__item:nth-of-type(6){width:32%}
}
@media screen and (max-width:896px){
	.feature__unit__item:nth-of-type(2),
	.feature__unit__item:nth-of-type(3),
	.feature__unit__item:nth-of-type(4),
	.feature__unit__item:nth-of-type(5),
	.feature__unit__item:nth-of-type(6){width:100%;padding:40px 30px}
}
.feature__unit__item__number{
	font-family:'Montserrat',sans-serif;font-weight:bold;color:#000;font-size:6rem;line-height:1;margin-bottom:16px;
}
.feature__unit__item__headline{font-size:2rem;font-weight:bold;letter-spacing:0.1rem;line-height:1.6;margin-bottom:16px}
.feature__list{margin-bottom:18px}
.feature__list li{
	font-size:1.4rem;line-height:1.9;padding-left:18px;position:relative;
}
.feature__list li::before{
	content:"";position:absolute;left:0;top:0.65em;width:9px;height:9px;background:#06C755;
}
.feature__unit__item__text{font-size:1.5rem;line-height:1.9;opacity:.8}

/* ---------- PRICE ---------- */
.price__cards{display:flex;gap:30px;justify-content:center;align-items:stretch;flex-wrap:wrap}
.price__card{
	background:#fff;border:3px solid #000;border-radius:10px;padding:40px 30px;width:31%;min-width:280px;
	display:flex;flex-direction:column;position:relative;box-shadow:7px 7px 0 0 #05a044;
}
@media screen and (max-width:1080px){.price__card{width:46%}}
@media screen and (max-width:768px){.price__card{width:100%;max-width:420px}}
.price__card--popular{border-color:#000;border-width:4px}
.fukidashi{
	position:absolute;top:-22px;left:50%;transform:translateX(-50%);
	background:#000;color:#06C755;font-size:1.4rem;font-weight:bold;letter-spacing:0.1em;
	padding:8px 26px;border-radius:100px;white-space:nowrap;
}
.price__card__name{font-size:2rem;font-weight:bold;text-align:center;letter-spacing:0.12em;margin-bottom:18px}
.price__card__price{text-align:center;margin-bottom:6px}
.price__card__price .num{
	font-family:'Montserrat',sans-serif;font-size:5.4rem;font-weight:700;letter-spacing:-1px;line-height:1;
	font-variant-numeric:tabular-nums;display:inline-block;text-align:right;
}
.price__card__price small{font-size:1.3rem;font-weight:bold}
.price__card__note{
	text-align:center;font-size:1.3rem;font-weight:bold;background:#e3f7ec;border-radius:100px;
	padding:5px 0;margin-bottom:22px;
}
.price__card__list{flex:1;margin-bottom:26px}
.price__card__list li{
	font-size:1.4rem;line-height:1.8;padding:7px 0 7px 24px;position:relative;border-bottom:1px dashed #ddd;
}
.price__card__list li::before{
	content:"✓";position:absolute;left:2px;top:7px;color:#06C755;font-weight:bold;font-size:1.5rem;
}
.price__card__btn{display:block;width:100%;padding:14px 0}
.price__card__caution{font-size:1.1rem;margin-top:12px;line-height:1.6}
.price__footnote{text-align:center;font-size:1.4rem;margin-top:44px;line-height:1.8}

/* ---------- WORKS (スライダー) ---------- */
.works__slider{position:relative;padding:0 54px}
@media screen and (max-width:640px){.works__slider{padding:0 40px}}
.works__track{
	display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;
	scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:6px 2px 14px;
}
.works__track::-webkit-scrollbar{display:none}
.works__track li{flex:0 0 300px;scroll-snap-align:start}
@media screen and (max-width:640px){.works__track li{flex:0 0 230px}}
.works__track li a{display:block;transition:transform .25s ease}
.works__track li a:hover{transform:translateY(-6px)}
.works__track img{
	width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;
	background:#fff;box-shadow:5px 5px 0 0 #05a044;border:1px solid #eee;
}
.works__track span{display:block;font-size:1.3rem;font-weight:bold;line-height:1.6;margin-top:12px}
@media screen and (max-width:640px){.works__track span{font-size:1.1rem}}
.works__nav{
	position:absolute;top:50%;transform:translateY(-50%);z-index:5;
	width:44px;height:44px;border-radius:50%;background:#000;color:#fff;border:3px solid #000;
	font-size:2.2rem;line-height:1;cursor:pointer;transition:all .2s ease;
	display:flex;align-items:center;justify-content:center;padding-bottom:4px;
}
.works__nav:hover{background:#fff;color:#000}
.works__nav--prev{left:0}
.works__nav--next{right:0}
@media screen and (max-width:640px){.works__nav{width:36px;height:36px;font-size:1.8rem}}

/* ---------- FLOW (STEPスタイル) ---------- */
.step.bg__fff{padding:120px 0}
@media screen and (max-width:640px){.step.bg__fff{padding:50px 0}}
.step__contents{max-width:760px;margin:0 auto}
.step__contents__unit{display:flex;gap:36px;padding:34px 0;align-items:flex-start}
@media screen and (max-width:640px){.step__contents__unit{gap:16px;padding:22px 0}}
.step__contents__unit__left{
	background:#06C755;text-align:center;min-width:120px;width:120px;padding:14px 8px 16px;position:relative;
}
.step__contents__unit__left p{
	font-family:'Montserrat',sans-serif;font-size:1.5rem;font-weight:bold;letter-spacing:0.05em;
}
.step__icon{display:block;width:38px;height:38px;margin:10px auto 2px}
.step__contents__unit__left:not(.step__last)::after{
	content:"";position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);
	border-style:solid;border-width:16px 14px 0 14px;border-color:#06C755 transparent transparent transparent;
}
@media screen and (max-width:640px){
	.step__contents__unit__left{min-width:86px;width:86px}
}
.step__contents__unit__right{flex:1}
.step__contents__unit__right__headline{
	font-size:2rem;font-weight:bold;letter-spacing:0.06em;margin-bottom:10px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;
}
@media screen and (max-width:640px){.step__contents__unit__right__headline{font-size:1.5rem}}
.step__contents__unit__right__headline .chk{color:#06C755;font-size:2.2rem;font-weight:bold}
.step__badge{
	background:#000;color:#06C755;font-size:1.1rem;font-weight:bold;padding:3px 12px;border-radius:100px;
}
.step__contents__unit__right p{font-size:1.4rem;line-height:1.9}
@media screen and (max-width:640px){.step__contents__unit__right p{font-size:1.2rem}}

/* ---------- FAQ ---------- */
.faq__list{max-width:760px;margin:0 auto}
.faq__item{
	background:#fff;border-radius:8px;margin-bottom:16px;box-shadow:0 4px 18px rgba(0,0,0,.05);overflow:hidden;
}
.faq__item summary{
	list-style:none;cursor:pointer;font-size:1.6rem;font-weight:bold;line-height:1.7;
	padding:22px 60px 22px 58px;position:relative;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::before{
	content:"Q";position:absolute;left:20px;top:20px;
	font-family:'Montserrat',sans-serif;font-weight:bold;font-size:1.8rem;color:#fff;
	background:#06C755;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.faq__item summary::after{
	content:"＋";position:absolute;right:22px;top:50%;transform:translateY(-50%);
	font-size:2rem;font-weight:bold;transition:transform .25s;
}
.faq__item[open] summary::after{content:"−"}
.faq__item p{
	font-size:1.4rem;line-height:2;padding:0 24px 24px 58px;position:relative;
}
.faq__item p::before{
	content:"A";position:absolute;left:20px;top:-2px;
	font-family:'Montserrat',sans-serif;font-weight:bold;font-size:1.8rem;
	background:#000;color:#06C755;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
@media screen and (max-width:640px){
	.faq__item summary{font-size:1.3rem;padding:16px 44px 16px 50px}
	.faq__item p{font-size:1.2rem;padding-left:50px}
}

/* ---------- フッター ---------- */
.l-footer-sub{padding:34px 20px 26px;text-align:center}
.l-footer-nap{margin-bottom:18px}
.l-footer-nap__name{font-size:1.5rem;font-weight:bold;margin-bottom:6px}
.l-footer-nap__info{font-size:1.3rem;line-height:1.9}
.l-footer-nap__info a{font-weight:bold}
.l-footer-nap__area{font-size:1.2rem;color:#555;margin-top:4px}
.l-footer-sub__copy{font-size:1.2rem}
.l-footer{background-color:#06C755;padding:34px 20px}
.l-footer__menu__list{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 30px}
.l-footer__menu__list__item a{font-size:1.2rem;font-weight:bold;position:relative;padding-bottom:3px}
.l-footer__menu__list__item a::after{
	content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:#000;transition:width .3s;
}
.l-footer__menu__list__item a:hover::after{width:100%}

/* ハンバーガー内の他ページリンク */
.l-header__hamburger__nav__sub a{background:#fff !important;font-weight:normal !important;color:#555}
.l-header__hamburger__nav__sub:first-of-type{border-top:2px solid #06C755}

/* =========================================================
   SP全面改修 (デザイナーパネル3体の統合案・2026-07-29)
   原則: 640px以下(一部896px)限定でPC承認版に副作用を出さない。
   例外=全幅バグ修正: FAQ「Q」コントラスト / 黄地上の黄マーカー
========================================================= */

/* ---- 全幅バグ修正 ---- */
.faq__item summary::before{color:#000}
.bg__orange .sec_lead .hl{background:#000;color:#06C755;padding:2px 6px}

/* ---- ヒーロー価格行 (PC=旧2行目とほぼ同じ見え方) ---- */
.hero_price{font-size:2rem;font-weight:bold;line-height:1.8;margin-bottom:10px}
.js-on .typ2{opacity:0}

/* ================= 640px以下: SP再設計 ================= */
@media screen and (max-width:640px){

	/* --- ヘッダー64px+ハンバーガー48px当たり判定 --- */
	.l-header{height:64px}
	.l-header__hamburger__button{width:48px;height:48px;top:8px;right:12px}
	.l-header__hamburger__button__bar{left:6px}
	.l-header__hamburger__button__bar1{top:14px}
	.l-header__hamburger__button__bar3{bottom:10px}
	.l-header__hamburger__nav{top:60px}

	/* --- ヒーロー: 縦圧縮+キャッチ強化+価格ジャンプ+CTA同幅 --- */
	.main_visual{padding-bottom:0}
	.main_visual__wrap__box{padding:80px 0 0;gap:20px}
	.hero_en{font-size:1.1rem;letter-spacing:0.22em;margin-bottom:10px}
	.main_copy{font-size:2.4rem;line-height:1.6;margin-bottom:14px}
	.main_copy .mk{padding:2px 8px}
	.main_copy .line:nth-child(3),
	.main_copy .line:nth-child(4){display:inline-block}
	.sub_copy{font-size:1.3rem;line-height:1.7;margin-bottom:4px}
	.hero_price{font-size:1.4rem;margin-bottom:8px;display:flex;align-items:baseline;gap:4px}
	.hero_price__num{
		font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:3.8rem;line-height:1.1;
		background:#b8f0d0;padding:0 8px;letter-spacing:0;
	}
	.hero_price__unit{font-size:1.6rem;font-weight:bold}
	.main_visual .text{font-size:1.4rem;line-height:1.9;margin-bottom:18px}
	.main_visual .text .hl{padding:2px 4px}
	.hero_btns{flex-direction:column;gap:12px}
	.hero_btns .o_c_b{width:100%;max-width:330px}
	/* イラスト接地+黄帯再調整 */
	.main_visual::before{height:52%;clip-path:polygon(0 22%,100% 0,100% 100%,0 100%)}
	.main_visual__wrap__box__images{width:96%;margin:0 auto;padding:14px 0 0}
	.hero_mock{filter:drop-shadow(0 10px 24px rgba(0,0,0,.15))}

	/* --- タイポ階調の再構築 --- */
	.o-c-common__headline__ja{font-size:2.2rem;letter-spacing:0.12em}
	.o-c-common__headline{margin:0 0 32px}
	.sec_lead{font-size:1.4rem;line-height:1.9}
	.bg_base,.bg,.bg__fff{padding:64px 0}
	.bg__orange{padding:64px 0}
	/* 白背景セクションのゴースト英字を1段濃く */
	.bg__fff .o-c-common__headline__en{color:#f1ede4}

	/* --- PROBLEM: 左右交互+しっぽ再設計+中央イラスト座布団 --- */
	.problem__radial{gap:26px;align-items:stretch}
	.problem__center{
		position:relative;width:170px;height:170px;margin:0 auto 6px;order:-1;
		background:#fff;border:3px solid #000;border-radius:50%;overflow:hidden;
		box-shadow:5px 5px 0 0 #05a044;
	}
	.problem__center img{width:100%;height:100%;object-fit:cover;object-position:top}
	.problem__bubble{width:88%;max-width:480px}
	.problem__bubble--p1,.problem__bubble--p3,.problem__bubble--p5{align-self:flex-start;transform:rotate(-0.6deg)}
	.problem__bubble--p2,.problem__bubble--p4,.problem__bubble--p6{align-self:flex-end;transform:rotate(0.6deg)}
	.problem__bubble::before,.problem__bubble::after{inset:auto;margin:0;border:none;display:block}
	.problem__bubble--p1::before,.problem__bubble--p3::before,.problem__bubble--p5::before{
		content:"";position:absolute;right:36px;bottom:-14px;
		border-style:solid;border-width:14px 0 0 16px;border-color:#000 transparent transparent transparent}
	.problem__bubble--p1::after,.problem__bubble--p3::after,.problem__bubble--p5::after{
		content:"";position:absolute;right:39px;bottom:-7px;
		border-style:solid;border-width:9px 0 0 10px;border-color:#fff transparent transparent transparent}
	.problem__bubble--p2::before,.problem__bubble--p4::before,.problem__bubble--p6::before{
		content:"";position:absolute;left:36px;bottom:-14px;
		border-style:solid;border-width:14px 16px 0 0;border-color:#000 transparent transparent transparent}
	.problem__bubble--p2::after,.problem__bubble--p4::after,.problem__bubble--p6::after{
		content:"";position:absolute;left:39px;bottom:-7px;
		border-style:solid;border-width:9px 10px 0 0;border-color:#fff transparent transparent transparent}
	.problem__bubble h3{font-size:1.6rem}
	.problem__bubble p{font-size:1.4rem;line-height:1.9}

	/* --- CONCEPT: 自然折返し+黄座布団 --- */
	.concept__contents{gap:28px}
	.concept__contents__image{width:86%;margin:0 auto;box-shadow:8px 8px 0 0 #06C755}
	.concept__contents__unit__text{font-size:1.4rem;line-height:1.95;margin-bottom:26px}
	.concept__contents__unit__text span{display:inline}

	/* --- ABOUT: フロー2×2グリッド --- */
	.mech__flow{display:grid;grid-template-columns:1fr 1fr;gap:14px;counter-reset:mech}
	.mech__flow__arrow{display:none}
	.mech__flow__item{width:auto;padding:20px 10px 16px;position:relative;counter-increment:mech;border-radius:10px}
	.mech__flow__item::before{
		content:counter(mech,decimal-leading-zero);position:absolute;top:-10px;left:-6px;
		background:#000;color:#06C755;font-family:'Montserrat',sans-serif;font-weight:bold;font-size:1.2rem;
		width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}
	.mech__flow__icon{width:64px;height:64px}
	.mech__flow__item p{font-size:1.3rem;margin-top:10px}
	.mech__closing__text{font-size:1.4rem;line-height:1.9}

	/* --- CTAバナー: 人物を右下に添える+見出し強化 --- */
	.banner__content{padding:64px 5%}
	.banner__content .message{font-size:2rem}
	.banner__content__btns .human{position:absolute;right:-4px;bottom:-30px;width:96px;margin:0;z-index:0}
	.banner__content__btns .o_c_b-big{position:relative;z-index:1;max-width:82%}
	.banner__cta_set{gap:18px}
	.banner__cta_unit p{font-size:1.3rem}
	.banner__cta_unit small{font-size:1.2rem}

	/* --- FUNCTION: 02〜06をコンパクト行型+黒影 --- */
	.feature__unit__item{margin-bottom:32px;padding:24px 20px;box-shadow:5px 5px 0 0 rgba(0,0,0,.85)}
	.feature__unit__item__number{float:left;font-size:3.4rem;line-height:1;margin:0 14px 4px 0}
	.feature__unit__item__headline{font-size:1.7rem;margin-bottom:10px;padding-top:6px}
	.feature__unit__item__text{font-size:1.3rem}
	.feature__unit__item:nth-of-type(1){padding:30px 22px}
	.feature__unit__item:nth-of-type(1) .feature__unit__item__number{float:none;font-size:6rem}

	/* --- FLOW: 点線の背骨+本文14px --- */
	.step__contents{position:relative}
	.step__contents::before{content:"";position:absolute;left:43px;top:20px;bottom:20px;border-left:2px dashed #a8ddc0;z-index:-1}
	.step__contents__unit__right p{font-size:1.4rem;line-height:1.9}
	.step__badge{font-size:1.2rem}

	/* --- PRICE: 組版事故修正+黒影+人気カード強調 --- */
	.price__cards{gap:38px}
	.price__card{box-shadow:5px 5px 0 0 rgba(0,0,0,.85)}
	.price__card--popular{transform:scale(1.02);margin:10px 0}
	.price__card__price .num{font-size:4.2rem}
	.price__card__price small{white-space:nowrap;font-size:1.2rem}
	.price__card__caution{font-size:1.2rem}

	/* --- WORKS / FAQ --- */
	.works__track span{font-size:1.2rem;line-height:1.5}
	.faq__item summary{font-size:1.4rem;min-height:56px}
	.faq__item p{font-size:1.4rem;line-height:1.9}

	/* --- 特徴(MERIT)の間隔圧縮(重なりは896px側で定義) --- */
	.merit .merit__unit + .merit__unit{margin-top:48px}

	/* --- フッター: タップ領域確保 --- */
	.l-footer__menu__list{gap:4px 18px}
	.l-footer__menu__list__item a{display:inline-block;padding:10px 4px}

	/* --- 下部固定CTAバー(固定LINEボタンを置換) --- */
	.fixed_page{display:none !important}
	body{padding-bottom:60px}
	.sp_ctabar{
		position:fixed;left:0;bottom:0;width:100%;height:60px;z-index:400;
		display:flex;border-top:3px solid #000;
	}
	.sp_ctabar a{
		flex:1;display:flex;align-items:center;justify-content:center;
		font-size:1.4rem;font-weight:bold;letter-spacing:0.06em;
	}
	.sp_ctabar__dl{background:#000;color:#fff}
	.sp_ctabar__line{background:#fff;color:#000;border-left:3px solid #000}
}

/* PCでは下部バー非表示 */
@media screen and (min-width:641px){
	.sp_ctabar{display:none}
}

/* ============ 896px以下: 特徴の重なりレイアウト ============ */
@media screen and (max-width:1080px){
	.merit__unit__thumb{width:86%;margin-bottom:0}
	.merit__unit__thumb.right-to-left{margin-left:auto}
	.merit__unit__thumb.left-to-right{margin-right:auto}
	.merit__unit__content{
		width:92%;margin-top:-36px;position:relative;z-index:2;
		box-shadow:5px 5px 0 0 #05a044;
	}
	.merit__unit:has(.right-to-left) .merit__unit__content{margin-right:auto;margin-left:0}
	.merit__unit:has(.left-to-right) .merit__unit__content{margin-left:auto;margin-right:0}
}

/* ---- 追加: 初期費用ブロック / 2カラム料金 / 4カードサービス ---- */
.price__initial{background:#000;color:#fff;border-radius:12px;padding:30px 34px;max-width:760px;margin:0 auto 40px;text-align:center}
.price__initial__label{font-family:'Roboto Condensed',sans-serif;font-weight:700;letter-spacing:0.1em;font-size:1.3rem;color:#06C755;margin-bottom:8px}
.price__initial__price{margin-bottom:8px}
.price__initial__price .num{font-family:'Montserrat',sans-serif;font-size:4.4rem;font-weight:700;letter-spacing:-1px}
.price__initial__price small{font-size:1.4rem;font-weight:bold;margin-left:4px}
.price__initial__note{font-size:1.3rem;line-height:1.8;opacity:.85}
@media screen and (max-width:640px){.price__initial{padding:22px 20px}.price__initial__price .num{font-size:3.4rem}}
.price__cards--2{justify-content:center;gap:34px}
.price__cards--2 .price__card{width:46%;min-width:300px}
@media screen and (max-width:768px){.price__cards--2 .price__card{width:100%;max-width:440px}}
.service4 .feature__unit__item:nth-of-type(2),
.service4 .feature__unit__item:nth-of-type(3),
.service4 .feature__unit__item:nth-of-type(4){width:31%;padding:40px 30px}
@media screen and (max-width:1080px){.service4 .feature__unit__item:nth-of-type(2),.service4 .feature__unit__item:nth-of-type(3),.service4 .feature__unit__item:nth-of-type(4){width:32%}}
@media screen and (max-width:896px){.service4 .feature__unit__item:nth-of-type(2),.service4 .feature__unit__item:nth-of-type(3),.service4 .feature__unit__item:nth-of-type(4){width:100%;padding:40px 30px}}

/* ---- 追加: ヒーロー統計 / パンくず ---- */
.hero_stats{display:flex;gap:26px;margin:2px 0 14px;flex-wrap:wrap}
.hero_stats li{display:flex;flex-direction:column}
.hero_stats__num{font-family:'Montserrat',sans-serif;font-weight:700;font-size:2.6rem;line-height:1.1}
.hero_stats__num small{font-size:1.3rem;margin-left:2px}
.hero_stats__label{font-size:1.1rem;font-weight:bold;opacity:.75;margin-top:2px}
@media screen and (max-width:640px){.hero_stats{gap:18px}.hero_stats__num{font-size:2rem}.hero_stats__label{font-size:1rem}}
.breadcrumb{max-width:1080px;margin:0 auto;padding:16px 20px;font-size:1.2rem;color:#555}
.breadcrumb a{color:#555;text-decoration:underline}
.breadcrumb__sep{margin:0 8px;opacity:.6}
@media screen and (max-width:640px){.breadcrumb{font-size:1.1rem;padding:12px 18px}}
