/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		vertical-align: baseline;
}

body {
		line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
}

ul {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: '';
		content: none;
}

a {
		margin: 0;
		padding: 0;
		vertical-align: baseline;
		background: transparent;
}

ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
}

mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #cccccc;
		margin: 1em 0;
		padding: 0;
}

input, select {
		vertical-align: middle;
}

html {
		width: 100%;
		height: 100%;
}

* {
		box-sizing: border-box;
		outline: none;
}

body {
		width: 100%;
		height: 100%;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 100%;
		color: #251A17;
		background-color: #E3F3FC;
}

a {
		color: #1A75C1;
}

.indent {
		padding-left: 1em;
		text-indent: -1em;
}

b {
		font-weight: bold;
}

.pc {
		display: block;
}

.sp {
		display: none;
}

.br-pc {
		display: block;
}

.br-sp {
		display: none;
}

sup {
		font-size: 90%;
		vertical-align: top;
		position: relative;
		top: -0.1em;
}

#wrapper {
		max-width: 1920px;
		width: 100%;
		background-color: #E3F3FC;
		margin: 0 auto;
}

#wrapper .inner {
		max-width: 960px;
		width: 100%;
		margin: 0 auto;
}

#wrapper .kv {
		background-image: url(../img/kv.png);
		width: 100%;
		height: 1090px;
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		position: relative;
}

#wrapper .kv .logo {
		position: absolute;
		top: 11px;
		left: 17px;
}

#wrapper .kv .logo img {
		max-width: 96px;
}

#wrapper .cp_info {
		margin: 0 auto;
		text-align: center;
}

#wrapper .s1 {
		background-image: url(../img/section_bg.svg);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: top center;
		width: 100%;
		padding-bottom: 60px;
}

#wrapper .s1 .ttl {
		padding-top: 134px;
		margin: 0 auto;
		text-align: center;
}

#wrapper .s1 .s1_bx01 {
		width: 978px;
		height: 382px;
		position: relative;
		margin-left: -18px;
}

#wrapper .s1 .s1_bx01 .bg {
		position: absolute;
		top: 0;
		left: 0;
}

#wrapper .s1 .s1_bx01 .bg img {
		max-width: 100%;
}

#wrapper .s1 .s1_bx01 p {
		text-align: center;
		font-size: 16px;
		font-weight: 300;
		line-height: 1.7;
		position: absolute;
		top: 277px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		white-space: nowrap;
}

#wrapper .s1 .s1_bx {
		margin: 13px 0 0 -18px;
}

#wrapper .s1 .s1_bx img {
		max-width: 100%;
}

#wrapper .s2 {
		background-image: url(../img/section_bg.svg);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: top center;
		width: 100%;
}

#wrapper .s2 .ttl {
		padding-top: 134px;
		margin: 0 auto;
		text-align: center;
}

#wrapper .s2 .step_flex {
		width: 100%;
		margin: 20px auto 0;
		display: flex;
		flex-wrap: wrap;
}

#wrapper .s2 .step_flex .step_bx01 {
		background-image: url(../img/s2_step01_base.svg);
		width: 960px;
		height: 215px;
		background-repeat: no-repeat;
		background-size: contain;
		display: flex;
		align-items: center;
		justify-content: center;
}

#wrapper .s2 .step_flex .step_bx02 {
		background-image: url(../img/s2_step02_base.svg);
		width: 960px;
		height: 215px;
		background-repeat: no-repeat;
		background-size: contain;
		display: flex;
		align-items: center;
		justify-content: center;
}

#wrapper .s2 .step_flex .step_bx03 {
		background-image: url(../img/s2_step03_base.svg);
		width: 960px;
		height: 215px;
		background-repeat: no-repeat;
		background-size: contain;
		display: flex;
		align-items: center;
		justify-content: center;
}

#wrapper .s2 .step_flex .arrow {
		margin: 15px auto;
		text-align: center;
}

#wrapper .s2 .step_flex ul {
		display: flex;
		align-items: center;
		margin: 0 50px 0 170px;
		width: 740px;
}

#wrapper .s2 .step_flex ul li:first-child {
		flex-basis: 150px;
}

#wrapper .s2 .step_flex ul li:last-child {
		flex-basis: 590px;
}

#wrapper .s2 .step_flex ul li:last-child h5 {
		font-size: 26px;
		font-weight: 700;
		margin: 0 0 20px;
}

