*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.65 Inter,"Noto Sans JP","Yu Gothic UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.hidden{display:none!important}.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}
.site-header{display:flex;align-items:center;justify-content:space-between}.brand{font-size:23px;font-weight:900;letter-spacing:-.055em;text-decoration:none}.brand i{font-style:normal;color:#7da600}.phase{font-size:10px;background:var(--navy);color:#fff;padding:5px 8px;border-radius:5px;margin-left:10px;letter-spacing:.06em}.desktop-nav{display:flex;align-items:center}.desktop-nav button,.desktop-nav a{border:0;background:none;text-decoration:none;font-weight:750;font-size:12px;cursor:pointer;padding:8px 0}.header-actions{display:flex;align-items:center}.btn{border:1px solid transparent;border-radius:9px;padding:12px 17px;font-weight:850;cursor:pointer;background:var(--lime);color:var(--ink);transition:180ms cubic-bezier(.2,.8,.2,1)}.btn.dark{background:var(--navy);color:#fff}.btn.dark:hover{background:var(--navy2)}.btn.ghost{background:#fff;border-color:#b8c4d1}.btn.text{padding-inline:8px}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.routebar{position:fixed;right:18px;bottom:18px;z-index:60;width:min(330px,calc(100vw - 36px));background:rgba(6,26,56,.96);color:#fff;border:1px solid #29466b;border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.routebar summary{cursor:pointer;list-style:none;padding:13px 16px;font-size:12px;font-weight:850;display:flex;justify-content:space-between}.routebar summary:after{content:"画面を選択";font-weight:500;color:#b9c7d9}.route-list{max-height:55vh;overflow:auto;padding:5px 8px 10px}.route-list button{width:100%;border:0;background:transparent;color:#ced9e7;text-align:left;padding:9px 10px;border-radius:7px;font-size:11px;cursor:pointer}.route-list button:hover,.route-list button.active{background:#173b68;color:#fff}.route-list b{display:block;color:var(--lime);padding:10px;font-size:10px;letter-spacing:.08em}
.screen{min-height:calc(100vh - 72px)}.wrap{padding:0 24px;margin:auto}.eyebrow{font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:520px;height:520px;right:-110px;top:-250px;border-radius:50%;background:var(--lime);filter:blur(115px);opacity:.13}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.07fr .93fr;gap:72px;align-items:center;position:relative;z-index:1}.hero h1{margin:16px 0 24px}.hero p{max-width:650px;margin:0 0 30px}.hero-actions{display:flex;gap:10px;align-items:center}.hero-note{margin-top:20px}.flow-card{border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px;backdrop-filter:blur(14px)}.flow-step{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid rgba(255,255,255,.12)}.flow-step .num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--navy);font-size:11px;font-weight:900}.flow-step small{color:#b9c8da}.flow-step strong:last-child{color:var(--lime)}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);position:relative;z-index:2}.trust:last-child{border:0}.trust b{display:block}
.section{padding:82px 0}.section.soft{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end}.section-head h2,.content-hero h1{margin:7px 0}.section-head p{max-width:600px;color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:27px}.card h3{margin:12px 0 7px}.card p{color:var(--muted);font-size:12px;margin:0}.card .meta{display:inline-flex;border-radius:6px;padding:5px 8px;font-weight:850}.card.feature{box-shadow:0 14px 36px rgba(100,140,0,.09)}.card ul{padding-left:18px;color:var(--muted);font-size:12px}.inline-link{border:0;background:none;padding:0;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.cta{background:linear-gradient(115deg,var(--navy),#0c376f);color:#fff;border-radius:26px;padding:55px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.cta h2{font-size:34px;letter-spacing:-.04em;margin:0 0 7px}.cta p{margin:0;color:#bdcbe0}.site-footer{padding:55px 0 90px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr)}.footer-grid h3{color:#fff}.footer-grid a,.footer-grid button{display:block;border:0;background:none;color:#afbed1;text-decoration:none;padding:5px 0;font-size:11px;cursor:pointer}
.content-hero{padding:72px 0 50px}.content-hero p{color:var(--muted);font-size:16px;max-width:690px}.content-grid{display:grid;padding:40px 0 90px}.side-nav{position:sticky;height:max-content;border:1px solid var(--line)}.side-nav-title{display:block;width:100%}.side-nav button,.side-nav a{display:block;width:100%;background:none;text-align:left;font-weight:700;color:var(--muted);cursor:pointer;text-decoration:none}.side-nav button.active,.side-nav button:hover,.side-nav a.active,.side-nav a:hover{background:var(--soft);color:var(--ink)}.article h2{letter-spacing:-.03em;margin:0 0 14px}.article h3{margin-top:34px}.article p,.article li{color:var(--muted)}.steps{counter-reset:step;display:grid}.step{counter-increment:step;border:1px solid var(--line);border-radius:12px;padding:22px 22px 22px 70px;position:relative}.step:before{content:counter(step);position:absolute;left:21px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}.compare{width:100%}.compare th,.compare td{text-align:left;border-bottom:1px solid var(--line)}.compare th{font-size:11px;color:var(--muted)}.compare td{font-size:12px}.compare tr:last-child td{border-bottom:0}.status-good{color:var(--green);font-weight:850}.search{display:flex}.search input,.search select{flex:1;border:1px solid #aebaca;border-radius:9px;padding:13px 14px;background:#fff}.policy-accordion summary{cursor:pointer;font-weight:800}.status-card{border:1px solid var(--line);border-radius:14px;display:flex;justify-content:space-between;align-items:center}.dot{width:10px;height:10px;background:var(--green);border-radius:50%;display:inline-block;margin-right:8px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px}
.mapp-service-card{display:flex;min-width:0;flex-direction:column}.mapp-service-card h3,.mapp-service-card p{margin:0}.mapp-service-card-image{aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:var(--soft)}.mapp-service-card-image img{display:block;width:100%;height:100%;object-fit:contain}.mapp-service-card .inline-link{margin-top:auto}.mapp-service-empty{padding:22px;border:1px dashed var(--line);border-radius:12px;background:var(--soft)}.auth-wrap{width:min(100%,500px);margin:auto}.auth-logo{text-align:center;margin-bottom:26px}.progress{display:flex;margin-bottom:26px}.progress span{flex:1;background:#e0e6ed;border-radius:3px}.progress span.on{background:var(--lime)}.field{display:block;margin:0 0 17px}.field>span{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #aebaca;border-radius:8px;padding:13px 14px;background:#fff;color:var(--ink)}.field small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.field.error input{border-color:var(--red)}.error-text{color:var(--red)!important}.check{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:var(--muted);margin:15px 0}.check input{margin-top:4px}.alert{border-left:4px solid var(--blue);background:#eef4ff;border-radius:7px;margin:14px 0}.alert.error{border-color:var(--red);background:#fff0f0}.code-row{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:22px 0}.code-row input{text-align:center;font-size:22px;font-weight:850;width:100%;min-width:0;padding:11px 0;border:1px solid #aebaca;border-radius:8px}.success-mark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:var(--green);font-size:31px;font-weight:900;margin:0 auto 20px}.center{text-align:center}.split{display:flex;justify-content:space-between;gap:10px;align-items:center}.divider{display:flex;align-items:center;gap:12px;color:#8996a7;font-size:10px;margin:20px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}
@media(max-width:900px){.desktop-nav{display:none}.mobile-menu{display:block}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:70px 24px 90px}.flow-card{max-width:600px}.trust-strip{grid-template-columns:1fr 1fr}.trust:nth-child(2){border-right:0}.trust:nth-child(-n+2){border-bottom:1px solid var(--line)}.cards{grid-template-columns:1fr 1fr}.side-nav{overflow:auto}.side-nav-title,.side-nav button,.side-nav a{white-space:nowrap;width:auto}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.site-header{height:64px}.phase{display:none}.header-actions .btn.text{display:none}.hero-grid{padding:56px 20px 76px;gap:40px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.flow-card{padding:20px}.trust{border-right:0;border-bottom:1px solid var(--line)}.section{padding:58px 0}.section-head{display:block}.section-head p{margin-top:10px}.cards{grid-template-columns:1fr}.cta{padding:32px 24px;grid-template-columns:1fr}.cta .btn{width:100%}.content-hero{padding:48px 0 30px}.content-grid{padding-top:30px}.wrap{padding:0 18px}.compare{overflow:auto}.routebar{right:10px;bottom:10px;width:calc(100vw - 20px)}.code-row{gap:5px}.site-footer{padding-bottom:130px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#edf3fa;color:#638500;font-size:26px;font-weight:900}

/* MOTTOAPP 2 layout adapter: keep the standard Smarty inheritance and neutralize legacy chrome. */
.frame_outer,#container,#main_content,#main_column{width:100%;max-width:none;margin:0;padding:0;background:transparent}
#container{min-height:0}
#main_column.colnum1{width:100%}
.mapp-skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--lime);color:var(--ink);padding:11px 15px;border-radius:8px;font-weight:850}
.mapp-skip-link:focus{top:12px}
.site-header .brand,.site-footer .brand{color:inherit}
.mapp-hero-eyebrow{color:var(--lime)}
.mapp-hero-secondary{background:transparent;color:#fff;border-color:#69809d}
.site-footer p{max-width:310px;font-size:11px}
.mapp-copyright{border-top:1px solid #18304f;margin-top:38px;padding-top:22px;font-size:11px}
.mapp-button-link{display:block;text-align:center;text-decoration:none}
.mapp-code-input{text-align:center;font-size:24px!important;font-weight:850;letter-spacing:.35em}
.mapp-link-button{border:0;background:transparent;padding:0}
.mapp-phone-row{display:grid!important;grid-template-columns:115px 1fr;gap:8px;margin:0!important}
.mapp-phone-row select,.mapp-phone-row input{width:100%}
.mapp-masked-destination{font-size:12px;color:var(--muted);margin:-2px 0 16px}

@media(max-width:900px){
  .site-header{position:sticky}
  .site-header .desktop-nav[data-open="true"]{display:flex;position:absolute;left:0;right:0;top:100%;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(6,26,56,.1);flex-direction:column;align-items:stretch;gap:4px}
  .site-header .desktop-nav[data-open="true"] a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:420px){.mapp-phone-row{grid-template-columns:105px 1fr}}


#container.layout-1column{display:block;width:100%;}
#container.layout-1column #main_content,
#container.layout-1column #main_column{width:100%;max-width:none;min-width:0;}
#container.layout-2column{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);grid-template-areas:"left main";align-items:start;}
#container.layout-2column #topcolumn{grid-area:top;min-width:0;}
#container.layout-2column #leftcolumn{grid-area:left;min-width:0;width:100%;overflow:visible;padding-top:0;}
#container.layout-2column #main_content{grid-area:main;min-width:0;width:100%;}
#container.layout-2column #rightcolumn{grid-area:right;min-width:0;}
#container.layout-2column #bottomcolumn{grid-area:bottom;min-width:0;}
#container.layout-2column #main_column{width:100%;max-width:none;min-width:0;}
@media(max-width:760px){
  #container.layout-2column{display:block;}
  #container.layout-2column #leftcolumn,
  #container.layout-2column #rightcolumn{width:100%;}
}
@media(max-width:900px){.header-actions>a.btn.ghost{order:2}.header-actions>.btn:not(.text):not(.ghost){order:3}}

.mapp-contact-card{width:100%;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 12px 35px rgba(6,26,56,.06)}.mapp-contact-note{color:var(--muted);font-size:12px;margin:0 0 22px}.mapp-contact-form{display:grid;gap:17px}.mapp-form-field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.mapp-form-field label span{color:var(--red)}.mapp-form-field input,.mapp-form-field select,.mapp-form-field textarea{width:100%;border:1px solid #aebaca;border-radius:8px;padding:12px 13px;background:#fff;color:var(--ink)}.mapp-form-field input+input,.mapp-form-field select+input{margin-top:8px}.mapp-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mapp-form-pair.postal{grid-template-columns:130px 130px}.mapp-form-pair.phone{grid-template-columns:1fr 1fr 1fr}.mapp-form-error{display:block;min-height:1.2em;color:var(--red);font-size:11px;margin-top:5px}.mapp-contact-actions{display:flex;justify-content:flex-end;margin-top:24px}.mapp-contact-actions--center{justify-content:center}.mapp-contact-review{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);margin:28px 0}.mapp-contact-review dt,.mapp-contact-review dd{padding:13px 0;border-bottom:1px solid var(--line);margin:0}.mapp-contact-review dt{font-weight:800}.mapp-contact-complete{text-align:center;padding:70px 30px}.mapp-contact-complete p{color:var(--muted);max-width:500px;margin:10px auto 22px}.mapp-contact-complete .btn{display:inline-block;text-decoration:none}
@media(max-width:600px){.mapp-contact-card{padding:22px 18px}.mapp-form-pair.postal{grid-template-columns:1fr 1fr}.mapp-form-pair.phone{grid-template-columns:1fr}.mapp-contact-review dt{padding-bottom:3px;border:0}.mapp-contact-review dd{padding-top:0}.mapp-contact-actions{display:grid;grid-template-columns:1fr}.mapp-contact-actions .btn{width:100%}}

/* 規約本文はプレーンテキストとして改行を維持する。 */
.mapp-content-list{display:grid;gap:22px}.mapp-content-item{border:1px solid var(--line);border-radius:12px;background:#fff}.mapp-content-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
/* 公開画面のモーダル操作は共通フッターで中央配置する。 */
.mapp-modal__footer{display:flex;align-items:center;justify-content:center;gap:16px}
body.mapp-modal-open{overflow:hidden}.mapp-content-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(4,20,45,.68)}.mapp-content-overlay[hidden]{display:none}.mapp-content-dialog{width:min(760px,100%);max-height:min(82vh,820px);display:flex;flex-direction:column;background:#fff;box-shadow:0 28px 80px rgba(4,20,45,.35);outline:0}.mapp-content-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 22px;border-bottom:1px solid var(--line)}.mapp-content-dialog-header h2{margin:0;font-size:22px}.mapp-content-close{width:44px;height:44px;flex:0 0 44px;padding:0;line-height:1;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:25px;cursor:pointer}.mapp-content-dialog-status{padding:28px 22px;color:var(--muted);text-align:center}.mapp-content-dialog-body{overflow:auto;overscroll-behavior:contain}.mapp-content-dialog-body .mapp-content-item+.mapp-content-item{margin-top:16px}
@media(max-width:600px){.mapp-content-overlay{padding:0;align-items:end}.mapp-content-dialog{width:100%;max-height:92vh;border-radius:16px 16px 0 0}.mapp-content-dialog-header{padding:16px 18px}.mapp-content-dialog-body{padding:18px}.mapp-content-item{padding:18px}}
.mapp-section-heading{display:flex;align-items:center;gap:12px;min-width:0}.mapp-section-heading h2{margin:0;font-size:19px;line-height:1.35}.mapp-icon-clock{--mapp-icon:url("design/assets/lucide/clock.svg")}.mapp-icon-megaphone{--mapp-icon:url("design/assets/lucide/megaphone.svg")}.mapp-status-good{color:var(--green)}.mapp-status-muted{color:var(--muted)}
.mapp-form-grid--two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.mapp-form-field--half{grid-column:span 1;min-width:0}
.mapp-form-field--full{grid-column:1/-1}
@media(max-width:700px){.mapp-form-grid--two-column{grid-template-columns:1fr}.mapp-form-field--half,.mapp-form-field--full{grid-column:1/-1}}

/* 狭い画面でもヘッダー操作部が縦折れしないようにする。 */
@media(max-width:600px){

	.header-actions{gap:4px;flex:0 0 auto}
	.header-actions>.btn:not(.text):not(.ghost){padding:9px 8px}
	.header-actions .mobile-menu{white-space:nowrap}
}

/* 共通ヘッダー内のリンクボタンの配置と状態を揃える。 */
.site-header a.btn,
.site-header a.btn:link,
.site-header a.btn:visited,
.site-header a.btn:hover,
.site-header a.btn:focus-visible{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:auto;
	font:inherit;
	font-weight:850;
	text-align:center;
	text-shadow:none;
	text-decoration:none;
	white-space:nowrap;
}
.site-header a.btn,
.site-header a.btn:link,
.site-header a.btn:visited{color:var(--ink);background:var(--lime)}
.site-header a.btn:hover,
.site-header a.btn:focus-visible{color:var(--ink);background:var(--lime2)}
.site-header a.btn.dark,
.site-header a.btn.dark:link,
.site-header a.btn.dark:visited{color:#fff;background:var(--navy)}
.site-header a.btn.dark:hover,
.site-header a.btn.dark:focus-visible{color:#fff;background:var(--navy2)}
.site-header a.btn.text,
.site-header a.btn.text:link,
.site-header a.btn.text:visited,
.site-header a.btn.text:hover,
.site-header a.btn.text:focus-visible{color:var(--ink);background:transparent;border-color:transparent}

/* CTAのリンクボタンは濃緑の文字色を共有する。 */
.hero-actions a.btn,
.hero-actions a.btn:link,
.hero-actions a.btn:visited,
.hero-actions a.btn:hover,
.hero-actions a.btn:focus-visible,
.home-cta a.btn,
.home-cta a.btn:link,
.home-cta a.btn:visited,
.home-cta a.btn:hover,
.home-cta a.btn:focus-visible{color:#0b5d32}

.btn.ghost,
a.btn.ghost:link,
a.btn.ghost:visited,
a.btn.ghost:hover,
a.btn.ghost:focus-visible{color:#0b5d32}.content-main>.article+.article{margin-top:48px}.step-note{padding:12px 14px;border-radius:8px}.step-note strong{color:var(--ink)}.compare{overflow:hidden}.compare th,.compare td{border-right:1px solid var(--line)}.compare th:last-child,.compare td:last-child{border-right:0}.compare tr:not(:last-child) td,.compare tr:not(:last-child) th{border-bottom:1px solid var(--line)}@media(max-width:900px){.content-main>.article+.article{margin-top:32px}}

.home-process .process-grid{gap:16px}
.home-process .card{
	border-color:#d8e2ee;
	flex-direction:column;
}
.home-process .step-note{padding-top:12px}
.mapp-support-topics .card{padding-top:18px}
.mapp-support-topics .card h3{margin-top:0}
.home-cta-section{padding-top:48px;padding-bottom:52px}
.home-cta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:28px;
}
.content-grid{grid-template-columns:230px minmax(0,1fr)}

.side-nav{display:grid;gap:4px;background:var(--white)}
.side-nav-title{
	margin-bottom:2px;
	padding:11px 12px;
	border-radius:8px;
	background:#f0f4f8;
	color:var(--ink);
	font-size:12px;
	font-weight:850;
}
.side-nav button,.side-nav a{border:1px solid transparent;border-radius:8px;padding:11px 13px}
.side-nav button.active,.side-nav a.active{border-color:var(--blue);background:#f5f8ff;color:var(--ink)}
.side-nav button:hover,.side-nav a:hover{border-color:#b8c4d1;background:var(--soft);color:var(--ink)}
.caution-note{
	position:relative;
	margin-top:30px;
	min-height:148px;
	padding:24px 28px 24px 96px;
	border:1px solid #efd8a7;
	border-left:4px solid #b7791f;
	border-radius:10px;
	background:linear-gradient(110deg,#fff8e8,#fffaf0);
	color:var(--muted);
	font-size:16px;
}
.caution-note h3{margin:0 0 10px;color:var(--navy);font-size:22px;line-height:1.5}
.caution-note h3:before{
	content:"!";
	position:absolute;
	left:28px;
	top:26px;
	display:inline-grid;
	place-items:center;
	width:42px;
	height:42px;
	border-radius:50%;
	background:#b7791f;
	color:var(--white);
	font-size:26px;
	font-weight:900;
}
.caution-note p{margin:0;color:var(--muted);font-size:16px;line-height:1.9}

.mapp-contact-complete h2{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}
.policy-section{scroll-margin-top:100px}
@media(max-width:900px){
	.home-process .process-grid{grid-template-columns:1fr}
	.home-cta{align-items:flex-start;flex-direction:column}

	.side-nav{display:flex;overflow-x:auto}

}
@media(max-width:600px){
	.home-process{padding-top:60px;padding-bottom:60px}

	.compare{max-width:100%}
}

/* 新デザイン共通部品。既存のクラス・IDと本文を維持する表示専用CSS。 */
:root {
	--amber: #a85a00;
	--navy: #061a38; --navy2: #0b2b59; --lime: #b7e52b; --lime2: #d2f56b;
	--ink: #10213a; --muted: #53657b; --line: #ccd7e3; --soft: #f4f7fa;
	--white: #fff; --blue: #1859a1; --red: #b42332; --green: #146c43;
	--cyan: #55d8ff; --content: 1200px; --r: 20px; --rs: 10px;
	--shadow: 0 14px 42px rgba(6,26,56,.08); --mapp-dark-line: #54718c;
}
html { scroll-padding-top: 130px; }
body { background: var(--white); color: var(--ink); font-size: 15px; line-height: 1.75; }
button, a, input, select, textarea { touch-action: manipulation; }
button, .btn { min-height: 44px; }
button:disabled, .btn:disabled { cursor: not-allowed; opacity: .55; transform: none; }
:focus-visible { outline: 3px solid #2470b8; outline-offset: 3px; }
[hidden] { display: none !important; }
.wrap { width: 100%; max-width: var(--content); padding-inline: 28px; }
.site-header {
	position: sticky; top: 0; z-index: 50; width: 100%; max-width: none;
	height: auto; min-height: 80px; margin: 0; padding: 12px max(28px,calc((100% - var(--content))/2)); gap: 24px;
	border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: white; color: var(--navy);
	box-shadow: none; backdrop-filter: none;
}
.site-header .brand { color: var(--navy); font-size: 30px; line-height: 1; flex-shrink: 0; }
.site-header .brand i { color: #719309; }
.site-footer .brand { color: white; font-size: 30px; }
.site-footer .brand i { color: var(--lime); }
.desktop-nav { gap: 24px; margin-right: auto; }
.site-header .desktop-nav a { color: var(--navy); font-size: 13px; line-height: 1.5; min-height: 44px; display: flex; align-items: center; }
.site-header .desktop-nav a:hover { color: #719309; }
.header-actions { gap: 10px; flex-shrink: 0; }
.site-header .header-actions .btn { padding: 10px 14px; font-size: 13px; min-height: 44px; }
.mapp-button-arrow {
	display: inline-block;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin-left: auto;
	background: currentColor;
	-webkit-mask: url("design/assets/lucide/chevron-right.svg") center / contain no-repeat;
	mask: url("design/assets/lucide/chevron-right.svg") center / contain no-repeat;
}
.mapp-button-icon {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	background: currentColor;
	-webkit-mask: var(--mapp-button-icon) center / contain no-repeat;
	mask: var(--mapp-button-icon) center / contain no-repeat;
}
.mapp-icon-button-user { --mapp-button-icon: url("design/assets/lucide/user.svg"); }
.mapp-icon-button-send { --mapp-button-icon: url("design/assets/lucide/send.svg"); }
.mapp-icon-button-plus { --mapp-button-icon: url("design/assets/lucide/plus.svg"); }
.site-header a.btn.dark:is(:link,:visited,:hover,:focus-visible) { background: var(--lime); color: var(--navy); }
.btn, a.btn:is(:link,:visited,:hover,:focus-visible), input[type="submit"].btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 11px 22px; border-radius: 11px; font-size: 14px;
	line-height: 1.5; font-weight: 850; text-align: center; text-decoration: none; text-shadow: none;
	background: var(--lime); color: var(--navy);
	white-space: normal; transition: transform .18s, background .18s, box-shadow .18s;
}
.btn:hover { background: var(--lime2); transform: translateY(-1px); box-shadow: 0 8px 20px #91b32220; }
.btn:active { transform: translateY(0); }
.btn.ghost, a.btn.ghost:is(:link,:visited,:hover,:focus-visible){ background: white; border-color: #8fa2b8; color: var(--navy); }
.btn.dark, a.btn.dark:is(:link,:visited,:hover,:focus-visible) { background: var(--navy); color: white; }
.btn.text { background: transparent; color: var(--blue); }
.mobile-menu { display: none; }
.section { padding-block: 76px; }
.section-head { gap: 24px; margin-bottom: 32px; }
.section-head h2, .content-hero h1 { font-size: clamp(30px,3.4vw,46px); line-height: 1.3; letter-spacing: -.045em; overflow-wrap: anywhere; }
.section-head p, .article p, .article li { color: var(--muted); font-size: 15px; }
.cards { gap: 22px; }
.card, .mapp-contact-card {
	border: 1px solid var(--line); border-radius: var(--r); background: white;
	padding: 28px; box-shadow: var(--shadow); min-width: 0;
}
.card h3 { font-size: 20px; line-height: 1.5; }
.card p, .card ul { font-size: 14px; color: var(--muted); }
.card .meta { background: #edf3fa; color: #365572; font-size: 12px; }
.card.feature { border-color: #8bab30; }
.eyebrow { color: #506c00; font-size: 12px; }
.step-note { font-size: 13px; background: #f5f8ed; border-left: 3px solid #83a520; }
.inline-link { color: var(--blue); font-size: 14px; }
.content-hero { padding-block: 52px 32px; background: var(--soft); }
.content-grid { gap: 38px; padding-block: 38px 76px; }
.content-main { min-width: 0; }
.side-nav { border-radius: 14px; padding: 10px; top: 126px; }
.side-nav a, .side-nav button { font-size: 14px; min-height: 44px; }
.article h2 { font-size: 28px; line-height: 1.4; }
.article h3 { font-size: 20px; line-height: 1.5; }
.article, .mapp-content-body, .mapp-content-item { overflow-wrap: anywhere; }
.field > span, .mapp-form-field label{ font-size: 14px; line-height: 1.5; }
.field input, .field select, .field textarea, .mapp-form-field input, .mapp-form-field select,
.mapp-form-field textarea, .search input, .search select {
	min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #8c9eb2;
	border-radius: 10px; background: white; color: var(--ink); font-size: 16px; line-height: 1.5;
}
input::placeholder, textarea::placeholder { color: #69798c; opacity: 1; }
input:focus, select:focus, textarea:focus { border-color: #2470b8; box-shadow: 0 0 0 3px #2470b81a; }
input[type="checkbox"], input[type="radio"] { min-height: 20px; width: 20px; height: 20px; accent-color: #526e00; flex-shrink: 0; }
textarea { min-height: 144px; resize: vertical; }
.field small, .check{ font-size: 13px; color: var(--muted); }
.mapp-form-error, .error-text { color: var(--red); font-size: 13px; }
.mapp-form-grid--two-column { gap: 22px; }
.mapp-form-field{ min-width: 0; }
label span.mapp-form-required { padding: 2px 7px; border-radius: 5px; background: #ffeaed; color: #bb2636; font-size: 12px; font-weight: 800; line-height: 1.4; }
.alert { padding: 16px 18px; font-size: 14px; }
.alert.error{ background: #fff0f1; color: #98192a; }
.progress { gap: 8px; }
.progress span { height: 5px; }

.compare{ width: 100%; font-size: 14px; }
.compare th, .compare td{ padding: 16px; font-size: 14px; line-height: 1.65; }
.compare th{ background: #eef3f8; color: #3f5670; font-weight: 800; }
.compare td{ overflow-wrap: anywhere; }
.compare { border-radius: 14px; }
.search { flex-wrap: wrap; gap: 12px; }
.search input, .search select { min-width: min(200px,100%); }
.mapp-news-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.mapp-news-pagination a, .mapp-news-pagination strong { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; }
.mapp-news-pagination [aria-current="page"] { background: var(--navy); color: white; }
.mapp-button.mapp-button--primary, .mapp-button[aria-current="page"]{ background: var(--navy); border-color: var(--navy); color: white; }
.mapp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	max-width: 100%;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: var(--mapp-block-radius);
	background: var(--mapp-block-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	overflow-wrap: anywhere;
}

.mapp-button:hover,
.mapp-button:focus-visible { background: #155cb5; color: #fff; }
.mapp-button--secondary { border-color: var(--mapp-block-line); background: var(--mapp-block-surface); color: var(--mapp-block-text); }
.mapp-button--secondary:hover,
.mapp-button--secondary:focus-visible { background: var(--mapp-block-soft); color: var(--mapp-block-text); }
.mapp-notice { min-width: 0; max-width: 100%; margin: 28px 0; padding: 24px; border: 1px solid #cce2fa; border-left: 4px solid #2470b8; border-radius: 12px; background: #eef6ff; color: var(--muted); font-size: 16px; line-height: 1.8; letter-spacing: normal; overflow-wrap: anywhere; }
.mapp-notice--success { border-color: #abd4bb; border-left-color: #146c43; background: #edf8f1; color: #145734; }
.mapp-notice--warning { border-color: #dbc79d; border-left-color: #976b10; background: #fff8e9; color: #75540b; }
.mapp-notice--error { border-color: #e3b7bd; border-left-color: #b42332; background: #fff0f1; color: #98192a; }
.mapp-meta-list { list-style: none; padding: 0; margin: 18px 0; }
.mapp-meta-list li { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.mapp-link-list { padding-left: 20px; }
.mapp-link-list a { display: inline-block; padding: 8px 0; color: var(--blue); }
.mapp-date{ font-variant-numeric: tabular-nums; }
.mapp-status.mapp-status { display: inline-block; padding: 4px 10px; border-radius: 6px; background: #edf3fa; font-size: 13px; }
.mapp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.mapp-form-field label.check span:not(.mapp-form-required) { color: var(--ink); }
.flow-card { background: var(--navy); color: white; }
.mapp-summary-card{ background: var(--navy); color: white; border-radius: 20px; }
.mapp-contact-card > h1, .mapp-contact-card > h2, .mapp-contact-card > .mapp-section-heading :is(h1,h2) { margin: 0 0 14px; color: var(--navy); font-size: 24px; line-height: 1.5; }
.mapp-contact-card > .mapp-contact-note { font-size: 16px; line-height: 1.8; }
.mapp-contact-form .mapp-form-field input, .mapp-contact-form .mapp-form-field textarea { font-size: 16px; }
.mapp-contact-form .mapp-form-field input { min-height: 50px; }
.mapp-contact-form output { display: block; margin-top: 4px; text-align: right; color: var(--muted); font-size: 13px; }
.mapp-contact-review dt, .mapp-contact-review dd { font-size: 16px; overflow-wrap: anywhere; }
.mapp-contact-review dt { color: var(--navy); }
.mapp-contact-review dd { color: var(--muted); }
.mapp-contact-actions { flex-wrap: wrap; gap: 12px; }
.mapp-contact-card .btn, .mapp-contact-card a.btn { justify-content: center; gap: 16px; font-size: 16px; }
.mapp-contact-card .btn > .mapp-button-arrow { margin-left: 0; mask-image: url("design/assets/arrow-right.svg"); }
.mapp-contact-actions > .btn { flex: 1; }
.mapp-contact-actions > .btn.full { flex-basis: 100%; }
.mapp-contact-complete > .mapp-contact-complete-id { max-width: none; padding: 20px; border: 0; background: var(--soft); font-size: 24px; font-weight: 800; }
.contact-grid > * { min-width: 0; align-self: start; }
.contact-grid:not(:has(> aside)) { grid-template-columns: minmax(0, 1fr); max-width: 900px; margin-inline: auto; }
.contact-grid > aside { gap: 18px; }
.contact-grid > aside > .card { padding: 20px; border-radius: 14px; }
.contact-grid > aside > .card:first-child { background: radial-gradient(circle at 100% 0, #bfeccb80, transparent 55%), linear-gradient(135deg, #eff9f8, #e7f4ff); }
.contact-grid > aside h3 { margin: 12px 0 10px; color: var(--navy); font-size: 20px; }
.contact-grid > aside p { font-size: 14px; line-height: 1.8; }
.contact-grid > aside .btn { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 16px; white-space: normal; }
.contact-grid > aside .mapp-notice { margin: 18px 0 0; padding: 14px; gap: 12px; }
.contact-grid > aside .mapp-notice strong { font-size: 15px; }
.contact-grid > aside .mapp-notice p { font-size: 12px; }
.status-card { width: 100%; padding: 12px; gap: 10px; margin-bottom: 8px; border-color: #e4eef7; text-align: left; text-decoration: none; color: var(--navy); }
.status-card > span:nth-child(2) { flex: 1; min-width: 0; }
.status-card strong { font-size: 14px; line-height: 1.5; }
.status-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }

.policy-accordion p { font-size: 14px; }
.mapp-content-dialog { border: 1px solid var(--line); border-radius: 20px; }
.mapp-content-dialog-body { padding: 26px; }
dialog.mapp-content-dialog:not([open]) { display: none; }
dialog.mapp-content-dialog::backdrop { background: #04142db0; }
.check input { width: 20px; }
.mapp-content-item { min-width: 0; padding: 28px; border-color: #edf3f8; font-size: 16px; box-shadow: 0 8px 28px #17365d08; }
.mapp-content-item h3 { margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid #e8eff6; color: var(--navy); font-size: 24px; line-height: 1.5; }
.mapp-content-item .mapp-content-text { font-size: 16px; color: var(--muted); }
.site-footer { padding-block: 54px 38px; background: #031126; color: #b9c9dc; }
.footer-grid { gap: 32px; }
.footer-grid h3 { font-size: 14px; }
.footer-grid a, .footer-grid button, .site-footer p, .mapp-copyright { font-size: 13px; color: #b9c9dc; }
.footer-grid a, .footer-grid button { min-height: 36px; }
/* トップだけ暗色ヒーロー。本文とフォームの正規構造は変更しない。 */
.mapp-home-hero { background: white; }
.mapp-home-hero .hero {
	background: #061a38;
}
.mapp-home-hero .hero:after { display: none; }
.hero .hero-grid { max-width: 1540px; min-height: 360px; grid-template-columns: minmax(0,1fr); gap: clamp(50px,12vw,200px); padding-block: 48px 72px; }
.hero h1 { font-size: clamp(46px,5.5vw,82px); line-height: 1.08; letter-spacing: -.065em; }
.hero p { font-size: 18px; color: #d1dfed; }
.hero .mapp-hero-eyebrow { color: var(--lime); }
.hero-note { color: #c0d0e1; font-size: 13px; }
.hero a.btn.ghost:is(:link,:visited,:hover,:focus-visible), .hero .btn.ghost { background: #061a38b3; color: white; border-color: #89a0b8; } .hero .flow-card {
	padding: 28px; border: 1px solid #657d96; border-radius: 22px; background: #08223fe8;
	color: white; box-shadow: 0 22px 60px #0003; backdrop-filter: blur(12px);
} .field input:focus-visible, .mapp-form-field :is(input,select,textarea):focus-visible { outline: 3px solid #2470b8; outline-offset: 3px; }
:is(.field,.mapp-form-field) :is(input,select,textarea)[readonly] { background: #edf1f5; border-style: dashed; color: #46576b; }
:is(.field,.mapp-form-field) :is(input,select,textarea):disabled { background: #e3e9ef; color: #53657b; cursor: not-allowed; }
:is(.field,.mapp-form-field) :is(input,select,textarea)[aria-invalid="true"]{ border: 2px solid #b42332; box-shadow: 0 0 0 1px #b423321a; }
.trust-strip { max-width: 1484px; width: calc(100% - 56px); padding: 8px; gap: 0; margin-bottom: -30px; border-radius: 24px; border-color: #3b5571; background: #071f3d; box-shadow: 0 18px 48px #061a3824; transform: translateY(-36px); }
.trust { position: relative; isolation: isolate; overflow: hidden; padding: 26px 20px 26px 76px; min-height: 138px; border: 1px solid #3b5571 !important; border-radius: 17px; background: #08213d; color: white; }
.trust b { font-size: 15px; line-height: 1.6; }
.trust small { display: block; margin-top: 5px; color: #bdcde0; font-size: 13px; } .mapp-card-icon { display: inline-grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: #eef4f8; color: #496079; }
.mapp-card-icon { vertical-align: middle; border: 0; pointer-events: none; } .mapp-card-icon:before { content: ""; width: 22px; height: 22px; background: currentColor; mask: var(--mapp-icon) center / contain no-repeat; }
.mapp-icon-shield-check { --mapp-icon: url("design/assets/lucide/shield-check.svg"); }
.mapp-icon-chart-no-axes-combined { --mapp-icon: url("design/assets/lucide/chart-no-axes-combined.svg"); }
.mapp-icon-landmark { --mapp-icon: url("design/assets/lucide/landmark.svg"); }
.mapp-icon-globe { --mapp-icon: url("design/assets/lucide/globe.svg"); }
.trust .mapp-card-icon { position: absolute; left: 20px; top: calc(50% - 21px); }
.trust-strip:before { content: ""; position: absolute; left: 7%; right: 7%; top: 50%; height: 1px; background: #80bbc466; pointer-events: none; }
body.LC_Page_Index .mapp-home-hero .trust-strip:before { display: none; }
body.LC_Page_Index .mapp-home-hero .trust-strip .trust:before { content: ""; position: absolute; left: 76px; right: 20px; top: calc(75% - 48px); height: 96px; z-index: 0; pointer-events: none; opacity: 0; clip-path: inset(0 100% 0 0); background: url("data:image/svg+xml,%3Csvg xmlns=%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox=%220 0 320 80%22 preserveAspectRatio=%22none%22%3E%3Cpolyline points=%220%2C40 80%2C40 100%2C30 120%2C40 148%2C40 160%2C8 172%2C40 200%2C40 320%2C40%22 fill=%22none%22 stroke=%22%23b7e52b%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%2F%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat; }
body.LC_Page_Index .mapp-home-hero .trust-strip .trust > .mapp-card-icon { z-index: 1; }
body.LC_Page_Index .mapp-home-hero .trust-strip .trust > b, body.LC_Page_Index .mapp-home-hero .trust-strip .trust > small { position: relative; z-index: 1; }
.mapp-design-light { position: absolute; left: 0; top: 50%; z-index: 3; width: 6px; height: 6px; border-radius: 50%; background: #e5ffd4; box-shadow: 0 0 12px var(--lime); pointer-events: none; opacity: 0; transition: transform .9s ease, opacity .15s; }
.home-process { padding-top: 72px; padding-bottom: 76px; }
.home-process .card { display: grid; grid-template-columns: 44px minmax(0,1fr); align-content: start; position: relative; overflow: hidden; min-height: 270px; padding: 30px; background: white; box-shadow: var(--shadow); }
.home-process .card .meta { display: inline-block; width: auto; margin-bottom: 24px; font-size: 28px; line-height: 1; background: transparent; color: #587800; }
.home-process .mapp-card-icon { margin-bottom: 12px; }
.home-process .card .mapp-card-icon + .meta { justify-self: end; line-height: 44px; padding: 0; margin-bottom: 12px; }
.home-process .card > :is(h3,p) { grid-column: 1 / -1; }
.home-process .card h3 { font-size: 21px; }
.home-process .card p { font-size: 14px; }
.home-process .step-note { margin-top: 18px; font-size: 13px; }
.home-cta { background: #061a38; border-radius: 24px; padding: 48px; }
.home-cta h2 { font-size: clamp(28px,3vw,40px); line-height: 1.4; }
.home-cta p { font-size: 15px; }
/* 一枚ずつの発光。通常時は静止し、移動はtransformだけで行う。 */
.mapp-design-card:after { content: ""; position: absolute; inset: -20% 0; width: 40%; z-index: 2; pointer-events: none; opacity: 0; background: linear-gradient(105deg,transparent,#55d8ff18,#ffffffa6,#b7e52b35,transparent); transform: translateX(-140%) skewX(-12deg); }
.mapp-design-card.mapp-design-playing:after { animation: mapp-design-shine .9s ease-out 1 both; }
.mapp-design-card.mapp-design-paused:after { animation-play-state: paused; }
body.LC_Page_Index .mapp-home-hero .trust-strip .trust.mapp-design-card.mapp-design-playing:before { animation: mapp-design-trace 1.2s ease-out 1 both; }
body.LC_Page_Index .mapp-home-hero .trust-strip .trust.mapp-design-card.mapp-design-playing:after { animation-duration: 1.2s; }
body.LC_Page_Index .mapp-home-hero .trust-strip .trust.mapp-design-card.mapp-design-playing.mapp-design-loop-wait:before, body.LC_Page_Index .mapp-home-hero .trust-strip .trust.mapp-design-card.mapp-design-playing.mapp-design-loop-wait:after { animation-delay: 1.2s; }
body.LC_Page_Index .mapp-home-hero .trust-strip .trust.mapp-design-card.mapp-design-paused:before { animation-play-state: paused; }
@keyframes mapp-design-shine {
	0% { opacity: 0; transform: translateX(-140%) skewX(-12deg); }
	18% { opacity: .7; }
	80% { opacity: .7; }
	100% { opacity: 0; transform: translateX(370%) skewX(-12deg); }
}
@keyframes mapp-design-trace { 0% { opacity: .22; clip-path: inset(0 100% 0 0); filter: none; } 50% { opacity: .68; clip-path: inset(0 50% 0 0); filter: drop-shadow(0 0 .6px #f4ffd8) drop-shadow(0 0 2px #b7e52b); } 100% { opacity: 0; clip-path: inset(0); filter: none; } }
#undercolumn_error, #errorBox { max-width: 740px; margin: 40px auto; padding: 30px 24px; border: 1px solid var(--line); border-radius: 18px; background: white; }
.message_area { margin-bottom: 24px; font-size: 16px; }
.mapp-error-page { min-height: 100vh; display: grid; place-items: center; padding: 48px 20px; background: var(--soft); }
#undercolumn_error.mapp-error-card, #errorBox.mapp-error-card { width: min(100%, 740px); max-width: none; margin: 0 !important; padding: clamp(32px, 7vw, 64px) clamp(24px, 7vw, 72px); text-align: center; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); box-shadow: var(--shadow); }
.mapp-error-brand { display: inline-block; margin-bottom: 28px; color: #f60; font-size: 30px; font-weight: 900; letter-spacing: -.055em; }
.mapp-error-brand i { color: #7da600; font-style: normal; }
.mapp-error-card h1 { display: flex; align-items: center; justify-content: center; gap: .35em; margin: 0 0 12px; color: var(--navy); font-size: clamp(25px, 4vw, 34px); line-height: 1.35; }
.mapp-error-title-icon { display: inline-block; width: 1em; height: 1em; flex: 0 0 1em; background: var(--red); -webkit-mask: url("design/assets/lucide/alert-triangle.svg") center / contain no-repeat; mask: url("design/assets/lucide/alert-triangle.svg") center / contain no-repeat; }
.mapp-error-card .error { margin: 0; color: var(--muted); font-size: 16px; white-space: pre-line; }
.mapp-error-actions { margin-top: 30px; }
@media (max-width: 600px) { .mapp-error-page { padding: 24px 14px; } .mapp-error-card { padding: 32px 20px; } }
.footer_navi { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 18px; }
@media (max-width: 1180px) {
	.site-header { gap: 16px; }
	.desktop-nav { display: none; }
	.mobile-menu { display: inline-flex; }
	.site-header .desktop-nav[data-open="true"] { display: flex; position: absolute; top: 100%; left: 0; right: 0; padding: 20px 28px; background: white; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; flex-direction: column; align-items: stretch; }
	.hero .hero-grid { gap: 36px; grid-template-columns: minmax(0,1fr) minmax(340px,.8fr); }
	.hero h1 { font-size: clamp(44px,5.5vw,66px); }
	.trust-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.trust-strip:before, .mapp-design-light { display: none; }
}
@media (max-width: 900px) {
	.hero .hero-grid { grid-template-columns: 1fr; padding-top: 38px; padding-bottom: 90px; min-height: 0; }
	.hero .flow-card { width: 100%; max-width: 580px; }
	.hero h1 { font-size: clamp(44px,7.5vw,66px); }
	.content-grid { grid-template-columns: 1fr; gap: 26px; }
	.side-nav { position: static; }
	.section-head { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
	:root { --r: 16px; }
	html { scroll-padding-top: 160px; }
	.wrap { padding-inline: 18px; }
	.site-header { min-height: 0; padding: 10px 18px; gap: 8px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; }
	.site-header .brand { font-size: 27px; grid-column: 1; grid-row: 1; }
	.header-actions { display: contents; }
	.header-actions .mobile-menu { grid-column: 3; grid-row: 1; min-height: 44px; padding: 8px 10px; font-size: 13px; }
	.site-header .header-actions > a.btn { grid-column: 1 / -1; grid-row: 2; min-height: 44px; white-space: normal; }
	.site-header .header-actions > a.btn.ghost { display: flex; grid-column: 1; font-size: 13px; }
	.site-header .header-actions > a.btn.ghost + a.btn { grid-column: 2 / -1; }
	.header-actions > .btn:not(.text):not(.ghost) { font-size: 13px; white-space: normal; }
	.hero .hero-grid { gap: 32px; padding-block: 34px 74px; }
	.hero h1 { font-size: clamp(38px,10.8vw,54px); line-height: 1.13; letter-spacing: -.065em; }
	.hero p { font-size: 16px; }
	.hero-note { font-size: 13px; }
	.hero .flow-card { padding: 22px 18px; backdrop-filter: none; box-shadow: none; background: #08223ff5; }
	.mapp-home-hero .hero { background-position: 61% top; background-size: auto 680px; background-repeat: no-repeat; background-image: linear-gradient(#061a3866,#061a3822); }
	.trust-strip { width: calc(100% - 28px); grid-template-columns: 1fr; margin-inline: auto; transform: translateY(-28px); }
	.trust { min-height: 116px; padding-block: 20px; }
	.section, .home-process { padding-block: 52px; }
	.section-head h2 { font-size: 30px; line-height: 1.4; }
	.card, .mapp-contact-card, .mapp-content-item, .home-process .card { padding: 24px 20px; min-height: 0; }
	.home-process .card .meta { margin-bottom: 18px; }
	.home-cta { padding: 30px 24px; }
	.compare { display: block; overflow-x: auto; white-space: normal; }
	.compare th, .compare td { min-width: 130px; }
	.compare th, .compare td{ padding: 12px; font-size: 13px; }
	.mapp-contact-review { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.mapp-design-card:after { inset: 0 -20%; width: 140%; height: 40%; background: linear-gradient(180deg,transparent,#55d8ff18,#ffffffa6,#b7e52b35,transparent); }
	@keyframes mapp-design-shine {
		0% { opacity: 0; transform: translateY(-140%); }
		18%,80% { opacity: .6; }
		100% { opacity: 0; transform: translateY(370%); }
	}
}
/* フッター共通の上部戻り。スクロール時に控えめに現れ、安全領域を避けて固定する。 */
.mapp-back-to-top { position: fixed; right: 20px; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); z-index: 40; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid #7690ac; border-radius: 50%; background: #0b2947; color: #e6eff7; font-size: 25px; line-height: 1; cursor: pointer; box-shadow: 0 4px 16px #061a3826; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .2s, transform .2s, visibility .2s; }
.mapp-back-to-top[hidden] { display: none; }
.mapp-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.mapp-back-to-top:hover { background: #173c60; transform: translateY(-2px); }
.mapp-back-to-top:focus-visible { outline: 3px solid #88d5f0; outline-offset: 3px; }
@media (max-width: 760px) { .mapp-back-to-top { right: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); width: 40px; height: 40px; } .mapp-back-to-top svg { width: 20px; height: 20px; } }
@media (prefers-reduced-motion: reduce) {
	.mapp-design-card:after, .mapp-design-light{ display: none !important; animation: none !important; }
	body.LC_Page_Index .mapp-home-hero .trust-strip .trust:before { animation: none !important; opacity: .34 !important; clip-path: none !important; transform: none !important; }
	*, *:before, *:after { scroll-behavior: auto !important; transition: none !important; }
}

/* 共通外枠と移動可能なブロック。配置件数によるカラム判定は変更しない。 */
#container.layout-2column{width:min(1180px,calc(100% - 40px));margin:32px auto;gap:24px}
.mapp-public-page { min-height: calc(100vh - 190px); }
.mapp-public-page > .content-hero {
	position: relative;
	display: flex;
	align-items: flex-start;
	min-height: 224px;
	padding: 28px 24px;
	border-radius: 14px;
	background: linear-gradient(110deg, #eef6fd, #f1f8ff);
	overflow: hidden;
}
.mapp-public-page > .content-hero > .wrap { position: relative; z-index: 1; margin: 0; }
.mapp-public-page > .content-hero h1 { margin: 8px 0 16px; font-size: clamp(30px,4.2vw,50px); line-height: 1.2; font-weight: 900; }
.mapp-public-page > .content-hero p { margin: 0; font-size: 16px; line-height: 1.8; }
#container.layout-2column .mapp-public-page > .content-hero,
#container.layout-2column .mapp-public-page > .pagehead { background: linear-gradient(110deg, #dcecf9, #e8f2fb); }
.mapp-public-page > .content-hero > svg {
	position: absolute;
	right: 48px;
	top: 50%;
	width: 160px;
	height: 160px;
	transform: translateY(-50%);
	color: #a2c9e9;
	opacity: .5;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}
.mapp-public-page > .content-hero + .wrap { padding-top: 28px; }
#container.layout-2column .mapp-public-page,
#container.layout-2column .mapp-public-page > .wrap { background: var(--mist); }
#container.layout-2column .mapp-public-page > .wrap { padding: 28px 0 64px; }
#container.layout-2column .contact-grid:not(:has(> aside)) { max-width: none; margin-inline: 0; }
.mapp-public-page > .wrap > .article { padding: 0; }
.mapp-card-icon:has(> svg)::before{ content: none; }
.mapp-card-icon > svg{ display: block; width: 22px; height: 22px; }
.mapp-section-heading { flex-wrap: wrap; }
.mapp-notice h3, .mapp-notice p { margin: 0; }
.mapp-notice h3 { color: var(--navy); font-size: 20px; line-height: 1.5; }
.mapp-notice p { font-size: 14px; line-height: 1.8; }
.mapp-notice b, .mapp-notice strong { color: var(--navy); font-size: 18px; }
.mapp-notice p + p, .mapp-notice h3 + p { margin-top: 8px; }
.steps { gap: 18px; }
.steps .step {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	min-height: 142px;
	padding: 24px 28px 24px 88px;
	border-color: #d8e6f4;
	background: var(--white);
	box-shadow: var(--shadow);
	letter-spacing: normal;
}
.step::before { top: 24px; width: 40px; height: 40px; font-size: 20px; }
.step:not(:last-child)::after { content: ""; position: absolute; left: 40px; top: 72px; bottom: -18px; border-left: 2px dotted #a2c4eb; }
.steps .mapp-card-icon { justify-self: center; }
.step > div { display: flex; flex-direction: column; justify-content: center; min-height: 92px; padding-left: 28px; border-left: 1px solid #d6e4f3; }
.step h3 { margin: 0; color: var(--navy); font-size: 24px; line-height: 1.4; }
.step p { margin: 8px 0 0; font-size: 16px; line-height: 1.6; }
.mapp-service-card { gap: 16px; border-color: #d8e6f4; border-radius: 14px; }
.mapp-service-card h3 { color: var(--navy); font-size: 24px; }
.card h3 a:is(:link,:visited) { color: inherit; text-decoration: none; }
.mapp-service-card p { font-size: 17px; line-height: 1.6; }
.mapp-service-card .inline-link { display: flex; align-items: center; justify-content: flex-start; gap: 14px; padding-top: 20px; border-top: 1px solid #deebf7; color: #008be7; font-size: 18px; text-decoration: none; }
.mapp-service-card .inline-link .mapp-button-arrow { width: 20px; height: 20px; margin: 0; border: 0; transform: none; background: currentColor; mask: url("design/assets/arrow-right.svg") center / contain no-repeat; }
.compare { margin: 0; border-collapse: separate; border-spacing: 0; border: 0; padding: 14px; }
.compare th, .compare td { padding: 18px; border-color: #deebf7; font-size: 16px; }
.compare th { padding-block: 14px; background: #eff6fc; }
.compare th:first-child { border-radius: 10px 0 0 0; }
.compare th:last-child { border-radius: 0 10px 0 0; }
.compare td b { color: var(--navy); }
.compare td { color: var(--muted); }
.compare td > .mapp-card-icon { margin-right: 12px; }
.compare td:has(> .mapp-card-icon) { white-space: nowrap; }
.search > .field { flex: 1 1 180px; margin: 0; }
.search > .field label { display: block; font-weight: 800; margin-bottom: 7px; }
.search { align-items: end; margin: 0; }
.search input, .search select { min-height: 56px; font-size: 18px; }
.search input[type="search"] { padding-left: 52px; background: white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23637287' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m15 15 6 6'/%3E%3C/svg%3E") 18px center / 24px 24px no-repeat; }
.search > .btn { min-width: 116px; min-height: 56px; font-size: 18px; }
.policy-accordion { display: grid; gap: 20px; border: 0; }
.policy-accordion details { padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: var(--shadow); }
.policy-accordion summary { display: flex; align-items: center; gap: 16px; min-height: 60px; padding: 18px 24px; color: var(--navy); font-size: 20px; list-style: none; }
.policy-accordion summary::-webkit-details-marker { display: none; }
.policy-accordion summary::before { content: ""; flex: 0 0 14px; height: 14px; background: #1264b2; clip-path: polygon(25% 0,100% 50%,25% 100%); }
.policy-accordion details[open] summary { background: #eff6fd; border-radius: 13px; }
.policy-accordion details[open] summary::before { transform: rotate(90deg); }
.policy-accordion details > :not(summary) { margin: 0; padding: 24px 40px; }
@media (max-width: 600px) {
	.mapp-public-page > .content-hero { min-height: 256px; padding: 24px 20px; }
	.mapp-public-page > .content-hero > svg { right: 16px; }
	.mapp-public-page > .content-hero h1 { font-size: 30px; }
	.mapp-notice { padding: 20px 16px; }
	.caution-note { padding: 22px 20px 22px 76px; }
	.caution-note h3:before { left: 18px; top: 24px; }
	.caution-note h3, .step h3, .policy-accordion summary { font-size: 20px; }
	.compare th, .compare td { padding: 14px 12px; font-size: 14px; }
	.policy-accordion summary { padding: 20px; }
	.steps .step { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 62px 16px 20px; }
	.step::before { left: 16px; top: 14px; width: 32px; height: 32px; font-size: 18px; }
	.step:not(:last-child)::after { display: none; }
	.step > div { padding-left: 12px; }
	.search > .btn { width: 100%; }
}
#container.layout-2column .wrap{width:100%;padding-left:0;padding-right:0}
#container.layout-2column #main_column .wrap{padding-left:0;padding-right:0}

.content-grid > .article{padding-left:24px;min-width:0}
#leftcolumn .side-nav{position:static;margin:0 0 24px}
#leftcolumn .hero-grid,#leftcolumn .cards,#leftcolumn .trust-strip{grid-template-columns:minmax(0,1fr)}
#container.layout-2column #leftcolumn .wrap{width:100%;padding:0 14px}
#leftcolumn .hero{padding:24px 0}
#leftcolumn .hero h1,#leftcolumn .mapp-hero-title{font-size:30px;line-height:1.35}
#leftcolumn .hero-actions,#leftcolumn .section-head,#leftcolumn .cta{flex-direction:column;align-items:stretch}
#leftcolumn .flow-card{min-width:0;width:100%;max-width:100%}
#leftcolumn .section{padding:24px 0}
.mapp-home-hero .mapp-hero-title{font-size:clamp(32px,5vw,64px);line-height:1.2}
@media(max-width:900px){#container.layout-2column{display:block;width:calc(100% - 28px)}#container.layout-2column #leftcolumn{float:none;margin-bottom:24px}}
.mapp-home-hero{min-height:0}

/* ページ内メニューは現在項目と矢印で、ヘッダーの三本線と区別する。 */
.mapp-section-menu > .mapp-section-toggle{display:none}
.mapp-section-links{display:grid;gap:inherit;min-width:0}
@media(max-width:900px){.content-grid > .article{padding-left:0}
	.mapp-section-menu{display:block;overflow:visible}
	.mapp-section-menu > .mapp-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--navy);font-size:14px;font-weight:800;text-align:left;white-space:normal;cursor:pointer}
	.mapp-section-toggle::after{content:"";flex:0 0 8px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 3px 4px}
	.mapp-section-toggle[aria-expanded="true"]::after{transform:rotate(225deg);margin-top:6px}
	.mapp-section-toggle[aria-expanded="false"] + .mapp-section-links{display:none}
	.mapp-section-toggle[aria-expanded="true"] + .mapp-section-links{margin-top:10px}
	.mapp-section-links a,.mapp-section-links .side-nav-title{width:100%;white-space:normal;overflow-wrap:anywhere}
	.header-actions .mobile-menu{align-items:center;justify-content:center;min-width:44px;min-height:44px}
}
.mapp-section-heading h2 { overflow-wrap: anywhere; }
.mapp-icon-mail { --mapp-icon: url("design/assets/lucide/mail.svg"); --mapp-button-icon: url("design/assets/lucide/mail.svg"); }
.mapp-icon-lock { --mapp-icon: url("design/assets/lucide/lock.svg"); --mapp-button-icon: url("design/assets/lucide/lock.svg"); }
.mapp-icon-key { --mapp-icon: url("design/assets/lucide/key-round.svg"); }
.mapp-icon-phone { --mapp-icon: url("design/assets/lucide/phone.svg"); }
.mapp-icon-refresh { --mapp-button-icon: url("design/assets/lucide/refresh-cw.svg"); }
@media (max-width: 700px) {
}

/* お問い合わせトップはフォームと履歴を参照画像のカード構成に揃える。 */

.mapp-contact-page-intro { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.mapp-contact-mail-icon { --mapp-icon: url("design/assets/lucide/mail.svg"); }
.mapp-contact-actions svg { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mapp-contact-complete-id { margin: 0; color: var(--navy); line-height: 1.5; }
.mapp-icon-file-text { --mapp-icon: url("design/assets/lucide/file-text.svg"); }

.mapp-modal { display: none; }
.mapp-modal.is-open { display: block; }

/* Canvasの静的外観は共通CSS、描画寸法・表示状態はJSが管理する。 */
.mapp-hero-portal { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; visibility: hidden; }

/* WSC本文の段落間隔・価格の改行と確認明細の行揃え。共通外枠には適用しない。 */
body.mapp-business .wsc-sales-copy > :is(p,ul,table,.mapp-actions){margin:20px 0 0}
body.mapp-business .wsc-sales-copy .wsc-price{white-space:nowrap;font-size:28px;color:var(--navy)}
body.mapp-business .wsc-order-details :is(dt,dd){margin:0}
body.mapp-business .wsc-sales-copy > .wsc-feature-list{padding:0;list-style:none}
body.mapp-business .wsc-feature-list > li + li{margin-top:24px}
body.mapp-business .wsc-feature-list > li > strong{display:block;margin-bottom:8px;color:var(--navy);font-size:18px}
body.mapp-business :is(#sales-view,#application-view) h1.bp-section-title{padding-left:0}
body.mapp-business :is(#sales-view,#application-view) h1.bp-section-title::before{content:none}
body.mapp-business #sales-view h1.bp-section-title > img{border-radius:22%;vertical-align:middle}
body.mapp-business .wsc-pricing .mapp-actions{justify-content:center;margin-top:12px}
body.mapp-business .wsc-renewal-notice{text-decoration:underline;text-underline-offset:3px}
body.mapp-business .wsc-document-note{text-align:right}
body.mapp-business .wsc-detail-table :is(th,td){border-radius:0}
body.mapp-business .wsc-pricing td > p + p{margin-top:6px}
body.mapp-business .wsc-detail-table > :first-child > tr:first-child > :is(th,td){border-top:1px solid var(--line)}
body.mapp-business .wsc-detail-table > tbody > tr:last-child > :is(th,td){border-bottom:1px solid var(--line)}
body.mapp-business #document-content .wsc-field-table tr > :first-child{white-space:nowrap}

/* WSCガイドの説明用図解と画面キャプチャ。共通カード・外枠は上書きしない。 */
body.mapp-business .wsc-guide .wg-gallery{display:flex;gap:14px;align-items:flex-start;justify-content:center;min-width:0}
body.mapp-business .wsc-guide .wg-gallery.wg-wide{display:block}
body.mapp-business .wsc-guide .wg-gallery.wg-wide figure{max-width:100%}
body.mapp-business .wsc-guide figure{margin:0;min-width:0;flex:1}
body.mapp-business .wsc-guide figure a{display:block}
body.mapp-business .wsc-guide figure img{display:block;max-width:100%;height:auto;border:1px solid #d8e2ee;border-radius:9px;cursor:zoom-in;background:white}
body.mapp-business .wsc-guide .wg-gallery:not(.wg-wide) img{max-height:400px;width:auto;margin:auto}
body.mapp-business .wsc-guide figcaption{font-size:12px;line-height:1.7;color:#52677b;margin-top:9px}
body.mapp-business .wsc-guide .wg-more .wg-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px}
body.mapp-business .wsc-guide .wg-more .wg-gallery img{max-height:340px;max-width:100%;width:auto}
body.mapp-business .wsc-guide .wg-more .wg-gallery.wg-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
body.mapp-business .wsc-guide .wg-clean-frame{display:inline-block;max-width:100%;border:1px solid #d8e2ee;border-radius:9px;overflow:hidden;line-height:0}
body.mapp-business .wsc-guide .wg-clean-frame img{border:0;border-radius:0;clip-path:inset(2px round 10px)}
body.mapp-business .wsc-guide .wg-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;row-gap:9px}
body.mapp-business .wsc-guide .wg-gallery.wg-wide,body.mapp-business .wsc-guide .wg-gallery:has(>figure:only-child){display:grid;grid-template-columns:1fr}
body.mapp-business .wsc-guide .wg-gallery figure{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:9px}
body.mapp-business .wsc-guide .wg-gallery figure a{grid-row:2;display:flex;align-items:flex-start;justify-content:center;align-self:start}
body.mapp-business .wsc-guide .wg-gallery figcaption{grid-row:1;margin:0;text-align:center}
body.mapp-business .wsc-guide .wg-gallery:not(:has(figcaption)),body.mapp-business .wsc-guide .wg-gallery:not(:has(figcaption)) figure{row-gap:0}
body.mapp-business .wsc-guide .wg-call-frame{border-radius:6% / 6.8%}
body.mapp-business .wsc-guide .wg-call-frame img{clip-path:inset(1px round 6% / 6.8%)}
body.mapp-business .wsc-guide .wg-padded-screen{padding:14px}
body.mapp-business .wsc-guide .wg-more .wg-gallery img.wg-phone-capture{max-height:480px}
@media(max-width:700px){body.mapp-business .wsc-guide .wg-gallery:not(.wg-wide) img{max-height:360px}
body.mapp-business .wsc-guide .wg-more .wg-gallery,body.mapp-business .wsc-guide .wg-more .wg-gallery.wg-wide{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body.mapp-business .wsc-guide figcaption{font-size:11px}
}
@media(max-width:420px){body.mapp-business .wsc-guide .wg-more .wg-gallery{grid-template-columns:1fr}
}
@media(max-width:420px){body.mapp-business .wsc-guide .wg-more .wg-gallery.wg-wide{grid-template-columns:1fr}
}
body.mapp-business .wsc-guide .wg-install-guide{scroll-margin-top:24px}
body.mapp-business .wsc-guide .wg-install-platform{margin-top:28px}
body.mapp-business .wsc-guide .wg-install-platform>h3{font-size:23px}
body.mapp-business .wsc-guide .wg-install-platform>h3 span{font-size:14px;font-weight:400;color:#52677b;margin-left:10px}
body.mapp-business .wsc-guide .wg-install-platform>h3{margin-bottom:18px}
body.mapp-business .wsc-guide .wg-install-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
body.mapp-business .wsc-guide .wg-install-steps>li{min-width:0;background:white;border:1px solid #d8e2ee;border-radius:16px;padding:18px}
body.mapp-business .wsc-guide .wg-install-steps h4{margin:0 0 14px;font-size:16px;line-height:1.7}
body.mapp-business .wsc-guide .wg-install-steps h4 b{color:#2258ca;margin-right:8px}
body.mapp-business .wsc-guide .wg-install-steps p{font-size:14px;line-height:1.8;margin:14px 0 0}
body.mapp-business .wsc-guide .wg-install-sketch{height:196px;max-width:270px;margin:auto;overflow:hidden;position:relative;border:1px solid #d8e2ee;border-radius:12px;background:#f6f8fc;color:#17344d;font-size:12px}
body.mapp-business .wsc-guide .wg-install-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:white;border-bottom:1px solid #d8e2ee}
body.mapp-business .wsc-guide .wg-install-toolbar.wg-bottom{position:absolute;bottom:0;width:100%;border-top:1px solid #d8e2ee;border-bottom:0}
body.mapp-business .wsc-guide .wg-install-address{flex:1;min-width:0;border-radius:6px;background:#edf1f7;padding:4px 8px;color:#52677b}
body.mapp-business .wsc-guide .wg-install-highlight{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 10px;color:#164cba;background:#e9f0ff;border:2px solid #2258ca;border-radius:8px;font-weight:700}
body.mapp-business .wsc-guide .wg-install-highlight svg{width:21px;height:24px;flex-shrink:0}
body.mapp-business .wsc-guide .wg-install-menu{margin:16px 10px;padding:10px;background:white;border:1px solid #d8e2ee;border-radius:10px}
body.mapp-business .wsc-guide .wg-install-menu>span{display:block;color:#617488;padding:4px 3px 9px}
body.mapp-business .wsc-guide .wg-install-menu .wg-install-highlight{justify-content:space-between;line-height:1.5;text-align:left}
body.mapp-business .wsc-guide .wg-install-summary{display:flex;align-items:center;gap:10px;padding:18px 14px}
body.mapp-business .wsc-guide .wg-install-summary .wg-app-tile{width:40px;height:40px;flex-shrink:0}
body.mapp-business .wsc-guide .wg-install-switch{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 10px;padding:10px;background:white;border:1px solid #d8e2ee;border-radius:8px;font-size:11px}
body.mapp-business .wsc-guide .wg-install-switch i{display:block;background:#15834d;border-radius:15px;width:36px;height:22px;flex-shrink:0;position:relative}
body.mapp-business .wsc-guide .wg-install-switch i::after{content:"";position:absolute;right:3px;top:3px;width:16px;height:16px;background:white;border-radius:50%}
body.mapp-business .wsc-guide .wg-install-confirm{margin:18px 10px;background:white;border:1px solid #d8e2ee;border-radius:10px;padding:12px}
body.mapp-business .wsc-guide .wg-install-confirm>strong{font-size:13px}
body.mapp-business .wsc-guide .wg-install-confirm .wg-install-summary{padding:14px 0}
body.mapp-business .wsc-guide .wg-install-confirm .wg-install-highlight{margin-left:auto;width:max-content}
body.mapp-business .wsc-guide .wg-install-guide .wg-install-note{font-size:13px;color:#52677b;margin:14px 0}
body.mapp-business .wsc-guide .wg-install-after{padding-top:4px}
body.mapp-business .wsc-guide .wg-install-sources{font-size:12px;display:flex;gap:16px;flex-wrap:wrap}
body.mapp-business .wsc-guide .wg-install-steps h4{min-height:3.4em}
@media(max-width:900px){body.mapp-business .wsc-guide .wg-install-steps{grid-template-columns:1fr;gap:16px}
body.mapp-business .wsc-guide .wg-install-steps h4{min-height:0}
body.mapp-business .wsc-guide .wg-install-sketch{width:100%}
body.mapp-business .wsc-guide .wg-install-switch{flex-wrap:wrap}
}
body.mapp-business .wsc-guide .wg-app-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:30px 0 0}
body.mapp-business .wsc-guide .wg-app-flow>li{position:relative;min-width:0;padding:22px;background:#fff;border:1px solid #d8e2ee;border-radius:16px}
body.mapp-business .wsc-guide .wg-app-flow>li:not(:last-child)::after{content:"→";position:absolute;right:-23px;top:94px;color:#2258ca;font-size:24px}
body.mapp-business .wsc-guide .wg-app-flow h3{font-size:19px;margin:18px 0 9px}
body.mapp-business .wsc-guide .wg-app-flow h3 span{color:#2258ca;margin-right:8px}
body.mapp-business .wsc-guide .wg-app-flow p{font-size:14px;line-height:1.8}
body.mapp-business .wsc-guide .wg-app-sketch{height:150px;max-width:250px;margin:auto;position:relative;border:1px solid #d8e2ee;border-radius:12px;background:#f6f8fc;overflow:hidden}
body.mapp-business .wsc-guide .wg-sketch-bar{height:30px;border-bottom:1px solid #d8e2ee;background:white;display:flex;align-items:center;gap:5px;padding:0 10px}
body.mapp-business .wsc-guide .wg-sketch-bar i{width:5px;height:5px;border-radius:50%;background:#aabbd2}
body.mapp-business .wsc-guide .wg-sketch-bar span{font-size:10px;margin-left:8px;color:#52677b}
body.mapp-business .wsc-guide .wg-sketch-bubble{height:19px;margin:15px 16px 0;width:58%;background:#dce8ff;border-radius:9px}
body.mapp-business .wsc-guide .wg-sketch-bubble:nth-child(3){margin-left:auto;margin-right:16px;background:#bcd2fb;width:48%}
body.mapp-business .wsc-guide .wg-sketch-bubble:nth-child(4){width:40%}
body.mapp-business .wsc-guide .wg-home-sketch{display:grid;grid-template-columns:repeat(3,44px);grid-auto-rows:44px;gap:13px;align-content:center;justify-content:center;background:linear-gradient(145deg,#edf3ff,#dae5fb)}
body.mapp-business .wsc-guide .wg-home-sketch i{background:#ffffffa8;border:1px solid #dce5f4;border-radius:12px}
body.mapp-business .wsc-guide .wg-app-tile{display:grid;place-items:center;background:#2258ca;color:white;font-size:13px;font-weight:800;border-radius:12px;position:relative;box-shadow:0 5px 14px #2258ca25}
body.mapp-business .wsc-guide .wg-app-tile b{position:absolute;right:-7px;top:-7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 4px;border-radius:12px;background:#d43d56;border:2px solid white;font-size:11px}
body.mapp-business .wsc-guide .wg-notify-sketch{padding:19px 13px}
body.mapp-business .wsc-guide .wg-notice-sketch{display:flex;gap:10px;align-items:center;background:white;border:1px solid #d8e2ee;padding:12px;border-radius:12px;box-shadow:0 6px 14px #17344d0d}
body.mapp-business .wsc-guide .wg-notice-sketch .wg-app-tile{width:38px;height:38px;flex-shrink:0;font-size:10px}
body.mapp-business .wsc-guide .wg-notice-sketch strong,body.mapp-business .wsc-guide .wg-notice-sketch small{display:block;font-size:11px;line-height:1.7}
body.mapp-business .wsc-guide .wg-notice-sketch small{font-size:10px;color:#52677b}
body.mapp-business .wsc-guide .wg-sketch-caption{text-align:center;font-size:10px;color:#617488;margin-top:14px}
@media(max-width:900px){body.mapp-business .wsc-guide .wg-app-flow{gap:20px}
body.mapp-business .wsc-guide .wg-app-flow>li{padding:16px}
body.mapp-business .wsc-guide .wg-app-flow>li:not(:last-child)::after{right:-18px;font-size:20px}
body.mapp-business .wsc-guide .wg-app-flow h3{font-size:17px}
}
@media(max-width:900px){body.mapp-business .wsc-guide .wg-app-flow{grid-template-columns:1fr;gap:28px}
body.mapp-business .wsc-guide .wg-app-flow>li:not(:last-child)::after{content:"↓";right:calc(50% - 8px);top:auto;bottom:-29px}
body.mapp-business .wsc-guide .wg-app-flow h3{font-size:19px}
body.mapp-business .wsc-guide .wg-app-sketch{width:100%}
}

body.mapp-business .wsc-guide .wg-feature-main{display:grid;gap:24px}
body.mapp-business .wsc-guide .wg-hero-art{margin-top:24px}
body.mapp-business .wsc-guide .wg-hero-art img{max-height:440px;width:auto;padding:14px;margin:auto}
body.mapp-business .wsc-guide .wg-more{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
body.mapp-business .wsc-guide summary{cursor:pointer;font-weight:700;color:var(--blue)}
body.mapp-business .wsc-guide .wg-more>p{margin-top:18px}
body.mapp-business .wsc-guide .wg-points{margin-top:20px}
body.mapp-business .wsc-guide .wg-gallery{margin-top:20px}
body.mapp-business .wsc-guide .wg-app-flow{margin-top:24px}
body.mapp-business .wsc-guide .wg-install-sketch p{margin:0}
body.mapp-business .wsc-guide .mapp-content-dialog-body>span{display:block;width:max-content;max-width:none}
body.mapp-business .wsc-guide .mapp-content-dialog-body img{display:block;max-width:none;height:auto;border:1px solid var(--line);border-radius:9px;background:white}
body.mapp-business .wsc-guide .mapp-content-dialog-body .wg-clean-frame img{border:0;border-radius:0}

@media(max-width:420px){body.mapp-business .wsc-guide .wg-feature-main>.wg-gallery:not(.wg-wide){grid-template-columns:1fr}}

body.mapp-business .wg-product-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
body.mapp-business .wg-product-link{font-size:22px;font-weight:700;white-space:nowrap;padding:24px 12px}
@media(max-width:767px){body.mapp-business .wg-product-summary{grid-template-columns:1fr;gap:16px}body.mapp-business .wg-product-link{padding:12px 0;font-size:20px}}

body.mapp-business .wg-purchase-banner{color:#fff;position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:4px;box-shadow:0 4px 16px #061a3826}
body.mapp-business .wg-purchase-banner small{font-size:12px}

body.mapp-business #application-form > .mapp-actions{justify-content:center}

body.mapp-business .wsc-guide .wg-hero-features{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px;align-items:center;margin-top:24px}
body.mapp-business .wsc-guide .wg-hero-features > nav{grid-template-columns:1fr;margin:0}
body.mapp-business .wsc-guide .wg-hero-features > .wg-hero-art{margin:0;min-width:0}
@media(max-width:767px){body.mapp-business .wsc-guide .wg-hero-features{grid-template-columns:1fr}}

/* 追従リンクの専用領域を空け、本文・画像への重なりを防ぐ。 */
body.mapp-business .wsc-guide:has(~ .wg-purchase-banner){padding-right:160px}
@media(max-width:767px){
	body.mapp-business .wsc-guide:has(~ .wg-purchase-banner){padding-right:0;padding-bottom:88px}
	body.mapp-business .wg-purchase-banner{left:max(12px,env(safe-area-inset-left));right:max(60px,env(safe-area-inset-right));top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:none;padding:14px 16px;flex-direction:row;justify-content:center;align-items:center;gap:12px}
	body.mapp-business .wg-purchase-banner > span{font-size:14px}
	body.mapp-business .wg-purchase-banner.is-scroll-managed{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 140ms ease-out,visibility 0s 140ms}
	body.mapp-business .wg-purchase-banner.is-scroll-managed.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 600ms ease-in-out,visibility 0s}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){
	body.mapp-business .wg-purchase-banner.is-scroll-managed,body.mapp-business .wg-purchase-banner.is-scroll-managed.is-visible{transition:none}
}

/* TOPのタッチ操作用の泡。入力・スクロールを遮らない装飾レイヤー。 */
.mapp-mobile-bubbles{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden}
.mapp-mobile-bubble{position:absolute;display:block;background:url("img/mobile-water-bubble.png") center/contain no-repeat}
@media print,(prefers-reduced-motion:reduce){.mapp-mobile-bubbles{display:none}}
