@charset "UTF-8";

/*------------------------------------------------------------
* SP template
------------------------------------------------------------*/
html,
body {
	padding: 0;
	margin: 0;
}

body {
	word-wrap: break-word;
}

img {
	max-width: 100%;
	border: 0;
}

ul li {
	list-style-type: none !important;
}

table {
	word-break: break-all;
	border: none;
	border-collapse: collapse;
}

/*------------------------------------------------------------
* 汎用
------------------------------------------------------------*/
.clear {
	clear: both;
}

/* For modern browsers */
.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

.right {
	text-align: right !important;
}

.left {
	text-align: left !important;
}

.center {
	text-align: center !important;
}

.floatL {
	float: left;
}

.floatR {
	float: right;
}

.vaT {
	vertical-align: top !important;
}

.vaM {
	vertical-align: middle !important;
}

.vaB {
	vertical-align: bottom !important;
}

.nodec a {
	text-decoration: none !important;
}


/* MARGIN(rem) */
.mT1rem {
	margin-top: 1rem !important;
}

.mT2rem {
	margin-top: 2rem !important;
}

.mT3rem {
	margin-top: 3rem !important;
}

.mR1rem {
	margin-right: 1rem !important;
}

.mR2rem {
	margin-right: 2rem !important;
}

.mR3rem {
	margin-right: 3rem !important;
}

.mL1rem {
	margin-left: 1rem !important;
}

.mL2rem {
	margin-left: 2rem !important;
}

.mL3rem {
	margin-left: 3rem !important;
}

.mB1rem {
	margin-bottom: 1rem !important;
}

.mB2rem {
	margin-bottom: 2rem !important;
}

.mB3rem {
	margin-bottom: 3rem !important;
}


/* MARGIN(px) */
.mT5 {
	margin-top: 5px !important;
}

.mT10 {
	margin-top: 10px !important;
}

.mT15 {
	margin-top: 15px !important;
}

.mT20 {
	margin-top: 20px !important;
}

.mT25 {
	margin-top: 25px !important;
}

.mT30 {
	margin-top: 30px !important;
}

.mT35 {
	margin-top: 35px !important;
}

.mT40 {
	margin-top: 40px !important;
}

.mT45 {
	margin-top: 45px !important;
}

.mT50 {
	margin-top: 50px !important;
}

.mR5 {
	margin-right: 5px !important;
}

.mR10 {
	margin-right: 10px !important;
}

.mR15 {
	margin-right: 15px !important;
}

.mR20,
.mR25,
.mR30,
.mR35,
.mR40,
.mR45,
.mR50 {
	margin-right: 20px !important;
}

.mL5 {
	margin-left: 5px !important;
}

.mL10 {
	margin-left: 10px !important;
}

.mL15 {
	margin-left: 15px !important;
}

.mL20,
.mL25,
.mL30,
.mL35,
.mL40,
.mL45,
.mL50 {
	margin-left: 20px !important;
}

.mB5 {
	margin-bottom: 5px !important;
}

.mB10 {
	margin-bottom: 10px !important;
}

.mB15 {
	margin-bottom: 15px !important;
}

.mB20 {
	margin-bottom: 20px !important;
}

.mB25 {
	margin-bottom: 25px !important;
}

.mB30 {
	margin-bottom: 30px !important;
}

.mB35 {
	margin-bottom: 35px !important;
}

.mB40 {
	margin-bottom: 40px !important;
}

.mB45 {
	margin-bottom: 45px !important;
}

.mB50 {
	margin-bottom: 50px !important;
}