#wrapper .s2 .step_flex ul li:last-child p {
		font-size: 16px;
		line-height: 1.9;
}

#wrapper .s2 .s2_btn {
		margin: 30px auto 35px;
		text-align: center;
}

#wrapper .s2 .s2_btn img {
		max-width: 424px;
}

#wrapper .s3 {
		background-image: url(../img/section_bg.svg);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: top center;
		width: 100%;
		padding-bottom: 90px;
}

#wrapper .s3 .ttl {
		padding-top: 134px;
		margin: 0 auto;
		text-align: center;
}

#wrapper .s3 .s3_bx {
		background-color: #fff;
		width: 100%;
		margin: 25px auto 0;
		padding: 55px 200px;
}

#wrapper .s3 .s3_bx .s3_btn {
		margin: 45px auto 0;
		text-align: center;
}

#wrapper .s4 {
		background-image: url(../img/section_bg.svg);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: top center;
		width: 100%;
}

#wrapper .s4 .ttl {
		padding-top: 134px;
		margin: 0 auto;
		text-align: center;
}

#wrapper .s4 .s4_bx {
		background-color: #fff;
		width: 100%;
		margin: 25px auto 0;
		padding: 50px;
}

#wrapper .s4 .s4_bx .s4_ttl {
		margin: 0 auto 40px;
		text-align: center;
}

#wrapper .s4 .s4_bx p {
		font-size: 16px;
		line-height: 1.9;
}

#wrapper .s5 {
		background-image: url(../img/section_bg.svg);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: top center;
		width: 100%;
}

#wrapper .s5 .ttl {
		padding-top: 134px;
		margin: 0 auto;
		text-align: center;
}

#wrapper .s5 .s5_bx {
		background-color: #fff;
		width: 100%;
		padding: 30px 0;
		margin: 25px auto 0;
}

#wrapper .s5 .s5_bx .s5_bx_inner {
		overflow-y: scroll;
		padding: 20px 50px;
		height: 436px;
		width: 100%;
}

#wrapper .s5 .s5_bx .s5_bx_inner p {
		font-size: 16px;
		line-height: 1.9;
}

#wrapper .s5 .s2_btn {
		margin: 30px auto 35px;
		text-align: center;
}

#wrapper .s5 .s2_btn img {
		max-width: 424px;
}

#wrapper .s6 {
		background-image: url(../img/s6_bg.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: top center;
		width: 100%;
		height: 993px;
		padding-top: 60px;
}

#wrapper .s6 img {
		max-width: 100%;
		margin-bottom: 15px;
}

#wrapper .s6 p {
		font-size: 14px;
		line-height: 1.8;
		color: #251A17;
}

#wrapper footer {
		background-image: url(../img/footer_bg.svg);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: bottom center;
		width: 100%;
		text-align: center;
}

#wrapper footer .inner {
		position: relative;
}

#wrapper footer .inner .pagetop {
		position: absolute;
		bottom: -150px;
		right: 0;
}

#wrapper footer h5 {
		font-size: 26px;
		font-weight: 900;
		line-height: 1;
		margin: 95px auto 20px;
}

#wrapper footer h2 {
		font-size: 36px;
		font-weight: 900;
		line-height: 1;
		padding-bottom: 30px;
		margin-bottom: 30px;
		border-bottom: 1px solid #707070;
}

#wrapper footer h3 {
		font-size: 30px;
		font-weight: 400;
		line-height: 1;
		margin: 0 auto 30px;
}

#wrapper footer p {
		font-size: 16px;
		line-height: 1.9;
		margin: 0 auto 130px;
}

#wrapper footer span {
		display: block;
		font-size: 14px;
		font-weight: 400;
		color: #fff;
		line-height: 1;
		text-align: center;
		padding-bottom: 15px;
}

