﻿html,body{
	font-family: 'Noto Sans JP', sans-serif ;
	color: #000;
	font-size: 16px;
	letter-spacing: 0.05em;
	box-sizing: border-box;
}
img{
	vertical-align: bottom;
	width: 100%;
}
a{
	text-decoration: none;
	cursor:pointer;
}
a:hover{
	opacity: 0.7;
}
a[href*="tel:"]{
	pointer-events:none;cursor:default
}

select,input[type=text],input[type=email]{width:100%;height:40px;padding:0 4px;margin:5px;line-height:40px;background-color:#fff;border:1px solid #95887f;border-radius:5px;color:#726255}
select::placeholder,input[type=text]::placeholder,input[type=email]::placeholder{color:#ddd}
textarea{resize:none;width:100%;padding:0 4px;margin:5px;line-height:25px;background-color:#fff;border:1px solid #95887f;border-radius:5px}
textarea::placeholder{color:#ddd}

.f-t{
	font-family: 'Noto Serif JP', serif;
}

.inner{
	width: 980px;
	margin: 0 auto;
}

.hurry{
	text-align: center;
	background: url(../img/hurry-bg.png) no-repeat center center #fdf686;
	padding: 10px;
}
.hurry img{
	max-width: auto;
	width: auto;
}

.mv{
	text-align: center;
	background:linear-gradient(to right, #2b8ad3 40%, #2b71d3 60%);
}
.mv picture{
	margin: 0 auto;
}
.mv picture img{
	max-width: 1600px;
	min-width: 1200px;
}
.cta{
	color: #fff;
	background-color: #1c4f86;
	padding: 25px 0;
}
.cta .inner{
	display: flex;
	justify-content: space-between;
	align-items:center;
}
.cta .tel{
	font-size: 21px;
}
.cta .tel img{
	width:	210px;
	height: auto;
	line-height: 1;
	vertical-align: bottom;
}
.cta .day{
	font-size: 16px;
}
.cta .btn{
	display: block;
	width: 240px;
	height: 50px;
	color: #1c4f86;
	font-size: 16px;
	text-align: center;
	line-height: 48px;
	border-radius: 25px;
	background: url(../img/icon-mail.png) no-repeat left 10px center #fff;
	background-size: 40px auto;
	box-shadow: 0 5px 5px rgba(0,0,0,0.5);
	padding-left: 45px;
}
.contents{
	width: 1080px;
	margin: 0 auto;
}
#about .contents .con-ttl{
	color: #1c4f86;
	font-size: 33px;
	font-weight: bold;
}
#about .contents .con-ttl span{
	background: url(../img/line.png) no-repeat left bottom;	
}
#about .contents .text{
	width: 660px;
	line-height: 2;
	margin-top: 22px;
}
#about .contents .text span{
	font-size: 24px;
	font-weight: bold;
	background:linear-gradient(transparent 70%, #FFFF00 0%);
}
#about .contents.about01{
	background: url(../img/about-img.png) no-repeat right bottom;
	background-size: 350px 210px;
	padding: 60px 0;
}
#about .contents.about02{
	position: relative;
	padding: 60px 0;
}
#about .contents.about02 img{
	position: absolute;
	right: 0px;
	top: 0;
	bottom: 0;
	width: 350px;
	height: auto;
	margin: auto;
}
#about .contents.about02 .text.obi{
	color: #ffff00;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	border-radius: 40px;
	background-color:#1c4f86;
	padding: 10px 0 15px;
	margin-top: 70px;
	position: relative;
}
#about .contents.about02 .text.obi::before{
	content: "";
	display: block;
	position: absolute;
	top: -50px;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 30px solid #1c4f86;
	border-right: 30px solid transparent;
	border-left: 30px solid transparent;
	z-index: 1;
	margin: 0 auto;
}
#about .contents.about02 .text.obi strong{
	font-size: 40px;
}
#about .contents.about02 .text.obi span{
	font-size: 30px;
	background:none;
}

