@charset "UTF-8";

/* --------------------------------------------------------------------------------------------------
Google Fonts
-------------------------------------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');

.kiwi-maru-light {
font-family: "Kiwi Maru", serif;
font-weight: 300;
font-style: normal;
}

.kiwi-maru-regular {
font-family: "Kiwi Maru", serif;
font-weight: 400;
font-style: normal;
}

.kiwi-maru-medium {
font-family: "Kiwi Maru", serif;
font-weight: 500;
font-style: normal;
}


/* --------------------------------------------------------------------------------------------------
Reset
-------------------------------------------------------------------------------------------------- */

html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, code, del, dfn, em, img, ins,
small, strong, sub, sup, b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
margin: 0;
padding: 0;
}
html {
overflow-x: hidden;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote::before, blockquote::after,
q::before, q::after {
content: '';
content: none;
}
table, table th, table td {
border-collapse: collapse;
border-spacing: 0;
border: none;
}
a {
text-decoration: none;
outline: none;
}
img {
vertical-align: bottom;
}
hr {
display: none;
}
address {
font-style: normal;
}
figure {
margin: 0;
}


/* --------------------------------------------------------------------------------------------------
Default
-------------------------------------------------------------------------------------------------- */

:root {
--color_primary: #1CA0C8;
--color_secondary: #FFF56B;
--color_white: #FFF;
--color_black: #000;
--color_yellow: #FFFBBD;
--color_navy: #1D2184;
--color_link: var(--color_primary);
--body_font: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
--body_font_weight_bold: 700;
}

body {
background: var(--color_white);
font-family: var(--body_font);
font-size: 1rem;
font-weight: 400;
font-style: normal;
color: var(--color_black);
-webkit-text-size-adjust: 100%;
position: relative;
}

p {
margin-top: 1.8em;
}

:where(h2, h3, h4, h5, h6) + p, :where(h2, h3, h4, h5, h6) + ul, 
:where(h2, h3, h4, h5, h6) + ol, :where(h2, h3, h4, h5, h6) + dl, 
:where(h2, h3, h4, h5, h6) + table, :where(h2, h3, h4, h5, h6) + figure, 
:where(p, ul, ol dl, table, figure):nth-child(1) { 
margin-top: 0;
}

a {
color: var(--color_black);
text-decoration: none;
transition: all .25s ease;
}

a:hover {
opacity: .8;
}

a.text-link {
text-decoration: underline;
}

.notes {
font-size: 0.75rem;
}

.br {
display: block;
}

.br-inline {
display: inline-block;
}

.marker.bg-blue {
background: #C6E7F1;
}

.marker-yellow {
background-image: linear-gradient(var(--color_secondary), var(--color_secondary));
background-size: 0 20%;
background-position: 0 90%;
background-repeat: no-repeat;
transition: .5s;
}

.marker-yellow.active {
background-size: 100% 20%;
}

.marker-blue {
display: inline-flex;
background-image: linear-gradient(#BACCD1, #BACCD1);
background-size: 100% 25%;
background-position: 0 80%;
background-repeat: no-repeat;
}

.text-navy {
color: var(--color_navy);
}

.text-yellow {
color: var(--color_secondary);
}

img {
width: 100%;
height: auto;
vertical-align: bottom;
}

svg {
vertical-align: bottom;
}


/* --------------------------------------------------------------------------------------------------
Layout
-------------------------------------------------------------------------------------------------- */

/**
 * common
 */
 
.container, .container-lg {
width: 84.8%;
max-width: 1100px;
margin: 0 auto;
}

.container-md {
width: 90%;
max-width: 1100px;
margin: 0 auto;
}

.container-xs {
width: 84.8%;
max-width: 800px;
margin: 0 auto;
}

.section-text {
max-width: 800px;
text-align: left;
margin-right: auto;
margin-left: auto;
}

.section-md {
max-width: 850px;
margin-right: auto;
margin-left: auto;
}

.section-btn-cv {
margin-top: clamp(2.5rem, 6.25vw, 5rem);
}

.section-btn-cv p {
font-size: 1rem;
font-weight: 700;
color: var(--color_primary);
text-align: center;
margin-bottom: clamp(0.625rem, 1.0546875vw, 0.84375rem);
}

.section-btn-cv .btn-cv {
background: var(--color_primary);
border-radius: 0.625rem;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.625rem;
font-weight: 700;
color: var(--color_white);
max-width: 550px;
margin-right: auto;
margin-left: auto;
padding: 1em;
}

#global-nav li {
font-size: 1rem;
font-weight: var(--body_font_weight_bold);
}

#global-nav li a {
color: var(--color_black);
}

/**
 * main
 */

#main {
aspect-ratio: 683 / 312;
background: url("../img/mv.png") no-repeat center top / cover;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

#main .text-group {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}

#catch-copy {
display: inline-flex;
flex-direction: column;
gap: 0.45em;
font-size: clamp(1.125rem, 0.994vw + 0.892rem, 1.688rem);
text-align: center;
margin-bottom: max(0.625rem, 0.78125vw);
}

#catch-copy span {
background: var(--color_secondary);
padding: 0.125em 0.45em;
}

#headline {
background: var(--color_white);
font-size: clamp(1.75rem, 4.862vw + 0.61rem, 4.5rem);
color: var(--color_navy);
text-align: center;
padding: 0.4375em 0.5em;
}

#headline .sub {
display: block;
font-size: clamp(1rem, 1.436vw + 0.663rem, 1.813rem);
color: var(--color_black);
margin-bottom: 1.25em;
}

#main .btn-cv {
background: var(--color_link);
border: 2px solid var(--color_white);
border-radius: 0.625rem;
box-sizing: border-box;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 320px;
font-size: clamp(1.125rem, 0.884vw + 0.918rem, 1.625rem);
font-weight: 700;
color: var(--color_white);
margin-top: 5.625vw;
padding: 1em 4.25em;
}

/**
 * intro
 */

#intro {
text-align: center;
}

#intro .container {
padding: clamp(3.125rem, 6.25vw, 5rem) 0;
}

#read-copy .kiwi-maru-regular {
font-size: clamp(1.125rem, 0.663vw + 0.97rem, 1.5rem);
color: var(--color_primary);
margin-bottom: 1.875rem;
}

