html {
	font-size: 62.5%;
}
body {
	color: #333;
	font-size: 1.6rem;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 600;
	line-height: 2.2;
}
*, *::before, *::after {
	box-sizing: border-box;
}
main {
	width: 100%;
}
a {
	transition: all .75s ease-out;
}
a:link, a:visited, a:active {
	color: #333;
	text-decoration: none;
}
a:hover {
	color: #c92920;
	opacity: .75;
}
h3 {
	font-size: 30px;
	margin-top: 30px;
	margin-bottom: 30px;
}
.btn-toroku {
	text-align: center;
	width: 427px;
	margin: auto;
}
.red {
	color: #c92920;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
* html .clearfix {
	zoom: 1;
}
*:first-child+html .clearfix {
	zoom: 1;
}
.sp-invisible {
	display: block;
}
.pc-invisible {
	display: none;
}
#first-v {
	background: url(../img/bg-tshirt.png) no-repeat;
	background-position: 70% 40px;
	min-height: 1350px;
	margin: auto;
	position: relative;
}
#first-v .catch {
	width: 540px;
	text-align: center;
	font-size: 2.4rem;
	position: relative;
	top: 45px;
	left: 10%;
}
#first-v .catch h2 {
	line-height: 2.2;
}
#first-v .catch img {
	margin-top: 30px;
}
#first-cont {
	width: 700px;
	position: relative;
	top: 450px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#first-cont .txt-big {
	font-size: 28px;
	text-align: center;
	line-height: 1.5;
}
#first-cont h2 {
	font-size: 46px;
	text-align: center;
	line-height: 1.5;
}
#first-cont h2 .txt-m {
	font-size: 34px;
}
#first-cont dl {
	display: inline-block;
	width: 165px;
	margin: 50px 2px;
	text-align: center;
}
#first-cont dd {
	font-size: 20px;
	line-height: 1.5;
}
#first-v .btn-toroku {
	position: absolute;
	bottom: 0px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#second-v {
	background: #d2d1cf;
	padding: 180px 135px 100px;
}

