@import url("/tokens.css");
*{box-sizing:border-box}html,body{margin:0;padding:0;background:#fff;color:var(--c-ink);font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,"Helvetica Neue",Arial,sans-serif;font-size:var(--c-fs-base)}
html:not(.sp) body{min-width:1250px}
a{color:var(--c-ink)}
/* 帯：本家は黒バナー白文字（全幅a＋中img1024×50中央寄せ） */
.top-band{background:#000;border-bottom:none;padding:0}
.top-band a{display:block;width:100%;height:50px;line-height:50px;text-align:center;background:#000;font-size:var(--c-fs-nav);color:#fff;text-decoration:none}
.top-band span{display:inline-block;width:1024px;max-width:100%;height:50px;line-height:50px}
/* header：本家実測 左163（grid x3+50／logo x56+107）・右ブロックx462〜（検索x465+245・アイコン50×5・ログイン53・登録164・R18が85） */
.site-header{background:#fff;border-bottom:1px solid var(--c-line);height:var(--c-header-h);position:relative;z-index:30}
.header-inner{margin:0 auto;height:48px;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0}
.h-left{display:block;width:163px;height:48px;flex:none;font-size:0}
.h-left .gs-menu{display:inline-block;vertical-align:top}
.h-left .logo{display:inline-block;vertical-align:top}
.gs-menu{width:50px;height:42px;background:none;border:none;border-right:1px solid var(--c-line);cursor:pointer;padding:0;margin-left:3px}
.logo{width:var(--c-logo-w);height:48px;display:flex;align-items:center;font-weight:800;font-size:24px;text-decoration:none;color:#000;padding:10px 0 10px 15px;margin-left:3px}
.h-search{margin:3px;width:23vw;flex:1;height:auto;min-width:195px;max-width:540px}
@media(max-width:1360px){.h-search{width:auto;min-width:195px;max-width:540px}}
.h-search form{display:table;table-layout:auto;font-size:0;background:none;border:none;border-radius:0;width:100%;height:30px;padding:0;border-collapse:separate;border-spacing:0}
.h-scope{position:relative;width:1px;height:30px;background:#f1f1f1;border:1px solid #e4e4e4;border-right:0;border-radius:15px 0 0 15px;display:table-cell;vertical-align:middle;overflow:visible;white-space:nowrap}
.h-scope::before,.h-scope::after{position:absolute;top:50%;right:6px;display:block;content:"";border-style:solid;border-color:transparent}
.h-scope::before{margin-top:1px;border-width:4px 2px 0 2px;border-top-color:#666}
.h-scope::after{margin-top:-6px;border-width:0 2px 4px 2px;border-bottom-color:#666}
.h-scope select{position:absolute;z-index:100;width:100%;height:28px;left:0;margin:0;padding:0 16px 0 8px;font-size:13.33px;font-family:Arial,sans-serif;color:#000;background:transparent;border:0;border-radius:15px 0 0 15px;outline:none;cursor:pointer;opacity:0;appearance:auto}
.h-scope span{font-size:10px;line-height:28px;display:inline-block;overflow:hidden;box-sizing:border-box;max-width:156px;height:28px;padding:0 16px 0 8px;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#000;font-family:Arial,sans-serif}
.h-right{display:flex;align-items:center;flex:none}
.h-icons{display:flex;align-items:center}
.h-icons a{width:50px;height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#666;font-size:22px;font-weight:300}
.h-icons a:nth-child(2){color:#b8860b}
.h-account{margin-left:0;display:flex;gap:0;align-items:center}
.h-search .h-txt{display:table-cell;width:100%;vertical-align:middle}
.h-search input{display:block;width:100%;height:30px;border:none;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;padding:0 6px;font-size:14px;line-height:30px;font-family:Arial,sans-serif;background:#fff;outline:none;color:#000}
.h-search button{width:33px;height:30px;border:none;background:#2fb9d1;cursor:pointer;border-radius:0 15px 15px 0;display:flex;align-items:center;justify-content:center;padding:0}
.h-search button svg{width:18px;height:18px;display:block}
/* マイパネル：本家ホバー実測 main778×545（人型の下・bg#f2f4f7・border#dee0e3・影・pad下5） */
.h-panel{position:absolute;top:48px;right:0;width:778px;max-width:calc(100vw - 20px);background:#f2f4f7;border:1px solid #dee0e3;box-shadow:rgba(0,0,0,.4) 2px 4px 8px -3px;z-index:60;padding:0 0 5px}
.h-panel[hidden]{display:none}
.h-panel-menu{width:776px;padding:20px 0}
.h-panel-items{width:776px;display:flex;justify-content:center;padding:0 16px;gap:15px}
.h-panel-items a{flex:0 0 240px;width:240px;height:39px;display:flex;align-items:center;justify-content:center;font-size:14.22px;line-height:21.33px;font-weight:600;text-decoration:none;border-radius:4px}
.h-panel-items a.acc-login{background:#ffc847;border:1px solid #ffc847;color:#2c2c2c}
.h-panel-items a.acc-reg{background:#fff;border:1px solid #e1e1e1;color:#2c2c2c}
.h-panel-items a:hover{text-decoration:underline}
.h-panel-body{width:776px;display:flex;padding:0}
.h-panel-left{flex:0 0 514px;width:514px}
.h-panel-left>p{width:484px;margin:15px 0 10px 20px;font-size:12px;font-weight:700;color:#000}
.h-panel-left ul{list-style:none;width:240px;display:inline-block;vertical-align:top;margin:0 0 0 20px;padding:0}
.h-panel-left ul+ul{margin-left:4px}
.h-panel-left li{margin:0 0 4px}
.h-panel-left li a{display:flex;align-items:center;gap:6px;width:238px;min-height:38px;font-size:12px;color:#333;text-decoration:none;background:#fff;border-radius:2px;padding:8px}
.h-panel-left li a>span:first-child{font-size:12px;color:#333}
.h-panel-left .tag{margin-left:auto;font-size:10px;color:#6e6e6e;white-space:nowrap}
.h-panel-left li a:hover{text-decoration:underline}
.h-panel-right{flex:0 0 262px;width:262px;border-left:1px solid #e1e3e6;padding-left:18px}
.h-panel-right ul{list-style:none;margin:15px 0 0;padding:0}
.h-panel-right li{margin-bottom:4px}
.h-panel-right li a{display:flex;align-items:center;gap:6px;width:227px;min-height:38px;font-size:12px;color:#333;text-decoration:none;background:#fff;border-radius:2px;padding:8px}
.h-panel-right li a:hover{text-decoration:underline}
/* header右：本家実測 人型53×48（img38）・login74×36（#ffc847・r4・fs12w600）・reg90×33（#0052d4・fs11w600・枠なし）・R18が85（二段） */
.h-user{position:relative;width:53px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.h-user-ic{display:flex;align-items:center;justify-content:center;width:53px;height:48px}
.h-login{width:74px;height:36px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#2c2c2c;background:#ffc847;border:1px solid #ffc847;border-radius:4px;text-decoration:none;white-space:nowrap;padding:8px 12px}
.h-register{width:90px;height:33px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#0052d4;background:none;border:none;border-radius:4px;text-decoration:none;white-space:nowrap;padding:8px 12px}
.h-r18{width:85px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;line-height:1.3;color:#333;text-decoration:none}
.h-login:hover{opacity:.85}.h-register:hover{text-decoration:underline}
/* サービスグリッドボタン 50x42（実測）＋メガメニュー 481x600・2列241/240 */
.gs-menu span{display:block;width:22px;height:22px;margin:0 auto;background-image:radial-gradient(circle,#333 2.4px,transparent 2.6px);background-size:7px 7px}
.gs-navi{position:absolute;top:49px;left:4px;width:481px;height:600px;max-height:calc(100vh - 60px);overflow:auto;background:#fff;border:1px solid #d0d0d0;box-shadow:0 2px 6px rgba(0,0,0,.15);z-index:60;display:flex}
.gs-navi[hidden]{display:none}
.gs-col{flex:0 0 241px;width:241px;padding:10px 0}.gs-col:last-child{flex-basis:240px;width:240px;border-left:1px solid #f0f0f0}
.gs-col a{display:block;font-size:12px;color:var(--c-sub);text-decoration:none;padding:7px 0 7px 14px}
.gs-col a:hover{background:#f5f5f5;text-decoration:underline}
.gs-col a.top{color:#0a7cc2}
.hamburger{display:none;font-size:22px;background:none;border:none;cursor:pointer}
/* layout: 左252 + 中央998 — 共通コンポーネント c-layout / c-leftnav */
.page{margin:0 auto;display:flex;position:relative}
.site-header{position:relative}
/* 左ナビホバー弹出 502x502（実測：白・1px #d0d0d0・影） */
.lnav-fly{position:absolute;left:252px;top:0;width:502px;max-width:calc(100vw - 260px);height:502px;background:#fff;border:1px solid #d0d0d0;box-shadow:#d1d1d1 0 2px 2px -2px;z-index:55;overflow:hidden}
.lnav-fly[hidden]{display:none}
.lnav-fly-name{width:220px;font-size:16px;font-weight:700;margin:0;padding:14px 0 6px 20px;position:relative}
.lnav-fly-list{list-style:none;width:200px;margin:0 0 0 20px;padding:0;position:relative}
.lnav-fly-list a{display:block;width:197px;font-size:12px;color:var(--c-sub);text-decoration:none;padding:5px 0}
.lnav-fly-list a:hover{text-decoration:underline}
.lnav-fly-promo{position:absolute;top:0;right:0;width:270px;height:502px;background:linear-gradient(160deg,#2b3a67,#7b2d5b 55%,#c7532a);color:#fff;display:flex;align-items:flex-end;padding:16px;font-size:15px;font-weight:700;line-height:1.5}
.leftnav{width:var(--c-nav);flex:0 0 var(--c-nav);align-self:flex-start;padding:8px 0 40px}
/* nav-close / nav-scrim はドロワー開放時のみ（PC常時表示の×を抑止） */
.nav-close{display:none}
.leftnav.open .nav-close{display:block}
.nav-scrim:not([hidden]){display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50}
.lnav-group{border-bottom:none}
.lnav-head{display:flex;align-items:center;width:var(--c-nav);max-width:100%;height:32px;font-size:var(--c-fs-nav-head);line-height:32px;color:var(--c-sub);text-decoration:none;padding-left:8px;cursor:pointer}
.lnav-ic{flex:0 0 22px;width:22px;height:22px;border-radius:4px;background:hsl(var(--h,210),60%,72%);color:#fff;font-size:11px;font-style:normal;display:flex;align-items:center;justify-content:center;margin-right:6px}
.lnav-head:hover{background:#f5f5f5;text-decoration:underline}
.lnav-subs{display:none;padding:2px 0 6px}
.lnav-group.open .lnav-subs{display:block}
.lnav-subs a{display:block;font-size:12px;color:#333;text-decoration:none;padding:5px 0 5px 16px}
.lnav-subs a:hover{text-decoration:underline;background:#fafafa}
/* DMM実CSS .top-centercolumn{border-left:1px solid #e1e3e6;box-sizing:border-box;min-width:calc(100% - 252px);padding:24px 32px 64px} */
.center{flex:1 1 auto;min-width:calc(100% - 252px);border-left:1px solid #e1e3e6;box-sizing:border-box;padding:24px 32px 64px}
.maincol{margin:0;padding:0;min-width:0}
/* hero: DMM実CSS .top-rotationbanner{margin:0 0 32px;min-width:934px;width:calc(-316px + 100vw)} / container height 252 */
.hero{width:calc(-316px + 100vw);min-width:934px;height:252px;overflow:hidden;position:relative;background:var(--c-panel);margin:0 0 32px}
.hero-track{display:flex;height:var(--c-hero-h);transition:transform .45s ease;align-items:stretch;gap:12px}
.hero-slide{flex:0 0 auto;width:var(--c-slide-w);max-width:100%;height:var(--c-hero-h);position:relative;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:14px;overflow:hidden}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-slide .cap{position:relative;font-size:17px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hero-slide .sub{position:relative;font-size:12px;opacity:.95;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.hero-prev,.hero-next{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:48px;border:none;background:rgba(0,0,0,.45);color:#fff;font-size:22px;cursor:pointer;z-index:2}
.hero-prev{left:0}.hero-next{right:0}
.hero-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.hero-dots button{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.6);cursor:pointer;padding:0}
.hero-dots button.on{background:#fff}
.sp .hero-dots{display:none}
/* sections: pb16 — 共通コンポーネント c-section / c-cardrow（portrait/square/tall/banner/chips/rows） */
.sect{padding:0 0 var(--c-sect-pb)}
/* DMM実CSS .top-maincol-service{margin:10px 0 15px} / link flex pad 0 30 0 10 / name 20px / text 12px / img 50 / ::before chevron */
.svc{margin:10px 0 15px;font-size:12px;font-weight:400;position:relative}
.svc-link{display:flex;align-items:center;color:#333;padding:0 30px 0 10px;position:relative;text-decoration:none}
.svc-link:hover{text-decoration:none}
.svc-link::before{border-width:3px 3px medium medium;border-style:solid solid none none;border-color:#666 #666 currentcolor currentcolor;content:"";height:10px;position:absolute;right:10px;transform:rotate(45deg);width:10px}
.svc-img{margin-right:10px;width:50px;height:50px;flex:none;border-radius:4px;background:hsl(var(--h,210),60%,72%);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}
.svc-text{font-size:12px;color:#333}
.svc-name{display:block;font-size:20px;font-weight:400;color:#333}
.svc-text small{font-size:12px;font-weight:400;color:#333}
.pickup{display:flex;gap:10px;margin:0 0 8px}
.pickup-img{width:200px;flex:0 0 200px;display:flex;align-items:flex-end;padding:10px;color:#fff;font-size:13px;font-weight:700;min-height:180px;background:linear-gradient(160deg,#2b3a67,#7b2d5b 55%,#c7532a)}
.pickup-content{flex:5 1 0;min-width:0}
.pickup-txt{font-size:var(--c-fs-nav);color:var(--c-sub);background:#f7f7f7;border:1px solid #eee;padding:6px 8px;margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* カード：本家実測 li0=103・li1〜=113（左pad10）・ul=flex/space-between・a=block・img103固定・title12px/#005fc0/lh18・2行54px切 */
.cards{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:0;flex-wrap:nowrap}
.cards li{flex:0 0 auto;width:113px;padding-left:10px}
.cards li:first-child{width:103px;padding-left:0}
.cards a{display:block;width:103px;text-decoration:none;color:#005fc0;font-size:12px;font-family:"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro",Meiryo,sans-serif}
.cards a:hover{text-decoration:underline}
.cards .card-img{display:block;width:103px}
.cards img{width:103px;height:auto;display:block;background:#eee}
.cards.portrait .card-img{height:147px;overflow:hidden}.cards.portrait img{height:147px;object-fit:cover}
.cards.square .card-img{height:103px;overflow:hidden}.cards.square img{height:103px;object-fit:cover}
.cards.tall .card-img{height:140px;overflow:hidden}.cards.tall img{height:140px;object-fit:cover}
.cards.banner .card-img{height:54px;overflow:hidden}.cards.banner img{height:54px;object-fit:cover}
.cards .t{display:block;width:103px;height:54px;font-size:12px;line-height:18px;color:#005fc0;margin:0;overflow:hidden}
.cards.chips{display:flex;flex-wrap:wrap;gap:8px}.cards.chips li{width:auto;flex:1 1 110px;min-height:58px;border:1px solid #e5e5e5;background:#fafafa;display:flex;align-items:center;justify-content:center;font-size:12px;padding:8px}
.cards.rows{display:block}.cards.rows li{width:100%;min-height:0;border-bottom:1px dotted #ddd;padding:6px 0;font-size:12px}
/* footer：本家実測そのまま（sub各col298@x182〜・p268 dotted下線・li268×28 pad1/0/8/6・a #005fc0・tob900@x183・main span区切り｜） */
.site-footer{margin-top:var(--c-foot-mt);border-top:none;min-height:320px;font-size:var(--c-fs-nav)}
.foot-sub{background:#e7e7e7;display:flex;gap:0;padding:0;justify-content:center}
.foot-col{flex:0 0 298px;width:298px;padding:16px 16px 12px 14px}
.foot-col p{width:268px;font-size:12px;line-height:normal;color:#000;margin:0 0 6px;padding:0 0 3px;border-bottom:1px dotted #bbb}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{width:268px;padding:1px 0 8px 6px}
.foot-col li a{font-size:12px;line-height:19.2px;color:#005fc0;text-decoration:none}
.foot-col li a:hover{text-decoration:underline}
.foot-note{font-size:10px;color:#666;margin:6px 0 0;border-bottom:none}
.foot-note-li{font-size:10px;color:#666;list-style:none;width:268px;padding:0 0 8px 6px}
.foot-tob{background:#e7e7e7}
.foot-tob-in{width:900px;margin:0 auto;padding:16px 16px 12px 14px}
.foot-tob p{width:870px;font-size:12px;color:#000;margin:0 0 6px;padding:0 0 3px;border-bottom:1px dotted #bbb}
.foot-tob-list{padding:1px 6px}
.foot-tob-list a{font-size:12px;line-height:21.6px;color:#005fc0;text-decoration:none;margin-right:30px}
.foot-tob-list a:hover{text-decoration:underline}
.foot-main{background:#242424;text-align:center;padding:15px 0 12px}
.foot-main span{padding:0 4px 0 8px}
.foot-main span+span{border-left:1px solid #999}
.foot-main a{font-size:12px;color:#fff;text-decoration:none}
.foot-main a:hover{text-decoration:underline}
.copy{background:#242424;color:#fff;font-size:10px;line-height:18px;text-align:center;margin:0 auto;padding:0 0 15px}
.more{display:none}
.sp-sl,.sp-pickup,.sp-modal,.sp-fab,.sp-acc{display:none}
/* SP：DMM実機UA 390px スタイルシート＋getBoundingClientRect。見出しbg #e0e0e0は不使用 */
html.sp,html.sp body{min-width:0;width:100%;max-width:100%;overflow-x:clip}
.sp{font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;font-size:16px}
.sp .site-header{height:auto;border-bottom:1px solid #e1e1e1}
.sp .header-inner{height:auto;flex-wrap:wrap;align-content:flex-start;align-items:center;justify-content:flex-start;padding:0}
.sp .h-left{display:contents;width:auto;height:auto}
.sp .hamburger{display:none}
.sp .gs-menu{display:block;width:44px;height:44px;padding:6px;margin:0;border:none;border-right:none;background:none;flex:0 0 44px;min-width:44px;order:1}
.sp .gs-menu span{width:32px;height:32px;margin:0;background-image:linear-gradient(#333,#333),linear-gradient(#333,#333),linear-gradient(#333,#333),linear-gradient(#333,#333);background-size:12px 12px;background-repeat:no-repeat;background-position:0 0,20px 0,0 20px,20px 20px}
.sp .logo{flex:1 1 0;min-width:0;width:auto;max-width:126px;height:24px;padding:0 5px;margin:10px 0;font-size:20px;line-height:24px;display:flex;align-items:center;overflow:hidden;order:2}
.sp .h-right{display:contents}
.sp .h-icons{display:flex;height:44px;flex:0 0 auto;min-width:0;order:3}
.sp .h-icons a{width:44px;height:44px;min-width:44px;padding:6px;box-sizing:border-box;flex:0 0 44px}
.sp .h-icons a svg{width:32px;height:32px}
.sp .h-icons a:nth-child(3),.sp .h-icons a:nth-child(5){display:none}
.sp .h-search{display:block;width:44px;height:44px;min-width:44px;max-width:44px;margin:0;flex:0 0 44px;position:relative;order:4}
.sp .h-search form{display:none}
.sp .h-search::after{content:"";position:absolute;inset:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Ccircle cx='14' cy='14' r='8' stroke='%23333' stroke-width='2'/%3E%3Cpath d='M20 20l6 6' stroke='%23333' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/32px 32px no-repeat}
.sp .h-panel{display:none}
.sp .h-user{width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;padding:6px;box-sizing:border-box;flex:0 0 44px;order:5}
.sp .h-user-ic{width:32px;height:32px}
.sp .h-user-ic svg{width:32px;height:32px}
.sp .h-account{flex:0 0 100%;width:100%;display:flex;gap:12px;padding:8px 16px;box-sizing:border-box;order:6}
.sp .h-login{flex:1 1 172px;height:auto;font-size:11px;font-weight:600;text-align:center;padding:8px 0;background:#ffc847;border:0;border-radius:4px;color:#2c2c2c;display:flex;align-items:center;justify-content:center}
.sp .h-register{flex:1 1 174px;height:auto;font-size:11px;font-weight:600;background:#f5f5f5;border:1px solid #e1e1e1;color:#2c2c2c;text-align:center;padding:8px 0;border-radius:4px;display:flex;align-items:center;justify-content:center}
.sp .h-r18{display:none;order:7}
@media (max-width:359px){
  .sp .h-icons a:nth-child(1){display:none}
}
.sp .page{display:block}.sp .leftnav{display:none}.sp .lnav-fly{display:none}
.sp .center{width:100%;max-width:100%;min-width:0;border-left:none;padding:0}.sp .maincol{width:100%;margin:0;padding:0}
.sp .gs-navi{display:none !important}
.sp .top-band{background:#000}
.sp .top-band a{height:50px;line-height:50px;background:#000;color:#fff}
.sp .top-band span{width:100%;height:50px;line-height:50px;font-size:12px}
/* shortcuts: DMM .top-service-panel-sl */
.sp .sp-sl{display:block;--service-panel-sl-cell-height:68px;background:#fff;border-top:1px solid #e1e1e1;color:#4b4b4b;padding:0 0 8px}
.sp .sp-sl-scroller{width:100%;overflow-x:auto;overflow-y:hidden}
.sp .sp-sl-scroller::-webkit-scrollbar{display:none}
.sp .sp-sl-grid{display:grid;grid-template-rows:68px 68px;grid-auto-flow:column;grid-auto-columns:calc(100% / 4.5)}
.sp .sp-sl-unit{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-height:var(--service-panel-sl-cell-height);min-height:var(--service-panel-sl-cell-height);height:var(--service-panel-sl-cell-height);border-bottom:1px solid #e1e1e1;border-right:1px solid #e1e1e1;text-decoration:none;color:#4b4b4b;background:#fff;overflow:hidden}
.sp .sp-sl-unit:nth-child(-n+2){border-left:1px solid #e1e1e1}
.sp .sp-sl-unit.all{background:#fafafa}
.sp .sp-sl-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px;width:100%;box-sizing:border-box}
.sp .sp-sl-ic{width:28px;height:28px;border-radius:4px;background:hsl(var(--h,210),55%,62%);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.sp .sp-sl-unit.all .sp-sl-ic{background:transparent;border-radius:0;color:#333;font-size:0;background-image:linear-gradient(#666,#666),linear-gradient(#666,#666),linear-gradient(#666,#666),linear-gradient(#666,#666);background-size:11px 11px;background-repeat:no-repeat;background-position:2px 2px,15px 2px,2px 15px,15px 15px}
.sp .sp-sl-label{color:#4b4b4b;font-size:11px;font-weight:700;line-height:125%;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}
/* pickup: DMM .top-pickup-slide-container */
.sp .sp-pickup{display:block;margin:0;width:100%;height:102px;overflow:hidden;position:relative;z-index:0;background:#fff}
.sp .sp-pickup ul{display:flex;align-items:center;list-style:none;margin:0;padding:0 0 0 12px;overflow-x:auto;height:102px}
.sp .sp-pickup ul::-webkit-scrollbar{display:none}
.sp .sp-pickup li{flex:none;width:96px;height:96px;margin:0 12px 0 0}
.sp .sp-pickup li:first-child{margin-left:0}
.sp .sp-pickup img{width:96px;height:96px;object-fit:cover;display:block}
/* hero: DMM .top-rotationbanner-container overflow hidden / img width 100% max 420 height auto */
.sp .hero{width:100%;min-width:0;height:auto;max-width:none;margin:0;overflow:hidden;background:#fff;position:relative;z-index:0}
.sp .hero-track{height:auto;gap:0;align-items:stretch}
.sp .hero-slide{flex:0 0 100%;min-width:100%;width:100%;max-width:100%;height:auto;margin:0;padding:0;background:none}
.sp .hero-slide img{position:static;inset:auto;width:100%;height:auto;max-width:none;object-fit:cover;display:block;vertical-align:top}
.sp .hero-slide .cap,.sp .hero-slide .sub{display:none}
.sp .hero-prev,.sp .hero-next,.sp .hero-dots{display:none}
/* headline: DMM 18px flex pad 6 10 6 12 / img 26 / more ml auto 18px #3b5998。bgは使わない */
.sp .sect{padding:0;position:relative;z-index:1;overflow:visible}
.sp .pickup{display:none}
.sp .svc{display:flex;align-items:center;font-size:18px;font-weight:400;margin:0;padding:6px 10px 6px 12px;overflow:hidden;background:none}
.sp .svc-link{display:flex;align-items:center;padding:0;flex:1 1 auto;min-width:0;color:#000;text-decoration:none}
.sp .svc-link::before{display:none}
.sp .svc-img{display:flex;width:26px;height:26px;margin:0 4px 0 0;border-radius:0;font-size:11px}
.sp .svc-text{font-size:18px;color:#000;min-width:0}
.sp .svc-name{display:block;font-size:18px;font-weight:400;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp .svc small{display:none}
.sp .more{display:inline-block;margin-left:auto;width:auto;font-size:18px;font-weight:400;color:#3b5998;text-decoration:none;text-align:right;white-space:nowrap;flex:none}
.sp .svc .more{margin-left:auto}
/* cards: DMM .top-maincol-multiple + ::-webkit-scrollbar display:none / 28.6vmin / caption 12px 38×19 */
.sp .cards{align-items:flex-start;display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:0;list-style:none;margin:0 0 6px;overflow-x:auto;overflow-y:visible;padding:8px 0 8px;white-space:nowrap;width:100%;font-size:0;position:relative;text-align:center}
.sp .cards::-webkit-scrollbar{display:none}
.sp .cards li{align-self:flex-start;box-sizing:border-box;display:inline-block;flex:0 0 auto;flex-shrink:0;width:28.6vmin;font-size:12px;margin-bottom:0;padding:0 3px;text-align:center;vertical-align:middle;position:relative}
.sp .cards a{display:block;width:100%;color:#3b5998}
.sp .cards .card-img,.sp .cards.portrait .card-img,.sp .cards.square .card-img,.sp .cards.tall .card-img,.sp .cards.banner .card-img{display:block;width:100%;height:auto;overflow:hidden}
.sp .cards img{width:100%;height:auto;margin:0;display:block;object-fit:cover}
.sp .cards .t{display:-webkit-box;position:static;left:auto;right:auto;bottom:auto;height:38px;line-height:19px;margin-top:6px;font-size:12px;font-weight:400;color:#3b5998;text-align:left;white-space:normal;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-box-orient:vertical;-webkit-line-clamp:2;width:auto}
.sp .cards.chips li,.sp .cards.rows li{width:auto;padding:6px 8px;position:static}
.sp .cards.chips .t,.sp .cards.rows .t{position:static;height:auto}
.sp .sp-acc{display:flex;align-items:center;justify-content:center;margin:0 12px 30px;padding:8px 12px;border:1px solid #999;border-radius:16px;font-size:12px;font-weight:700;color:#333;text-decoration:none;background:#fff;box-sizing:border-box}
.sp .sp-acc[hidden]{display:none}
.sp .sp-acc::after{content:"›";margin-left:8px;font-weight:400;font-size:16px;line-height:1}
.sp .site-footer{margin-top:0;min-height:0;font-size:12px;line-height:19.2px;background:#fff;color:#000}
.sp .foot-sub{display:block;background:#fafafa;margin:0 5% 10px;padding:0;justify-content:flex-start;border-radius:5px;overflow:hidden}
.sp .foot-col{flex:none;width:auto;max-width:none;padding:0;border-bottom:none}
.sp .foot-col p{width:auto;max-width:none;font-size:12px;font-weight:700;line-height:19.2px;color:#ccc;background:#333;margin:0;padding:6px 10px;border:none;border-radius:0}
.sp .foot-col ul{margin:0;padding:0}
.sp .foot-col li{width:auto;max-width:none;padding:0;margin:0;background:#fafafa;border-bottom:1px solid #999;list-style:none}
.sp .foot-col li:last-child{border-bottom:none}
.sp .foot-col li a{display:block;width:auto;font-size:12px;line-height:19.2px;color:#333;padding:8px 10px}
.sp .foot-note-li{display:none}
.sp .foot-tob{background:none}
.sp .foot-tob-in{width:auto;max-width:none;margin:0 5% 10px;padding:0;border-radius:5px;overflow:hidden;background:#fafafa}
.sp .foot-tob p{width:auto;max-width:none;font-size:12px;font-weight:700;line-height:19.2px;color:#ccc;background:#333;margin:0;padding:6px 10px;border:none}
.sp .foot-tob-list{display:grid;grid-template-columns:1fr 1fr;padding:0}
.sp .foot-tob-list a{display:block;margin:0;padding:8px 10px;font-size:12px;line-height:19.2px;color:#333;background:#fafafa;border-bottom:1px solid #999;border-right:1px solid #999;text-decoration:none;box-sizing:border-box}
.sp .foot-tob-list a:nth-child(2n){border-right:none}
.sp .foot-main{background:none;text-align:left;padding:0;margin:13px 5% 0;line-height:18px}
.sp .foot-main span{display:inline;padding:0;border:none}
.sp .foot-main span+span{border:none}
.sp .foot-main a{font-size:12px;line-height:18px;color:#333}
.sp .foot-main a::before{content:"・"}
.sp .copy{background:none;color:#000;font-size:12px;line-height:19.2px;text-align:center;margin:10px 0;padding:0}
/* modal: DMM .top-service-panel-modal */
.sp .sp-modal{display:flex;align-items:flex-end;color:#4b4b4b;inset:0;justify-content:center;position:fixed;z-index:1000}
.sp .sp-modal[hidden]{display:none}
.sp .sp-modal-backdrop{background:#000;inset:0;opacity:.5;position:absolute;z-index:1000}
.sp .sp-modal-sheet{background:#fff;border-radius:8px 8px 0 0;position:relative;width:100%;z-index:1000}
.sp .sp-modal-header{align-items:center;background:#f5f5f5;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:16px}
.sp .sp-modal-close{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:28px;font-weight:400;height:32px;justify-content:center;line-height:1;padding:4px;width:32px}
.sp .sp-modal-r18{align-items:center;background:#e76d86;border-radius:16px;display:flex;flex-direction:column;justify-content:center;padding:4px 24px;text-decoration:none}
.sp .sp-modal-r18 span{color:#fff;text-align:center;line-height:100%}
.sp .sp-modal-r18 span:first-child{font-size:12.64px}
.sp .sp-modal-r18 span:last-child{font-size:9.99px}
.sp .sp-modal-body{display:flex;flex-direction:column;max-height:calc(100dvh - 130px);overflow:auto;padding-top:8px}
.sp .sp-modal-grid{align-self:stretch;gap:4px 24px;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 16px}
.sp .sp-modal-unit{align-items:flex-start;display:flex;flex-direction:column;gap:12px;height:112px;justify-self:center;text-decoration:none;width:64px}
.sp .sp-modal-ic{align-items:center;background:#f5f5f5;border-radius:999px;display:flex;height:64px;justify-content:center;padding:8px;width:64px;box-sizing:border-box;color:#555;font-size:18px;font-weight:700}
.sp .sp-modal-unit > span:last-child{color:#4b4b4b;font-size:11.24px;font-weight:400;line-height:120%;text-align:center;align-self:stretch}
.sp .sp-fab{display:flex;align-items:center;bottom:18px;position:fixed;right:16px;z-index:700;width:44px;height:44px;border:none;border-radius:8px;background:#fff;padding:0;filter:drop-shadow(rgba(0,0,0,.5) 0 0 5px);cursor:pointer}
.sp .sp-fab[hidden]{display:none}
.sp .sp-fab span{display:block;width:26px;height:26px;margin:auto;background-image:linear-gradient(#333,#333),linear-gradient(#333,#333),linear-gradient(#333,#333),linear-gradient(#333,#333);background-size:10px 10px;background-repeat:no-repeat;background-position:2px 2px,14px 2px,2px 14px,14px 14px}