#read-copy .kiwi-maru-light {
font-size: clamp(1.938rem, 0.994vw + 1.704rem, 2.5rem);
line-height: 1.8;
margin-top: 0;
}

#read-copy .kiwi-maru-light small {
font-size: clamp(1.25rem, 2.21vw + 0.732rem, 2.5rem);
}

#read-copy .kiwi-maru-light .br {
line-height: 1;
}

#read-copy .kiwi-maru-light strong {
font-size: 2em;
}

#intro .bg-section {
background: var(--color_primary);
padding: 3.75rem 0 3.125rem;
position: relative;
}

#intro .bg-section::after {
background: url("../img/arrow_bottom01.svg") no-repeat center center;
content: "";
width: 44px;
height: 39px;
position: absolute;
left: 50%;
bottom: -38px;
z-index: 2;
transform: translateX(-50%);
}

#body-copy p {
font-size: clamp(1rem, 0.663vw + 0.845rem, 1.375rem);
font-weight: 700;
color: var(--color_white);
line-height: 1.8;
}

#body-copy p span {
/*display: inline-flex;*/
text-decoration-line: underline;
text-underline-offset: 0.4em;
text-decoration-style: dotted;
text-decoration-thickness: 2px;
}

#body-copy #subject {
background: url("../img/pic_intro.png") no-repeat center top / clamp(320px, 35.15625vw, 450px) auto;
margin-top: 2rem;
padding-top: calc((240 / 450) * clamp(320px, 35.15625vw, 450px));
}

#body-copy ul {
background: var(--color_white);
border-radius: 0.625rem;
max-width: 700px;
font-size: clamp(1rem, 0.442vw + 0.896rem, 1.25rem);
line-height: 2;
margin-right: auto;
margin-left: auto;
padding: 0.6875em 0.5em;
}

/**
 * about
 */

#about .container-md {
padding: clamp(4.375rem, 7.03125vw, 5.625rem) 0 clamp(2.5rem, 4.6875vw, 3.75rem);
}

#about h2 {
border: 5px solid var(--color_primary);
border-radius: 0.625rem;
box-sizing: border-box;
max-width: 900px;
font-size: clamp(1.25rem, 1.105vw + 0.991rem, 1.875rem);
font-weight: 400;
line-height: 1.6;
margin-right: auto;
margin-bottom: clamp(3.125rem, 4.6875vw, 3.75rem);
margin-left: auto;
padding: calc(1.875rem - (clamp(1.25rem, 1.105vw + 0.991rem, 1.875rem) * 0.3)) 0.5rem;
}

#about h2 .br {
font-weight: 700;
}

#about h2 .marker-yellow {
background-size: 0 40%;
background-position: 0 80%;
font-size: clamp(1.75rem, 2.431vw + 1.18rem, 3.125rem);
font-weight: 700;
}

#about h2 .marker-yellow.active {
background-size: 100% 40%;
}

#about h3 {
border: 2px solid var(--color_primary);
box-sizing: border-box;
font-size: clamp(1rem, 1.547vw + 0.637rem, 1.875rem);
color: var(--color_primary);
text-align: center;
line-height: 1.5;
margin-top: clamp(4.375rem, 6.25vw, 5rem);
margin-bottom: clamp(1.875rem, 4.6875vw, 3.75rem);
padding: calc(0.5em - 2px);
}

#about h3:nth-child(1) {
margin-top: 0;
}

#about p {
font-size: clamp(1rem, 0.663vw + 0.845rem, 1.375rem);
line-height: 1.6875;
}

#about .container-lg ul {
background: var(--color_yellow);
max-width: 800px;
font-size: clamp(1rem, 0.442vw + 0.896rem, 1.25rem);
line-height: clamp(1.5rem, 1.768vw + 1.086rem, 2.5rem);
margin-top: calc(min(2.8125vw, 3.75rem) * -1);
margin-right: auto;
margin-left: auto;
padding: calc(clamp(1.875rem, 3.125vw, 2.5rem) - ((clamp(1.5rem, 1.768vw + 1.086rem, 2.5rem) - clamp(1rem, 0.442vw + 0.896rem, 1.25rem)) / 2)) 0;
position: relative;
z-index: 1;
}

#about iframe {
aspect-ratio: 16 / 9;
width: 100%;
height: auto;
margin-top: clamp(3.75rem, 7.8125vw, 6.25rem);
}

#about .section-text p, #about .section-md p {
font-size: clamp(1rem, 0.442vw + 0.896rem, 1.25rem);
line-height: 1.8;
}

#about .figure-group {
display: flex;
flex-wrap: wrap;
gap: clamp(5rem, 7.8125vw, 6.25rem);
justify-content: space-between;
margin-top: 3.75rem;
margin-bottom: clamp(5rem, 7.8125vw, 6.25rem);
}

#about .figure {
max-width: 860px;
margin-top: clamp(2.5rem, 4.6875vw, 3.75rem);
margin-right: auto;
margin-left: auto;
}

/**
 * kenko-keiei
 */
 
#about #kenko-keiei .section-text p {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
}

/**
 * target
 */

#target {
background: #F6FAFC;
padding: clamp(3.125rem, 6.25vw, 5rem) 0 clamp(3.125rem, 7.81255vw, 6.25rem);
position: relative;
}

#target::after {
background: url("../img/arrow_bottom02.svg") no-repeat center center;
content: "";
width: 44px;
height: 39px;
position: absolute;
left: 50%;
bottom: -38px;
z-index: 2;
transform: translateX(-50%);
}

#target h2 {
font-size: clamp(0.875rem, 1.768vw + 0.461rem, 1.875rem);
font-weight: 400;
text-align: center;
line-height: 1.4;
margin-bottom: clamp(2.5rem, 6.25vw, 5rem);
}

#target h2 span {
font-size: clamp(1.5rem, 2.873vw + 0.827rem, 3.125rem);
font-weight: 700;
}

#target .target-section {
max-width: 685px;
margin-right: auto;
margin-left: auto;
}

#target .target-section dl:not(:nth-child(1)) {
margin-top: 2.5rem;
}

