@charset "UTF-8";
/* ===== おそうじ本舗 岡山東山店 共通スタイル ===== */
:root{
	--c_text:#052b55;
	--c_blue:#107fc2;
	--c_pink:#ff59af;
	--c_line:#04b813;
	--c_sky:#6cc5fc;
	--c_pale:#cfedff;
	--c_white:#fff;
	--f_maru:"Zen Maru Gothic",sans-serif;
	--f_serif:"Noto Serif JP",serif;
	--header_h:93px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header_h)}
body{margin:0;font-family:var(--f_maru);font-weight:500;color:var(--c_text);line-height:1.8;-webkit-font-smoothing:antialiased;background:var(--c_white)}
img,svg{max-width:100%;height:auto;vertical-align:bottom}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,dl,dd,figure{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.inner{width:min(100% - 40px,1100px);margin-inline:auto}

/* フェードイン（main.js） */
.js_fade{opacity:0;translate:0 30px;transition:opacity .9s ease-out,translate .9s ease-out}
.js_fade.is_show{opacity:1;translate:none}

/* 泡：ふわふわ */
.bubble{animation:bubble_float 6s ease-in-out infinite alternate}
.bubble:nth-child(2n){animation-duration:7.5s;animation-delay:-2s}
.bubble:nth-child(3n){animation-duration:5.2s;animation-delay:-4s}
@keyframes bubble_float{
	0%{transform:translate(0,0)}
	50%{transform:translate(6px,-14px)}
	100%{transform:translate(-4px,-24px)}
}
@media (prefers-reduced-motion:reduce){
	.js_fade{opacity:1;translate:none;transition:none}
	.bubble{animation:none}
}

/* ===== header ===== */
.header{position:fixed;top:0;left:0;z-index:100;display:flex;align-items:flex-start;width:100%;height:var(--header_h);padding-right:218px;background:var(--c_white)}

.header_logo{flex-shrink:0;margin:11px 0 0 8px;font-size:inherit;line-height:0}
.header_logo a{display:flex;align-items:flex-end;transition:opacity .3s}
.header_logo a:hover{opacity:.7}
.header_logo img{width:270px}
.header_logo_shop{margin-bottom:4px;font-family:var(--f_serif);font-size:24px;font-weight:900;line-height:1;letter-spacing:.08em;color:var(--c_blue);white-space:nowrap}

.header_nav{margin:30px 43px 0 auto}
.header_nav_list{display:flex;gap:30px}
.header_nav_item a{display:block;font-size:16px;line-height:2;letter-spacing:.08em;white-space:nowrap;transition:color .3s}
.header_nav_item a:hover{color:var(--c_pink)}

.header_tel{position:relative;flex-shrink:0;width:305px;height:66px;margin-top:17px;transition:opacity .3s}
.header_tel:hover{opacity:.7}
.header_tel_icon{position:absolute;top:0;left:0;width:55px}
.header_tel_num{position:absolute;top:6px;left:69px;font-family:var(--f_serif);font-size:32px;font-weight:400;line-height:1;letter-spacing:.08em;-webkit-text-stroke:1px currentColor;white-space:nowrap}
.header_tel_hours{position:absolute;top:34px;left:59px;font-size:16px;line-height:2;letter-spacing:.08em;white-space:nowrap}

.header_contact{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:center;width:200px;height:120px;padding-top:20px;border-radius:0 0 15px 15px;background:var(--c_pink);box-shadow:inset 0 0 0 2px var(--c_pink);color:var(--c_white);transition:background-color .3s,color .3s}
.header_contact_icon{display:block;width:49px;line-height:0}
.header_contact_icon svg{display:block;width:100%}
.header_contact_text{margin-top:8px;font-family:var(--f_serif);font-size:16px;font-weight:900;line-height:1.35;text-align:center;white-space:nowrap}
.header_contact:hover{background:var(--c_white);color:var(--c_pink)}

.header_sp{display:none}

@media (max-width:1919px){
	.header_logo img{width:230px}
	.header_logo_shop{font-size:20px;margin-bottom:3px}
	.header_nav{margin-right:30px}
	.header_nav_list{gap:20px}
	.header_nav_item a{font-size:15px;letter-spacing:.05em}
}
@media (max-width:1699px){
	.header{padding-right:175px}
	.header_logo{margin-top:16px}
	.header_logo img{width:200px}
	.header_logo_shop{font-size:17px}
	.header_nav{margin-right:20px}
	.header_nav_list{gap:16px}
	.header_nav_item a{font-size:14px;letter-spacing:.02em}
	.header_tel{width:228px;margin-top:20px}
	.header_tel_icon{width:44px}
	.header_tel_num{top:4px;left:54px;font-size:24px;letter-spacing:.05em}
	.header_tel_hours{top:28px;left:46px;font-size:13px;letter-spacing:.04em}
	.header_contact{width:160px;height:110px;padding-top:20px}
	.header_contact_icon{width:42px}
	.header_contact_text{font-size:14px}
}
@media (max-width:1439px){
	.header_logo img{width:180px}
	.header_logo_shop{font-size:15px;margin-bottom:2px}
	.header_nav_list{gap:14px}
	.header_nav_item a{font-size:13px;letter-spacing:0}
	.header_tel{width:44px}
	.header_tel_num,.header_tel_hours{display:none}
}

/* SP ヘッダー（375 基準を --s で拡大） */
@media (max-width:1279px){
	:root{--s:1.4;--header_h:calc(50px * var(--s))}
	.header{align-items:center;padding-right:0}
	.header_nav,.header_tel,.header_contact{display:none}
	.header_logo{margin:0 0 0 calc(5px * var(--s))}
	.header_logo img{width:calc(146px * var(--s))}
	.header_logo_shop{margin-bottom:calc(2px * var(--s));font-size:calc(12.7px * var(--s))}
	.header_sp{display:flex;align-items:center;height:100%;margin-left:auto}
	.header_sp_icon{display:block;width:calc(30px * var(--s));margin-right:calc(5px * var(--s));line-height:0;transition:opacity .3s}
	.header_sp_icon:nth-child(2){margin-right:calc(10px * var(--s))}
	.header_sp_icon:hover{opacity:.7}
	.header_sp_icon img{width:100%}
	.header_toggle{position:relative;display:block;width:calc(50px * var(--s));height:100%;background:var(--c_blue);color:var(--c_white)}
	.header_toggle_bar{position:absolute;top:calc(11px * var(--s));left:calc(10px * var(--s));width:calc(30px * var(--s));height:calc(17px * var(--s))}
	.header_toggle_bar span{position:absolute;left:0;width:100%;height:1px;background:currentColor}
	.header_toggle_bar span:nth-child(1){top:0}
	.header_toggle_bar span:nth-child(2){top:calc(8px * var(--s))}
	.header_toggle_bar span:nth-child(3){top:calc(16px * var(--s))}
	.header_toggle_text{position:absolute;top:calc(32px * var(--s));left:0;width:100%;font-family:var(--f_serif);font-size:calc(8px * var(--s));line-height:1;text-align:center}
}
@media (max-width:767px){
	:root{--s:1}
}
@media (max-width:359px){
	.header_logo img{width:120px}
	.header_logo_shop{font-size:11px}
}

/* ===== drawer ===== */
.drawer{position:fixed;inset:0;z-index:200;background:var(--c_white);opacity:0;visibility:hidden;overflow-y:auto;transition:opacity .3s,visibility .3s}
.drawer_inner{width:min(100%,calc(375px * var(--s,1)));margin:0 auto;padding:calc(99px * var(--s,1)) calc(20px * var(--s,1)) 40px}
.is_menu_open{overflow:hidden}
.is_menu_open .drawer{opacity:1;visibility:visible}
.drawer_close{position:absolute;top:calc(19px * var(--s,1));right:calc(16px * var(--s,1));width:calc(42px * var(--s,1));height:calc(42px * var(--s,1))}
.drawer_close span{position:absolute;top:50%;left:50%;width:calc(30px * var(--s,1));height:1px;background:var(--c_text)}
.drawer_close span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
.drawer_close span:nth-child(2){transform:translate(-50%,-50%) rotate(-45deg)}

.drawer_nav_item a{display:flex;align-items:center;justify-content:space-between;padding:calc(10px * var(--s,1)) calc(7px * var(--s,1)) calc(10px * var(--s,1)) calc(8px * var(--s,1));border-bottom:1px solid var(--c_text);font-size:calc(14px * var(--s,1));line-height:1;transition:color .3s}
.drawer_nav_item:first-child a{padding-top:0}
.drawer_nav_item:last-child a{border-bottom:0}
.drawer_nav_item a:hover{color:var(--c_pink)}
.drawer_nav_arrow{flex:none;width:calc(24px * var(--s,1));line-height:0;color:var(--c_blue);--arrow:var(--c_white);transition:transform .3s}
.drawer_nav_arrow svg{display:block;width:100%}
.drawer_nav_item a:hover .drawer_nav_arrow{transform:translateX(4px)}
.drawer_btns{display:flex;flex-direction:column;gap:calc(10px * var(--s,1));margin-top:calc(50px * var(--s,1))}
.drawer_btns .cta_btn{--bu:calc(.93px * var(--s,1));width:100%;font-weight:500}

/* ===== 共通 CTA ボタン（LINE／無料お問い合わせ） 360×80 基準、--bu(1px相当) で拡縮 ===== */
.cta_btn{--bu:1px;position:relative;display:block;width:calc(360 * var(--bu));height:calc(80 * var(--bu));border-radius:calc(50 * var(--bu));color:var(--c_white);font-size:calc(22 * var(--bu));font-weight:700;line-height:1;letter-spacing:0;white-space:nowrap;transition:background-color .3s,color .3s,box-shadow .3s}
.cta_btn>span{position:absolute;top:50%;line-height:0;transform:translateY(-50%)}
.cta_btn svg{display:block;width:100%}
.cta_btn_text{line-height:1 !important}
.cta_btn_arrow{right:calc(11 * var(--bu));width:calc(40 * var(--bu));--arrow:var(--c_brand)}
.cta_btn_line{--c_brand:var(--c_line);background:var(--c_line);box-shadow:inset 0 0 0 2px var(--c_line)}
.cta_btn_line .cta_btn_icon{left:calc(19 * var(--bu));width:calc(47 * var(--bu));--dot:var(--c_line)}
.cta_btn_line .cta_btn_text{left:calc(77 * var(--bu))}
.cta_btn_mail{--c_brand:var(--c_pink);background:var(--c_pink);box-shadow:inset 0 0 0 2px var(--c_pink)}
.cta_btn_mail .cta_btn_icon{left:calc(34 * var(--bu));width:calc(38 * var(--bu))}
.cta_btn_mail .cta_btn_text{left:calc(101 * var(--bu))}
.cta_btn:hover{background:var(--c_white);color:var(--c_brand)}
.cta_btn:hover .cta_btn_icon{--dot:var(--c_white)}
.cta_btn:hover .cta_btn_arrow{--arrow:var(--c_white)}

/* ===== footer ===== */
.footer{position:relative;overflow:hidden;padding-bottom:39px;letter-spacing:.08em}
.footer_bg{position:absolute;top:286px;left:0;right:0;bottom:0;background:url(../img/common/footer_bg.jpg) center/cover no-repeat;pointer-events:none}
.footer_wave{position:absolute;top:468px;left:calc(50% - 1190px);width:2364px;max-width:none;height:457px}
.footer_bubble{position:absolute;top:calc((var(--y) - 286) * 1px);left:calc(50% + (var(--x) - 960) * 1px);width:calc(var(--w) * 1px);max-width:none}

/* お問い合わせボックス（1440 基準を --u で拡縮） */
.footer_cta{position:relative;z-index:1;width:min(1440px,calc(100% - 40px));margin:0 auto}
.cta_wrap,.footer_cta{container-type:inline-size}
.cta_box{--u:calc(100cqw / 1440);position:relative;height:calc(486 * var(--u))}
.cta_box::before{content:"";position:absolute;top:calc(111 * var(--u));left:0;width:100%;height:calc(375 * var(--u));border:3px solid var(--c_white);border-radius:calc(30 * var(--u));background:var(--c_sky)}
.cta_box_person{position:absolute;top:calc(-9 * var(--u));left:calc(22 * var(--u));width:calc(428 * var(--u))}
.cta_box_badge{position:absolute;top:calc(126 * var(--u));left:calc(287 * var(--u));display:flex;align-items:center;justify-content:center;width:calc(256 * var(--u));aspect-ratio:1;padding-top:calc(4 * var(--u));background:url(../img/common/cta_badge.svg) center/calc(234 * var(--u)) no-repeat;font-family:var(--f_serif);font-size:calc(32 * var(--u));font-weight:700;line-height:1.5;letter-spacing:.08em;text-align:center;color:var(--c_white)}
.cta_box_body{position:absolute;top:calc(114 * var(--u));left:calc(535 * var(--u));width:calc(735 * var(--u));text-align:center}
.cta_box_en{position:absolute;top:0;left:0;width:100%;font-size:calc(128 * var(--u));font-weight:700;line-height:1;letter-spacing:.1em;color:rgba(255,255,255,.1);pointer-events:none}
.cta_box_title{position:relative;margin-top:calc(21 * var(--u));font-family:var(--f_serif);font-size:calc(32 * var(--u));font-weight:700;line-height:2;letter-spacing:.08em;color:var(--c_white)}
.cta_box_title::before{content:"";position:absolute;top:calc(10 * var(--u));left:50%;width:calc(574 * var(--u));height:calc(44 * var(--u));background:url(../img/common/cta_slash.svg) center/100% 100% no-repeat;transform:translateX(-50%)}
.cta_box_tel{position:relative;display:block;height:calc(120 * var(--u));margin-top:calc(17 * var(--u));border-radius:calc(60 * var(--u));background:var(--c_white);text-align:left}
.cta_box_tel_num{position:absolute;top:calc(16 * var(--u));left:calc(138 * var(--u));display:flex;align-items:flex-start;gap:calc(14 * var(--u));font-family:var(--f_serif);font-size:calc(48 * var(--u));font-weight:900;line-height:1;letter-spacing:.05em;white-space:nowrap;transition:color .3s}
.cta_box_tel_num img{width:calc(70 * var(--u));margin-top:calc(10 * var(--u))}
.cta_box_tel_hours{position:absolute;top:calc(82 * var(--u));left:calc(204 * var(--u));font-size:calc(20 * var(--u));font-weight:700;line-height:1;letter-spacing:0;white-space:nowrap}
.cta_box_tel:hover .cta_box_tel_num{color:var(--c_blue)}
.cta_box_btns{display:flex;justify-content:space-between;margin-top:calc(25 * var(--u))}
.cta_box_btns .cta_btn{--bu:var(--u)}

/* フッター本体 */
.footer_inner{position:relative;width:min(1100px,calc(100% - 80px));margin:84px auto 0}
.footer_top{display:flex;justify-content:space-between;gap:40px}
.footer_logo{display:flex;align-items:flex-end;width:fit-content;margin-left:-10px;line-height:0;transition:opacity .3s}
.footer_logo:hover{opacity:.7}
.footer_logo img{width:270px}
.footer_logo_shop{margin-bottom:4px;font-family:var(--f_serif);font-size:24px;font-weight:900;line-height:1;letter-spacing:.08em;color:var(--c_blue);white-space:nowrap}
.footer_address{margin-top:30px;font-size:16px;line-height:2}
.footer_address a{transition:color .3s}
.footer_address a:hover{color:var(--c_pink)}
.footer_nav{display:flex;gap:50px;margin-top:91px}
.footer_nav_list{display:flex;flex-direction:column;gap:20px}
.footer_nav_list a{display:block;font-size:16px;line-height:1;white-space:nowrap;transition:color .3s}
.footer_nav_list a:hover{color:var(--c_pink)}

.footer_bottom{display:flex;align-items:flex-start;justify-content:space-between;margin-top:54px}
.footer_line{display:block;width:39px;line-height:0;color:var(--c_line);--dot:var(--c_white);transition:opacity .3s}
.footer_line svg{display:block;width:100%}
.footer_line:hover{opacity:.7}
.footer_pagetop{display:flex;align-items:center;gap:15px;margin:-8px 2px 0 0;font-size:16px;font-weight:700;line-height:1;transition:color .3s}
.footer_pagetop_icon{display:block;width:26px;line-height:0}
.footer_pagetop_icon svg{display:block;width:100%}
.footer_pagetop:hover{color:var(--c_pink)}
.footer_copy{margin:248px 0 0 434px;font-size:16px;line-height:1;letter-spacing:0}
.footer_copy small{font-size:inherit}

@media (max-width:1279px){
	.footer_inner{width:calc(100% - 80px)}
	.footer_copy{margin-left:0;text-align:center}
	.footer{padding-bottom:calc(39px + 50px * var(--s))}
}

@media (max-width:1023px){
	.footer_bg{top:120px}
	.footer_cta{width:calc(100% - 40px);max-width:640px}
	.cta_wrap,.footer_cta{container-type:normal}
	.cta_box{--u:1px;height:auto;padding:150px 20px 30px}
	.cta_box::before{top:60px;height:calc(100% - 60px);border-radius:20px}
	.cta_box_person{top:0;left:50%;width:200px;margin-left:-160px}
	.cta_box_badge{top:52px;left:50%;width:140px;margin-left:30px;padding-top:2px;background-size:128px;font-size:18px}
	.cta_box_body{position:relative;top:auto;left:auto;width:100%;margin-top:70px}
	.cta_box_en{top:-6px;font-size:clamp(48px,13vw,96px)}
	.cta_box_title{margin-top:0;font-size:clamp(16px,4.6vw,24px)}
	.cta_box_title::before{top:6px;width:calc(100% + 10px);max-width:440px;height:30px}
	.cta_box_tel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:auto;margin-top:12px;padding:16px 10px;border-radius:50px;text-align:center}
	.cta_box_tel_num,.cta_box_tel_hours{position:static}
	.cta_box_tel_num{align-items:center;gap:8px;font-size:clamp(26px,7.4vw,40px)}
	.cta_box_tel_num img{width:clamp(40px,11vw,60px);margin-top:0}
	.cta_box_tel_hours{font-size:clamp(12px,3.4vw,16px)}
	.cta_box_btns{flex-direction:column;align-items:center;gap:10px;margin-top:16px}
	.cta_box_btns .cta_btn{--bu:.93px;width:100%;max-width:400px}

	.footer_inner{width:calc(100% - 40px);margin-top:60px}
	.footer_top{flex-direction:column;gap:36px}
	.footer_nav{margin-top:0}
	.footer_bottom{align-items:center;margin-top:40px}
	.footer_pagetop{margin-top:0}
	.footer_copy{margin-top:120px}

	.footer_wave{top:auto;bottom:-40px;left:-60%;width:250%;height:auto}
	.footer_bubble{top:auto;bottom:calc((1179 - var(--y) - 120) / 893 * 100%);left:calc(var(--x) / 1920 * 100%);width:calc(var(--w) * .45px)}
}
@media (max-width:767px){
	.cta_box{padding:130px 15px 24px}
	.cta_box_btns .cta_btn{--bu:min(.93px,calc((100vw - 70px) / 335 * .93))}
	.cta_box_person{width:170px;margin-left:-140px}
	.cta_box_badge{top:40px;width:124px;margin-left:16px;background-size:112px;font-size:16px}
	.cta_box_body{margin-top:62px}
	.footer_inner{margin-top:50px}
	.footer_logo img{width:200px}
	.footer_logo_shop{font-size:18px;margin-bottom:3px}
	.footer_address{margin-top:18px;font-size:13px;letter-spacing:.04em}
	.footer_nav{gap:30px}
	.footer_nav_list{gap:16px}
	.footer_nav_list a{font-size:13px;letter-spacing:.04em}
	.footer_pagetop{font-size:14px}
	.footer_copy{margin-top:90px;font-size:11px}
	.footer_bubble_3,.footer_bubble_4,.footer_bubble_5,.footer_bubble_6{display:none}
}

