@charset "utf-8";

* {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
	font-size: 16px;
	line-height: 1.6;
}
li {
	list-style: none;
}
img {
	max-width: 100%;
	vertical-align:top;
}

/* utilities */
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.wrapper {
	width: 100%;
	max-width: 960px;
	margin: auto;
}

a .hover-only {
	display: none;
}
a:hover .hover-only {
	display: inherit;
}
a:hover .no-hover-only {
	display: none;
}

.pc-only { display: inherit; }
.tablet-only { display: none; }
.under-tablet-only { display: none; }
.sp-only { display: none; }
.not-sp-only { display: inherit; }

/* for under iPad */
@media screen and (max-width:768px){
	.pc-only { display: none; }
	.tablet-only { display: inherit; }
	.under-tablet-only { display: inherit; }
	.sp-only { display: none; }
	.not-sp-only { display: inherit; }
}

/* for mobile */
@media screen and (max-width:600px){
	.pc-only { display: none; }
	.tablet-only { display: none; }
	.under-tablet-only { display: inherit; }
	.sp-only { display: inherit; }
	.not-sp-only { display: none; }
}

/* mv */
.mv {
	background: url('../img/mv_bg01.jpg') no-repeat center top;
}
.mv__cta {
	position: absolute;
	width: 100%;
	margin: auto;
	top: 0;
	left: 0;
}
.mv__cta__inner {
	width: 100%;
	max-width: 1470px;
	max-width: calc(1470px);
	margin: auto;
	padding-top: 1.5em;
	padding-right: 1em;
}
.mv__cta__btn {
	display: block;
	width: 250px;
	margin-left: auto;
}
.mv__logo {
	padding: 3.75% 0 7.083333333% 4.6875%;
}
.mv__txt {
	padding: 0 0 4.375% 4.6875%;
}
.mv__btn {
	text-align: center;
	padding: 0 0 4.479166667% 0;
}
.mv__btn a {
	display: inline-block;
}
@media screen and (max-width:600px){
	.mv {
		position: relative;
	}
	.mv__btn {
		position: absolute;
		bottom: 8%;
		padding: 0;
	}
	.mv__btn a {
		display: block;;
		width: 90.4%;
		margin: auto;
	}
	.mv__cta__inner {
		padding-top: 6vw;
		padding-left: 1vw;
	}
	.mv__cta__btn {
		width: 39.2%;
	}
}

/* 3 column */
.sec01__item,
.sec02__item,
.sec04__item {
	float: left;
	width: 33.333333%
}
@media screen and (max-width:600px){
	.sec01__item,
	.sec02__item,
	.sec04__item {
		float: none;
		width: 100%;
	}
}

/* sec01 */
.sec01__head {
	padding: 6.25% 0 4.166666667% 0;
}
@media screen and (max-width:600px){
	.sec01__head {
		padding: 0;
	}
}

/* sec02 */
.sec02__head {
	position: relative;
	height: 204px;
	background: #c9252b url(../img/sec02_bg01.png) no-repeat center top;
}
.sec02__head::after {
	content: "";
    display: block;
    width: 204px;
    height: 37px;
    background: #f1b0b2 url(../img/sec02_arrow01.png) no-repeat center top;
    position: absolute;
    left: 50%;
    bottom: -37px;
    margin-left: -102px;
}
.sec02__body {
	background: #f1a3a7 url('../img/sec02_bg02.png') no-repeat center top;
}
.sec02__title {
	padding: 13.125% 0 0 0;
}
.sec02__list {
	padding: 8.958333333% 0 0 0;
}
.sec02__txt {
	padding: 3.958333333% 0 5.208333333% 0;
}
@media screen and (max-width:960px){
	.sec02__title {
		padding: 130px 0 0 0;
	}
}
@media screen and (max-width:600px){
	.sec02__head {
		position: static;
		height: auto;
	}
	.sec02__head::after {
		display: none;
	}
	.sec02__title,
	.sec02__list,
	.sec02__txt {
		padding: 0;
	}
}

/* sec03 */
.sec03__title {
	padding: 7.916666667% 0 5.3125% 0;
}
.sec03__txt {
	padding: 5.833333333% 0 6.979166667% 0;
}
@media screen and (max-width:600px){
	.sec03__title,
	.sec03__txt {
		padding: 0;
	}
}

/* sec04 */
.sec04 {
	background: #e28f93 url(../img/sec04_bg01.png) no-repeat center top;
}
.sec04__title {
	padding: 5.208333333% 0 4.583333333% 0;
}
.sec04__txt {
	padding: 4.0625% 0 3.4375% 0;
}
@media screen and (max-width:600px){
	.sec04__title,
	.sec04__txt {
		padding: 0;
	}
}

/* sec05 */
.sec05__item {
	padding:  4.166666667% 0 4.166666667% 0;
}
.sec05__btn {
	text-align: center;
}
.sec05__btn a {
	display: inline-block;
}
@media screen and (max-width:600px){
	.sec05__item {
		padding: 0;
	}
	.sec05__btn a {
		display: block;;
		width: 90.4%;
		margin: auto;
	}

}

/* footer */
.footer {
	margin: 6.25% 0 0 0;
	padding: .5em;
	background: #c9242b;
	color: #fff;
	text-align: center;
	font-size: 12px;
	line-height: 2;
}
.footer a {
	color: #fff;
	text-decoration: none;
}
.footer a:hover {
	opacity: 0.85;
}
@media screen and (max-width:600px){
	.footer {
		font-size: 10px;
		line-height: 1.2;
	}
}