#target .target-section dl dt {
font-size: clamp(1.125rem, 0.442vw + 1.021rem, 1.375rem);
font-weight: 700;
color: #006888;
line-height: 1.8;
margin-bottom: 0.625em;
}

#target .target-section dl dd {
background: url("../img/icon_checkmark.svg") no-repeat left top calc((clamp(1.406rem, 1.492vw + 1.057rem, 2.25rem) - 1em) / 2) / 1em auto;
font-size: clamp(0.938rem, 0.331vw + 0.86rem, 1.125rem);
line-height: clamp(1.406rem, 1.492vw + 1.057rem, 2.25rem);
padding-left: 1.5em;
}

/**
 * support
 */

#support {
padding-bottom: clamp(3.75rem, 7.8125vw, 6.25rem);
}

#support .section-header {
position: relative;
}

#support .section-header h2 {
background: var(--color_primary);
border-radius: 0.625rem;
box-sizing: border-box;
width: 84.8%;
max-width: 650px;
font-size: clamp(0.938rem, 1.878vw + 0.497rem, 2rem);
color: var(--color_white);
text-align: center;
line-height: 1.325;
position: absolute;
padding: 1em 1.75em;
}

#support .section-header h2 small {
font-weight: 400;
}

#support .section-header h2 strong {
font-size: 1.40625em;
}

#support .support-section {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1.25rem;
margin-bottom: clamp(1.875rem, 4.6875vw, 3.75rem);
}

#support .support-section dl {
width: clamp(240px, calc((100% - 2.5rem) / 3), 318px);
}

#support .support-section dl dt {
font-size: clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem);
font-weight: 700;
color: var(--color_primary);
text-align: center;
padding-top: 6.4em;
}

#support .support-section dl#support01 dt {
background: url("../img/icon06.svg") no-repeat center top / 6em auto;
}

#support .support-section dl#support02 dt {
background: url("../img/icon07.svg") no-repeat center top / 5.7em auto;
}

#support .support-section dl#support03 dt {
background: url("../img/icon08.svg") no-repeat center top 0.6em / 5.3em auto;
}

#support .support-section dl dd {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
font-weight: 700;
text-align: center;
line-height: clamp(1.8rem, 0.796vw + 1.614rem, 2.25rem);
margin-top: 0.75em;
}

#support .support-section dl dd ul {
display: inline-block;
}

#support .support-section dl dd ul li {
text-align: left;
}

#support .support-section dl dd ul li::before {
content: "・";
}

#support .section-text p {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
line-height: 1.8;
}

/**
 * plan
 */

#plan {
background: rgba(234, 233, 228, 0.34);
padding: clamp(3.125rem, 6.25vw, 5rem) 0;
}

#plan h3 {
font-size: clamp(1.875rem, 2.21vw + 1.357rem, 3.125rem);
text-align: center;
line-height: 1.5;
margin-bottom: calc(clamp(3.125rem, 4.6875vw, 3.75rem) - (clamp(1rem, 0.442vw + 0.896rem, 1.25rem) * 0.4));
}

#plan h3 .marker-yellow {
background-size: 0 40%;
background-position: 0 100%;
}

#plan h3 .marker-yellow.active {
background-size: 100% 40%;
}

#plan .section-text p {
font-size: clamp(1rem, 0.442vw + 0.896rem, 1.25rem);
text-align: center;
line-height: 1.8;
}

#plan .plan-section {
display: flex;
flex-wrap: wrap;
gap: clamp(3.75rem, 7.8125vw, 6.25rem);
margin-top: calc(clamp(4.375rem, 6.25vw, 5rem) - (clamp(1rem, 0.442vw + 0.896rem, 1.25rem) * 0.4));
}

#plan .plan-item .plan-item-header {
margin-bottom: calc(clamp(1.25rem, 2.34375vw, 1.875rem) - (clamp(1rem, 0.442vw + 0.896rem, 1.25rem) * 0.4));
}

#plan .plan-section h4 {
font-size: clamp(1.25rem, 1.105vw + 0.991rem, 1.875rem);
line-height: 1.5;
margin-bottom: calc(1.25rem - (clamp(1rem, 0.221vw + 0.948rem, 1.125rem) * 0.4));
padding-left: 2.4em;
}

#plan #plan-item01 h4 {
background: url("../img/icon_num01.svg") no-repeat left center / 2.1em auto;
color: #036EB8;
}

#plan #plan-item01 h4 + p {
color: #036EB8;
}

#plan #plan-item02 h4 {
background: url("../img/icon_num02.svg") no-repeat left center / 2.1em auto;
color: var(--color_navy);
}

#plan #plan-item02 h4 + p {
color: var(--color_navy);
}

#plan #plan-item03 h4 {
background: url("../img/icon_num03.svg") no-repeat left center / 2.1em auto;
color: #F39800;
}

#plan #plan-item03 h4 + p {
color: #F39800;
}

#plan #plan-item04 h4 {
background: url("../img/icon_num04.svg") no-repeat left center / 2.1em auto;
color: #E9546D;
}

#plan #plan-item04 h4 + p {
color: #E9546D;
}

#plan .plan-section h4 span {
display: block;
font-size: clamp(0.75rem, 0.221vw + 0.698rem, 0.875rem);
color: var(--color_black);
}

#plan .plan-item .plan-item-header p {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
font-weight: 700;
line-height: 1.8;
}

#plan .plan-item-text {
margin-top: calc(clamp(1.5625rem, 2.34375vw, 1.875rem) - (clamp(1rem, 0.221vw + 0.948rem, 1.125rem) * 0.34375));
}

#plan .plan-item-text p {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
line-height: 1.6875;
}

#plan .plan-item-text p:not(:nth-child(1)) {
margin-top: 1.6875em;
}

#plan .plan-item-text p small {
font-size: clamp(0.938rem, 0.11vw + 0.912rem, 1rem);
}

#plan .plan-item-text ul li::before {
content: "・";
}

#plan .plan-item-text dl {
display: flex;
flex-wrap: wrap;
font-size: clamp(0.938rem, 0.11vw + 0.912rem, 1rem);
line-height: 1.6875;
}

/**
 * case
 */

#case {
padding: 5rem 0 clamp(5rem, 7.8125vw, 6.25rem);
}

