/*
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=Inter:wght@500&family=Noto+Sans+JP:wght@400;500;700&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: #1D1D1D;
}

a {
		color: #1A0DAB;
}

.inter {
		font-family: 'Inter', sans-serif;
}

.roboto {
		font-family: 'Roboto Condensed', sans-serif;
}

.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;
}

.wrapper {
		max-width: 1920px;
		width: 100%;
		margin: 0 auto;
		background-image: url(../img/base_bg.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		background-attachment: fixed;
		z-index: -1;
}

.wrapper .kv {
		max-width: 1920px;
		width: 100%;
		height: 1080px;
		background-image: url(../img/kv_bg.jpg);
		background-repeat: no-repeat;
		background-size: auto;
		background-position: top center;
		position: relative;
}

.wrapper .kv .ttl01 {
		position: absolute;
		top: 10vh;
		left: calc(50% - 283px);
}

.wrapper .kv .ttl02 {
		position: absolute;
		top: 30vh;
		left: calc(50% - 352px);
}

.wrapper .kv .arrow {
		position: absolute;
		bottom: 2vh;
		right: 20px;
}

.wrapper .s1 {
		background-color: #fff;
		width: 100%;
		height: auto;
		padding-bottom: 100px;
}

.wrapper .s1 .inner {
		width: 1100px;
		height: auto;
		margin: 0 auto;
		position: relative;
}

.wrapper .s1 .inner .section_ttl {
		position: relative;
		top: 40px;
		left: 40px;
		font-size: 20px;
}

.wrapper .s1 .inner .section_ttl:before {
		content: "";
		width: 60px;
		height: 1px;
		background-color: #707070;
		position: absolute;
		top: 10px;
		left: -70px;
}

.wrapper .s1 .ttl_flex {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 100px auto 50px;
}

.wrapper .s1 .ttl_flex .icon {
		flex-basis: 316px;
		margin-right: 30px;
}

.wrapper .s1 .ttl_flex .txt h2 {
		font-size: 34px;
		font-weight: 700;
		line-height: 1.5;
		margin: 20px 0 0;
}

.wrapper .s1 h3 {
		font-size: 34px;
		font-weight: 700;
		line-height: 1;
		color: #59C2C4;
		text-align: center;
}

.wrapper .s1 ul {
		display: flex;
		justify-content: space-between;
		width: 1066px;
		margin: 50px auto 100px;
}

.wrapper .s1 .s1_ttl {
		margin: 0 auto 50px;
		text-align: center;
}

.wrapper .s1 .s1_ttl h4 {
		font-size: 30px;
		font-weight: 700;
		margin: 10px auto 30px;
}

.wrapper .s1 .specialty_flex {
		display: flex;
		justify-content: space-between;
		width: 790px;
		margin: 0 auto;
}

.wrapper .s1 .specialty_flex .specialty_bx {
		width: 250px;
		height: 250px;
		border-radius: 50%;
		background-color: #59C2C4;
		text-align: center;
}

.wrapper .s1 .specialty_flex .specialty_bx .en {
		font-size: 12px;
		font-weight: 500;
		color: #fff;
		margin: 60px auto 30px;
}

.wrapper .s1 .specialty_flex .specialty_bx h6 {
		font-size: 20px;
		color: #fff;
		line-height: 1.5;
}

.wrapper .s1 .form_btn {
		margin: 60px auto 0;
		text-align: center;
}

.wrapper .s2 {
		width: 100%;
		height: auto;
		background-image: url(../img/s2_bg.png);
		background-color: #fff;
		background-repeat: repeat;
		background-size: auto;
		padding-bottom: 100px;
}

.wrapper .s2 .inner {
		width: 1100px;
		height: auto;
		margin: 0 auto;
		position: relative;
}

.wrapper .s2 .inner .section_ttl {
		position: relative;
		top: 40px;
		right: 40px;
		font-size: 20px;
		display: block;
		text-align: right;
}

.wrapper .s2 .inner .section_ttl:after {
		content: "";
		width: 60px;
		height: 1px;
		background-color: #707070;
		position: absolute;
		top: 10px;
		right: -70px;
}

.wrapper .s2 .s2_ttl {
		margin: 50px auto 50px;
		text-align: center;
}

.wrapper .s2 .s2_ttl h4 {
		font-size: 30px;
		font-weight: 700;
		margin: 10px auto 100px;
		color: #59C2C4;
}

.wrapper .s2 .s2_flex {
		width: 1020px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		flex-wrap: wrap;
}

.wrapper .s2 .s2_flex .s2_bx {
		flex-basis: 460px;
		width: 460px;
		height: auto;
		background-color: #fff;
		border-radius: 5px;
		position: relative;
		padding-bottom: 20px;
		margin: 40px auto;
		text-align: center;
}

.wrapper .s2 .s2_flex .s2_bx .ico {
		position: absolute;
		top: -55px;
		left: -22px;
}

.wrapper .s2 .s2_flex .s2_bx h6 {
		font-size: 20px;
		font-weight: 500;
		color: #59C2C4;
		text-align: center;
		margin: 20px auto;
}

.wrapper .s2 .s2_flex .s2_bx p {
		font-size: 16px;
		font-weight: 700;
		line-height: 1.7;
		text-align: left;
		margin: 0 10px;
}

.wrapper .s2 .s2_flex .s2_bx hr {
		width: 440px;
		margin: 10px auto;
}

.wrapper .s2 .s2_flex .s2_bx .achievement {
		background-color: #F8F8F8;
		display: inline-block;
		padding: 10px 15px;
		border-radius: 30px;
		margin: 10px auto;
		font-size: 20px;
		font-weight: 700;
		line-height: 1;
}

.wrapper .s2 .s2_flex .s2_bx .achievement span {
		font-size: 16px;
		font-weight: 700;
		line-height: 1;
		margin-left: 15px;
}

.wrapper .s2 .s2_flex .s2_bx h5 {
		font-size: 16px;
		font-weight: 700;
		line-height: 1;
}

.wrapper .s2 .s2_flex .s2_bx h5 span {
		font-size: 50px;
		font-weight: 700;
		line-height: 1;
		color: #59C2C4;
		margin: 0 10px;
}

.wrapper .s2 .w_base {
		background-color: #fff;
		width: 1020px;
		margin: 0 auto 20px;
		padding: 30px 20px;
}

.wrapper .s2 .w_base h4 {
		font-size: 24px;
		font-weight: 700;
		color: #59C2C4;
		line-height: 1;
		padding-left: 70px;
		position: relative;
		margin-bottom: 30px;
}

.wrapper .s2 .w_base h4:before {
		content: "";
		background-image: url(../img/s2_mark.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 54px;
		height: 54px;
		position: absolute;
		top: -17px;
		left: 0;
}

.wrapper .s2 .w_base p {
		font-size: 16px;
		font-weight: 700;
		line-height: 1.8;
}

.wrapper .s3:before {
		content: "";
		background-image: url(../img/arrow.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 108px;
		height: 92px;
		position: absolute;
		top: -20px;
		left: calc(50% - 46px);
}

.wrapper .s3 {
		background-color: #DCE2E9;
		width: 100%;
		height: auto;
		padding-bottom: 100px;
		position: relative;
}

.wrapper .s3 .inner {
		width: 1100px;
		height: auto;
		margin: 0 auto;
		position: relative;
}

.wrapper .s3 .inner .section_ttl {
		position: relative;
		top: 40px;
		left: 40px;
		font-size: 20px;
}

.wrapper .s3 .inner .section_ttl:before {
		content: "";
		width: 60px;
		height: 1px;
		background-color: #707070;
		position: absolute;
		top: 10px;
		left: -70px;
}

.wrapper .s3 h3 {
		font-size: 40px;
		font-weight: 700;
		color: #2A4F7C;
		line-height: 1.5;
		text-align: center;
		padding-top: 80px;
}

.wrapper .s3 .flow {
		margin: 25px auto;
}

.wrapper .s3 .step_flex {
		width: 1020px;
		display: flex;
		justify-content: space-between;
		margin: 30px auto;
		flex-wrap: wrap;
}

.wrapper .s3 .step_flex .ico {
		flex-basis: 112px;
		margin-right: 8px;
		margin-bottom: 8px;
}

.wrapper .s3 .step_flex .summary {
		flex-basis: 900px;
		background-color: #fff;
		margin-bottom: 8px;
		display: flex;
		align-items: center;
		align-content: center;
}

.wrapper .s3 .step_flex .summary ul {
		display: flex;
		justify-content: flex-start;
		margin: 0 0 0 50px;
}

.wrapper .s3 .step_flex .summary li {
		font-size: 16px;
		font-weight: 500;
		line-height: 1;
}

.wrapper .s3 .step_flex .summary .ttl {
		font-size: 24px;
		font-weight: 700;
		line-height: 1;
		width: 250px;
}

.wrapper .s3 .form_btn {
		margin: 0 auto -60px;
		text-align: center;
}

.wrapper .s4 {
		width: 100%;
		height: auto;
		position: relative;
		padding: 120px 0 100px;
}

.wrapper .s4 .form_btn {
		margin: 0 auto;
		text-align: center;
		position: absolute;
		top: -68px;
		left: calc(50% - 399px);
}

.wrapper .s4 .inner {
		width: 906px;
		margin: 0 auto;
}

.wrapper .s4 .inner p {
		font-size: 18px;
		font-weight: 400;
		line-height: 2.3;
		margin: 0 auto 60px;
}

.wrapper .s4 .inner .navy_bx {
		width: 100%;
		height: auto;
		border: 4px solid #2A4F7C;
		border-radius: 5px;
		text-align: center;
		padding: 50px 0 20px;
		margin: 0 auto 50px;
		position: relative;
}

.wrapper .s4 .inner .navy_ttl {
		display: inline-block;
		margin: 0 auto;
		background-color: #2A4F7C;
		border-radius: 5px;
		font-size: 28px;
		font-weight: 700;
		color: #fff;
		padding: 10px 20px;
		position: absolute;
		top: -20px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
}

.wrapper .s4 .inner h5 {
		display: inline-block;
		font-size: 28px;
		line-height: 1;
		font-weight: 500;
		padding-bottom: 5px;
		border-bottom: 3px dotted #FFA429;
}

.wrapper .s4 .inner h6 {
		font-size: 16px;
		font-weight: 500;
		line-height: 1;
		margin: 20px auto;
}

.wrapper .s4 .license_btn {
		margin: 0 auto;
		text-align: center;
}

.wrapper .s5 {
		background-color: #F8F8F8;
		padding: 100px 0 50px;
		text-align: center;
}

.wrapper .s5 .s5_ttl {
		font-size: 34px;
		font-weight: 700;
		line-height: 1;
		color: #FFA429;
		display: block;
}

.wrapper .s5 .s5_ttl span {
		font-size: 20px;
		display: block;
		margin-top: 10px;
}

.wrapper .s5 .inner {
		width: 1020px;
		margin: 50px auto;
		text-align: left;
}

.wrapper .s6 {
		width: 100%;
		background-color: #59C2C4;
		width: 100%;
		height: auto;
		position: relative;
}

.wrapper .s6 .inner {
		width: 1100px;
		height: 945px;
		margin: 0 auto;
		position: relative;
}

.wrapper .s6 .inner .section_ttl {
		position: relative;
		top: 40px;
		left: 40px;
		font-size: 20px;
		color: #fff;
}

.wrapper .s6 .inner .section_ttl:before {
		content: "";
		width: 60px;
		height: 1px;
		background-color: #fff;
		position: absolute;
		top: 10px;
		left: -70px;
}

.wrapper .s6 .inner h6 {
		font-size: 34px;
		font-weight: 700;
		line-height: 1;
		color: #fff;
		padding-top: 140px;
		margin-bottom: 40px;
}

.wrapper .s6 .inner p {
		font-size: 18px;
		font-weight: 500;
		color: #fff;
		line-height: 2.3;
}

.wrapper .s6 .inner p a {
		text-decoration: none;
		color: #fff;
}

.wrapper .s6 .inner .img {
		position: absolute;
		bottom: 0;
		right: -114px;
}

.wrapper .foot {
		background-color: #fff;
		width: 100%;
		text-align: center;
		padding: 20px 0;
}

.wrapper .foot .icon {
		margin: 0 auto 20px;
}

.wrapper .foot span {
		display: inline-block;
		font-size: 20px;
		font-weight: 500;
		color: #4DA9DF;
}

@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:before {
				content: "";
				width: 100%;
				margin: 0 auto;
				background-image: url(../img/base_bg-s.jpg);
				background-repeat: no-repeat;
				background-size: cover;
				background-position: top center;
				position: fixed;
				z-index: -1;
		}
		.wrapper {
				max-width: 100%;
				width: 100%;
				margin: 0 auto;
		}
		.wrapper .kv {
				max-width: 100%;
				width: 100%;
				height: 160.2vw;
				background-image: url(../img/kv_bg-s.jpg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: top center;
				position: relative;
		}
		.wrapper .kv .ttl01 {
				position: absolute;
				top: 10vh;
				left: calc(50% - 37vw);
				width: 74vw;
		}
		.wrapper .kv .ttl02 {
				position: absolute;
				top: 30vh;
				left: calc(50% - 43vw);
				width: 86vw;
		}
		.wrapper .kv .arrow {
				position: absolute;
				bottom: 2vh;
				right: 5vw;
				width: 3vw;
		}
		.wrapper .s1 {
				background-color: #fff;
				width: 100%;
				height: auto;
				padding: 10vw 0;
		}
		.wrapper .s1 .inner {
				width: 90vw;
				height: auto;
				margin: 0 auto;
				position: relative;
		}
		.wrapper .s1 .ttl_flex {
				display: flex;
				justify-content: center;
				align-items: flex-start;
				margin: 0 auto 6vw;
		}
		.wrapper .s1 .ttl_flex .icon {
				flex-basis: 36vw;
				margin-right: 2vw;
		}
		.wrapper .s1 .ttl_flex .txt h2 {
				font-size: 4.35897vw;
				font-weight: 700;
				line-height: 1.5;
				margin: 2vw 0 0;
		}
		.wrapper .s1 h3 {
				font-size: 4.35897vw;
				font-weight: 700;
				line-height: 1;
				color: #59C2C4;
				text-align: center;
		}
		.wrapper .s1 ul {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				width: 80vw;
				margin: 5vw auto 8vw;
		}
		.wrapper .s1 li {
				flex-basis: 37vw;
				margin-bottom: 3vw;
		}
		.wrapper .s1 .s1_ttl {
				margin: 0 auto 6vw;
				text-align: center;
				width: 58vw;
		}
		.wrapper .s1 .s1_ttl h4 {
				font-size: 3.84615vw;
				font-weight: 700;
				margin: 1vw auto 4vw;
		}
		.wrapper .s1 .specialty_flex {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
				width: 80vw;
				margin: 0 auto;
		}
		.wrapper .s1 .specialty_flex .specialty_bx {
				width: 80vw;
				height: auto;
				border-radius: 1vw;
				background-color: #59C2C4;
				text-align: center;
				padding: 3.5vw;
				margin-bottom: 2vw;
		}
		.wrapper .s1 .specialty_flex .specialty_bx .en {
				font-size: 2.5641vw;
				font-weight: 500;
				color: #fff;
				margin: 0 auto 1vw;
		}
		.wrapper .s1 .specialty_flex .specialty_bx h6 {
				font-size: 3.58974vw;
				color: #fff;
				line-height: 1.5;
		}
		.wrapper .s1 .form_btn {
				margin: 5vw auto 0;
				text-align: center;
				width: 82vw;
		}
		.wrapper .s2 {
				width: 100%;
				height: auto;
				background-image: url(../img/s2_bg.png);
				background-color: #fff;
				background-repeat: repeat;
				background-size: auto;
				padding-bottom: 10vw;
		}
		.wrapper .s2 .inner {
				width: 80vw;
				height: auto;
				margin: 0 auto;
				position: relative;
		}
		.wrapper .s2 .inner .section_ttl {
				position: relative;
				top: 40px;
				right: 40px;
				font-size: 20px;
				display: none;
				text-align: right;
		}
		.wrapper .s2 .inner .section_ttl:after {
				content: "";
				width: 60px;
				height: 1px;
				background-color: #707070;
				position: absolute;
				top: 10px;
				right: -70px;
		}
		.wrapper .s2 .s2_ttl {
				margin: 0 auto 6vw;
				padding-top: 10vw;
				text-align: center;
				width: 58vw;
		}
		.wrapper .s2 .s2_ttl h4 {
				font-size: 3.84615vw;
				font-weight: 700;
				margin: 1vw auto 10vw;
				color: #59C2C4;
		}
		.wrapper .s2 .s2_flex {
				width: 80vw;
				display: flex;
				justify-content: space-between;
				margin: 0 auto;
				flex-wrap: wrap;
		}
		.wrapper .s2 .s2_flex .s2_bx {
				flex-basis: 80vw;
				width: 80vw;
				height: auto;
				background-color: #fff;
				border-radius: 5px;
				position: relative;
				padding-bottom: 20px;
				margin: 5vw auto;
				text-align: center;
		}
		.wrapper .s2 .s2_flex .s2_bx .ico {
				position: absolute;
				top: -8vw;
				left: -4vw;
				width: 13vw;
		}
		.wrapper .s2 .s2_flex .s2_bx h6 {
				font-size: 3.33333vw;
				font-weight: 700;
				color: #59C2C4;
				text-align: center;
				margin: 3vw auto;
		}
		.wrapper .s2 .s2_flex .s2_bx p {
				font-size: 3.07692vw;
				font-weight: 500;
				line-height: 1.7;
				text-align: left;
				margin: 0 5vw;
		}
		.wrapper .s2 .s2_flex .s2_bx hr {
				width: 70vw;
				margin: 10px auto;
		}
		.wrapper .s2 .s2_flex .s2_bx .achievement {
				background-color: #F8F8F8;
				display: inline-block;
				padding: 1.5vw 2.5vw;
				border-radius: 30px;
				margin: 1.5vw auto;
				font-size: 3.58974vw;
				font-weight: 700;
				line-height: 1;
		}
		.wrapper .s2 .s2_flex .s2_bx .achievement span {
				font-size: 3.07692vw;
				font-weight: 700;
				line-height: 1;
				margin-left: 1.5vw;
		}
		.wrapper .s2 .s2_flex .s2_bx h5 {
				font-size: 2.82051vw;
				font-weight: 700;
				line-height: 1;
		}
		.wrapper .s2 .s2_flex .s2_bx h5 span {
				font-size: 7.4359vw;
				font-weight: 700;
				line-height: 1;
				color: #59C2C4;
				margin: 0 1vw;
		}
		.wrapper .s2 .w_base {
				background-color: #fff;
				width: 80vw;
				margin: 0 auto 3vw;
				padding: 5vw 2.5vw;
		}
		.wrapper .s2 .w_base h4 {
				font-size: 3.58974vw;
				font-weight: 700;
				color: #59C2C4;
				line-height: 1;
				padding-left: 11vw;
				position: relative;
				margin-bottom: 5vw;
		}
		.wrapper .s2 .w_base h4:before {
				content: "";
				background-image: url(../img/s2_mark.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 8vw;
				height: 8vw;
				position: absolute;
				top: -2vw;
				left: 0;
		}
		.wrapper .s2 .w_base p {
				font-size: 3.07692vw;
				font-weight: 500;
				line-height: 1.8;
		}
		.wrapper .s3:before {
				content: "";
				background-image: url(../img/arrow.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 10vw;
				height: 8.7vw;
				position: absolute;
				top: -3vw;
				left: calc(50% - 5vw);
		}
		.wrapper .s3 {
				background-color: #DCE2E9;
				width: 100%;
				height: auto;
				padding-bottom: 10vw;
				position: relative;
		}
		.wrapper .s3 .inner {
				width: 90vw;
				height: auto;
				margin: 0 auto;
				position: relative;
		}
		.wrapper .s3 h3 {
				font-size: 4.61538vw;
				font-weight: 700;
				color: #2A4F7C;
				line-height: 1.5;
				text-align: center;
				padding-top: 10vw;
		}
		.wrapper .s3 .flow {
				margin: 3vw auto;
		}
		.wrapper .s3 .step_flex {
				width: 90vw;
				display: flex;
				justify-content: space-between;
				margin: 3vw auto;
				flex-wrap: wrap;
		}
		.wrapper .s3 .step_flex .ico {
				flex-basis: 14vw;
				margin: 0 1vw 1vw 0;
		}
		.wrapper .s3 .step_flex .summary {
				flex-basis: 75vw;
				background-color: #fff;
				margin-bottom: 1vw;
				display: flex;
				align-items: center;
		}
		.wrapper .s3 .step_flex .summary ul {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
				margin: 0 0 0 3vw;
		}
		.wrapper .s3 .step_flex .summary li {
				font-size: 2.82051vw;
				font-weight: 500;
				line-height: 1;
				width: 65vw;
		}
		.wrapper .s3 .step_flex .summary .ttl {
				font-size: 3.58974vw;
				line-height: 1;
				width: 65vw;
				margin-bottom: 1vw;
		}
		.wrapper .s3 .form_btn {
				margin: 0 auto -60px;
				text-align: center;
		}
		.wrapper .s4 {
				width: 100%;
				height: auto;
				position: relative;
				padding: 15vw 0;
		}
		.wrapper .s4 .form_btn {
				margin: 0 auto;
				text-align: center;
				position: absolute;
				top: -10vw;
				left: calc(50% - 40vw);
				width: 80vw;
		}
		.wrapper .s4 .inner {
				width: 90vw;
				margin: 0 auto;
		}
		.wrapper .s4 .inner p {
				font-size: 3.33333vw;
				font-weight: 400;
				line-height: 2;
				margin: 0 auto 8vw;
		}
		.wrapper .s4 .inner .navy_bx {
				width: 90vw;
				height: auto;
				border: 2px solid #2A4F7C;
				border-radius: 5px;
				text-align: center;
				padding: 7vw 0 2vw;
				margin: 0 auto 6vw;
				position: relative;
		}
		.wrapper .s4 .inner .navy_ttl {
				display: inline-block;
				margin: 0 auto;
				background-color: #2A4F7C;
				border-radius: 5px;
				font-size: 3.84615vw;
				font-weight: 700;
				color: #fff;
				padding: 2vw 3vw;
				position: absolute;
				top: -4vw;
				left: 50%;
				transform: translateX(-50%);
				-webkit-transform: translateX(-50%);
				-ms-transform: translateX(-50%);
				white-space: nowrap;
		}
		.wrapper .s4 .inner h5 {
				display: inline-block;
				font-size: 3.33333vw;
				line-height: 1;
				font-weight: 700;
				padding-bottom: 1vw;
				border-bottom: 2px dotted #FFA429;
		}
		.wrapper .s4 .inner h6 {
				font-size: 2.82051vw;
				font-weight: 700;
				line-height: 1;
				margin: 2vw auto;
		}
		.wrapper .s4 .license_btn {
				margin: 0 auto;
				text-align: center;
				width: 80vw;
		}
		.wrapper .s5 {
				background-color: #F8F8F8;
				padding: 10vw 0 5vw;
				text-align: center;
		}
		.wrapper .s5 .s5_ttl {
				font-size: 4.61538vw;
				font-weight: 700;
				line-height: 1;
				color: #FFA429;
				display: block;
		}
		.wrapper .s5 .s5_ttl span {
				font-size: 3.33333vw;
				display: block;
				margin-top: 1vw;
		}
		.wrapper .s5 .inner {
				width: 90vw;
				margin: 4vw auto;
				text-align: left;
		}
		.wrapper .s6 {
				width: 100%;
				background-color: #59C2C4;
				width: 100%;
				height: auto;
				position: relative;
		}
		.wrapper .s6 .inner {
				width: 100vw;
				height: 130vw;
				margin: 0 auto;
				position: relative;
		}
		.wrapper .s6 .inner .section_ttl {
				position: relative;
				top: 40px;
				left: 40px;
				font-size: 20px;
				color: #fff;
		}
		.wrapper .s6 .inner .section_ttl:before {
				content: "";
				width: 60px;
				height: 1px;
				background-color: #fff;
				position: absolute;
				top: 10px;
				left: -70px;
		}
		.wrapper .s6 .inner h6 {
				font-size: 4.35897vw;
				font-weight: 700;
				line-height: 1;
				color: #fff;
				padding-top: 10vw;
				margin: 0 5vw 5vw;
		}
		.wrapper .s6 .inner p {
				font-size: 3.33333vw;
				font-weight: 500;
				color: #fff;
				line-height: 2;
				margin: 0 5vw 5vw;
		}
		.wrapper .s6 .inner p a {
				text-decoration: none;
				color: #fff;
		}
		.wrapper .s6 .inner .img {
				position: absolute;
				bottom: 0;
				right: 0;
				left: 0;
		}
		.wrapper .foot {
				background-color: #fff;
				width: 100%;
				text-align: center;
				padding: 4vw 0;
		}
		.wrapper .foot .icon {
				margin: 0 auto 1vw;
				width: 8vw;
		}
		.wrapper .foot span {
				display: inline-block;
				font-size: 2.82051vw;
				font-weight: 500;
				color: #4DA9DF;
		}
}

.remodal-overlay {
		background: rgba(0, 0, 0, 0.9);
}

.remodal {
		width: 600px;
		padding: 50px;
		background: #fff;
}

.remodal h6 {
		font-size: 20px;
		font-weight: bold;
		color: #000;
}

.embed-container {
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
		overflow: hidden;
		max-width: 100%;
}

.embed-container iframe, .embed-container object, .embed-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}

.remodal-cancel {
		position: absolute;
		top: -40px;
		right: -40px;
		background: none;
		background-image: url(../img/md_close.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 60px;
		height: 60px;
		min-width: inherit;
}

.remodal-cancel:hover {
		background: none;
		background-image: url(../img/md_close.svg);
		background-repeat: no-repeat;
		background-size: contain;
}

@media (max-width: 780px) {
		.remodal {
				width: 80vw;
				padding: 15vw 0;
				background: #fff;
		}
		.remodal h6 {
				font-size: 3.84615vw;
				font-weight: bold;
				color: #000;
		}
		.remodal-cancel {
				position: absolute;
				top: -4vw;
				right: -4vw;
				background: none;
				background-image: url(../img/md_close.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 8vw;
				height: 8vw;
				min-width: inherit;
		}
		.remodal-cancel:hover {
				background: none;
				background-image: url(../img/md_close.svg);
				background-repeat: no-repeat;
				background-size: contain;
		}
}
