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

/* Reset */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Base */

html {
	font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	font-feature-settings: "palt";
	letter-spacing: 1.5px;
	line-height: 1.5;
	color: #000;
}

img {
	width: 100%;
	height: auto;
	outline:none;
	vertical-align: middle;
	border-style:none;
}

a {
    color:#000;
	text-decoration: none;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
a:visited {
    color:#000;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
a:hover {
    color: #00a0e9;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

a.underline {
	text-decoration: underline;
}


@media print {
	html, body {
		width: 1366px;
	}
}


/* ------------------------
heaader
------------------------ */

header {
	position: fixed;
	top: 0;
	width: 100%;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 999;
}
header {
}
.site_name {
	padding: 0 15px;
}
.site_name img {
	width: 200px;
	height: auto;
}

@media print, screen and (min-width: 1025px) {

	header {
		position: absolute;
		height: 100px;
	}
	.site_name {
		padding: 0 40px;
	}
	.site_name a {
		line-height: 80px;
	}

}


/* ------------------------
gnavi
------------------------ */

@media only screen and (max-width: 1024px) {
	
/* SP, tablet */

	.menu_icon {
		box-sizing: border-box;
		width: 50px;
		height: 50px;
		padding-top: 16px;
		text-align: center;
		background-color: #000;
	}
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		-webkit-transition: all .4s;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 22px;
		height: 18px;	
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 8px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}

	.menu-trigger span:nth-of-type(2)::after {
		position: absolute;
		top: 0;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		background-color: #fff;
		-webkit-transition: all .4s;
		transition: all .4s;
	}
	.menu-trigger.active span:nth-of-type(1) {
		transform: translateY(20px) scale(0);
	}
	.menu-trigger.active span:nth-of-type(2) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2)::after {
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	.menu-trigger.active span:nth-of-type(3) {
		transform: translateY(-20px) scale(0);
	}


	#gnavi {
		position: fixed;
		top: 50px;
		right: 0;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		padding: 1em 2em 60px;
		background-color: #fff;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition:ease .5s;
		transition:ease .5s;
		z-index: 999;
	}
	#gnavi.action {
		-webkit-transform:translateX(0);
		transform:translateX(0);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	#gnavi > ul {
		box-sizing: border-box;
		height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling:touch;
	}
	#gnavi > ul > li {
		font-size: 1.6rem;
	}
	#gnavi > ul > li li {
		margin-left: 1em;
	}
	#gnavi  > ul > li a {
		display: block;
		padding: 8px 0;
		color: #000;
		text-decoration: none;
	}
	#gnavi > ul > li a:after {
		color: #000;
		font-family: 'FontAwesome';
		content: '\f105';
		padding-left: 0.5em;
	}
	#gnavi > ul > li.sns a img {
		display: inline-block;
		width: 40px;
		height: auto;
	}
	#gnavi > ul > li.sns a:after {
		content: none;
	}


	.no_scroll {
		position: fixed !important;
		width: 100% !important;
		height: 100% !important;
	}
}

@media print, screen and (min-width: 1025px) {
	
/* pc */

	.menu_icon {
		display: none;
	}
	#gnavi {
	}
	#gnavi > ul {
		display: flex;
		position: relative;
	}
	#gnavi > ul li {
	}
	#gnavi > ul > li a {
		display: block;
		height: 80px;
		padding: 0 10px;
		color: #fff;
		font-size: 1.2rem;
		font-weight: bold;
		text-decoration: none;
		line-height: 80px;
	}
	#gnavi > ul > li.sns a img {
		display: inline-block;
		width: 40px;
		height: auto;
	}
	#contact #gnavi > ul > li a {
		color: #000;
	}
	#gnavi > ul li:hover {
		background-color: #00a0e9;
		-webkit-transition: all .4s;
		transition: all .4s;
	}

}

@media print, screen and (min-width: 1366px) {
	
	#gnavi > ul > li a {
		padding: 0 25px;
		font-size: 1.4rem;
	}

}


/* ------------------------
main
------------------------ */

.section_wrapper {
	padding: 40px 0 40px;
}
.sec_title {
	margin: 0 0 30px;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.5;
	text-align: center;
}
.sec_title .en_title {
	margin-bottom: 20px;
	color: #00a0e9;
	font-family: 'Oswald', sans-serif;
	font-size: 5.0rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	line-height: 1.0;
}