#case h4 {
font-size: clamp(0.875rem, 0.221vw + 0.823rem, 1rem);
text-align: center;
line-height: 1.5;
margin-bottom: clamp(2.5rem, 6.25vw, 5rem);
}

#case h4 span {
font-size: clamp(1.75rem, 0.221vw + 1.698rem, 1.875rem);
}

#case .case-section {
text-align: center;
}

#case .case-item-header {
display: inline-flex;
flex-direction: column;
gap: clamp(3.125rem, 4.6875vw, 3.75rem);
}

#case .case-item-header dl {
border: 2px solid var(--color_primary);
background: var(--color_primary);
display: flex;
align-items: center;
position: relative;
}

#case .case-item-header dl:nth-child(1)::after {
background: url("../img/arrow_bottom03.svg") no-repeat center center;
content: "";
width: 21px;
height: 31.5px;
position: absolute;
bottom: calc(((clamp(3.125rem, 4.6875vw, 3.75rem) + 31.5px + 4px) / 2) * -1);
left: 50%;
transform: translateX(-50%);
}

#case .case-item-header dl dt {
min-width: 3.5em;
font-size: clamp(0.938rem, 0.331vw + 0.86rem, 1.125rem);
font-weight: 700;
line-height: 1.5;
color: var(--color_white);
padding: 0.375em 0.5em;
}

#case .case-item-header dl.case-item-start dt {
letter-spacing: 0.25em;
text-indent: 0.25em;
}

#case .case-item-header dl dd {
background: var(--color_white);
width: calc(100% - 3em);
font-size: clamp(0.938rem, 0.331vw + 0.86rem, 1.125rem);
text-align: left;
line-height: 1.5;
padding: 0.375em 0.75em;
}

#case .case-item-header dl dd strong {
font-size: 1.2em;
}

#case .case-item-header dl dd:has(strong) {
background: var(--color_yellow);
}

/**
 * step
 */

#step {
text-align: center;
margin-top: clamp(3.125rem, 6.25vw, 5rem);
}

#step .step-section {
display: inline-flex;
flex-direction: column;
}

#step .step-section dl {
padding-left: clamp(3.75rem, 5vw, 4rem);
}

#step .step-section dl:not(:nth-child(1)) {
border-top: 1px solid #B1D4DE;
margin-top: calc(1.875rem - (clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4));
padding-top: calc(1.875rem - (clamp(1rem, 0.221vw + 0.948rem, 1.125rem) * 0.4));
}

#step .step-section dl#step-item01 {
background: url("../img/icon_step01.svg") no-repeat left top calc(clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4) / auto clamp(3.125rem, 4.21875vw, 3.375rem);
}

#step .step-section dl#step-item02 {
background: url("../img/icon_step02.svg") no-repeat left top calc((clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4) + (1.875rem - (clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4))) / auto clamp(3.125rem, 4.21875vw, 3.375rem);
}

#step .step-section dl#step-item03 {
background: url("../img/icon_step03.svg") no-repeat left top calc((clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4) + (1.875rem - (clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4))) / auto clamp(3.125rem, 4.21875vw, 3.375rem);
}

#step .step-section dl#step-item04 {
background: url("../img/icon_step04.svg") no-repeat left top calc((clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4) + (1.875rem - (clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4))) / auto clamp(3.125rem, 4.21875vw, 3.375rem);
}

#step .step-section dl#step-item05 {
background: url("../img/icon_step05.svg") no-repeat left calc((clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4) + (1.875rem - (clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.4))) / auto clamp(3.125rem, 4.21875vw, 3.375rem);
}

#step .step-section dl dt {
font-size: clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem);
font-weight: 700;
color: var(--color_primary);
text-align: left;
line-height: 1.8;
}

#step .step-section dl dd {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
text-align: left;
line-height: 1.8;
}

/**
 * feature
 */

#feature {
background: rgba(196, 241, 255, 0.54);
padding: clamp(3.125rem, 4.6875vw, 3.75rem) 0;
}

#feature h3 {
display: flex;
flex-wrap: wrap;
align-items: baseline;
justify-content: center;
column-gap: 0.25em;
font-size: clamp(1rem, 1.326vw + 0.689rem, 1.75rem);
line-height: 1.5;
}

#feature h3 > span {
font-size: 1.4em;
}

#feature .feature-section {
background: var(--color_white);
border-radius: 0.625rem;
box-sizing: border-box;
margin-top: clamp(1.875rem, 3.90625vw, 3.125rem);
padding: clamp(1.25rem, 3.90625vw, 3.125rem);
}

#feature .feature-item-text {
display: flex;
flex-wrap: wrap;
gap: 5%;
}

#feature #miyataseikei.feature-item-text .pic-group {
width: max(35%, 300px);
/*width: 35%;*/
}

#feature #miyataseikei.feature-item-text .pic-group img:not(:nth-child(1)) {
margin-top: clamp(0.9375rem, 3.125vw, 2.5rem);
}

#feature #miyataseikei.feature-item-text .text-group {
/*width: max(60%, 300px);*/
/*width: 60%;*/
flex: 1;
}

#feature #miyataseikei.feature-item-text .text-group h4 {
font-size: clamp(1.25rem, 0.221vw + 1.198rem, 1.375rem);
color: var(--color_primary);
line-height: 1.5;
margin-top: 1.25em;
}

#feature #miyataseikei.feature-item-text .text-group h4:nth-child(1) {
margin-top: 0;
}

#feature #miyataseikei.feature-item-text .text-group p {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
line-height: 1.8;
}

#feature #message {
margin-top: 6.25rem;
}

#feature #message .message-item {
display: flex;
flex-wrap: wrap;
gap: 4%;
}

#feature #message .message-item:not(:nth-child(1)) {
margin-top: clamp(3.125rem, 6.25vw, 5rem);
}

#feature #message .message-item .pic {
width: max(20%, 160px);
/*width: 20%;*/
}

#feature #message .message-item .text-group {
/*width: max(76%, 300px);*/
/*width: 76%;*/
flex: 1;
}

#feature #message .message-item .text-group h4 {
font-size: clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem);
color: var(--color_primary);
line-height: 1.6875;
margin-top: calc((clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.34375) * -1);
margin-bottom: calc(clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.34375);
}