#second-v h3 {
	margin-top: 0;
}
#second-v .contents{
	max-width: 987px;
	margin: auto;
}
#second-v .contents img {
	width: 100%;
}
#second-v .parent-box {
	margin-top: 138px;
	margin-bottom: 90px;
}
#second-v .left-box {
	font-size: 30px;
	text-align: center;
}
#third-v {
	min-height: 760px;
	background: url(../img/bg-design.png) no-repeat;
	background-position: center;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	background-size: cover;
	padding-left: 5%;
}
#third-v .left-box {
	max-width: 1024px;
	margin: 210px auto 0;
}
#third-v .child-box {
	width: 500px;
}
#forth-v,
#forth-v-b {
	background: #d2d1cf;
	line-height: 1.6;
	min-height: 470px;
    padding: 150px 135px 50px;
}
#forth-v-b {padding: 40px 135px 60px;}
#forth-v h3,
#forth-v-b h3 {margin-top: 0;}
#forth-v .parent-box,
#forth-v-b .parent-box {
	width: 1124px;
	margin: auto;
}
#forth-v .left-box,
#forth-v-b .left-box {
	width: 519px;
	float: left;
	text-align: center;
	padding-top: 82px;
}
#forth-v .right-box,
#forth-v-b .right-box {
	width: 564px;
	float: right;
}
#forth-v-b .btn-toroku {
	margin-top: 80px;
}
#fifth-v {
	background: url(../img/bg-wakaru.png) no-repeat;
	background-position: center;
	min-height: 910px;
	background-size: cover;
}
#fifth-v .right-box {
	width: 975px;
	text-align: right;
	color: #fff;
	margin: auto;
	top: 210px;
	position: relative;
}
#sixth-v {
	min-height: 1000px;
	padding: 80px 0;
}
#sixth-v .parent-box {
	max-width: 1037px;
	margin: auto;
}
#sixth-v .left-box {
	width: 380px;
	float: left;
	margin-top: 122px;
	margin-left: 5%;
}
#sixth-v .right-box {
	max-width: 588px;
	float: right;
	width: calc(100vw - 410px - 5vw);
}
#sixth-v .right-box img {
	margin-bottom: 30px;/* width: calc(100vw - 410px - 5%); */
	width: 100%;
}
#seventh-v {
	background: url(../img/bg-shinka.png) repeat;
	background-position: center;
	color: #fff;
	padding: 200px 0;
}
#seventh-v h2 {
	text-align: center;
	    max-width: 987px;
    margin: auto;
}
#seventh-v .child {
	width: 515px;
	margin: 131px auto 0;
}
#eighth-v {
    margin-top: -80px;
	padding-top: 80px;
}
#eighth-v .contents {
	max-width: 888px;
	margin: 150px auto 100px;
}
#eighth-v .parent-box {
	margin-top: 20px;
}
#eighth-v h3 {
	text-align: center;
}
#eighth-v .left-box {
	width: 400px;
	float: left;
}
#eighth-v .right-box {
	width: 350px;
	float: right;
}
#eighth-v .right-box a {
	font-size: 36px;
	font-weight: bold;
}
#eighth-v .flow {
	width: 730px;
	margin: 75px auto;
}
#eighth-v .step {
	font-size: 26px;
	line-height: 1;
	margin-bottom: 10px;
}
#eighth-v dl {
	min-height: 155px;
	margin-top: 25px;
}
#eighth-v dt {
	width: 150px;
	float: left;
}
#eighth-v dd {
	width: 570px;
	float: right;
}
#eighth-v .child img {
	margin-left: 50px;
}
#eighth-v .coution {
	font-size: 14px;
	background-color: #f9f0ef;
	padding: 12px;
}
#nineth-v .contents {
	width: 700px;
	margin: 110px auto 77px;
}
#nineth-v .parent-box {
	background-color: #ebeaec;
}
#nineth-v .left-box {
	width: 230px;
	float: left;
	font-size: 20px;
	text-align: center;
	line-height: 9;
}
#nineth-v .right-box {
	width: 450px;
	float: right;
	font-size: 14px;
	padding: 18px;
}
#footer .footer-inner {
	text-align: center;
	font-size: 1.4rem;
}
#footer .footer-inner a {
	text-decoration: underline;
}
#footer .footer-inner li {
	display: inline-block;
	margin: 0 30px;
}
#copy {
	background-color: #454545;
	color: #fff;
	text-align: center;
	margin-top: 22px;
	font-size: 1.2rem;
	padding: 7px;
}

@media screen and (max-width:1268px) {
#second-v h2 img {
	width: 80%;
	margin: auto;
}
#second-v .left-box {
	width: 100%;
	max-width: none;
}
#second-v {
	padding: 5%;
}
#second-v .contents {
	width: 100%;
	padding-top: 10vh;
	padding-bottom: 5vh;
}
#second-v .right-box {
	margin-top: 5vh;
	max-width: none;
}
#second-v .parent-box {
	margin-top: 3vh;
	margin-bottom: 5vh;
}
#second-v img {
	width: 100%;
}
#forth-v .left-box img,
#forth-v-b .left-box img {
	margin-bottom: 50px;
}
#forth-v h3,
#forth-v-b h3 {
	text-align: center;
}
#forth-v {
	padding: 10vh 5% 5vh;
}
#forth-v-b {
	padding: 0vh 5% 5vh;
}
#forth-v .parent-box,
#forth-v-b .parent-box {
	width: 100%;
}
#forth-v .left-box,
#forth-v-b .left-box {
	width: 100%;
	text-align: center;
	float: none;
}
#forth-v-b .left-box {
	padding-top: 2vh;
}
#forth-v .right-box,
#forth-v-b .right-box {
	max-width: 768px;
	margin: 30px auto;
	float: none;
}
#sixth-v h3 {
	text-align: center;
}
#fifth-v .right-box {
	width: 60%;
	min-height: auto;
	text-align: left;
	padding: 5%;
	top: 80px;
	margin-left: 40%;
}
#fifth-v h2 img {
	width: 80%;
	margin-right: 15%;
}
#sixth-v .right-box {
	width: 40%;
	margin-top: 220px;
}
#sixth-v .btn-toroku {
	margin-top: 80px;
}
#seventh-v h2 img {
	width: 80%;
}
#eighth-v .left-box img {
	width: 400px;
}
}