.plan{
	background-color: #f2f2f2;
	padding: 30px 0;
}
.plan .plan-con{
	display: flex;
	align-items: center;
}
.plan .plan-con:nth-of-type(2){
	margin-top: 25px;
}
.plan .plan-con .date{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 90px;
	background-color: #1c4f86;
	margin-right: 50px;
	position: relative;
}
.plan .plan-con .date::after{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	top: 0;
	right: -30px;
	width: 0;
	height: 0;
	border-top: 45px solid transparent;
	border-bottom: 45px solid transparent;
	border-left: 30px solid #1c4f86;
	z-index: 1;
	margin: auto 0;
}
.plan .plan-con .date p{
	color: #fff;
	text-align: center;
}
.plan .plan-con p.plan-text{
	font-size: 17px;
	line-height: 1.7;
}
.plan .plan-con p.plan-text span{
	color: #b18e23;
}
.plan .plan-con p.plan-text span.line{
	font-size: 24px;
	font-weight: bold;
	background:linear-gradient(transparent 70%, #FFFF00 0%);
}

#lineup{
	background-color: #eee6cf;
	padding: 80px 0;
}
#lineup .lineup-fukidashi{
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 2px solid #b18e23;
	padding-bottom: 50px;
	margin-bottom: 130px;
	position: relative;
}
#lineup .lineup-fukidashi::before,#lineup .lineup-fukidashi::after{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 30px solid #b18e23;
	border-right: 30px solid transparent;
	border-left: 30px solid transparent;
	z-index: 1;
	margin: 0 auto;
}
#lineup .lineup-fukidashi::before{
	bottom: -45px;
}
#lineup .lineup-fukidashi::after{
	bottom: -90px;
}
#lineup .lineup-fukidashi p {
	display: inline-block;
	color: #1c4f86;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	border-radius: 5px;
	background-color: #ffff00;
	padding: 40px 20px;
	position: relative;
}
#lineup .lineup-fukidashi p::before{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	top: 0;
	left: -35px;
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 35px solid #ffff00;
	z-index: 1;
	margin: auto 0;
}
#lineup .lineup-fukidashi img{
	width: 220px;
	height: auto;
	margin-right: 20px;
}
#lineup .lineup-ttl{
	color: #b18e23;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 70px;
}

#lineup .lineup-box{
	margin-bottom: 150px
}

#lineup .pattern{
	display: block;
	width: 70px;
	height: 70px;
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	line-height: 68px;
	border-radius: 50%;
	background-color: #b18e23;
	box-shadow: 0 3px 0 #7d6211;
	margin: 30px auto 0;
}
#lineup .pattern-ttl{
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	margin-top: 5px;
}
#lineup .item{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 50px;
}
#lineup .item .item-img img{
	height: auto;
}
#lineup .item .item-img.item-img-l img,#lineup .item-sub2 .item-img.item-img-l img{
	width: auto;
	height: auto;
}
#lineup .item .item-img p{
	text-align: center;
	margin-top: 5px;
}
#lineup .item .plus{
	margin: 0 34px;
}
#lineup .item .plus img ,#lineup .item-sub2 .plus img{
	width: 40px;
	height: 40px;
}
#lineup .item-sub2{
	text-align: center;
}
#lineup .item-sub2 .plus{
	margin: 40px 0 34px;
}

#lineup .meritto{
	width: 760px;
	background-color: #fff;
	box-shadow: 0 5px 10px rgba(0,0,0,0.2);
	padding: 40px 20px 30px;
	margin : 100px auto 0;
	position: relative;
}
#lineup .meritto .ttl{
	position: absolute;
	top: -20px;
	right: 0;
	left: 0;
	width: 200px;
	height: 40px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 38px;
	background-color: #b18e23;
	margin:0 auto;
}
#lineup .meritto::after{
	content: "";
	display: block;
	position: absolute;
	top: 20px;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	border-top: 15px solid #b18e23;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
	z-index: 1;
	margin: 0 auto;
}
#lineup .meritto .meritto-text{
	font-size: 18px;
	text-align: center;
	line-height: 1.5;
}

#lineup .entry{
	border-radius: 18px;
	background: url(../img/entry-bg.png) repeat;
	padding: 20px;
	margin-top: 100px;
}
#lineup .entry .wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 130px;
	box-sizing: border-box;
	border-radius: 10px;
	background-color: #ffffed;
	padding: 0 64px;
}
#lineup .entry .wrapper .entfy-text{
	color: #1c4f86;
	font-size: 20px;
	font-weight: bold;
	padding-left:125px;
	position: relative;
}
#lineup .entry .wrapper .entfy-text img{
	position: absolute;
	top: 5px;
	left: 0;
	width: 103px;
	height: auto;
}
#lineup .entry .wrapper .fukidashi{
	position: relative;
}
#lineup .entry .wrapper .fukidashi img{
	position: absolute;
	top: -24px;
	left: -150px;
	width: 116px;
	height: auto;
}
#lineup .entry .wrapper .fukidashi span{
	display: inline-block;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	border-radius: 10px;
	background-color: #1c4f86;
	padding: 10px 16px;
	position: relative;
}

#lineup .entry .wrapper .fukidashi span::before{
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	top: 0;
	left: -35px;
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-right: 35px solid #1c4f86;
	z-index: 1;
	margin: auto 0;
}