#feature #message .message-item .text-group h4 span:not(.br-inline) {
display: block;
font-size: clamp(0.938rem, 0.11vw + 0.912rem, 1rem);
font-weight: 400;
}

#feature #message .message-item .text-group p {
font-size: 1rem;
line-height: 1.8;
}

/**
 * flow
 */
 
#flow {
padding: clamp(4.375rem, 7.03125vw, 5.625rem) 0;
}

#flow h4 {
font-size: clamp(1.75rem, 0.221vw + 1.698rem, 1.875rem);
color: var(--color_navy);
text-align: center;
line-height: 1.5;
margin-bottom: calc(clamp(3.125rem, 4.6875vw, 3.75rem) - (clamp(1rem, 0.221vw + 0.948rem, 1.125rem) * 0.4) - (clamp(1.75rem, 0.221vw + 1.698rem, 1.875rem) * 0.25));
}

#flow .section-text {
max-width: 800px;
margin-right: auto;
margin-left: auto;
}

#flow .section-text p {
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
line-height: 1.8;
}

#flow .flow-section {
max-width: 800px;
margin-top: clamp(2.5rem, 3.90625vw, 3.125rem);
margin-right: auto;
margin-left: auto;
}

#flow .flow-section .flow-item {
padding: 0.4rem 0 1.5rem 4rem;
position: relative;
}

#flow .flow-section #flow-item01 {
background: url("../img/icon_flow01.svg") no-repeat left top / 3.125rem auto;
}

#flow .flow-section #flow-item02 {
background: url("../img/icon_flow02.svg") no-repeat left top / 3.125rem auto;
}

#flow .flow-section #flow-item03 {
background: url("../img/icon_flow03.svg") no-repeat left top / 3.125rem auto;
}

#flow .flow-section #flow-item04 {
background: url("../img/icon_flow04.svg") no-repeat left top / 3.125rem auto;
}

#flow .flow-section #flow-item05 {
background: url("../img/icon_flow05.svg") no-repeat left top / 3.125rem auto;
}

#flow .flow-section .flow-item:not(#flow-item05)::after {
background: var(--color_navy);
content: "";
width: 1px;
height: 100%;
position: absolute;
top: 1.5625rem;
left: 1.5625rem;
z-index: -1;
}

#flow .flow-section .flow-item dt {
font-size: clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem);
font-weight: 700;
color: var(--color_navy);
line-height: 1.8;
}

#flow .flow-section .flow-item dd {
font-size: 1rem;
line-height: 1.8;
}

#flow .section-btn-cv p {
color: var(--color_black);
}

/**
 * faq
 */

#faq {
background: #F8F8F6;
padding: clamp(3.75rem, 6.25vw, 5rem) 0;
}

#faq h4 {
font-size: clamp(1.75rem, 0.221vw + 1.698rem, 1.875rem);
text-align: center;
line-height: 1.5;
margin-bottom: 3.125rem;
}

#faq .faq-section {
max-width: 900px;
margin-right: auto;
margin-left: auto;
}

#faq .faq-section dt {
background: #79969F;
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
font-weight: 700;
color: var(--color_white);
line-height: 1.5;
padding: 0.6em clamp(0.9375rem, 3.90625vw, 3.125rem);
}

#faq .faq-section dd {
background: var(--color_white);
font-size: clamp(1rem, 0.221vw + 0.948rem, 1.125rem);
line-height: 1.8;
padding: 1.3em clamp(0.9375rem, 3.90625vw, 3.125rem);
}

#faq .faq-section dt:not(:nth-of-type(1)) {
margin-top: 0.625rem;
}

/**
 * cta
 */

#cta {
padding: clamp(3.125rem, 7.8125vw, 6.25rem) 0;
}

#cta h2 {
font-size: clamp(1.875rem, 2.21vw + 1.357rem, 3.125rem);
text-align: center;
line-height: 1.5;
margin-bottom: clamp(1.875rem, 7.8125vw, 6.25rem);
}

#cta h2 .marker-yellow {
background-size: 0 40%;
background-position: 0 100%;
}

#cta h2 .marker-yellow.active {
background-size: 100% 40%;
}

#cta .form-section {
text-align: center;
}

#cta .input-section {
display: inline-flex;
flex-direction: column;
gap: 1.25em;
}

#cta .input-item {
display: flex;
flex-wrap: wrap;
align-items: center;
font-size: clamp(0.875rem, 0.221vw + 0.823rem, 1rem);
line-height: 1.5;
gap: 0.5em 1em;
}

#cta .input-mail, #cta .input-tel, #cta .input-inquiry {
margin-top: 1.5em;
}

#cta .input-checkbox {
color: var(--color_primary);
margin-top: 1.5em;
}

#cta .input-item dt {
width: 13em;
font-weight: 700;
color: var(--color_primary);
text-align: right;
}

#cta .input-item dd {
flex: 1;
width: 31.25em;
text-align: left;
}

#cta .input-item dd input[type="text"], #cta .input-item dd input[type="tel"], #cta .input-item dd input[type="email"] {
appearance: none;
border: 1px solid var(--color_primary);
border-radius: 0.3125rem;
box-sizing: border-box;
width: 100%;
font-size: 1em;
outline: none;
padding: 0.75em;
}

#cta .input-item dd textarea {
appearance: none;
border: 1px solid var(--color_primary);
border-radius: 0.3125rem;
box-sizing: border-box;
width: 100% !important;
height: auto !important;
font-size: 1em;
outline: none;
padding: 0.75em;
}

#cta .input-checkbox ul {
display: flex;
flex-wrap: wrap;
align-items: baseline;
column-gap: 3em;
}

#cta .input-item dd input[type="checkbox"] {
accent-color: var(--color_primary);
margin: 0;
}

#cta label.checkbox {
cursor: pointer;
}

#cta label.checkbox span {
padding-left: 0.25em;
}

#cta .input-item label.checkbox span {
font-weight: 700;
}

#cta .policy-section {
border: 1px solid #D9D9D9;
box-sizing: border-box;
font-size: clamp(0.813rem, 0.11vw + 0.787rem, 0.875rem);
color: #3B3B3B;
text-align: left;
line-height: 1.5;
max-width: 800px;
height: 17.5em;
overflow-y: scroll;
margin: 3.75rem auto 0;
padding: 1.5em;
}

