/*------------------------------------------

	共通

------------------------------------------*/
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #003466;
	line-height: 2.125;
	font-weight: 400;
}
header {
	width: 100%;
	height: 0;
	font-weight: 500;
}

.under header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	transition: .3s;
}

header .logo {
	position: relative;
	width: 194px;
	height: auto;
}
.under header .logo {
	width: auto;
	height: auto;
	margin: 5px 0 0 5px;
}
header .logo img {
	position: relative;
	z-index: 1;
}

.under header {
	height: 66px;
	background-color: #fff;
}

.inb {
	display: inline-block;
}

.anchor {
	padding-top: 76px;
	margin-top: -76px;
}

.tit-type1 {
	font-size: 5.8rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: .05em;
}
.tit-type1 + .sub {
    font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 1;
    font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
    font-weight: 700;
    display: block;
    padding-left: 1.7em;
}

.mv-box {
	padding-top: 66px;
	position: relative;
}
.mv-box img {
	display: block;
}

.page-tit-box {
	color: #fff;
    letter-spacing: .35em;
	margin-top: 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.page-tit {
	font-size: 6.0rem;
	font-family: 'Roboto', sans-serif;
	line-height: 1.15;
	letter-spacing: .08em;
	text-shadow: 
	   1px  1px 1px #57c2e9,
	  -1px  1px 1px #57c2e9,
	   1px -1px 1px #57c2e9,
	  -1px -1px 1px #57c2e9,
	   1px  0px 1px #57c2e9,
	   0px  1px 1px #57c2e9,
	  -1px  0px 1px #57c2e9,
	   0px -1px 1px #57c2e9;
	font-weight: 300;
}
.page-tit + .sub {
    font-size: 1.8rem;
	letter-spacing: .1em;
	line-height: 1;
    font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
    font-weight: 700;
    display: block;
}

.pos-ab {
    position: absolute;
    top: -46px;
    left: -10px;
    z-index: 1;
}

.tit-type2 {
	font-size: 6.6rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: .08em;
	text-align: center;
}
.tit-type2 + .sub {
    font-size: 1.6rem;
	text-align: center;
	letter-spacing: .1em;
    font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
    font-weight: 700;
    display: block;
}

.bnr {
	overflow: hidden;
}
.bnr img {
	transform: .6s;
}
.bnr img:hover {
	transform: scale(1.03);
}

.typing {
  opacity: 0;
  }
.typing span {
  opacity: 0;
  }

.wrap {
	overflow: hidden;
}

.inr {
	width: 100%;
	max-width: 1050px;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

.open-btn {
	width: 66px;
	height: 66px;
	background-color: #57C2E9;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	cursor: pointer;
	z-index: 25;
}
.open-btn span {
	width: 24px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.open-btn span,
.open-btn span::before,
.open-btn span::after {
	height: 2px;
	background-color: #fff;
	display: block;
	position: absolute;
	transition: .3s;
}
.open-btn span::before,
.open-btn span::after {
	content: "";
	left: 0;
}
.open-btn span::before {
	width: 30px;
	top: -11px;
}
.open-btn span::after {
	width: 18px;
	bottom: -11px;
}

.open-btn:hover span,
.open-btn:hover span::before,
.open-btn:hover span::after {
	width: 30px;
}

.open .open-btn span,
.open .open-btn span::before,
.open .open-btn span::after {
	width: 30px;
}

.open .open-btn span {
	transform: translate(-50%,-50%) rotate(45deg);
}
.open .open-btn span::before {
    margin-left: 15px;
    margin-top: 12px;
    transform: translate(-50%,-50%) rotate(-90deg);
}
.open .open-btn span::after {
	opacity: 0;
}

.entry-btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 136px;
	height: 66px;
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	background: transparent;
	color: #003466;
	position: fixed;
	top: 0;
	right: 65px;
	z-index: 2;
	cursor: pointer;
}
.entry-btn #img-entry {
	width: 100%;
	height: 100%;
	transition: .7s;
}
.entry-btn #img-entry:hover {
	opacity: .7;
}
.entry-btn .dropdown-menu {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 66px;
	right: 1px;
	width: 256px;
	text-align: center;
	font-size: 1.6rem;
	background: #003466;
	color: #FFFFFF;
	-webkit-transition: all ease-in-out .3s;
	transition: all ease-in-out .3s;
	filter: drop-shadow(0px 7px 10px rgba(22, 104, 165, 0.1));
}
.entry-btn .dropdown-menu.open {
	display: block;
	opacity: 1;
	visibility: visible;
}
.entry-btn ul li {
	-webkit-transition: all ease-in-out .3s;
	transition: all ease-in-out .3s;
}
.entry-btn ul li:hover {
	opacity: 0.5;
}
.entry-btn ul li.li-underline {
	border-bottom: 2px solid #FFFFFF;
}
.entry-btn ul li span {
	display: inline-block;
	width: 100%;
	padding: 2rem 0;
}