#contact{
	text-align: center;
	margin-bottom: 80px;
}
#contact .title-container h2.title{
	color: #fff;
	font-size: 25px;
	font-weight: bold;
	background-color: #1c4f86;
	padding: 30px 0;
	margin-bottom: 50px;
}
#contact .contact-text .red{
	color: #ff8c72;
}
#contact .title-container .title-en{font-size:14px;font-weight: normal;}
#contact .form-table{
	margin-top: 20px;
}
#contact .form-table .input-box{display:-ms-flexbox;-ms-flex-flow:row nowrap;-ms-flex-pack:center;-ms-flex-align:center;display:-webkit-flex;-webkit-flex-flow:row nowrap;-webkit-justify-content:center;-webkit-align-items:center;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;font-size:14px}
#contact .form-table .input-box:nth-child(odd){background:#ffffed;}
#contact .form-table .input-box label{width:30%;font-weight:bold}

#contact .privacy{
	padding-top:50px;
}
#contact .privacy .privacy-ttl{
	font-size: 22px;
	font-weight:bold;
}
#contact .privacy .privacy-txt{
	margin: 10px 0;
}
#contact .privacy .privacy-policy{font-size:14px;overflow-x:hidden;overflow-y:scroll;margin:0 auto 24px;padding:28px 20px;width:100%;height:200px;border:1px solid #e8e8e8;text-align:left}
#contact .privacy .ttl{font-weight:bold;font-size:14px;margin-bottom:5px}
#contact .privacy .txt{margin-bottom:25px;font-weight:normal}
#contact .btn-submit{
	width:50%;
	background:#1c4f86;
	color:#fff;
	font-size: 20px;
	border-radius:60px;
	padding:25px 30px;
	margin: 0 auto;
}
#contact .btn-submit:hover{
	opacity: 0.7;
}

#company{
	background:#f2f2f2;
	padding: 50px 0 60px;
}
#company .title{
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}
#company .title-en{
	text-align: center;
}
#company .company-item table{
	border-collapse:collapse;
	width:100%;
	font-size:14px;
	margin-top: 20px;
}
#company .company-item table th,#company .company-item table td{padding:10px;border:solid 1px #7d6211;text-align:center;box-sizing:border-box}
#company .company-item table th{background:#b18e23;color:#fff;font-weight:normal;width:20%}
#company .company-item table td{background:#fff;text-align:left}

.footer-item{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 20px;
}
.footer-item img{
	width: 250px;
	height: auto;
}
.footer-item .company .note{
	font-size: 11px;
}
.copyright{
	color: #fff;
	font-size: 12px;
	text-align: center;
	background-color: #1c4f86;
	padding: 10px;
}

@media screen and (max-width: 1080px){
	.contents{
		width: auto;
		margin: 0 2vw;
	}
	.inner{
		width: auto;
	}
	.mv picture img{
		min-width: 100%;
	}
	.cta .inner{
		margin: 0 2vw;
	}
	.cta .tel{
		font-size: 14px;
	}
	.cta .tel img{
		width: 150px;
	}
	.cta .day{
		font-size: 12px;
	}
	.cta .btn{
		width: 200px;
		font-size: 14px;
		background-size: 20px auto;
		padding-left: 25px;
	}
	#about .contents.about01{
		padding: 60px 0 150px;
	}
	#about .contents .text{
		width: auto;
	}
	#about .contents.about02 .text{
		width: 50%;
	}
	#about .contents.about02 img{
		bottom: auto;
		top: 70px;
	}
	.plan .plan-con .date{
		max-width: 100px;
		min-width: 100px;
	}
	.plan .plan-con p.plan-text span.line{
		font-size: 22px;
	}
	#lineup{
		padding-top: 50px;
	}
	#lineup .lineup-fukidashi p{
		font-size: 24px;
	}
	#lineup .item .plus{
		margin:0 20px;
	}
	#lineup .item .item-img img{
		width: 320px;
	}
	#lineup .item .item-img.item-img-l img,#lineup .item-sub2 .item-img.item-img-l img{
	width: auto;
	height: 243px;
	}
	#lineup .meritto{
		width: 100%;
	}
	#lineup .entry .wrapper{
		height: 150px;
		padding: 0 20px;
	}
	#lineup .entry .wrapper .entfy-text{
		max-width: 365px;
		padding-left: 110px;
	}
	#lineup .entry .wrapper .entfy-text br{
		display: none;
	}
	#lineup .entry .wrapper .fukidashi img{
		top: -14px;
		left: -130px;
	}
	#contact .inner{
		margin: 0 2vw;
	}
	#contact .form-table .input-box label{
		width: 40%;
	}
	#company .inner{
		margin: 0 2vw;
	}
	.footer-item{
		margin: 20px 0;
	}
	.footer-item .company{
		font-size: 14px;
	}
}

