@charset "utf-8";
/* CSS Document -----------------------------

 2020.05.19

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

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

 * タグの設定

---------------------------------------------- */
a {
	display: block;
	outline:none;
	line-height: 1.8;
	color: #111844;
	cursor: pointer;
	text-decoration: none;
	-webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}
input[type="submit"],
input[type="button"],
button {
	font-family: 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 400;
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
	outline: none;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea {
   -webkit-appearance: none;
   border-radius: 0;
}
select {
	font-family: 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    -webkit-appearance: none;
	 -moz-appearance: none;
    appearance: none;
}
select::-ms-expand{
	font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	display: none;
}
/*------------------------------------------------*/
html {
	font-family: 'Noto Sans','Noto Sans CJK JP', 'Noto Sans CJK JP Subset',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 62.5%;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "palt" 1;
	line-height: 1.8;
	color: #111844;
	word-break: break-word;
	overflow-wrap: break-word;
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {background: #EBEFF2;font-size: 1.4em;line-height: 1.8;color: #111844;}
@media all and (-ms-high-contrast:none) {
	.roboto {font-family: 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;}
}
h2,h3,h4,h5 {line-height: 1.6;}
ul,li,th,td {font-size: 1.4rem;line-height: 1.8;}
p {font-size: 1.4rem;line-height: 1.8;}
.ten-mincho {font-family: ten-mincho, serif;font-weight: 400;font-style: normal;}
.roboto {font-family: 'Open Sans', sans-serif;}
.l-inner {max-width: 146rem;}
.m-inner {max-width: 104rem;margin: 0 auto;padding: 0 2rem;}
.s-inner {max-width: 87rem;margin: 0 auto;padding: 0 2rem;}
.blank {padding-top: 10rem;}
.b-blank {margin-bottom: 10rem;}
.flexbox {display: flex;flex-wrap: wrap;}
.ttlbox {
	display: inline-block;
	background: #111844;
	color: #fff;
	padding: 1rem 3rem;
	transform: skewX(-20deg);
}
.ttlboxin {display: block;transform: skewX(20deg);line-height: 1.6;}
.title {
	display: flex;
	align-items: center;
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 3.5rem;
	z-index: 1;
	color: #111844;
}
.title span {
	font-size: 3rem;
	font-weight: 900;
	margin-right: 1.5rem;
	padding-right: 1.5rem;
	border-right: .4rem solid #111844;
}
.squere {
	font-size: 1.2rem;
	position: relative;
	padding-left: 1.5rem;
}
.squere::before {
    content: '';
    background: #333;
    width: 1rem;
    height: 1rem;
    position: absolute;
    left: .6rem;
    bottom: 50%;
    transform: translate(-50%,50%);
}

li.none::before {
    content: '';
    background: #EBEFF2;
    width: 1rem;
    height: 1rem;
    position: absolute;
    left: .6rem;
    bottom: 50%;
    transform: translate(-50%,50%);
}
li.squere a{display: inline-block;}

.pc {display: block;}
.sp,.sp2 {display: none;}
@media only screen and ( max-width : 1100px ) {
	.s-inner {padding: 0 1rem;}
	.blank {padding-top: 7rem;}
	.pc {display: none;}
	.sp {display: block;}
}
@media only screen and ( max-width : 500px ) {
	.blank {padding-top: 5rem;}
	.b-blank {margin-bottom: 5rem;}
	.title {font-size: 1.8rem;margin-bottom: 2rem;}
	.title span {
		font-size: 2.2rem;
		margin-right: 1rem;
		padding-right: 1rem;
		border-right: .3rem solid #111844;
	}
	.ttlboxin {text-align: center;}
	.sp2 {display: block;}
}
/*----------------------------------------------------------------------------------

    animation

-----------------------------------------------------------------------------------*/
.underline {display: inline-block;position: relative;}
.underline::after {	
	content: '';
	background: #111844;
	width: 0;
	height: .2rem;
	position: absolute;
	left: 0;
	bottom: -.5rem;
	transition: all .3s ease 0s;
}
.underline:hover {cursor: pointer;}
.underline:hover::after {width: 100%;}
.w-next,.b-next {max-width: 15rem;width: 100%;}
.w-next a,.b-next a {
	display: block;
	width: 100%;
	font-size: 1.2rem;
	text-align: center;
	padding: 1rem 2rem 1rem 1rem;
	position: relative;
	z-index: 1;
}
.w-next a {border: .1rem solid #fff;color: #fff;}
.b-next a {border: .1rem solid #000;}
.w-next a:hover,.b-next a:hover {color: #000;}
.w-next a::before,.b-next a::before {
	content: '';
	background: #E7E9F3;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform .3s;
	z-index: -5;
}
.w-next a:hover::before,
.b-next a:hover::before {transform-origin: left top;transform: scale(1, 1);}
.w-arrow,.b-arrow {position: relative;}
.w-arrow::before,.b-arrow::before {
    content: "";
	position: absolute;
    right: 1.5rem;
	bottom: 50%;
	transform: translate(0,50%) rotate(45deg);
    width: .8rem;
    height: .8rem;
	z-index: 2;
	transition: .3s
}
.w-arrow::before {border-top: 1px solid #fff;border-right: 1px solid #fff;}
.b-arrow::before {border-top: 1px solid #000;border-right: 1px solid #000;}
.w-arrow:hover::before,
.b-arrow:hover::before {border-color: #000;}
.leftslide {
	display: block;
	text-align: center;
	position: relative;
	width: 100%;
	z-index: 1;
}
.leftslide::before {
	content: '';
	background: #AFB0B2;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform .3s;
	z-index: -5;
}
.leftslide:hover {color: #000;}
.leftslide:hover::before {transform-origin: left top;transform: scale(1, 1);}
/*------------------------------
	loading
-------------------------------*/
#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 11;
}
#loader {
	display: none;
	position: fixed;
	bottom: 50%;
	left: 50%;
	transform: translate(-50%,50%);
	text-align: center;
	z-index: 2;
}
.loader {
	color: #111844;
	font-size: 1rem;
	width: 1rem;
	height: 1rem!important;
	border-radius: 50%;
	position: relative;
	text-indent: -9999em;
	-webkit-animation: load4 1.3s infinite linear;
	animation: load4 1.3s infinite linear;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
}
@-webkit-keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
@keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
/*------------------------------
	box slidein
-------------------------------*/
.img-container{overflow: hidden;position: relative;display: inline-block;}
.img-container:before{
    background: #111844;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
	top: 0;
    transform: translateX(-100%);
    transition:all .8s 0s ease; 
    width: 100%;
    z-index: 1;     
}
.img-container__img{
    display: inline-block;
    opacity: 0;
    position: relative;
    transition:all .5s .3s ease; 
}
.text-container__text{
	left: -2.5rem;
	opacity: 0;
	position: relative;
	transition: all .5s .5s ease;
}
/*アニメーションするプロパティを設定します*/
.img-container.active .img-container__img{opacity: 1;}
.img-container.active:before{transform: translateX(100%);}
.text-container.active{opacity: 1;}
.text-container.active .text-container__text{left: 0;opacity: 1;}
/*------------------------------
	bottom slide
-------------------------------*/
.bslide {overflow: hidden;position: relative;}
.bslide.bslide-animation {animation: bslide-img 1s cubic-bezier(.4, 0, .2, 1);}
.bslide.bslide-animation:before {
  animation: bslide-before 1s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #EBEFF2;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@keyframes bslide-img {
  0% {
    opacity: 0;
  }
}
@keyframes bslide-before {
  100% {
    transform: translateY(-100%);
  }
}
/*----------------------------------------------------------------------------------

    header

-----------------------------------------------------------------------------------*/
header {
	background: #fff;
	position: fixed;
	top: 0;
	box-shadow: 0 0 1rem rgba(0,0,0,.2);
	padding-left: 2rem;
    width: 100%;
	height: 7rem;
    z-index: 10;
}
header .box {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
}
header nav {width: 100%;}
header h1 {width: 11.2rem;z-index: 1;}
header ul {display: flex;align-items: center;}
header .box1 {
	position: absolute;
	left: 50%;
	bottom: 50%;
	transform: translate(-50%,50%);
	width: 100%;
	justify-content: center;
}
header .box1 li {margin-left: 4%;}
header .box1 li:nth-child(1) {margin-left: 0;}
header li a {
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-align: center;
}
header li a span {
	display: block;
	font-size: 1.2rem;
	text-align: center;
	color: #AFB0B2;
	margin-bottom: .5rem;
	transition: .3s;
}
header .box2 {justify-content: flex-end;}
header .box2 li {position: relative;}
header .box2 li a {height: 7rem;}
header .box2 li:nth-last-child(2) a {background: #EBEFF2;padding: 1.5rem 0;width: 7rem;}
header .box2 li:nth-last-child(2) img {width: 1.9rem;margin-bottom: .8rem;}
header .box2 li:nth-last-child(2) span {font-size: 1rem;color: #111844;letter-spacing: 0;margin-bottom: 0;}
header .box2 li:nth-last-child(2) a:hover span {color: #fff;}
header .box2 li:last-child a {background: #111844;width: 15rem;color: #fff;padding: 1.5rem 0;}
header .box2 li:last-child a:hover span {color: #111844;}
header .enbox {position: relative;}
header .enbox span {
	position: absolute;
	left: 50%;
	bottom: 50%;
	transform: translate(-50%,50%);
	width: 100%;
	margin-bottom: 0;
	font-size: 1.6rem;
	color: #fff;
}
@media only screen and ( max-width : 1300px ) {
	header .box1 li {margin-left: 2%;}
	header .box1 {	left: 45%;}
}
@media only screen and ( max-width : 1100px ) {
	body::before {
		content: "";
		display: block;
		background: rgba(15,40,96,0);
		width: 0;
		height: 100%;
		position: fixed;
		left: 0;
		top: 0;
		transition: .3s all;
		z-index: 10;
	}
	body.clicked::before {width: 100%;background: rgba(0,0,0,.5);}
	header {height: 7rem;}
	header h1 {width: 9.3rem;}
	.lang {position: absolute;top: 0;right: 7rem;width: 7rem;height: 7rem;}
	.lang a {background: #EBEFF2;padding: 1.5rem 0;height: 7rem;}
	.lang img {width: 1.9rem;margin-bottom: .8rem;}
	.lang span {
		display: block;
		font-size: 1rem;
		text-align: center;
		color: #111844;
		transition: .5s;
	}
	.lang a:hover span{color: #fff;}
	header nav {
		background: #fff;
		padding: 2rem;
		position: fixed;
		top: 7rem;
		right: -100%;
		width: 50%;
		transition: .3s all;
		z-index: 999;
	}
	header nav.clicked {right: 0%;box-shadow: -2px 2px 3px rgba(0,0,0,.2);}
	header ul {display: block;}
	header li {border-bottom: 1px solid #f5f5f5;}
	header .box1 {position: unset;transform: none;}
	header .box1 li {margin-left: 0;}
	header .box2 li:nth-last-child(2) {display: none;}
	header li a {padding: 1rem;}
	header .box2 li:last-child a {width: 100%;}
	header .underline {display: block;}
	header .underline::after {bottom: 0;}
	#sp-menu {
		background: #111844;
		width: 7rem;
		height: 7rem;
		position: absolute;
		top: 0;
		right: 0;
		cursor: pointer;
		transition: .5s;
		z-index: 999;
	}
	#sp-menu.clicked {bottom: 10%;}
	#sp-menu a {position: relative;width: 100%;height: 100%;}
	#sp-menu .txt {
		font-size: 1rem;
		color: #fff;
		position: absolute;
		left: 50%;
		bottom: 1.3rem;
		transform: translate(-50%,0);
	}
	#sp-menu .arrowbox {
		position: absolute;
		left: 50%;
		bottom: 60%;
		transform: translate(-50%,50%);
		transition: 0.3s ease-in-out;
		width: 1.4rem;
	}
	#sp-menu .arrowbox span {
		display: block;
		background: #fff;
		border-radius: 1rem;
		width: 100%;
		height: .2rem;
		transition: 0.3s ease-in-out;
	}
	#sp-menu .arrowbox span:nth-child(1) {margin-bottom: .4rem;}
	#sp-menu .arrowbox span:nth-child(2) {margin-bottom: .4rem;}
	#sp-menu .arrowbox span:nth-child(3) {width: .8rem;}
	#sp-menu.clicked .arrowbox span:nth-child(1) {transform: rotate(-45deg);margin-bottom: -.8rem;}
	#sp-menu.clicked .arrowbox span:nth-child(2) {width: 0;}
	#sp-menu.clicked .arrowbox span:nth-child(3) {transform: rotate(45deg);width: 1.4rem;}
}
@media only screen and ( max-width : 500px ) {
	header nav {width: 100%;}
}
/*-------------------------------------------------

	FORM

--------------------------------------------------*/
#form {margin-top: 10rem;}
#form.b-contact {
	background-image:url("img/form/contact.svg"),url("img/form/contact.jpg");
	background-repeat:no-repeat,no-repeat;
	background-position:50% -3.5rem,center;
	background-size: 45.7rem,cover;
	padding: 8.5rem 0 5rem;
	color: #fff;
}
#form.b-entry {
	background-image:url("img/form/entry.svg"),url("img/form/entry.jpg");
	background-repeat:no-repeat,no-repeat;
	background-position:50% -3.5rem,center;
	background-size: 31.5rem,cover;
	padding: 12.5rem 0 5rem;
	color: #fff;
}
#form .inner {max-width: 36.7rem;margin: 0 auto;padding: 0 1rem;}
#form h3 {
	display: flex;
	align-items: center;
	font-size: 2.4rem;
	font-weight: 900;
	margin-bottom: 3.5rem;
	z-index: 1;
	justify-content: center;
	color: #fff;
}
#form h3 span {
	font-size: 3rem;
	font-weight: 900;
	margin-right: 2rem;
	padding-right: 2rem;
	border-right: .4rem solid #fff;
}
#form .ttl {text-align: center;line-height: 2.5;margin-bottom: 2rem;}
#form.b-entry .ttl {margin-bottom: 5.5rem;}
#form .w-next {max-width: 100%;}
#form .w-next a {font-size: 1.6rem;margin-bottom: 5.5rem;}
#form h4 {
	border-bottom: .1rem solid #fff;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
}
#form .flexbox {justify-content: space-between;}
#form li:nth-child(odd) {width: 65%;}
#form li:nth-child(even) {width: 35%;text-align: right;}
#form .squere::before {background: #fff;}
#form .bottom {margin-bottom: 3.5rem;}
#form .flexbox a {color: #fff;}
@media only screen and ( max-width : 896px ) {
	#form.b-contact {
		background-position:50% -2rem,center;
		background-size: 27.4rem,cover;
		padding: 6.5rem 0 5rem;color: #fff;
	}
	#form.b-entry {
		background-position:50% -2rem,center;
		background-size: 31.5rem,cover;
		padding: 12.5rem 0 5rem;color: #fff;
	}
	#form .ttl {line-height: 1.8;}
	#form h3 {margin-bottom: 2rem;}
	#form h3 span {margin-right: 1rem;padding-right: 1rem;border-right: .3rem solid #fff;}
	#form h4 {text-align: center;}
}
@media only screen and ( max-width : 500px ) {
}
/*-------------------------------------------------

	footer

--------------------------------------------------*/
footer {background: #0D1D3D;color: #fff;padding: 2rem 0;}
footer figure {width: 11.2rem;}
footer .flexbox {justify-content: flex-end;}
footer .squere::before {background: #fff;}
footer li {
	font-size: 1.2rem;
	border-right: .2rem solid #fff;
	margin-right: 2rem;
	padding-right: 2rem;
}
footer li:last-child {border-right: 0;margin-right: 0;padding-right: 0;}
footer a {color: #fff;}
footer .underline::after {background: #fff;height: .1rem;}
footer .box1 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 2.5rem;
}
footer .txt {line-height: 1.4;margin-bottom: 3rem;}
footer .copy {font-size: 1.2rem;}
@media only screen and (max-width: 896px) {
	footer figure {margin: 0 auto 2.5rem;}
	footer .box1 {display: block;}
	footer .flexbox {justify-content: center;}
	footer li {margin-bottom: 1rem;}
}
@media only screen and (max-width: 500px) {
	footer {padding: 1.2rem 0 3rem;}
	footer .flexbox {display: block;}
	footer .m-inner {padding: 0;}
	footer li {
		border-top: .1rem solid #B8BEC9;
		border-right: 0;
		margin: 0;
		padding: 0;
		font-size: 1.4rem;
	}
	footer li:last-child {border-bottom: .1rem solid #B8BEC9;}
	footer a {
		padding: 1.5rem 2rem;
		position: relative;
		width: 100%;
		z-index: 1;
	}
	footer a::before {
		content: '';
		background: #EBEFF2;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		transform-origin: left top;
		transform: scale(0, 1);
		transition: transform .5s;
		z-index: -5;
	}
	footer a:hover {color: #0D1D3D;}
	footer a:hover::before {transform-origin: left top;transform: scale(1, 1);}
	footer .box2 {padding: 0 2rem;}
	footer .txt {font-size: 1.2rem;}
	footer .copy {font-size: 1rem;text-align: center;}
}
	footer dt,footer dd{display: inline-block;margin-bottom:5px;}
	footer dt{width:35px;}
	footer .box2 p {margin-bottom: 1rem;}
	footer dl{margin-bottom:3rem;}

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

	back top

--------------------------------------------------*/
.wrapper {position: relative;}
p.page_top {
	display: block;
	right: 1rem;
	z-index: 9;
}
p.page_top a {
	background: #0D1D3D;
	width: 3.8rem;
	height: 3.8rem;
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
p.page_top a::before {
	content: "";
	width: 1rem;
    height: 1rem;
    border-top: .2rem solid #fff;
    border-right: .2rem solid #fff;
    position: absolute;
    left: 50%;
	bottom: 40%;
	transform: translate(-50%,50%) rotate(-45deg);
}
@media only screen and (max-width: 500px) {
	p.page_top a {width: 3rem;height: 3rem;}
	p.page_top a::before {width: .5rem;height: .5rem;}
}
/*-------------------------------------------------

	404 Not Found

--------------------------------------------------*/
#notofound {padding-top: 10rem;}
#notofound h2 {text-align: center;}
#notofound h2 span {
	display: block;
	font-size: 5rem;
	font-weight: 900;
	text-align: center;
	margin-bottom: 4rem;
}
#notofound p {text-align: center;margin-bottom: 3rem;}
#notofound .b-arrow {margin: 0 auto;}
@media only screen and (max-width: 896px) {
	#notofound h2 span {font-size: 3rem;}
}
/*-------------------------------------------------

	TEL linkをSP以外無効

--------------------------------------------------*/
@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}