header .gnav {
	width: 100%;
	max-height: 0;
	font-size: 1.5rem;
	line-height: 18px;
	letter-spacing: .08em;
	background-color: #fff;
	border: #57C2E9 14px solid;
	padding: 0;
	position: fixed;;
	left: 0;
	opacity: 0;
	top: -500px;
	-webkit-transition: max-height 1600ms;
	transition: .6s;
}

.open header .gnav {
	max-height: 1000px;
	padding-top: 90px;
	padding-bottom: 70px;
	opacity: 1;
	-webkit-transition: max-height 1600ms;
	transition: .6s;
	top: 0;
	z-index: 20;
}

header .gnav .sub {
	font-size: 1.3rem;
	line-height: 1.92307692308;
}

footer {
	font-weight: 500;
	background-color: #F2F5F7;
	letter-spacing: .08em;
	padding-top: 60px;
	padding-bottom: 20px;
}

footer .inr {
	position: relative;
	z-index: 1;
}

address {
	font-size: 1.0rem;
	font-style: normal;
	text-align: right;
	padding-right: 30px;
}

.footer_bnr li {
	width: 30.5882352941%;
	padding: 0 12px;
}

/*PC*/
@media screen and (min-width: 768px) {
	.comingsoon {
		opacity: .4;
		pointer-events: none;
	}

	.nav-box {
		margin: 0 25px;
	}

	.nav-box ol li {
		list-style: decimal;
		padding-left: 5px;
		margin-left: 2em;
	}
	.nav-box ul li {
		position: relative;
		padding-left: 11px;
		margin-left: 1em;
	}
	.nav-box ul li::before {
		content: "";
		width: 4px;
		height: 4px;
		background-color: #003466;
		border-radius: 100px;
		position: absolute;
		top: 11px;
		left: 0;
	}

	.double-bdr {
		border-left: #003466 1px solid;
		padding-left: 1em;
		position: relative;
	}
	.double-bdr::before {
		content: "";
		width: 1px;
		height: 100%;
		background-color: #57c2e9;
		position: absolute;
		top: 0;
		left: 1px;
	}
	
	footer .nav-box {
		font-size: 1.4rem;
		border-left: #CCD6E0 1px solid;
		padding-right: 53px;
		padding-left: 24px;
		margin: 0;
	}
	footer .nav-box:last-child {
		border-right: #CCD6E0 1px solid;
	}
	footer .nav-box .sub {
		font-size: 1.2rem;
	}
}/*END*/

/*PC*/
@media screen and (max-width: 1069px) {
	.nav-box {
		margin: 0 20px;
	}
}

/*PC*/
@media screen and (max-width: 1029px) {
	.nav-box {
		margin: 0 15px;
	}
}

/*PC*/
@media screen and (max-width: 1036px) {
	footer .nav-box {
		padding-right: 33px;
		padding-left: 23px;
	}
}

/*PC*/
@media screen and (max-width: 989px) {
	header .nav-box {
		margin: 0 10px;
	}
}

/*PC*/
@media screen and (max-width: 956px) {
	footer .nav-box {
		padding-right: 23px;
		padding-left: 13px;
	}
}

/*PC*/
@media screen and (max-width: 949px) {
	header .nav-box {
		margin: 0 5px;
	}
}

/*PC*/
@media screen and (max-width: 909px) {
	header .nav-box {
		margin: 0 3px;
	}
}

/*PC*/
@media screen and (max-width: 869px) {
	header .nav-box {
		font-size: 1.3rem;
	}
}

/*PC*/
@media screen and (max-width: 846px) {
	header .nav-box {
		font-size: 1.3rem;
	}
}

