@charset "utf-8";



section h3 {
    width:100%;
    margin: 0 auto 30px;
	color:#b4965f;
    font-size: 2.2rem;
    font-weight:400;
    text-align: center;
    line-height: 1.6;
    position: relative;
}

@media only screen and (max-width:640px){
    
    section h3 {
        margin: 0 auto 30px;
        font-size: 1.8rem;
    }
}



/* concept */

.concept {
    padding:100px 0 0;
}
.concept h2 {
    width:80%;
    margin: 0 auto 30px;
    font-size:3rem;
    font-weight: 400;
    color:#b4965f;
    text-align:center;
    line-height:1.6;
}
.concept h2 span {
	margin:10px auto 0;
	display:block;
	font-size:1.4rem;
}
.concept h2 strong {
	margin:0 0 0 8px;
	display:inline-block;
	font-weight:normal;
	color:#f691a0;
	line-height:1;
}
.concept h2 strong b {
	font-weight:normal;
	font-size:5rem;
	line-height:0;
}

.concept p {
    width:80%;
    margin: 0 auto;
    font-size: 1.15rem;
    text-align: center;
    line-height: 2.5;
}
.concept p > span {
	margin:20px auto 0;
	display:block;
}
.concept p > span > small {
	margin:30px auto 0;
	display:block;
	letter-spacing:0;
}

.concept dl {
	width:80%;
	max-width:600px;
	margin:60px auto 0;
	padding:20px 0 30px;
	border-radius:10px;
	background:#fff;
}
.concept dl dt ,
.concept dl dd {text-align:center; line-height:1.6;}

