@charset "utf-8";
/* CSS Document -------------

date: 2020

---------------------------*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* ----------------------------------------------

 * タグの設定

---------------------------------------------- */
a {
	outline:none;
	color: #000;
	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 Japanese',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 Japanese',serif;
    -webkit-appearance: none;
	 -moz-appearance: none;
    appearance: none;
}
select::-ms-expand{
	font-family: 'Noto Sans Japanese',serif;
	display: none;
}
/*--------------------------------------------------

　   CONTENTS

--------------------------------------------------*/
html {
	font-family: 'Noto Sans Japanese',serif;
	font-size: 62.5%;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "palt" 1;
	line-height: 1.8;
	color: #000;
	word-break: break-all;
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {font-size: 1.6em;line-height: 1.8;}
h2 {line-height: 1.4;}
h3,h4,h5,li,figcaption,dd,dt,th,td {line-height: 1.8;word-break: break-all;}
p {font-size: 1.6rem;line-height: 1.8;}
.century {font-family: 'Century Gothic';}
.flexbox {display: flex;flex-wrap: wrap;justify-content: space-between;}
.blank {padding-top: 15rem;}
.title {
	position: relative;
	margin-bottom: 3.5rem;
    overflow: hidden;
	color: #243F7E;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .1em;
	text-align: center;
}
.title::before {
	content: "";
	width: 100%;
	height: .2rem;
	background: #243F7E;
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
}
.title span {position: relative;padding: 0 1rem;background: #fff;}
.titlebox {background: #243F7E;margin-bottom: -6rem;padding: 4rem 0 10rem;}
.titlebox figure {text-align: center;}
.titlebox figure img {width: 10rem;}
.titlebox figcaption {
	color: #fff;
	font-size: 60px;
	text-align: center;
	line-height: 1;
}
.titlebox figcaption span {
	display: block;
	margin-bottom: 1rem;
	font-size: 24px;
	letter-spacing: .1em;
	text-align: center;
}
.inner {max-width: 1140px;margin: 0 auto;padding: 0 10px;}
.pc {display: block;}
.pc2 {display: block;}
.sp {display: none;}
@media only screen and ( max-width : 896px ) {
	body {font-size: 1.4em;}
	p {font-size: 1.4rem;}
	.blank {padding-top: 5rem;}
	.title {font-size: 1.8rem;}
	.titlebox figure img {width: 5rem;}
	.pc {display: none;}
	.sp {display: block;}
}
@media only screen and ( max-width : 500px ) {
	.titlebox {padding: 2rem 0 8rem;}
	.titlebox figcaption {font-size: 5rem;}
	.titlebox figcaption span {font-size: 1.6rem;}
}
/* ------------------------------------------------

　   HEADER

------------------------------------------------- */
#header {
	background: #fff;
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 30;
	box-shadow: 2px 5px 10px rgba(0,0,0,0.1);
	height: 110px;
	transition: 0.5s;
}
#header .flexbox_pc {
    display: flex;
    flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
#header nav li {margin-right: 2vw;}
#header nav li:last-child {margin-right: 0;letter-spacing: 3px;}
#header nav li a {
	font-family: 'Century Gothic';
	font-size: 15px;
	font-weight: bold;
	color: #221815;
	line-height: 1;
}
#header .underline {position: relative;display: inline-block;text-decoration: none;}
#header .underline::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#header .underline:hover::after {transform-origin: left top;transform: scale(1, 1);}
#header .container,
#header .large_container {max-width: 1200px;padding: 30px 20px;margin: 0 auto;}
#header .small_container {max-width: 850px;margin: 0 auto;}
#sp_nav,.btn_hamburger {display: none;}
#header .h_logo {
	width: 150px;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	-js-display: flex;
	flex: 1;
	-webkit-align-items: center;
	align-items: center;
}
#header *:before,
#header *:after {z-index: -1;}
#header [class^="btn-"] {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100px;
	text-transform: uppercase;
	border: 2px solid currentColor;
	text-align: center;
}
#header [class^="btn-"]:hover {color: #fff;}
#header .btn-11 {position: relative;}
#header .btn-11:before,
#header .btn-11:after {
	position: absolute;
	top: 50%;
	content: '';
	width: 20px;
	height: 20px;
	background-color: #112245;
	border-radius: 50%;
}
#header .btn-11:before {left: -20px;transform: translate(-50%, -50%);}
#header .btn-11:after {right: -20px;transform: translate(50%, -50%);}
#header .btn-11:hover:before {
	-webkit-animation: criss-cross-left 0.8s both;
	-moz-animation: criss-cross-left 0.8s both;
	-ms-animation: criss-cross-left 0.8s both;
	animation: criss-cross-left 0.8s both;
	-webkit-animation-direction: alternate;
	-moz-animation-direction: alternate;
	-ms-animation-direction: alternate;
	animation-direction: alternate;
}
#header .btn-11:hover:after {
	-webkit-animation: criss-cross-right 0.8s both;
	-moz-animation: criss-cross-right 0.8s both;
	-ms-animation: criss-cross-right 0.8s both;
	animation: criss-cross-right 0.8s both;
	-webkit-animation-direction: alternate;
	-moz-animation-direction: alternate;
	-ms-animation-direction: alternate;
	animation-direction: alternate;
}
#header nav li .btn-11 {padding: 1.5rem 0;}
#header nav li .btn-11:hover {color: #fff;border: 2px solid #112245;}
@-webkit-keyframes criss-cross-left {
  0% {
    left: -20px;
  }
  50% {
    left: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    left: 50%;
    width: 375px;
    height: 375px;
  }
}
@keyframes criss-cross-left {
  0% {
    left: -20px;
  }
  50% {
    left: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    left: 50%;
    width: 375px;
    height: 375px;
  }
}
@-webkit-keyframes criss-cross-right {
  0% {
    right: -20px;
  }
  50% {
    right: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    right: 50%;
    width: 375px;
    height: 375px;
  }
}
@keyframes criss-cross-right {
  0% {
    right: -20px;
  }
  50% {
    right: 50%;
    width: 20px;
    height: 20px;
  }
  100% {
    right: 50%;
    width: 375px;
    height: 375px;
  }
}
/*--------------------------------------------------------------*/
@media only screen and ( max-width : 896px ) {
	.container,.large_container {padding: 0;}
	#sp_nav,.btn_hamburger {display: block;}
	#header .gNav {display: none;}
	#header {height: 65px;}
	#header .nav li {font-size: 18px;}
	#header .nav .entry_nav a {text-align: center;}
	#header .container,
	#header .large_container {padding: 1.5rem 1rem;}
	.flexbox_sp {display: flex;flex-wrap: wrap;}
}
/* ----------------------------------------------------------------

　   FOOTER

------------------------------------------------------------------ */
#footer {background: #243F7E;color: #fff;font-size: 12px;}
#footer .ft_text {text-align: center;}
#footer a {margin: 0 25px;line-height: 60px;color: #fff;}
#footer .txt_box {height: 60px;background: #7d7d7d;}
#footer .txt_box2 {height: 250px;padding-top: 60px;}
#footer .copy {font-size: 12px;}
@media only screen and ( max-width : 500px ) {
	#footer a {margin: 0 2px;}
}
/* -----------------------------------------------------------------

　   PAGE TOP

------------------------------------------------------------------ */
p.page_top {
	display: block;
	position: fixed;
	right: 1rem;
    bottom: 2rem;
	z-index: 9;
}
p.page_top a {
	position: relative;
    display: inline-block;
	border: .1rem solid #282e52;
	width: 3.8rem;
	height: 3.8rem;
    vertical-align: middle;
	background: #fff;
}
p.page_top a::before{
	content: "";
	width: 1rem;
    height: 1rem;
    border-top: .2rem solid #282e52;
    border-right: .2rem solid #282e52;
    position: absolute;
    left: 50%;
	bottom: 40%;
	transform: translate(-50%,50%) rotate(-45deg);;
}
@media only screen and ( max-width : 896px ) {
	.back-top {
		right: 10px;
		width: 30px;
		height: 30px;
		line-height: 30px;
	}
}