/* =================================
   Base / Common
================================= */
*, *::before, *::after {box-sizing:border-box;margin:0;padding:0;}
:root{
  --magenta:#e8007f;
  --magenta-dark:#b8056a;
  --blue:#1497C2;
  --sky:#3FB5D4;
  --lightblue:#AEE3EE;
  --white:#fff;
  --black:#000;
  --foot-bg:#f1f8fa;

  --orange:#FFB755;
  --coral:#F46984;
  --purple:#AE7FE5;
  --teal:#31C2AF;
  --blue2:#7AB0FF;
  --cyan:#66C9E0;
  --red:#F43B5F;

  --font-body:'Noto Sans JP',system-ui,sans-serif;
  --font-heading:'M PLUS Rounded 1c',sans-serif;
  --font-accent:'Cherry Bomb One',cursive;

  --base:3.6cqw;
  --xs:2.9cqw;
  --sm:3.1cqw;
  --lg:3.7cqw;
  --h2:5.6cqw;
}
html{scroll-behavior:smooth;}
body{background:var(--sky);color:var(--black);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
.magenta{color:var(--magenta);}
.txt_link{color:var(--magenta);font-weight:700;}
.bg_white{background:var(--white);}
.bg_blue{background:var(--blue);}
.bg_lightblue{background:var(--lightblue);}
.bg_magenta{background:var(--magenta);}
.bg_foot{background:var(--foot-bg);}

/* =================================
   Index / Layout（中央1カラム・波・セクション共通）
================================= */
.page{position:relative;min-height:100vh;background:var(--sky);display:flex;justify-content:center;}
.column{position:relative;z-index:1;width:100%;max-width:430px;background:var(--white);overflow:hidden;container-type:inline-size;text-align:justify;}
.wave{line-height:0;}
.wave svg{display:block;width:calc(100% + 2px);margin-left:-1px;height:auto;margin-bottom:-1px;}
.sec{padding:0 24px 52px;}
.sec_tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;}
.tag_bar{width:20px;height:3px;border-radius:2px;background:var(--magenta);}
.tag_txt{font-family:var(--font-accent);font-size:12px;font-weight:400;letter-spacing:.12em;color:var(--magenta);}
.sec_title{margin-bottom:22px;font-family:var(--font-heading);font-size:var(--h2);line-height:1.5;font-weight:900;color:var(--black);letter-spacing:.01em;}
.press{transition:transform .06s ease,box-shadow .06s ease;}
.press:active{transform:translateY(4px)!important;box-shadow:0 0 0 rgba(0,0,0,.14)!important;}

/* =================================
   Index / Splash
================================= */
#splash{position:fixed;inset:0;z-index:9999;background:var(--blue);display:flex;align-items:center;justify-content:center;transition:opacity .55s ease;pointer-events:none;opacity:1;}
#splash img{width:148px;height:auto;animation:splashPop .7s cubic-bezier(.2,.8,.2,1) both;}
#splash.is_hidden{opacity:0;}
#splash.is_off{display:none;}

