@charset "utf-8";
/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none;}table{border-collapse:collapse;border-spacing:0;}img{vertical-align:bottom;}input[type="text"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;border:none;}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;border:none;cursor:pointer;background:none;padding:0;}h1,h2,h3,h4,h5,h6{font:inherit;}
/*================================================
 *  一般・共通設定
 ================================================*/
:root {
	--white:#FFF;
	--pink:#B41449;
	--hotpink:#FF1493;
	--brown:#4E1015;
	--green:#06C755;
}
html {
	font-size:62.5%;
}
body {
	background:var(--pink);
	font-size:1rem;
	line-height:1;
	color:var(--white);
	font-weight:400;
	overflow-x:hidden !important;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	text-size-adjust:100%;
	font-family:"メイリオ","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
}
*, *:before, *:after {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}
.mplus1p {
	font-family:"M PLUS 1 Code", monospace;
	font-optical-sizing:auto;
	font-weight:<weight>;
	font-style:normal;
}
.BIZUDPGothic {
	font-family:"BIZ UDPGothic", monospace;
	font-optical-sizing:auto;
	font-weight:<weight>;
	font-style:normal;
}
.noto-sans-jp {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}
a {
	text-decoration:none;
	transition:all ease-in-out 0.5s;
}
#Wrapper {
	margin:0 auto;
}
.container {
	width:800px;
	margin:0 auto;
}
.pc {
	display:block;
}
.sp {
	display:none;
}
@media screen and (max-width:640px) {
#Wrapper {
	width:100%;
}
.container {
	width:100%;
}
.pc {
	display:none;
}
.sp {
	display:block;
}
}
/*================================================
 *  ヘッダー
 ================================================*/
header {
}
header .inner {
	width:800px;
	height:50px;
	margin:0 auto;
}
header h1 {
	font-size:24px;
	line-height:50px;
	text-align:center;
	font-weight:400;
}






@media screen and (max-width:640px) {
header {
}
header .inner {
	width:100%;
	height:8.696vw;
}
header h1 {
	font-size:4.348vw;
	line-height:8.696vw;
}
}
/*================================================
 *  
 ================================================*/
.top .container img {
	width:100%;
	line-height:0;
}
.top .mv {
	position:relative;
}
.top .mv img {
	line-height:0;
}
.top .mv span.headline {
	position:absolute;
	content:"";
	top:18%;
	left:50%;
	display:inline-block;
	width:540px;
	transform:translateX(-50%);
}
.top .mv span.logo {
	position:absolute;
	content:"";
	bottom:20%;
	left:50%;
	display:inline-block;
	width:350px;
	transform:translateX(-50%);
}
.top .mv .entry-container {
	position:absolute;
	content:"";
	bottom:0;
	left:0;
	right:;
	display:inline-block;
	width:100%;
}
/*		エントリー(繰り返し)	*/
.entry-container {
	width:800px;
	margin:0 auto;
}
.entry-container .btn {
	width:748px;
	margin:0 auto;
}
.entry-container .btn a {
	display:inline-block;
	background:var(--white);
	width:100%;
	height:130px;
	font-size:60px;
	line-height:130px;
	text-align:center;
	color:var(--green);
	padding-right:10px;
	font-weight:500;
	border-radius:100px;
}
.entry-container .btn a span.icon {
	display:inline-block;
}
.entry-container .btn a span.icon img {
	line-height:0;
	margin-right:10px;
	margin-bottom:20px;
}
.entry-container ul.precautions {
	width:330px;
	padding-top:20px;
	padding-bottom:100px;
	margin:0 auto;
}
.entry-container ul.precautions li {
	position:relative;
	font-size:14px;
	line-height:1.3;
}
.entry-container ul.precautions li::before {
	position:absolute;
	content:"※";
	left:auto;
	display:inline-block;
	margin-left:-20px;
}
/*		ボタンアニメーション	*/
.animate_zoomRepeat {
	-webkit-animation:zoomRepeat 1.5s ease-in-out infinite;
	-moz-animation:zoomRepeat 1.5s ease-in-out infinite;
	animation:zoomRepeat 1.5s ease-in-out infinite;
}
@-webkit-keyframes zoomRepeat {
	0% {-webkit-transform:scale(0.9);}
	30% {-webkit-transform:scale(1, 1);}
	60% {-webkit-transform:scale(0.9);}
	100% {-webkit-transform:scale(0.9);}
}
@-moz-keyframes zoomRepeat {
	0% {-moz-transform:scale(0.9);}
	30% {-moz-transform:scale(1, 1);}
	60% {-moz-transform:scale(0.9);}
	100% {-moz-transform:scale(0.9);}
}
@keyframes zoomRepeat {
	0% {transform:scale(0.9);}
	30% {transform:scale(1, 1);}
	60% {transform:scale(0.9);}
	100% {transform:scale(0.9);}
}
/*		アバウト	*/
.about {
	padding-bottom:64px;
}
.about h2 {
	font-size:50px;
	text-align:center;
	font-weight:500;
	margin-bottom:16px;
}
.about h3 {
	font-size:24px;
	text-align:center;
	font-weight:500;
	margin-bottom:30px;
}
.about .txt {
	font-size:20px;
	line-height:1.4;
	font-weight:400;
}
.about .about-box {
	position:relative;
	height:500px;
	margin-top:50px;
}
.about .about-box .affinity {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
}
.about .about-box .affinity span:nth-child(2) {
	margin-left:20px;
	margin-right:20px;
}
.about .about-box .mobile-box {
	position:absolute;
	content:"";
	bottom:0;
	left:50%;
	display:inline-block;
	transform:translateX(-50%);
}
/*		出来ること	*/
.howto {
	padding-bottom:0;
}
.howto h2 {
	font-size:50px;
	text-align:center;
	font-weight:500;
	margin-bottom:16px;
}
.howto h3 {
	font-size:24px;
	text-align:center;
	font-weight:500;
	margin-bottom:30px;
}
.howto .txt {
	max-width:640px;
	font-size:24px;
	line-height:1.4;
	font-weight:400;
	margin:0 auto;
	margin-bottom:30px;
}

