@charset "UTF-8";

:root {
--navy:#19853c;
--blue:#49b46c;
--light-blue:#fbfbf3;
--red:#c62828;
--red-bg:#fff2f2;
--orange:#ed6c02;
--text:#222;
--muted:#667085;
--line:#d9dee7;
--bg:#f5f7fa;
--white:#fff;
--radius:14px;
--shadow:0 6px 24px rgba(24,63,115,.08);
}

* { box-sizing:border-box; }

img, object, embed, video {
width: 100%;
margin: auto;
}

.sp{
display:none;
}

html { scroll-behavior:smooth; }

body {
margin:0;
color:var(--text);
font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
line-height:1.75;
}

button, input, select { font:inherit; }

a { color:var(--blue); }

.site-header {
background:var(--white);
border-bottom:1px solid var(--line);
}

.site-header__inner,
.page {
width:min(100% - 32px, 960px);
margin:auto;
}

.site-header__inner {
min-height:60px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
}

.logo {
width: 300px;
}

.help-link {
font-size:.9rem;
font-weight:700;
text-decoration: none;
}

a.help-link {
color:#49b46c !important;
}

.page {
padding:36px 0 80px;
}

.hero {
text-align:center;
margin-bottom:28px;
}

.hero__eyebrow {
margin:0 0 6px;
color:#49b46c;
font-weight:700;
font-size:.9rem;
}

h1 {
margin:0;
font-size:clamp(1.8rem,5vw,3rem);
line-height:1.25;
}

.hero__lead {
margin:14px auto 0;
max-width:860px;
}

.steps {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:8px;
margin:28px 0;
padding:0;
list-style:none;
}

.steps li {
padding:10px 8px;
border-radius:999px;
background:#F0F0F0;
color:#AEAEAE;
text-align:center;
font-size:.85rem;
font-weight:700;
}

.steps li.is-current {
background:#f6ad3c;
color:var(--white);
}

.critical {
margin-bottom:20px;
padding:20px;
border:3px solid var(--red);
border-radius:var(--radius);
background:var(--red-bg);
box-shadow:var(--shadow);
}

.critical__title {
margin:0 0 12px;
color:var(--red);
font-size:1.25rem;
display:flex;
align-items:center;
gap:8px;
}

.critical__title::before {
content:"!";
width:30px;
height:30px;
display:grid;
place-items:center;
border-radius:50%;
color:#fff;
background:var(--red);
line-height:1;
font-weight:900;
flex:none;
}

.critical ul {
margin:0;
padding-left:1.35em;
}

.critical li + li { margin-top:8px; }

.critical strong { color:var(--red); }

.card {
margin-top:20px;
padding:24px;
border:1px solid var(--line);
border-radius:var(--radius);
background:var(--white);
box-shadow:var(--shadow);
}

.card__title {
margin:0 0 6px;
color:var(--navy);
font-size:1.35rem;
}

.card__lead {
margin:0 0 20px;
color:var(--muted);
}

details {
border:1px solid var(--line);
border-radius:10px;
overflow:hidden;
background:var(--white);
}

details + details { margin-top:10px; }

summary {
cursor:pointer;
padding:15px 18px;
color:var(--navy);
background:#f3fbf6;
font-weight:700;
list-style:none;
}

summary::-webkit-details-marker { display:none; }

summary::after {
content:"+";
float:right;
font-size:1.25rem;
}

details[open] summary::after { content:"−"; }

.details-body {
padding:8px 18px 18px;
}

.details-body ol {
margin:8px 0 0;
padding-left:1.4em;
}

.details-body li + li { margin-top:10px; }

.details-alert {
color:var(--red);
font-weight:700;
}

.consent-box {
display:flex;
align-items:flex-start;
gap:12px;
margin-top:18px;
padding:16px;
border:2px solid var(--navy);
border-radius:10px;
background:var(--light-blue);
cursor:pointer;
}

.consent-box input {
width:24px;
height:24px;
margin-top:2px;
flex:none;
accent-color:var(--navy);
}

.section-heading {
display:flex;
align-items:center;
gap:10px;
margin:0 0 20px;
color:var(--navy);
font-size:1.35rem;
}

.section-heading span {
display:grid;
place-items:center;
width:32px;
height:32px;
color:#fff;
background:var(--navy);
border-radius:50%;
font-size:.9rem;
flex:none;
}

.form-grid {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px;
}

.field {
min-width:0;
}

.field--full { grid-column:1 / -1; }

.field-group {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
}

.field-group--three {
grid-template-columns:1.4fr .8fr .8fr;
}

label,
.label {
display:block;
margin-bottom:7px;
font-weight:700;
}

.required,
.optional {
display:inline-block;
margin-left:7px;
padding:2px 7px;
border-radius:4px;
font-size:.72rem;
line-height:1.4;
vertical-align:middle;
}

.required {
color:#fff;
background:var(--red);
}

.optional {
color:#475467;
background:#e9edf3;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select {
width:100%;
min-height:50px;
padding:11px 13px;
border:1px solid #aeb7c4;
border-radius:8px;
background:#fff;
}

input:focus,
select:focus {
outline:3px solid rgba(46,110,181,.18);
border-color:var(--blue);
}