#cta .policy-section :where(h3, h4){
font-weight: 400;
}

#cta .policy-section h3 {
margin-bottom: 1.5em;
}

#cta .policy-section h4 {
margin-top: 1.5em;
}

#cta .policy-section p {
margin-top: 0
}

#cta .check-button-section {
margin-top: 3.125rem;
}

#cta .check-button-section dt {
font-size: 0.9375rem;
}

#cta .check-button-section dt input[type="checkbox"] {
accent-color: var(--color_primary);
margin: 0;
}

#cta .check-button-section dd {
margin-top: clamp(3.75rem, 6.25vw, 5rem);
}

#cta .check-button-section button {
appearance: none;
background: var(--color_primary);
border: none;
border-radius: 0.625rem;
cursor: pointer;
width: 15.5625rem;
height: 3.625rem;
font-size: 1.375rem;
font-weight: 700;
text-indent: 0.5em;
letter-spacing: 0.5em;
color: var(--color_white);
padding: 0;
}

/**
 * mfp
 */

div#mfp_hidden {
overflow: hidden;
width: 1px;
height: 1px;
padding: 0px;
margin: 0px;
}

div#mfp_hidden input {
margin: 10px;
}

div#mfp_loading, div#mfp_loading_screen, div#mfp_overlay_background, div#mfp_overlay {
display: none !important;
}

.mfp_err {
display: none;
font-size: clamp(0.813rem, 0.11vw + 0.787rem, 0.875rem);
color: #E03B5A;
margin-top: 0.75em;
}

/**
 * bnr
 */

#bnr {
text-align: center;
margin-top: clamp(7.5rem, 11.71875vw, 9.375rem)
}

#bnr img {
max-width: 600px;
}

/**
 * footer
 */

#footer {
background: rgba(196, 241, 255, 0.54);
padding: clamp(1.875rem, 6.25vw, 5rem) 0 2.5rem;
}

#footer .footer-section {
display: flex;
flex-wrap: wrap;
column-gap: 4%;
}

#footer .footer-section .pic {
width: max(38%, 320px);
}

#footer .footer-section .text-group {
flex: 1;
}

#footer .footer-section .text-group h5 {
display: flex;
flex-wrap: wrap;
align-items: baseline;
column-gap: 0.25em;
font-size: 1.875rem;
color: var(--color_primary);
line-height: 1.5;
margin-top: calc((1.875rem * 0.25) * -1);
margin-bottom: calc(1.875rem - (1rem * 0.34375) - (1.875rem * 0.25));
}

#footer .footer-section .text-group h5 span {
font-size: 0.6em;
}

#footer .footer-section .footer-main-info p {
font-size: 1rem;
line-height: 1.6875;
}

#footer .footer-section .footer-main-info p strong {
font-size: clamp(1.25rem, 0.442vw + 1.146rem, 1.5rem);
font-weight: normal;
}

#footer .footer-section .footer-main-info p span {
font-size: 1.25rem;
font-weight: bold;
}

#footer .footer-section .footer-main-info p small {
font-size: 0.875em;
}

#footer .footer-section .footer-sub-info p {
font-size: 1rem;
line-height: 1.6875;
margin-top: 1.6875em;
}

#copyright {
font-size: 0.75rem;
color: var(--color_primary);
text-align: center;
margin-top: clamp(6.75rem, 11.71875vw, 9.375rem);
}

/**
 * pagetop
 */

#pagetop {
cursor: pointer;
width: 1.875rem;
height: 1.875rem;
opacity: 0;
transition: opacity 400ms ease;
position: fixed;
bottom: clamp(0.625rem, 1.5625vw, 1.25rem);
right: clamp(0.625rem, 1.5625vw, 1.25rem);
z-index: 95;
}

#pagetop.active {
opacity: 1;
}

#pagetop img {
transition: all 0.25s ease;
}

#pagetop img:hover {
opacity: 0.8;
}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 481px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 481px) {

#target .target-section dl {
padding-left: calc(4.25rem - 6px);
}

#target .target-section dl#target01 {
background: url("../img/icon01.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target02 {
background: url("../img/icon02.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target03 {
background: url("../img/icon03.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target04 {
background: url("../img/icon04.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target05 {
background: url("../img/icon05.png") no-repeat left top / 2.25rem auto;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 601px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 601px) {

#target .target-section dl {
padding-left: 4.25rem;
}

#target .target-section dl#target01, #target .target-section dl#target02, #target .target-section dl#target03, 
#target .target-section dl#target04, #target .target-section dl#target05 {
background-size: 2.75rem auto;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 601px) and (max-width: 834px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 601px) and (max-width: 834px) {

#feature #miyataseikei.feature-item-text .pic-group {
display: flex;
/*flex-wrap: wrap;*/
width: 100%;
column-gap: clamp(0.75rem, 3.125vw, 2.5rem);
}

#feature #miyataseikei.feature-item-text .pic-group img {
width: calc((100% - clamp(0.75rem, 3.125vw, 2.5rem)) / 2);
/*flex: 1;*/
}

#feature #miyataseikei.feature-item-text .pic-group img:not(:nth-child(1)) {
margin-top: 0;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 835px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 835px) {

#about .figure-group picture {
flex: 1;
}

#support .section-header h2 {
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 900px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 900px) {

#plan .plan-section {
display: flex;
flex-wrap: wrap;
gap: clamp(3.75rem, 7.8125vw, 6.25rem);
}

#plan .plan-section .plan-item {
display: flex;
flex-direction: column;
width: calc((100% - clamp(3.75rem, 7.8125vw, 6.25rem)) / 2);
position: relative;
}

#plan .plan-section .plan-item:nth-child(1)::after, 
#plan .plan-section .plan-item:nth-child(3)::after {
border-right: 1px dashed var(--color_black);
content: "";
position: absolute;
width: 1px;
height: calc(100% + (clamp(3.75rem, 7.8125vw, 6.25rem) / 4));
right: calc((clamp(3.75rem, 7.8125vw, 6.25rem) / 2) * -1);
}

#plan .plan-section .plan-item:nth-child(1)::after {
top: 0;
}

