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

html{font-size: 87.5%;
	padding: 0;
	margin: 0;}

body{font-size:1em;letter-spacing: 0.075em;
	font-family: YuGothic, "Yu Gothic medium","sans-serif";
	color:#555;}

main{display: block;}

a{color: inherit;transition-duration: .3s;}

img{max-width: 100%;}

.sp{display: none;}

.en{font-family: roboto, sans-serif;}

/*  header -------------------------------------*/
header{padding: 20px 30px 15px;display: flex;justify-content: space-between;
	box-shadow: 4px 0 10px rgba(0,0,0,0.25);position: relative;z-index: 1;}

header .logo a:hover{opacity: .7;}

header .right{text-align: right;}
header .right .txt,
header .right .tel{display: inline-block;}
header .right .txt{font-weight: normal;font-size: 0.85em;letter-spacing: 0.14em;}
header .right .tel a{display: block;color: #0071bc; background: #f2f2f2;font-size: 1.57em; padding: 5px 28px;}
header .right .tel a img{vertical-align: middle;margin-right: 5px;}
header nav input{display: none;}
header nav label{display: none;}
header nav ul{margin-top: 15px;}
header nav ul li{display: inline-block;color: #0071bc;}
header nav ul li a{display: block;padding: 0 15px;}
header nav ul li a:hover{opacity: .6;}
header nav ul li:first-child a{padding-left: 0;}
header nav ul li:last-child a{padding-right: 0;}
header nav ul li:not(:last-child){border-right: 1px solid #addff4;}

/*  footer -------------------------------------*/
footer{position: relative;}
footer > article{padding: 100px 0;position: relative;}
footer .f_info{width: 350px;}
footer .f_info .logo{margin-bottom: 20px;}
footer .f_info > p{letter-spacing: 0.025em;line-height: 1.85;font-feature-settings: "palt";}
footer .f_info .add{border-bottom: 1px solid #f2f2f2;padding-bottom: 10px;margin-bottom: 15px;}
footer .f_info .near{white-space: nowrap;margin-bottom: 20px;}
footer .f_info .tel{margin-bottom: 20px;}
footer .f_info .tel a{display: block;text-align: center;color: #0071bc; background: #f2f2f2;font-size: 1.57em;}
footer .f_info .tel a img{margin-right: 3px;}
footer .f_info table{width: 100%;text-align: center; margin-bottom: 15px;font-size: 0.92em;}
footer .f_info table tr:first-child{background: linear-gradient(to right,#0592cd 5%,#0071bc 70%);}
footer .f_info table tr:not(:first-child){background: #f2f2f2;border-top: 2px solid #fff;}
footer .f_info table th{font-weight: normal;color: #fff;padding: 10px 8px;}
footer .f_info table td{padding: 10px 8px;color: #0071bc;}
footer .f_info table td:first-child{padding: 10px 10px 10px 15px;}
footer .f_info table + p{font-size: 0.92em;letter-spacing: 0.07em;}
footer .f_info table + p span{color: #0071bc;}
footer .map{width: calc(50vw - 50px);height: 490px;position: absolute;top: 100px;right:0;}
footer .sitemap{background: #f2f2f2;padding: 50px 0;}
footer .sitemap article{display: flex;justify-content: space-between;}
footer .sitemap li a{font-weight: bold;letter-spacing: 0.1em;}
footer .sitemap li.nest a{font-weight: normal;font-size: 0.85em;letter-spacing: 0.075em}
footer .sitemap article > ul > li{margin-bottom: 20px;}
footer .sitemap .nest li:not(:last-child){margin-bottom: 10px;}

footer .copy{color: #fff;font-size: 0.85em; text-align: center;background: #0071bc;padding: 15px;}


.pagetop{position: fixed;right: 8vw; bottom: 83px;z-index: 2;}
.pagetop a{display: flex;justify-content: center;align-items: center;flex-wrap: wrap;flex-direction: column;
	width: 72px;height: 72px;
	font-size: 1.214em;font-weight: bold;color: #fff;
	background: linear-gradient(to right,#0592cd 5%,#0071bc 70%);}
.pagetop a:hover{opacity: .7;}
.pagetop img{margin-bottom: 10px;}

.cv_fix{position: fixed;left: 0;top: 210px;z-index: 999;}
.cv_fix ul li a{box-sizing: border-box;}
.cv_fix .tel{display: none;}
.cv_fix .soudan{writing-mode: vertical-lr;text-align: center;}
.cv_fix .soudan a{display: block; font-size: 1.57em;font-weight: bold; padding: 20px;color: #ffff7e;
	background: linear-gradient(to bottom,#0592cd 5%,#0071bc 70%);
	letter-spacing: 0.15em;box-shadow: 2px 2px 10px rgba(0,0,0,0.25);}
.cv_fix .soudan a img{margin-bottom: 4px;}
.cv_fix .soudan a:hover{opacity: .7;}


@media screen and (max-width:599px){
	header{display: block;padding: 3vw; box-shadow: none;position: relative;z-index: 999;}
	header .right{text-align: left;}
	header .right .tel{display: none;}
	
	header nav{}
	header nav label{display: block;color: #fff; background: linear-gradient(to right,#0592cd 5%,#0071bc 70%);
		padding: 10px; position: fixed;top: 0;right: 0;z-index: 999;}
	header nav label span:before{content: "";display: block;width: 100%;height: 1px;background: #fff;
		transition-duration: .3s;}
	header nav label span:not(:last-child):before{margin-bottom: 8px;}
	
	header nav ul{display: flex;flex-wrap: wrap; margin-top: 0;align-content: center;justify-content: center;
		width: 100%;height: 100%; background: #fff;top: 0;left:0;position: fixed;
		transition-duration: .3s;opacity: 0;visibility: hidden;z-index: 99;}
	header nav ul li{flex-basis: 100%;text-align: center;}
	header nav ul li:not(:last-child){margin-bottom: 20px;border: none;}
	header nav ul li:first-child a,
	header nav ul li a{padding: 10px;}
	
	header nav input:checked ~ ul{opacity: 1;visibility: visible;}
	header nav input:checked + label span:last-child:before{opacity: 0;}
	header nav input:checked + label span:before{width: 75%;}
	header nav input:checked + label span:nth-child(1):before{transform: rotate(45deg) translate(8px,1px);}
	header nav input:checked + label span:nth-child(2):before{transform: rotate(-45deg) translate(6px,2px);}
	
	section,article{width: 100%;padding: 0 5vw;box-sizing: border-box;}
	
	footer .map{position: static;width: 100%;height: 240px;}
	footer > article{padding: 50px 5vw;}
	footer .f_info{width: 100%;}
	footer .f_info .near{white-space: normal;}
	footer .sitemap{background: none;padding:0 0 50px;}
	footer .sitemap article{display: flex;flex-wrap: wrap;flex-direction: column; height: auto;position: relative;}
	footer .sitemap article:after{content:"";width:calc(100% - 10vw);height:1px;
		background:#f2f2f2;position:absolute;left:5vw;bottom:0;}
/*	footer .sitemap article ul{width: 50%;}*/
	footer .sitemap article li{text-align: center;}
	footer .sitemap article > ul > li{margin-bottom: 10px;}
	footer .sitemap li a{display: block;font-weight: normal;border: 1px solid #f2f2f2;padding: 10px;}
	footer .sitemap article .nest{display: none;}
	footer .sitemap article ul:last-child li:last-child a{border-bottom: 1px solid #f2f2f2;}
	footer .sitemap article ul:not(:last-child) li a{border-right: 1px solid #f2f2f2;}
	footer .copy{font-size: 0.75em;letter-spacing: 0.025em;font-feature-settings: "palt";padding-bottom: 90px;}
	.pagetop{display: none !important;}
	
	.cv_fix{position: fixed;left: 0;top: auto;bottom: 0;width: 100%;}
	.cv_fix ul{width: 100%; display: flex; justify-content: center;background: #fff;padding: 10px;}
	.cv_fix ul li{flex-basis: 50%;}
	.cv_fix ul li a{display: flex;justify-content: center; align-items: center;height: 100%;}
	.cv_fix ul li a img{margin-right: 4px;}
	.cv_fix .tel{display: block;}
	.cv_fix .tel a{color: #fff;font-size: 1.25em;padding: 4vw;
		background: linear-gradient(to right,#0592cd 5%,#0071bc 70%);}
	.cv_fix .soudan{writing-mode: horizontal-tb;}
	.cv_fix .soudan a{font-size: 1em;font-weight: normal;padding: 4vw;box-shadow: none;
	background: linear-gradient(to right,#0592cd 5%,#0071bc 70%);}
	.cv_fix .soudan a img{margin-bottom: 0px;}
}
@media screen and (max-width:350px){
	.cv_fix .tel a{font-size: 4.25vw;}
	.cv_fix .soudan a{font-size: 4.07vw;}
	.cv_fix .soudan a img{width: 5vw;}
}