
:root{--u:calc(min(100vw,430PX)/390);--brown-dark:#2b1614;--brown:#48251e;--brown-soft:#60474b;--navy:#192b45;--pink:#db5379;--rose-deep:#aa244c;--rose-muted:#a85a6c;--gray-mauve:#947a80;--mauve:#824854;--green:#008b2d}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f3e9eb;color:var(--brown);font-family:"Noto Sans JP",sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
img{display:block;max-width:none}
a{color:inherit}
.wrap{width:calc(calc(390*var(--u)));margin:0 auto;background:#fff;overflow:hidden;box-shadow:0 0 calc(40*var(--u)) rgba(0,0,0,.08)}
.sr{position:absolute!important;width:calc(1*var(--u));height:calc(1*var(--u));overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sec{position:relative;width:calc(390*var(--u));overflow:hidden}
.a{position:absolute;margin:0}
h2.a,p.cover-img{left:0;top:0;margin:0}
.cover{object-fit:cover}
.t{margin:0}
.serif{font-family:"Noto Serif JP",serif}
.sb{font-weight:600}.md{font-weight:500}.bold{font-weight:700}
.c{text-align:center}
.pink{color:var(--pink)}b.pink{font-weight:inherit}.rose{color:var(--rose-deep)}
.crop{position:absolute;overflow:hidden;display:block}
.crop>img{position:absolute;max-width:none}
.flipx{transform:scaleX(-1)}
.nolist,.nolist li{list-style:none;margin:0;padding:0}
/* FV */
.fvbadges{display:flex;gap:calc(8*var(--u));list-style:none;margin:0;padding:0}
.fvbadge{position:relative;width:calc(111*var(--u));height:calc(111*var(--u));color:var(--navy)}
.fvbadge .t{text-align:center}
#fv .cta{position:absolute;left:calc(18*var(--u));top:calc(631*var(--u))}
/* CTA */
.cta{display:block;position:relative;width:calc(360*var(--u));height:calc(93*var(--u));border-radius:calc(50*var(--u));text-decoration:none;background:linear-gradient(180deg,#21dd38 0%,#06c627 45%,#4ac265 84%,#00b52c 100%);box-shadow:inset 0 calc(2*var(--u)) calc(3*var(--u)) rgba(0,125,40,.4);filter:drop-shadow(0 calc(2*var(--u)) calc(2*var(--u)) rgba(0,138,45,.25));transition:transform .15s}
.cta:active{transform:translateY(calc(2*var(--u)))}
.cta::before{content:"";position:absolute;left:calc(4*var(--u));top:calc(3.5*var(--u));width:calc(353*var(--u));height:calc(84*var(--u));border:calc(1.2*var(--u)) solid #fff;border-radius:calc(47*var(--u))}
.cta-in{position:absolute;left:calc(25*var(--u));top:calc(18*var(--u));width:calc(310*var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(6*var(--u))}
.cta-pill{width:calc(187*var(--u));height:calc(24*var(--u));border-radius:calc(20*var(--u));background:#fff;color:var(--green);font-weight:700;font-size:calc(18*var(--u));line-height:1.15;display:flex;align-items:center;justify-content:center}
.cta-main{display:flex;align-items:center;gap:calc(18*var(--u));color:#fff;font-weight:700;font-size:calc(25*var(--u));letter-spacing:calc(5*var(--u));line-height:1.15}
.cta-main img{width:calc(29*var(--u));height:calc(29*var(--u))}
.ctablock{display:flex;flex-direction:column;align-items:center;gap:calc(12*var(--u));padding:calc(16*var(--u)) calc(15*var(--u)) calc(28*var(--u))}
.ctablock p{margin:0;font-weight:500;font-size:calc(14*var(--u));color:var(--brown);text-align:center}
/* 特典 */
.tlist{display:flex;flex-direction:column;gap:calc(13*var(--u))}
.tcard{position:relative;height:calc(162*var(--u));background:#fffdfd;border:calc(.6*var(--u)) solid #f5cbd6;border-radius:calc(17*var(--u));filter:drop-shadow(0 calc(3*var(--u)) calc(3.5*var(--u)) rgba(189,126,135,.14))}
.tcard p{position:absolute;margin:0;width:calc(212*var(--u));font-size:calc(12*var(--u));line-height:1.4;color:var(--brown)}
/* 04 */
.feat4{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:calc(10*var(--u)) calc(12*var(--u));list-style:none;margin:0;padding:0}
.feat4 li{position:relative;background:#fffafb;border:calc(1*var(--u)) solid #fff;border-radius:calc(27*var(--u));box-shadow:0 calc(4*var(--u)) calc(9*var(--u)) rgba(174,107,122,.17);overflow:hidden}
.feat4 p{left:calc(69*var(--u));top:calc(16*var(--u));width:calc(108*var(--u));font-size:calc(17*var(--u));line-height:1.45;color:var(--brown-soft)}
/* 06 */
.riyuu{display:flex;flex-direction:column;gap:calc(15*var(--u))}
.rcard{position:relative;height:calc(156*var(--u));background:#fffaf7;border:calc(.7*var(--u)) solid #f4ced0;border-radius:calc(16*var(--u));filter:drop-shadow(0 calc(2*var(--u)) calc(1.5*var(--u)) rgba(180,110,94,.18))}
.rcard .fade{left:calc(175.3*var(--u));top:calc(3.3*var(--u));width:calc(55*var(--u));height:calc(115*var(--u));background:linear-gradient(90deg,#fffaf7,rgba(255,250,247,0))}
.rcard p{width:calc(205*var(--u));font-size:calc(14*var(--u));line-height:1.45;color:var(--brown)}
/* 07 */
.prof{display:flex;flex-direction:column;align-items:center;gap:calc(11*var(--u));width:calc(354*var(--u))}
.photo{position:relative;width:calc(150*var(--u));height:calc(150*var(--u));border-radius:calc(75*var(--u));background:#f5e7e7;border:calc(3*var(--u)) solid #f59db4;overflow:hidden}
.photo span{left:calc(22*var(--u));top:calc(117*var(--u));width:calc(100*var(--u));text-align:center;font-size:calc(10*var(--u));line-height:1.7;color:var(--gray-mauve)}
.name{width:calc(310*var(--u));padding:calc(10*var(--u));background:#fffafb;border:calc(1*var(--u)) solid #f299b0;border-radius:calc(21*var(--u));text-align:center;font-family:"Noto Serif JP",serif;font-weight:500;color:var(--brown)}
.name h3{margin:0;font-size:calc(40*var(--u));font-weight:500;line-height:1.25}
.name p{margin:0;font-size:calc(14*var(--u));line-height:1.7}
.tags{margin:0;width:calc(354*var(--u));text-align:center;font-size:calc(12*var(--u));line-height:1.7;color:var(--rose-muted)}
.catch{margin:0;width:calc(354*var(--u));text-align:center;font-family:"Noto Serif JP",serif;font-weight:600;font-size:calc(18*var(--u));line-height:1.7;color:var(--brown)}
.bio{margin:0;width:calc(354*var(--u));text-align:center;font-size:calc(14*var(--u));line-height:1.7;color:var(--brown)}
.bio b{font-weight:700}
/* 09 */
.road li{position:relative;display:flex;flex-direction:column;gap:calc(7*var(--u));min-height:calc(134*var(--u));padding:calc(30*var(--u)) calc(18*var(--u)) calc(18*var(--u));border-radius:calc(12*var(--u));margin-bottom:calc(24*var(--u))}
.road h3{margin:0;font-family:"Noto Serif JP",serif;font-weight:700;font-size:calc(19*var(--u));line-height:calc(28*var(--u));color:var(--brown)}
.road p{margin:0;font-size:calc(13*var(--u));line-height:calc(20*var(--u));color:var(--brown)}
.lbl{position:absolute;left:calc(12*var(--u));top:calc(-8*var(--u));width:calc(124*var(--u));height:calc(26*var(--u));border-radius:calc(11*var(--u));color:#fff;font-weight:500;font-size:calc(13*var(--u));line-height:calc(26*var(--u));text-align:center}
.skills{display:grid;grid-template-columns:1fr 1fr;gap:calc(12*var(--u))}
.skills li{display:flex;flex-direction:column;align-items:center;gap:calc(6*var(--u));min-height:calc(138*var(--u));padding:calc(18*var(--u)) calc(10*var(--u));background:#fff6f6;border-radius:calc(12*var(--u))}
.skills .crop{position:relative;flex:none}
.skills p{margin:0;text-align:center;font-size:calc(13*var(--u));line-height:calc(20*var(--u));color:var(--brown)}
/* 11 */
.plan{position:relative;height:calc(175*var(--u));background:#fffcfc;border-radius:calc(19*var(--u))}
.pl-left{position:absolute;left:0;top:0;width:calc(147*var(--u));height:calc(173*var(--u));border-radius:calc(18*var(--u))}
.pl-left h3{position:absolute;left:calc(2*var(--u));width:calc(142*var(--u));margin:0;text-align:center;font-family:"Noto Serif JP",serif;font-weight:500;line-height:1.45;color:var(--brown)}
.pl-for{position:absolute;left:calc(2*var(--u));width:calc(143*var(--u));margin:0;text-align:center;font-size:calc(12*var(--u));line-height:1.45;color:var(--brown)}
.pl-term{position:absolute;left:calc(12*var(--u));top:calc(132*var(--u));width:calc(123*var(--u));height:calc(28*var(--u));margin:0;background:#fff;border-radius:calc(14*var(--u));display:flex;align-items:center;justify-content:center;font-size:calc(11*var(--u));color:var(--brown)}
.pl-term b{margin:0 calc(2*var(--u)) 0 calc(10*var(--u));font-family:"Noto Serif JP",serif;font-weight:500;font-size:calc(26*var(--u));line-height:1;color:var(--pink)}
.pl-term small{font-size:calc(12*var(--u));color:var(--pink);padding-top:calc(6*var(--u))}
.pl-rows{position:absolute;left:calc(159*var(--u));top:calc(2*var(--u));width:calc(196*var(--u));margin:0}
.pl-rows>div{display:flex;align-items:center;justify-content:space-between;height:calc(40*var(--u));padding-left:calc(4*var(--u));border-bottom:calc(.6*var(--u)) solid #efd8dc}
.pl-rows>div:last-child{border-bottom:0}
.pl-rows dt{font-size:calc(12*var(--u));line-height:1.45;color:var(--brown)}
.pl-rows dt small{font-size:calc(10*var(--u))}
.pl-rows dd{margin:0;width:calc(60*var(--u));display:flex;justify-content:center;font-size:calc(11*var(--u));color:var(--brown)}
.pl-rows dd.big{font-family:"Noto Serif JP",serif;font-weight:500;font-size:calc(20*var(--u));color:var(--pink)}
.pl-rows dd.dash{font-size:calc(24*var(--u));color:var(--pink)}
.pl-rows dd img{width:calc(17.6*var(--u));height:calc(17.6*var(--u))}
/* 12 */
.steps li{position:relative;background:#fff;border-radius:calc(25*var(--u));margin-bottom:calc(19*var(--u));filter:drop-shadow(0 calc(4*var(--u)) calc(4.5*var(--u)) rgba(217,173,109,.18))}
.num{position:absolute;left:calc(6*var(--u));top:calc(7*var(--u));width:calc(59*var(--u));height:calc(59*var(--u));border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Noto Serif JP",serif;font-weight:500;font-size:calc(28*var(--u));line-height:1;color:var(--brown)}
.num small{font-size:calc(13*var(--u));line-height:1.1}
.mk{position:absolute;left:calc(73*var(--u));background:#fff0a0;border-radius:calc(2*var(--u))}
.steps h3{position:absolute;left:calc(73*var(--u));width:calc(199*var(--u));margin:0;font-family:"Noto Serif JP",serif;font-weight:600;color:var(--brown)}
.steps p{position:absolute;left:calc(73*var(--u));width:calc(191*var(--u));margin:0;font-size:calc(13*var(--u));line-height:1.45;color:var(--brown)}
/* 13 */
.faq{margin:0}
.faq>div{display:flex;flex-direction:column;gap:calc(10*var(--u));padding:calc(17*var(--u)) 0 calc(18*var(--u));border-bottom:calc(.5*var(--u)) solid #ecc2cc}
.faq>div:last-child{border-bottom:0}
.faq dt,.faq dd{display:flex;gap:calc(12*var(--u));align-items:flex-start;margin:0}
.faq dt>span:last-child{font-family:"Noto Serif JP",serif;font-weight:500;font-size:calc(16*var(--u));line-height:1.55;color:var(--rose-deep)}
.faq dd>span:last-child{font-size:calc(13*var(--u));line-height:1.55;color:var(--brown-dark)}
.qa{flex:none;width:calc(26*var(--u));height:calc(26*var(--u));border-radius:calc(13*var(--u));background:#fcf0ec;color:#c97585;font-family:"Noto Serif JP",serif;font-weight:500;font-size:calc(19*var(--u));line-height:calc(26*var(--u));text-align:center}
.qa.q{background:#d88495;color:#fff}
.faq dd.support{display:flex;flex-direction:column;gap:calc(4*var(--u));align-self:center;width:calc(244*var(--u));padding:calc(10*var(--u)) calc(20*var(--u));background:#fbeef2;border-radius:calc(12*var(--u))}
.support p{margin:0;font-size:calc(11*var(--u));line-height:1.55;color:var(--brown)}
.support p:first-child{font-size:calc(12*var(--u));color:var(--rose-muted)}
/* footer */
.ft{display:flex;flex-direction:column;align-items:center;gap:calc(18*var(--u));padding:calc(36*var(--u)) calc(20*var(--u)) calc(28*var(--u));background:#fbeff2}
.ft img{width:calc(129*var(--u));height:calc(53*var(--u));object-fit:cover}
.ft nav{display:flex;flex-direction:column;align-items:center;gap:calc(12*var(--u));font-weight:500;font-size:calc(12*var(--u));line-height:1.5}
.ft p{margin:0;font-size:calc(11*var(--u));line-height:1.5;color:var(--gray-mauve)}
/* 下層ページ */
.sub{--u:1PX}
.sub .wrap{width:100%;max-width:calc(430*var(--u));background:#fff8f6}
.hd{display:flex;align-items:center;justify-content:space-between;height:calc(60*var(--u));padding:0 calc(20*var(--u)) 0 calc(16*var(--u));background:#fff;border-bottom:calc(1*var(--u)) solid #f0d9df}
.hd img{width:calc(97*var(--u));height:calc(40*var(--u));object-fit:cover}
.hd a.back{font-weight:500;font-size:calc(12*var(--u));line-height:1.5}
.ptitle{display:flex;flex-direction:column;align-items:center;gap:calc(4*var(--u));padding:calc(36*var(--u)) calc(20*var(--u)) calc(30*var(--u));background:#fbeff2;line-height:1.5}
.ptitle .en{margin:0;font-weight:500;font-size:calc(11*var(--u));letter-spacing:calc(2.2*var(--u));color:var(--pink)}
.ptitle h1{margin:0;font-family:"Noto Serif JP",serif;font-weight:600;font-size:calc(24*var(--u));letter-spacing:calc(.96*var(--u));color:var(--brown)}
.body{display:flex;flex-direction:column;gap:calc(26*var(--u));padding:calc(32*var(--u)) calc(20*var(--u)) calc(40*var(--u));font-size:calc(13*var(--u));line-height:1.8;color:var(--brown)}
.body h2{display:flex;align-items:center;gap:calc(10*var(--u));margin:0;font-family:"Noto Serif JP",serif;font-weight:600;font-size:calc(16*var(--u));line-height:1.6}
.body h2::before{content:"";flex:none;width:calc(4*var(--u));height:calc(20*var(--u));border-radius:calc(2*var(--u));background:var(--pink)}
.body p{margin:0}
.body section{display:flex;flex-direction:column;gap:calc(10*var(--u))}
.tbl{margin:0;background:#fff;border:calc(1*var(--u)) solid #f0d9df;border-radius:calc(10*var(--u));overflow:hidden}
.tbl>div{display:flex;border-bottom:calc(1*var(--u)) solid #f0d9df}
.tbl>div:last-child{border-bottom:0}
.tbl dt{flex:none;width:calc(100*var(--u));padding:calc(14*var(--u)) calc(10*var(--u)) calc(14*var(--u)) calc(14*var(--u));background:#fbeff2;font-weight:500;font-size:calc(13*var(--u));line-height:1.7}
.law .tbl dt{width:calc(118*var(--u))}
.tbl dd{flex:1;min-width:0;margin:0;padding:calc(14*var(--u));font-size:calc(13*var(--u));line-height:1.7;overflow-wrap:anywhere}
.btnwrap{display:flex;justify-content:center}
.btn{display:inline-block;padding:calc(14*var(--u)) calc(32*var(--u));background:#fff;border:calc(1.5*var(--u)) solid var(--pink);border-radius:calc(999*var(--u));color:var(--pink);font-weight:700;font-size:calc(14*var(--u));line-height:1.5;text-decoration:none}
.date{text-align:right}
