@charset "UTF-8";
/*
font-family: "Noto Sans JP", sans-serif;
*/
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
:root {
	--header: 13.75vw;
	--TxtColor: #333;
	--BodyColor: #60c3fd;
	--SiteColor: #0044a0;
	--SubColor: #0182f1;
	--TtlFont: "Noto Sans JP", sans-serif;
	--Sec04Txtcolor: #0044a0;
	--Sec04CapColor: #fff;
	--Sec04Capfont: "Noto Sans JP", sans-serif;
	--Sec04Capweight: 900;
	scroll-padding: calc(var(--header) + 5vw);
}
html {
	scroll-behavior: smooth;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

::selection {
	background: transparent;
}
::-moz-selection {
	background: transparent;
}

body {
	margin: 0;
	padding: 0;
	line-height: 1.6em;
	color: var(--TxtColor);
	background: var(--BodyColor);
	font-size: 4vw;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	letter-spacing: 0.05em;
	letter-spacing: 1px\9;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: auto;
}

h1, h2, h3, h4, h5, h6, h7, .blr,
ul, ol, li, dl, dt, dd,
article, section,
div, figure, p, form, img, legend, i {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1em;
	list-style: none;
	font-style: normal;
	font-weight: normal;
}
strong, b, span, i, a {
	line-height: 1em;
}
p {
	line-height: 1.6em;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
}

button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

a ,
button ,
span {
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
	text-decoration: none!important;
}

a:link {color: var(--SiteColor);}
a:visited {color: var(--SiteColor);}
a:active {color: var(--SiteColor);}

a:hover {
	opacity: .60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-khtml-opacity: .60;
	-moz-opacity: .60;
	text-decoration: none!important;
}

a:hover img ,
button:hover img {
	opacity: .75;
	filter: alpha(opacity=75);
	-ms-filter: "alpha(opacity=75)";
	-khtml-opacity: .75;
	-moz-opacity: .75;
}
a:focus,
*:focus {
	outline: none;
}
.error {
	color: #c00;
}
.error span {
	display: block;
}
.error span:before {
	content: "\f071";
	margin-right: 3px;
	color: #c00;
	font-size: 15px;
	font-family: "FontAwesome";
}

.hide {
	display: none!important;
}

.spi {
	display: inline!important;
}
.spb {
	display: block!important;
}
.pci {
	display: none!important;
}
.pcb {
	display: none!important;
}
.eupfade {
	opacity : 0;
	transform : translate(0, 30px);
	transition : all 1000ms ease-in-out;
}
.eupfade.escroll {
	opacity : 1;
	transform : translate(0, 0);
}

#wrapper {
	position: relative;
	z-index: 1;
}

.inner {
	margin: 0 auto;
	width: 90%;
	position: relative;
}
header {
	background: #fff;
}
header .inner {
	margin: 0 auto;
	position: relative;
}
section .inner {
	background: #fff;
}
header {
	height: var(--header);
	background: #fff;
	box-shadow: 0 0 10px #000;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 100;
}
header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	height: 100%;
	position: relative;
}
header .logo {
	width: 22vw;
}