/* ===== 共通ユーティリティ ===== */
.c_navy{color:var(--c_text)}
.c_blue{color:var(--c_blue)}
.c_white{color:var(--c_white)}
.c_pink{color:var(--c_pink)}

/* ===== TOP：FV（PC 1920×1080／SP 375×675 のステージを --u で比率固定） ===== */
.fv{position:relative;overflow:hidden;container-type:inline-size;background:var(--c_sky)}
.fv_stage{--u:calc(100cqw / 1920);position:relative;height:calc(1080 * var(--u));background:url(../img/top/fv_bg_pc.jpg) 0 0/100% 100% no-repeat}
.fv_stage>*{position:absolute}
.fv_bubble{top:calc(var(--y) * var(--u));left:calc(var(--x) * var(--u));width:calc(var(--w) * var(--u));max-width:none;opacity:var(--o,1)}
.fv_circle{border:calc(3 * var(--u)) solid var(--c_white);border-radius:50%;max-width:none;object-fit:cover}
.fv_washer{top:calc(739 * var(--u));left:calc(1043 * var(--u));width:calc(341 * var(--u));height:calc(341 * var(--u))}
.fv_gas{top:calc(590 * var(--u));left:calc(500 * var(--u));width:calc(275 * var(--u));height:calc(275 * var(--u))}
.fv_sparkle{top:calc(158 * var(--u));left:calc(433 * var(--u));width:calc(87 * var(--u));animation:fv_twinkle 2.4s ease-in-out infinite}
@keyframes fv_twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}

/* 英字：右から左へスライド */
.fv_marquee{top:calc(903 * var(--u));left:0;width:100%;overflow:hidden;pointer-events:none}
.fv_marquee_track{display:flex;width:max-content;animation:fv_marquee 40s linear infinite}
.fv_marquee_track span{flex:none;padding-right:.08em;font-family:var(--f_serif);font-size:calc(128 * var(--u));font-weight:900;line-height:1.5;letter-spacing:0;color:rgba(207,237,255,.7);white-space:nowrap}
@keyframes fv_marquee{from{transform:translateX(calc(-702 * var(--u)))}to{transform:translateX(calc(-702 * var(--u) - 50%))}}

