@charset "utf-8";
*{
	box-sizing: border-box;
	word-break: break-all;
}
html {
	font-size: 10px;
}
body {
	background: #D9E0E6;
	color: #3E3E3E;
	font-size: 1.8rem;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:500;
	line-height: 1.65;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
	padding-top: 10.4rem;
}

input,button,select,textarea{
	font-family: "Noto Sans JP", sans-serif;
	font-weight:500;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0
}
ul li {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-size:1.8rem;
	font-weight: normal;
}
address {
	font-style: inherit
}
a {
	text-decoration: none;
	color: #3E3E3E;
	transition: 0.2s ease;
}
a:hover {
	text-decoration: none;
	opacity: 0.7;
}
p {
	margin-bottom: 1.5em;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
table {
	width: 100%;
	border-collapse: collapse;
}
hr {
	border: none;
	height: 1px;
	background: #1c1c1c;
	margin-bottom: 1em;
}
strong{
	font-weight: bold;
}
.hide{
	display: none;
}

@media screen and (min-width: 901px) {
	.sp_only{
		display: none !important;
	}
}

/*---------------------------------------------------------*/
/* wrapper */
.wrapper_full,
.wrapper_l,
.wrapper_m,
.wrapper_s,
.wrapper_700,
.wrapper_ss{
	box-sizing: content-box;
	margin:0 auto;
	position: relative;
}
.wrapper_l{
	max-width:1320px;
}
.wrapper_m{
	max-width:1128px;
}
.wrapper_s{
	max-width:840px;
}
.wrapper_700{
	max-width:700px;
}
.wrapper_ss{
	max-width:600px;
}
.wrapper_inner{
	padding: 0 7.272727%;
}
.separater{
	margin: 5rem 0 4rem;
	background: #ceb07a;
}
.accordion_body{
	display: none;
}

/*---------------------------------------------------------*/
/* font */
.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.notosans {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

/* weight */
.light{
	font-weight: normal;
}
.normal{
	font-weight: normal;
}
.medium{
	font-weight: normal;
}
.semibold{
	font-weight: bold;
}
.bold{
	font-weight: bold;
}
.black{
	font-weight: 900;
}
/* size */
.size_ll{
	font-size: 150%;
}
.size_l{
	font-size: 125%;
}
.size_s{
	font-size: 81.25%;
}
.size_ss{
	font-size: 60%;
}
/* align */
.text_center{
	text-align: center;
}
.text_left{
	text-align: left;
}
.text_right{
	text-align: right;
}
.text_upper{
	vertical-align: super;
	font-size:0.6em;
}
/* color */
.text_brown{
	color: #a98777;
}
.text_red{
	color: #C50000;
}
.text_orange{
	color: #ff9500;
}
.text_blue{
	color: #004EBB;
}
/* decoration */
.underline{
	text-decoration: underline;
}
/* marker */
.marker{
	display: inline-block;
	position: relative;
}
.marker::after{
	animation: makermove 4s linear 0s infinite forwards;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	transform-origin: left;
	transform: scaleX(0);
	z-index: -1;
}
.marker_blue::after{
	background:linear-gradient(transparent 60%, #90b0de 60%);
}
.marker_lightblue::after{
	background:linear-gradient(transparent 60%, #aadbdd 60%);
}
@keyframes makermove {
	0%{
		transform-origin: left;
		transform: scaleX(0);
	}
	15%{
		transform-origin: left;
		transform: scaleX(100%);
	}
	70%{
		transform-origin: right;
		transform: scaleX(100%);
	}
	85%{
		transform-origin: right;
		transform: scaleX(0);
	}
	100%{
		transform-origin: right;
		transform: scaleX(0);
	}
}

/*---------------------------------------------------------*/
/* btn_register */
.btn_register a,
.btn_register_s a{
	background: #FFD900;
	border: 0.4rem solid #fff;
	border-radius: 10rem;
	box-shadow: 0px 0.1rem 1rem 0px #0000000D;
	display: block;
	font-size: 2.4rem;
	line-height: 1;
	padding: 2rem 4.4rem;
	position: relative;
	transition: 0.2s ease all;
	width: fit-content;
}
.btn_register_s a{
	border-color: #FFD900;
	font-size: 1.8rem;
	margin: auto;
	padding: 1.7rem 3.2rem;
}
.btn_register a:hover,
.btn_register_s a:hover{
	background: #FFF;
	border-color: #FFD900;
	box-shadow: 0px 0.1rem 1rem 0px #00000000;
	opacity: 1;
}
.btn_register a:before, .btn_register a:after,
.btn_register_s a:before,.btn_register_s a:after {
	content: "";
	position: absolute;
	z-index: -10;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 10rem;
	background: #FFD900;
	transform: translate3d(0,0,0);
}
.btn_register a:before,
.btn_register_s a:before {
	animation: glow_anime 2s ease-out infinite;
}
.btn_register a:after,
.btn_register_s a:after {
	animation: glow_anime 2s ease-out 2s infinite;
}
@keyframes glow_anime{
	0%{transform:scale(.95); opacity:1}
	60%{opacity:.1}to{transform:scale(1.2,1.6); opacity:0}
}

/*---------------------------------------------------------*/
/* icon */
.ic_check{
	background: url(../img/ic_check.svg) no-repeat center center;
	background-size: 2.4rem auto;
	display: inline-block;
	height: 2.4rem;
	width: 2.4rem;
}

/*---------------------------------------------------------*/
/* margin & padding */
.pc_mt_20{
	margin-top: 20px;
}
.pc_mt_30{
	margin-top: 30px;
}
.pc_mt_40{
	margin-top: 40px;
}
.pc_mt_50{
	margin-top: 50px;
}
.pc_mt_60{
	margin-top: 60px;
}
.pc_mt_80{
	margin-top: 80px;
}
.pc_mt_90{
	margin-top: 90px;
}
.pc_mt_100{
	margin-top: 100px;
}
.pc_mt_110{
	margin-top: 110px;
}
.pc_mt_130{
	margin-top: 130px;
}
.pc_mt_150{
	margin-top: 150px;
}
.pc_mt_180{
	margin-top: 180px;
}
.pc_mt_200{
	margin-top: 200px;
}

/*---------------------------------------------------------*/
/* width */
.width100per{
	width: 100%;
}

/*---------------------------------------------------------*/
/* flex & float */
.flex_block{
	display: flex;
	justify-content: space-between;
	flex-grow: 1;
}
.flex_wrap{
	flex-wrap: wrap;
}
.flex_nowrap{
	flex-wrap: nowrap;
}
.justify_start{
	justify-content: flex-start;
}
.justify_center{
	justify-content: center;
}
.justify_between{
	justify-content: space-between;
}
.justify_around{
	justify-content: space-around;
}
.float_right{
	float: right;
}
.float_left{
	float: left;
}
.flex_block.column_3 > div{
	width: 32%;
}

/*---------------------------------------------------------*/
/* box */
.box_white{
	background: #fff;
}
.box_shadow{
	background-color: rgb(255, 255, 255);
	box-shadow: 0px 0.1rem 1rem 0px #0000000D;
	border-radius: 1.2rem;
	padding: 2rem;
	position: relative;
}

/*---------------------------------------------------------*/
/* bg_image */
.bg_image{
	background: url(../img/background.jpg) center top;
	background-size: auto;
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	z-index: -1;
}
@media screen and (min-width: 2560px) {
	.bg_image{
		background-size: cover;
	}
}

/*---------------------------------------------------------*/
/* global_btn */
.global_btn a{
	border: #FFD900 0.2rem solid;
	border-radius: 10rem;
	display: block;
	font-size: 1.3rem;
	line-height: 1;
	padding: 1.2rem 2.4rem;
	width: fit-content;
}
.global_btn.corporate{
	flex-grow: 1;
}
.global_btn.corporate a{
	background: #3E3E3E;
	border-color: #3E3E3E;
	color: #fff;
}
.global_btn.login{
	margin-right: 1.6rem;
}
.global_btn.login a{
	background: #004EBB;
	border-color: #004EBB;
	color: #fff;
}
.global_btn.register{
	margin-right: 14.4rem;
}
.global_btn.register a{
	background: #FFD900;
	border-color: #FFD900;
}
.global_btn.corporate a:hover,
.global_btn.login a:hover,
.global_btn.register a:hover{
	background: #fff;
	color: #3E3E3E;
	opacity: 1;
}

/*---------------------------------------------------------*/
/* head */
.head{
	display: flex;
	align-items: center;
	position: fixed;
	left: 0;
	top: 0;
	height: 10.4rem;
	width: 100%;
	z-index: 180;
}

/* logo */
.head .logo{
	padding: 0 7.45rem 0 4.8rem;
	transition: padding 0.2s ease;
}
.head .logo img{
	width: 25.5rem;
	height: auto;
}
@media screen and (max-width: 980px) {
	.head .logo{
		padding: 0 1.6rem;
	}
}

/* head_hamburger */
.head_hamburger{
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 2.4rem;
	right: 4.8rem;
	width: 5.6rem;
	height: 5.6rem;
	cursor: pointer;
	z-index: 600;
}
.head_hamburger .border{
	background: #3E3E3E;
	border-radius: 10rem;
	display: block;
	width: 4.4rem;
	height: 0.4rem;
	position: absolute;
	transition: all 0.2s ease;
}
.head_hamburger .border:nth-child(1){
	top: 1rem;
}
.head_hamburger .border:nth-child(3){
	bottom: 1rem;
}
.head_hamburger.active .border:nth-child(1){
	top: calc(50% - 0.2rem);
	transform: rotate(45deg);
}
.head_hamburger.active .border:nth-child(2){
	width: 0;
}
.head_hamburger.active .border:nth-child(3){
	top: calc(50% - 0.2rem);
	transform: rotate(-45deg);
}

/* head_hamburger_body */
.head_hamburger_body{
	background: #DEE3E9;
	display: none;
	padding: 8rem 0 5rem;
	position: fixed;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	z-index: 500;
}
.head_hamburger_body .inner{
	overflow: auto;
	margin: auto;
	height: 100%;
	width: 48rem;
}
.head_hamburger_body a{
	width: 100%;
}
/* hambruger_btns */
.head_hamburger_body .hambruger_btns{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.head_hamburger_body .global_btn.login,
.head_hamburger_body .global_btn.register{
	order: 1;
	margin-right: 0;
	width: 47.5%;
}
.head_hamburger_body .global_btn.login{
	margin-right: 5%;
}
.head_hamburger_body .global_btn.login a,
.head_hamburger_body .global_btn.register a{
	padding: 1.6rem;
	font-size: 1.6rem;
}
.head_hamburger_body .global_btn.corporate{
	flex-grow: 0;
	order: 2;
	margin: 2.4rem auto 3.6rem;
	width: 57.5%;
}
.head_hamburger_body .global_btn.corporate a{
	padding: 2.0rem;
	font-size: 1.8rem;
}
/* hambruger_links */
.hambruger_links{
	border-top: #8D8D8D solid 0.1rem;
}
.hambruger_links a{
	border-bottom: #8D8D8D solid 0.1rem;
	display: flex;
	justify-content: space-between;
	padding: 2.6rem 1.6rem;
}
.hambruger_links a:hover{
	background: #fff;
	opacity: 1;
}
.hambruger_links a::after{
	background: url(../img/ic_arrow_r.svg) no-repeat center center;
	background-size: cover;
	content: "";
	height: 3rem;
	width: 3rem;
}
.hambruger_links a:hover::after{
	animation: ic_arrow_r 1s cubic-bezier(0.25, 1, 0.5, 1) forwards infinite;
}
@keyframes ic_arrow_r {
	0%{
		transform: translateX(-1rem);
	}
	100%{
		transform: translateX(1rem);
	}
}

/*---------------------------------------------------------*/
/* foot */
.foot{
	background: #3E3E3E;
	color: #fff;
	display: flex;
	align-items: flex-start;
	margin-top: 10rem;
	padding: 6.4rem 4.8rem;
}
/* logo */
.foot .logo{
	flex-shrink: 0;
	font-size: 1.1rem;
	font-weight: 400;
	margin: 0 5rem 3rem 0;
	text-align: center;
	width: 18rem;
}
.foot .logo img{
	margin-bottom: 0.5rem;
	width: 100%;
}
/* btns */
.foot .btns{
	flex-wrap: wrap;
	flex-shrink: 1;
	margin: 0 5rem 3rem 0;
	max-width: 42.7rem;
	width: 42.7rem;
}
.foot .btns > div{
	flex-grow: 0;
	margin: 0;
	width: 20.8rem;
}
.foot .btns a{
	width: 100%;
}
.foot .global_btn.login,
.foot .global_btn.register{
	order: 1;
	margin-bottom: 1.6rem;
}
.foot .global_btn.login a,
.foot .global_btn.register a{
	font-size: 1.2rem;
}
.foot .global_btn.corporate{
	order: 2;
}
.foot .global_btn.corporate a{
	border-color: #fff;
	font-size: 1.3rem;
	padding: 1.5rem;
}
/* links */
.foot .links{
	flex-shrink: 1;
	margin-left: auto;
	flex-wrap: wrap;
	max-width: 45.6rem;
}
.foot .links a{
	color: #fff;
	display: block;
	font-size: 1.2rem;
	margin-bottom: 0.8rem;
	padding-left: 1.6rem;
	position: relative;
	width: 22.4rem;
}
.foot .links a::before{
	background: #8D8D8D;
	content: "";
	position: absolute;
	left: 0;
	top: 0.7rem;
	height: 0.2rem;
	width: 0.8rem;
}
@media screen and (max-width: 1050px) {
	.foot .links{
		width: 22.4rem;
	}
}
/* copyright */
.copyright{
	background: #3E3E3E;
	color: #fff;
	font-size: 1.6rem;
	padding-bottom: 10rem;
	width: 100%;
}

/*---------------------------------------------------------*/
/* Loading Animation */
.loader {
	width: 10rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: 
	  radial-gradient(farthest-side,#004EBB 94%,#0000) top/0.8rem 0.8rem no-repeat,
	  conic-gradient(#0000 30%,#004EBB);
	-webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 0.8rem),#000 0);
	animation: l13 1s infinite linear;
  }
@keyframes l13{ 
	100%{transform: rotate(1turn)}
}

/*---------------------------------------------------------*/
/* 移動＋フェードイン */
/* 下から上 */
.js-fadeUp {
	opacity: 0;
	transform: translateY(2rem);
	transition: opacity 1s, transform 1s;
}
.js-fadeUp.is-inview {
	opacity: 1;
	transform: translateY(0);
	transition-delay: .1s;
}
/* 左から右 */
.js-fadeToRight {
	opacity: 0;
	transform: translateX(-2rem);
	transition: opacity 1s, transform 1s;
}
.js-fadeToRight.is-inview {
	opacity: 1;
	transform: translateX(0);
	transition-delay: .1s;
}
/* 右から左 */
.js-fadeToLeft {
	opacity: 0;
	transform: translateX(2rem);
	transition: opacity 1s, transform 1s;
}
.js-fadeToLeft.is-inview {
	opacity: 1;
	transform: translateX(0);
	transition-delay: .1s;
}
/* タイミングずらし */
.js-fadeUp.is-inview.order2,
.js-fadeToRight.is-inview.order2,
.js-fadeToLeft.is-inview.order2{
	transition-delay: .4s;
}
.js-fadeUp.is-inview.order3,
.js-fadeToRight.is-inview.order3,
.js-fadeToLeft.is-inview.order3{
	transition-delay: 0.7s;
}
.js-fadeUp.is-inview.order4,
.js-fadeToRight.is-inview.order4,
.js-fadeToLeft.is-inview.order4{
	transition-delay: 1.0s;
}

/*---------------------------------------------------------*/
/* displayNone */
.displayNone{
	display: none;
}

/*---------------------------------------------------------*/
/* basic_contents */
.basic_contents{
	margin-top: 10rem;
	overflow: hidden;
	padding-bottom: 10rem;
	position: relative;
}
.basic_contents.bgrect_left::after,
.basic_contents.bgrect_right::after{
	background: #D9E0E6;
	content: "";
	position: absolute;
	bottom: 0;
	opacity: 0;
	height: calc(100% - 6.6rem);
	width: calc(50% + 18rem);
	transition: 2s all cubic-bezier(0.25, 1, 0.5, 1);
	transition-delay: 1s;
	z-index: -1;
}
.basic_contents.bgrect_left::after{
	border-radius: 0 8rem 8rem 0;
	left: 0;
	transform: translateX(-100%);
}
.basic_contents.bgrect_right::after{
	border-radius: 8rem 0 0 8rem;
	right: 0;
	transform: translateX(100%);
}
.basic_contents.bgrect_left.is-inview::after,
.basic_contents.bgrect_right.is-inview::after{
	opacity: 1;
	transform: translateX(0%);
}

/*---------------------------------------------------------*/
/* basic_title */
.basic_title{
	margin-left: 2.6rem;
}
.basic_title .en{
	display: block;
	color: #fff;
	font-size: 12rem;
	line-height: 1;
	text-shadow: 0px 0.1rem 1rem #0000000D;
}
.basic_title .jp{
	display: block;
	font-size: 4rem;
	margin-bottom: 5.4rem;
}

.basic_title_s{
	display: flex;
	align-items: center;
	font-size: 4rem;
	margin-bottom: 5.4rem;
}
.basic_title_s::before{
	background: #004EBB;
	border-radius: 10rem;
	content: "";
	margin-right: 2.4rem;
	height: 0.8rem;
	width: 5.6rem;
}

/*---------------------------------------------------------*/
/* basic_table  */
.basic_table{
	border-collapse: separate;
	border-spacing: 0.4rem;
	width: 100%;
}
/* thead */
.basic_table thead th{
	background: #F7F7F7;
	border-radius: 0.8rem 0.8rem 0 0;
	padding: 2.3rem 1rem;
	vertical-align: top;
}

/* tbody */
.basic_table tbody th,
.basic_table tbody td{
	background: #F7F7F7;
	font-size: 1.6rem;
	padding: 1.6rem;
}
.basic_table tbody tr:nth-child(2n) th,
.basic_table tbody tr:nth-child(2n) td{
	background: #EFEFEF;
}

/*---------------------------------------------------------*/
/* easytips */
.easytips{
	position: relative;
}
.easytips::before{
	border:1rem solid transparent;
	border-top: 1rem solid #152A3A;
	content: "";
	display: none;
	height: 1rem;
	width: 0;
	position: absolute;
	top: -0.6rem;
	left: -0.2rem;
	z-index: 101;
}
.easytips_icon{
	background: url(../img/ic_question.svg) no-repeat center center;
	background-size: contain;
	display: inline-block;
	height: 1.8rem;
	width: 1.8rem;
	vertical-align: middle;
}
.easytips_body{
	background: #152A3A;
	border-radius: 0.8rem;
	box-shadow: 0.6rem 0.6rem 0.4rem 0 rgba(0,0,0,0.1);
	color: #fff;
	display: none;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.5;
	padding: 1.2rem 2rem;
	position: absolute;
	left: calc(50% - 17rem);
	bottom: calc(100% + 0.5rem);
	text-align: left;
	white-space: normal;
	width: 34rem;
	z-index: 1000;
}
.easytips_body a{
	color: #fff;
}
.easytips:hover::before,
.easytips:hover .easytips_body{
	display: block;
}
.easytips_body .image{
	display: block;
	margin: 1rem 0;
	width: 100%;
}

/*---------------------------------------------------------*/
/* fadeinout */
.fadeinout {
	position: relative;
}
.fadeinout > * {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
/* imgnum_1 */
.fadeinout.imgnum_1 > * {
	opacity: 1;
	animation: mv_img_anim_num1 1s;
}
@keyframes mv_img_anim_num1 {
	0%		{ opacity: 0; }
	100%	{ opacity: 1; }
}
/* imgnum_2 */
.fadeinout.imgnum_2 > * {
	animation: mv_img_anim_num2 8s infinite;
}
@keyframes mv_img_anim_num2 {
	0%		{ opacity: 0; }
	12.5%	{ opacity: 1; }
	50%		{ opacity: 1; }
	62.5%	{ opacity: 0; }
	100%	{ opacity: 0; }
}
/* imgnum_3 */
.fadeinout.imgnum_3 > * {
	animation: mv_img_anim_num3 12s infinite;
}
@keyframes mv_img_anim_num3 {
	0%		{ opacity: 0; }
	8.3333%	{ opacity: 1; }
	33.3333%{ opacity: 1; }
	41.6667%{ opacity: 0; }
	100%	{ opacity: 0; }
}
/* imgnum_4 */
.fadeinout.imgnum_4 > * {
	animation: mv_img_anim_num4 16s infinite;
}
@keyframes mv_img_anim_num4 {
	0%		{ opacity: 0; }
	6.25%	{ opacity: 1; }
	25%		{ opacity: 1; }
	31.25%	{ opacity: 0; }
	100%	{ opacity: 0; }
}
/* imgnum_5 */
.fadeinout.imgnum_5 > * {
	animation: mv_img_anim_num5 20s infinite;
}
@keyframes mv_img_anim_num5 {
	0%		{ opacity: 0; }
	5%		{ opacity: 1; }
	20%		{ opacity: 1; }
	25%		{ opacity: 0; }
	100%	{ opacity: 0; }
}
/* imgnum_6 */
.fadeinout.imgnum_6 > * {
	animation: mv_img_anim_num6 24s infinite;
}
@keyframes mv_img_anim_num6 {
	0%		{ opacity: 0; }
	4.1667%	{ opacity: 1; }
	16.6667%{ opacity: 1; }
	20.8333%{ opacity: 0; }
	100%	{ opacity: 0; }
}
/* delay */
.fadeinout > *:nth-of-type(2) {
	animation-delay: 4s;
}
.fadeinout > *:nth-of-type(3) {
	animation-delay: 8s;
}
.fadeinout > *:nth-of-type(4) {
	animation-delay: 12s;
}
.fadeinout > *:nth-of-type(5) {
	animation-delay: 16s;
}
.fadeinout > *:nth-of-type(6) {
	animation-delay: 20s;
}