@media screen and (max-width:768px) {
main {
	min-width: auto;
}
#third-v {
	min-height: auto;
	padding: 5%;
}
#third-v .left-box {
	width: 100%;
	position: unset;
	bottom: auto;
	left: auto;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
	-o-transform: none;
	transform: none;
	padding-top: 5vh;
}
#third-v .child-box {
	width: 50%;
	margin-top: 5vh;
}
#forth-v .right-box,
#forth-v-b .right-box {
	width: 100%;
}
#fifth-v {
	background-position: inherit;
	padding-top: 210px;
	min-height: auto;
	padding-bottom: 5vh;
}
#fifth-v .right-box {
	width: 100%;
	margin-left: 0;
	top: 0;
}
#sixth-v {
	padding: 5%;
}
#sixth-v .parent-box {
	width: 100%;
}
#sixth-v .right-box img {
	width: 100%;
}
#sixth-v .btn-toroku {
	margin-top: 80px;
}
#sixth-v .left-box {
	width: 100%;
	margin-top: 10vh;
	margin-left: 0;
	margin-bottom: 5vh;
}
#sixth-v .right-box {
	width: 100%;
	float: none;
	margin: auto;
}
#seventh-v {
	padding: 15vh 5%;
}
#seventh-v img {
	width: 100%;
}
#seventh-v .child {
	width: 100%;
}
#eighth-v .contents {
	width: 100%;
}
#eighth-v .left-box {
	width: 45%;
	padding: 0 5%;
}
#eighth-v .left-box img {
	width: 100%;
}
#eighth-v .right-box {
	width: 50%;
}
}

@media screen and (max-width:767px) {
body {
	font-weight: 500;
}
.btn-toroku {
	margin: 5vh 5vw;
}
.btn-toroku img {
	width: 90%;
}
.pc-invisible {
	display: block;
}
.sp-invisible {
	display: none;
}
img {
	width: 100%;
}
h3 {
	line-height: 1.5;
	font-size: 2.6rem;
}

#first-v {
	background-position: top center;
	background-size: 100%;
	min-height: auto;
}
#first-v .catch {
	width: 100%;
	left: 0;
	top: 5vh;
	font-size: 1.2rem;
}
#first-v .catch img {
	width: 50%;
}
#first-v .catch img.bottomicon{
	width: 7%;
}
#first-cont {
	width: 100%;
	top: 10vh;
	margin-bottom: 5vh;
	left: auto;
	-moz-transform: none;
	-ms-transform: none;
	-o-transform: none;
	transform: none;
	padding: 5%;
}
#first-cont .txt-big {
	font-size: 2rem;
}
#first-cont h2 {
	font-size: 3.2rem;
}
#first-cont h2 .txt-m {
	font-size: 2.8rem;
}
#first-cont dl {
    width: 44%;
    margin: 5% 2.5%;
    vertical-align: top;
}
#first-cont .txt-pl {
	margin: 5%;
}
#first-cont dt img {
	width: auto;
	height: 80px;
}
#first-v .btn-toroku {
	position: relative;
	bottom: auto;
	left: auto;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
	-o-transform: none;
	transform: none;
	padding-top: 5vh;
}
.btn-toroku {
	margin: 5vh auto;
	width: 80%;
}
.btn-toroku img {
	width: 100%;
}
#third-v .child-box {
	width: 66%;
}
#eighth-v .contents {
	width: 100%;
	margin: 10vh 0;
	padding: 5%;
	margin-bottom: 0;
}
#eighth-v .left-box {
	width: 100%;
}
#eighth-v .right-box {
	width: 100%;
}
#eighth-v .flow {
	width: 100%;
	margin: 75px auto 0;
}
#eighth-v dt {
	width: 20%;
}
#eighth-v dd {
	width: 70%;
}
#eighth-v .child img {
	margin-left: 0;
	width: auto;
	margin-bottom: 2vh;
	margin-top: 2vh;
}
.flow .child {
	text-align: center;
}
#eighth-v .coution {
	margin-bottom: 2vh;
}
#nineth-v .contents {
	width: 100%;
	margin: 0;
}
#nineth-v .left-box {
	width: 100%;
	line-height: 3;
}
#nineth-v .right-box {
	width: 100%;
}
#footer .footer-inner {
	padding-top: 5vh;
}

}


