﻿
body {
	margin: 0;
}

main {
	background: #fbf9f4 url(../img/cp_bg01.png) center repeat-y;
	padding-top: 0;
}

footer.footer .footinner {
	display: none !important;
}

.secWrap {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (min-width: 768px){

	main {
		background-size: 1000px;
	}

	.secWrap {
		width: 100%;
	}

}

@media screen and (max-width: 768px){

	main {
		background-size: 115%;
	}

	.secWrap {
		margin: 0 1.5em;
	}

}

/*
head
//////////////////////////////// */

.head h1 img {
	vertical-align: bottom;
}

@media screen and (min-width: 768px){

	.head h1 {
		margin: 0;
		padding: 20px 0;
	}

	.head h1 img {
		width: 320px;
	}

}

@media screen and (max-width: 768px){

	.head h1 {
		margin: 0;
		padding: 10px 0;
	}

	.head h1 img {
		width: 25%;
	}

}

/*
visual
//////////////////////////////// */

#visual {
	background: url(../img/visual_bg.png) center repeat-x;
	background-size: cover;
}

#visual .img {
	background: url(../img/head_visual.png);
	background-size: 100%;
}

#visual h2 {
	margin: -180px auto 0;
	width: 85%;
}

@media screen and (min-width: 768px){

	#visual .img {
		max-width: 1280px;
		margin-left: auto;
		margin-right: auto;
	}

}

@media screen and (max-width: 768px){

	#visual h2 {
		margin: -15% auto 0;
		width: 85%;
	}

}

/*
//////////////////////////////// */

#content .secWrap h2 {
	width: 70%;
	margin: 0 auto;
}

#content .secWrap ul {
	display: flex;
	justify-content: space-between;
}

#content .secWrap ul li {
	width: 47.5%;
}

@media screen and (min-width: 768px){

	#content .secWrap h2 {
		margin: 50px auto 30px;
	}

	#content .secWrap ul {
		margin: 30px auto;
	}

	#content .secWrap ul li a img {
		transition: .3s;
	}

	#content .secWrap ul li a:hover img {
		opacity: 0.5;
	}

}

@media screen and (max-width: 768px){

	#content .secWrap h2 {
		margin: 1.5em auto 0.75em;
	}

	#content .secWrap ul {
		margin: 0.75em auto;
	}

}

/*
//////////////////////////////// */

.slick-arrow {
	width: 75px;
	height: 75px;
	top: 33%;
}

.slick-prev {
	background: url(../img/rotate_left.png) center no-repeat;
	background-size: contain;
}

.slick-next {
	background: url(../img/rotate_right.png) center no-repeat;
	background-size: contain;
}

.slick-dots li {
	margin: 0 20px;
}

.slick-dots li button {
	border: 2px solid #8d6626;
	border-radius: 50%;
	background: #fff;
	width: 15px;
	height: 15px;
	padding: 0;
	margin: 0;
}

.slick-dots li.slick-active button {
	background: #8d6626;
}

@media screen and (min-width: 768px){

	#package .secWrap {
		margin: 70px auto;
	}

	#package .secWrap ul.slick {
		margin: 50px auto;
		width: 1000px;
	}

	#package .secWrap ul.slick .slick-slide img {
		margin: 0 auto;
		width: 90%;
	}

	.slick-prev {
		left: -100px;
	}

	.slick-next {
		right: -100px;
	}

}

@media screen and (max-width: 768px){

	#package .secWrap {
		margin: 1.5em;
	}

	#package .secWrap ul.slick {
		margin: 1.5em 0;
	}

	#package .secWrap ul.slick .slick-slide img {
		margin: 0 auto;
		width: 75%;
	}

	.slick-arrow {
		width: 15%;
	}

	.slick-prev {
		left: 0;
	}

	.slick-next {
		right: 0;
	}

}

/*
present
//////////////////////////////// */

#present .secWrap h2 {
	width: 70%;
	margin: 0 auto;
}

@media screen and (min-width: 768px){

	#present .secWrap {
		margin: 50px auto;
	}

	#present .secWrap dl {
		margin: 50px 0;
	}

}

@media screen and (max-width: 768px){

	#present {
		margin: 4.5em 0 0;
	}

	#present .secWrap {
		margin: 1.5em;
	}

	#present .secWrap dl {
		margin: 1.5em 0;
	}

}

/*
campaign
//////////////////////////////// */

#campaign dl {
	border: 2px solid #231815;
	background: rgba( 255, 255, 255, 0.6 );
	display: flex;
	justify-content: space-between;
	padding: 0.75em 1.25em;
	cursor: pointer;
	align-items: center;
}

#campaign dl dt {
	display: block;
}

#campaign dl dd {
	width: 20%;
}

#campaign dl dd span.close,
#campaign dl.open dd span.open {
	display: none;
}

#campaign dl.open dd span.close {
	display: inherit;
}

#campaign .accdWrap {
	padding: 30px 0 0;
	display: none;
}