.subject_title {
	margin: 0 0 20px;
	color: #00a0e9;
	font-size: 2.0rem;
	font-weight: bold;
}
.note {
	margin-top: 1em;
	font-size: 1.2rem;
	text-align: right;
}

.explain {
	margin: 0 auto 30px;
	line-height: 1.8;
}


@media print, screen and (min-width: 1025px) {
	
    .section_wrapper {
        padding: 40px 0 100px;
    }
	.sec_title {
		margin: 0 0 60px;
	}

    .sec_title .en_title {
		margin-bottom: 30px;
        font-size: 10.0rem;
    }
	.subject_title {
		margin: 0 0 40px;
		font-size: 3.6rem;
	}
    .explain {
		width: 640px;
		margin: 0 auto 70px;
		font-size: 1.6rem;
    }
}



/* ------------------------
footer
------------------------ */

.block_f_contact {
	padding: 40px 20px 30px;
	color: #fff;
    background-color: #00a0e9;
}
.f_contact_title {
	font-weight: bold;
	text-align: center;
}
.f_contact_title dt {
	font-size: 2.4rem;
}
.f_contact_title dd {
	margin: 30px 0;
	font-size: 1.2rem;
}
.btn_contact a {
	display: block;
	width: 100%;
	max-width: 335px;
	height: 74px;
	margin: auto;
    color: #00a0e9;
	font-family: 'Oswald', sans-serif;
	font-size: 1.8rem;
	text-align: center;
	line-height: 74px;
	background-color: #000;
}
.btn_contact a:hover {
	background-color: #fff;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
.btn_contact a::before {
    font-family: 'FontAwesome';
    content: '\f0e0';
    padding-right: 0.5em;
	vertical-align: top;
}


.block_fnavi {
	padding: 40px 20px 20px;
	color: #fff;
	font-weight: bold;
	background-color: #000;
}
.f_site_name img {
	width: 200px;
	height: auto;
	margin: auto;
}

#fnavi {
	display: flex;
	flex-wrap: wrap;
	margin: 30px 0;
}
#fnavi ul {
	width: 50%;
	border-left: 1px solid #595959;
}
#fnavi ul li {
}
#fnavi ul li a {
	display: block;
	padding: 0 1em;
	color: #fff;
	line-height: 2.5;
}
#fnavi ul li a:hover {
    color: #00a0e9;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

#fnavi ul.sns {
	display: block;
	width: 100%;
	margin: 30px 0 0;
	border-left: none;
}
#fnavi ul.sns li a {
	width: 100%;
	max-width: 335px;
	height: 68px;
	margin: auto;
	padding: 0;
	color: #fff;
	font-size: 3.2rem;
	text-align: center;
	line-height: 68px;
	background-color: #212121;
}
#fnavi ul.sns li a:hover {
    background-color: #00a0e9;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
#fnavi ul.sns li a img {
	display: inline-block;
	width: 25%;
	max-width: 77px;
	height: auto;
	margin-left: 10px;
}

.copyright {
	font-size: 1.2rem;
	text-align: center;
}

.to_top {
	position:fixed;
	right:0;
	bottom:0;
	background-color: #000;
	cursor: pointer;
}

@media print, screen and (min-width: 1080px) {

	
	.block_f_contact {
		display: flex;
		height: 214px;
		padding: 0;
		justify-content: center;
		align-items: center;
	}
	.f_contact_title {
		width: 420px;
		text-align: left;
	}
    .f_contact_title dt {
        font-size: 3.0rem;
    }
    .f_contact_title dd {
        margin: 0 0;
        font-size: 1.6rem;
    }
	.btn_contact {
		width: 420px;
	}
    .btn_contact a {
        max-width: 420px;
        height: 74px;
    }

	
	
    .block_fnavi {
        padding: 60px 20px 50px;
    }
    .f_site_name img {
        width: 300px;
        height: auto;
    }
    #fnavi {
        justify-content: center;
        margin: 60px 0;
    }
    #fnavi ul {
        display: flex;
        justify-content: center;
        width: auto;
        font-size: 1.6rem;
        border-left: none;
    }

}