#plan .plan-section .plan-item:nth-child(3)::after {
bottom: 0;
}

#plan .plan-section .plan-item:nth-child(3)::before, 
#plan .plan-section .plan-item:nth-child(4)::before {
border-top: 1px dashed var(--color_black);
content: "";
position: absolute;
width: calc(100% + (clamp(3.75rem, 7.8125vw, 6.25rem) / 4));
height: 1px;
top: calc((clamp(3.75rem, 7.8125vw, 6.25rem) / 2) * -1);
}

#plan .plan-section .plan-item:nth-child(3)::before {
left: 0;
}

#plan .plan-section .plan-item:nth-child(4)::before {
right: 0;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 961px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 961px) {

#support .support-section {
margin-top: calc(min(12vw, 15rem) * -1);
}

#support .support-section dl {
padding-bottom: 1.25rem;
position: relative;
z-index: 2;
}

#support .support-section dl::after {
background: #C3E7FA;
border-radius: 0.625rem;
content: "";
width: 100%;
height: 75%;
position: absolute;
left: 0;
bottom: 0;
z-index: -1;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 1195px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 1195px) {

a.tel-link {
pointer-events: none;
}

.toggle-button-wrapper, #nav-overlay {
display: none;
}

#header {
display: flex;
flex-wrap: wrap;
gap: 4.6875rem;
padding: 1.25rem;
}

#site-name {
width: auto;
height: 6.375rem;
flex-shrink: 0;
}

#nav-menu {
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
align-items: flex-end;
justify-content: center;
flex: 1;
padding-right: calc((1.125rem * 12) + 2.8125rem);
}

#main-header-menu {
text-align: center;
}

#main-header-menu #global-nav {
display: inline-flex;
flex-wrap: wrap;
justify-content: center;
gap: 2.5rem;
opacity: 1;
}

#main-header-menu.is-fixed {
width: 100%;
position: fixed;
top: -100%;
left: 50%;
transform: translateX(-50%);
transition: top .25s ease-in-out;
z-index: 50;
}

#main-header-menu.is-fixed #global-nav {
background: transparent;
padding: 0.9375rem 1.25rem;
opacity: 0;
transition: opacity .25s ease-in-out;
}

#main-header-menu.is-fixed.is-visible {
top: 0;
}

#main-header-menu.is-fixed.is-visible #global-nav {
background: var(--color_white);
opacity: 1;
}

.nav-top {
display: none;
}

#sub-header-menu {
display: flex;
flex-direction: column;
align-items: center;
position: fixed;
top: 1.25rem;
right: 1.25rem;
z-index: 50;
}

#sub-header-menu .btn-cv {
background: var(--color_link);
border: 1px solid var(--color_white);
border-radius: 0.625rem;
box-sizing: border-box;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1.125rem;
font-weight: 700;
color: var(--color_white);
padding: 1em 1.5em;
}

#sub-header-menu dl {
margin-top: 0.6875rem;
}

#sub-header-menu a:has(dl) {
color: var(--color_black);
}

#sub-header-menu dl dt {
font-size: 1rem;
font-weight: 700;
text-align: center;
}

#sub-header-menu dl dd {
font-size: 0.8125rem;
text-align: center;
margin-top: 0.375rem;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (min-width: 1281px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (min-width: 1281px) {

#catch-copy {
font-size: 2.109375vw;
}

#headline {
font-size: 5.625vw;
}

#headline .sub {
font-size: 2.265625vw;
}

#main .btn-cv {
font-size: 2.03125vw;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 1194px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 1194px) {

/**
 * hamburger(menu)
 */

.toggle-button-wrapper {
position: fixed;
top: 0.84375rem;
right: 0.84375rem;
z-index: 100;
}

.hamburger-menu {
appearance: none;
background: none;
border: none;
box-sizing: border-box;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
width: 1.75rem;
height: 1.75rem;
outline: 0;
padding: 0;
-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
pointer-events: all;
}

.hamburger-menu:hover {
cursor: pointer;
}

.hamburger-menu-icon {
position: relative;
display: block;
}

.hamburger-menu-icon, .hamburger-menu-icon::before, .hamburger-menu-icon::after {
background-color: var(--color_navy);
border-radius: 1.5px;
width: 100%;
height: 3px;
-webkit-transition: all .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
transition: all .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.hamburger-menu-icon::before, .hamburger-menu-icon::after {
width: 100%;
}

.hamburger-menu-icon::before, .hamburger-menu-icon::after {
content: "";
position: absolute;
top: -10px;
left: 0;
}

.hamburger-menu-icon::after {
top: 10px;
}

.hamburger-menu[aria-expanded="true"] .hamburger-menu-icon {
background-color: transparent;
}

.hamburger-menu[aria-expanded="true"] .hamburger-menu-icon::before,
.hamburger-menu[aria-expanded="true"] .hamburger-menu-icon::after {
top: 0;
}

.hamburger-menu[aria-expanded="true"] .hamburger-menu-icon::before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.hamburger-menu[aria-expanded="true"] .hamburger-menu-icon::after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

#header {
background: var(--color_white);
padding: 1.875rem 0 1.5625rem;
}

/**
 * hamburger(modal)
 */

#nav-overlay {
background: transparent;
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
visibility: hidden;
z-index: 10;
}

#nav-overlay.active {
visibility: visible;
}

.nav-menu-container {
background: var(--color_white);
box-sizing: border-box;
width: 100%;
height: 100%;
opacity: 0;
padding: 5.25rem 1.78125rem;
position: fixed;
top: 0;
left: 0;
z-index: 98;
/*transition: top .25s ease-in-out;*/
transition: opacity .25s, visibility .25s;
visibility: hidden;
}

.nav-menu-container[aria-hidden="false"] {
overflow-y: scroll;
opacity: 1;
visibility: visible;
/*top: 0;*/
/*transition: top .25s ease-in-out;*/
}

#site-name {
width: 14.84375rem;
margin-right: auto;
margin-left: auto;
}

#global-nav {
text-align: center;
}

#global-nav a {
display: block;
padding: 1.375rem 0;
}

#sub-header-menu {
background: var(--color_navy);
display: flex;
flex-wrap: wrap;
align-items: stretch;
width: 100%;
position: fixed;
bottom: 0;
z-index: 50;
}

