@charset "UTF-8";
/* CSS Document */
body {
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
#wrapper a {
	text-decoration: none;
	transition: .3s;
	border-radius: 50px;
}
#wrapper a:hover {
	opacity: 0.7;
}
.pc_none {
	display: none!important;
}
@media screen and (max-width: 768px) {
	.pc_none {
		display: block!important;
	}
	.sp_none {
		display: none!important;
	}
}
@font-face {
	font-family: 'SF Compact Display', 'sans-serif';
	src: url("../fonts/SF Compact Display.otf") format("opentype");
}
.en_txt {
	font-family: acumin-pro, sans-serif;
	font-weight: 100;
	font-style: normal;
}


/*ナビ-----------------*/
.blog-cat-nav{
	width: 100%;
	background : rgba(255,255,255,0.9);
	overflow: hidden;
	padding: 20px 0;
	position: fixed;
	top: 0;
	z-index: 1000;
}
.blog-cat-nav p.header_logo{
	width: 260px;
	display: inline-block;
	vertical-align: middle;
	margin: 0px 50px 2px 10px;
}
.blog-cat-nav p.header_logo img{
	width: 100%;
	display: inline-block;
}
nav#menu{
	padding: 0 10px;
	display: inline-block;
	vertical-align: middle;
}
nav#menu ul li{
	display: inline-block;
	margin:0 30px 0 0;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: .15em;
}
nav#menu ul li a{
	color: #302D2C;
	display: inline-block;
	line-height: 60px;
}
.blog-cat-nav p.header_btn{
	display: inline-block;
	float: right;
	margin-right: 10px;
	padding-top: 5px;
}
.blog-cat-nav p.header_btn a{
	width: 200px;

}
.blog-cat-nav p.second{
	float: none;
}
.blog-cat-nav p.second img{
	height: 2em;
	padding: 14px 0 10px;
}
.nav_wrap{
	display: none;
}


@media screen and (max-width: 768px) {
	.blog-cat-nav{
		display: none;
	}
	.nav_wrap{
		display: block;
		background :rgba(255,255,255,0.9);
		position: fixed;
		width: 100%;
		height: 60px;
		z-index: 9999;
		top: 0;
	}
	.nav_wrap p.header_logo{
		width: 180px;
		margin-left: 10px;
		margin-top: 22px;
	}
	.nav_wrap p.header_logo img{
		width: 100%;
	}
	.nav_wrap p.second{
	margin-bottom: 0;
	}
	.nav_wrap p.second img{
	width: 75%;
		padding: 18px 0;
	}
	.drawer-hamburger-icon,.drawer-hamburger-icon:before,.drawer-hamburger-icon:after{
	 background: #000 !important;
	}
	.drawer-open .drawer-hamburger-icon{
		background-color: transparent !important;
	}
	.drawer-nav {
		background: rgba(255,255,255,0.9) !important;
	}
	.drawer-nav p {
		margin-left: 10px;
		margin-right: 10px;
	}
	.drawer-nav p a{
		width: 100%;
	}
	.drawer-menu {
		padding-top: 20px !important;
		margin-bottom: 30px !important;
	}
	.drawer-menu li{
		padding: 10px;
		font-weight: 200;
		letter-spacing: .1em;
	}
	.drawer-menu a{
		color: #000;
	}
}