header .line {
	border: 0.5vw solid #fff;
	padding: 0.5em 1em 0.6em;
	color: #fff;
	background: var(--SiteColor);
	font-size: 4vw;
	font-weight: 700;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

header .line span {
	
}
.other header {
	position: static;
	box-shadow: none;
}
.other header .inner {
	justify-content: center;
	height: var(--header);
}

.secttl {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 7.5vw 0 5vw;
}
.secttl b {
	display: flex;
	align-items: baseline;
	line-height: 1em;
	font-size: 9.4vw;
	font-weight: 900;
	font-family: var(--TtlFont);
	font-style: italic;
	color: var(--SiteColor);
	white-space: nowrap;
	letter-spacing: 0;
}
.other .secttl b {
	font-size: 6vw;
}
.secttl b i {
	line-height: 1em;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}
.secttl b span {
}

.reg {
	
}
.reg .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 23.5vw;
	background: url("../img/bg_reg.png") no-repeat top center;
	background-size: cover;
}
.reg a {
	border: 0.5vw solid #fff;
	padding: 0.75em 1.5em;
	color: #fff;
	background: var(--SiteColor);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.reg a span {
	font-size: 5vw;
	font-weight: 900;
}

.fv {
}
.fv .inner {
	width: 100%;
}

.sec01 {
}
.sec01 .secttl {
	flex-flow: column;
	align-items: bottom;
}
.sec01 .secttl span {
	padding-top: 0.75em;
	font-size: 3vw;
	font-weight: 700;
	color: var(--SubColor);
}
.sec01 .txt {
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
	position: relative;
}
.sec01 .txt p {
	line-height: 1.5em;
}
.sec01 .txt p br {
	display: none;
}
.sec01 .txt p + p {
	margin-top: 1.5em;
}
.sec01 .txt p span {
	line-height: 1.5em;
	font-weight: 900;
}
.sec01 .txt .fir {
	display: flex;
	flex-flow: column;
	margin: 0 0 2em;
}
.sec01 .txt .las {
	margin: 0;
	position: relative;
}
.sec01 .txt .fir figure {
	display: flex;
	order: 1;
	margin: 0 auto;
	width: 60%;
}
.sec01 .txt .fir p {
	order: 2;
}
.sec01 .txt .fir + p + p {
	width: 65%;
}
.sec01 .txt .las figure {
	width: 32%;
	position: absolute;
	top: -20vw;
	right: 0;
}
.sec01 .txt .las figure + p {
	padding: 1.5em 0 10vw;
}
.sec01 .txt .las figure + p span {
	display: inline-block;
	margin-top: 0.5em;
	padding: 0.5em 0.25em;
	font-size: 2.6vw;
	color: #fff;
	background: var(--SubColor);
	text-shadow: none;
}

.sec02 {
}
.sec02 ul {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	margin: 0 auto;
	padding: 3vw 0 0;
	width: 90%;
}
.sec02 ul li {
	width: 37.5vw;
	height: 37.5vw;
	color: var(--SiteColor);
	position: relative;
	z-index: 2;
}
.sec02 ul li:after {
	content: "";
	width: 100%;
	height: 100%;
	background: var(--BodyColor);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.sec02 ul li:nth-child(1) {
	margin: 0 20vw 5vw;
}
.sec02 ul li:nth-child(3) {
	margin: 0 0 5vw 5vw;
}
.sec02 ul li figure {
}
.sec02 ul li figure img {
	width: 20vw;
	position: absolute;
	bottom: 42.5%;
	left: 50%;
	transform: translateX(-50%);
}
.sec02 ul li:nth-child(3) figure img {
	width: 12.5vw;
}
.sec02 ul li figure figcaption {
	line-height: 1em;
	font-size: 5vw;
	font-weight: 900;
	letter-spacing: 0;
	white-space: nowrap;
	position: absolute;
	bottom: 9vw;
	left: 50%;
	transform: translateX(-50%);
}
.sec02 .txt {
	display: flex;
	align-items: center;
	margin: 0 auto;
	padding: 0 0 5vw;
	width: 90%;
}
.sec02 .txt figure {
	width: 25%;
}
.sec02 .txt p {
	margin: 0 auto;
	padding: 5vw;
	width: 100%;
	font-size: 3vw;
	line-height: 1.5em;
	color: #fff;
	background: var(--SubColor);
}
.sec02 .txt p span {
	display: block;
	padding: 1em 0 0;
	line-height: 1.5em;
}
.sec02 .txt p br {
	display: none;
}

.sec03 {
}
.sec03 ul {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0 0 5vw;
	width: 94%;
}
.sec03 ul li {
	display: flex;
	align-items: center;
	margin-bottom: 2%;
	border-radius: 100em;
	padding: 1.5vw;
	width: 49%;
	color: #fff;
	background: var(--SubColor);
	position: relative;
}
.sec03 ul li i {
	border-radius: 100vw;
	width: 8vw;
	height: 8vw;
	color: var(--SubColor);
	background: #fff;
	position: relative;
}
.sec03 ul li i:before {
	content: "\f00c";
	font-size: 5vw;
	font-family: "FontAwesome";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.sec03 ul li span {
	margin-left: 0.5em;
	font-size: 3.6vw;
	font-weight: 900;
	white-space: nowrap;
}
.sec03 ul li:nth-child(5) span {
	font-size: 3.2vw;
}

.sec04 {
}
.sec04 figure {
	width: 15vw;
}
.sec04 dl {
	margin: 0 auto;
	width: 90%;
}
.sec04 dl {
	margin: 5vw auto 0;
}
.sec04 dl dt {
	display: flex;
	flex-flow: wrap;
	align-items: baseline;
	margin: 0 0 1em;
	border-bottom: 1vw solid var(--SubColor);
	padding: 0.5em 0;
	font-size: 5vw;
	font-weight: 900;
	white-space: nowrap;
}
.sec04 dl dt span {
	font-weight: 900;
	color: var(--SiteColor);
}
.sec04 dl dt small {
	margin: 0 0 0 0.75em;
	font-size: 3vw;
	font-weight: 700;
}
.sec04 dl dd {
}
.sec04 dl dd ol {
	display: flex;
	justify-content: space-between;
}
.sec04 dl dd ol li {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	align-items: center;
	padding: 5vw 0;
	width: 32%;
	height: 45vw;
	max-height: 410px;
	color: #fff;
	background: var(--BodyColor);
	position: relative;
}
.sec04 dl dd ol li + li:before {
	content: "";
	width: 6vw;
	height: 6.5vw;
	max-width: 89px;
	max-height: 96px;
	background: url(../img/arrow.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	left: -16%;
	transform: translateY(-50%);
}
.sec04 dl dd ol li span {
	display: flex;
	align-items: baseline;
	font-size: 4vw;
	color: var(--Sec04CapColor);
	font-family: var(--Sec04Capfont);
	font-weight: var(--Sec04Capweight);
/*
	text-shadow: 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor), 0 0 1vw var(--SiteColor);
*/
}
.sec04 dl dd ol li span i {
	font-size: 6vw;
	font-weight: 900;
}
.sec04 dl dd ol li figure {
	width: 15vw;
}
.sec04 dl dd ol li:nth-child(1) figure {
	width: 11vw;
}
.sec04 dl dd ol li:nth-child(3) figure {
	width: 14vw;
}
.sec04 dl dd ol li b {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	line-height: 1.1em;
	min-height: 2em;
	font-size: 3.6vw;
	font-weight: 900;
	color: var(--SiteColor);
	text-align: center;
}
.sec04 dl dd + dd p {
	padding: 7.5vw 0;
	line-height: 1.5em;
	font-size: 3.8vw;
	font-weight: 900;
	text-align: center;
}
.sec04 dl dd + dd p span {
	color: var(--SubColor);
	font-size: 2.65vw;
	font-weight: 900;
}

.sec05 {
}
.sec05 ul {
	display: flex;
	flex-flow: column;
	margin: 0 auto;
	padding: 0 0 5vw;
	width: 90%;
}
.sec05 ul li {
	padding: 1em;
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.25);
}
.sec05 ul li + li {
	margin: 5vw 0 0;
}
.sec05 ul li dl {
	display: flex;
	flex-flow: column;
}
.sec05 ul li dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 4vw;
	font-weight: 700;
	text-align: center;
}
.sec05 ul li dl dt i {
	margin: 0 1em 0 0;
	width: 20vw;
}
.sec05 ul li dl dt i img {
	border-radius: 100em;
}
.sec05 ul li dl dd {
	display: flex;
	flex-flow: column;
	justify-content: center;
	padding: 1em 0 0;
}
.sec05 ul li dl dd b {
	margin: 0 0 0.75em;
	font-size: 3.6vw;
	font-weight: 900;
	text-align: center;
	color: var(--SubColor);
}
.sec05 ul li dl dd p {
	line-height: 1.5em;
	font-size: 3.4vw;
}

.sec06 ul {
	display: flex;
	flex-flow: column;
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}
.sec06 ul li {
}
.sec06 ul li + li {
}
.sec06 ul li dl {
}
.sec06 ul li dl dt {
	padding: 0.5em;
	font-size: 4.6vw;
	font-weight: 700;
	color: #fff;
	background: var(--SiteColor);
}
.sec06 ul li dl dd {
}
.sec06 ul li dl dd p {
	padding: 0.75em 1em 7.5vw;
	line-height: 1.5em;
	font-size: 4vw;
}

.btnform {
	margin: 0 auto;
	width: 90%;
}

.btnform ul {
	display: flex;
	flex-flow: column;
	align-items: center;
}
.btnform ul li + li {
	margin-top: 1.5em;
}
.btnform ul li.cap {
	color: #fff;
	background: var(--SubColor);
}
.btnform ul li + li.cap {
	margin-top: 5em;
}
.btnform ul li.cap span {
	padding: 0.5em 0;
	line-height: 1em;
	font-size: 5vw;
	font-weight: 700;
}
.btnform ul li.check {
}
.btnform ul li:not(.check):not(.radio) {
	display: flex;
	flex-flow: column;
	align-items: center;
	width: 100%;
}
.btnform ul li.check input ,
.btnform ul li.radio input {
	display: none;
}
.btnform ul li.check label ,
.btnform ul li.radio label {
	display: flex;
	align-items: center;
	border: 1px solid #ccc;
	border-radius: 1em;
	padding: 0.75em 1em;
	line-height: 1.25em;
	background: #fff;
	font-size: 4.2vw;
	cursor: pointer;
}
.btnform ul li.check label:hover ,
.btnform ul li.check input:checked + label ,
.btnform ul li.radio label:hover ,
.btnform ul li.radio input:checked + label {
	background: #FFFFB3;
}
.btnform ul li.check label i:before {
	content: "\f096";
	margin-right: 0.5em;
	color: #ccc;
	font-size: 6vw;
	font-weight: normal;
	font-family: "FontAwesome";
	vertical-align: top;
}
.btnform ul li.check input:checked + label i:before {
	content: "\f14a";
	color: #c00;
}
.btnform ul li.radio label i:before {
	content: "\f10c";
	margin-right: 0.5em;
	color: #ccc;
	font-size: 6vw;
	font-weight: normal;
	font-family: "FontAwesome";
	vertical-align: top;
}
.btnform ul li.radio input:checked + label i:before {
	content: "\f192";
	color: #c00;
}
.btnform ul li.check i {
}
.btnform ul li.check i span {
}
.btnform ul li b i {
	display: inline-block;
	margin-left: 0.5em;
	padding: 0.15em 0.15em 0.25em;
	line-height: 1em;
	font-size: 0.7em;
	font-weight: 400;
	color: #fff;
	background: var(--SiteColor);
	white-space: nowrap;
}
.btnform ul li b {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	align-items: center;
	margin-bottom: 0.5em;
	line-height: 1.25em;
	font-size: 4vw;
}
.btnform ul li:not(.check):not(.radio) input ,
.btnform ul li:not(.check):not(.radio) textarea {
	border-radius: 4px;
	border: 1px solid #ccc;
	padding: 1em;
	width: 100%;
	line-height: 1.25em;
	background: #fafafa;
}
.btnform ul li:not(.check):not(.radio) textarea {
	min-height: 30vw;
}
.btnform ul li:not(.check) label {
	width: 100%;
}
.btnform ul li.check.li ,
.btnform ul li.radio.li {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.btnform ul li.check.li.cl ,
.btnform ul li.radio.li.cl {
	flex-flow: column;
}
.btnform ul li.check.li b ,
.btnform ul li.radio.li b {
	width: 100%;
	justify-content: center;
}
.btnform ul li.check.li label {
	margin: 0 1.5% 3%;
	width: 45%;
}
.btnform ul li.radio.li label {
	margin: 0 1.5% 3%;
	width: 40%;
}
.btnform ul li.check.li.cl label ,
.btnform ul li.radio.li.cl label {
	width: 100%;
}

.btnform select,
.btnform ::picker(select) {
	appearance: base-select;
}
.btnform .styled {
	margin: 0 1vw;
	padding: 1vw 2vw;
	border-color: #000;
}
.btnform .styled::picker(select) {
	border-color: #183a8e;
	border-radius: 8px;
	margin: 8px 0;
	box-shadow: 4px 4px #183a8e;
	/* アニメーションも設定できる */
	transition: scale 0.2s;
}
.btnform .styled::picker(select):hover {
	scale: 1.05;
}
.btnform ul li.select {
}
.btnform ul li.select .fl {
	justify-content: center;
	align-items: center;
}

.btnform ul li a {
	display: block;
	line-height: 1.5em;
	color: #000;
	text-decoration: underline!important;
	text-align: center;
}
.btnform ul li label + a {
	margin-top: 1em;
}

.btn {
	padding: 5% 0;
}
.btn button ,
.btn a {
	font-size: 6vw;
	width: 100%;
	height: 15vw;
	display: block;
	color: #000;
	background: #fef000;
	font-weight: 700;
	margin: 0 auto;
	border: none;
	cursor: pointer;
	border: 3px solid #000;
}
.btn button:disabled ,
.btn a:disabled {
	color: #000;
	background: #ddd;
	cursor: not-allowed;
}

.other #wrapper {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	height: 100vh;
}
.other section.sec .inner {
	min-height: 55vh;
}
.other.err section.sec .inner .error {
	margin: 0 auto;
	width: 90%;
	line-height: 1.5em;
}
.other.err section.sec .inner .error + .error {
	margin: 3% auto 0;
}
.other section.sec .inner .txt {
	margin: 0 auto;
	width: 90%;
	line-height: 1.5em;
}
.other section.sec .inner .txt + .txt {
	margin: 3% auto 0;
}

.company {
}
.company dl {
	margin: 0 5vw;
}
.company dl dt {
	padding: 0.5em 0;
	line-height: 1em;
	font-size: 5vw;
	font-weight: 700;
	color: #fff;
	background: #0084ff;
	text-align: center;
}
.company dl dd {
	padding: 1em 0;
	line-height: 1.5em;
	font-size: 5vw;
	font-weight: 700;
	text-align: center;
}

.tos {
}
.tos p:first-child {
	margin-bottom: 2em;
}
.tos dl {
	margin: 0 5vw;
}
.tos dl + dl {
	margin-top: 2em;
}
.tos dl dt {
	padding: 0.5em 0;
	line-height: 1em;
	font-size: 4vw;
	font-weight: 700;
	color: #fff;
	background: var(--SubColor);
	text-align: center;
}
.tos dl dd {
	padding: 1em 0;
	line-height: 1.75em;
	font-size: 3.2vw;
}
.tos dl dd p:first-child {
	margin-bottom: 0;
}

footer {
}
footer .inner {
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 5vw 0 0;
	width: 100%;
	background: #fff;
}
footer .footlogo {
	width: 30vw;
}
footer ul {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	margin: 0 auto;
	padding: 5vw 0 0;
	width: 90%;
}
footer ul li {
	margin: 0 0 4%;
	width: 48%;
}
footer ul li a {
	display: flex;
	border: 1px solid #000;
	padding: 0.75em 0.5em;
	color: #000!important;
	font-size: 3.4vw;
	text-align: center;
}
footer ul li a:hover {
}
footer .copy {
	padding: 0.5em;
	width: 100%;
	font-size: 3vw;
	color: #fff;
	background: var(--SiteColor);
	text-align: center;
}