@charset "utf-8";

header nav ul li.m2 a:before{
	display:block;
	}
#header2 nav ul li.m2 a{
	color:#FAFAFA;
	background-color:#353E41;
	}
#header2 nav ul li.m2 a:after{
	border-color:#FAFAFA;
	}
#kulink{
	padding-bottom:110px;
	}
#index1{
	overflow:hidden;
	zoom:1;
	position:relative;
	}
#index1 h1.titleb{
	max-width:1180px;
	margin:0 auto;
	padding:0 110px 0 70px;
	}
#index1:before{
	content:"";
	display:block;
	width:63%;
	height:650px;
	background:url(../img/home/sec2bg.webp) no-repeat left center;
	-webkit-background-size:cover;
	background-size:cover;
	position:absolute;
	right:0;
	top:200px;
	z-index:-1;
	}
#index1 h2{
	max-width:1180px;
	margin:0 auto;
	padding:190px 110px 0 70px;
	font-size:38px;
	font-family:'Noto Serif JP';
	line-height:1.6;
	font-weight:400;
	}
#index1 p{
	max-width:1360px;
	margin:0 auto;
	padding:30px 760px 0 70px;
	line-height:2.4;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	}
.index2{
	max-width:1180px;
	margin:0 auto;
	padding:160px 110px 0 70px;
	overflow:hidden;
	zoom:1;
	}
.index2 h2{
	text-align:center;
	position:relative;
	margin-bottom:55px;
	}
.index2 h2:after{
	content:"";
	display:block;
	width:100%;
	height:1px;
	position:absolute;
	left:0;
	bottom:24px;
	background-color:#D7D7D7;
	z-index:-1;
	}
.index2 h2 span{
	font-size:42px;
	display:block;
	margin:0 auto;
	font-family:'EB Garamond';
	margin-bottom:5px;
	font-weight:400;
	}
.index2 h2 strong{
	font-size:38px;
	font-weight:700;
	display:inline-block;
	padding:0 40px;
	background-color:#FFF;
	}
.index2 h3{
	float:right;
	width:51%;
	margin-left:55px;
	}
.index2 .box{
	padding:0px 30px 35px 30px;
	margin-top:40px;
	position:relative;
	overflow:hidden;
	zoom:1;
	}
.index2 .box:after{
	content:"";
	display:block;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:18px;
	background-color:#EEEEEE;
	z-index:-1;
	}
.index2 .box h4{
	font-size:24px;
	font-weight:700;
	}
.index2 .box ul{
	padding:10px 0 0 15px;
	}
.index2 .box ul li{
	font-size:16px;
	list-style-type:disc;
	margin:12px 0 0 20px;
	}
.index2 .ph{
	clear:both;
	padding-top:75px;
	overflow:hidden;
	zoom:1;
	}
.index2 .ph h5{
	float:left;
	width:31%;
	margin-right:3.5%;
	font-size:16px;
	text-align:center;
	color:#969696;
	}
.index2 .ph h5:last-of-type{
	margin-right:0;
	}
.index2 .ph h5 img{
	margin-bottom:14px;
	}
@media screen and (max-width:1380px){
#index1 p{
	width:710px;
	max-width:60%;
	padding:30px 110px 0 70px;
	margin:0;
	}
}
@media screen and (max-width:900px){
#kulink{
	padding-bottom:80px;
	}
#index1{
	padding-top:440px;
	}
#index1 h1.titleb{
	padding:0 7%;
	text-align:center;
	}
#index1:before{
	width:100%;
	height:350px;
	top:0;
	}
#index1 h2{
	padding:50px 7% 0 7%;
	font-size:30px;
	text-align:center;
	}
#index1 p{
	width:auto;
	max-width:none;
	padding:40px 7% 0 7%;
	font-size:16px;
	line-height:2.6;
	}
.index2{
	padding:100px 7% 0 7%;
	}
.index2 h2{
	margin-bottom:30px;
	}
.index2 h2:after{
	bottom:16px;
	}
.index2 h2 span{
	font-size:30px;
	}
.index2 h2 strong{
	font-size:26px;
	padding:0 20px;
	}
.index2 h3{
	float:none;
	width:700px;
	max-width:100%;
	margin:0 auto 25px auto;
	}
.index2 p{
	font-size:16px;
	}
.index2 .box{
	padding:0px 7% 25px 7%;
	margin-top:30px;
	}
.index2 .box:after{
	top:15px;
	}
.index2 .box h4{
	font-size:21px;
	}
.index2 .box ul{
	padding:5px 0 0 5px;
	}
.index2 .ph{
	padding-top:15px;
	width:500px;
	max-width:84%;
	margin:0 auto;
	}
.index2 .ph h5{
	float:none;
	width:100%;
	margin:30px 0 0 0;
	}
.index2 .ph h5 img{
	margin-bottom:10px;
	}
}
@media screen and (max-width:650px){
#index1 h2{
	font-size:26px;
	}
}
@media screen and (max-width:550px){
#index1{
	padding-top:340px;
	}
#index1:before{
	height:250px;
	}
}
@media screen and (max-width:380px){
#index1 h2{
	font-size:23px;
	}
}