@media screen and (max-width: 480px){

	select,input[type=text],input[type=email]{width:90%}
	textarea{width:90%}
	a[href*="tel:"]{pointer-events:auto}

	.contents{
		width: auto;
		margin: 0 4vw;
	}
	.inner{
		width: auto;
	}

	#about .contents .text , #about .contents.about02 .text{
		width: auto;
	}

	.cta .inner{
		display: block;
		text-align: center;
		margin: 0 4vw;
	}
	.cta .tel{
		font-size: 16px;
	}
	.cta .day{
		font-size: 14px;
		margin-top: 5px;
	}
	.cta .btn{
		width: 80%;
		background-size: 30px auto;
		margin: 15px auto 0;
	}

	.hurry{
		background:none;
		padding: 0;
	}
	.hurry img{
		max-width: 100%;
		width: 100%;
	}

	.mv picture img{
		min-width: 100%;
	}

	#about .contents.about01{
		background-size: 100% auto;
		padding: 40px 0 60vw;
	}
	#about .contents.about02{
		padding: 40px 0;
	}
	#about .contents.about02 img{
		position: relative;
		right: auto;
		top: auto;
		bottom: auto;
		width: 100%;
		margin-top: 20px;
	}
	.plan .plan-con{
		display: block;
	}
	.plan .plan-con .date{
		display: block;
		max-width: initial;
		min-width: initial;
		width: 100%;
		height: 50px;
		font-size:18px;
	}
	.plan .plan-con .date::after{
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		top: 50px;
		right: 0;
		left: 0;
		width: 0;
		height: 0;
		border-top: 30px solid #1c4f86;
		border-right: 45px solid transparent;
		border-left: 45px solid transparent;
		z-index: 1;
		margin: 0 auto;
	}
	.plan .plan-con .date p{
		line-height: 50px;
	}
	.plan .plan-con .date p br{
		display: none;
		line-height: 50px;
	}
	.plan .plan-con p.plan-text{
		margin-top: 50px;
	}
	.plan .plan-con p.plan-text span.line{
		display: inline-block;
		font-size: 21px;
	}
	#lineup{
		padding: 50px 0;
	}
	#lineup .lineup-fukidashi{
		padding-bottom: 30px;
	}
	#lineup .lineup-fukidashi img{
		width: 150px;
		margin-right: 0;
	}
	#lineup .lineup-fukidashi p{
		font-size: 20px;
		text-align: left;
		padding: 10px;
	}
	#lineup .lineup-fukidashi p::before{
		top: 20px;
		bottom: auto;
	}
	#lineup .lineup-box:nth-of-type(1){
		margin-top: 50px;
	}
	#lineup .pattern-ttl{
		font-size: 4.8vw;
	}
	#lineup .item{
		display: block;
		text-align: center;
	}
	#lineup .item .plus{
		margin: 40px 0;
	}
	#lineup .item .item-img img, #lineup .item-sub2 .item-img img{
		width: 100%;
	}
	#lineup .item .item-img.item-img-l img,#lineup .item-sub2 .item-img.item-img-l img{
		width: 100%;
		height: auto;
	}
	#lineup .meritto{
		width: 100%;
		margin-top: 70px;
	}
	#lineup .meritto .meritto-text{
		text-align: left;
	}
	#lineup .entry .wrapper{
		display: block;
		height:auto;
		padding:15px 15px 0;
	}
	#lineup .entry .wrapper .entfy-text{
		font-size: 18px;
		padding: 0;
	}
	#lineup .entry .wrapper .entfy-text img{
		display: none;
	}
	#lineup .entry .wrapper .fukidashi{
		display: flex;
		align-items: flex-start;
		margin-top: 10px;
	}
	#lineup .entry .wrapper .fukidashi img{
		position: relative;
		top: auto;
		bottom: -14px;
		left: auto;
	}
	#lineup .entry .wrapper .fukidashi span{
		margin-left: 10px;
		padding: 8px;
	}
	#lineup .entry .wrapper .fukidashi span br{
		display: none;
	}
	#contact .inner{
		margin: 0 4vw;
	}
	#contact .btn-submit{
		width: 75%;
		padding: 20px;
	}
	#contact .form-table .input-box{display:-ms-flexbox;-ms-flex-flow:row nowrap;-ms-flex-pack:center;-ms-flex-align:center;display:-webkit-flex;-webkit-flex-flow:column wrap;-webkit-justify-content:center;-webkit-align-items:center;display:flex;flex-flow:column wrap;justify-content:center;align-items:center}
	#contact .form-table .input-box label{width:100%}

	#company .inner{
		margin: 0 4vw;
	}

	.footer-item{
		display: block;
		text-align: center;
		margin: 20px 0;
	}
	.footer-item p.company{
		font-size: 12px;
		text-align: left;
		margin-top: 10px;
	}
}