/* =================================
   Index / Gutter 装飾
================================= */
.gutter_deco div{position:fixed;z-index:0;pointer-events:none;}
.gutter_deco div:nth-child(1){top:88px;left:calc(50% - 360px);width:152px;height:152px;border-radius:34px;background:var(--orange);animation:spinSlow 38s linear infinite;}
.gutter_deco div:nth-child(2){top:438px;left:calc(50% - 384px);width:120px;height:120px;border-radius:26px;background:var(--coral);animation:spinSlowRev 46s linear infinite;}
.gutter_deco div:nth-child(3){top:792px;left:calc(50% - 352px);width:138px;height:138px;border-radius:30px;background:var(--purple);animation:spinSlow 52s linear infinite;}
.gutter_deco div:nth-child(4){top:150px;left:calc(50% + 232px);width:140px;height:140px;border-radius:30px;background:var(--teal);animation:spinSlowRev 42s linear infinite;}
.gutter_deco div:nth-child(5){top:548px;left:calc(50% + 246px);width:118px;height:118px;border-radius:26px;background:#FFDA40;animation:spinSlow 50s linear infinite;}
.gutter_deco div:nth-child(6){top:880px;left:calc(50% + 236px);width:150px;height:150px;border-radius:32px;background:var(--blue2);animation:spinSlowRev 56s linear infinite;}
.gutter_deco div:nth-child(7){top:70px;left:calc(50% - 600px);width:128px;height:128px;border-radius:28px;background:#FF86AB;animation:spinSlowRev 44s linear infinite;}
.gutter_deco div:nth-child(8){top:290px;left:calc(50% - 632px);width:112px;height:112px;border-radius:24px;background:#83CB8C;animation:spinSlow 50s linear infinite;}
.gutter_deco div:nth-child(9){top:500px;left:calc(50% - 588px);width:140px;height:140px;border-radius:30px;background:#99E4F2;animation:spinSlowRev 58s linear infinite;}
.gutter_deco div:nth-child(10){top:90px;left:calc(50% + 472px);width:132px;height:132px;border-radius:28px;background:#BC9BEA;animation:spinSlow 48s linear infinite;}
.gutter_deco div:nth-child(11){top:402px;left:calc(50% + 506px);width:114px;height:114px;border-radius:24px;background:#FFABC0;animation:spinSlowRev 54s linear infinite;}
.gutter_deco div:nth-child(12){top:724px;left:calc(50% + 476px);width:138px;height:138px;border-radius:30px;background:var(--cyan);animation:spinSlow 60s linear infinite;}
.gutter_logo{position:fixed;bottom:44px;left:2%;width:220px;height:auto;z-index:0;pointer-events:none;}

/* =================================
   Index / Hero
================================= */
.hero{background:linear-gradient(to bottom,var(--lightblue) 0%,var(--blue) 50%);padding:42px 24px 46px;position:relative;overflow:hidden;}
.hero_mag{width:112px;height:auto;display:block;margin:0 auto 10px;animation:magBob 3.6s ease-in-out infinite;}
.hero_logo{display:block;width:168px;height:auto;margin:0 auto 22px;}
.hero_title{margin-bottom:14px;font-family:var(--font-heading);font-size:6cqw;line-height:1.5;font-weight:900;color:var(--white);letter-spacing:.01em;text-align:center;}
.hero_lead{margin-bottom:14px;font-size:var(--base);line-height:1.9;font-weight:600;color:var(--white);text-align:center;}
.hero_board{margin:4px 0 24px;font-family:var(--font-heading);font-size:7.4cqw;line-height:1.3;font-weight:800;color:var(--white);text-align:center;}
.board_name{display:inline-block;min-width:3em;transition:opacity .25s ease;}
.board_name.is_hidden{opacity:0;}
.board_name.is_tight{letter-spacing:-.06em;}
.btn_cta{display:flex;align-items:center;justify-content:center;background:var(--white);color:var(--magenta);font-size:17px;font-weight:900;padding:16px 22px;border-radius:16px;box-shadow:0 5px 0 rgba(0,0,0,.14);}
.store_note{margin-top:13px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--white);font-size:var(--xs);font-weight:700;}
.store_note .mdi{font-size:var(--base);}
.phone{position:relative;width:226px;margin:30px auto 4px;}
.phone_frame{background:#0E0E10;border-radius:38px;padding:9px;}
.phone_screen{position:relative;border-radius:30px;overflow:hidden;aspect-ratio:9/19.3;background:#EAF8FB;}
.phone_notch{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:74px;height:20px;background:#0E0E10;border-radius:999px;z-index:3;}
.phone_dummy{position:absolute;inset:0;background:repeating-linear-gradient(135deg,#DCF3F8 0 13px,#EAF8FB 13px 26px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#3a8ba3;}
.phone_dummy .mdi{font-size:30px;opacity:.65;}
.dummy_txt{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;letter-spacing:.02em;text-align:center;line-height:1.7;opacity:.85;padding:0 12px;}

/* =================================
   Index / 共感導入
================================= */
.intro .sec_title{margin-bottom:16px;line-height:1.55;text-wrap:pretty;}
.intro_txt{margin-bottom:16px;font-size:var(--base);line-height:1.95;font-weight:500;color:var(--black);}
.intro_txt + .intro_txt{margin-bottom:24px;}
.intro_note{display:flex;align-items:center;gap:14px;background:rgb(174 227 238 / 30%);border-radius:18px;padding:18px;}
.intro_note img{width:54px;height:auto;flex:none;}
.intro_note p{font-size:var(--base);line-height:1.8;font-weight:700;color:var(--black);}

/* =================================
   Index / About（磁石の解剖）
================================= */
#about .sec_title{margin-bottom:14px;text-wrap:pretty;}
.about_txt{margin-bottom:12px;font-size:var(--base);line-height:1.95;font-weight:500;color:var(--black);}
.about_txt.about_em{margin-bottom:24px;font-weight:700;}
.anatomy{background:var(--white);border-radius:22px;padding:24px 18px 20px;}
.mag_sample_wrap{display:flex;justify-content:center;margin-bottom:18px;}
.mag_sample{width:152px;border-radius:18px;background:var(--orange);padding:13px 10px 11px;display:flex;flex-direction:column;align-items:center;gap:7px;}
.mag_name{font-size:var(--base);font-weight:800;color:var(--white);line-height:1.3;text-align:center;}
.mag_pd{display:flex;gap:9px;}
.mag_pd span{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;}
.pd_go{border:2px dotted rgba(255,255,255,.8);color:rgba(255,255,255,.85);}
.pd_meet{background:var(--red);color:var(--white);}
.mag_kids{display:flex;gap:8px;align-items:center;line-height:1;}
.mag_kids .mdi{font-size:40px;color:var(--white);}
.anatomy_cap{font-size:12px;font-weight:800;color:var(--black);text-align:center;margin-bottom:11px;}
.anatomy_grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px;}
.anatomy_item{display:flex;align-items:center;gap:9px;background:rgb(174 227 238 / 30%);border-radius:12px;padding:8px 12px;font-size:3cqw;font-weight:700;color:var(--black);}
.anatomy_item .mdi{font-size:19px;color:var(--blue);}
.anatomy_legend{display:flex;flex-direction:column;gap:11px;border-top:1px solid var(--lightblue);padding-top:18px;}
.legend_row{display:flex;align-items:center;gap:11px;font-size:3cqw;font-weight:700;color:var(--black);}
.legend_chip{flex:none;width:20px;height:20px;}
.chip_body{border-radius:6px;background:var(--orange);}
.chip_pd{border-radius:50%;background:var(--red);}
.chip_icon{border-radius:6px;background:#9aa1a8;display:flex;align-items:center;justify-content:center;}
.chip_icon .mdi{font-size:3cqw;color:var(--white);}
.about_note{background:var(--white);border-radius:16px;padding:16px 18px;margin-top:14px;}
.about_note p{font-size:var(--sm);line-height:1.85;font-weight:700;color:var(--black);text-align:center;}
.about_finale{margin:38px 0 10px;text-align:center;}
.finale_head{display:block;font-size:var(--base);font-weight:700;color:var(--black);letter-spacing:.08em;margin-bottom:8px;}
.finale_late{display:block;font-family:var(--font-heading);font-size:8.6cqw;line-height:1.15;font-weight:900;color:var(--magenta);opacity:0;transform:translateY(18px);transition:opacity .55s ease .35s,transform .55s cubic-bezier(.34,1.5,.6,1) .35s;}

/* =================================
   Index / Features
================================= */
.feature_grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.feature_card{border-radius:18px;padding:18px 15px;display:flex;flex-direction:column;gap:10px;min-height:162px;}
.feature_card:nth-child(1){background:var(--blue2);}
.feature_card:nth-child(2){background:var(--teal);}
.feature_card:nth-child(3){background:var(--orange);}
.feature_card:nth-child(4){background:var(--coral);}
.feature_card:nth-child(5){background:var(--purple);}
.feature_card:nth-child(6){background:var(--cyan);}
.feature_icon{width:46px;height:46px;border-radius:14px;background:var(--white);display:flex;align-items:center;justify-content:center;}
.feature_icon img{width:30px;height:auto;}
.feature_icon .mdi{font-size:25px;color:var(--black);}
.feature_title{font-size:var(--base);font-weight:900;color:var(--black);line-height:1.4;}
.feature_txt{font-size:var(--xs);font-weight:600;color:var(--black);opacity:.82;line-height:1.7;}

/* =================================
   Index / How to
================================= */
#howto .tag_bar{background:var(--white);}
#howto .tag_txt{color:var(--white);}
#howto .sec_title{margin-bottom:8px;color:var(--white);}
.howto_lead{margin-bottom:26px;font-size:3.4cqw;line-height:1.8;font-weight:700;color:var(--white);}
.step_list{display:flex;flex-direction:column;gap:18px;}
.step{display:flex;gap:16px;align-items:flex-start;}
.step_num{flex:none;width:42px;height:42px;border-radius:50%;background:var(--white);color:var(--magenta);font-size:19px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.step_body{padding-top:2px;}
.step_title{font-size:var(--lg);font-weight:900;color:var(--white);margin-bottom:4px;}
.step_txt{font-size:var(--sm);font-weight:500;color:var(--white);line-height:1.8;}
#howto .phone{width:218px;margin-top:32px;}
#howto .phone_notch{width:72px;}

/* =================================
   Index / Scenes（こんな家族に便利）
================================= */
.scene_list{display:flex;flex-direction:column;}
.scene{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--lightblue);}
.scene:last-child{border-bottom:0;}
.scene_icon{flex:none;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.scene:nth-child(1) .scene_icon{background:var(--blue2);}
.scene:nth-child(2) .scene_icon{background:var(--coral);}
.scene:nth-child(3) .scene_icon{background:var(--teal);}
.scene:nth-child(4) .scene_icon{background:var(--purple);}
.scene:nth-child(5) .scene_icon{background:var(--orange);}
.scene_icon .mdi{font-size:24px;color:var(--white);}
.scene:nth-child(3) .scene_icon .mdi, .scene:nth-child(4) .scene_icon .mdi{font-size:23px;}
.scene_title{font-size:var(--lg);font-weight:900;color:var(--black);margin-bottom:4px;}
.scene_txt{font-size:var(--sm);font-weight:500;color:var(--black);line-height:1.8;}

/* =================================
   Index / Pricing
================================= */
#pricing .sec_title{margin-bottom:18px;}
.billing{display:flex;justify-content:center;margin-bottom:22px;}
.billing_switch{display:inline-flex;background:var(--white);border:1px solid #cfe3e9;border-radius:999px;padding:4px;}
.billing_btn{border:0;border-radius:999px;padding:9px 20px;font-family:inherit;font-weight:800;font-size:3cqw;cursor:pointer;background:transparent;color:var(--black);}
.billing_btn.is_active{background:var(--black);color:var(--white);}
.plan_list{display:flex;flex-direction:column;gap:16px;}
.plan{border-radius:22px;padding:22px;}
.plan_free{background:var(--white);border:2px solid #cfe3e9;}
.plan_std{position:relative;background:var(--magenta);padding:24px 22px;}
.plan_fam{background:var(--blue);padding:24px 22px;}
.plan_badge{position:absolute;top:-8px;left:10px;display:flex;align-items:center;gap:5px;background:var(--white);color:var(--magenta);font-size:12px;font-weight:900;padding:2px 12px;border-radius:999px;}
.plan_badge .mdi{font-size:var(--base);}
.plan_name{font-size:var(--lg);font-weight:900;color:var(--black);}
.plan_std .plan_name{color:var(--white);margin-top:6px;}
.plan_fam .plan_name{color:var(--white);}
.plan_price{margin:6px 0 16px;font-size:32px;font-weight:900;color:var(--black);line-height:1;}
.plan_std .plan_price, .plan_fam .plan_price{margin-bottom:4px;font-size:34px;color:var(--white);}
.plan_unit{font-size:14px;font-weight:800;margin-left:5px;}
.plan_free .plan_unit{font-size:var(--base);margin-left:3px;}
.plan_note{margin-bottom:16px;font-size:12px;font-weight:700;color:var(--white);}
.plan_features{list-style:none;display:flex;flex-direction:column;gap:10px;}
.plan_features li{display:flex;gap:8px;align-items:center;font-size:3.47cqw;line-height:1.6;font-weight:600;color:var(--black);}
.plan_features .mdi{font-size:18px;color:var(--magenta);flex:none;}
.plan_std .plan_features li, .plan_fam .plan_features li{font-weight:700;color:var(--white);}
.plan_std .plan_features .mdi, .plan_fam .plan_features .mdi{color:var(--white);}
.price_note{margin-top:16px;font-size:2.7cqw;line-height:1.7;font-weight:600;color:var(--black);text-align:center;}

/* =================================
   Index / FAQ
================================= */
.faq_item{padding:18px 0;border-bottom:1px solid var(--lightblue);}
.faq_q{display:flex;gap:9px;align-items:flex-start;font-size:var(--base);font-weight:800;color:var(--black);line-height:1.55;margin-bottom:9px;}
.faq_mark{color:var(--magenta);flex:none;}
.faq_a{padding-left:21px;font-size:var(--sm);line-height:1.9;font-weight:500;color:var(--black);}

/* =================================
   Index / CTA
================================= */
#cta{padding-bottom:20px;text-align:center;}
#cta .sec_title{margin-bottom:12px;font-size:5.8cqw;color:var(--white);}
#cta .btn_cta{padding:17px 22px;box-shadow:0 5px 0 rgba(0,0,0,.16);}

/* =================================
   Footer（index / 下層 共通）
================================= */
footer{background:var(--foot-bg);color:var(--black);}
footer img{margin-bottom:22px;}
.column footer{padding:38px 24px 124px;margin-top:-1px;}
.column footer img{height:30px;}
.wrap footer{padding:36px 24px 40px;}
.wrap footer img{height:28px;}
.foot_nav{display:flex;flex-direction:column;gap:15px;font-weight:600;}
.column .foot_nav{font-size:3cqw;}
.wrap .foot_nav{font-size:13px;}
.foot_link{color:var(--black);transition:color .15s ease;}
.foot_link:hover{color:var(--magenta);}
.copy{margin-top:26px;font-size:12px;color:var(--black);line-height:1.9;}

/* =================================
   Index / 下部固定CTA
================================= */
.fixed_bar{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;width:min(92vw,406px);z-index:110;container-type:inline-size;}
.bar_inner{background:var(--magenta);border-radius:22px;padding:9px 10px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 0 var(--magenta-dark);}
.bar_menu{flex:none;display:flex;flex-direction:column;align-items:center;gap:1px;background:transparent;border:0;color:var(--white);font-family:inherit;font-weight:800;font-size:10px;cursor:pointer;padding:4px 8px;width:54px;white-space:nowrap;}
.bar_menu .mdi{font-size:34px;}
.bar_cta{flex:1;display:flex;align-items:center;justify-content:center;background:var(--white);color:var(--magenta);font-weight:900;font-size:var(--lg);padding:14px;border-radius:14px;box-shadow:0 4px 0 #cfd6da;transition:flex-basis .3s ease;}
.bar_top{flex:none;width:0;height:48px;border-radius:50%;background:var(--white);border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;overflow:hidden;opacity:0;transition:width .3s ease,opacity .3s ease,margin .3s ease;margin-left:0;}
.bar_top img{width:34px;flex:none;}
.bar_top.is_shown{width:48px;margin-left:10px;opacity:1;}

/* =================================
   Index / メニューシート
================================= */
#menu{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;visibility:hidden;transition:visibility 0s .3s;}
#menu.is_open{visibility:visible;pointer-events:auto;transition:visibility 0s;}
.menu_scrim{position:absolute;inset:0;background:#0c2e37;opacity:0;transition:opacity .28s ease;}
#menu.is_open .menu_scrim{opacity:.5;}
.menu_panel{position:relative;width:calc(min(92vw,406px) + 14px);margin-bottom:3px;background:var(--white);border-radius:26px;padding:20px 22px 108px;container-type:inline-size;opacity:0;transform:translateY(26px);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .28s ease;}
#menu.is_open .menu_panel{opacity:1;transform:translateY(0);}
.menu_head{display:flex;align-items:center;margin-bottom:8px;}
.menu_head img{height:24px;}
.menu_nav{display:flex;flex-direction:column;}
.menu_link{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;border-bottom:2px solid #c4c9cd;font-size:var(--lg);font-weight:800;color:var(--black);}
.menu_link:last-child{border-bottom:0;}
.menu_link .mdi{font-size:22px;color:#c4c9cd;}

/* =================================
   Teaser
================================= */
.page_teaser{background:linear-gradient(to bottom,var(--lightblue) 0%,var(--blue) 50%);color:var(--white);}
.teaser{position:relative;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;}
.content{position:relative;z-index:2;width:100%;max-width:460px;padding:52px 0 0;text-align:center;}
.eyebrow{display:inline-block;color:var(--magenta);font-family:var(--font-accent);font-size:20px;letter-spacing:.18em;}
.logo{display:block;width:185px;height:auto;margin:20px auto 20px;}
.headline{margin-bottom:24px;font-family:var(--font-heading);font-size:30px;line-height:1.5;font-weight:900;letter-spacing:.01em;}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--white);color:var(--magenta);font-size:16px;font-weight:900;padding:16px 30px;border-radius:16px;box-shadow:0 5px 0 rgba(0,0,0,.14);transition:transform .06s ease,box-shadow .06s ease;}
.cta:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(0,0,0,.14);}
.perk{margin-bottom:14px;font-size:13px;line-height:1.7;font-weight:600;color:var(--white);}
.perk b{color:var(--white);font-weight:900;}
.micro{margin-top:14px;font-size:11.5px;line-height:1.7;font-weight:500;color:var(--white);}
.legal{margin-top:18px;font-size:11px;color:var(--white);}
.legal a{color:var(--white);border-bottom:1px solid rgba(255,255,255,.4);}
.mascot{position:absolute;left:50%;bottom:-10%;width:min(150cqw,700px);z-index:1;pointer-events:none;transform:translate(-50%,15%);animation:floaty 4.2s ease-in-out infinite;}
.mascot .mag{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 22px rgba(10,60,80,.18));}

/* =================================
   下層ページ共通（privacy / terms / tokushoho / contact）
================================= */
.wrap{position:relative;width:100%;max-width:430px;margin:0 auto;background:var(--white);min-height:100vh;}
.head{background:var(--blue);padding:24px 24px 26px;text-align:center;}
.head a{display:inline-block;}
.head img{height:28px;width:auto;display:block;margin:0 auto;}
.head h1{margin-top:16px;font-family:var(--font-heading);font-size:22px;font-weight:900;color:var(--white);letter-spacing:.01em;}
.main{padding:30px 24px 8px;text-align:justify;}
.lead{margin-bottom:6px;font-size:14px;line-height:1.95;font-weight:500;}
.main h2{margin:30px 0 9px;font-family:var(--font-heading);font-size:16px;font-weight:800;color:var(--black);line-height:1.5;}
.main p{margin-bottom:12px;font-size:14px;line-height:1.95;font-weight:500;}
.main ol{margin-bottom:14px;padding-left:1.3em;}
.main ul{margin-bottom:14px;padding-left:1.25em;}
.main li{font-size:14px;line-height:1.9;font-weight:500;margin-bottom:5px;}
.date{margin-top:30px;font-size:13px;color:#333;line-height:1.9;}

/* =================================
   下層 / 特定商取引法
================================= */
.page_tokushoho .head h1{font-size:20px;line-height:1.4;}
.page_tokushoho .main{padding-top:24px;}
.page_tokushoho .date{margin-top:24px;}
.row{padding:14px 0;border-bottom:1px solid #e3eef1;}
.row:first-child{padding-top:4px;}
.k{font-size:12px;font-weight:800;color:var(--blue);margin-bottom:4px;letter-spacing:.02em;}
.v{font-size:14px;line-height:1.85;font-weight:500;color:var(--black);}
.v ul{margin:6px 0 0;padding-left:1.2em;}
.v li{line-height:1.85;margin-bottom:3px;}
.v .sub{display:block;margin-top:6px;font-size:12.5px;color:#444;line-height:1.8;}

/* =================================
   下層 / お問い合わせ
================================= */
.page_contact .lead{margin-bottom:4px;}
.btn{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--magenta);color:var(--white);font-weight:900;font-size:16px;padding:17px 20px;border-radius:14px;box-shadow:0 5px 0 var(--magenta-dark);margin:22px 0 18px;transition:transform .06s ease,box-shadow .06s ease;}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--magenta-dark);}
.note{background:rgb(174 227 238 / 30%);border-radius:14px;padding:16px 18px;}
.note ul{margin:0;padding-left:1.2em;}
.note li{font-size:13px;line-height:1.85;margin-bottom:7px;}
.note li:last-child{margin-bottom:0;}

/* =================================
   Animations
================================= */
.reveal{opacity:0;transform:translateY(16px) scale(.98);}
.reveal.is_in{animation:poyon .55s cubic-bezier(.34,1.45,.6,1) both;animation-delay:var(--d,0s);}
.reveal.is_in .finale_late{opacity:1;transform:translateY(0);}
.eye_left{transform-box:fill-box;transform-origin:center;animation:lookLeft 6s infinite ease-in-out;}
.eye_right{transform-box:fill-box;transform-origin:center;animation:lookRight 6s infinite ease-in-out;}
@keyframes poyon{0%{opacity:0;transform:translateY(16px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes magBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes splashPop{0%{opacity:0;transform:scale(.8) translateY(12px)}55%{opacity:1;transform:scale(1.05)}100%{transform:scale(1) translateY(0)}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes spinSlowRev{to{transform:rotate(-360deg)}}
@keyframes floaty{0%,100%{transform:translate(-50%,15%)}50%{transform:translate(-50%,12%)}}
@keyframes lookLeft{0%,10%{transform:translate(0,0)}15%,25%{transform:translate(-6px,0)}30%,40%{transform:translate(1px,-1.5px)}45%,55%{transform:translate(-2px,3px)}60%,70%{transform:translate(-2px,-4px)}75%,100%{transform:translate(0,0)}}
@keyframes lookRight{0%,10%{transform:translate(0,0)}15%,25%{transform:translate(-1.5px,0)}30%,40%{transform:translate(5px,-2px)}45%,55%{transform:translate(2px,3px)}60%,70%{transform:translate(2px,-4px)}75%,100%{transform:translate(0,0)}}

/* =================================
   Media
================================= */
/* SP：PC用のガター装飾（角丸四角・白ロゴ）は非表示。オーバースクロールで裏に見えるのを防ぐ */
@media (max-width:767px){
.gutter_deco,.gutter_logo{display:none;}
}
@media (min-width:600px){
.headline{font-size:30px;}
.content{padding-top:72px;}
}
@media (prefers-reduced-motion:reduce){
*{animation:none!important;scroll-behavior:auto!important;}
.reveal{opacity:1!important;transform:none!important;}
.finale_late{opacity:1!important;transform:none!important;transition:none!important;}
.mascot{transform:translate(-50%,15%);}
}