@media screen and (min-width: 768px){

	#campaign .secWrap {
		margin: 50px auto;
	}

	#campaign dl {
		transition: .3s;
	}

	#campaign dl img {
		vertical-align: bottom;
	}

	#campaign dl:hover {
	background: rgba( 255, 255, 255, 1 );
	}

	#campaign dl dt {
		width: 38%;
	}

}

@media screen and (max-width: 768px){

	#campaign .secWrap {
		margin: 1.5em;
	}

	#campaign dl dt {
		width: 65%;
	}

	#campaign dl dd {
		width: 30%;
	}


}

/*
//////////////////////////////// */


#faq .secWrap {
	border: 2px solid #231815;
	background: rgba( 255, 255, 255, 0.72 );
}

#faq .secWrap ul li dl {
	border: 2px solid #231815;
	background: rgba( 255, 255, 255, 0.72 );
}

#faq .secWrap ul li dl dt {
	display: flex;
	cursor: pointer;
	align-items: center;
	justify-content: space-between;
}

#faq .secWrap ul li dl dd {
	border-top: 1px solid #aaa;
	display: none;
}

#faq .secWrap ul li dl dt strong {
	background: url(../img/faq_icon01.png) left no-repeat;
	background-size: contain;
	padding-left: 2em;
}

#faq .secWrap ul li dl dt > span {
	width: 1.5em;
	height: 1.5em;
	display: block;
	position: relative;
}

#faq .secWrap ul li dl dt > span > span {
	display: block;
	background: #231815;
	height: 2px;
	width: 100%;
	transform-origin: center;
	position: absolute;
	top: 50%;
	left: 50%;
}

#faq .secWrap ul li dl dt > span > span:nth-child(1) {
	transform: translate( -50% );
}

#faq .secWrap ul li dl dt > span > span:nth-child(2) {
	transform: translate( -50% ) rotate( -90deg );
	transition: .3s;
}

#faq .secWrap ul li dl dt.open > span > span:nth-child(2) {
	transform: translate( -50% );
}

@media screen and (min-width: 768px){

	#faq .secWrap {
		display: flex;
		align-items: center;
		box-sizing: border-box;
		padding: 0 1.25em;
	}

	#faq .secWrap h2 {
		width: 25%;
	}

	#faq .secWrap h2 img {
		width: 85%;
	}

	#faq .secWrap ul {
		width: 75%;
	}

	#faq .secWrap ul li {
		margin: 15px 0;
	}

	#faq .secWrap ul li dl dt,
	#faq .secWrap ul li dl dd {
		padding: 15px;
	}

	#faq .secWrap ul li dl dt {
		transition: .3s;
	}

	#faq .secWrap ul li dl dt:hover {
		opacity: 0.5;
	}

}

@media screen and (max-width: 768px){

	#faq .secWrap {
		padding: 1.25em 1.25em 0;
	}

	#faq .secWrap h2 img {
		width: 35%;
		display: block;
		margin: 0 auto 1.25em;
	}

	#faq .secWrap ul li {
		margin: 15px 0;
	}

	#faq .secWrap ul li dl dt,
	#faq .secWrap ul li dl dd {
		padding: 15px;
	}

	#faq .secWrap ul li dl dt {
		transition: .3s;
	}

	#faq .secWrap ul li dl dt strong {
		background: url(../img/faq_icon01.png) left no-repeat;
		background-size: 1.2em;
		padding-left: 2em;
	}

}

/*
promotion
//////////////////////////////// */

#promotion {
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	overflow: hidden;
}

#promotion p {
	font-weight: 600;
}

#promotion p.bnr {
	width: 70%;
	margin: 0 auto;
}

@media screen and (min-width: 768px){

	#promotion .secWrap {
		margin: 50px auto;
	}

	#promotion h2 {
		width: 360px;
		display: block;
		margin: 50px auto;
	}

	#promotion p.read span {
		display: none;
	}

	#promotion p.bnr {
		margin-top: 50px;
	}

	#promotion p.bnr a img {
		transition: .3s;
	}

	#promotion p.bnr a:hover img {
		opacity: 0.5;
	}

}

@media screen and (max-width: 768px){

	#promotion .secWrap {
		margin: 1.5em;
	}

	#promotion h2 {
		width: 35%;
		display: block;
		margin: 1.5em auto;
	}

	#promotion p.bnr {
		margin-top: 1.5em;
	}

	#promotion p.read img {
		display: none;
	}

	#promotion p.read  span small {
		font-size: 80%;
	}

}

/*
//////////////////////////////// */

footer {
	background: #231714;
	color: #fff;
	text-align: center;
}

@media screen and (min-width: 768px){

	footer {
		padding: 50px 0;
	}

	footer p img {
		width: 360px;
		display: block;
		margin: 0 auto 50px;
	}

}

@media screen and (max-width: 768px){

	footer {
		padding: 1.5em 0;
	}

	footer p img {
		width: 35%;
		display: block;
		margin: 0 auto 1.5em;
	}

}

