@charset "utf-8";

/*-------------------------------------------------------------------------------------------------------------------------------
* base
------------------------------------------------------------------------------------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: #333333;
	-webkit-text-size-adjust: none;
	overflow-y: scroll;
}
body.fixed{
	position: fixed;
	width: 100%;
	height: 100%;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
a {
	color: inherit;
	text-decoration: none;
	opacity: 1;
	transition: opacity 0.3s ease;
}
/*a:hover {
	opacity: 0.7;
}*/
img{
	-webkit-backface-visibility: hidden;
}
@media screen and (max-width:767px) {
	body {
		font-size: 14px;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	:hover {
		opacity: 1 !important;
	}
	img{
		width: 100%;
	}
}


/* all_wrapper
===================================================================== */
#all_wrapper {
	width: 100%;
	min-width: 1100px;
}
@media screen and (max-width:767px) {
	#all_wrapper {
		min-width: 100%;
	}
}


/* header 
===================================================================== */
header .h_logo{
	position: absolute;
	z-index: 100;
	top: 15px;
	left: 30px;
}
header .h_logo img{
	width: 190px;
}
header .h_logo a:hover{
	opacity: 1;
}
@media screen and (max-width:767px) {
	header .h_logo{
		position: absolute;
		top: 10px;
		left: 10px;
	}
	header .h_logo img{
		width: 110px;
	}
}


/* h_menu
===================================================================== */
/* btn_menu */
.btn_menu {
	position: fixed;
	z-index: 10000;
	top: 0;
	right: 0;
	display: block;
	width: 80px;
	height: 80px;
	background: #7AB5D7;
	cursor: pointer;
}
.btn_menu .menu-line, .btn_menu .menu-line span {
	display: inline-block;
}
.btn_menu .menu-line {
	position: relative;
	display: block;
	width: 40px;
	height: 32px;
	top: 24px;
	left: 20px;
}
.btn_menu .menu-line span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #FFF;
	border-radius: 0;
	transition: all .3s;
}
.btn_menu .menu-line span:nth-of-type(1) {
	top: 0;
}
.btn_menu .menu-line span:nth-of-type(2) {
	top: 14px;
}
.btn_menu .menu-line span:nth-of-type(3) {
	top: 28px;
}
.btn_menu.active .menu-line span:nth-of-type(1) {
	top: 14px;
	transform: rotate(-45deg);
}
.btn_menu.active .menu-line span:nth-of-type(2) {
	display: none;
}
.btn_menu.active .menu-line span:nth-of-type(3) {
	top: 14px;
	transform: rotate(45deg);
}
@media screen and (max-width:767px) {
	.btn_menu {
		width: 50px;
		height: 50px;
	}
	.btn_menu .menu-line {
		width: 20px;
		height: 16px;
		top: 17px;
		left: 15px;
	}
	.btn_menu .menu-line span {
		height: 2px;
	}
	.btn_menu .menu-line span:nth-of-type(1) {
		top: 0;
	}
	.btn_menu .menu-line span:nth-of-type(2) {
		top: 7px;
	}
	.btn_menu .menu-line span:nth-of-type(3) {
		top: 14px;
	}
	.btn_menu.active .menu-line span:nth-of-type(1) {
		top: 7px;
		transform: rotate(-45deg);
	}
	.btn_menu.active .menu-line span:nth-of-type(3) {
		top: 7px;
		transform: rotate(45deg);
	}
}

/* btn_en */
.btn_en{
	position: fixed;
	z-index: 999;
	right: 92px;
	top: 16px;
	width: 50px;
}
@media screen and (max-width:767px) {
	.btn_en{
		right: 60px;
		top: 10px;
		width: 35px;
	}
}


/* btn_jp */
.btn_jp{
	position: fixed;
	z-index: 999;
	right: 20px;
	top: 16px;
	width: 50px;
}
@media screen and (max-width:767px) {
	.btn_jp{
		right: 10px;
		top: 10px;
		width: 35px;
	}
}


/* nav (drawer_menu)
===================================================================== */
nav .nav_bg{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1001;
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
}
nav .nav_bg.active{
	display: block;
}

/* drawer_menu */
.drawer_menu{
	position: fixed;
	z-index: 1002;
	top: 0;
	right: 0;
	background: #FFF;
	width: 380px;
	height: 100%;
	overflow: auto;
	-ms-overflow-style: none;
 	scrollbar-width: none;
	transform: translate(100%);
	transition: all 0.4s;
}
.drawer_menu.open{
	transform: translate(0);
}
.drawer_menu::-webkit-scrollbar {
	display:none;
}
.drawer_menu .content{
	padding: 140px 60px;
	font-weight: 500;
}
@media screen and (max-width:767px) {
	.drawer_menu{
		width: 70%;
	}
	.drawer_menu .content{
		padding: 40px 30px;
	}
}