/*モーダル----------*/
.box_home_news{
	background: #dcdcdc;
	padding: 20px;
}
.box_home_news .inner {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.box_home_news a{
	display: block;
	background: #fff;
	font-size: 16px;
	letter-spacing: .1em;
	text-align: center;
	color:#302D2C;
	padding: 40px 20px;
}
.modal{
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}
.modal__bg{
	background: rgba(0,0,0,0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
}
.modal__content{
	background: #fff;
	left: 50%;
	padding:20px 20px 10px;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 60%;
	font-size: 12px;
	overflow: scroll;
	max-height: 90%;
}
.modal__content p{
	margin-bottom: 1em;
	letter-spacing: 0.05em;
	font-size: 14px;
	line-height: 1.5;
}
.modal__content dl{
	margin-bottom: 2em;
}
.modal__content dl dt{
	font-weight: normal;
	padding-top: 2em;
	font-size:16px;
	letter-spacing: 0.05em;
	margin-bottom: 10px;
}
.modal__content dl dd{
	text-indent: -1em;
	padding-left: 1em;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.05em;
}
.modal__content dl dd:before{
	content: "・";
}
.modal__content p.btn_close{
	text-align: center !important;
}
.modal__content p.btn_close a{
	display: inline-block;
	border: solid 1px #141314;
	color: #141314;
	padding: 2px 40px;
}
.box_home_top{
	display: block;
}
.box_home_top h2{
	margin-top: -5px;
	margin-bottom: 30px;
	text-align: center;
}
.box_home_top h2 img{
	width: 300px;
}
.box_home_top ul{
	overflow: hidden;
	margin-right: -64px;
	margin-bottom: 60px;
}
.box_home_top ul li{
	float: left;
	margin-right: 64px;
}
.box_home_top ul li dl{
}
.box_home_top ul li dl dt{
}
.box_home_top ul li dl dd{
	text-align: center;
}
.box_home_top p{
	margin-bottom: -12px;
	text-align: center;
}
.box_home_top p img{
	width: 330px;
}


@media screen and (max-width: 768px) {
	.box_home_news{
		background: #dcdcdc;
		padding: 20px;
	}
	.box_home_news a{
		font-size: 14px;
		padding: 10px;
		position: relative;
		line-height: 1.5;
	}
	.box_home_news a:before{
		right: 15px;
		top:30px;
		width: 10px;
		height: 10px;
	}
	.modal__content{
		padding:15px;
		width: 90%;
		max-height: 70%;
	}
}


/*main_img-----------*/
.top_main{
	background-size: cover;
	padding-bottom: 15px;
	height: 100vh;
	position: relative;
}
.top_main h1 { 
	margin-left: 30px;
	position: absolute;
	top: 50%;
	right: 100px;
	transform: translateY(-50%) translateX(0);
	width: 35%;
}
.top_main h1 img{ 
	width: 100%;
}
.scrollnav {
	width: 10em;
	position: absolute;
	bottom: 4vh;
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	z-index: 10;
}
.scrollnav a{
	display: block;
}
.scrollnav_bar {
	width: 1%;
	height: 24px;
	overflow: hidden;
	margin-right: auto;
	margin-bottom: 7px;
	margin-left: auto;
}
.scrollnav_bar_inner {
	width: 1px;
	height: 24px;
	background-color: #ffffff;
	-webkit-animation-name: animateScrollBar;
	animation-name: animateScrollBar;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: cubic-bezier(0.65, 0.5, 0.36, 1);
	animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
	-webkit-animation-duration: 1.6s;
	animation-duration: 1.6s;
}
@-webkit-keyframes animateScrollBar {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%); 
	}
	80% {
		-webkit-transform: translateY(200%);
		transform: translateY(200%);
	}
	100% {
		-webkit-transform: translateY(200%);
		transform: translateY(200%);
	}
}
@keyframes animateScrollBar {
	0% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	80% {
		-webkit-transform: translateY(200%);
		transform: translateY(200%);
	}
	100% {
		-webkit-transform: translateY(200%);
		transform: translateY(200%);
	}
}


@media screen and (max-width: 768px) {
	.top_main {
		background-size: cover;
		padding-bottom: 0px;
		height: 90vh;
		position: relative;
	}
	.top_main h1 { 
		position: absolute;
		top: 65%;
		left: 42%;
		transform: translateY(-50%) translateX(-50%);
		width: 85%;
	}
}





footer{
	background: #e8e6e4;
	text-align: center;
	padding:60px 0 80px;
	font-size: 14px;
}
footer ul{
	padding-bottom:40px;
}
footer ul li{
	display: inline-block;
}
footer ul li a{
	color: #1c1e26;
	margin:0 1em;
}
footer .banner {
	max-width: 250px;
	width: 100%;
	margin: 0 auto 20px;
	text-align: center;
}
footer p.copy{
	font-size: 12px;
	color: #a79c94;
}

footer p.logo_academy{
	width: 100%;
	display: inline-block;
	text-align: center;
	margin-bottom: 30px;
}
footer p img{
	width: 100%;
}
.contact_bt {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 111;
}
.contact_bt a {
	display: block;
	text-align: center;
	width: 100%;
	padding: 30px 0;
	background-color: #4c4c4c;
	color: #fff;
	letter-spacing: 4px;
	font-size: 18px;
	border-radius: 0!important;
}

@media screen and (max-width: 767px) {
	footer{
		margin-top: 0;
	}
	footer p{
		font-size: 10px;
		padding-right: 10px;
		padding-left: 10px;
	}
	footer p.logo_academy{
		width: 90%;
	}
	.drawer-hamburger {
		display: none!important;
	}
	.contact_bt {
		bottom: 20px;
		left: 50%;
		width: 70%;
		transform: translateX(-50%);
	}
	.contact_bt a {
		font-size: 14px;
		padding: 20px 0;
	}
}

/*error-------------------*/
.error_box {
	max-width: 1100px;
	width: 100%;
	margin: 200px auto;
	padding: 0 20px;
	box-sizing: border-box;
	text-align: center;
}
.error_box h3 {
	font-size: 2em;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
	font-weight: bold;
	line-height: 1.8;
}
.error_box .txt {
	line-height: 1.8;
	letter-spacing: 0.1em;
	margin-bottom: 100px;
}
.error_box .re_btn {
	max-width: 500px;
	width: 100%;
	margin: 0 auto;
	font-size: 1.1em;
}
.error_box .re_btn a {
	display: block;
	padding: 20px 0;
	border: 1px solid #333;
	color: #333;
}

@media screen and (max-width: 767px) {
	.error_box {
		margin-top: 100px;
		margin-bottom: 60px;
	}
	.error_box h3 {
		font-size: 20px;
		margin-bottom: 30px;
	}
	.error_box .txt {
		font-size: 14px;
		margin-bottom: 40px;
	}
	.error_box .re_btn {
		font-size: 15px;
	}
}