.mV5 {
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

.mV10 {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

.mV15 {
	margin-top: 15px !important;
	margin-bottom: 15px !important;
}

.mV20 {
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}

.mV25 {
	margin-top: 25px !important;
	margin-bottom: 25px !important;
}

.mV30 {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}

.mV35 {
	margin-top: 35px !important;
	margin-bottom: 35px !important;
}

.mV40 {
	margin-top: 40px !important;
	margin-bottom: 40px !important;
}

.mV45 {
	margin-top: 45px !important;
	margin-bottom: 45px !important;
}

.mV50 {
	margin-top: 50px !important;
	margin-bottom: 50px !important;
}

.mH5 {
	margin-left: 5px !important;
	margin-right: 5px !important;
}

.mH10 {
	margin-left: 10px !important;
	margin-right: 10px !important;
}

.mH15 {
	margin-left: 15px !important;
	margin-right: 15px !important;
}

.mH20,
.mH25,
.mH30,
.mH35,
.mH40,
.mH45,
.mH50 {
	margin-left: 20px !important;
	margin-right: 20px !important;
}

.mHA {
	margin-left: auto !important;
	margin-right: auto !important;
}


/* PADDING(rem) */
.pT1rem {
	padding-top: 1rem !important;
}

.pT2rem {
	padding-top: 2rem !important;
}

.pT3rem {
	padding-top: 3rem !important;
}

.pR1rem {
	padding-right: 1rem !important;
}

.pR2rem {
	padding-right: 2rem !important;
}

.pR3rem {
	padding-right: 3rem !important;
}

.pL1rem {
	padding-left: 1rem !important;
}

.pL2rem {
	padding-left: 2rem !important;
}

.pL3rem {
	padding-left: 3rem !important;
}

.pB1rem {
	padding-bottom: 1rem !important;
}

.pB2rem {
	padding-bottom: 2rem !important;
}

.pB3rem {
	padding-bottom: 3rem !important;
}


/* PADDING(px) */
.pT5 {
	padding-top: 5px !important;
}

.pT10 {
	padding-top: 10px !important;
}

.pT15 {
	padding-top: 15px !important;
}

.pT20 {
	padding-top: 20px !important;
}

.pT25 {
	padding-top: 25px !important;
}

.pT30 {
	padding-top: 30px !important;
}

.pT35 {
	padding-top: 35px !important;
}

.pT40 {
	padding-top: 40px !important;
}

.pT45 {
	padding-top: 45px !important;
}

.pT50 {
	padding-top: 50px !important;
}

.pR5 {
	padding-right: 5px !important;
}

.pR10 {
	padding-right: 10px !important;
}

.pR15 {
	padding-right: 15px !important;
}

.pR20,
.pR25,
.pR30,
.pR35,
.pR40,
.pR45,
.pR50 {
	padding-right: 20px !important;
}

.pL5 {
	padding-left: 5px !important;
}

.pL10 {
	padding-left: 10px !important;
}

.pL15 {
	padding-left: 15px !important;
}

.pL20,
.pL25,
.pL30,
.pL35,
.pL40,
.pL45,
.pL50 {
	padding-left: 20px !important;
}

.pB5 {
	padding-bottom: 5px !important;
}

.pB10 {
	padding-bottom: 10px !important;
}

.pB15 {
	padding-bottom: 15px !important;
}

.pB20 {
	padding-bottom: 20px !important;
}

.pB25 {
	padding-bottom: 25px !important;
}

.pB30 {
	padding-bottom: 30px !important;
}

.pB35 {
	padding-bottom: 35px !important;
}

.pB40 {
	padding-bottom: 40px !important;
}

.pB45 {
	padding-bottom: 45px !important;
}

.pB50 {
	padding-bottom: 50px !important;
}

.pV5 {
	padding-top: 5px !important;
	padding-bottom: 5px !important;
}

.pV10 {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.pV15 {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
}

.pV20 {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

.pV25 {
	padding-top: 25px !important;
	padding-bottom: 25px !important;
}

.pV30 {
	padding-top: 30px !important;
	padding-bottom: 30px !important;
}

.pV35 {
	padding-top: 35px !important;
	padding-bottom: 35px !important;
}

.pV40 {
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

.pV45 {
	padding-top: 45px !important;
	padding-bottom: 45px !important;
}

.pV50 {
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.pH5 {
	padding-left: 5px !important;
	padding-right: 5px !important;
}

.pH10 {
	padding-left: 10px !important;
	padding-right: 10px !important;
}

.pH15 {
	padding-left: 15px !important;
	padding-right: 15px !important;
}

.pH20,
.pH25,
.pH30,
.pH35,
.pH40,
.pH45,
.pH50 {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

.p5 {
	padding: 5px !important;
}

.p10 {
	padding: 10px !important;
}

.p15 {
	padding: 15px !important;
}

.p20,
.p25,
.p30,
.p35,
.p40,
.p45,
.p50 {
	padding: 20px !important;
}

.p0 {
	padding: 0 !important;
}

.pT0 {
	padding-top: 0 !important;
}

.pR0 {
	padding-right: 0 !important;
}

.pL0 {
	padding-left: 0 !important;
}

.pB0 {
	padding-bottom: 0 !important;
}

.m0 {
	margin: 0 !important;
}

.mT0 {
	margin-top: 0 !important;
}

.mR0 {
	margin-right: 0 !important;
}

.mL0 {
	margin-left: 0 !important;
}

.mB0 {
	margin-bottom: 0 !important;
}


/* Font-size */
@media screen and (max-width : 640px) {
	html {
		font-size: 81.25%;
	}
}

@media screen and (max-width : 600px) {
	html {
		font-size: 76.171875%;
	}
}

@media screen and (max-width : 560px) {
	html {
		font-size: 71.09375%;
	}
}

@media screen and (max-width : 520px) {
	html {
		font-size: 66.015625%;
	}
}

@media screen and (max-width : 480px) {
	html {
		font-size: 60.9375%;
	}
}

@media screen and (max-width : 440px) {
	html {
		font-size: 55.859375%;
	}
}

@media screen and (max-width : 400px) {
	html {
		font-size: 50.78125%;
	}
}

@media screen and (max-width : 360px) {
	html {
		font-size: 45.703125%;
	}
}

@media screen and (max-width : 320px) {
	html {
		font-size: 40.625%;
	}
}

@media screen and (max-width : 280px) {
	html {
		font-size: 35.546875%;
	}
}

@media screen and (max-width : 240px) {
	html {
		font-size: 30.46875%;
	}
}


/* title */
h2,
h3 {
	font-size: 3rem;
	line-height: 4rem;
	/* padding-left: 1rem; */
	font-weight: normal;
}