.howto-contents {
	position:relative;
}
.howto-contents img {
	line-height:0;
}
.howto-contents span {
	position:absolute;
	content:"";
	display:inline-block;
}
.howto-contents span.one {
	top:14%;
	left:8%;
}
.howto-contents span.two {
	bottom:30%;
	left:8%;
}
.howto-contents span.three {
	top:38%;
	right:5%;
}
/*		流れ	*/
.flow {
	padding-bottom:64px;
}
.flow h2 {
	font-size:50px;
	text-align:center;
	font-weight:500;
	margin-bottom:16px;
}
.flow h3 {
	font-size:24px;
	text-align:center;
	font-weight:500;
	margin-bottom:30px;
}
ul.step-list {
	padding-left:50px;
	padding-right:50px;
}
ul.step-list li:not(last-child) {
	margin-bottom:50px;
}
ul.step-list li .box {
	display:flex;
	justify-content:start;
	align-items:end;
	flex-wrap:wrap;
	width:100%;
}
ul.step-list li .box span {
	display:inline-block;
}
ul.step-list li .box span.number {
	font-size:100px;
	font-weight:700;
}
ul.step-list li .box span.picture {
	padding:0 20px;
}
ul.step-list li .box span.title {
	font-size:30px;
	color:var(--hotpink);
	font-weight:700;
	text-shadow:3px 3px 1px var(--white), -3px 3px 1px var(--white), 3px -3px 1px var(--white), -3px -3px 1px var(--white), 3px 0px 1px var(--white), 0px 3px 1px var(--white), -3px 0px 1px var(--white), 0px -3px 1px var(--white);
}
ul.step-list li:nth-child(2) .box span.title {
	margin-right:30px;
}
ul.step-list li:nth-child(2) .box span.picture {
	padding-right:0;
}
ul.step-list li .txt {
	font-size:24px;
	font-weight:400;
	margin-top:12px;
}
/*		理由	*/
.reason {
	padding-bottom:64px;
}
.reason h2 {
	font-size:50px;
	text-align:center;
	font-weight:500;
	margin-bottom:16px;
}
.reason h3 {
	font-size:24px;
	text-align:center;
	font-weight:500;
	margin-bottom:30px;
}
ul.safety-list {
	padding:50px;
	padding-bottom:0;
	border:solid 5px var(--brown);
	border-radius:60px;
}
ul.safety-list li {
	padding-bottom:50px;
}
ul.safety-list li dl dt {
	font-size:36px;
	color:var(--brown);
	font-weight:700;
	text-shadow:3px 3px 1px var(--white), -3px 3px 1px var(--white), 3px -3px 1px var(--white), -3px -3px 1px var(--white), 3px 0px 1px var(--white), 0px 3px 1px var(--white), -3px 0px 1px var(--white), 0px -3px 1px var(--white);
	margin-bottom:16px;
}
ul.safety-list li dl dd {
	font-size:20px;
	font-weight:400;
}
@media screen and (max-width:640px) {




.top .mv img {
	width:100%;
}

.top .mv span.headline {
	top:16%;
	width:75%;
}

.top .mv span.logo {
	bottom:25%;
	width:50%;
}

.entry-container {
	width:100%;
}
.entry-container .btn {
	width:96%;
}
.entry-container .btn a {
	width:100%;
	height:19.324vw;
	font-size:6.039vw;
	line-height:19.324vw;
	padding-right:2.415vw;
}
.entry-container .btn a span.icon img {
	width:12.077vw;
	margin-right:2.415vw;
	margin-bottom:2.899vw;
}
.entry-container ul.precautions {
	width:80%;
	padding-top:3.865vw;
	padding-bottom:20.29vw;
}
.entry-container ul.precautions li {
	font-size:3.382vw;
}
.entry-container ul.precautions li::before {
	margin-left:-4.831vw;
}
/*		アバウト	*/
.about {
	padding-bottom:64px;
}
.about h2 {
	font-size:7.246vw;
	margin-bottom:3.865vw;
}
.about h3 {
	font-size:4.348vw;
	margin-bottom:7.246vw;
}
.about .txt {
	width:94%;
	font-size:3.865vw;
	margin:0 auto
}
.about .about-box {
	height:78.744vw;
	margin-top:7.246vw;
}
.about .about-box .affinity span:nth-child(1) img {
	width:33.816vw;
	height:33.816vw;
}
.about .about-box .affinity span:nth-child(2) {
	margin-left:3.865vw;
	margin-right:3.865vw;
}
.about .about-box .affinity span:nth-child(2) img {
	width:12.077vw;
}
.about .about-box .affinity span:nth-child(3) img {
	width:28.986vw;
	height:28.986vw;
}
.about .about-box .mobile-box {
	width:80%;
}
.about .about-box .mobile-box img {
	width:100%;
	line-height:0;
}
/*		出来ること	*/
.howto h2 {
	font-size:7.246vw;
	margin-bottom:3.865vw;
}
.howto h3 {
	font-size:4.348vw;
	margin-bottom:7.246vw;
}
.howto .txt {
	width:94%;
	font-size:4.831vw;
	margin:0 auto 4.831vw;
}
.howto-contents img {
	width:80%;
	margin:0 auto;
}
.howto-contents span img {
	width:36.232vw;
	line-height:0;
}
.howto-contents span.one {
	top:18%;
	left:2%;
}
.howto-contents span.two {
	bottom:30%;
	left:2%;
}
.howto-contents span.three {
	top:38%;
	right:2%;
}
/*		流れ	*/
.flow {
	padding-bottom:7.246vw;
}
.flow h2 {
	font-size:7.246vw;
	margin-bottom:3.865vw;
}
.flow h3 {
	font-size:4.348vw;
	margin-bottom:7.246vw;
}
ul.step-list {
	width:94%;
	padding:0;
	margin:0 auto;
}
ul.step-list li:not(last-child) {
	margin-bottom:12.077vw;
}
ul.step-list li .box span.number {
	font-size:10.87vw;
}
ul.step-list li .box span.picture {
	padding:0 2.899vw;
}
ul.step-list li .box span.picture img {
	height:18.357vw;
}
ul.step-list li .box span.title {
	font-size:5.314vw;
	text-shadow:2px 2px 1px var(--white), -2px 2px 1px var(--white), 2px -2px 1px var(--white), -2px -2px 1px var(--white), 2px 0px 1px var(--white), 0px 2px 1px var(--white), -2px 0px 1px var(--white), 0px -2px 1px var(--white);
	   padding-bottom:2px; 
}
ul.step-list li:nth-child(2) .box span.title {
	margin-right:2.415vw;
}
ul.step-list li .txt {
	font-size:4.348vw;
}
ul.safety-list li dl dd {
	font-size:3.865vw;
}
/*		理由	*/
.reason {
	padding-bottom:7.246vw;
}
.reason h2 {
	font-size:7.246vw;
	margin-bottom:3.865vw;
}
.reason h3 {
	font-size:4.348vw;
	margin-bottom:7.246vw;
}
ul.safety-list {
	width:94%;
	padding:7.246vw 4.831vw 0;
	border:solid 3px var(--brown);
	margin:0 auto;
}
ul.safety-list li {
	padding-bottom:7.246vw;
}
ul.safety-list li dl {
}
ul.safety-list li dl dt {
	font-size:6.28vw;
	letter-spacing:0.05em;
	text-shadow:2px 2px 1px var(--white), -2px 2px 1px var(--white), 2px -2px 1px var(--white), -2px -2px 1px var(--white), 2px 0px 1px var(--white), 0px 2px 1px var(--white), -2px 0px 1px var(--white), 0px -2px 1px var(--white);
	margin-bottom:3.865vw;
}
ul.safety-list li dl dd {
	font-size:3.865vw;
}
}
/*================================================
 *  
 ================================================*/
footer {
	padding-top:160px;
}
footer p.copy {
	text-align:center;
	margin-bottom:16px;
}
@media screen and (max-width:640px) {
footer {
	padding-top:80px;
}
}