/* キャッチ（Figma 原点 65,204 からの相対座標 × --cu） */
.fv_copy{--cu:var(--u);top:calc(204 * var(--u));left:calc(65 * var(--u));width:calc(957 * var(--cu));height:calc(708 * var(--cu))}
.fv_copy>*,.fv_copy_glow>*,.fv_catch>span{position:absolute}
.fv_catch span{letter-spacing:.08em}
.fv_copy_map{top:calc(237 * var(--cu));left:calc(-2 * var(--cu));width:calc(174.5 * var(--cu));max-width:none}
.fv_copy_glow{inset:0;filter:drop-shadow(0 0 calc(10 * var(--cu)) #fff)}
.fv_copy_brush{top:calc(134.5 * var(--cu));left:calc(404.5 * var(--cu));width:calc(759.5 * var(--cu));max-width:none;transform:translate(-50%,-50%) rotate(-2.7deg)}
.fv_catch{position:absolute;inset:0;font-family:var(--f_serif);font-weight:700;line-height:1;white-space:nowrap;-webkit-text-stroke:calc(3 * var(--cu)) rgba(255,255,255,.5);paint-order:stroke fill}
.fv_catch_1{top:0;left:calc(12 * var(--cu));font-size:calc(84 * var(--cu));line-height:calc(128 * var(--cu));color:var(--c_pink)}
.fv_catch_big{font-size:calc(128 * var(--cu))}
.fv_catch_2{top:calc(168 * var(--cu));left:calc(22 * var(--cu));font-size:calc(84 * var(--cu));color:var(--c_blue)}
.fv_catch_ex{top:calc(208 * var(--cu));left:calc(493 * var(--cu));font-family:var(--f_maru);font-size:calc(96 * var(--cu));color:var(--c_blue);transform:translate(-50%,-50%) rotate(20deg)}
.fv_catch_3{top:calc(292 * var(--cu));left:calc(20 * var(--cu));font-size:calc(64 * var(--cu));color:var(--c_text)}

.fv_points{position:absolute;top:calc(423 * var(--cu));left:calc(25 * var(--cu))}
.fv_point{position:relative;display:flex;align-items:center;width:calc(var(--bw) * var(--cu));height:calc(75 * var(--cu));margin-bottom:calc(30 * var(--cu));padding-left:calc(71 * var(--cu));border-radius:calc(10 * var(--cu));background:var(--c_sky);box-shadow:0 0 calc(10 * var(--cu)) rgba(16,127,194,.25);font-size:calc(32 * var(--cu));font-weight:700;line-height:1;letter-spacing:.08em;white-space:nowrap;color:var(--c_text)}
.fv_point_icon{position:absolute;top:calc(18 * var(--cu));left:calc(21 * var(--cu));width:calc(40 * var(--cu));line-height:0}
.fv_point_icon svg{display:block;width:100%;height:auto}

.is_sp_only{display:none}

@media (prefers-reduced-motion:reduce){
	.fv_marquee_track,.fv_sparkle{animation:none}
}

@media (max-width:767px){
	.fv_stage{--u:calc(100cqw / 375);height:calc(675 * var(--u));background-image:url(../img/top/fv_bg_sp.jpg)}
	.is_pc_only{display:none}
	.is_sp_only{display:block}
	.fv_bubble{top:calc(var(--sy) * var(--u));left:calc(var(--sx) * var(--u));width:calc(var(--sw) * var(--u));opacity:var(--so,1)}
	.fv_gas{top:calc(223 * var(--u));left:calc(-21 * var(--u));width:calc(139 * var(--u));height:calc(139 * var(--u))}
	.fv_marquee{top:calc(579 * var(--u))}
	.fv_marquee_track span{font-size:calc(61.3 * var(--u))}
	@keyframes fv_marquee{from{transform:translateX(calc(-1093 * var(--u)))}to{transform:translateX(calc(-1093 * var(--u) - 50%))}}
	.fv_copy{--cu:calc(var(--u) * .3781);top:calc(344.7 * var(--u));left:calc(10 * var(--u))}
	.fv_catch{-webkit-text-stroke-width:calc(1.13 * var(--u))}
}

/* ===== 下層ページ共通 FV（PC 1920×704 を --u で比率固定） ===== */
.page_fv{position:relative;container-type:inline-size}
.page_fv_stage{--u:calc(100cqw / 1920);position:relative;height:calc(704 * var(--u));background:#fff center/cover no-repeat;color:var(--c_white)}
.page_fv_stage::before{content:"";position:absolute;inset:0;background:rgba(5,43,85,.4)}
.page_fv_stage>*{position:absolute;margin:0}
.page_fv_en{top:calc(221.9 * var(--u));left:calc(252.8 * var(--u));font-family:var(--f_serif);font-size:calc(150 * var(--u));font-weight:400;line-height:1;letter-spacing:.08em;white-space:nowrap;transform:matrix(1,0,-.1736,.9848,0,0);transform-origin:0 0}
.page_fv_ja{top:calc(379 * var(--u));left:calc(240 * var(--u));font-family:var(--f_maru);font-size:calc(48 * var(--u));font-weight:700;line-height:2;letter-spacing:.08em;white-space:nowrap}
.page_fv_crumb{top:calc(479 * var(--u));left:calc(240 * var(--u));display:flex;align-items:center;height:calc(32 * var(--u));font-size:calc(16 * var(--u));font-weight:700;line-height:2;letter-spacing:.08em;white-space:nowrap}
.page_fv_crumb_home{display:block;width:calc(20 * var(--u));margin-top:calc(-1 * var(--u));line-height:0;color:var(--c_sky);transition:opacity .3s}
.page_fv_crumb_home:hover{opacity:.7}
.page_fv_crumb_home svg{display:block;width:100%;height:auto}
.page_fv_crumb_current{display:flex;align-items:center}
.page_fv_crumb_current::before{content:"";display:block;width:calc(18 * var(--u));height:calc(2 * var(--u));margin:0 calc(10 * var(--u));background:var(--c_white)}

@media (max-width:767px){
	.page_fv_stage{--u:calc(100cqw / 375);height:calc(280 * var(--u));background-position:center}
	.page_fv_en{top:calc(92 * var(--u));left:calc(28 * var(--u));font-size:calc(52 * var(--u))}
	.page_fv_ja{top:calc(150 * var(--u));left:calc(20 * var(--u));font-size:calc(22 * var(--u))}
	.page_fv_crumb{top:calc(204 * var(--u));left:calc(20 * var(--u));height:calc(24 * var(--u));font-size:calc(12 * var(--u))}
	.page_fv_crumb_home{width:calc(16 * var(--u))}
	.page_fv_crumb_current::before{width:calc(14 * var(--u));margin:0 calc(8 * var(--u))}
}

/* ===== TOP 共通：1920 基準ステージ（1024 以上。--u は .62〜1px） ===== */
.top_intro,.top_worry{position:relative;container-type:inline-size;overflow-x:clip}
.top_stage{--u:clamp(.62px,100cqw / 1920,1px);position:relative;width:calc(1920 * var(--u));margin-left:calc(50% - 960 * var(--u))}
.top_stage .bubble{position:absolute;top:calc(var(--y) * var(--u));left:calc(var(--x) * var(--u));width:calc(var(--w) * var(--u));max-width:none}

/* ===== TOP：導入（Figma y1080〜2320） ===== */
.top_intro{background:linear-gradient(var(--c_sky) 0,var(--c_sky) calc(107 * clamp(.62px,100cqw / 1920,1px)),var(--c_pale) calc(664 * clamp(.62px,100cqw / 1920,1px)))}
.top_intro_stage{height:calc(1240 * var(--u))}
.top_intro_box{position:absolute;top:calc(145 * var(--u));left:calc(240 * var(--u));width:calc(1440 * var(--u));filter:drop-shadow(0 0 calc(20 * var(--u)) rgba(16,127,194,.25))}
.top_intro_paper{position:relative;height:calc(709 * var(--u));border-radius:calc(30 * var(--u));background:url(../img/common/footer_bg.jpg) center/cover no-repeat;text-align:center}
.top_intro_title{position:absolute;top:calc(87 * var(--u));left:0;width:100%;font-family:var(--f_serif);font-size:calc(48 * var(--u));font-weight:500;line-height:1.5;letter-spacing:.08em}
.top_intro_brush{position:absolute;top:calc(222 * var(--u));left:calc(336 * var(--u));width:calc(733.7 * var(--u));max-width:none;transform:rotate(-.8deg)}
.top_intro_text{position:absolute;top:calc(314 * var(--u));left:calc(170 * var(--u));width:calc(1100 * var(--u));font-size:calc(22 * var(--u));line-height:2;letter-spacing:0}
.top_intro_cta{position:absolute;top:calc(434 * var(--u));left:calc(1 * var(--u));width:calc(1440 * var(--u))}
.cta_box.is_tilt .cta_box_badge{transform:rotate(-6.4deg)}
.cta_box.is_tilt .cta_box_tel_hours{font-weight:500}

/* ===== TOP：お悩み（Figma y2320〜3875） ===== */
.top_tiles{--tu:clamp(.62px,100cqw / 1920,1px);container-type:inline-size;background:#fff url(../img/common/tile_bg.jpg) center calc(var(--ty,55) * var(--tu))/calc(1920 * var(--tu)) auto repeat}
/* ページ最後がタイルのとき、フッター上部（背景画像が始まるまで）の裏までタイルを続ける（Figma 同様） */
main>.top_tiles:last-child,main>.fq_page:last-child,main>.co_outline:last-child{margin-bottom:-286px;padding-bottom:286px}
@media (max-width:1023px){main>.top_tiles:last-child,main>.fq_page:last-child,main>.co_outline:last-child{margin-bottom:-120px;padding-bottom:120px}}
.top_worry{height:calc(1555 * clamp(.62px,100cqw / 1920,1px))}
.top_worry_concrete{position:absolute;top:0;left:0;width:100%;height:calc(1440 * clamp(.62px,100cqw / 1920,1px));object-fit:cover;-webkit-mask-image:linear-gradient(#000 0,transparent 76%);mask-image:linear-gradient(#000 0,transparent 76%)}
.top_worry_stage{height:100%}
.top_worry_stage>*{position:absolute;margin:0;max-width:none}
.top_worry_ans{top:calc(1007 * var(--u));left:0;width:100%;font-family:var(--f_serif);font-size:calc(48 * var(--u));font-weight:500;line-height:1;text-align:center}
.top_worry_ans_i{letter-spacing:-.1em}
.top_worry_chevron{top:calc(1080 * var(--u));left:calc(870 * var(--u));width:calc(180 * var(--u))}
.top_worry_woman{top:calc(245 * var(--u));left:calc(613 * var(--u));width:calc(701 * var(--u))}
.top_worry_title{top:0;left:0;width:100%;height:0;font-family:var(--f_serif);font-weight:500;line-height:1;color:var(--c_white);filter:drop-shadow(0 0 calc(10 * var(--u)) rgba(0,0,0,.25))}
.top_worry_lead{position:absolute;top:calc(151 * var(--u));left:calc(547 * var(--u));display:flex;justify-content:center;width:calc(826 * var(--u));height:calc(81 * var(--u));padding-top:calc(19 * var(--u));border:calc(3 * var(--u)) solid var(--c_white);font-size:calc(48 * var(--u));letter-spacing:0;white-space:nowrap}
.top_worry_q{position:absolute;top:calc(249 * var(--u));left:0;width:100%;font-size:calc(48 * var(--u));text-align:center;letter-spacing:0;white-space:nowrap}
.top_worry_q_big{font-size:calc(64 * var(--u))}
.top_worry_swirl{top:calc(126 * var(--u));left:calc(455 * var(--u));width:calc(79 * var(--u))}
.top_worry_list{top:0;left:0}
.top_worry_item{position:absolute;top:calc(var(--y) * var(--u));left:calc(var(--x) * var(--u));display:flex;align-items:center;justify-content:center;width:calc(340 * var(--u));height:calc(155 * var(--u));border-radius:calc(77.5 * var(--u));background:var(--c_white);font-size:calc(20 * var(--u));line-height:1.75;letter-spacing:0;text-align:center;white-space:nowrap}
.top_worry_item::after{content:"";position:absolute;top:calc(143 * var(--u));left:calc(231 * var(--u));width:calc(33 * var(--u));height:calc(37 * var(--u));background:var(--c_white);clip-path:polygon(100% 0,0 0,100% 100%)}
.top_worry_item.is_flip::after{left:calc(76 * var(--u));transform:scaleX(-1)}
.top_worry_blur{width:calc(568 * var(--u));pointer-events:none}
.top_worry_blur_l{top:calc(976 * var(--u));left:calc(-57 * var(--u))}
.top_worry_blur_r{top:calc(1017 * var(--u));left:calc(1413 * var(--u))}
.top_worry_msg{top:calc(1178 * var(--u));left:0;width:100%;font-family:var(--f_serif);font-weight:500;line-height:1;letter-spacing:0;text-align:center}
.top_worry_msg_1{font-size:calc(32 * var(--u))}
.top_worry_msg_2{margin-top:calc(15 * var(--u));font-size:calc(36 * var(--u));color:var(--c_pink)}
.top_worry_msg_3{position:relative;display:inline-block;margin-top:calc(30 * var(--u));font-size:calc(40 * var(--u));line-height:2;white-space:nowrap}
.top_worry_msg_3 .c_pink{font-size:calc(48 * var(--u))}
.top_worry_msg_3::after{content:"";position:absolute;top:calc(87.5 * var(--u));left:calc(6 * var(--u));width:calc(1100 * var(--u));height:calc(3 * var(--u));background:var(--c_text)}

/* TOP 導入・お悩み：SP（1023 以下は縦積み） */
@media (max-width:1023px){
	.top_stage{width:auto;margin-left:0}
	.top_intro{background:linear-gradient(var(--c_sky) 0,var(--c_pale) 70%)}
	.top_intro_stage{height:auto;padding:50px 20px 60px}
	.top_intro_box{position:relative;top:auto;left:auto;width:auto;max-width:640px;margin:0 auto;filter:drop-shadow(0 0 10px rgba(16,127,194,.25))}
	.top_intro_paper{height:auto;padding:40px 20px 130px;border-radius:20px}
	.top_intro_paper>*{position:relative !important;top:auto !important;left:auto !important}
	.top_intro_title{font-size:clamp(17px,4.8vw,30px);letter-spacing:.04em}
	.top_intro_brush{display:block;width:90%;margin:-6px auto 0}
	.top_intro_text{width:auto;margin-top:24px;font-size:clamp(13px,3.6vw,16px);text-align:left}
	.top_intro_text br{display:none}
	.top_intro_paper .bubble{position:absolute !important;width:calc(var(--w) * .35px);top:calc(var(--y) * .4px) !important;left:calc(var(--x) / 1440 * 100%) !important}
	.top_intro_cta{position:relative;top:auto;left:auto;width:auto;margin-top:-90px}

	.top_worry{height:auto;padding:50px 20px 70px}
	.top_worry_concrete{height:700px}
	.top_worry_stage{max-width:640px;margin:0 auto}
	.top_worry_stage>*{position:relative !important;top:auto !important;left:auto !important}
	.top_worry_title{display:flex;flex-direction:column;align-items:center;gap:14px;height:auto;order:1}
	.top_worry_stage{display:flex;flex-direction:column;align-items:center}
	.top_worry_swirl{display:none}
	.top_worry_lead{position:relative;top:auto;left:auto;width:auto;height:auto;padding:8px 14px;border-width:2px;font-size:clamp(15px,4.4vw,22px);white-space:normal}
	.top_worry_q{position:relative;top:auto;font-size:clamp(18px,5.2vw,26px)}
	.top_worry_q_big{font-size:1.3em}
	.top_worry_woman{order:2;width:min(300px,80%);margin-top:20px}
	.top_worry_list{order:3;display:flex;flex-direction:column;gap:22px;width:100%;margin-top:-30px}
	.top_worry_item{position:relative;top:auto;left:auto;width:min(88%,340px);height:auto;min-height:100px;padding:16px 20px;border-radius:60px;font-size:clamp(13px,3.6vw,15px);white-space:normal;box-shadow:0 2px 10px rgba(5,43,85,.08)}
	.top_worry_item:nth-child(odd){align-self:flex-start}
	.top_worry_item:nth-child(even){align-self:flex-end}
	.top_worry_item::after{top:auto;bottom:-18px;left:auto;right:30%;width:18px;height:20px}
	.top_worry_item.is_flip::after{left:30%;right:auto}
	.top_worry_ans{order:4;margin-top:40px;font-size:clamp(24px,6.4vw,32px)}
	.top_worry_chevron{order:5;width:90px;margin-top:14px}
	.top_worry_msg{order:6;margin-top:20px}
	.top_worry_msg_1{font-size:clamp(14px,4vw,20px);line-height:1.6}
	.top_worry_msg_2{margin-top:6px;font-size:clamp(15px,4.4vw,22px);line-height:1.6}
	.top_worry_msg_3{margin-top:16px;font-size:clamp(15px,4.2vw,22px);line-height:1.8;white-space:normal;padding-bottom:6px;border-bottom:2px solid var(--c_text)}
	.top_worry_msg_3 .c_pink{display:block;font-size:1.2em}
	.top_worry_msg_3::after{display:none}
	.top_worry_blur{display:none}
}

/* ===== 共通セクション見出し（英字128／和文32） ===== */
.sec_title{display:flex;flex-direction:column;align-items:center;font-family:var(--f_serif);font-weight:700;line-height:1;text-align:center;--su:var(--u,1px)}
.sec_title_en{font-size:calc(128 * var(--su));letter-spacing:.08em;white-space:nowrap}
.sec_title_ja{margin-top:calc(30 * var(--su));font-size:max(14px,calc(32 * var(--su)));letter-spacing:.08em;color:var(--c_text)}
.sec_title.is_pink .sec_title_en{color:var(--c_pink)}
.sec_title.is_blue .sec_title_en{color:var(--c_blue)}

/* ===== 共通ボタン「詳しくみる」（400×70） ===== */
.more_btn{--mu:var(--u,1px);position:relative;display:flex;align-items:center;justify-content:center;width:calc(400 * var(--mu));height:calc(70 * var(--mu));border-radius:calc(100 * var(--mu));background:var(--c_blue);color:var(--c_white);font-size:calc(24 * var(--mu));font-weight:700;line-height:1;letter-spacing:0;transition:background-color .3s,color .3s,box-shadow .3s}
.more_btn_arrow{position:absolute;top:50%;right:calc(16 * var(--mu));width:calc(40 * var(--mu));line-height:0;color:var(--c_white);--arrow:var(--c_blue);transform:translateY(-50%)}
.more_btn_arrow svg{display:block;width:100%;height:auto}
.more_btn:hover{background:var(--c_white);color:var(--c_pink);box-shadow:0 0 0 2px var(--c_pink)}
.more_btn:hover .more_btn_arrow{color:var(--c_pink);--arrow:var(--c_white)}
.more_btn.is_pink{background:var(--c_pink)}
.more_btn.is_pink .more_btn_arrow{--arrow:var(--c_pink)}
.more_btn.is_pink:hover{background:var(--c_white)}
.more_btn.is_pink:hover .more_btn_arrow{--arrow:var(--c_white)}

/* ===== TOP：Service（Figma y3875〜4835） ===== */
.top_service,.top_blog{position:relative;container-type:inline-size;overflow-x:clip}
.top_service_stage{height:calc(960 * var(--u))}
.top_service_stage>*:not(.bubble){position:absolute}
.top_service_head{top:0;left:0;width:100%}
.top_service_text{margin-top:calc(82 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.svc_list{top:calc(400 * var(--u));left:calc(410 * var(--u));display:grid;grid-template-columns:repeat(4,calc(260 * var(--u)));gap:calc(20 * var(--u))}
.svc_link{position:relative;display:block;height:calc(195 * var(--u));border-radius:calc(10 * var(--u));background:var(--c_blue);color:var(--c_blue);transition:background-color .3s,color .3s}
.svc_icon{position:absolute;top:calc(8 * var(--u));left:calc(8 * var(--u));display:flex;align-items:center;justify-content:center;width:calc(245 * var(--u));height:calc(140 * var(--u));border-radius:calc(10 * var(--u));background:var(--c_white)}
.svc_icon svg{display:block;width:calc(var(--iw) * var(--u));height:auto}
.svc_name{position:absolute;top:calc(159 * var(--u));left:0;width:100%;font-size:calc(24 * var(--u));line-height:1;letter-spacing:0;text-align:center;color:var(--c_white)}
.svc_link:hover{background:var(--c_pink);color:var(--c_pink)}
.top_service_btn{top:calc(890 * var(--u));left:calc(760 * var(--u))}

/* ===== TOP：Blog（Figma y4835〜5994） ===== */
.top_blog::before{content:"";position:absolute;inset:0;background:url(../img/top/blog_bg.jpg) center bottom/cover no-repeat;-webkit-mask-image:linear-gradient(transparent,#000);mask-image:linear-gradient(transparent,#000);pointer-events:none}
.top_blog_stage{height:calc(1159 * var(--u))}
.top_blog_stage>*:not(.bubble){position:absolute}
.top_blog_head{top:calc(118 * var(--u));left:0;width:100%}
.top_blog_slider{top:calc(408 * var(--u));left:calc(240 * var(--u));width:calc(1680 * var(--u));overflow-x:auto;scrollbar-width:none;cursor:grab}
.top_blog_slider::-webkit-scrollbar{display:none}
.top_blog_slider.is_dragging{cursor:grabbing}
.top_blog_slider.is_dragging a{pointer-events:none}
.top_blog_track{display:flex;gap:calc(60 * var(--u));width:max-content;padding-right:calc(240 * var(--u))}
.top_blog_track .blog_card{width:calc(535 * var(--u))}
.top_blog_empty{font-size:calc(20 * var(--u))}
.top_blog_foot{top:calc(914 * var(--u));left:calc(240 * var(--u));display:flex;align-items:center;justify-content:space-between;width:calc(1440 * var(--u))}
.slider_bar{position:relative;width:calc(1047 * var(--u));height:calc(10 * var(--u));background:var(--c_pale)}
.slider_bar_thumb{position:absolute;top:0;left:0;width:20%;height:100%;background:var(--c_blue)}

/* ブログカード（--bu：1px 相当） */
.blog_card{--bu:var(--u,1px)}
.blog_card_link{display:block;transition:opacity .3s}
.blog_card_img{aspect-ratio:535/301;overflow:hidden;background:var(--c_pale)}
.blog_card_img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.blog_card_link:hover .blog_card_img>img{transform:scale(1.05)}
.blog_card_noimg{display:flex;align-items:flex-end;justify-content:center;height:100%;padding-bottom:calc(120 * var(--bu))}
.blog_card_noimg img{width:calc(270 * var(--bu));height:auto;object-fit:contain}
.blog_card_noimg span{margin:0 0 calc(4 * var(--bu));font-family:var(--f_serif);font-size:calc(24 * var(--bu));font-weight:900;line-height:1;letter-spacing:.08em;color:var(--c_blue);white-space:nowrap}
.blog_card_meta{display:flex;align-items:center;gap:calc(15 * var(--bu));margin-top:calc(15 * var(--bu))}
.blog_card_cat{display:flex;align-items:center;justify-content:center;width:calc(155 * var(--bu));height:calc(35 * var(--bu));background:var(--c_text);color:var(--c_white);font-size:calc(20 * var(--bu));font-weight:700;line-height:1;letter-spacing:.08em}
.blog_card_cat.is_news{background:var(--c_blue)}
.blog_card_date{font-size:calc(16 * var(--bu));font-weight:700;line-height:1;letter-spacing:.08em}
.blog_card_title{margin-top:calc(15 * var(--bu));font-size:calc(20 * var(--bu));font-weight:700;line-height:2;letter-spacing:.08em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;transition:color .3s}
.blog_card_link:hover .blog_card_title{color:var(--c_blue)}

@media (max-width:1023px){
	.top_service_stage,.top_blog_stage{height:auto;padding:60px 20px 70px}
	.top_service_stage>*:not(.bubble),.top_blog_stage>*:not(.bubble){position:relative;top:auto !important;left:auto !important}
	.top_service_stage .bubble,.top_blog_stage .bubble{display:none}
	.sec_title{--su:min(.45px,calc(100vw / 1100))}
	.top_service_text{margin-top:24px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em;text-align:left}
	.top_service_text br{display:none}
	.svc_list{--u:min(.62px,calc((100vw - 50px) / 520));display:grid;grid-template-columns:repeat(2,calc(260 * var(--u)));justify-content:center;gap:10px;margin-top:30px}
	.svc_name{font-size:clamp(13px,3.6vw,16px)}
	.more_btn{--mu:min(.8px,calc((100vw - 40px) / 400))}
	.top_service_btn,.top_blog_foot .more_btn{margin:36px auto 0}
	.top_blog_head{width:auto}
	.top_blog_slider{width:auto;margin:30px -20px 0;padding-left:20px}
	.top_blog_track{gap:16px;padding-right:20px}
	.top_blog_track .blog_card{--bu:min(.6px,calc((100vw - 60px) / 535));width:calc(535 * var(--bu))}
	.blog_card_cat{font-size:13px}
	.blog_card_date{font-size:12px}
	.blog_card_title{font-size:clamp(14px,3.8vw,17px);line-height:1.7}
	.top_blog_foot{flex-direction:column;align-items:stretch;width:auto;margin-top:24px}
	.slider_bar{width:100%;height:6px}
}

.sec_title.is_white .sec_title_en,.sec_title.is_white .sec_title_ja{color:var(--c_white)}
.sec_title.is_left{align-items:flex-start;text-align:left}
.more_btn.is_pale{background:var(--c_pale);color:var(--c_text)}
.more_btn.is_pale .more_btn_arrow{color:var(--c_text);--arrow:var(--c_pale)}
.more_btn.is_pale:hover{background:var(--c_white);color:var(--c_pink)}
.more_btn.is_pale:hover .more_btn_arrow{color:var(--c_pink);--arrow:var(--c_white)}

/* ===== TOP：Works（Figma y5994〜8319） ===== */
.top_works,.top_feature{position:relative;container-type:inline-size;overflow-x:clip}
.top_works_stage{height:calc(2325 * var(--u))}
.top_works_stage>*:not(.bubble){position:absolute}
.top_works_head{top:calc(175 * var(--u));left:calc(410 * var(--u))}
.top_works_text{margin-top:calc(50 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em}
.works_list{top:calc(588 * var(--u));left:calc(410 * var(--u));width:calc(1100 * var(--u))}
.works_item{position:relative;height:calc(467 * var(--u));margin-bottom:calc(80 * var(--u))}
.works_item>*{position:absolute;margin:0}
.works_before{top:0;left:0;width:calc(410 * var(--u))}
.works_after{top:0;left:calc(442 * var(--u));width:calc(658 * var(--u))}
.works_label{border-radius:calc(10 * var(--u)) calc(10 * var(--u)) 0 0;display:flex;align-items:center;justify-content:center;height:calc(80 * var(--u));background:var(--c_pale);font-family:var(--f_serif);font-size:calc(32 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em}
.works_after .works_label{background:var(--c_blue);color:var(--c_white)}
.works_before img,.works_after img{display:block;width:100%;height:auto;border-radius:0 0 calc(10 * var(--u)) calc(10 * var(--u))}
.works_after img{width:calc(657 * var(--u))}
.works_arrow{top:calc(166 * var(--u));left:calc(387 * var(--u));width:calc(77 * var(--u));max-width:none;z-index:1}
.works_data{top:calc(323 * var(--u));left:0;font-size:calc(24 * var(--u));line-height:2;letter-spacing:.08em}
.works_data>div{position:relative;padding-left:calc(28 * var(--u))}
.works_data dt,.works_data dd{display:inline}
.works_data>div::before{content:"";position:absolute;top:calc(19 * var(--u));left:0;width:calc(15 * var(--u));height:calc(15 * var(--u));border-radius:50%;background:var(--c_text)}
.works_data dd{margin:0}
.works_star{position:absolute;top:calc(var(--y) * var(--u));left:calc(var(--x) * var(--u));width:calc(var(--w) * var(--u));max-width:none;pointer-events:none;animation:works_twinkle 2.6s ease-in-out infinite}
.works_star:nth-of-type(2n){animation-delay:-1.3s}
.works_star:nth-of-type(3n){animation-delay:-.7s}
@keyframes works_twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
@media (prefers-reduced-motion:reduce){.works_star{animation:none}}

/* ===== TOP：Feature（Figma y8319〜9399） ===== */
.top_feature{background:var(--c_blue)}
.top_feature_stage{padding:calc(77 * var(--u)) 0 calc(110 * var(--u))}
/* スクロールで重なるカード：各カードを sticky にし、後のカードが前のカードに覆いかぶさる。
   奥になったカードは JS で --d（覆われ具合の合計）を入れて縮小・暗くする */
.feature_stack{width:calc(1440 * var(--u));margin:calc(62 * var(--u)) auto 0}
.feature_card{--d:0;position:sticky;top:calc(var(--header_h) + 60px + var(--i) * 28 * var(--u));height:calc(500 * var(--u));background:var(--c_white);box-shadow:inset 0 0 0 2px var(--c_blue),0 calc(-4 * var(--u)) calc(24 * var(--u)) rgba(5,43,85,.25);transform:scale(calc(1 - var(--d) * .04));transform-origin:50% 0;will-change:transform}
.feature_card+.feature_card{margin-top:calc(180 * var(--u))}
.feature_card::after{content:"";position:absolute;inset:0;background:rgba(5,43,85,calc(var(--d) * .12));pointer-events:none}
.feature_img{position:absolute;top:0;left:0;width:calc(650 * var(--u));height:calc(500 * var(--u));max-width:none;object-fit:cover}
.feature_body{position:absolute;top:calc(93 * var(--u));left:calc(726 * var(--u));width:calc(600 * var(--u))}
.feature_num{display:flex;align-items:flex-end;gap:calc(10 * var(--u));font-family:var(--f_serif);font-size:calc(64 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em;color:var(--c_blue)}
.feature_num_en{margin-bottom:calc(3 * var(--u));font-size:calc(20 * var(--u))}
.feature_title{margin-top:calc(19 * var(--u));font-family:var(--f_serif);font-size:calc(24 * var(--u));font-weight:700;line-height:1.5;letter-spacing:.08em}
.feature_text{margin-top:calc(34 * var(--u));font-size:calc(16 * var(--u));line-height:2;letter-spacing:0}
.feature_dots{position:absolute;z-index:1;top:calc(192 * var(--u));left:calc(1397 * var(--u));display:flex;flex-direction:column;gap:calc(20 * var(--u))}
.feature_dot{display:block;width:calc(14 * var(--u));height:calc(14 * var(--u));border-radius:50%;background:var(--c_sky);transition:background-color .3s}
.feature_dot.is_active,.feature_dot:hover{background:var(--c_blue)}
.top_feature_btn{margin:calc(90 * var(--u)) auto 0}

@media (max-width:1023px){
	.top_works_stage,.top_feature_stage{height:auto;padding:60px 20px 70px}
	.top_works_stage>*:not(.bubble),.top_feature_stage>*{position:relative;top:auto !important;left:auto !important}
	.top_works_stage .bubble,.works_star:nth-of-type(n+3){display:none}
	.top_works_text{margin-top:20px;font-size:clamp(13px,3.6vw,16px)}
	.top_works_text br{display:none}
	.works_list{width:auto;max-width:640px;margin:36px auto 0}
	.works_item{height:auto;margin-bottom:44px;display:flex;flex-direction:column;align-items:center}
	.works_item>*{position:relative;top:auto !important;left:auto !important}
	.works_before,.works_after,.works_after img{width:100%}
	.works_label{height:44px;border-radius:8px 8px 0 0;font-size:18px}
	.works_before img,.works_after img{border-radius:0 0 8px 8px}
	.works_arrow{width:44px;margin:8px 0;transform:rotate(90deg)}
	.works_data{align-self:flex-start;margin-top:14px;font-size:clamp(14px,3.8vw,17px)}
	.works_data>div{padding-left:20px}
	.works_data>div::before{top:.75em;width:10px;height:10px}
	.works_star{display:none}
	.feature_stack{width:auto;max-width:640px;margin:30px auto 0}
	.feature_card{top:calc(var(--header_h) + 16px + var(--i) * 12px);height:auto}
	.feature_card+.feature_card{margin-top:40px}
	.feature_img{position:relative;width:100%;height:auto;aspect-ratio:650/500}
	.feature_body{position:relative;top:auto;left:auto;width:auto;padding:20px 20px 50px}
	.feature_dots{top:auto;bottom:20px;left:50%;flex-direction:row;gap:14px;transform:translateX(-50%)}
	.feature_dot{width:12px;height:12px}
	.feature_num{font-size:40px}
	.feature_num_en{font-size:14px}
	.feature_title{margin-top:10px;font-size:clamp(16px,4.6vw,20px)}
	.feature_text{margin-top:14px;font-size:clamp(13px,3.6vw,15px)}
	.feature_text br{display:none}
	.top_feature_btn{margin:36px auto 0}
}

/* ===== TOP：お申し込みの流れ（Figma y9399〜10798） ===== */
.top_flow{position:relative;container-type:inline-size;overflow-x:clip}
.top_flow_stage{height:calc(1399 * var(--u))}
.top_flow_stage>*:not(.bubble){position:absolute}
.top_flow_head{top:calc(175 * var(--u));left:calc(240 * var(--u));width:calc(530 * var(--u))}
.top_flow_title{font-family:var(--f_serif);font-size:calc(48 * var(--u));font-weight:700;line-height:1.5;letter-spacing:.08em;white-space:nowrap}
.top_flow_text{margin-top:calc(80 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em}
.flow_list{top:calc(175 * var(--u));left:calc(910 * var(--u));display:flex;gap:calc(30 * var(--u))}
.flow_item{position:relative;width:calc(130 * var(--u));height:calc(575 * var(--u));background:var(--c_white);box-shadow:0 0 calc(20 * var(--u)) rgba(16,127,194,.25)}
.flow_item:not(:last-child)::after{content:"";position:absolute;top:calc(267.5 * var(--u));left:calc(125.5 * var(--u));z-index:1;width:calc(22 * var(--u));height:calc(40 * var(--u));background:url(../img/top/flow_arrow.svg) center/contain no-repeat}
.flow_icon{position:absolute;top:calc(94 * var(--u));left:50%;width:auto;height:calc(var(--h) * var(--u));max-width:none;transform:translate(-50%,-50%)}
.flow_label{position:absolute;top:calc(176 * var(--u));left:50%;font-size:calc(32 * var(--u));font-weight:700;line-height:1;letter-spacing:calc(8 * var(--u));writing-mode:vertical-rl;transform:translateX(-50%);white-space:nowrap}
.top_flow_bubble{z-index:2}
.top_flow_cta{top:calc(738 * var(--u));left:calc(240 * var(--u));width:calc(1440 * var(--u))}

@media (max-width:1023px){
	.top_flow_stage{height:auto;padding:60px 20px 70px}
	.top_flow_stage>*:not(.bubble){position:relative;top:auto !important;left:auto !important}
	.top_flow_stage .bubble{display:none}
	.top_flow_head{width:auto}
	.top_flow_title{font-size:clamp(22px,6.2vw,32px);white-space:normal}
	.top_flow_text{margin-top:20px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em}
	.flow_list{--u:min(.6px,calc((100vw - 40px) / 770));justify-content:center;margin-top:36px}
	.flow_label{font-size:max(13px,calc(32 * var(--u)));letter-spacing:max(3px,calc(8 * var(--u)))}
	.top_flow_cta{width:auto;max-width:640px;margin:60px auto 0}
}

/* ===== 見出し：和文48＋ドット（Figma タイトル①） ===== */
.dot_title{--du:var(--u,1px);position:relative;padding-bottom:calc(34 * var(--du));font-family:var(--f_serif);font-size:calc(48 * var(--du));font-weight:700;line-height:calc(60 * var(--du));letter-spacing:.08em;text-align:center}
.dot_title::after{content:"";position:absolute;bottom:calc(6 * var(--du));left:50%;width:calc(90 * var(--du));height:calc(10 * var(--du));transform:translateX(-50%)}
.dot_title::after{background:
	radial-gradient(circle closest-side,var(--dot_a,var(--c_blue)) 96%,transparent) 0 0/calc(10 * var(--du)) 100% no-repeat,
	radial-gradient(circle closest-side,var(--c_sky) 96%,transparent) calc(20 * var(--du)) 0/calc(10 * var(--du)) 100% no-repeat,
	radial-gradient(circle closest-side,var(--dot_a,var(--c_blue)) 96%,transparent) calc(40 * var(--du)) 0/calc(10 * var(--du)) 100% no-repeat,
	radial-gradient(circle closest-side,var(--c_sky) 96%,transparent) calc(60 * var(--du)) 0/calc(10 * var(--du)) 100% no-repeat,
	radial-gradient(circle closest-side,var(--dot_a,var(--c_blue)) 96%,transparent) calc(80 * var(--du)) 0/calc(10 * var(--du)) 100% no-repeat}

/* ===== TOP：Voice（Figma y10798〜11833） ===== */
.top_voice{position:relative;container-type:inline-size;overflow-x:clip;background:#cfd8de url(../img/top/voice_bg.jpg) center/cover no-repeat}
.top_voice_stage{height:calc(1035 * var(--u))}
.top_voice_stage>*{position:absolute}
.top_voice_en{top:calc(103 * var(--u));left:0;width:100%;font-family:var(--f_serif);font-size:calc(128 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em;text-align:center;color:rgba(255,255,255,.5)}
.top_voice_head{top:calc(175 * var(--u));left:calc(410 * var(--u));width:calc(1100 * var(--u))}
.top_voice_text{margin-top:calc(100 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.voice_carousel{top:calc(535 * var(--u));left:calc(218 * var(--u));width:calc(1484 * var(--u))}
.voice_viewport{width:calc(1440 * var(--u));margin-left:calc(21 * var(--u));overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.voice_viewport::-webkit-scrollbar{display:none}
.voice_list{display:flex;gap:calc(45 * var(--u))}
.voice_card{position:relative;flex:none;width:calc(450 * var(--u));height:calc(325 * var(--u));border-radius:calc(15 * var(--u));background:var(--c_white);box-shadow:inset 0 0 0 2px var(--c_blue);scroll-snap-align:start}
.voice_avatar{position:absolute;top:calc(22 * var(--u));left:calc(180 * var(--u));width:calc(90 * var(--u));border-radius:50%;background:var(--c_pale);box-shadow:0 0 0 1px var(--c_text)}
.voice_who{position:absolute;top:calc(124 * var(--u));left:0;width:100%;font-size:calc(20 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em;text-align:center;white-space:nowrap}
.voice_who.is_long{font-size:calc(18 * var(--u));letter-spacing:0}
.voice_stars{position:absolute;top:calc(159 * var(--u));left:calc(155 * var(--u));display:flex;gap:calc(6 * var(--u));font-size:0;line-height:0}
.voice_stars span{display:block;width:calc(23 * var(--u));height:calc(23 * var(--u));background:var(--c_pink);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.voice_text{position:absolute;top:calc(197 * var(--u));left:calc(32 * var(--u));width:calc(387 * var(--u));font-size:calc(16 * var(--u));font-weight:700;line-height:1.75;letter-spacing:.08em}
.voice_nav{position:absolute;top:calc(148 * var(--u));z-index:1;width:calc(43 * var(--u));height:calc(43 * var(--u));border-radius:50%;background:var(--c_white);box-shadow:inset 0 0 0 2px var(--c_blue);transition:background-color .3s,opacity .3s}
.voice_nav::before{content:"";position:absolute;top:50%;left:50%;width:calc(9 * var(--u));height:calc(9 * var(--u));border-left:3px solid var(--c_text);border-bottom:3px solid var(--c_text);transform:translate(-30%,-50%) rotate(45deg)}
.voice_prev{left:0}
.voice_next{right:0;top:calc(151 * var(--u))}
.voice_next::before{transform:translate(-70%,-50%) rotate(-135deg)}
.voice_nav:hover{background:var(--c_pale)}

/* ===== TOP：代表挨拶・店舗情報（Figma y11833〜13171） ===== */
.top_greet{position:relative;container-type:inline-size;overflow-x:clip}
.top_greet_stage{height:calc(1338 * var(--u))}
.top_marquee{--mu:clamp(.62px,100cqw / 1920,1px);position:absolute;top:calc(619 * var(--mu));left:0;width:100%;pointer-events:none}
.top_marquee_row{--mf:calc(128 * var(--mu));overflow:hidden;height:calc(128 * var(--mu));margin-bottom:calc(80 * var(--mu))}
.top_marquee_track{display:flex;width:max-content;animation:top_marquee 50s linear infinite}
.top_marquee_text{flex:none;width:calc(20 * var(--mf));height:calc(1.437 * var(--mf));margin:calc(-.2185 * var(--mf)) calc(60 * var(--mu)) 0 0;overflow:visible;fill:none;stroke:var(--c_blue);stroke-width:4px}
.top_marquee_row.is_row1 .top_marquee_text{stroke:var(--c_pale)}
.top_marquee_row.is_row2 .top_marquee_text{stroke:var(--c_sky)}
.top_marquee_row.is_row1 .top_marquee_track{margin-left:calc(-13 * var(--mu))}
.top_marquee_row.is_row2 .top_marquee_track{margin-left:calc(-247 * var(--mu));animation-duration:56s}
.top_marquee_row.is_row3 .top_marquee_track{margin-left:calc(-316 * var(--mu));animation-duration:44s}
@keyframes top_marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.greet_block{position:absolute;top:calc(175 * var(--u));width:calc(695 * var(--u))}
.greet_block.is_message{left:calc(238 * var(--u))}
.greet_block.is_store{left:calc(983 * var(--u))}
.greet_title{display:flex;align-items:flex-end;gap:calc(10 * var(--u));font-family:var(--f_serif);font-weight:700;line-height:1;letter-spacing:.08em}
.greet_title_en{font-size:calc(64 * var(--u));color:var(--c_blue)}
.is_store .greet_title_en{color:var(--c_pink)}
.is_store .greet_title{gap:calc(15 * var(--u))}
.greet_title_ja{margin-bottom:calc(4 * var(--u));font-size:calc(20 * var(--u))}
.greet_img{display:block;width:100%;height:auto;margin-top:calc(50 * var(--u))}
.greet_btn{margin:calc(-29 * var(--u)) auto 0;position:relative}
@media (prefers-reduced-motion:reduce){.top_marquee_track{animation:none}}

@media (max-width:1023px){
	.top_voice_stage,.top_greet_stage{height:auto;padding:60px 20px 70px}
	.top_voice_stage>*,.greet_block{position:relative;top:auto !important;left:auto !important}
	/* 親の左余白ぶん右にずれないよう左端基準で全幅に。末尾の字間ぶんを text-indent で相殺して見た目の中心を揃える */
	.top_voice_en{position:absolute !important;top:30px !important;left:0 !important;width:100%;text-indent:.08em;font-size:clamp(56px,16vw,96px)}
	.top_voice_head{width:auto;padding-top:30px}
	.dot_title{--du:min(.6px,calc(100vw / 800))}
	.top_voice_text{margin-top:20px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em}
	.top_voice_text br{display:none}
	.voice_carousel{width:auto;margin:30px -20px 0}
	/* カードを画面中央に。左右の余白を同じにして、次のカードが少しのぞく */
	.voice_viewport{--u:min(.7px,calc((100vw - 70px) / 450));width:auto;margin:0;padding:0 calc((100% - 450 * var(--u)) / 2);scroll-padding:0 calc((100% - 450 * var(--u)) / 2)}
	.voice_card{scroll-snap-align:center}
	.voice_nav{display:none}
	.voice_list{gap:14px}
	.greet_block{width:auto;max-width:560px;margin:0 auto 50px}
	.greet_title_en{font-size:clamp(34px,10vw,52px)}
	.greet_title_ja{font-size:clamp(13px,3.6vw,16px)}
	.greet_img{margin-top:20px}
	.greet_btn{--mu:min(.8px,calc((100vw - 40px) / 400));margin-top:-24px}
	.top_greet_stage{padding-bottom:310px}
	.greet_block{z-index:1}
	.greet_block.is_store{margin-bottom:0}
	.top_marquee{top:auto;bottom:40px}
	.top_marquee_row{height:64px;margin-bottom:16px}
	.top_marquee_row{--mf:60px}
	.top_marquee_text{margin-right:28px;stroke-width:3px}
}

/* ===== TOP：FAQ（Figma y13171〜15494） ===== */
.top_faq{position:relative;container-type:inline-size;overflow-x:clip}
.top_faq_stage{padding-bottom:calc(175 * var(--u))}
.top_faq_stage>*{position:relative;z-index:1}
.top_faq_stage>.bubble{position:absolute;z-index:0}
.top_faq_text{margin-top:calc(50 * var(--u));font-size:calc(20 * var(--u));font-weight:700;line-height:2;letter-spacing:.08em;text-align:center}
.top_faq_stage .faq_list{width:calc(1100 * var(--u));margin:calc(100 * var(--u)) auto 0}
.top_faq_btn{margin:calc(100 * var(--u)) auto 0}

/* よくある質問アコーディオン（--fu：1px 相当） */
.faq_list{--fu:var(--u,1px);display:flex;flex-direction:column;gap:calc(30 * var(--fu));filter:drop-shadow(0 0 calc(10 * var(--fu)) rgba(16,127,194,.25))}
.faq_item{background:var(--c_white)}
.faq_q{position:relative;display:flex;align-items:flex-start;gap:calc(30 * var(--fu));padding:calc(45 * var(--fu)) calc(95 * var(--fu)) calc(45 * var(--fu)) calc(35 * var(--fu));font-size:calc(20 * var(--fu));font-weight:700;line-height:2;letter-spacing:.08em;cursor:pointer;list-style:none}
.faq_q::-webkit-details-marker{display:none}
.faq_item[open] .faq_q{padding-bottom:0}
.faq_mark{display:flex;flex:none;align-items:center;justify-content:center;width:calc(40 * var(--fu));height:calc(40 * var(--fu));background:var(--c_blue);color:var(--c_white);font-size:calc(20 * var(--fu));font-weight:700;line-height:1;letter-spacing:0}
.faq_mark.is_a{background:var(--c_pink)}
.faq_toggle{position:absolute;top:calc(53 * var(--fu) - 1px);right:calc(34 * var(--fu));width:calc(31 * var(--fu));height:2px;background:var(--c_text)}
.faq_toggle::after{content:"";position:absolute;top:50%;left:50%;width:2px;height:calc(31 * var(--fu));background:var(--c_text);transform:translate(-50%,-50%);transition:transform .3s}
.faq_item[open] .faq_toggle::after{transform:translate(-50%,-50%) scaleY(0)}
.faq_q:hover .faq_q_text{color:var(--c_blue)}
.faq_a{display:flex;gap:calc(30 * var(--fu));padding:calc(30 * var(--fu)) calc(95 * var(--fu)) calc(45 * var(--fu)) calc(35 * var(--fu))}
.faq_a_text{font-size:calc(16 * var(--fu));line-height:2;letter-spacing:.08em}

/* ===== 対応エリア（TOP・下層共通） ===== */
.area{position:relative;z-index:0;container-type:inline-size;overflow-x:clip;--au:clamp(.62px,100cqw / 1920,1px)}
.area::before{content:"";position:absolute;top:0;left:0;z-index:-1;width:100%;height:calc(1456 * var(--au));background:#e8f3fa url(../img/common/area_bg.jpg) center top/cover no-repeat}
.area_stage{height:calc(var(--ah,1152) * var(--u))}
.area_stage>*:not(.bubble){position:absolute}
.area_map{top:calc(175 * var(--u));left:calc(193 * var(--u));width:calc(796 * var(--u));line-height:0}
.area_map svg{display:block;width:100%;height:auto}
.area_body{top:calc(175 * var(--u));left:calc(1093 * var(--u));width:calc(587 * var(--u))}
.area_body .dot_title{line-height:calc(96 * var(--u));padding-bottom:0}
.area_body .dot_title::after{bottom:calc(-6 * var(--u))}
.area_text{margin-top:calc(56 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:0}
.area_box{border-radius:0 calc(30 * var(--u));margin-top:calc(50 * var(--u));padding:calc(35 * var(--u)) calc(50 * var(--u)) calc(42 * var(--u));background:var(--c_blue);color:var(--c_white)}
.area_tag{display:block;width:calc(90 * var(--u))}
.area_box_text{margin-top:calc(15 * var(--u));font-size:calc(22 * var(--u));line-height:2;letter-spacing:0}

@media (max-width:1023px){
	.top_faq_stage{padding:60px 20px 70px}
	.top_faq_stage>.bubble{display:none}
	.top_faq_text{margin-top:20px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em;text-align:left}
	.top_faq_text br,.faq_a_text br{display:none}
	.top_faq_stage .faq_list{width:auto;max-width:640px;margin-top:30px}
	.faq_list{--fu:min(.6px,calc(100vw / 640));gap:14px}
	.faq_q{gap:12px;padding:18px 48px 18px 16px;font-size:clamp(14px,3.8vw,17px);line-height:1.6}
	.faq_a{gap:12px;padding:14px 16px 20px}
	.faq_a_text{font-size:clamp(13px,3.5vw,15px);line-height:1.8}
	.faq_mark{width:28px;height:28px;font-size:15px}
	.faq_toggle{top:50%;right:16px;width:18px}
	.faq_item[open] .faq_toggle{top:31px}
	.faq_toggle::after{height:18px}
	.top_faq_btn{--mu:min(.8px,calc((100vw - 40px) / 400));margin-top:36px}
	.area::before{height:calc(100% + 120px)}
	.area_stage{height:auto;padding:60px 20px 70px}
	.area_stage>*:not(.bubble){position:relative;top:auto;left:auto}
	.area_stage .bubble{display:none}
	.area_map{display:block;width:min(80%,360px);margin:0 auto}
	.area_body{width:auto;max-width:560px;margin:30px auto 0}
	.area_body .dot_title{--du:min(.6px,calc(100vw / 800));line-height:1.6;padding-bottom:20px}
	.area_body .dot_title::after{bottom:4px}
	.area_text{margin-top:20px;font-size:clamp(13px,3.6vw,16px)}
	.area_text br{display:none}
	.area_box{margin-top:24px;padding:20px;border-radius:0 20px}
	.area_tag{width:72px}
	.area_box_text{font-size:clamp(14px,3.8vw,18px)}
}

/* ===== 私たちについて：導入（Figma y704〜1363） ===== */
.ab_intro{position:relative;container-type:inline-size;overflow-x:clip}
.ab_intro_stage{height:calc(659 * var(--u))}
.ab_intro_stage>*:not(.bubble){position:absolute}
.ab_intro_title{top:calc(200 * var(--u));left:0;width:100%;font-family:var(--f_serif);font-size:calc(48 * var(--u));font-weight:500;line-height:1.5;letter-spacing:.08em;text-align:center}
.ab_intro_brush{top:calc(335 * var(--u));left:calc(576 * var(--u));width:calc(733.7 * var(--u));max-width:none;transform:rotate(-.8deg)}
.ab_intro_text{top:calc(427 * var(--u));left:calc(410 * var(--u));width:calc(1100 * var(--u));font-size:calc(22 * var(--u));line-height:2;letter-spacing:0;text-align:center}

/* 写真の帯：右から左へ流れる（Figma y1363〜1921、1組＝2490u） */
.ab_strip{--u:clamp(.62px,100vw / 1920,1px);position:relative;height:calc(558 * var(--u));overflow:hidden}
.ab_strip_track{display:flex;width:calc(4980 * var(--u));margin-left:calc(-371 * var(--u));animation:ab_strip 60s linear infinite}
.ab_strip_set{position:relative;flex:none;width:calc(2490 * var(--u));height:calc(458 * var(--u))}
.ab_strip_img{position:absolute;top:calc(var(--y) * var(--u));left:calc(var(--x) * var(--u));width:calc(var(--w) * var(--u));max-width:none;height:auto;border:calc(3 * var(--u)) solid var(--c_white);box-sizing:content-box;margin:calc(-1.5 * var(--u))}
@keyframes ab_strip{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ab_strip_track{animation:none}}

@media (max-width:1023px){
	.ab_intro_stage{height:auto;padding:60px 20px 40px}
	.ab_intro_stage>*:not(.bubble){position:relative;top:auto;left:auto}
	.ab_intro_stage .bubble{display:none}
	.ab_intro_title{font-size:clamp(17px,4.8vw,30px);letter-spacing:.04em}
	.ab_intro_brush{display:block;width:90%;margin:-6px auto 0}
	.ab_intro_text{width:auto;margin-top:24px;font-size:clamp(13px,3.6vw,16px);text-align:left}
	.ab_intro_text br{display:none}
	.ab_strip{--u:.5px;height:calc(558 * var(--u))}
}

/* ===== 私たちについて：サービス一覧（Figma y1921〜2766） ===== */
.ab_svc{position:relative;container-type:inline-size;overflow-x:clip}
.ab_svc_stage{padding-bottom:calc(175 * var(--u))}
.ab_svc_text{width:calc(1100 * var(--u));margin:calc(36 * var(--u)) auto 0;font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.ab_svc_stage .svc_list{width:calc(1100 * var(--u));margin:calc(50 * var(--u)) auto 0}

@media (max-width:1023px){
	.ab_svc_stage{padding:20px 20px 70px}
	.ab_svc_stage .bubble{display:none}
	.ab_svc .dot_title{--du:min(.6px,calc(100vw / 800))}
	.ab_svc_text{width:auto;margin-top:20px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em;text-align:left}
	.ab_svc_text br{display:none}
	.ab_svc_stage .svc_list{width:auto;margin-top:30px}
}

/* ===== 初めての方へ：ご利用の流れ ===== */
.ab_flow{position:relative;container-type:inline-size;overflow-x:clip}
.ab_flow_stage{padding:calc(175 * var(--u)) 0}
.ab_flow_text{width:calc(1100 * var(--u));margin:calc(36 * var(--u)) auto 0;font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.ab_flow_list{display:flex;flex-direction:column;gap:calc(62.5 * var(--u));width:calc(1100 * var(--u));margin:calc(53 * var(--u)) auto 0}
.ab_flow_item{position:relative;padding:calc(45 * var(--u)) calc(139 * var(--u)) calc(45 * var(--u)) calc(198 * var(--u));background:var(--c_white);box-shadow:0 0 calc(20 * var(--u)) rgba(16,127,194,.25)}
.ab_flow_item:not(:last-child)::after{content:"";position:absolute;top:calc(100% + 20 * var(--u));left:50%;width:calc(49 * var(--u));height:calc(23 * var(--u));background:var(--c_blue);clip-path:polygon(0 0,100% 0,50% 100%);transform:translateX(-50%)}
.ab_flow_icon{position:absolute;top:50%;left:calc(103.5 * var(--u));width:auto;height:calc(var(--h) * var(--u));max-width:none;transform:translate(-50%,-50%)}
.ab_flow_item_title{margin-bottom:calc(12 * var(--u));font-size:calc(24 * var(--u));font-weight:500;line-height:calc(36 * var(--u));letter-spacing:.08em}
.ab_flow_item_text{font-size:calc(16 * var(--u));line-height:2;letter-spacing:.08em}
.ab_flow_stage>.bubble{z-index:1}
@media (max-width:1023px){
	.ab_flow_stage{padding:60px 20px 70px}
	.ab_flow_stage .bubble{display:none}
	.ab_flow .dot_title{--du:min(.6px,calc(100vw / 800))}
	.ab_flow_text{width:auto;margin-top:20px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em}
	.ab_flow_text br,.ab_flow_item_text br{display:none}
	.ab_flow_list{gap:40px;width:auto;max-width:720px;margin-top:30px}
	.ab_flow_item{padding:20px 20px 20px 90px}
	.ab_flow_item:not(:last-child)::after{top:calc(100% + 12px);width:30px;height:14px}
	.ab_flow_icon{top:24px;left:45px;height:calc(var(--h) * .42px);transform:translateX(-50%)}
	.ab_flow_item_title{font-size:clamp(16px,4.4vw,20px);line-height:1.6}
	.ab_flow_item_text{margin-top:6px;font-size:clamp(13px,3.6vw,15px);line-height:1.8;letter-spacing:.04em}
}

/* ===== 選ばれる理由：導入 ===== */
.rs_intro{position:relative;container-type:inline-size;overflow-x:clip;background:#eafafd url(../img/reason/intro_bg.jpg) center bottom/cover no-repeat}
.rs_intro_stage{padding:calc(200 * var(--u)) 0 calc(175 * var(--u))}
.rs_intro_text{margin-top:calc(36 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:0;text-align:center}

/* ===== 選ばれる理由：お悩み ===== */
.rs_worry{position:relative;container-type:inline-size;overflow-x:clip;background:#9e9e9e url(../img/reason/worry_bg.jpg) center top/cover no-repeat;color:var(--c_white)}
.rs_worry_stage{height:calc(2000 * var(--u))}
.rs_worry_stage>*{position:absolute;margin:0}
.rs_worry_head{top:calc(69 * var(--u));left:0;width:100%;height:calc(160 * var(--u))}
.rs_worry_swirl{position:absolute;top:0;left:calc(703 * var(--u));width:calc(59 * var(--u));max-width:none}
.rs_worry_label{position:absolute;top:calc(31 * var(--u));left:calc(795 * var(--u));width:calc(330 * var(--u));height:calc(51 * var(--u));border-top:1px solid var(--c_white);border-bottom:1px solid var(--c_white);font-family:var(--f_serif);font-size:calc(24 * var(--u));font-weight:700;line-height:calc(49 * var(--u));letter-spacing:0;text-align:center}
.rs_worry_title{position:absolute;top:calc(111 * var(--u));left:0;width:100%;font-family:var(--f_serif);font-size:calc(48 * var(--u));font-weight:700;line-height:1;letter-spacing:.05em;text-align:center}
.rs_worry_lead{top:calc(278 * var(--u));left:0;width:100%;font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.rs_worry_list{top:calc(448 * var(--u));left:calc(410 * var(--u));display:grid;grid-template-columns:repeat(2,calc(535 * var(--u)));gap:calc(30 * var(--u))}
.rs_worry_card{background:var(--c_white);color:var(--c_text)}
.rs_worry_photo{display:block;width:100%;height:calc(301 * var(--u));object-fit:cover}
.rs_worry_body{height:calc(215 * var(--u));padding:calc(40 * var(--u)) calc(20 * var(--u)) 0 calc(28 * var(--u))}
.rs_worry_card_title{font-family:var(--f_serif);font-size:calc(24 * var(--u));font-weight:700;line-height:1;letter-spacing:0}
.rs_worry_checks{margin-top:calc(27 * var(--u))}
.rs_worry_checks li{position:relative;padding-left:calc(28 * var(--u));font-size:calc(16 * var(--u));line-height:2;letter-spacing:0;white-space:nowrap}
.rs_worry_card:nth-child(4) .rs_worry_checks li{letter-spacing:.08em}
.rs_worry_checks li::before{content:"";position:absolute;top:calc(4 * var(--u));left:0;width:calc(20 * var(--u));height:calc(23 * var(--u));background:url(../img/reason/check.svg) center/contain no-repeat}
.rs_worry_chevron{top:calc(1560 * var(--u));left:calc(870 * var(--u));width:calc(180 * var(--u));max-width:none}
.rs_worry_msg{top:calc(1670 * var(--u));left:calc(422 * var(--u));width:calc(1077 * var(--u));font-family:var(--f_serif);font-size:calc(48 * var(--u));font-weight:700;line-height:2;letter-spacing:0;text-align:center}
.rs_worry_msg span{display:block;white-space:nowrap}
.rs_worry_msg::before,.rs_worry_msg::after{content:"";position:absolute;left:0;height:calc(3 * var(--u));background:var(--c_white)}
.rs_worry_msg::before{top:calc(85.5 * var(--u));width:100%}
.rs_worry_msg::after{top:calc(191 * var(--u));left:calc(99 * var(--u));width:calc(855 * var(--u));transform:rotate(.3deg)}
@media (max-width:1023px){
	.rs_intro_stage{padding:60px 20px 70px}
	.rs_intro .dot_title{--du:min(.6px,calc(100vw / 800))}
	.rs_intro_text{margin-top:20px;font-size:clamp(13px,3.6vw,16px);text-align:left}
	.rs_intro_text br{display:none}
	.rs_worry{background-size:auto 100%}
	.rs_worry_stage{height:auto;max-width:720px;margin:0 auto;padding:50px 20px 60px}
	.rs_worry_stage>*{position:relative}
	.rs_worry_head{top:auto;height:auto;text-align:center}
	.rs_worry_swirl{position:relative;left:auto;display:inline-block;width:36px;vertical-align:bottom}
	.rs_worry_label{position:relative;top:auto;left:auto;display:inline-block;width:auto;height:auto;margin-left:10px;padding:4px 16px;font-size:clamp(13px,3.6vw,16px);line-height:1.6;vertical-align:bottom}
	.rs_worry_title{position:relative;top:auto;margin-top:18px;font-size:clamp(17px,5vw,30px);line-height:1.5}
	.rs_worry_lead{top:auto;margin-top:18px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em;text-align:left}
	.rs_worry_lead br{display:none}
	.rs_worry_list{top:auto;left:auto;grid-template-columns:1fr;gap:20px;margin-top:30px}
	.rs_worry_list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
	.rs_worry_photo{height:auto;aspect-ratio:535/301}
	.rs_worry_body{height:auto;padding:18px 16px 20px}
	.rs_worry_card_title{font-size:clamp(16px,4.4vw,20px);line-height:1.5}
	.rs_worry_checks{margin-top:10px}
	.rs_worry_checks li,.rs_worry_card:nth-child(4) .rs_worry_checks li{padding-left:24px;font-size:clamp(13px,3.6vw,15px);line-height:1.8;letter-spacing:0;white-space:normal}
	.rs_worry_checks li+li{margin-top:4px}
	.rs_worry_checks li::before{top:3px;width:17px;height:19px}
	.rs_worry_chevron{top:auto;left:auto;display:block;width:90px;margin:36px auto 0}
	.rs_worry_msg{top:auto;left:auto;width:auto;margin-top:24px;font-size:clamp(17px,4.8vw,26px);line-height:1.8}
	.rs_worry_msg span{display:inline;white-space:normal;border-bottom:2px solid var(--c_white)}
	.rs_worry_msg::before,.rs_worry_msg::after{display:none}
}

/* ===== 選ばれる理由：4つの理由・9つのこと ===== */
.rs_reason,.rs_nine{position:relative;container-type:inline-size;overflow-x:clip}
.rs_reason_stage{padding-top:calc(175 * var(--u))}
.rs_nine_stage{padding:calc(175 * var(--u)) 0 calc(200 * var(--u))}
.rs_reason_list{display:flex;flex-direction:column;gap:calc(80 * var(--u));width:calc(1100 * var(--u));margin:calc(86 * var(--u)) auto 0}
.rs_reason_item{display:flex;gap:calc(51 * var(--u))}
.rs_reason_img{flex-shrink:0;width:calc(515 * var(--u));height:calc(290 * var(--u));object-fit:cover}
.rs_reason_body{width:calc(534 * var(--u))}
.rs_reason_title{font-family:var(--f_serif);font-size:calc(24 * var(--u));font-weight:700;line-height:1.5;letter-spacing:.08em}
.rs_reason_text{margin-top:calc(15 * var(--u));font-size:calc(16 * var(--u));line-height:2;letter-spacing:0}
.rs_reason_msg{width:calc(1100 * var(--u));margin:calc(100 * var(--u)) auto 0;font-family:var(--f_serif);font-size:calc(32 * var(--u));font-weight:700;line-height:2;letter-spacing:0;text-align:center;text-decoration:underline;text-decoration-color:var(--c_text);text-underline-offset:.25em}
.rs_nine_lead{width:calc(1100 * var(--u));margin:calc(86 * var(--u)) auto 0;font-family:var(--f_serif);font-size:calc(32 * var(--u));font-weight:700;line-height:2;letter-spacing:.08em;text-align:center}
.rs_nine_card{position:relative;width:calc(1100 * var(--u));margin:calc(50 * var(--u)) auto 0;padding:calc(50 * var(--u)) calc(74 * var(--u)) calc(50 * var(--u)) calc(53 * var(--u));background:var(--c_white);box-shadow:0 0 calc(20 * var(--u)) rgba(16,127,194,.25)}
.rs_nine_photo{position:absolute;z-index:1;right:0;bottom:0;width:calc(538 * var(--u));max-width:none}
/* 重なり順：破線(::after) → 写真 → 文字（白いにじみで写真の上でも読める） */
.rs_nine_list{counter-reset:nine}
.rs_nine_list li{position:relative;padding:0 0 calc(30 * var(--u)) calc(35 * var(--u));font-size:calc(24 * var(--u));line-height:1;letter-spacing:.08em;text-shadow:0 0 calc(10 * var(--u)) #fff,0 0 calc(15 * var(--u)) #fff,0 0 calc(20 * var(--u)) #fff,0 0 2px #fff}
.rs_nine_list li::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:calc(3 * var(--u));background:linear-gradient(90deg,#6cc5fc 50%,transparent 0) left top/calc(20 * var(--u)) 100% repeat-x}
.rs_nine_list li>span,.rs_nine_list li::before{position:relative;z-index:2}
.rs_nine_list li+li{margin-top:calc(30 * var(--u))}
.rs_nine_list li:last-child{padding-bottom:0}
.rs_nine_list li:last-child::after{display:none}
.rs_nine_list li:has(br){line-height:1.5}
.rs_nine_list li::before{counter-increment:nine;content:counter(nine) ".";position:absolute !important;top:0;left:calc(10 * var(--u));letter-spacing:0}
@media (max-width:1023px){
	.rs_reason_stage{padding:60px 20px 0}
	.rs_nine_stage{padding:60px 20px 70px}
	.rs_reason_stage .bubble,.rs_nine_stage .bubble{display:none}
	.rs_reason .dot_title,.rs_nine .dot_title{--du:min(.6px,calc(100vw / 800))}
	.rs_reason_list{gap:40px;width:auto;max-width:640px;margin-top:30px}
	.rs_reason_item{flex-direction:column;gap:16px}
	.rs_reason_img{width:100%;height:auto;aspect-ratio:515/290}
	.rs_reason_body{width:auto}
	.rs_reason_title{font-size:clamp(16px,4.6vw,20px)}
	.rs_reason_text{margin-top:10px;font-size:clamp(13px,3.6vw,15px);line-height:1.9}
	.rs_reason_text br{display:none}
	.rs_reason_msg{width:auto;margin-top:40px;font-size:clamp(16px,4.6vw,24px);line-height:1.9}
	.rs_nine_lead{width:auto;margin-top:20px;font-size:clamp(15px,4.4vw,22px);line-height:1.9;letter-spacing:.04em}
	.rs_reason_msg br,.rs_nine_lead br{display:none}
	.rs_nine_card{width:auto;max-width:720px;margin-top:30px;padding:24px 18px 0}
	.rs_nine_list li{padding-bottom:16px;font-size:clamp(14px,3.9vw,18px);line-height:1.6;letter-spacing:.04em}
	.rs_nine_list li::after{height:2px;background-size:14px 100%}
	.rs_nine_list li+li,.rs_nine_list li:has(br){margin-top:16px}
	.rs_nine_list li br{display:none}
	.rs_nine_photo{position:relative;display:block;width:calc(100% + 18px);margin:10px -18px 0 0;margin-left:auto}
}

/* ===== サービス紹介 ===== */
.sv_index .ab_svc_stage{padding-top:calc(200 * var(--u))}
.sv_block{position:relative;container-type:inline-size;overflow-x:clip;scroll-margin-top:calc(var(--header_h) + 20px)}
.sv_block_stage{padding-bottom:calc(175 * var(--u))}
.sv_block_title{display:flex;align-items:center;justify-content:center;width:calc(560 * var(--u));height:calc(75 * var(--u));margin:0 auto;border-radius:calc(50 * var(--u));background:var(--c_pink);font-family:var(--f_serif);font-size:calc(32 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em;color:var(--c_white)}
.sv_block_lead{width:calc(1100 * var(--u));margin:calc(50 * var(--u)) auto 0;font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.sv_group{width:calc(1100 * var(--u));margin:calc(50 * var(--u)) auto 0}
.sv_group+.sv_group{margin-top:calc(50 * var(--u))}
.sv_group.is_wide_top{margin-top:calc(100 * var(--u))}
.sv_group_label{position:relative;height:calc(44 * var(--u));margin-bottom:calc(25 * var(--u));font-size:calc(24 * var(--u));font-weight:500;line-height:1;letter-spacing:0}
.sv_group_label::after{--dot:calc(10 * var(--u));content:"";position:absolute;bottom:0;left:0;width:calc(5 * var(--dot));height:var(--dot);background:radial-gradient(circle closest-side,var(--c_blue) 96%,transparent) 0 0/var(--dot) var(--dot) no-repeat,radial-gradient(circle closest-side,#6cc5fc 96%,transparent) calc(2 * var(--dot)) 0/var(--dot) var(--dot) no-repeat,radial-gradient(circle closest-side,var(--c_blue) 96%,transparent) calc(4 * var(--dot)) 0/var(--dot) var(--dot) no-repeat}
.sv_cards{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(30 * var(--u))}
.sv_card{display:flex;flex-direction:column;align-items:center;padding:calc(19 * var(--u)) calc(24 * var(--u)) calc(43 * var(--u));background:var(--c_white);box-shadow:0 0 calc(20 * var(--u)) rgba(16,127,194,.25)}
.sv_card_img{width:100%;height:calc(325 * var(--u));object-fit:cover}
.sv_card_name{margin-top:calc(47 * var(--u));font-family:var(--f_serif);font-size:calc(24 * var(--u));font-weight:500;line-height:1;letter-spacing:0;text-align:center}
.sv_card_time{display:flex;align-items:center;justify-content:center;min-width:calc(293 * var(--u));height:calc(38 * var(--u));margin-top:calc(15 * var(--u));padding:0 calc(20 * var(--u));border-radius:calc(30 * var(--u));background:var(--c_blue);font-size:calc(20 * var(--u));line-height:1;letter-spacing:0;color:var(--c_white)}
.sv_prices{display:flex;flex-direction:column;align-items:flex-end;gap:calc(20 * var(--u));margin-top:calc(38 * var(--u))}
.sv_price{display:flex;align-items:baseline;gap:calc(10 * var(--u))}
.sv_price_label,.sv_price_unit{font-size:calc(18 * var(--u));font-weight:500;line-height:1;letter-spacing:0;color:var(--c_text)}
.sv_price_value{display:flex;align-items:baseline;font-size:calc(64 * var(--u));font-weight:700;line-height:1;letter-spacing:0;color:var(--c_blue)}
.sv_price.is_pink .sv_price_value{color:var(--c_pink)}
.sv_price_label:empty{display:none}
.sv_price_yen{font-size:calc(36 * var(--u))}
.sv_price_unit{margin-left:calc(8 * var(--u))}
.sv_card_note{margin-top:calc(30 * var(--u));font-size:calc(18 * var(--u));line-height:2;letter-spacing:0;text-align:center}
.sv_block_lead.is_large{font-size:calc(22 * var(--u))}
.sv_block:last-child .sv_block_stage{padding-bottom:calc(200 * var(--u))}
.sv_aside{display:flex;flex-direction:column;align-items:center;padding-top:calc(79 * var(--u))}
.sv_aside_title{display:flex;align-items:center;justify-content:center;width:calc(293 * var(--u));height:calc(48 * var(--u));border-radius:calc(30 * var(--u));background:var(--c_blue);font-size:calc(24 * var(--u));line-height:1;letter-spacing:0;color:var(--c_white)}
.sv_aside_cards{display:flex;flex-direction:column;gap:calc(15 * var(--u));width:100%;margin-top:calc(25 * var(--u))}
.sv_card.is_mini{padding:calc(30 * var(--u)) calc(24 * var(--u)) calc(23 * var(--u))}
.sv_card.is_mini .sv_card_name{margin-top:0}
.sv_card.is_compact{padding-bottom:calc(18 * var(--u))}
.sv_card.is_compact .sv_card_note{margin-top:calc(15 * var(--u))}
.sv_card.is_mini .sv_prices{margin-top:calc(11 * var(--u))}
.sv_prices.is_plans{align-items:center;gap:calc(28 * var(--u));margin-top:calc(42 * var(--u))}
.sv_prices.is_plans .sv_price{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:baseline;gap:0 calc(10 * var(--u))}
.sv_price_plan{grid-column:1/-1;justify-self:center;width:calc(341 * var(--u));min-width:0;margin:0 0 calc(11 * var(--u))}
.sv_card_contact{margin-top:calc(30 * var(--u));font-family:var(--f_serif);font-size:calc(24 * var(--u));font-weight:500;line-height:1;letter-spacing:0;color:var(--c_pink);text-decoration:underline;text-underline-offset:.2em;transition:opacity .3s}
.sv_card_contact:hover{opacity:.7}
@media (max-width:1023px){
	.sv_index .ab_svc_stage{padding-top:60px}
	.sv_block_stage{padding:0 20px 70px}
	.sv_block_stage .bubble{display:none}
	.sv_block_title{width:min(100%,360px);height:52px;border-radius:26px;font-size:clamp(17px,4.8vw,22px)}
	.sv_block_lead{width:auto;max-width:720px;margin-top:20px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em;text-align:left}
	.sv_block_lead br{display:none}
	.sv_group{width:auto;max-width:720px;margin-top:30px}
	.sv_cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
	.sv_card{padding:12px 12px 26px}
	.sv_card_img{height:auto;aspect-ratio:488/325}
	.sv_card_name{margin-top:20px;font-size:clamp(16px,4.4vw,20px);line-height:1.5}
	.sv_card_time{min-width:0;height:32px;margin-top:10px;padding:0 16px;font-size:clamp(13px,3.6vw,16px)}
	.sv_prices{gap:12px;margin-top:20px}
	.sv_price{gap:8px}
	.sv_price_label,.sv_price_unit{font-size:clamp(12px,3.4vw,15px)}
	.sv_price_value{font-size:clamp(34px,10vw,48px)}
	.sv_price_yen{font-size:.56em}
	.sv_price_unit{margin-left:6px}
	.sv_card_note{margin-top:16px;font-size:clamp(13px,3.6vw,15px);line-height:1.8}
	.sv_card_note br{display:none}
	.sv_aside{padding-top:0}
	.sv_aside_title{width:auto;height:40px;padding:0 24px;font-size:clamp(15px,4.2vw,18px)}
	.sv_aside_cards{gap:12px;margin-top:14px}
	.sv_card.is_mini{padding:18px 12px 16px}
	.sv_card.is_mini .sv_prices{margin-top:8px}
	.sv_block:last-child .sv_block_stage{padding-bottom:70px}
	.sv_group_label{height:auto;margin-bottom:16px;padding-bottom:18px;font-size:clamp(16px,4.4vw,20px)}
	.sv_group_label::after{--dot:8px}
	.sv_group+.sv_group{margin-top:36px}
	.sv_group.is_wide_top{margin-top:30px}
	.sv_prices.is_plans{gap:16px;margin-top:20px}
	.sv_price_plan{width:auto;margin:0 0 8px}
	.sv_prices.is_plans .sv_price{gap:0 8px}
	.sv_card_contact{margin-top:16px;font-size:clamp(15px,4.2vw,18px)}
}

/* ===== ブログ・お知らせ一覧 ===== */
.screen_reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bl_archive{position:relative;container-type:inline-size;overflow-x:clip}
.bl_archive_stage{padding:calc(200 * var(--u)) 0}
.bl_tabs{display:flex;justify-content:space-between;width:calc(1100 * var(--u));margin:0 auto}
.bl_tab{position:relative;display:flex;align-items:center;justify-content:center;width:calc(345 * var(--u));height:calc(65 * var(--u));background:var(--c_blue);box-shadow:inset 0 0 0 2px var(--c_blue);font-size:calc(20 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em;color:var(--c_white);transition:background-color .3s,color .3s}
.bl_tab_arrow{position:absolute;top:50%;right:calc(17 * var(--u));width:calc(22 * var(--u));transform:translateY(-50%)}
.bl_tab:hover,.bl_tab.is_current{background:var(--c_white);color:var(--c_blue)}
.bl_grid{display:grid;grid-template-columns:repeat(2,calc(535 * var(--u)));gap:calc(60 * var(--u)) calc(30 * var(--u));justify-content:center;margin-top:calc(100 * var(--u))}
.bl_empty{margin-top:calc(100 * var(--u));font-size:calc(20 * var(--u));text-align:center}
.bl_pager{display:flex;justify-content:center;gap:calc(5 * var(--u));margin-top:calc(100 * var(--u))}
.bl_pager .page-numbers{display:flex;align-items:center;justify-content:center;width:calc(45 * var(--u));height:calc(45 * var(--u));background:var(--c_white);box-shadow:inset 0 0 0 1px var(--c_blue);font-size:calc(20 * var(--u));font-weight:700;line-height:1;color:var(--c_blue);transition:background-color .3s,color .3s}
.bl_pager a.page-numbers:hover,.bl_pager .page-numbers.current{background:var(--c_blue);color:var(--c_white)}
.bl_pager .page-numbers.dots{background:none;box-shadow:none}
.bl_pager .page-numbers svg{width:calc(7 * var(--u))}
.bl_pager .prev svg{transform:scaleX(-1)}
.bl_pager .is_disabled{opacity:.35}
@media (max-width:1023px){
	.bl_archive_stage{padding:50px 20px 70px}
	.bl_archive_stage .bubble{display:none}
	.bl_tabs{gap:8px;width:auto;max-width:720px}
	.bl_tab{flex:1;width:auto;height:46px;padding-right:14px;font-size:clamp(12px,3.4vw,16px);letter-spacing:0}
	.bl_tab_arrow{right:7px;width:10px}
	.bl_grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px 20px;max-width:720px;margin:36px auto 0}
	.bl_grid .blog_card{--bu:min(.7px,calc((100vw - 40px) / 535))}
	.bl_pager{gap:4px;margin-top:40px}
	.bl_pager .page-numbers{width:38px;height:38px;font-size:16px}
	.bl_pager .page-numbers svg{width:6px}
	.bl_empty{margin-top:36px;font-size:15px}
}

/* ===== ブログ・お知らせ詳細 ===== */
.bl_single{position:relative;container-type:inline-size;overflow-x:clip}
.bl_single_stage{padding:calc(200 * var(--u)) 0}
.bl_single_stage>*:not(.bubble){width:calc(1100 * var(--u));margin-inline:auto}
.bl_single_stage .blog_card_meta{--bu:var(--u);margin-top:0}
.bl_single_stage a.blog_card_cat{transition:opacity .3s}
.bl_single_stage a.blog_card_cat:hover{opacity:.7}
.bl_single_title{margin-top:calc(24 * var(--u));font-size:calc(20 * var(--u));font-weight:700;line-height:1.6;letter-spacing:.08em}
.bl_single_img{margin-top:calc(50 * var(--u));aspect-ratio:1100/619;overflow:hidden}
.bl_single_img img{display:block;width:100%;height:100%;object-fit:cover}
.bl_entry{margin-top:calc(50 * var(--u));padding-bottom:calc(50 * var(--u));border-bottom:2px solid var(--c_text);font-size:calc(16 * var(--u));line-height:2;letter-spacing:.08em}
.bl_entry>*+*{margin-top:2em}
.bl_entry h2{padding-left:.6em;border-left:4px solid var(--c_blue);font-size:1.5em;font-weight:700;line-height:1.5}
.bl_entry h3{padding-bottom:.3em;border-bottom:2px dotted var(--c_sky);font-size:1.25em;font-weight:700;line-height:1.5}
.bl_entry h4{font-size:1.1em;font-weight:700}
.bl_entry a{color:var(--c_blue);text-decoration:underline}
.bl_entry a:hover{color:var(--c_pink)}
.bl_entry ul,.bl_entry ol{padding-left:1.5em}
.bl_entry ul{list-style:disc}
.bl_entry ol{list-style:decimal}
.bl_entry img{height:auto}
.bl_entry figure{margin-left:0;margin-right:0}
.bl_entry figcaption{margin-top:.5em;font-size:.875em;text-align:center}
.bl_entry blockquote{padding:1em 1.5em;background:var(--c_pale)}
.bl_entry strong{font-weight:700}
.bl_single_nav{position:relative;display:flex;align-items:center;justify-content:center;gap:calc(30 * var(--u));margin-top:calc(100 * var(--u))}
.bl_single_nav_link{width:calc(90 * var(--u));font-size:calc(20 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em;white-space:nowrap;transition:color .3s}
a.bl_single_nav_link:hover{color:var(--c_pink)}
.bl_single_nav_link.is_disabled{opacity:.3}
@media (max-width:1023px){
	.bl_single_stage{padding:50px 20px 70px}
	.bl_single_stage>*:not(.bubble){width:auto;max-width:760px}
	.bl_single_stage .bubble{display:none}
	.bl_single_stage .blog_card_meta{--bu:.75px}
	.bl_single_title{margin-top:16px;font-size:clamp(17px,4.8vw,22px)}
	.bl_single_img{margin-top:24px}
	.bl_entry{margin-top:24px;padding-bottom:36px;font-size:15px;line-height:1.9;letter-spacing:.04em}
	.bl_entry>*+*{margin-top:1.6em}
	.bl_single_nav{display:grid;grid-template-columns:1fr 1fr;gap:20px 10px;margin-top:40px}
	.bl_single_nav .more_btn{grid-column:1/-1;grid-row:2;margin:0 auto}
	.bl_single_nav_link{width:auto;font-size:15px}
	.bl_single_nav_link.is_next{text-align:right}
}

/* ===== よくある質問 ===== */
.fq_page{--tu:clamp(.62px,100cqw / 1920,1px);background:url(../img/common/tile_bg.jpg) center calc(-64 * var(--tu))/calc(1920 * var(--tu)) auto repeat,var(--c_pale);background-blend-mode:multiply}
.fq_page_inner{position:relative;container-type:inline-size;overflow-x:clip}
.fq_stage{padding:calc(200 * var(--u)) 0}
.fq_stage>*:not(.bubble){position:relative;z-index:1}
.fq_tabs{justify-content:flex-start;gap:calc(33 * var(--u))}
.fq_group{width:calc(1100 * var(--u));margin:calc(100 * var(--u)) auto 0;scroll-margin-top:calc(var(--header_h) + 20px)}
.fq_group_label{margin-bottom:calc(50 * var(--u))}
@media (max-width:1023px){
	.fq_stage{padding:50px 20px 70px}
	.fq_stage .bubble{display:none}
	.fq_tabs{gap:8px}
	.fq_group{width:auto;max-width:640px;margin-top:40px}
	.fq_group_label{margin-bottom:20px}
}

/* ===== 会社案内 ===== */
.co_message,.co_outline{position:relative;container-type:inline-size;overflow-x:clip;scroll-margin-top:var(--header_h)}
.co_message_stage{padding:calc(200 * var(--u)) 0}
.co_message_body{display:flex;gap:calc(80 * var(--u));width:calc(1100 * var(--u));margin:calc(86 * var(--u)) auto 0}
.co_message_img{flex:none;width:calc(440 * var(--u));height:calc(586 * var(--u));object-fit:cover}
.co_message_texts{width:calc(580 * var(--u))}
.co_message_text,.co_message_sign{font-size:calc(16 * var(--u));line-height:2;letter-spacing:.08em}
.co_message_sign{margin:calc(100 * var(--u)) calc(20 * var(--u)) 0 0;text-align:right}
.co_outline{--tu:clamp(.62px,100cqw / 1920,1px);background:url(../img/common/tile_bg.jpg) center calc(-48 * var(--tu))/calc(1920 * var(--tu)) auto repeat,#6cc5fc;background-blend-mode:multiply}
.co_outline_stage{padding:calc(150 * var(--u)) 0 calc(200 * var(--u))}
.co_outline_stage .dot_title{--dot_a:var(--c_white);color:var(--c_white)}
.co_outline_stage>.bubble{z-index:1}
.co_outline_box{width:calc(1440 * var(--u));margin:calc(86 * var(--u)) auto 0;padding:calc(100 * var(--u)) calc(170 * var(--u));background:var(--c_white)}
.co_row{display:flex;padding:calc(22 * var(--u)) 0 calc(22 * var(--u)) calc(56 * var(--u));border-bottom:1px solid var(--c_blue);font-size:calc(16 * var(--u));line-height:2;letter-spacing:.08em}
.co_row:has(br){padding-block:calc(30 * var(--u))}
.co_row:first-child{padding-top:0}
.co_table{margin-top:calc(-8 * var(--u))}
.co_row dt{flex:none;width:calc(250 * var(--u))}
.co_row a{transition:color .3s}
.co_row a:hover{color:var(--c_blue)}
.co_map{height:calc(284 * var(--u));margin-top:calc(100 * var(--u))}
.co_map iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:1023px){
	.co_message_stage{padding:50px 20px 60px}
	.co_message .dot_title,.co_outline .dot_title{--du:min(.6px,calc(100vw / 800))}
	.co_message_body{flex-direction:column;gap:24px;width:auto;max-width:640px;margin-top:30px}
	.co_message_img{width:min(100%,360px);height:auto;aspect-ratio:440/586;margin:0 auto}
	.co_message_texts{width:auto}
	.co_message_text,.co_message_sign{font-size:clamp(13px,3.6vw,15px);line-height:1.9;letter-spacing:.04em}
	.co_message_sign{margin:24px 0 0}
	.co_outline_stage{padding:50px 20px 70px}
	.co_outline_stage .bubble{display:none}
	.co_outline_box{width:auto;max-width:720px;margin-top:30px;padding:24px 18px 30px}
	.co_table{margin-top:0}
	.co_row,.co_row:has(br){flex-direction:column;padding:14px 0;font-size:clamp(13px,3.6vw,15px);line-height:1.8}
	.co_row dt{width:auto;font-weight:700;color:var(--c_blue)}
	.co_map{height:240px;margin-top:30px}
}

/* ===== お問い合わせ ===== */
.ct_intro,.ct_main{position:relative;container-type:inline-size;overflow-x:clip}
.ct_intro_stage{padding:calc(200 * var(--u)) 0 calc(175 * var(--u))}
.ct_intro_text{margin-top:calc(36 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.ct_marker{background:linear-gradient(transparent calc(25 * var(--u)),var(--c_pink) 0 calc(37 * var(--u)),transparent 0)}
.ct_tel{position:relative;z-index:1;width:calc(1100 * var(--u));height:calc(250 * var(--u));margin:calc(50 * var(--u)) auto 0;border:3px solid var(--c_blue);border-radius:calc(20 * var(--u));overflow:hidden;background:var(--c_white);text-align:center}
.ct_tel_head{display:flex;align-items:center;justify-content:center;height:calc(90 * var(--u));background:var(--c_blue);font-family:var(--f_serif);font-size:calc(36 * var(--u));font-weight:700;line-height:1;letter-spacing:0;color:var(--c_white)}
.ct_tel_num{display:inline-flex;align-items:center;gap:calc(25 * var(--u));margin-top:calc(24 * var(--u));font-family:var(--f_serif);font-size:calc(64 * var(--u));font-weight:700;line-height:1;letter-spacing:0;color:var(--c_blue);transition:opacity .3s}
.ct_tel_num:hover{opacity:.7}
.ct_tel_num img{width:calc(53 * var(--u))}
.ct_tel_hours{margin-top:calc(23 * var(--u));font-size:calc(20 * var(--u));font-weight:700;line-height:1;letter-spacing:0}
.ct_intro_stage>.bubble{z-index:2}
.ct_main_stage{padding-bottom:calc(200 * var(--u))}
.ct_lead{margin-top:calc(36 * var(--u));font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.ct_lead_confirm,.is_confirm .ct_lead_input{display:none}
.is_confirm .ct_lead_confirm{display:block}
.ct_form{width:calc(1100 * var(--u));margin:calc(100 * var(--u)) auto 0}
.ct_rows{display:flex;flex-direction:column;gap:calc(46 * var(--u))}
.ct_row{display:flex;align-items:flex-start}
.ct_row dt{display:flex;align-items:center;gap:calc(20 * var(--u));flex:none;width:calc(400 * var(--u));min-height:calc(65 * var(--u));font-size:calc(20 * var(--u));font-weight:700;line-height:1.4;letter-spacing:.08em}
.ct_row dd{flex:1;min-width:0}
.ct_req{display:inline-flex;align-items:center;justify-content:center;flex:none;width:calc(54 * var(--u));height:calc(18 * var(--u));background:var(--c_pink);font-size:calc(10 * var(--u));font-weight:700;line-height:1;letter-spacing:0;color:var(--c_white)}
.ct_form .wpcf7-form-control-wrap{display:block}
.ct_form input[type=text],.ct_form input[type=tel],.ct_form input[type=email],.ct_form input[type=date],.ct_form textarea{display:block;width:100%;height:calc(65 * var(--u));padding:0 calc(39 * var(--u));border:2px solid var(--c_blue);border-radius:0;background:var(--c_white);font:inherit;font-size:calc(20 * var(--u));font-weight:700;letter-spacing:.08em;color:var(--c_text)}
.ct_form input[type=date]{cursor:pointer}
.ct_form textarea{height:calc(252 * var(--u));padding-top:calc(26 * var(--u));line-height:1.6;resize:vertical}
.ct_form ::placeholder{color:var(--c_text);opacity:.45}
.ct_form input:focus,.ct_form textarea:focus{outline:2px solid var(--c_sky);outline-offset:2px}
.ct_row.is_address dd{display:flex;flex-direction:column;gap:calc(16 * var(--u))}
.ct_zip{width:calc(250 * var(--u))}
.ct_row.is_radio dt{min-height:0}
.ct_row.is_radio .wpcf7-radio{display:flex;flex-wrap:wrap;gap:calc(15 * var(--u)) calc(15 * var(--u))}
.ct_row.is_radio .wpcf7-list-item{margin:0 calc(15 * var(--u)) 0 0}
.ct_row.is_radio label,.ct_agree label{display:inline-flex;align-items:center;gap:calc(10 * var(--u));font-size:calc(20 * var(--u));font-weight:700;line-height:1;letter-spacing:.08em;cursor:pointer}
.ct_form input[type=radio],.ct_form input[type=checkbox]{appearance:none;flex:none;width:calc(24 * var(--u));height:calc(24 * var(--u));margin:0;border:2px solid var(--c_blue);border-radius:50%;background:var(--c_white);cursor:pointer}
.ct_form input[type=radio]:checked,.ct_form input[type=checkbox]:checked{background:radial-gradient(circle,var(--c_blue) 55%,var(--c_white) 58%)}
.ct_agree{display:flex;align-items:center;justify-content:center;gap:calc(20 * var(--u));margin-top:calc(100 * var(--u))}
.ct_agree .wpcf7-list-item{margin:0}
.ct_agree a{text-decoration:underline;text-underline-offset:.3em;transition:color .3s}
.ct_agree a:hover{color:var(--c_blue)}
.ct_btns{display:flex;justify-content:center;align-items:center;gap:calc(40 * var(--u));margin-top:calc(50 * var(--u))}
.ct_btns .more_btn{border:0;cursor:pointer;font-family:inherit}
.ct_btn_arrow{display:block;height:calc(40 * var(--mu));border-radius:50%;background:var(--c_white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23107fc2' stroke-width='2'/%3E%3C/svg%3E") 55% 50%/calc(7 * var(--mu)) auto no-repeat}
.ct_btn_next:hover .ct_btn_arrow{background-color:var(--c_pink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpath d='M1 1l6 6-6 6' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
.ct_form input.ct_btn_submit{height:calc(70 * var(--u));font-size:calc(24 * var(--u));font-weight:700}
.ct_btn_back{font-size:calc(20 * var(--u));font-weight:700;text-decoration:underline;text-underline-offset:.3em;transition:color .3s}
.ct_btn_back:hover{color:var(--c_blue)}
.ct_btns_confirm{display:none}
.is_confirm .ct_btns_input,.is_confirm .ct_agree{display:none}
.is_confirm .ct_btns_confirm{display:flex}
.is_confirm .ct_form dd>*:not(.ct_value),.is_confirm .ct_req{display:none}
.ct_value{min-height:calc(65 * var(--u));padding:calc(16 * var(--u)) 0;border-bottom:1px solid var(--c_sky);font-size:calc(20 * var(--u));line-height:1.6;letter-spacing:.08em;white-space:pre-wrap;word-break:break-all}
.ct_value.is_empty{color:#8a9aaa}
.ct_value{display:none}
.is_confirm .ct_value{display:block}
.ct_form .wpcf7-not-valid-tip{margin-top:6px;font-size:calc(16 * var(--u));font-weight:700;color:#e0245e}
.ct_agree .wpcf7-not-valid-tip{text-align:center}
.ct_form .wpcf7-response-output{margin:calc(30 * var(--u)) 0 0;padding:1em;border:2px solid var(--c_pink);font-size:calc(16 * var(--u))}
.ct_form .wpcf7-spinner{display:none}
@media (max-width:1023px){
	.ct_intro_stage{padding:50px 20px 60px}
	.ct_intro_stage .bubble{display:none}
	.ct_intro .dot_title,.ct_main .dot_title{--du:min(.6px,calc(100vw / 800))}
	.ct_intro_text,.ct_lead{margin-top:20px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em;text-align:left}
	.ct_intro_text br:not(:first-of-type),.ct_lead br{display:none}
	.ct_marker{background:linear-gradient(transparent 60%,var(--c_pink) 0 92%,transparent 0)}
	.ct_tel{width:auto;max-width:640px;height:auto;margin-top:30px;padding-bottom:20px;border-radius:14px}
	.ct_tel_head{height:auto;padding:12px;font-size:clamp(16px,4.6vw,22px)}
	.ct_tel_num{gap:10px;margin-top:14px;font-size:clamp(30px,8.5vw,44px)}
	.ct_tel_num img{width:36px}
	.ct_tel_hours{margin-top:10px;font-size:clamp(12px,3.4vw,15px)}
	.ct_main_stage{padding:0 20px 70px}
	.ct_form{width:auto;max-width:720px;margin-top:36px}
	.ct_rows{gap:22px}
	.ct_row{flex-direction:column;gap:8px}
	.ct_row dt{width:auto;min-height:0;gap:10px;font-size:15px}
	.ct_row dd{width:100%}
	.ct_req{width:42px;height:18px;font-size:10px}
	.ct_form input[type=text],.ct_form input[type=tel],.ct_form input[type=email],.ct_form input[type=date],.ct_form textarea{height:50px;padding:0 14px;font-size:16px;letter-spacing:.04em}
	.ct_form textarea{height:200px;padding-top:12px}
	.ct_row.is_address dd{gap:10px}
	.ct_zip{width:60%}
	.ct_row.is_radio label,.ct_agree label{gap:8px;font-size:15px}
	.ct_form input[type=radio],.ct_form input[type=checkbox]{width:22px;height:22px}
	.ct_agree{flex-wrap:wrap;gap:8px;margin-top:40px}
	.ct_btns{flex-direction:column-reverse;gap:20px;margin-top:30px}
	.ct_form input.ct_btn_submit{height:auto}
	.ct_btn_back{font-size:15px}
	.ct_value{min-height:0;padding:10px 0;font-size:15px}
}

/* ===== 送信完了（Figma なし。他ページの見出し・本文の書式に合わせる） ===== */
.ct_thanks{position:relative;container-type:inline-size;overflow-x:clip}
.ct_thanks_stage{padding:calc(200 * var(--u)) 0}
.ct_thanks_text{width:calc(1100 * var(--u));margin:calc(50 * var(--u)) auto 0;font-size:calc(20 * var(--u));line-height:2;letter-spacing:.08em;text-align:center}
.ct_thanks_text a{color:var(--c_blue);text-decoration:underline}
.ct_thanks_btn{margin:calc(100 * var(--u)) auto 0}
@media (max-width:1023px){
	.ct_thanks_stage{padding:50px 20px 70px}
	.ct_thanks .dot_title{--du:min(.6px,calc(100vw / 800))}
	.ct_thanks_text{width:auto;margin-top:24px;font-size:clamp(13px,3.6vw,16px);letter-spacing:.04em;text-align:left}
	.ct_thanks_text br:not(:nth-of-type(3)):not(:nth-of-type(4)){display:none}
	.ct_thanks_btn{margin-top:40px}
}

/* ===== プライバシーポリシー（Figma は 16px・行間 2 の 1 ブロック。見出しも本文と同じ書式） ===== */
.pv_main{position:relative;container-type:inline-size;overflow-x:clip}
.pv_stage{padding:calc(200 * var(--u)) 0}
.pv_body{position:relative;z-index:1;width:calc(1100 * var(--u));margin:0 auto;font-size:calc(16 * var(--u));line-height:2;letter-spacing:.08em}
.pv_body h2{margin-top:2em;font-size:1em;font-weight:500;line-height:2}
.pv_body ul{margin-top:2em}
.pv_body .pv_contact{margin-top:4em}
.pv_body a{color:var(--c_blue);text-decoration:underline}
.pv_body a:hover{color:var(--c_pink)}
@media (max-width:1023px){
	.pv_stage{padding:50px 20px 70px}
	.pv_stage .bubble{display:none}
	.pv_body{width:auto;max-width:760px;font-size:clamp(13px,3.6vw,15px);line-height:1.9;letter-spacing:.04em}
	.pv_body h2{margin-top:1.8em;font-weight:700}
}

/* ===== ローディング画面（Figma 1512×850） ===== */
.loader{display:none}
.is_loading,.is_loading body{overflow:hidden}
.is_loading .loader{--lu:min(1px,calc((100vw - 40px) / 560),calc(100vh / 850));position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--c_white);transition:opacity .6s,visibility .6s}
.loader.is_done{opacity:0;visibility:hidden}
.loader_bubble{position:absolute;top:calc(var(--y) / 850 * 100%);left:calc(var(--x) / 1512 * 100%);width:calc(var(--w) * var(--lu));max-width:none}
.loader_inner{position:relative;width:calc(527 * var(--lu));text-align:center}
.loader_logo{display:flex;align-items:flex-end;justify-content:center;line-height:0}
.loader_logo img{width:calc(300 * var(--lu))}
.loader_logo span{margin:0 0 calc(4 * var(--lu)) 0;font-family:var(--f_serif);font-size:calc(26.6 * var(--lu));font-weight:900;line-height:1;letter-spacing:.08em;color:#005cac;white-space:nowrap}
.loader_status{margin-top:calc(48 * var(--lu));font-family:var(--f_serif);font-size:calc(28 * var(--lu));line-height:1;letter-spacing:0;color:var(--c_blue);white-space:nowrap}
.loader_num{display:inline-block;min-width:3.6em;text-align:right}
.loader_bar{height:calc(8 * var(--lu));margin-top:calc(33 * var(--lu))}
.loader_bar_fill{display:block;width:0;height:100%;background:#e54667;transition:width .3s ease-out}
.loader_catch{margin-top:calc(60 * var(--lu));font-family:var(--f_serif);font-size:calc(32 * var(--lu));font-weight:500;line-height:1.5;letter-spacing:.08em;white-space:nowrap}

/* ===== SP 画面下固定ボタン（電話） ===== */
.sp_bar{display:none}
@media (max-width:1279px){
	.sp_bar{position:fixed;left:0;bottom:0;z-index:150;display:flex;width:100%;height:calc(50px * var(--s));color:var(--c_white);transform:translateY(100%);transition:transform .3s ease}
	.sp_bar.is_show{transform:translateY(0)}
	.is_menu_open .sp_bar{transform:translateY(100%)}
	.sp_bar_main{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;background:var(--c_pink)}
	.sp_bar_num{display:flex;align-items:center;gap:calc(9px * var(--s));font-family:var(--f_serif);font-size:calc(24.4px * var(--s));font-weight:700;line-height:1;letter-spacing:.05em}
	.sp_bar_num img{width:calc(36px * var(--s))}
	.sp_bar_hours{margin:calc(2px * var(--s)) 0 0 calc(100px * var(--s));font-size:calc(8px * var(--s));line-height:1;letter-spacing:0;white-space:nowrap}
	.sp_bar_call{display:flex;flex-direction:column;align-items:center;gap:calc(3px * var(--s));width:calc(81px * var(--s));padding-top:calc(5px * var(--s));background:var(--c_pale);color:var(--c_text);font-size:calc(8px * var(--s));line-height:1;letter-spacing:0;transition:opacity .3s}
	.sp_bar_call img{width:calc(30px * var(--s))}
	.sp_bar:hover .sp_bar_call{opacity:.8}
}