/* 2021-3-2 added classes */
/* New Header-Nav */
header {
	position: sticky;
    z-index: 99;
    background-color: #fff;
    top: 0;
	min-height: 80px;
	width: 100%;
	display: flex;
    justify-content: space-between;
    padding: 15px 35px 10px;
	align-items: center;
}
header > a img {
	display: inline-block;
	max-width: 200px;
	width: 60vw;
}
header nav {display: inline-block;}
header ul {margin-right: 190px;}
header ul li {
	display: inline-block;
	padding-left: 25px;
	position: relative;
	margin-left: 3vw;
}
header ul li::before {
	content: url(/img/ico-tri.png);
	position: absolute;
	left: 5px;
}
header ul li.bg-red {
	background-color: #C02920;	
	padding: 0;	
	position: absolute;
    width: 182px;
    right: 0;
    top: 0;
}
header ul li.bg-red a span {
	color: #fff;
	display: block;
	font-size: 18px;
	margin-left: 0;
	padding: 5px 10px;	
}
header ul li.bg-red::before {
	content: none;
}
#btn-menu-sp {display: none;}

@media screen and (max-width: 768px) {
	header {
		display: block;
		height: auto;
		padding: 15px;
		z-index: 100;
	}
	header ul {
		margin: 0;
	}
	header ul li::before {
		left: 10px;
	}
	header ul li.bg-red {
		margin: 0 auto;
		position: static;
		width: 50%;
	}
	#spMenu {
		background: #fff;
		position: absolute;
		width: 100%;
		left: 0;
		transition: .8s;
		z-index: 98;
		opacity: 1;
	}
	#spMenu.closed {
		top: -500px;
		opacity: 0;
	}
	#spMenu li {
		display: block;
		padding: 6px 0;
		border-bottom: 1px solid #D2D1CF;
	}
	#spMenu li:nth-child(1) {
		border-top: 1px solid #D2D1CF;
	}
	#spMenu li a {
		display: block;
		margin-left: 30px;
	}
	#spMenu li.bg-red {
		margin: 10px auto;
	}
	#spMenu li.bg-red a {
		margin: 0 auto;
		text-align: center;
	}
	#btn-menu-sp {
		display: block;
		float: right;
		height: 54px;
	}
	#btn-menu-sp a {
		background-color: #C02920;
		display: inline-block;
		width: 38px;
		height: 38px;
		padding: 9px 6px;
		position: relative;
	}
	#btn-menu-sp span {
		background-color: #fff;	
		display: block;
		width: 25px;
		height: 3px;
		position: relative;		
		opacity: 1;
		transition: .6s
	}
	#btn-menu-sp span:nth-child(2){
		top: 5px;
	}
	#btn-menu-sp span:nth-child(3){
		top: 10px;
	}
	#btn-menu-sp p {
		color: #C02920;
		font-size: 10px;
		text-align: center;
		position: relative;
		top: -15px;
	}
	#btn-menu-sp span.fade {
		opacity: 0;
		transition: .6s;
	}
}
/* FAQ */
#faq {
	max-width: 900px;
	width: 95vw;
	margin: 0 auto;
	padding-top: 100px;
}
.underline {
	text-decoration: underline;
	font-weight: bold;
}
.faq-box .question {
	border-bottom: 1px solid #000;
	color: #000;
	padding: 16px 0;
	position: relative;
	display: flex;
	justify-content: space-between;
}
.faq-box .question h5 {
	align-self: center;
	flex: 1 0 80%;
	font-size: 17px;
	line-height: 1.5;
	padding-left: 30px;
}

