﻿@charset "utf-8";

/*-------------------------------
	Overall settings
-------------------------------*/
body{ min-width: 1100px; font-family: "Noto Sans JP", sans-serif; color: #111; text-align: center;}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #111; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.gothic{ font-family: "Noto Sans JP", sans-serif;}
.oswald{ font-family: "Oswald", sans-serif;}
/* bg */
.bg-white{ background: #fff;}
.bg-gray{ background: #ddd;}
.bg-gray2{ background: #f3f3f3;}
/* color */
.f-white{ color: #fff;}
.f-red{ color: #C41C3A;}
.f-blue{ color: #0070C0;}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body{ min-width: inherit; font-size: 4.26vw;}
	a:hover{ opacity: 1;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*-------------------------------
	header
-------------------------------*/
header{
	display: flex;
	justify-content: space-between;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	min-width: 1100px;
	padding: 0 0 0 3%;
	background: rgba(255,255,255,.95);
	z-index: 999;
}
header h1{
	display: flex;
	align-items: center;
}
header h1 img{
	margin-right: 1em;
}
header h1 span{
	display: inline-block;
	padding: 0 .5em;
	color: #fff;
	background: #C41C3A;
}
header .spmenu{
	display: none;
}
header nav ul{
	display: flex;
	line-height: 80px;
}
header nav ul li a{
	display: block;
	padding: 0 .5em;
	position: relative;
}
header ul li > a:hover{
	opacity: 1;
}
header ul li > a:after{
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 5px;
	width: 50px;
	height: 4px;
	opacity: 0;
	transition: .2s;
	visibility: hidden;
	background: #C41C3A;
}
header ul li > a:hover:after{
	bottom: 0;
	opacity: 1;
	visibility: visible;
}
header nav ul li a.form{
	height: 80px;
	padding: 3.7em 1.5em 0;
	margin-left: 1em;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	background: url("../img/ic-form.svg") center top .8em no-repeat #0070C0;
}
header nav ul li a.form:hover{ opacity: .6;}
header nav ul li a.form:after{ display: none;}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	header{
		min-width: inherit;
		height: 60px;
	}
	header h1 img{
		width: 130px;
		font-size: 14px;
		margin-right: 1em;
	}
	header h1 span{
		font-size: 14px;
	}
	header .spmenu{
		display: block;
	}
	header .spmenu{
		position: relative;
		width: 57px;
		height: 57px;
		cursor: pointer;
	}
	header .spmenu span {
		display: inline-block;
		position: absolute;
		left: 50%;
		width: 30px;
		height: 2px;
		background: #0C4592;
		transform: translateX(-50%);
		transition: all .5s;
	}
	header .spmenu span {
		display: inline-block;
		transition: all .5s;
	}
	header .spmenu span:nth-of-type(1) { top: 20px;}
	header .spmenu span:nth-of-type(2) { top: 28px;}
	header .spmenu span:nth-of-type(3) { bottom: 19px; width: 16px; margin-left: 7px;}
	header .spmenu.active span:nth-of-type(1) { transform: translate(-12px, 8px) rotate(-315deg);}
	header .spmenu.active span:nth-of-type(2) { opacity: 0;}
	header .spmenu.active span:nth-of-type(3) { transform: translate(-12px, -8px) rotate(315deg); width: 30px; margin-left: 0;}
	header nav{
		display: none;
		position: absolute;
		left: 0;
		top: 60px;
		width: 100%;
		padding: 5vw 10vw 10vw;
		background: rgba(255,255,255,.95);
		box-shadow: 3px 3px 10px rgba(0,0,0,.1);
		z-index: 99;
	}
	header nav ul{
		display: block;
		width: auto;
		line-height: inherit;
	}
	header ul li{
		font-size: 4.8vw;
	}
	header nav ul li a{
		display: inline-block;
		padding: 0 .5em;
		padding: .5em 0;
		text-align: left;
	}
	header ul li > a:hover{
		opacity: 1;
	}
	header ul li > a:after{
		display: none;
	}
	header nav ul li a.form{
		height: auto;
		padding: 1em 2em 1em 4em;
		margin-left: 0;
		margin-top: 1em;
		color: #fff;
		font-size: 4.26vw;
		background: url("../img/ic-form.svg") left 2em center / 1.5em auto no-repeat #0070C0;
	}
	header nav ul li a.form:hover{ opacity: .6;}
	header nav ul li a.form:after{ display: none;}
}



/*-------------------------------
	section
-------------------------------*/
.wrap{ clear: both; box-sizing: content-box; max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 5%; padding-right: 5%;}
/* wpeditor */
.wpeditor{ text-align: left; clear: both;}
.wpeditor *:first-child{ margin-top: 0!important;}
.wpeditor h1,.wpeditor h2,.wpeditor h3,.wpeditor h4,.wpeditor h5,.wpeditor h6,.wpeditor a{ color: #0F3286; line-height: 1.4; margin-top: 2em;}
.wpeditor a{ text-decoration: underline;}
.wpeditor h1{ font-size: 32px;}
.wpeditor h2{ font-size: 30px;}
.wpeditor h3{ font-size: 28px;}
.wpeditor h4{ font-size: 24px;}
.wpeditor h5{ font-size: 20px;}
.wpeditor h6{ font-size: 18px;}
.wpeditor p, .wpeditor ul, .wpeditor ol, .wpeditor table{ margin-top: 2em;}
.wpeditor figure{ text-align: center;}
.wpeditor img{ display: block; margin: 2em auto 0;}
.wpeditor p.date{ text-align: right;}
@media screen and (max-width: 540px){
	.wpeditor{ padding-top: 15px;}
	.wpeditor h1{ font-size: 20px;}
	.wpeditor h2{ font-size: 18px;}
	.wpeditor h3{ font-size: 16px;}
	.wpeditor h4{ font-size: 15px;}
	.wpeditor h5{ font-size: 14px;}
	.wpeditor h6{ font-size: 13px;}
}
/* fixed */
.fixedbnr{
	position: fixed;
	right: 0;
	bottom: 0;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	padding: .3em 0 0;
	background: #0070C0;
	border-radius: 20px 0 0 0;
	z-index: 999;
}
.fixedbnr dt{
	color: #FFF73B;
}
.fixedbnr dd{
	display: flex;
	align-items: center;
}
.fixedbnr dd a.tel{
	display: block;
	padding: 0 1.5em .5em;
	color: #fff;
	font-size: 12px;
	line-height: 1.2;
	border-right: 1px solid #ccc;
}
.fixedbnr dd a.tel span{
	display: block;
	font-size: 24px;
	font-weight: bold;
}
.fixedbnr dd a.tel small{
	color: #ccc;
}
.fixedbnr dd a.form{
	display: block;
	padding: 0 1em .5em 3em;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
	background: url(../img/ic-form.svg) left 1em center / 1.5em auto no-repeat;
}
/* anchor */
.anchor{ position: relative;}
.anchorid{
	position: absolute;
	top: -100px;
}
/* ttl */
.pagettl{
	margin-top: 80px;
	color: #fff;
	font-size: 50px;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6;
	text-align: center;
}
.pagettl.ism{ background: url(../img/pagettl-ism.jpg) center right / cover no-repeat;}
.pagettlwrap{
	display: block;
	height: 250px;
	padding-top: 1.4em;
	background: url(../img/pagettl.png) center / cover no-repeat;
}
.pagettlwrap::first-letter{ color: #C41C3A;}
.pagettlwrap span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0;
}
.ttl1{
	color: #999;
	font-size: 14px;
	font-weight: 500;
}
.ttl1::first-letter{
	color: #C41C3A;
}
.ttl1 span{
	color: #000;
	font-size: 34px;
	line-height: 1.2;
	letter-spacing: .1em;
}
.ttl2{
	color: #C41C3A;
	padding-left: 1.5em;
	font-size: 30px;
	line-height: 1.5;
	position: relative;
}
.ttl2:before{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: .7em;
	width: 1em;
	height: .15em;
	background: #ccc;
}
.ttl2 small{
	display: inline-block;
	font-size: 20px;
}
.ttl3{
	display: inline-block;
	padding-bottom: .5em;
	font-size: 22px;
	line-height: 1.5;
	border-bottom: 2px solid #ccc;
	font-weight: 500;
}
.ttl4{
	padding-bottom: .5em;
	font-size: 20px;
	line-height: 1.5;
	border-bottom: solid 2px #999;
	position: relative;
}
.ttl4:after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 2px #C41C3A;
	bottom: -2px;
	width: 25%;
}
/* btn */
.btn1{
	display: inline-block;
	padding-left: 1.2em;
	background: url(../img/arrow-right.svg) left center / 9px auto no-repeat;
}
.btn1:hover{
	text-decoration: underline;
}
.btn2{
	display: inline-block;
	width: 100%;
	max-width: 500px;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: .5em 0;
	font-size: 22px;
	font-weight: bold;
	border-radius: .4em;
	border-bottom: 7px solid #0070C0;
	background: #3399e2;
	color: #fff;
	transition: none;
}
.btn2:hover{
	opacity: 1;
	margin-top: 6px;
	border-bottom: 1px solid #0070C0;
	color: #fff;
}
/* ic */
.ic1{
	padding-left: 1.2em;
	position: relative;
}
.ic1:before{
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	top: .6em;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 10px solid #C41C3A;
	border-right: 0;
}
.ic1 a{
	text-decoration: underline;
}
/* pnav */
.pnav{
	display: flex;
	padding: .5em 3% 3em;
	font-size: 14px;
}
.pnav li:not(:last-child):after{
	content: "＞";
	display: inline-block;
	margin: 0 .5em;
	color: #999;
}
/* pager */
.pager{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.pager li{
	margin: 0 .2em .4em;
	text-align: center;
}
.pager li a{
	display: block;
	box-sizing: content-box;
	width: 2.5em;
	line-height: 2.5;
	border: 2px solid #C41C3A;
}
.pager li a:hover,
.pager li.act{
	opacity: 1;
	box-sizing: content-box;
	width: 2.5em;
	line-height: 2.5;
	color: #fff;
	font-weight: bold;
	background: #C41C3A;
	border: 2px solid #C41C3A;
}
/* anchorlist */
.anchorlist{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 3em;
}
.anchorlist li{
	width: 48%;
	margin-bottom: .5em;
}
.anchorlist li a{
	display: inline-block;
	padding: .5em 1.2em .5em 2.5em;
	line-height: 1.5;
	background: #eee;
	position: relative;
}
.anchorlist li a:before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 1em;
	top: 1em;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: .45em solid transparent;
	border-left: .45em solid transparent;
	border-top: .7em solid #C41C3A;
	border-bottom: 0;
}
/* marker */
.marker{ background: linear-gradient(transparent 50%, #ffff66 50%);}
/* youtubewrap */
.youtubewrap{
	padding: 3em 10%;
	background: #eee;
}
.youtubewrap.bg-white{ background: #fff;}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	/* fixed */
	.fixedbnr{
		width: 100%;
		font-size: 3.73vw;
		border-radius: 0;
	}
	.fixedbnr dd a.tel{
		width: 50%;
		font-size: 2.66vw;
	}
	.fixedbnr dd a.tel span{
		font-size: 5.33vw;
	}
	.fixedbnr dd a.form{
		width: 50%;
		font-size: 4.26vw;
		background-position: left 1.5em center;
	}
	/* anchor */
	.anchorid{
		top: -80px;
	}
	/* ttl */
	.pagettl{
		margin-top: 60px;
		font-size: 10vw;
	}
	.pagettlwrap{
		height: 40vw;
		padding-top: .8em;
	}
	.pagettlwrap::first-letter{ color: #C41C3A;}
	.pagettlwrap span{
		display: block;
		font-size: 14px;
		font-weight: normal;
		letter-spacing: 0;
	}
	.ttl1{
		font-size: 3.73vw;
	}
	.ttl1 span{
		font-size: 8vw;
	}
	.ttl2{
		font-size: 6.4vw;
	}
	.ttl2 small{
		font-size: 4.8vw;
		line-height: 1.3;
	}
	.ttl3{
		font-size: 5.33vw;
	}
	.ttl4{
		font-size: 5.33vw;
	}
	.ttl4:after{
		position: absolute;
		content: " ";
		display: block;
		border-bottom: solid 2px #C41C3A;
		bottom: -2px;
		width: 25%;
	}
	/* lead */
	.lead1{
		font-size: 5.33vw;
	}
	/* btn */
	.btn1{
		background-size: .6em auto;
	}
	.btn2{
		width: 80%;
		font-size: 5.33w;
	}
	.btn2:hover{
		margin-top: 0;
		border-bottom: 7px solid #0070C0;
	}
	/* pager */
	.pager li a,
	.pager li a:hover,
	.pager li.act{
		width: 2em;
		line-height: 2;
	}
	/* anchorlist */
	.anchorlist{
		display: block;
		margin-bottom: 3em;
	}
	.anchorlist li{
		width: auto;
	}
	.anchorlist li a{
		padding: .5em 1.2em .5em 2.5em;
	}
	/* youtubewrap */
	.youtubewrap{
		padding: 2em 5%;
		margin: 0 -5vw 3em;
	}
}



/*-------------------------------
	footer
-------------------------------*/
footer{ background: #F5F5F5;}
footer .wrap{
	display: flex;
	justify-content: space-between;
	padding-top: 40px;
	padding-bottom: 40px;
	position: relative;
}
footer .wrap .about{
	width: 170px;
}
footer .wrap .about span{
	display: block;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	background: #C41C3A;
	margin-bottom: 20px;
}
footer .wrap .about a{
	display: block;
	padding: .5em 0 .5em 2em;
	color: #0070c0;
	font-weight: 500;
	background: url(../img/ic-form-blue.svg) left 1em center / 26px auto no-repeat #fff;
	border: 1px solid #0070c0;
}
footer .wrap .fnav{
	display: flex;
	text-align: left;
}
footer .wrap .fnav ul{
	margin-right: 2em;
}
footer .wrap .fnav ul li{
	margin-bottom: .5em;
}
footer .wrap .fnav ul.bnr{
	margin-right: 0;
	margin-left: 2em;
	width: 180px;
	font-size: 12px;
}
footer .wrap .fnav ul.bnr a{
	display: block;
	color: #666;
}
footer .wrap .fnav ul.bnr img{
	display: block;
}
footer .wrap .copy{
	position: absolute;
	left: 5%;
	bottom: 40px;
	font-size: 12px;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	footer{ padding-bottom: 20vw;}
	footer .wrap{
		display: block;
		padding-top: 10vw;
		padding-bottom: 10vw;
	}
	footer .wrap .about{
		width: 45vw;
		margin: 0 auto 10vw;
	}
	footer .wrap .about span{
		font-size: 4.26vw;
		margin-bottom: 5vw;
	}
	footer .wrap .about a{
		background-size: 1.5em auto;
	}
	footer .wrap .fnav{
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 0;
	}
	footer .wrap .fnav ul{
		margin-right: 0;
		width: 50%;
	}
	footer .wrap .fnav ul li{
		margin-bottom: .5em;
	}
	footer .wrap .fnav ul.bnr{
		display: flex;
		justify-content: space-between;
		padding-top: 5vw;
		margin: 0 auto 5vw;
		width: auto;
		font-size: 3.2vw;
	}
	footer .wrap .fnav ul.bnr li{
		width: 48%;
	}
	footer .wrap .fnav ul.bnr a{
		display: block;
		color: #666;
	}
	footer .wrap .fnav ul.bnr img{
		display: block;
	}
	footer .wrap .copy{
		position: static;
		font-size: 3.73vw;
		text-align: left;
	}
}


































/*--------------------------------------------------------------
	Sub-page settings
--------------------------------------------------------------*/
/*-------------------------------
	/
-------------------------------*/
.top1{
	position: relative;
	margin-top: 80px;
}
.top1 h2{
	position: absolute;
	left: 0;
	top: 17vw;
	width: 100%;
	text-align: center;
	z-index: 99;
}
.top2{
	margin: 50px 0 50px 3%;
	overflow: hidden;
}
.top2 .item{
	padding-right: 30px;
	cursor:grab;
}
.top2 .item:active{
	cursor:grabbing;
}
.top2 .item img{
	border: none;
	max-width: 100%;
	width: 700px;
	height: auto;
}
.top2 .slick-nav{
	position: relative;
	margin: 0 3% 0 0;
	padding-bottom: 30px;
}
.top2 .slick-num{
	width: auto;
	margin: 0 auto 5px;
	font-size: 12px;
	letter-spacing: 0.06em;
	line-height: calc(27 / 14);
	text-align: center;
	opacity: 0;
}
.top2 .arrow_box{
	width: 100%;
	position: relative;
	top: 0;
}
.top2 .slick-slider{
	padding: 0 0 1em;
	margin: 0;
}
.top2 .slick-arrow{
	width: 50px;
	height: 50px;
	background: url("../img/arrow-right.svg") center / 15px auto no-repeat;
	cursor: pointer;
	font-size: 2px;
	color: transparent;
	overflow: hidden;
	border: none;
	position: absolute;
	z-index: 10;
	top: unset;
	bottom: unset;
}
.top2 .slick-arrow.slick-prev{
	left: 0;
	top: 0;
	transform: rotateY(180deg) translateY(-50%);
	opacity: 1.0;
	transition: opacity .2s ease-out;
}
.top2 .slick-arrow.slick-next{
	right: 0;
	top: 0;
	transform: translateY(-50%);
	opacity: 1.0;
	transition: opacity .2s ease-out;
}
.top2 .slick-arrow.slick-prev.slick-disabled,
.top2 .slick-arrow.slick-next.slick-disabled{
	opacity: 0.3;
	pointer-events: none;
	cursor: pointer;
}
.top2 .progress-container{
	width: calc(100% - 100px);
	height: 2px;
	background-color: #E4E4E4;
	position: relative;
	margin: 0 auto;
}
.top2 .progress-bar1-1{
	width: 0;
	height: 100%;
	background-color: #000000;
	position: absolute;
	top: 0;
	left: 0;
	transition: width 0.5s ease;
}
.top3{
	margin-bottom: 20px;
	padding: 0 10%;
}
.top3 .clm2{
	display: flex;
	justify-content: space-between;
}
.top3 .clm2 li{
	width: 48.5%;
	margin-bottom: 40px;
}
.top3 .clm3{
	display: flex;
	justify-content: space-between;
}
.top3 .clm3 li{
	width: 32%;
	margin-bottom: 50px;
}
.top4{
	color: #fff;
	background: url(../img/top4-bg.jpg) center / cover no-repeat ;
	position: relative;
	overflow: hidden;
}
.top4 figure{
	position: absolute;
	left: 60vw;
	top: 25px;
	width: 704px;
}
.top4 .wrap{
	display: flex;
	align-items: center;
	align-content: center;
	flex-wrap: wrap;
	height: 650px;
	text-align: left;
}
.top4 h3{
	width: 100%;
	margin-bottom: 1em;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.4;
}
.top4 p{
	width: 100%;
	font-size: 18px;
}
.top4 p strong{
	display: inline-block;
	max-width: 0 .1em;
	padding: 0 .2em;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	background: linear-gradient(transparent 50%, #EF7D26 50%);
}
.top5{
	padding-top: 70px;
	padding-bottom: 80px;
}
.top5 .top5wrap{
	display: flex;
	justify-content: space-between;
}
.top5 .top5wrap > div{
	width: 48.5%;
}
.top6{
	display: flex;
	text-align: left;
	padding-top: 70px;
	padding-bottom: 60px;
	position: relative;
}
.top6 h2{
	width: 200px;
}
.top6 .newslist{
	flex: 1;
	text-align: left;
}
.newslist dl{
	display: flex;
	margin-bottom: 1em;
}
.newslist dl dt{
	width: 9em;
	color: #999;
}
.newslist dl dd{
	flex: 1;
}
.newslist dl dd a{
	text-decoration: underline;
}
.top6 .more{
	position: absolute;
	left: 5%;
	top: 170px;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.top1{
		margin-top: 60px;
	}
	.top1 h2{
		position: absolute;
		left: 10vw;
		top: 25vw;
		width: 80%;
		text-align: center;
		z-index: 99;
	}
	.top1 ul img{
		width: 150%;
		max-width: auto;
		margin: 0 -25%;
	}
	.top2{
		margin: 10vw 0 5vw 5vw;
	}
	.top2 .item{
		padding-right: 3vw;
	}
	.top2 .item img{
		width: 85vw;
	}
	.top2 .slick-nav{
		margin: 0 3% 0 0;
		padding-bottom: 5vw;
	}
	.top2 .slick-num{
		margin: 0 auto .2em;
		font-size: 3vw;
	}
	.top2 .slick-slider{
		padding: 0;
	}
	.top2 .slick-arrow{
		width: 10vw;
		height: 10vw;
		background-size: 3.5vw auto;
	}
	.top2 .progress-container{
		width: calc(100% - 20vw);
	}
	.top3{
		margin-bottom: 10vw;
		overflow: hidden;
	}
	.top3 .clm2{
		display: block;
	}
	.top3 .clm2 li{
		width: auto;
		margin-bottom: 5vw;
	}
	.top3 .clm3{
		display: block;
	}
	.top3 .clm3 li{
		width: auto;
		margin-bottom: 3vw;
	}
	.top4 figure{
		display: none;
	}
	.top4 .wrap{
		display: block;
		height: auto;
		padding: 15vw 5%;
	}
	.top4 h3{
		font-size: 6.4vw;
	}
	.top4 p{
		font-size: 4.26vw;
	}
	.top4 p strong{
		font-size: 5.33vw;
	}
	.top5{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}
	.top5 .top5wrap{
		display: block;
	}
	.top5 .top5wrap > div{
		width: auto;
		margin-bottom: 5vw;
	}
	.top6{
		display: block;
		padding-top: 15vw;
		padding-bottom: 10vw;
	}
	.top6 h2{
		width: auto;
		margin-bottom: 5vw;
	}
	.newslist{
		margin-bottom: 5vw;
		overflow: hidden;
	}
	.newslist dl{
		display: block;
	}
	.top6 .more{
		position: static;
		text-align: right;
	}
}



/*-------------------------------
	makotoyaizsm
-------------------------------*/
.ism1cont{
	text-align: right;
}
.ism1cont ul{
	display: inline-block;
	text-align: left;
}
.ism2cont dl{
	display: flex;
	flex-wrap: wrap;
}
.ism2cont dl dt{
	width: 100%;
}
.ism2cont dl dd{
	width: 33.33%;
	padding-right: 1em;
	margin-bottom: .5em;
	line-height: 1.5;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.ism2cont dl dd{
		width: 50%;
	}
	.ism2cont dl.spwide dd{
		width: 100%;
	}
}



/*-------------------------------
	staff
-------------------------------*/
.staff1{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.staff1 figure{
	width: 300px;
	padding: 20px 5px;
	text-align: center;
	background: #efefef;
}
.staff1 p{
	flex: 1;
	padding-left: 2em;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.staff1{
		display: block;
	}
	.staff1 figure{
		width: auto;
		padding: 1em 5%;
		margin-bottom: 1em;
	}
	.staff1 p{
		padding-left: 0;
	}
}



/*-------------------------------
	menu
-------------------------------*/
.menu1 li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
	margin-bottom: 2em;
}
.menu1 li figure{
	width: 300px;
}
.menu1 li dl{
	flex: 1;
	padding-left: 2em;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.menu1 li{
		display: block;
		margin-bottom: 3em;
	}
	.menu1 li figure{
		width: auto;
		text-align: center;
	}
	.menu1 li figure img{
		width: 100%;
	}
	.menu1 li dl{
		padding-left: 0;
		margin-bottom: 1em;
	}
}



/*-------------------------------
	gallery
-------------------------------*/
.gallery1{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3em;
}
.gallery1 p{
	width: 24%;
	margin-right: 1.33%;
	margin-bottom: 1.5em;
		line-height: 1.5;
}
.gallery1 p:nth-child(4n){ margin-right: 0;}
.gallery1 p a{
	display: block;
	margin-bottom: .5em;
	background: #eee;
	overflow: hidden;
}
.gallery1 p a img{
	width: 100%;
	object-fit: contain;
	aspect-ratio: 1;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.gallery1 p{
		width: 32%;
		margin-right: 2%;
		margin-bottom: 1em;
		font-size: 3.73vw;
	}
	.gallery1 p:nth-child(4n){ margin-right: 2%;}
	.gallery1 p:nth-child(3n){ margin-right: 0;}
}



/*-------------------------------
	recruit
-------------------------------*/
.recruit1{
	width: 100%;
	border-top: 1px solid #ccc;
}
.recruit1 th{
	width: 12em;
	padding: .5em 1em;
	background: #eee;
	border-bottom: 1px solid #ccc;
}
.recruit1 td{
	padding: .5em 1em;
	border-bottom: 1px solid #ccc;
}
.recruit1 td .taigu{
	display: inline-block;
	margin: 0 .5em .5em 0;
	padding: .1em .8em;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	border-radius: .3em;
}
.recruit2{
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding: 1em 3em;
	background: #980f08;
}
.recruit2 .bg-white{
	padding: 1.5em;
	border-radius: 1em;
	text-align: center;
}
.recruit2 .bg-white h3{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: .3em;
}
.recruit2 .bg-white a{
	display: inline-block;
	padding-left: 2em;
	color: #333;
	font-size: 45px;
	font-weight: bold;
	line-height: 1.5;
	background: url(../img/ic-freedial.svg) left center / 1.8em auto no-repeat;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.recruit1 th{
		display: block;
		width: auto;
		padding: .5em 1em;
		border-bottom: none;
	}
	.recruit1 td{
		display: block;
		padding: .5em 1em 1em;
	}
	.recruit1 td .taigu{
		font-size: 4.8vw;
	}
	.recruit2{
		padding: 1em;
	}
	.recruit2 .bg-white{
		padding: 1.5em 0;
	}
	.recruit2 .bg-white h3{
		font-size: 5.86vw;
	}
	.recruit2 .bg-white a{
		font-size: 9.33vw;
	}
}



/*-------------------------------
	form
-------------------------------*/
.form2{
	width: 100%;
	border-top: 1px solid #ccc;
}
.form2 th{
	width: 15em;
	padding: 1em;
	background: #eee;
	border-bottom: 1px solid #ccc;
}
.form2 th span{
	color: #c00;
	font-size: 14px;
	font-weight: bold;
}
.form2 td{
	padding: 1em;
	border-bottom: 1px solid #ccc;
}
.form2 td input.w150{
	width: 150px;
}
input.submitbtn{
	display: inline-block;
	width: 100%;
	max-width: 500px;
	height: auto;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: .5em 0;
	font-size: 22px;
	font-weight: bold;
	border-radius: .4em;
	border-bottom: 7px solid #0070C0;
	background: #3399e2;
	color: #fff;
	transition: none;
}
input.submitbtn:hover{
	opacity: 1;
	margin-top: 6px;
	border-bottom: 1px solid #0070C0;
	color: #fff;
}
input.backbtn{
	display: inline-block;
	width: 100%;
	max-width: 300px;
	height: auto;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: .1em 0;
	font-size: 22px;
	font-weight: bold;
	border-radius: .4em;
	border-bottom: 7px solid #333;
	background: #666;
	color: #fff;
	transition: none;
}
input.backbtn:hover{
	opacity: 1;
	margin-top: 6px;
	border-bottom: 1px solid #666;
	color: #fff;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.form2 th{
		display: block;
		width: auto;
		padding: .5em 1em;
		border-bottom: none;
	}
	.form2 td{
		display: block;
		padding: .5em 1em 1em;
	}
	.form2 td .taigu{
		font-size: 4.8vw;
	}
	input.submitbtn{
		width: 80%;
		font-size: 5.33w;
	}
	input.submitbtn:hover{
		margin-top: 0;
		border-bottom: 7px solid #0070C0;
	}
	input.backbtn{
		width: 60%;
		font-size: 5.33w;
	}
	input.backbtn:hover{
		margin-top: 0;
		border-bottom: 7px solid #666;
	}
}
