:root{--milk:#FFF1F4;--choco:#3A2319;--choco-soft:#6F564C;--berry:#D7263D;--berry-d:#A91A2E;--blue:#3949AB;--blue-d:#283593;--custard:#FFE08A;--line:#EBDDD6;--plate:#FFF6E5}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:16px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#fff;color:var(--choco);font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic","Yu Gothic Medium","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.95;letter-spacing:.02em}
body.has-dock{padding-bottom:92px}
img{max-width:100%;height:auto}
a{color:#1A4FB5;text-underline-offset:3px}
a:focus-visible,summary:focus-visible{outline:3px solid #1A4FB5;outline-offset:3px;border-radius:6px}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
h1,h2,h3,h4,.logo,.btn,.dock a,.chips a,.pick-q,.site-nav a{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN","BIZ UDPGothic","Hiragino Sans",sans-serif;font-weight:700;letter-spacing:.03em}

/* ヘッダー */
.site-head{padding:18px 0 0}
.logo{display:inline-block;font-size:22px;color:var(--choco);text-decoration:none;line-height:1.3}
.logo span{color:var(--berry)}
.site-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 0;padding:0;list-style:none}
.site-nav a{display:block;text-align:center;text-decoration:none;color:var(--choco);background:var(--milk);border-radius:12px;padding:12px 4px;font-size:15px;line-height:1.4}
.scallop{height:14px;margin-top:18px;background:radial-gradient(circle at 12px 0,var(--milk) 12px,transparent 12.5px) repeat-x;background-size:24px 14px;border-top:10px solid var(--milk);box-sizing:content-box}

/* 記事ヘッダー */
.crumb{font-size:13px;color:var(--choco-soft);margin:22px 0 0;line-height:1.6}
.crumb a{color:var(--choco-soft)}
h1{font-size:27px;line-height:1.5;margin:14px 0 8px}
.pr-mark{font-size:11px;color:#B8ABA5;letter-spacing:.1em;margin:0;text-align:right;line-height:1}
.lead{margin:26px 0 0}
p{margin:0 0 1.5em}
main h2{background:var(--choco);color:var(--plate);font-size:21px;line-height:1.55;padding:18px 22px;border-radius:14px;outline:2px dashed rgba(255,246,229,.38);outline-offset:-7px;margin:76px 0 30px}
main h3{font-size:19px;line-height:1.6;margin:52px 0 20px;padding-bottom:10px;border-bottom:3px dotted var(--berry)}
main h4{font-size:18px;line-height:1.6;margin:0 0 14px}
mark{background:linear-gradient(transparent 60%,var(--custard) 60%);color:inherit;font-weight:700}
main ul,main ol{padding-left:1.4em;margin:0 0 1.6em}
main li{margin-bottom:.7em}

/* 目次 */
.toc{background:var(--milk);border-radius:16px;padding:4px 22px;margin:36px 0 0}
.toc summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}
.toc summary::-webkit-details-marker{display:none}
.toc-toggle::after{content:"開く";font-size:13px;font-weight:700;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 16px}
.toc[open] .toc-toggle::after{content:"閉じる"}
.toc ol{margin:0 0 16px;padding-left:1.5em}
.toc li{margin:0 0 .55em;line-height:1.7}
.toc a{color:var(--choco)}

/* 結論ボックス */
.pick{border:2px solid var(--choco);border-radius:20px;padding:6px 20px 12px;margin:36px 0 0}
.pick-title{display:inline-block;background:var(--choco);color:var(--plate);font-weight:700;font-size:14px;border-radius:0 0 10px 10px;padding:4px 16px;margin:-6px 0 6px}
.pick-row{padding:22px 0;border-top:1px solid var(--line)}
.pick-row:first-of-type{border-top:0}
.pick-q{font-size:18px;line-height:1.6;margin:0 0 6px}
.pick-a{margin:0;font-size:15.5px;line-height:1.85;color:var(--choco-soft)}

/* ボタン */
.btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%;max-width:460px;min-height:66px;text-wrap:balance;word-break:auto-phrase;margin:22px auto 18px;padding:14px 58px 14px 24px;border:0;border-radius:18px;text-align:center;text-decoration:none;color:#fff;font-size:18px;line-height:1.4;cursor:pointer;background:var(--berry);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 5px 0 var(--berry-d),0 16px 24px -8px rgba(215,38,61,.5);transition:transform .12s ease,box-shadow .12s ease,background-color .15s ease;-webkit-tap-highlight-color:transparent}
.btn::after{content:"";position:absolute;right:14px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 5.5l6.5 6.5-6.5 6.5' fill='none' stroke='%23D7263D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/17px no-repeat;animation:btn-nudge 2.6s ease-in-out infinite}
.btn small{display:block;font-family:inherit;font-weight:400;font-size:12.5px;letter-spacing:.04em;opacity:.8;margin-top:2px}
.btn:hover{background:#E0304A}
.btn:active{transform:translateY(4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 var(--berry-d),0 6px 12px -6px rgba(215,38,61,.5)}
.btn.pr{background:var(--blue);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 5px 0 var(--blue-d),0 16px 24px -8px rgba(57,73,171,.5)}
.btn.pr::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 5.5l6.5 6.5-6.5 6.5' fill='none' stroke='%233949AB' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.btn.pr:hover{background:#4353B8}
.btn.pr:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 var(--blue-d),0 6px 12px -6px rgba(57,73,171,.5)}
.btn.plain{background:#fff;color:var(--choco);box-shadow:inset 0 0 0 2px var(--choco),0 5px 0 var(--choco),0 16px 24px -10px rgba(58,35,25,.35)}
.btn.plain::after{background:var(--choco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 5.5l6.5 6.5-6.5 6.5' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/17px no-repeat}
.btn.plain[href^="#"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.5 9.5l6.5 6.5 6.5-6.5' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");animation-name:btn-nudge-y}
.btn.plain:hover{background:#FFFBF7}
.btn.plain:active{box-shadow:inset 0 0 0 2px var(--choco),0 1px 0 var(--choco),0 6px 12px -6px rgba(58,35,25,.35)}
.btn:focus-visible{outline-offset:4px;border-radius:18px}
@keyframes btn-nudge{0%,72%,100%{transform:translateX(0)}84%{transform:translateX(4px)}}
@keyframes btn-nudge-y{0%,72%,100%{transform:translateY(0)}84%{transform:translateY(3px)}}
@media (prefers-reduced-motion:reduce){.btn,.btn::after,.dock a{animation:none;transition:none}}
@media (min-width:600px){.btn{max-width:540px}.dock a{font-size:16px;min-height:50px}}
@media (max-width:420px){.btn{padding-left:18px;padding-right:54px}.btn::after{right:12px}}
.btn-set{margin:30px 0}

/* 表 */
.tbl{overflow-x:auto;margin:30px -20px;padding:0 20px;-webkit-overflow-scrolling:touch}
.tbl table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px;line-height:1.75}
.tbl.narrow table{min-width:0}
.tbl th,.tbl td{border:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top}
.tbl thead th{background:var(--choco);color:var(--plate);font-weight:700}
.tbl tbody th{background:var(--milk);font-weight:700;white-space:nowrap}
.tbl-hint{font-size:13px;color:var(--choco-soft);margin:0 0 -18px}
@media(min-width:700px){.tbl-hint{display:none}}

/* 通販カード */
.svc{border:1px solid var(--line);border-radius:22px;overflow:hidden;margin:32px 0}
.svc figure,.shop figure{margin:0}
.svc figure img{display:block;width:100%}
figcaption{font-size:12px;color:var(--choco-soft);padding:6px 20px 0;line-height:1.6}
.shop figcaption{padding-left:0}
.svc-body{padding:24px 20px 28px}
.facts{margin:0 0 24px;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:6.2em 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px;line-height:1.8}
.facts dt{font-weight:700;color:var(--choco-soft)}
.facts dd{margin:0}

/* 注意・補足 */
.note{background:var(--milk);border-radius:16px;padding:20px 22px;margin:32px 0;font-size:16px}
.note p:last-child,.note ul:last-child{margin-bottom:0}
.note strong{display:block;margin-bottom:6px}

/* 店舗 */
.shop{padding:34px 0;border-bottom:1px solid var(--line)}
.shop img{display:block;width:100%;border-radius:14px;margin-bottom:6px}
.shop h4{margin-top:22px}
.shop .area{font-size:13px;font-weight:700;color:var(--berry);margin:0 0 2px;letter-spacing:.06em}

/* 手順 */
.steps{list-style:none;padding:0;counter-reset:s;margin:30px 0}
.steps li{counter-increment:s;position:relative;padding:0 0 26px 58px;margin:0}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:40px;height:40px;border-radius:50%;background:var(--choco);color:var(--plate);font-weight:700;display:grid;place-items:center;font-family:"Zen Maru Gothic",sans-serif}
.steps li::after{content:"";position:absolute;left:19px;top:46px;bottom:4px;border-left:2px dotted var(--line)}
.steps li:last-child::after{display:none}
.steps b{display:block;font-size:17px}

/* よくある質問 */
.qa{margin:0 0 40px}
.qa h3{border:0;padding:0 0 0 2.1em;margin:44px 0 12px;position:relative}
.qa h3::before{content:"Q";position:absolute;left:0;top:-1px;width:1.6em;height:1.6em;border-radius:50%;background:var(--berry);color:#fff;display:grid;place-items:center;font-size:17px}
.qa p{padding-left:2.1em}

/* トップ */
.hero{background:var(--milk);padding:8px 0 34px;margin-top:-1px}
.hero h1{font-size:28px;margin-top:20px}
.hero p{margin:14px 0 0}
.hero-edge{height:14px;background:radial-gradient(circle at 12px 0,var(--milk) 12px,transparent 12.5px) repeat-x;background-size:24px 14px}
.chips{list-style:none;padding:0!important;margin:0 0 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.chips li{margin:0}
.chips a{display:block;text-align:center;text-decoration:none;color:var(--choco);border:1px solid var(--line);border-radius:12px;padding:13px 4px;font-size:15.5px;line-height:1.4;background:#fff}
.chips a:hover{border-color:var(--choco)}
.guides{list-style:none;padding:0!important;margin:0}
.guides li{margin:0;border-bottom:1px solid var(--line)}
.guides a{display:block;padding:20px 0;text-decoration:none;color:var(--choco)}
.guides b{display:block;font-size:17px;line-height:1.65;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--berry)}
.guides span{display:block;font-size:14.5px;color:var(--choco-soft);line-height:1.8;margin-top:4px}
.related{margin:60px 0 0}

/* フッター */
.site-foot{background:var(--choco);color:var(--plate);margin-top:90px;padding:40px 0 44px;font-size:14.5px}
.site-foot a{color:var(--plate)}
.site-foot ul{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px 24px}
.site-foot p{margin:0;opacity:.75;font-size:13px}

/* 下部固定ボタン */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 12px calc(9px + env(safe-area-inset-bottom,0px))}
.dock-in{max-width:720px;margin:0 auto;display:flex;gap:8px;align-items:center}
.dock a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;box-sizing:border-box;text-align:center;text-decoration:none;color:#fff;font-size:15px;line-height:1.3;padding:8px 6px;margin-bottom:3px;border-radius:14px;background:var(--berry);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 3px 0 var(--berry-d);transition:transform .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent}
.dock a::after{content:"";flex:none;width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5 5.5l6.5 6.5-6.5 6.5' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.dock a:active{transform:translateY(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 var(--berry-d)}
.dock a.pr{background:var(--blue);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 3px 0 var(--blue-d)}
.dock a.pr:active{box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 0 var(--blue-d)}
.dock i{font-style:normal;font-size:10px;color:#B8ABA5;letter-spacing:.08em}

/* 確認用の帯（本番には出ません） */
.preview-bar{background:#222;color:#fff;font-size:13px;line-height:1.6;padding:8px 14px;text-align:center}
.preview-bar a{color:#FFE08A}

@media(min-width:700px){
 body{font-size:17.5px}
 h1,.hero h1{font-size:34px}
 main h2{font-size:24px;padding:20px 26px}
 main h3{font-size:21px}
 .site-head .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
 .site-nav{margin:0;min-width:400px}
 .chips{grid-template-columns:repeat(5,1fr)}
 .svc-body{padding:30px 32px 34px}
 figcaption{padding-left:32px}
 .tbl{margin:30px 0;padding:0}
}

/* トップ：写真と「向いている人」 */
.hero-photo{margin:22px 0 0}
.hero-photo img{display:block;width:100%;border-radius:18px}
.hero-photo figure{margin:0}
.hero-photo figcaption{padding-left:0}
.svc-body figure{margin:30px 0}
.svc-body figure img{border-radius:14px}
.svc-body figcaption{padding-left:0}
.svc-body>p:first-child{margin-top:0}
.svc-body h4{margin-top:34px}
img{background:var(--milk)}
.fit{background:var(--plate);border:2px solid var(--custard);border-radius:16px;padding:20px 22px;margin:32px 0;font-size:16px}
.fit strong{display:block;margin-bottom:8px}
.fit ul{margin-bottom:0}
main h3[id]{scroll-margin-top:16px}

/* 記事 */
.art-fig{margin:34px 0}
.art-fig img{display:block;width:100%;border-radius:14px}
.art-fig figcaption{padding-left:0}
.related .guides b{font-size:16px}

/* お問い合わせフォーム */
.cform label{display:block;font-weight:700;margin:26px 0 8px}
.cform label span{display:inline-block;margin-left:10px;font-size:12px;background:var(--berry);color:#fff;border-radius:999px;padding:1px 10px;font-weight:700}
.cform input[type=text],.cform input[type=email],.cform textarea{width:100%;font:inherit;padding:14px;border:2px solid #C9B8B0;border-radius:12px;background:#fff;color:var(--choco)}
.cform input:focus,.cform textarea:focus{outline:3px solid #1A4FB5;outline-offset:2px}
.cform .hint{font-size:14px;color:var(--choco-soft);margin:6px 0 0}
.cform .agree{font-weight:400;margin-top:26px}
.cform .agree input{width:22px;height:22px;vertical-align:-4px;margin-right:6px}
.cform .hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.cform button.btn{cursor:pointer;width:100%;max-width:none;font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;margin-top:28px}
.form-err{border:2px solid var(--berry-d);border-radius:14px;padding:16px 20px;margin:24px 0;color:var(--berry-d);background:#fff}
.form-err ul{margin:8px 0 0}
.hub h3{margin-top:44px}
.hub .guides span{font-size:14.5px}

/* 本文中の通販へのリンク */
a.bl{font-weight:700}
.tbl thead a.bl{color:var(--plate)}