.faq-box .question:hover {
	cursor: pointer;
}
.plus-mark {
	width: 28px;
    height: 28px;
    padding: 3px;
	right: 31px;
	top: calc(50% - 14px);
	flex: 0 0 7%;
	margin-left: 15px;
}
.vert-line,
.hor-line {
    display: block;
    width: 16px;
    height: 3px;
    background-color: #000;
    position: absolute;
    top: 45%;
	transition: .4s;
}
.vert-line.spin {
	transition: .4s;
	transform: rotate(0deg);
}
.vert-line {
	transform: rotate(90deg);
}

.faq-box .answer {
	display: none;
}
.faq-box .answer p{
    font-size: 16px;
    background-color: #f5f5f5;
    line-height: 1.5;
    margin: 10px 0;
	font-weight: 500;
    padding: 20px 30px 20px 30px;
    position: relative;
}
@media screen and (max-width: 768px) {
	#faq {
		padding-top: 60px;
		margin-bottom: 60px;
	}
	.faq-box .question h5 {
		flex: 1 0 75%;
		padding-left: 20px;
	}
}
/* Merit block */
#ftrBnr {
	position: fixed;
	right: 20px;
    bottom: 5px;
	z-index: 100;
	transition: .6s;
	opacity: 0;
	pointer-events: all;
}
.txtCent {
	text-align: center;
}
.flex {
	display: flex;
}
#merit {
	padding: 90px 0 0;
}
#merit h3 {
	max-width: 608px;
	margin: 0 auto 80px;
	width: 95vw;
}
#merit .flex {
	justify-content: space-between;
	flex-flow: row wrap;
	max-width: 1100px;
	margin: 0 auto 85px;
	width: 95vw;
	position: relative;
	z-index: 80;
}
.fullscreen {
	display: block;
	width: 100%;
}
.merit-box {
	max-width: 540px;
	flex: 0 1 22%;
	text-align: center;
}
.merit-box h4 {
	font-size: 21px;
	line-height: 1.3;
	margin: 30px auto 48px 60px;
	position: relative;
	text-align: left;
}
.merit-box img {
	margin-bottom: 30px;
	max-height: 78px;
	width: auto;
}
.merit-box:nth-child(4) h4 {
	margin-top: 10px;
}
.merit-box h4::before {
    position: absolute;
    left: -49px;
    top: -68px;
    font-size: 150px;
    font-weight: bold;
    color: #D2D1CF;
    opacity: .41;
	z-index: -1;
}
.merit-box:nth-child(1) h4::before {
	content: '1';
}
.merit-box:nth-child(2) h4::before {
	content: '2';
}
.merit-box:nth-child(3) h4::before {
	content: '3';
}
.merit-box:nth-child(4) h4::before {
	content: '4';
	top: -56px;
}
.merit-box p {
	font-size: 17px;
    text-align: left;
    letter-spacing: 1px;
}
.merit-box small {
	display: block;
	text-align: left;
}
@media screen and (max-width: 768px) {
	#merit h3 {
		margin: 0 auto 0;
		width: 70vw;
	}
	#merit .flex {
		margin: 0 auto;
	}
	.merit-box {
		flex: 0 0 90%;
		margin: 0 auto 15px;
		padding: 40px 0 30px;
	}
	.merit-box h4 {
		display: inline-block;
		margin: 0 0 48px 0;
	}
	.merit-box img {
		display: inline-block;
		margin: 0 0 30px 20px;
		vertical-align: middle;
	}
	.merit-box:nth-child(2) h4::before {
		left: -30px;
	}
	#ftrBnr {
		width: 46%;
	}
}
