@charset "UTF-8";
/* .wrapper {
	overflow: hidden;
} */
.intro {
    padding: 80px 5% 0;
    background-color: #F2F6FD;
}
.intro__inner {
    max-width: 1022px;
    margin: 0 auto;
}
.intro__message {
    padding: 0 5%;
    font-size: 20px;
    font-weight: 500;
    line-height: 32px;
    text-align: center;
}
.intro__contents {
    display: flex;
    align-items: center;
    margin-top: 60px;
    padding: 68px 55px 65px 105px;
    background-color: #fff;
    border-radius: 15px;
}
.intro__contents-visual {
    width: 352px;
    min-width: 352px;
}
.intro__contents-texts {
    width: 100%;
    padding-left: 40px;
}
.intro__contents-texts-price {
    max-width: 362px;
}
.intro__contents-text {
    margin-top: 30px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
}
.intro__contents-memo {
    margin-top: 18px;
    line-height: 1.8;
}
.intro__cta {
    max-width: 844px;
    margin: 20px auto 0;
}
.intro__cta a {
    display: block;
}
@media screen and (max-width: 767px) {
    .intro {
        padding: 50px 16px 0;
    }
    .intro__message {
        padding: 0;
        font-size: 16px;
        line-height: 1.8;
    }
    .intro__contents {
        flex-direction: column;
        margin-top: 30px;
        padding: 20px;
        background-color: #fff;
        border-radius: 15px;
    }
    .intro__contents-visual {
        width: 100%;
        min-width: 100%;
    }
    .intro__contents-texts {
        width: 100%;
        padding-left: 0;
    }
    .intro__contents-texts-price {
        max-width: 260px;
        margin-top: 30px;
    }
    .intro__contents-text {
        margin-top: 20px;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.8;
    }
    .intro__contents-memo {
        margin-top: 18px;
        line-height: 1.8;
    }
    .intro__cta {
        max-width: 280px;
        margin: 40px auto 0;
    }
}
/* -------------------------------- */
.reason {
    position: relative;
    padding: 80px 5%;
    background-color: #156DAA;
}
.curved {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 600px;
    display: block;
}
.reason__inner {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    z-index: 2;
}
.reason__visual {
    margin-top: 26px;
    padding: 0 16px;
}
@media screen and (max-width: 767px) {
    .reason {
        padding: 50px 16px;
    }
    .curved {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 320px;
        display: block;
    }
    .reason__inner {
        position: relative;
        max-width: 1200px;
        margin: 0 auto;
        z-index: 2;
    }
    .reason__visual {
        margin-top: 20px;
        padding: 0;
    }
}
/* -------------------------------- */
.support {
    padding: 80px 5% 76px;
}
.support__inner {
    max-width: 1200px;
    margin: 0 auto;
}
.support h2 {
    font-size: 45px;
    font-weight: bold;
    text-align: center;
}
.support-table {
    width: 100%;
    margin-top: 60px;
    font-size: 20px;
    border-collapse: collapse;
}
.support-table th {
    padding: 20px;
    background-color: #005bac;
    color: #fff;
    font-weight: bold;
    text-align: center;
    border: 1px solid #dfdfdf;
}
.support-table td {
    width: 100%;
    padding: 20px;
    background-color: #fff;
    font-weight: 500;
    line-height: 1.4;
    border: 1px solid #dfdfdf;
}
.support-table .section-title {
    background-color: #f2f2f2;
    text-align: left;
}
.support-table td:nth-child(2) {
    width: 302px;
    min-width: 302px;
    text-align: center;
}
.support .memo {
    margin-top: 60px;
    line-height: 1.8;
}
.support .memo ul {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 10px;
}
.support .memo ul li {
    display: flex;
    gap: 17px;
}
.support .memo ul li h3 {
    white-space: nowrap;
}
.area {
	position: relative;
    margin-top: 120px;
	padding: 20px 14px;
	border: 1px solid #034b9d;
	border-radius: 10px;
}
.area h2 {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	padding: 0 10px;
	background-color: #fff;
	color: #0351a9;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .05em;
	text-align: center;	
}
.area h3 {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .05em;
}
.area p {
	margin-top: 8px;
	font-size: 18px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", system-ui, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	letter-spacing: .05em;
	line-height: 32px;
}
@media screen and (max-width: 767px) {
    .support {
        padding: 50px 16px;
    }
    .support__inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .support h2 {
        font-size: 26px;
    }
    .support-table {
        width: 100%;
        margin-top: 30px;
        font-size: 14px;
        border-collapse: collapse;
    }
    .support-table th {
        padding: 16px;
        background-color: #005bac;
        color: #fff;
        font-weight: bold;
        text-align: center;
        border: 1px solid #dfdfdf;
    }
    .support-table td {
        width: 100%;
        padding: 16px;
        background-color: #fff;
        font-weight: 500;
        line-height: 1.4;
        border: 1px solid #dfdfdf;
    }
    .support-table .section-title {
        background-color: #f2f2f2;
        text-align: left;
    }
    .support-table td:nth-child(2) {
        width: 150px;
        min-width: 150px;
        text-align: center;
    }
    .support .memo {
        margin-top: 30px;
        font-size: 14px;
        line-height: 1.8;
    }
    .support .memo ul {
        display: flex;
        flex-direction: column;
        gap: 3px;
        margin-top: 10px;
    }
    .support .memo ul li {
        display: flex;
        gap: 17px;
    }
    .support .memo ul li h3 {
        white-space: nowrap;
    }
    .area {
        position: relative;
        margin-top: 80px;
        padding: 50px 14px 14px;
        border: 1px solid #034b9d;
        border-radius: 10px;
    }
    .area h2 {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 290px;
        padding: 0 10px;
        background-color: #fff;
        color: #0351a9;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: .05em;
        text-align: center;	
    }
    .area h3 {
        font-size: 16px;
        font-weight: 700;
        letter-spacing: .05em;
    }
    .area p {
        margin-top: 8px;
        font-size: 16px;
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", system-ui, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
        letter-spacing: .05em;
        line-height: 1.8;
    }
}