#sub-header-menu a {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--color_white);
flex: 1;
padding: 0.625rem;
}

#sub-header-menu a:has(dl) {
border-left: 1px solid var(--color_white);
}

#sub-header-menu a dl {
text-align: center;
}

#sub-header-menu a dl dt {
font-size: 1rem;
}

#sub-header-menu a dl dd {
font-size: 0.6875rem;
margin-top: 0.1875rem;
}

#footer {
padding-bottom: calc(clamp(6.75rem, 11.71875vw, 9.375rem) + 3.125rem);
}

#pagetop {
bottom: calc(clamp(0.625rem, 1.5625vw, 1.25rem) + 3.125rem);
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 1024px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 1024px) {

#about .container-lg ul {
box-sizing: border-box;
width: 72%;
padding-right: 1em;
padding-left: 1em;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 960px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 960px) {

#support .support-section {
margin-top: clamp(1.875rem, 6.25vw, 3.75rem)
}

#support .support-section dl {
border-radius: 0.625rem;
background: #C3E7FA;
box-sizing: border-box;
padding: 0.625rem 1.25rem 1.25rem;
}

#support .support-section dl dd ul li {
text-indent: -1em;
padding-left: 1em;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 899px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 899px) {

#plan .plan-section {
flex-direction: column;
align-items: center;
}

#plan .plan-section .plan-item {
width: 100%;
max-width: 500px;
position: relative;
}

#plan .plan-section .plan-item:not(:nth-child(1))::before {
border-top: 1px dashed var(--color_black);
content: "";
position: absolute;
width: 100%;
height: 1px;
top: calc((clamp(3.75rem, 7.8125vw, 6.25rem) / 2) * -1);
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 834px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 834px) {

.br-inline-sp {
display: inline;
}

.section-md {
text-align: left;
}

.section-btn-cv .btn-cv {
font-size: 1.375rem;
padding: 1em 0.5em;
}

#about .container-lg ul {
width: 72%;
}

#about h3 {
padding: calc(0.6875em - 2px);
}

#about .figure-group {
flex-direction: column;
}

#about .figure-group picture {
width: 100%;
}

#about .figure-group img {
max-width: 400px;
}

#support .section-header h2 {
top: 45%;
left: 50%;
transform: translateX(-50%);
}

#plan .section-text p {
text-align: left;
}

#feature .feature-item-text {
flex-direction: column;
}

#feature #miyataseikei.feature-item-text .pic-group {
margin-bottom: clamp(1.875rem, 3.90625vw, 3.125rem);
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 834px) and (orientation: portrait)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 834px) and (orientation: portrait) {

.container-lg {
width: 100%;
max-width: inherit;
}

#main {
aspect-ratio: 3 / 4;
background: url("../img/mv_mobile.png") no-repeat center top / cover;
display: flex;
flex-direction: column;
}

#main .text-group {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
margin: auto;
}

#main .btn-cv {
margin-top: 0;
margin-bottom: 8vw;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 767px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 767px) {

#about .container-lg ul {
width: 84.8%;
/*margin-top: calc(max(28.8vw, 6.75rem) * -1);*/
}

#cta .input-section {
display: flex;
}

#cta .input-item {
flex-direction: column;
}

#cta .input-item dt {
text-align: left;
}

#cta .input-item dt, #cta .input-item dd {
width: 100%;
max-width: 500px;
}

#footer .footer-section {
flex-direction: column;
}

#footer .footer-section .pic {
width: 100%;
max-width: 425px;
margin-right: auto;
margin-bottom: clamp(1.875rem, 3.125vw, 2.5rem);
margin-left: auto;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 767px) and (orientation: portrait)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 767px) and (orientation: portrait) {

#about .container-lg ul {
margin-top: calc(max(28.8vw, 6.75rem) * -1);
}

#about .container-lg ul li:not(:nth-child(1)) {
margin-top: 0.75em;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 600px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 600px) {

#feature #miyataseikei.feature-item-text .pic-group {
width: 100%;
}

#feature #message .message-item {
flex-direction: column;
align-items: center;
}

#feature #message .message-item .pic {
margin-bottom: calc(clamp(1.25rem, 2.65625vw, 2.125rem) - (clamp(1.125rem, 0.221vw + 1.073rem, 1.25rem) * 0.34375));
}

#feature #message .message-item .text-group h4 {
text-align: center;
margin-top: 0;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (max-width: 480px)
-------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 480px) {

.br-sp {
display: block;
}

#target .target-section dl dt {
display: grid;
grid-template-columns: 2.25rem 1fr;
align-items: center;
column-gap: 1.25rem;
margin-bottom: 1em;
}

#target .target-section dl dt::before {
content: "";
width: 2.25rem;
height: 3.75rem;
}

#target .target-section dl#target01 dt::before {
background: url("../img/icon01.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target02 dt::before {
background: url("../img/icon02.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target03 dt::before {
background: url("../img/icon03.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target04 dt::before {
background: url("../img/icon04.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl#target05 dt::before {
background: url("../img/icon05.png") no-repeat left top / 2.25rem auto;
}

#target .target-section dl dd:not(:nth-of-type(1)) {
margin-top: 0.5em;
}

#support .support-section dl {
width: 100%;
}

#flow .flow-section .flow-item {
padding-left: 3.5rem;
}

#flow .flow-section #flow-item01, #flow .flow-section #flow-item02, #flow .flow-section #flow-item03, 
#flow .flow-section #flow-item04, #flow .flow-section #flow-item05 {
background-size: 2.75rem;
}

#flow .flow-section .flow-item:not(#flow-item05)::after {
top: 1.375rem;
left: 1.375rem;
}

}


/* --------------------------------------------------------------------------------------------------
Media Queries (orientation: landscape) and (min-aspect-ratio) and (max-width: 960px)
-------------------------------------------------------------------------------------------------- */

@media screen and (orientation: landscape) and (min-aspect-ratio: 16 / 9) and (max-width: 960px), 
screen and (orientation: landscape) and (min-aspect-ratio: 17 / 9) and (max-width: 960px) {

#main {
aspect-ratio: 3 / 2;
background: url("../img/mv_tablet.png") no-repeat center top / cover
}

}