/* d_nav */
.d_nav h2{
	margin: 0 0 40px;
}
.d_nav h2 img{
	width: 190px;
}
.d_nav > ul > li{
	margin: 0 0 20px;
}
.d_nav > ul > li a:hover{
	opacity: 0.7;
}
.d_nav > ul > li > ul{
	padding: 10px 0;
}
.d_nav > ul > li > ul > li{
	padding: 5px 0;
	font-size: 14px;
}
.d_nav > ul > li > ul > li a{
	position: relative;
	padding: 0 0 0 20px;
}
.d_nav > ul > li > ul > li a::before{
	position: absolute;
	top: 7px;
	left: 0;
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #79AECE;
	border-right: 2px solid #79AECE;
	transform: rotate(45deg);
}
@media screen and (max-width:767px) {
	.d_nav h2{
		margin: 0 0 35px;
	}
	.d_nav h2 img{
		width: 110px;
	}
	.d_nav > ul > li{
		margin: 0 0 15px;
	}
	.d_nav > ul > li > ul{
		padding: 5px 0;
	}
	.d_nav > ul > li > ul > li{
		padding: 5px 0;
		font-size: 13px;
	}
	.d_nav > ul > li > ul > li a{
		padding: 0 0 0 1em;
	}
	.d_nav > ul > li > ul > li a::before{
		top: 6px;
		width: 5px;
		height: 5px;
		border-top: 1px solid #79AECE;
		border-right: 1px solid #79AECE;
	}
}


/* main
===================================================================== */
main{
	line-height: 1.8;
}
main .content.lower{
	background: #f1f7fb;
}
main .content.lower .inner{
	background: #FFF;
	width: 1000px;
	margin: 0 auto;
	padding: 70px 100px 120px;
}
@media screen and (max-width:767px) {
	main .content.lower .inner{
		width: 100%;
		padding: 40px 25px 60px;
	}
}

/* footer
===================================================================== */
footer{
	background: #F8F8F8;
}
footer .content{
	max-width: 1000px;
	margin: 0 auto;
	padding: 60px 0;
	display: flex;
	justify-content: space-between;
}
footer .content a:hover{
	opacity: 0.7;
}
@media screen and (max-width:767px) {
	footer .content{
		padding: 40px 25px;
		display: block;
	}
}

/* f_info */
.f_info h2{
	margin: 0 0 25px;
	padding: 0 0 30px;
	border-bottom: 1px solid #7AB5D7;
}
.f_info h2 img{
	width: 190px;
}
.f_info dl{
	display: flex;
	margin: 0 0 20px;
}
.f_info dl dt{
	padding-right: 1em;
}
.f_info dl dd{
	line-height: 1.625;
}
@media screen and (max-width:767px) {
	.f_info h2{
		margin: 0 0 20px;
		padding: 0 0 20px;
	}
	.f_info h2 img{
		width: 110px;
		margin: 0 auto;
	}
	.f_info dl{
		display: block;
		margin: 0 0 15px;
	}
	.f_info dl dt{
		padding-right: 0;
	}
	.f_info dl dd{
		padding-left: 1em;
		letter-spacing: 0.02em;
	}
}

/* f_nav */
.f_nav{
	display: flex;
	font-weight: 500;
}
.f_nav > ul:first-child{
	padding-right: 20px;
}
.f_nav > ul > li{
	margin: 0 0 12px;
}
.f_nav > ul > li > ul{
	padding: 10px 0;
}
.f_nav > ul > li > ul > li{
	padding: 5px 0;
	font-size: 14px;
}
.f_nav > ul > li > ul > li a{
	position: relative;
	padding: 0 0 0 20px;
}
.f_nav > ul > li > ul > li a::before{
	position: absolute;
	top: 7px;
	left: 0;
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #79AECE;
	border-right: 2px solid #79AECE;
	transform: rotate(45deg);
}
@media screen and (max-width:767px) {
	.f_nav{
		display: block;
		padding: 10px 0 0;
	}
	.f_nav > ul:first-child{
		padding-right: 0;
	}
	.f_nav > ul > li{
		margin: 0 0 12px;
	}
	.f_nav > ul > li > ul{
		padding: 5px 0;
		display: flex;
		flex-wrap: wrap;
	}
	.f_nav > ul > li > ul > li{
		padding: 3px 0;
		font-size: 13px;
		line-height: 1.4;
		width: 50%;
	}
	.f_nav > ul > li > ul > li:nth-child(1){
		order: 1;
	}
	.f_nav > ul > li > ul > li:nth-child(2){
		order: 3;
	}
	.f_nav > ul > li > ul > li:nth-child(3){
		order: 2;
	}
	.f_nav > ul > li > ul > li:nth-child(4){
		order: 4;
	}
	.f_nav > ul > li > ul > li a{
		display: block;
		padding: 0 0 0 1em;
	}
	.f_nav > ul > li > ul > li a::before{
		top: 7px;
		width: 5px;
		height: 5px;
		border-top: 1px solid #79AECE;
		border-right: 1px solid #79AECE;
		transform: rotate(45deg);
	}
	.f_nav > ul > li:nth-child(2) > ul > li:nth-child(2){
		margin-top: -1.3em;
		
	}
}

/* copyright */
.copyright{
	background: #7AB5D7;
	color: #FFF;
	padding: 12px 0;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
}
@media screen and (max-width:767px) {
	.copyright{
		padding: 10px 0;
		font-size: 8px;
	}
}


/* pagetop
===================================================================== */
#pagetop{
	display: none;
	position: fixed;
	background: #FFF;
	z-index: 999;
	right: 0;
	bottom: 0;
	width: 80px;
}
@media screen and (max-width:767px) {
	#pagetop{
		width: 50px;
	}
}