@media (max-width: 780px) {
		body {
				width: 100%;
				height: 100vh;
		}
		img {
				max-width: 100%;
		}
		.pc {
				display: none;
		}
		.sp {
				display: block;
		}
		.br-sp {
				display: block;
		}
		.br-pc {
				display: none;
		}
		#wrapper {
				max-width: 100%;
				width: 100%;
				background-color: #E3F3FC;
				margin: 0 auto;
		}
		#wrapper .inner {
				max-width: 90vw;
				width: 100%;
				margin: 0 auto;
		}
		#wrapper .kv {
				background-image: url(../img/kv-s.png);
				width: 100%;
				height: 176.41025vw;
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center;
				position: relative;
		}
		#wrapper .kv .logo {
				position: absolute;
				top: 3vw;
				left: 3vw;
		}
		#wrapper .kv .logo img {
				max-width: 12.3vw;
		}
		#wrapper .cp_info {
				margin: 4vw auto;
				text-align: center;
		}
		#wrapper .cp_info img {
				max-width: 75.12vw;
		}
		#wrapper .s1 {
				background-image: url(../img/section_bg-s.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: top center;
				width: 100%;
				padding-bottom: 10vw;
		}
		#wrapper .s1 .ttl {
				padding-top: 19.35vw;
				margin: 0 auto 2vw;
				text-align: center;
		}
		#wrapper .s1 .ttl img {
				max-width: 41.92vw;
		}
		#wrapper .s1 .s1_bx01 {
				width: 90vw;
				height: 90vw;
				position: relative;
				margin-left: 0;
		}
		#wrapper .s1 .s1_bx01 .bg {
				position: absolute;
				top: 0;
				left: 0;
		}
		#wrapper .s1 .s1_bx01 .bg img {
				max-width: 100%;
		}
		#wrapper .s1 .s1_bx01 p {
				text-align: left;
				font-size: 2.69231vw;
				font-weight: 300;
				line-height: 1.7;
				position: absolute;
				top: 70vw;
				left: 4vw;
				right: 4vw;
				transform: none;
				-webkit-transform: none;
				-ms-transform: none;
				white-space: wrap;
		}
		#wrapper .s1 .s1_bx {
				margin: 2vw auto 0;
		}
		#wrapper .s1 .s1_bx img {
				max-width: 100%;
		}
		#wrapper .s2 {
				background-image: url(../img/section_bg-s.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: top center;
				width: 100%;
		}
		#wrapper .s2 .ttl {
				padding-top: 19.35vw;
				margin: 0 auto 2vw;
				text-align: center;
		}
		#wrapper .s2 .ttl img {
				max-width: 28.20vw;
		}
		#wrapper .s2 .step_flex {
				width: 100%;
				margin: 0 auto 0;
				display: flex;
				flex-wrap: wrap;
		}
		#wrapper .s2 .step_flex .step_bx01 {
				background-image: url(../img/s2_step01_base-s.svg);
				width: 90vw;
				height: 76.282vw;
				background-repeat: no-repeat;
				background-size: contain;
				display: flex;
				align-items: center;
				justify-content: center;
		}
		#wrapper .s2 .step_flex .step_bx02 {
				background-image: url(../img/s2_step02_base-s.svg);
				width: 90vw;
				height: 96.410vw;
				background-repeat: no-repeat;
				background-size: contain;
				display: flex;
				align-items: center;
				justify-content: center;
		}
		#wrapper .s2 .step_flex .step_bx03 {
				background-image: url(../img/s2_step03_base-s.svg);
				width: 90vw;
				height: 76.282vw;
				background-repeat: no-repeat;
				background-size: contain;
				display: flex;
				align-items: center;
				justify-content: center;
		}
		#wrapper .s2 .step_flex .arrow {
				margin: 3vw auto;
				text-align: center;
		}
		#wrapper .s2 .step_flex .arrow img {
				max-width: 10vw;
		}
		#wrapper .s2 .step_flex ul {
				display: flex;
				align-items: center;
				justify-content: center;
				flex-wrap: wrap;
				margin: 0 auto;
				width: 80vw;
		}
		#wrapper .s2 .step_flex ul li:first-child {
				flex-basis: 100%;
				text-align: center;
		}
		#wrapper .s2 .step_flex ul li:last-child {
				flex-basis: 100%;
				text-align: center;
		}
		#wrapper .s2 .step_flex ul li:last-child h5 {
				font-size: 5.38462vw;
				font-weight: 700;
				line-height: 1.4;
				margin: 4vw auto;
		}
		#wrapper .s2 .step_flex ul li:last-child p {
				font-size: 3.07692vw;
				line-height: 1.7;
				text-align: left;
		}
		#wrapper .s2 .s2_btn {
				margin: 7vw auto 8vw;
				text-align: center;
		}
		#wrapper .s2 .s2_btn img {
				max-width: 80vw;
		}
		#wrapper .s3 {
				background-image: url(../img/section_bg-s.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: top center;
				width: 100%;
				padding-bottom: 15vw;
		}
		#wrapper .s3 .ttl {
				padding-top: 19.35vw;
				margin: 0 auto 2vw;
				text-align: center;
		}
		#wrapper .s3 .ttl img {
				max-width: 27.692vw;
		}
		#wrapper .s3 .s3_bx {
				background-color: #fff;
				width: 100%;
				margin: 2vw auto 0;
				padding: 8vw 5vw;
		}
		#wrapper .s3 .s3_bx .s3_btn {
				margin: 5vw auto 0;
				text-align: center;
		}
		#wrapper .s4 {
				background-image: url(../img/section_bg-s.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: top center;
				width: 100%;
				padding-bottom: 10vw;
		}
		#wrapper .s4 .ttl {
				padding-top: 19.35vw;
				margin: 0 auto 2vw;
				text-align: center;
		}
		#wrapper .s4 .ttl img {
				max-width: 35.8974vw;
		}
		#wrapper .s4 .s4_bx {
				background-color: #fff;
				width: 100%;
				margin: 2vw auto 0;
				padding: 10vw 5vw;
		}
		#wrapper .s4 .s4_bx .s4_ttl {
				margin: 0 auto 6vw;
				text-align: center;
		}
		#wrapper .s4 .s4_bx .s4_ttl img {
				max-width: 59vw;
		}
		#wrapper .s4 .s4_bx p {
				font-size: 3.33333vw;
				line-height: 1.9;
		}
		#wrapper .s5 {
				background-image: url(../img/section_bg-s.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: top center;
				width: 100%;
		}
		#wrapper .s5 .ttl {
				padding-top: 19.35vw;
				margin: 0 auto 2vw;
				text-align: center;
		}
		#wrapper .s5 .ttl img {
				max-width: 27.948vw;
		}
		#wrapper .s5 .s5_bx {
				background-color: #fff;
				width: 100%;
				padding: 2vw 0;
				margin: 2vw auto 0;
		}
		#wrapper .s5 .s5_bx .s5_bx_inner {
				overflow-y: scroll;
				padding: 5vw;
				height: 90vw;
				width: 100%;
		}
		#wrapper .s5 .s5_bx .s5_bx_inner p {
				font-size: 3.33333vw;
				line-height: 1.8;
				word-wrap: break-word;
		}
		#wrapper .s5 .s2_btn {
				margin: 4vw auto 15vw;
				text-align: center;
		}
		#wrapper .s5 .s2_btn img {
				max-width: 80vw;
		}
		#wrapper .s6 {
				background-image: url(../img/s6_bg-s.jpg);
				background-repeat: no-repeat;
				background-size: cover;
				background-position: top center;
				width: 100%;
				height: 182.948vw;
				padding-top: 10vw;
		}
		#wrapper .s6 .inner {
				width: 100vw;
				max-width: 100vw;
		}
		#wrapper .s6 img {
				max-width: 100%;
				margin-bottom: 2vw;
		}
		#wrapper .s6 p {
				font-size: 2.5641vw;
				line-height: 1.8;
				color: #251A17;
				width: 90vw;
				margin: 0 auto;
		}
		#wrapper footer {
				background-image: url(../img/footer_bg-s.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: bottom center;
				width: 100%;
				text-align: center;
		}
		#wrapper footer .inner {
				position: relative;
		}
		#wrapper footer .inner .pagetop {
				position: absolute;
				bottom: -30vw;
				right: 0;
		}
		#wrapper footer h5 {
				font-size: 4.87179vw;
				font-weight: 900;
				line-height: 1;
				margin: 10vw auto 3vw;
		}
		#wrapper footer h2 {
				font-size: 5.89744vw;
				font-weight: 900;
				line-height: 1.4;
				padding-bottom: 5vw;
				margin-bottom: 5vw;
				border-bottom: 1px solid #707070;
		}
		#wrapper footer h3 {
				font-size: 3.84615vw;
				font-weight: 400;
				line-height: 1;
				margin: 0 auto 2vw;
		}
		#wrapper footer p {
				font-size: 3.33333vw;
				line-height: 1.8;
				margin: 0 auto 30vw;
		}
		#wrapper footer span {
				display: block;
				font-size: 2.30769vw;
				font-weight: 400;
				color: #fff;
				line-height: 1;
				text-align: center;
				padding-bottom: 2.5vw;
		}
}