/*PC*/
@media screen and (max-width: 824px) {
	header .nav-box {
		font-size: 1.2rem;
	}
	header .gnav .sub {
		font-size: 1.2rem;
	}
}

/*PC*/
@media screen and (max-width: 876px) {
	footer .nav-box {
		padding-right: 10px;
		padding-left: 10px;
	}
	footer .nav-box {
		font-size: 1.2rem;
	}
	footer .nav-box .sub {
		font-size: 1.0rem;
	}
}

/*PC*/
@media screen and (max-width: 837px) {
	footer .nav-box {
		padding-right: 13px;
		padding-left: 13px;
	}
}

/*PC*/
@media screen and (max-width: 777px) {
	header .nav-box {
		margin: 0 1px;
	}
}


/*Smartphone*/
@media screen and (max-width: 767px) {
	body {
		font-size: 1.4rem;
	}

	.inr {
		max-width: 1030px;
		padding-right: 0;
		padding-left: 0;
	}

	.anchor {
		padding-top: 57px;
		margin-top: -57px;
	}

	header .under .logo {
		width: 124px;
	}

	.under .inr {
		padding-right: 30px;
		padding-left: 30px;
	}

	.under .mv-box {
		padding-top: 47px;
	}

	.comingsoon a {
		opacity: .4;
		pointer-events: none;
	}

	.tit-type1 {
		font-size: 3.3rem;
		line-height: 1.25;
	}
	.tit-type1 + .sub {
		font-size: 1.1rem;
	}

	.tit-type2 {
		font-size: 3.3rem;
		line-height: 1.25;
	}
	.tit-type2 + .sub {
		font-size: 1.1rem;
	}

	.page-tit-box {
		margin-top: 20px;
	}
	.page-tit {
		font-size: 3.0rem;
		font-family: 'Roboto', sans-serif;
		line-height: 1.15;
		text-shadow: 
		   .5px  .5px .5px #57c2e9,
		  -.5px  .5px .5px #57c2e9,
		   .5px -.5px .5px #57c2e9,
		  -.5px -.5px .5px #57c2e9,
		   .5px  0px .5px #57c2e9,
		   0px  .5px .5px #57c2e9,
		  -.5px  0px .5px #57c2e9,
		   0px -.5px .5px #57c2e9;
		font-weight: 700;
	}
	.page-tit + .sub {
		font-size: 1.5rem;
		letter-spacing: .1em;
		line-height: 1;
		font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
		font-weight: 700;
		display: block;
		padding-left: 0;
	}

	.under header {
		height: 47px;
	}

	header .logo img {
		width: 124px;
		height: auto;
	}

	.open-btn {
		width: 47px;
		height: 47px;
	}
	.open-btn span {
		width: 17px;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.open-btn span,
	.open-btn span::before,
	.open-btn span::after {
		height: 2px;
		background-color: #fff;
		display: block;
		position: absolute;
		transition: .3s;
	}
	.open-btn span::before,
	.open-btn span::after {
		content: "";
		left: 0;
	}
	.open-btn span::before {
		width: 21px;
		top: -11px;
	}
	.open-btn span::after {
		width: 12px;
		bottom: -11px;
	}

	.open-btn:hover span,
	.open-btn:hover span::before,
	.open-btn:hover span::after {
		width: 21px;
	}

	.open .open-btn span,
	.open .open-btn span::before,
	.open .open-btn span::after {
		width: 21px;
	}

	.entry-btn {
		z-index: 30;
		width: 97px;
		height: 47px;
		font-size: 1.5rem;
		right: 47px;
	}
	.entry-btn #img-entry {
		width: 97px;
		height: 47px;
	}
	.entry-btn .dropdown-menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		font-size: 1.5rem;
		background: #FFFFFF;
		-webkit-box-shadow:inset 0px 0px 0px 16px #57C2E9;
		-moz-box-shadow:inset 0px 0px 0px 16px #57C2E9;
		box-shadow:inset 0px 0px 0px 16px #57C2E9;
		text-align: left;
	}
	.entry-btn .dropdown-menu-box {
		position: absolute;
		top: 40%;
		left: 10%;
		-ms-transform: translate(0, -50%);
		-moz-transform: translate(0, -50%);
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		text-align: left;
		width: 80%;
	}
	.entry-btn ul li {
		border-top: 2px solid #F2F5F7;
		color: #003466;
		font-size: 1.7rem;
	}
	.entry-btn ul li.li-underline {
		border-bottom: 0;
	}
	.entry-btn ul li:last-child {
		border-bottom: 2px solid #F2F5F7;
	}
	.entry-btn ul li a {
		display: inline-block;
		width: 100%;
	}
	.entry-btn .modal__icon {
		position: fixed;
		top: 0;
		right: 0;
		display: inline-block;
		width: 47px;
		height: 47px;
		cursor: pointer;
		background: #57C2E9;	
	}
	.entry-btn .modal__icon span::before,
	.entry-btn .modal__icon span::after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 25%;
		-ms-transform: translate(-50%, -50%);
		-moz-transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 50%;
		height: 2px;
		background: #FFFFFF;
	}
	.entry-btn .modal__icon span::before {
		transform: rotate(-45deg);
	}
	.entry-btn .modal__icon span::after {
		transform: rotate(45deg);
	}

	header .gnav {
		font-size: 1.3rem;
		overflow: scroll;
		padding-bottom: 0;
	}
	header .gnav {
		width: 100%;
		max-height: 0;
		font-size: 1.6rem;
		line-height: 18px;
		letter-spacing: .08em;
		background-color: #fff;
		border: 0;
		padding: 0;
		position: fixed;;
		left: 0;
		opacity: 0;
		top: -500px;
		-webkit-transition: max-height 1600ms;
		transition: .6s;
	}
	.open header .gnav {
		height: 100%;
		padding-top: 60px;
		padding-right: 15px;
		padding-bottom: 0;
		padding-left: 0;
	}
	
	header .nav-box {
		width: 100%;
		margin: 0;
	}
	.open .open-btn span::before {
		margin-left: 10px;
		margin-top: 12px;
		transform: translate(-50%,-50%) rotate(-90deg);
	}

	header .double-bdr {
		border: 0;
		padding-left: 0;
	}
	header .sm-double-bdr {
		border-top: #f2f5f7 1px solid;
		border-left: #95daf3 12px solid;
		padding-left: 20px;
	}
	header .sub .sm-double-bdr {
		border-left: #d1effa 12px solid;
	}
	header .nav-box:last-child {
		border-bottom: #f2f5f7 1px solid;
	}

	header .double-bdr {
		position: relative;
	}
	header .double-bdr a {
		display: block;
		padding: 1em 0;
	}
	header .double-bdr::after {
/*
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		border-radius: 2px;
		position: absolute;
		right: 16px;
		top: calc(50% - 2px);
		border-top: solid 2px;
		border-right: solid 2px;
		transform: rotate(45deg) translateY(-50%);
		color: inherit;
		opacity: 1;
		pointer-events: none;
*/
		
		display: none
	}
	
	.aco a {
		pointer-events: none;
	}

	.aco {
		padding: 1em 0;
		position: relative;
	}
	.aco::before,
	.aco::after {
		content: "";
		width: 12px;
		height: 2px;
		background-color: #003466;
		border-radius: 100px;
		position: absolute;
		top: 50%;
		right: 10px;
		transition: .3s;
	}
	.comingsoon .aco::before,
	.comingsoon .aco::after {
		opacity: .4;
	}
	.aco::after {
		transform: rotate(90deg);
	}
	.aco.activ::before {
		transform: rotate(45deg);
	}
	.aco.activ::after {
		transform: rotate(135deg);
	}

	.aco + .sub {
		max-height: 0;
		-webkit-transition: max-height 500ms;
		overflow: hidden;
	}
	.aco.activ + .sub {
		max-height: 300px;
	}

	footer {
		padding-top: 50px;
		padding-bottom: 5px;
	}
	
	footer .logo {
		width: 54.5333333333%;
		margin-right: auto;
		margin-left: auto;
	}

	.footer_bnr li {
		width: 69.3333333333%;
		padding: 0;
		margin-bottom: 15px;
	}
	.footer_bnr li:last-child {
		margin-bottom: 0;
	}
	.footer_bnr li img {
		display: block;
	}

	address {
		text-align: center;
		padding-right: 0;
	}
}/*END*/