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

html {font-size:62.5%;}
body{
	font-size:16px;
	font-size:1.6rem;
	color:#231815;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-rendering: optimizeLegibility;
	margin:0;
}
h1,h2,h3,h4,h5,h6,p,th,td,li,dt,dd,dl,span {  
    line-height:1.8;
}  
img {
	border: none;
	vertical-align: bottom;
	max-width: 100%;
    height: auto;
}
a{
	color:#231815;
	text-decoration:none;
	font-weight: 500;
}
a img { 
	border: none;
    -webkit-transition: opacity 0.3s ease-in-out; 
    -moz-transition: opacity 0.3s ease-in-out; 
    -o-transition: opacity 0.3s ease-in-out; 
    transition: opacity 0.3s ease-in-out;
	backface-visibility: hidden;
}
a:hover{
	color:#ccc;
}
a:hover img{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
ul {
	list-style-type: none;
}
.clearfix:before,
.clearfix:after {
	content: "";
	display: block;
	overflow: hidden;
}
.clearfix:after {
	clear: both;
}
table{
	border-collapse:collapse;
}
.left-box{
	float:left;
}
.right-box{
	float:right;
}
.center{
	text-align:center;
}
.mobile{
	display:none !important;
}
.content-width{
	width:980px;
	margin:0 auto;
}
.mt10{
	margin-top:10px !important;
}
.mt20{
	margin-top:20px !important;
}
.mt30{
	margin-top:30px !important;
}
.mt40{
	margin-top:40px !important;
}
.mt50{
	margin-top:50px !important;
}
.mt60{
	margin-top:60px !important;
}
.mt70{
	margin-top:70px !important;
}
.mt80{
	margin-top:80px !important;
}
.mt90{
	margin-top:90px !important;
}
.mt100{
	margin-top:100px !important;
}
.mb10{
	margin-bottom:10px !important;
}
.mb20{
	margin-bottom:20px !important;
}
.mb30{
	margin-bottom:30px !important;
}
.mb40{
	margin-bottom:40px !important;
}
.mb50{
	margin-bottom:50px !important;
}
.mb60{
	margin-bottom:60px !important;
}
.mb70{
	margin-bottom:70px !important;
}
.mb80{
	margin-bottom:80px !important;
}
.mb90{
	margin-bottom:90px !important;
}
.mb100{
	margin-bottom:100px !important;
}
@media (max-width: 740px) {
h1,h2,h3,h4,h5,h6,p,th,td,li,dt,dd,dl,span {  
    line-height:1.5;
}  
img {
	max-width: 100%;
    height: auto;
}
.content-width{
	width:100%;
	box-sizing: border-box;
	padding:0 5%;
}
.pc{
	display:none !important;
}
.mobile{
	display:block !important;
}
.left-box{
	float:none;
}
.right-box{
	float:none;
}
}

/*--------------------------------------
    header
--------------------------------------*/

.header{
	background: #FFFFFF;
	width:100%;
	height:165px;
	position: fixed;
	z-index: 9999;
	top:0;
	left:0;
}
.header .inner{
	position: relative;
	width:980px;
	height:90px;
	margin: 0 auto;
}
.header .inner .logo{
	position: absolute;
	top:50%;
	left:0;
	transform: translate(0,-50%);
}
.header .inner .logo p{
	line-height: 1.5;
	font-size:13px;
	font-size:1.3rem;
	margin-top: 5px;
}
.header .inner .button{
	width:104px;
	height:87px;
	background: #1D2088;
	position: absolute;
	top:0;
	right:0;
    -webkit-transition: opacity 0.3s ease-in-out; 
    -moz-transition: opacity 0.3s ease-in-out; 
    -o-transition: opacity 0.3s ease-in-out; 
    transition: opacity 0.3s ease-in-out;
	backface-visibility: hidden;
}
.header .inner .button:hover{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
.header .inner .button a{
	width:100%;
	height:100%;
	display: block;
	position: relative;
	background:url("../images/icon_contact.png") no-repeat center 18px;
}
.header .inner .button a span{
	position: absolute;
	bottom:10px;
	left:0;
	width:100%;
	text-align: center;
	display: block;
	color:#FFFFFF;
	font-size:13px;
	font-size:1.3rem;
	line-height: 15px;
}
.header .detail{
	position: absolute;
	top:50%;
	right:130px;
	transform: translate(0,-50%);
}
.header .detail .tel{
	color:#1D2088;
	font-size:24px;
	font-size:2.4rem;
	line-height: 24px;
	font-weight: bold;
}
.header .detail .tel span{
	color:#1D2088;
	font-size:16px;
	font-size:1.6rem;
	line-height: 24px;
	font-weight: bold;
}
.header .detail .time{
	margin: 5px 0 0;
	font-size:14px;
	font-size:1.4rem;
}
.header .header-nav{
	width:100%;
	height: 75px;
	background: #1D2088;
}
.header .header-nav ul{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width:980px;
	height:75px;
	margin: 0 auto;
}
.header .header-nav ul li a{
	color:#FFFFFF;
	text-align: center;
	display: block;
	font-weight: bold;
	line-height: 20px;
    -webkit-transition: opacity 0.3s ease-in-out; 
    -moz-transition: opacity 0.3s ease-in-out; 
    -o-transition: opacity 0.3s ease-in-out; 
    transition: opacity 0.3s ease-in-out;
	backface-visibility: hidden;
}
.header .header-nav ul li a:hover{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
@media (max-width: 740px) {
.header{
	height:90px;
	top:0;
	left:0;
	transform: translate(0,0);
}
.header .inner{
	width:100%;
}
.header .inner .logo{
	position: absolute;
	top:10px;
	left:10px;
	transform: none;
}
.header .inner .logo a{
	width:200px;
}
.header .inner .logo p{
	font-size:12px;
	font-size:1.2rem;
}
.header .header-nav,
.header .detail,
.header .button{
	display: none;
}
.header .wrapper{
	position: absolute;
	top:20px;
	right:20px;
    width: 50px;
    height: 50px;
	transition: 0.3s;
}
.header .spbtn{
	width:50px;
	height:50px;
	position: relative;
	z-index: 10000;
	transition: 0.3s;
	background: #1D2088;
}
.header .spbtn,
.header .spbtn span {
	display: inline-block;
	-webkit-transition: all 0.3s; 
    -moz-transition: all 0.3s; 
    -o-transition: all 0.3s; 
    transition: all 0.3s;
	box-sizing: border-box;
}
.header .spbtn span {
	position: absolute;
	left: 50%;
	transform: translate( -50%, 0);
	width: 24px;
	height: 2px;
	background-color: #fff;
	border-radius: 4px;
	transition: 0.3s;
}
.header .spbtn span:nth-of-type(1) {
	top: 12px;
}
.header .spbtn span:nth-of-type(2) {
	top: 23px;
}
.header .spbtn span:nth-of-type(3) {
	top: 34px;
}
.header.select .spbtn span:nth-of-type(1) {
	transform: translate(-50%,11px) rotate(-45deg);
}
.header.select .spbtn span:nth-of-type(2) {
	opacity: 0;
}
.header.select .spbtn span:nth-of-type(3) {
	transform: translate(-50%,-11px) rotate(45deg);
}
.header .spmenu{
	width:100%;
	height:calc(100vh - 90px);
	display:block;
	position: fixed;
	top:90px;
	left:100%;
	z-index:5000;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
	overflow-y: scroll;
	background: #1D2088EF;
}
.header.select .spmenu{
	left:0;
}
.header .spmenu ul li{
	text-align: left;
	display: block;
}
.header .spmenu ul li a,
.header .spmenu ul li span{
	color:#FFFFFF;
	padding:15px 5%;
	line-height: 1.2;
	display:block;
	border-bottom:1px solid #FFFFFF;
	position: relative;
	box-sizing: border-box;
	font-weight: bold;
}
.header .spmenu ul li a:after{
	position: absolute;
	content: ">";
	right:5%;
	top:50%;
	transform: translate(0,-50%);
	font-weight: bold;
	font-size:14px;
	font-size:1.4rem;
}
.header .spmenu ul li span:after{
	position: absolute;
	content: "＋";
	right:5%;
	top:50%;
	transform: translate(0,-50%);
	font-weight: bold;
	font-size:14px;
	font-size:1.4rem;
}
.header .spmenu ul li span.select:after{
	content: "―";
}
.header .spmenu ul li.parent ul.child{
	display: none;
}
.header .spmenu ul li.parent ul.child a{
	background: #231815EF;
}
}

/*--------------------------------------
    pagetop
--------------------------------------*/

.pagetop{
	width:80px;
	height:80px;
	background: #231815;
	position: fixed;
	right:75px;
	bottom:-80px;
    -webkit-transition: opacity 0.3s ease-in-out; 
    -moz-transition: opacity 0.3s ease-in-out; 
    -o-transition: opacity 0.3s ease-in-out; 
    transition: opacity 0.3s ease-in-out;
	z-index: 999;
	box-sizing: border-box;
	border:2px solid #FFFFFF;
}
.pagetop:hover{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
.pagetop a{
	width:100%;
	height:100%;
	position: relative;
	display: block;
}
.pagetop a:before{
	width:0;
	height:0;
	content: "";
	position: absolute;
	top:20px;
	left:50%;
	transform: translate(-50%,0);
	display: block;
	border-top:0px solid transparent;
	border-right:12px solid transparent;
	border-bottom:12px solid #FFFFFF;
	border-left:12px solid transparent;
}
.pagetop a span{
	font-size:21px;
	font-size:2.1rem;
	color:#FFFFFF;
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
	position: absolute;
	left:0;
	bottom:10px;
	line-height: 1.2;
	text-align: center;
	display: block;
	width:100%;
}
@media (max-width: 740px) {
.pagetop{
	width:50px;
	height:50px;
	right:50px;
	bottom:-50px;
}
.pagetop a:before{
	top:10px;
	border-right:8px solid transparent;
	border-bottom:8px solid #FFFFFF;
	border-left:8px solid transparent;
}
.pagetop a span{
	font-size:16px;
	font-size:1.6rem;
}
}

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

.footer .contact{
	padding:50px 0 70px;
	background: #1D2088;
	width:100%;
}
.footer .contact h2{
	text-align: center;
	font-weight: bold;
	color:#FFFFFF;
	font-size:28px;
	font-size:2.8rem;
	margin-bottom: 30px;
}
.footer .contact h2 span{
	font-size:14px;
	font-size:1.4rem;
	display: block;
}
.footer .contact .left-box{
	width:480px;
	text-align: center;
}
.footer .contact .left-box .tel{
	width:480px;
	height:40px;
	text-align: center;
	font-size:19px;
	font-size:1.9rem;
	color:#FFFFFF;
	line-height: 40px;
	margin-bottom: 20px;
}
.footer .contact .left-box .tel span{
	font-size:40px;
	font-size:4.0rem;
	font-weight: 700;
	font-family: futura-pt, sans-serif;
	margin-left:10px;
}
.footer .contact .left-box .time{
	text-align: center;
	font-size:18px;
	font-size:1.8rem;
	color:#FFFFFF;
}
.footer .contact .right-box{
	width:400px;
	height:84px;
	border:1px solid #FFFFFF;
}
.footer .contact .right-box a{
	width:100%;
	height:100%;
	position: relative;
	display: block;
}
.footer .contact .right-box a span{
	width:100%;
	height:100%;
	line-height: 84px;
	text-align: center;
	color:#FFFFFF;
	position: absolute;
	top:0;
	left:0;
	display: block;
	font-size:20px;
	font-size:2.0rem;
	z-index: 40;
	transition: 0.3s;
}
.footer .contact .right-box a:before{
	content: "";
	position: absolute;
	top:0;
	left:0;
	width:0;
	height:84px;
	background: #FFFFFF;
	z-index: 10;
	transition: 0.3s;
}
.footer .contact .right-box a:after{
	content: "";
	position: absolute;
	top:50%;
	right:25px;
	width:5px;
	height:5px;
	border:1px solid;
	border-color:transparent #FFFFFF #FFFFFF transparent;
	transform: rotate(-45deg);
	z-index: 20;
	transition: 0.3s;
}
.footer .contact .right-box a:hover span{
	color:#000000;
}
.footer .contact .right-box a:hover:before{
	width:100%;
}
.footer .contact .right-box a:hover:after{
	border-color:transparent #000000 #000000 transparent;
}
.footer .inner{
	padding-top:40px;
}
.footer .inner .logo{
	margin-bottom: 50px;
}
.footer .inner .logo a{
	display: block;
	text-align: center;
	position: relative;
}
.footer .inner .logo a:before,
.footer .inner .logo a:after{
	width:310px;
	height:1px;
	content: "";
	background: #231815;
	position: absolute;
	top:50%;
}
.footer .inner .logo a:before{
	left:0;
}
.footer .inner .logo a:after{
	right:0;
}
.footer .inner ul.pc{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	width:830px;
	margin:0 auto 30px;
}
.footer .inner ul.pc li{
	border-right:1px solid #231815;
	line-height: 1;
}
.footer .inner ul.pc li:last-child{
	border-right:none;
}
.footer .inner ul.pc li a{
	padding:0 40px;
	font-size:14px;
	font-size:1.4rem;
	transition: 0.3s;
}
.footer .copy{
	text-align: center;
	font-size:13px;
	font-size:1.3rem;
	line-height: 1.2;
	padding:15px 0;
	width:980px;
	margin:40px auto 0;
	border-top:1px solid #231815;
}
@media (max-width: 740px) {
.footer .contact{
	padding:30px 5%;
	box-sizing: border-box;
}
.footer .contact h2{
	font-size:21px;
	font-size:2.1rem;
	margin-bottom: 20px;
}
.footer .contact .left-box{
	width:100%;
	margin-bottom: 20px;
}
.footer .contact .left-box .tel{
	width:100%;
	font-size:16px;
	font-size:1.6rem;
	margin-bottom: 0;
}
.footer .contact .left-box .tel span{
	font-size:24px;
	font-size:2.4rem;
}
.footer .contact .left-box .time{
	font-size:16px;
	font-size:1.6rem;
}
.footer .contact .right-box{
	width:100%;
	height:60px;
}
.footer .contact .right-box a span{
	line-height: 60px;
	font-size:16px;
	font-size:1.6rem;
}
.footer .contact .right-box a:before{
	height:60px;
}
.footer .contact .right-box a:after{
	right:15px;
}
.footer .inner{
	padding-top:30px;
}
.footer .inner .logo{
	margin-bottom: 30px;
}
.footer .inner .logo a:before,
.footer .inner .logo a:after{
	display: none;
}
.footer .inner .menu{
	width:100%;
	box-sizing: border-box;
	border-top:1px solid #000000;
	border-right:1px solid #000000;
	border-left:1px solid #000000;
	border-bottom:1px solid #000000;
	padding:20px 5% 20px 5%;
	line-height:1;
	font-size:18px;
	font-size:1.8rem;
	font-weight:bold;
	position: relative;
	-webkit-transition: 0.4s all;
	-moz-transition: 0.4s all;
	-o-transition: 0.4s all;
	transition: 0.4s all;
	cursor: pointer;
	text-align: center;
}
.footer .inner .menu.select:before{
  transform: translate(0,-50%) rotate(-180deg);
}
.footer .inner ul{
	display:block;
}
.footer .inner ul li{
	display:none;
	margin:0;
	width:100%;
	border-right:1px solid #000000;
	border-left:1px solid #000000;
}
.footer .inner ul li a{
	width:100%;
	box-sizing: border-box;
	border-bottom:1px solid #000000;
	padding:20px 5% 20px 5%;
	font-weight:bold;
	text-align: left;
	font-size:16px;
	font-size:1.6rem;
	display: block;
}
.footer .copy{
	font-size:12px;
	font-size:1.2rem;
	width:100%;
}
.footer .copy{
	font-size:12px;
	font-size:1.2rem;
	width:100%;
}
}