.concept dl dt {font-size:2rem; color:#b4965f; margin-bottom:20px;}
.concept dl dt small {font-size:1.4rem; letter-spacing:-0.05rem;}

.concept dl dd {font-size:1.2rem;}
.concept dl dd strong {
	padding:0 5px;
	display:inline-block;
	color:#fff;
	font-weight:normal;
	border-radius:2px;
	background:#ff358c;
}
.concept dl dd > b {
	color:#ff358c;
	font-size:3rem;
	font-weight:normal;
	line-height:1.2;
}
.concept dl dd span {
	color:#ff358c;
}
.concept dl dd span b {
	padding:0 10px;
	font-size:1.6rem;
	font-weight:normal;
	position:relative;
	z-index:10;
}
.concept dl dd span b::after {
	content: "";
	width:100%;
	height:10px;
	position:absolute; bottom:0; left:0;
	background:#ffff00;
	z-index:-1;
}

@media only screen and (max-width:640px){
    
    .concept {
        padding-top:60px;
    }
    .concept h2 {
        width:80%;
        margin:0 auto 30px;
        font-size:2rem;
        line-height:1.6;
    }
	.concept h2 span {
		margin:10px auto 0;
		font-size:1.4rem;
	}
	.concept h2 strong b {font-size:4rem;}
    .concept p {
        width:80%;
        margin: 0 auto;
        font-size: 1rem;
        letter-spacing: 0.1rem;
        line-height: 2;
    }
	.concept p > span {
		padding:20px 0;
		display:block;
		line-height:1.6;
		letter-spacing:0;
		border-radius:10px;
		background:#fff;
	}
	.concept p > span > small {margin:16px auto 0;}
	
	.concept dl dt {font-size:1.8rem;}
	.concept dl dt small {font-size:1.2rem; line-height:1; margin:0 8px; display:block;}
	
	.concept dl dd {font-size:1rem;}
	.concept dl dd b {font-size:2.6rem;}
}



/* pickup */

.pickup {padding:120px 0 0;}
.pickup h3 {margin:0;}
.pickup h3 span {color:#f691a0;}

.pickup > ul {
	width:92%;
	max-width:1200px;
	margin: 0 auto 40px;
	display:flex; flex-flow:row wrap; justify-content:space-between; align-content:stretch; align-items:stretch;
}
.pickup > ul li {
	width:32%;
	margin:50px 0 0;
	padding:0 0 30px;
	text-align:center;
	line-height:1.6;
	border-radius:10px;
	background:#fff;
	overflow:hidden;
}
.pickup > ul li h4 {
	margin:20px auto 10px;
	color:#b4965f;
	font-size:1.6rem;
	font-weight:normal;
	line-height:1.4;
}
.pickup > ul li h4 span {
	margin:0 auto 5px;
	display:block;
	color:#f691a0;
	font-size:1.2rem;
	text-align:center;
}

.pickup dl {
	width:80%;
	max-width:1200px;
	margin:0 auto;
	padding:20px 0;
	border-radius:10px;
	background:#fff;
}
.pickup dl dt {
	width:100%;
	margin: 0 auto 10px;
	color:#b4965f;
	font-size:1.4rem;
	text-align:center;
}
.pickup dl dd ul {
	width:90%;
	max-width:800px;
	margin:0 auto;
	display:flex; flex-flow:row wrap; justify-content:center; align-content:stretch; align-items:stretch;
}
.pickup dl dd ul li {
	margin:10px;
	padding-left:14px;
	line-height:1;
	position:relative;
}
.pickup dl dd ul li::after {
	content: "";
	width: 10px;
	height:10px;
	position:absolute; top:3px; left:0;
	border-radius:50px;
	background:#b4965f;
}

@media only screen and (max-width:640px){
	
	.pickup {padding:60px 0 0;}
	.pickup > ul {width:80%;}
	.pickup > ul li {
		width:100%;
		margin:30px 0 0;
		padding:0 0 20px;
	}
	
	.pickup dl dt {
		margin: 0 auto 10px;
		font-size:1.2rem;
		line-height:1.4;
	}
	.pickup dl dd ul {justify-content:flex-start;}
	.pickup dl dd ul li {margin:5px 10px;}
}



/* shop */

.shop {
	margin:100px auto 0;
    padding:100px 0;
	background:#fafafa;
    position:relative;
}
.shop h3 {margin:0 auto 10px;}
.shop h3 span {color:#f691a0;}

.shop > p {
	width:100%;
	margin: 0 auto 40px;
	text-align:center;
	line-height:1.6;
}
.shop ul {
    width:100%;
    max-width:900px;
    margin:0 auto;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:flex-start; align-items:flex-start;
}
.shop ul li {
    width:32%;
    margin:20px 0;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:flex-start; align-items:flex-start;
}
.shop ul li img {width:66%; margin:0 0 10px;}
.shop ul li > div {width:100%;}

.shop ul li .link {
    width: 100%;
    margin:12px 0 0;
	display:flex; flex-flow:row wrap; justify-content:center; align-content:flex-start; align-items:flex-start;
}
.shop ul li a {
	margin:2px;
    padding:2px 16px;
    display:block;
    font-size:1rem;
    color:#fff;
    border-radius:20px;
    background:#b4965f;
    transition: .3s;
    cursor:pointer;
    text-align:center;
}
.shop ul li a:hover {opacity:1; background:#676460;}

.shop ul li h4 {
    margin:0 0 10px;
    font-size: 1.4rem;
	font-weight:normal;
    color: #b4965f;
	line-height:1.4;
	text-align:center;
}
.shop ul li p {
	font-size:1rem;
    text-align:center;
	letter-spacing:0;
	line-height:1.4;
}


@media only screen and (max-width:640px){
    
	.shop {padding:60px 0 40px;}
	.shop ul {width:90%;}
    .shop ul li {
        width:100%;
        margin:0 0 30px;
		justify-content:space-between;
    }
	.shop ul li img {width:30%; margin-top:6px;}
	.shop ul li > div {width:66%;}
    .shop ul li h4 {
        margin: 0 0 8px;
        font-size:1.2rem;
		line-height:1.2;
		letter-spacing:-0.06rem;
		text-align:left;
    }
	.shop ul li p {
		font-size:1rem;
		letter-spacing:-0.06rem;
		text-align:left;
	}
	.shop ul li a {
		margin:0 4px 0 0;
		padding:0 10px;
		letter-spacing:-0.06rem;
	}
}



/* contact */

.contact {
    padding:120px 0 0;
    position:relative;
}
.contact .chuui {margin:50px auto 0;}
.contact .chuui p {margin: 0 0 30px; line-height:1.6; letter-spacing:0;}

form {
    width:88%;
    max-width:550px;
    margin:50px auto 0;
}
form dl {margin:50px auto 0;}
form dl:first-of-type {margin-top:0;}
form dl dt {padding: 0 0 15px 10px;}

dl dd p {margin: 0 0 20px 15px;}

dl.hissu dt {
    padding-left:55px;
    position: relative;
}
dl.hissu dt:after {
    content: "必須";
    padding: 2px 8px 0;
    font-size: 0.9rem;
    color: #fff;
    line-height: 1.5;
    position:absolute; top:2px; left:0;
    border-radius: 5px;
    background:#b4965f;
}

button, [type="text"], select, option, textarea {
    width:96%;
    margin: 0;
    padding:2.5% 2%;
	font-size:1rem;
    line-height:1.5;
    letter-spacing:0.1em;
    border-radius:10px;
    background:#e1e1e1;
}
select.select {
    width:30%;
}
dd.open-close {
    padding: 10px 0 20px 10px;
    border-bottom:dashed 1px #ddd;
}

textarea {
    min-height:100px;
}

dd.select-a-plan {}
dd.select-a-plan > a {
    margin: 0 0 25px 50px;
    display: inline-block;
}

form label {
    padding: 5px 0 0 44px;
    display: block;
    position: relative;
    cursor:pointer;
}
form [type="radio"] ,
form [type="checkbox"] {
    position:absolute; top:20%; left:0;
	cursor: pointer;
}
form label small {
    display: block;
}
form label b {
    font-weight: 300;
}


/* radio */

.radio input {
    position:relative;
}
form [type="radio"]:before {
	position: absolute;
	z-index: 1;
	top:0.34rem;
	left:0.98rem;
	width: 18px;
	height:18px;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: scale(0, 0);
	        transform: scale(0, 0);
	border-radius: 50%;
	background: #f04e8e;
}
form [type="radio"]:checked:before {
	-webkit-transform: scale(1, 1);
	        transform: scale(1, 1);
}
form [type="radio"]:after {
	position: absolute;
	top:0;
	left: 10px;
	width: 22px;
	height:22px;
	content: '';
	border:solid 2px #e1e1e1;
	border-radius: 50%;
	background:#e1e1e1;
}



/* checkbox */

form [type="checkbox"]:before {
	position: absolute;
	z-index: 1;
	top:-3px;
	left:5px;
	width:18px;
	height:8px;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 4px solid #f04e8e;
	border-top-style: none;
	border-right-style: none;
}
form [type="checkbox"]:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
form [type="checkbox"]:after {
	position: absolute;
	top: -3px;
	left: 0;
	width: 20px;
	height:20px;
	content: '';
	cursor: pointer;
	border:solid 2px #e1e1e1;
	background: #e1e1e1;
}

input[type="submit"] {
    width:300px;
    margin: 50px auto 0;
    padding: 15px 0;
    display:block;
    font-size: 1.15rem;
    color: #fff;
    text-align: center;
    border-radius:50px;
    background: #b4965f;
    transition: .3s;
    cursor: pointer;
}
input[type="submit"]:hover {
    color: #fff;
    background:#676460;
}

.back-advance {
    width:100%;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.back-advance a ,
.back-advance input[type="submit"] {
    width:48%;
    margin:20px 1% 0;
    padding: 15px 0;
    display:block;
    font-size: 1.15rem;
    color: #fff;
    text-align: center;
    border-radius:50px;
    transition: .3s;
    cursor: pointer;
}
.back-advance a {
    background:#676460;
}
.back-advance input[type="submit"] {
    background:#b4965f;
}

.back-advance input[type="submit"]:hover {
    opacity: .6;
}

@media only screen and (max-width:640px){

    .contact {padding:60px 0 0;}
    .contact .chuui {width:95%;}
	
	form {margin:30px auto 0;}
    form dl {margin:30px auto 0;}
    button, [type="text"], select, textarea {
        font-size:16px !important;
        line-height:1.75;
        letter-spacing:0.08em;
    }
    form label small {letter-spacing: 0;}
    select.select {
        width:4em;
        font-size:16px !important;
    }
    dd.open-close {
        padding: 15px 0 20px 10px;
        font-size: 0.9em;
        border-bottom:dashed 1px #ddd;
    }
    select.select:nth-child(3) {
        width:9em;
    }
    .back-advance a ,
    .back-advance input[type="submit"] {
        padding: 12px 0;
        font-size: 0.95rem;
    }
}



/* 確認画面 */

.kakunin dl dt {
    padding-left: 0;
}
.kakunin dl.hissu dt {
    padding-left:55px;
}
.kakunin dl dd {
    padding-bottom: 35px;
    border-bottom:solid 1px #e1e1e1;
}
.kakunin dl:last-of-type dd {
    border:none;
}

@media only screen and (max-width:640px){
}



/* エラー画面 */

.error dl dt {
    padding-left: 0;
}
.error dl.hissu dt {
    padding-left:55px;
}
.error dl dd {
    padding-bottom: 35px;
    border-bottom:solid 1px #e1e1e1;
}
.error dl.hissu dd {
    color:#f04e8e;
}
.error dl:last-of-type dd {
    border:none;
}

@media only screen and (max-width:640px){
}



/* 完了画面 */

.thankyou p {
    width:100%;
    text-align: center;
}
.thankyou a {
    width:200px;
    margin: 50px auto 0;
    padding: 10px 0;
    display:block;
    font-size: 1rem;
    color: #fff;
    text-align: center;
    border-radius:50px;
    background: #b4965f;
    transition: .3s;
    cursor: pointer;
}
.thankyou a:hover {
    opacity: 1;
    color: #fff;
    background:#676460;
}

@media only screen and (max-width:640px){
}