.hint {
margin:6px 0 0;
color:var(--muted);
font-size:.85rem;
}

.warning {
margin:8px 0 0;
color:var(--red);
font-size:.9rem;
font-weight:700;
}

.route-preview {
margin-top:14px;
padding:16px;
border-radius:10px;
background:#f3fbf6;
border:1px solid var(--line);
}

.route-preview__title {
margin:0 0 8px;
font-weight:700;
color:var(--navy);
}

.route-table-wrap {
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}

.route-table {
width:100%;
min-width:640px;
border-collapse:collapse;
font-size:.9rem;
background: #FFF;
}

.route-table th,
.route-table td {
padding:10px;
border:1px solid var(--line);
vertical-align:top;
text-align:center;
vertical-align: middle;
}

.route-table th {
background:#fbf9e8;
color:var(--text);
}

.route-table th:nth-child(1){
width: 20%;
}

.route-table th:nth-child(2n){
width:26.66%
}

.route-table .is-selected {
background:#fff5f5;
border:3px solid var(--red);
}

.privacy {
padding:18px;
border-left:5px solid var(--navy);
background:#f3fbf6;
}

.privacy h3 {
margin:0 0 8px;
color:var(--navy);
}

.check-list {
display:grid;
gap:10px;
margin-top:18px;
}

.check-item {
display:flex;
align-items:flex-start;
gap:12px;
padding:14px;
border:1px solid var(--line);
border-radius:9px;
cursor:pointer;
}

.check-item input {
width:22px;
height:22px;
margin-top:2px;
flex:none;
accent-color:var(--navy);
}

.submit-area {
margin-top:28px;
text-align:center;
}

.submit-button {
width:min(100%,520px);
min-height:60px;
border:0;
border-radius:999px;
color:#fff;
background:#df2641;
font-weight:700;
font-size:1.05rem;
cursor:pointer;
box-shadow:0 8px 20px rgba(24,63,115,.25);
transition: .5s;
}

.submit-button:hover { background:#a90019; }

.mail-note {
max-width:720px;
margin:16px auto 0;
color:#222;
font-size:.88rem;
text-align:center;
}

.mail-note strong { color:var(--red); }

.fixed-note {
display:none;
}

.btn_list{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
flex-direction: row-reverse;
margin: 40px 0 0;
padding: 0;
list-style-type: none;
}

.btn_list li{
width: 46%;
}

.submit-button2 {
width:100%;
min-height:60px;
border:0;
border-radius:999px;
color:#fff;
background:#222;
font-weight:700;
font-size:1.05rem;
cursor:pointer;
box-shadow:0 8px 20px rgba(24,63,115,.25);
transition: .5s;
}

.submit-button2:hover {
background:#444;
}

.submit-button3 {
width:100%;
min-height:60px;
border:0;
border-radius:999px;
color:#fff;
background:#df2641;
font-weight:700;
font-size:1.05rem;
cursor:pointer;
box-shadow:0 8px 20px rgba(24,63,115,.25);
transition: .5s;
}

.submit-button3:hover {
background:#a90019;
}

.no_txt{
font-size: 1.4rem;
color: #ed2717;
}

.sub_txt{
color: #19853c;
font-weight: 700;
margin: -10px 0 30px;
}

@media (max-width: 700px) {
.sp{
display:block;
}


.site-header__inner,
.page {
width:min(100% - 20px,960px);
}

.site-header__inner {
min-height:58px;
}

.site-header__inner .logo{
width: 45%;
}

.site-header__inner .help-link{
width: 50%;
text-align: right;
line-height: 1.2;
}

.page {
padding-top:24px;
}

.steps {
grid-template-columns:repeat(3,minmax(62px,1fr));
overflow-x:auto;
padding-bottom:4px;
}

.steps li {
white-space:nowrap;
font-size:.75rem;
}

.critical,
.card {
padding:18px 15px;
}

.form-grid,
.field-group,
.field-group--three {
grid-template-columns:1fr;
}

.critical {
border-width:2px;
}

.fixed-note {
display:block;
position:sticky;
top:0;
z-index:10;
margin:-30px -10px 14px;
padding:9px 12px;
color:#fff;
background:var(--red);
font-size:.78rem;
font-weight:700;
text-align:center;
}

.btn_list{
width: 80%;
margin: 40px auto 0;
padding: 0;
list-style-type: none;
}

.btn_list li{
width: 100%;
margin: 0 0 30px;
}

.btn_list li:last-child{
margin-bottom: 0;
}

.submit-button2 {
width:100%;
min-height:60px;
border:0;
border-radius:999px;
color:#fff;
background:#222;
font-weight:700;
font-size:1.05rem;
cursor:pointer;
box-shadow:0 8px 20px rgba(24,63,115,.25);
transition: .5s;
}

.submit-button2:hover {
background:#444;
}

.submit-button3 {
width:100%;
min-height:60px;
border:0;
border-radius:999px;
color:#fff;
background:#df2641;
font-weight:700;
font-size:1.05rem;
cursor:pointer;
box-shadow:0 8px 20px rgba(24,63,115,.25);
transition: .5s;
}

.submit-button3:hover {
background:#a90019;
}

.no_txt{
font-size: 1.2rem;
color: #ed2717;
}

}