:root{--ink:#071525;--yellow:#ffc800;--line:#c9cfd4;--paper:#fff;--muted:#79838d}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans JP",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.wrap{max-width:1160px;margin:auto;padding-inline:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    header{height:104px;position:relative;background:#fff;z-index:4;border-bottom:1px solid #eef0f2}.header-in{max-width:1290px;height:100%;margin:auto;padding:17px 30px 0;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand img{width:100px;height:70px;object-fit:contain}.brand .brand-name{font:900 39px/1 "M PLUS 1p",sans-serif;letter-spacing:-.09em;margin:0;white-space:nowrap}.desktop-nav{display:flex;gap:31px;align-items:center;padding-top:9px;font:700 14px "M PLUS 1p",sans-serif}.desktop-nav a{white-space:nowrap}.pr{position:absolute;right:31px;top:8px;font-size:10px;color:#74808a}.menu-btn{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px}.menu-btn i,.menu-btn i:before,.menu-btn i:after{content:"";display:block;width:24px;height:2px;background:var(--ink);position:relative}.menu-btn i:before{position:absolute;top:-7px}.menu-btn i:after{position:absolute;top:7px}.mobile-nav{display:none}
    main{overflow:hidden}.crumbs{padding:19px 0 0;font-size:13px;color:#8b949d}.crumbs ol{list-style:none;display:flex;gap:10px;padding:0;margin:0}.crumbs li+li:before{content:"›";padding-right:10px;color:#abb2b8}.area-head{position:relative;min-height:218px;padding:36px 0 42px;overflow:hidden}.area-head:after{content:"";position:absolute;right:0;top:0;width:45%;height:100%;background:linear-gradient(90deg,#ffffff00,#fff 60%),var(--area-bg) center/cover no-repeat;opacity:.23;z-index:-2}.area-head:before{content:"";position:absolute;right:12%;top:35px;width:2px;height:100px;background:#aeb5bb;box-shadow:-185px 0 0 -0.5px var(--yellow);opacity:.9}.area-label{display:flex;align-items:center;gap:10px;margin:0 0 6px;font:800 15px "M PLUS 1p",sans-serif}.area-label:before{content:"";width:25px;height:6px;background:var(--yellow)}.area-head h1{max-width:670px;margin:0;font:900 clamp(42px,5vw,70px)/1.16 "M PLUS 1p",sans-serif;letter-spacing:-.08em;word-break:keep-all;overflow-wrap:anywhere}.area-head .lead{margin:7px 0 0;max-width:590px;font:700 14px/1.65 "Noto Sans JP",sans-serif;word-break:keep-all;overflow-wrap:anywhere}.script{position:absolute;right:14%;top:30px;font:500 26px/.95 cursive;transform:rotate(-9deg);text-align:center}.script:after{content:"";display:block;width:55px;height:3px;background:var(--yellow);margin:12px auto}.result-count{margin:0 0 12px;font:800 17px "M PLUS 1p",sans-serif}.result-count:before{content:"";display:inline-block;width:18px;height:18px;border:4px solid var(--ink);border-radius:50%;margin:0 10px 2px 0;vertical-align:middle}
    .shops{padding-bottom:58px}.shop-list{display:grid;gap:15px}.shop{position:relative;background:#fff;border:1px solid var(--line);padding:12px;display:grid;grid-template-columns:39% 1fr;gap:24px;overflow:hidden}.shop img{width:100%;height:100%;min-height:185px;object-fit:cover;object-position:center}.shop-paid{border:7px solid var(--yellow);padding:9px;grid-template-columns:51% 1fr;gap:24px}.shop-paid img{min-height:289px}.shop-copy{min-width:0;display:flex;flex-direction:column;padding:0 3px}.shop h3{margin:0;font:900 clamp(25px,3.2vw,43px)/1.13 "M PLUS 1p",sans-serif;letter-spacing:-.06em;word-break:keep-all;overflow-wrap:anywhere}.access{margin:8px 0 0;font:800 16px "M PLUS 1p",sans-serif;word-break:keep-all}.pin{display:inline-block;width:20px;height:20px;border:4px solid var(--ink);border-radius:50%;vertical-align:-4px;margin-right:8px}.meta{display:flex;flex-wrap:wrap;gap:11px 22px;margin:10px 0 0;font:700 14px "Noto Sans JP",sans-serif}.meta span{white-space:nowrap}.clock{display:inline-block;width:18px;height:18px;border:2px solid var(--ink);border-radius:50%;vertical-align:-4px;margin-right:7px;position:relative}.clock:after{content:"";position:absolute;left:7px;top:3px;width:2px;height:6px;background:var(--ink);transform-origin:bottom;transform:rotate(-36deg)}.yen{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1.5px solid var(--ink);border-radius:50%;vertical-align:-4px;margin-right:7px;font:700 13px Oswald}.desc{margin:11px 0 0;color:var(--muted);font-size:14px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.coupon{margin-top:auto;background:var(--yellow);height:77px;display:flex;align-items:center;padding:9px 19px;position:relative;font:900 17px/1 "M PLUS 1p",sans-serif}.coupon:after{content:"";position:absolute;right:28px;top:0;bottom:0;border-left:2px dashed var(--ink)}.coupon:before{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;right:-11px;top:calc(50% - 11px)}.coupon strong{display:block;font:900 44px/.95 Oswald,sans-serif;letter-spacing:-.05em}.official{height:45px;background:var(--ink);color:#fff;margin-top:9px;padding:0 15px;display:flex;align-items:center;justify-content:center;font:700 14px "M PLUS 1p",sans-serif;word-break:keep-all}.official:after{content:"→";font:500 24px/1 Oswald;margin-left:10px}.shop-free{min-height:0;grid-template-columns:32% 1fr}.shop-free img{height:auto;min-height:0;aspect-ratio:3/2;align-self:start}.shop-free h3{font-size:28px}.shop-free .shop-copy{padding-top:1px}.shop-free .desc{margin-top:11px}.shop-free .official{align-self:flex-start;width:fit-content;min-width:285px;height:40px;font-size:13px}
    .nearby{padding:54px 0 67px;background:radial-gradient(circle at 68% 18%,#fff 0,#f4f5f5 70%);overflow:hidden}.nearby-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.small-title{margin:0;font:800 20px "M PLUS 1p",sans-serif}.small-title:before{content:"";width:25px;height:6px;background:var(--yellow);display:inline-block;vertical-align:middle;margin:0 10px 4px 0}.en-note{margin:0;color:#7c858d;font:600 11px/1.3 Oswald,sans-serif;letter-spacing:.11em;text-align:right}.area-route{margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px 0;position:relative;padding:0 18px}.area-route a{position:relative;z-index:1;display:flex;align-items:center;gap:12px;min-height:55px;font:800 16px "M PLUS 1p",sans-serif;word-break:keep-all;overflow-wrap:anywhere}.area-route a:before{content:"";width:23px;height:23px;border:5px solid var(--ink);border-radius:50%;background:#fff;flex:none}.area-route a:after{content:"";position:absolute;left:33px;right:-2px;top:24px;height:6px;background:var(--yellow);z-index:-1}.area-route a:nth-child(3n):after{display:none}.area-route a span{position:relative;z-index:1;background:#f4f5f5;padding:0 4px;margin-left:-4px}.route-bend{position:absolute;border:7px solid var(--yellow);border-left:0;border-radius:0 16px 16px 0;width:41px;height:92px;right:-5px;top:25px}.route-bend.two{border-left:7px solid var(--yellow);border-right:0;border-radius:16px 0 0 16px;left:-5px;top:117px}
    footer{border-top:1px solid var(--ink);min-height:174px;padding:31px 0 20px;position:relative;overflow:hidden;background:#fff}footer:after{content:"";position:absolute;right:-40px;bottom:-80px;width:310px;height:210px;background:var(--yellow);transform:rotate(-44deg);z-index:0}.footer-in{position:relative;z-index:1}.footer-top{display:flex;align-items:center;gap:25px}.footer-top .brand img{width:42px;height:42px}.footer-top .brand .brand-name{font-size:31px}.footer-nav{display:flex;gap:21px;border-left:1px solid #a9b1b8;padding-left:25px;font-size:12px;font-weight:700}.copyright{margin:28px 0 0;color:#8e969e;font-size:12px;font-weight:700}
    @media(max-width:720px){.wrap{padding-inline:20px}header{height:75px}.header-in{padding:10px 20px}.brand{gap:7px}.brand img{width:78px;height:52px}.brand .brand-name{font-size:29px}.desktop-nav{display:none}.menu-btn{display:block}.pr{right:67px;top:4px;font-size:8px}.mobile-nav{position:absolute;top:75px;left:0;right:0;background:#fff;border-top:1px solid #e7eaed;box-shadow:0 7px 11px #07152512;padding:12px 20px 18px}.mobile-nav.open{display:grid;gap:5px}.mobile-nav a{padding:10px 0;border-bottom:1px solid #e6e9eb;font:700 14px "M PLUS 1p",sans-serif}.crumbs{padding-top:12px;font-size:10px}.area-head{min-height:187px;padding:27px 0 30px}.area-head:after{width:65%;opacity:.14}.area-head:before,.script{display:none}.area-label{font-size:12px;margin-bottom:6px}.area-label:before{width:20px;height:5px}.area-head h1{font-size:34px;line-height:1.2;letter-spacing:-.08em}.area-head .lead{font-size:12px;line-height:1.6;margin-top:8px}.result-count{font-size:14px;margin-bottom:9px}.result-count:before{width:16px;height:16px;border-width:3px}.shops{padding-bottom:42px}.shop-list{gap:13px}.shop,.shop-paid{grid-template-columns:1fr;gap:12px;padding:10px}.shop-paid{border-width:5px;padding:7px}.shop img,.shop-paid img{height:190px;min-height:0;aspect-ratio:335/190}.shop-copy{padding:0}.shop h3,.shop-free h3{font-size:26px;line-height:1.2}.access{font-size:14px;margin-top:6px}.pin{width:18px;height:18px;border-width:3px;margin-right:5px}.meta{gap:5px 13px;font-size:12px;margin-top:7px}.clock{width:16px;height:16px;margin-right:4px}.clock:after{left:6px}.yen{width:17px;height:17px;font-size:12px;margin-right:4px}.desc{font-size:12px;margin-top:8px}.coupon{height:65px;margin-top:12px;font-size:14px;padding:8px 13px}.coupon strong{font-size:36px}.coupon:after{right:25px}.official,.shop-free .official{height:42px;width:100%;min-width:0;font-size:12px;margin-top:7px}.shop-free{min-height:0}.shop-free img{height:165px}.shop-free .desc{margin-top:8px}.nearby{padding:40px 0 46px}.small-title{font-size:17px}.small-title:before{width:20px;height:5px;margin-right:7px}.en-note{display:none}.area-route{margin-top:18px;padding:0;grid-template-columns:1fr;gap:2px}.area-route a{min-height:47px;font-size:14px;gap:9px}.area-route a:before{width:19px;height:19px;border-width:4px}.area-route a:after,.route-bend{display:none}.footer-top{align-items:flex-start;gap:13px}.footer-top .brand img{width:78px;height:52px}.footer-top .brand .brand-name{font-size:27px}.footer-nav{display:grid;gap:4px;padding-left:13px;font-size:10px}.copyright{margin-top:20px;font-size:10px}footer:after{right:-150px;bottom:-110px;width:260px}}
    .area-head h1{max-width:900px;font-size:clamp(42px,4vw,58px)}@media(max-width:720px){.area-head h1{font-size:34px;line-height:1.2;letter-spacing:-.08em}}
  @media(max-width:720px){.brand{gap:6px;min-width:0}.brand img{width:36px;height:26px}.brand h1,.brand .brand-name{font-size:17px;letter-spacing:-.04em;white-space:nowrap}.brand h2,footer .brand .brand-name{font-size:16px;letter-spacing:-.04em;white-space:nowrap}.footer-top{flex-wrap:wrap;gap:12px}.footer-top .brand img{width:36px;height:26px}.footer-top .brand h2,.footer-top .brand .brand-name{font-size:16px;letter-spacing:-.04em;white-space:nowrap}.footer-top .footer-nav{flex-basis:100%}}
/* 講座の5ブロック構成で足した部品（見た目はモックの色と文字に合わせる） */
.mmn-block{padding:46px 0 10px}.mmn-block+.mmn-block{padding-top:34px}
.mmn-h2{margin:0 0 16px;font:900 clamp(24px,2.6vw,32px)/1.3 "M PLUS 1p",sans-serif;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:anywhere}
.mmn-h2:before{content:"";display:block;width:34px;height:7px;background:var(--yellow);margin-bottom:10px}
.shops .mmn-h2{margin-top:6px}
.mmn-h3{margin:22px 0 6px;font:800 18px/1.45 "M PLUS 1p",sans-serif;word-break:keep-all;overflow-wrap:anywhere}
.mmn-text{margin:0 0 10px;max-width:860px;font-size:15px;line-height:1.85;color:#2b3640}
.mmn-text a,.mmn-table a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:3px}
.mmn-facts{margin:16px 0 0;max-width:860px;border-top:1px solid var(--line)}.mmn-facts div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:11px 2px;border-bottom:1px solid var(--line)}.mmn-facts dt{font:800 14px "M PLUS 1p",sans-serif}.mmn-facts dd{margin:0;font-size:14px;line-height:1.7}
.mmn-note{margin:-6px 0 14px;font-size:12px;color:var(--muted)}
.mmn-marks{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.mmn-marks li{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);padding:3px 9px 3px 7px;font:700 12px "M PLUS 1p",sans-serif;color:#9aa3ab;white-space:nowrap}.mmn-marks li span[aria-hidden]{font-family:Oswald,sans-serif;font-size:14px}.mmn-marks li.on{border-color:var(--ink);color:var(--ink);background:#fff7d6}
.mmn-reason{margin:10px 0 0;font:800 14px/1.6 "M PLUS 1p",sans-serif}
.shop-nophoto,.shop-paid.shop-nophoto{grid-template-columns:1fr}.shop-free.shop-nophoto .official{min-width:285px}
.mmn-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);margin:8px 0 14px}
.mmn-table{border-collapse:collapse;width:100%;min-width:720px;font-size:14px}.mmn-table th,.mmn-table td{padding:11px 12px;border-bottom:1px solid #e5e9ec;text-align:left;vertical-align:top;line-height:1.55}.mmn-table thead th{background:var(--ink);color:#fff;font:700 13px "M PLUS 1p",sans-serif;white-space:nowrap}.mmn-table tbody th{font:800 14px "M PLUS 1p",sans-serif;white-space:nowrap}.mmn-table tbody tr:nth-child(even){background:#f7f8f8}
.mmn-faq{padding-bottom:50px}
@media(max-width:720px){.mmn-block{padding:34px 0 6px}.mmn-h2{font-size:22px}.mmn-h3{font-size:16px}.mmn-text{font-size:14px}.mmn-facts div{grid-template-columns:1fr;gap:2px}.mmn-marks li{font-size:11px;padding:3px 7px 3px 6px}.mmn-table{font-size:13px}.mmn-reason{font-size:13px}.shop-free.shop-nophoto .official{min-width:0}}
/* 長い文章は普通に折り返す（句読点だけで折り返すとガタガタになる）。比較表の数字は1行に */
.shop .desc,.mmn-text,.mmn-facts dd{word-break:normal;overflow-wrap:anywhere;line-break:strict}
.mmn-table td:nth-child(2),.mmn-table td:nth-child(3){white-space:nowrap}.mmn-table td:nth-child(4),.mmn-table td:nth-child(5){min-width:170px}
@media(max-width:720px){.mmn-table{min-width:760px}}

/* お問い合わせ（講座 4-8） */
.mmn-contact{padding-bottom:70px}.mmn-contact h1.mmn-h2{font-size:clamp(28px,3vw,38px)}
.mmn-form{max-width:680px;margin-top:22px}.mmn-field{margin:0 0 18px}.mmn-field label{display:block;margin:0 0 6px;font:800 15px "M PLUS 1p",sans-serif}
.mmn-field .req,.mmn-field .opt{display:inline-block;margin-left:8px;padding:1px 7px;font:700 11px "Noto Sans JP",sans-serif;vertical-align:2px;border-radius:5px}.mmn-field .req{background:var(--ink);color:#fff}.mmn-field .opt{background:#eef0f2;color:var(--muted)}
.mmn-field input,.mmn-field select,.mmn-field textarea{width:100%;max-width:100%;padding:12px 14px;border:1px solid #aeb6be;border-radius:5px;background:#fff;font:16px/1.6 "Noto Sans JP",sans-serif;color:var(--ink)}
.mmn-field textarea{resize:vertical;min-height:180px}.mmn-field input:focus,.mmn-field select:focus,.mmn-field textarea:focus{outline:3px solid var(--yellow);outline-offset:1px;border-color:var(--ink)}
.mmn-field-err,.mmn-form-err{margin:6px 0 0;color:#b3261e;font-size:13px;font-weight:700}.mmn-form-err{margin:14px 0 0}
.mmn-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.mmn-submit{border:0;cursor:pointer;width:100%;max-width:320px;height:52px;font-size:16px}
.mmn-thanks{margin-top:22px;max-width:680px;background:#fff7d6;border-radius:5px;padding:18px 20px;line-height:1.8}
.mmn-table td:nth-child(2){white-space:normal;min-width:190px}
.area-route a:last-of-type:after{display:none}
/* 駅・都道府県・固定ページで足した部品 */
.footer-sub{display:flex;flex-wrap:wrap;gap:6px 21px;margin-top:18px;font-size:12px;font-weight:700;position:relative;z-index:1}
.mmn-walk{margin:0 0 6px;font-weight:800;font-size:15px}
.mmn-walk:before{content:"";display:inline-block;width:10px;height:10px;background:var(--yellow);border-radius:50%;margin-right:7px}
.mmn-checked{margin:6px 0 8px;font-size:12px;color:#5a646e}
.mmn-answer{font-weight:500}
.mmn-list{margin:0 0 12px;padding-left:1.3em;max-width:860px;font-size:15px;line-height:1.85;color:#2b3640}
.mmn-list li+li{margin-top:4px}
.mmn-h3 a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px;text-underline-offset:3px}
.mmn-fixed .mmn-facts dd a{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:3px}
.mmn-stations .area-route,.mmn-areas .area-route{margin-top:14px}
@media(max-width:720px){.footer-sub{font-size:10px;gap:4px 14px}.mmn-list{font-size:14px}.mmn-walk{font-size:14px}}
