/* CSS Document */
:root {
	--intro-main-color: #0c0303;
	--intro-line-color: #927d54;
	--intro-header-hei: 100px;
	/* --intro-main-color: rgb(12, 3, 3); */
}

h1.logo {
	display: block; /* もしdivと同じ挙動にしたいなら */
	margin: auto;
	font-size: 9px;
}

html { scroll-behavior: smooth; }

header {
	position: fixed;
	inset: 0;
	z-index: 100;
	/*DEBUG用BOREDER
border: 3px solid black;
*/
}

body {
	padding: 0;
	margin: 0;
	font-family: main;
	background-color: var(--intro-main-color);
}

hr {
	margin: 20px;
	width: 90%;
}
.hover_on {
	cursor: pointer;
	width: fit-content;
	height: fit-content;
	white-space: nowrap;
	padding: auto 0px;
}
.hover_on:hover {
	opacity: 0.7;
}
/* LINK設定 */
a {
	color: white;
	text-decoration: none;
	cursor: pointer;
}
a:hover {
	color: #b1e0f8;
	text-decoration: none
}
img {
	vertical-align: middle;	/* イメージ 中央揃え処理用 */
	border: 0px;
}

@FONT-FACE {
	font-family: 'main';
	src: url('./MotoyaExAporo W3.woff') format('woff');
}
@FONT-FACE {
	font-family: 'logo';
	src: url('./logo.ttf') format('truetype');
}

.flex_on {
	display: -webkit-flex;	/* Chrome 21-27 */
	display: -moz-box;		/* Firefox 2-21 */
	display: -ms-flexbox;	/* IE9 */
	display: flex;
	position: relative;
}

/* HEADER部 */
.top_header {
	width: 100%;
	height: var(--intro-header-hei);
	text-align: center;
	color: white;
	background-color: #000000;
	/*DEBUG用BOREDER
border: 3px solid red;
*/
}

.top_main {
	width: 100px;
	height: 100px;
	vertical-align: middle;
	margin-left: 30px;
	background-color: #fff2e8;
}
.top_main div {
	width: 70px;
	height: 70px;
	margin: auto;
	/*DEBUG用BOREDER
border: 3px solid red;
*/
}
.top_main img {
	width: 60px;
	height: 60px;
	margin: auto;
}

/* HEADER部:LINK */
.top_sub {
	height: fit-content;
	margin: auto;
	/*DEBUG用BOREDER
border: 3px solid red;
*/
}
.top_sub div {
	font-size: 15px;
	margin: 0 20px;
}

/* HEADER部:LOG-IN・新規登録 */
.top_act {
	width: 320px;
	margin: auto 0px ;
	vertical-align: middle;
	right: 30px;
	/*DEBUG用BOREDER
border: 3px solid red;
*/
}
.top_act div {
	width: 180px;
	padding: 10px 20px;
	font-size: 14px;
	margin: auto 10px;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	background-color: #606060;
}
.top_notification {
	width: fit-content;
	margin: auto 20px;
	/*DEBUG用BOREDER
border: 3px solid red;
*/
}
.top_notification span {
	color: #9e9e9e;
	padding: 0px 20px;
	text-align: center;
	font-size: 10px;
}

.sp_logo {
	font-family: "logo";
}

.dv_pr_top {
	width: 100px;
	height: 20px;
	text-align: center;
	position: relative;
	font-size: 10px;
	margin: 0px auto 10px auto;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	background-color: #b6b6b6;
}
.dv_pr_top span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}

/* IMAGE表示部 */
:root {
	--top-img-hei: 700px;
	--top-img-div-wid: 700px;
	--top-img-div-pad: 20px;
}
/* IMAGE */
.top_img {
	width: 100%;
	/* height: 700px; */
	color: white;
	line-height: 70px;
	margin-bottom: 200px;
	/*
border: 1px solid #fff;
	background-image: url('./background.svg');
	background-repeat: no-repeat;
	background-size: cover;
	*/
}
/* IMAGE内Sub-TEXT */
.top_img_title {
	font-size: 30px;
	line-height: 50px;
	text-align: center;
	margin: auto;
	padding-bottom: 100px;
	text-shadow: 4px 4px 8px #171717;
	position: absolute;
	top: 250px;
	left: 50%;
	transform: translateX(-50%);
}
/* IMAGE内Main-TEXT */
.top_img_title span {
	font-size: 45px;
	margin: 150px auto;
}
.top_logo {
	font-family: "logo";
}

/* IMAGE内Sub-TEXT */
.top_img_desc {
	/* width: var(--top-img-div-wid); */
	font-size: 14px;
	text-align: left;
	padding: var(--top-img-div-pad);
	line-height: 30px;
	position: absolute;
	top: 600px;
	left: calc((100% - var(--top-img-div-wid)) * 0.5 - var(--top-img-div-pad));
	background-color: rgba(90, 90, 90, 0.8);
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	z-index: 10;
}

/* IMAGE内Sub-TEXT */
.top_img_shadow {
	width: 100%;
	height: 20px;
	position: absolute;
	/* bottom: calc(var(--intro-header-hei) * -1); */
	bottom: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, var(--intro-main-color) 100%);
/*
border: 1px solid #fff;
*/
	/* background-color: var(--intro-main-color); */
	/* box-shadow: -2px -2px 20px 15px var(--intro-main-color); */
}

/*===========
slider
===========*/
.slider-wrap {
	height: 100%;
	width: 100%;
	/* margin: 0 auto; */
	overflow: hidden;
	position: relative;
}
  
.slide-item>img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
  
@keyframes fadezoom {
	0% {
		transform: scale(1);
	}
  
	100% {
		transform: scale(1.1);
	}
}
  
.slick-animation {
	animation: fadezoom 5s 0s forwards;
}

:root {
	--main-wid: 600px;
	--main-body-wid: calc(var(--main-wid) - 80px);
	--main-body-mag: 120px;
	--main-body-ttl-hei: 50px;
	--main-body-pad: 30px;
	--main-body-wid: 365px;
	--main-body-bar-rad: 3px;
}

.main_body_row {
	width: 1150px;
	height: 290px;
	margin: 50px auto 100px auto;
	position: relative;
	display: -webkit-flex;	/* Chrome 21-27 */
	display: -moz-box;		/* Firefox 2-21 */
	display: -ms-flexbox;	/* IE9 */
	display: flex;
}
.main_body_all_l, 
.main_body_all_r {
	width: 350px;
	height: 100%;
	position: relative;
	display: -webkit-flex;	/* Chrome 21-27 */
	display: -moz-box;		/* Firefox 2-21 */
	display: -ms-flexbox;	/* IE9 */
	display: flex;
	z-index: 10;
}
.main_body_all_l {
	margin: 0 auto 0 var(--main-body-mag);
}
.main_body_all_r {
	margin: 0 var(--main-body-mag) 0 auto;
}

.main_body_bar_l, 
.main_body_bar_r {
	width: var(--main-body-bar-rad);
	height: 100%;
	background-color: var(--intro-line-color);
	-moz-border-radius: var(--main-body-bar-rad);
	-webkit-border-radius: var(--main-body-bar-rad);
	border-radius: var(--main-body-bar-rad);
}

.slideup_desc_all {
	width: var(--main-body-wid);
	position: relative;
	z-index: 10;
/*
border: 1px solid white;
*/
}
.main_body_title_l, 
.main_body_title_r, 
.main_body_desc_l, 
.main_body_desc_r {
	width: var(--main-body-wid);
	font-family: main;
	color: #fff;
}
.main_body_title_l, 
.main_body_title_r {
	height: var(--main-body-ttl-hei);
	position: absolute;
	top: 0;
	font-size: 22px;
	display: -webkit-flex;	/* Chrome 21-27 */
	display: -moz-box;		/* Firefox 2-21 */
	display: -ms-flexbox;	/* IE9 */
	display: flex;
}
.main_body_title_l {
	left: calc(var(--main-body-bar-rad) * -1);
}
.main_body_title_r {
	right: calc(var(--main-body-bar-rad));
}

.main_body_title_l div, 
.main_body_title_r div {
	width: calc(var(--main-body-bar-rad) * 2);
	margin-right: var(--main-body-pad);
	background-color: var(--intro-line-color);
	-moz-border-radius: calc(var(--main-body-bar-rad) * 0.5);
	-webkit-border-radius: calc(var(--main-body-bar-rad) * 0.5);
	border-radius: calc(var(--main-body-bar-rad) * 0.5);
}
.main_body_desc_l, 
.main_body_desc_r {
	font-size: 13px;
	padding-left: calc(var(--main-body-pad) + var(--main-body-bar-rad));
	position: absolute;
	top: var(--main-body-ttl-hei);
	line-height: 45px;
}

.main_body_img_l, 
.main_body_img_r {
	top: 50%;
	transform: translateY(-50%);
}

.main_body_img_r {
	position: absolute;
	right: var(--main-body-mag);
	z-index: 9;
}
.main_body_img_l {
	position: absolute;
	left: var(--main-body-mag);
	z-index: 9;
}

.main_title {
	width: 400px;
	/* width: var(--main-wid); */
	height: 120px;
	margin: 0 auto 50px auto;
	background-image: url('./flame.svg');
	background-repeat: no-repeat;
	background-size: cover;
}
.main_title div {
	width: fit-content;
	height: fit-content;
	font-size: 20px;
	text-align: center;
	color: white;
	margin: auto;
}

.main_body {
	width: var(--main-body-wid);
	text-align: left;
	padding: 25px 20px;
	margin: 0px auto 20px auto;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	box-shadow: 0px 0px 15px 4px rgba(0, 0, 0, 0.2);
}

.main_body a {
	color: rgb(33, 51, 87);
}

.main_body_sub, .main_body_desc {
	width: fit-content;
	margin: 0px auto;
}

.main_body_sub {
	font-size: 18px;
	color: #5a81c5;
}
.main_body_step {
	padding: 10px;
}

.main_body_step1, .main_body_step2, .main_body_step3 {
	width: 300px;
	height: 250px;
	margin: 0px auto;
	text-align:center;
	position:relative;
	background-repeat: no-repeat;
	background-size: cover;
}
.main_body_step1 div, .main_body_step2 div, .main_body_step3 div {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
	font-size: 16px;
	color: white;
}
/* .main_body_step1 { background-image: url('./step1.svg'); }
.main_body_step2 { background-image: url('./step2.svg'); }
.main_body_step3 { background-image: url('./step3.svg'); } */

.main_body_desc {
	text-align: left;
	font-size: 12px;
	padding: 10px;
	color: #737373;
	line-height: 25px;
}

:root {
	--gr-col-kome: 20px;
}

.gr_caution_all {
	display: grid;
	grid-template-columns: var(--gr-col-kome) auto;
	grid-template-rows: auto auto auto auto;
	text-align: left;
	font-size: 12px;
	line-height: 16px;
	color: #751b1b;
	margin-top: 10px;
}
.gr_caution_item1 {
	grid-row: 1 / 3;
	grid-column: 1 / 2;
}
.gr_caution_item2 {
	grid-row: 1 / 2;
	grid-column: 2 / 3;
}
.gr_caution_item3 {
	grid-row: 2 / 3;
	grid-column: 2 / 3;
}

/* ************************/
/*	MAIL送信	          */
/* ************************/
/* MAIL送信ページ ヘッダー */
.mail_inp_tb {
	font-size: 10pt;
	color: var(--intro-line-color);
	padding: 0px;
	border-collapse: collapse;
}
/* MAIL送信ページ 入力欄 */
.mail_inp_td1 {
	text-align: right;
	/* background-color: var(--intro-line-color); */
	padding: 10px;
	border-top: 1px solid var(--intro-line-color);
	border-bottom: 1px solid var(--intro-line-color);
	border-right: 1px solid var(--intro-line-color);
}
.mail_inp_td2 {
	padding: 10px;
	border-top: 1px solid var(--intro-line-color);
	border-bottom: 1px solid var(--intro-line-color);
	border-left: 1px solid var(--intro-line-color);
}
.mail_inp_td3 {
	text-align: center;
	align-items: center;
}

.mail_inp_mark {
	margin-left: 3px;
}

/* ************************/
/*	ページトップへ移動用	*/
/* ************************/
#page_top {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 10px;
	bottom: -50px;
	opacity: 0.6;
	background-image: url("./pagetop.svg");
	z-index: 100;
}

#page_top a {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
}

#page_top a::before {
	position: absolute;
}

.dv_banner {
	position: fixed;
	left: 0px;
	bottom: 0px;
	z-index: 1000;
/*DEBUG用
*/
}

/* ************************/
/*	ページトップへ移動用	*/
/* ************************/
h3 span {
	height: 20px;
	border-left: 2px solid #333;
	margin: 15px auto;
	padding: 5px 15px;
}

.dv_ul ol {
	counter-reset: count 0;
}
.dv_ul li:before {
	content: counter(count) ". ";
	counter-increment: count 1;
}

/* ************************/
/*		会員規約           */
/* ************************/
.tp-menuCont__subTitle {
	font-size: 16px;
	margin:15px 0;
	padding: 8px 0 8px 13px;
	border-left: 2px dotted #6d6d6d;
	line-height: 1.3;
}
.tp-menuCont__list  {
	list-style-type: disc;
	line-height: 16px;
	padding-left: 15px;
	margin-bottom: 25px;
}

.tp-menuCont__list--number {
	list-style-type: decimal;	
}

.tp-menuCont__list li  {
	margin-bottom: 5px;
}
.tp-menuCont__text {
	font-size: 12px;
	line-height: 16px;
	margin-bottom: 10px;
}

.dv_tbl {
	display: table;
	position: relative;
}
.dv_cel {
	min-width: 234px;
	padding: 0px 10px 10px 10px;
	font-size: 9px;
	display: table-cell;
}
.dv_cel_s {
	padding: 0px 10px 10px 10px;
	font-size: 9px;
	display: table-cell;
}

.dv_pr {
	width: fit-content;
	margin: 10px auto 50px auto;
	padding: 20px 10px 10px 20px;
	background-color: var(--intro-line-color);
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	box-shadow: 0px 0px 3px 2px rgba(50, 50, 50, 0.1) inset;	/* 内側 */
} 

/*===========
inview
===========*/
.fadeIn_up {
	opacity: 0;
	transform: translate(0, 50%);
	transition: 2s;
}
.fadeIn_up.is-show {
	transform: translate(0, 0);
	opacity: 1;
}
.fadeIn_right {
	opacity: 0;
	transform: translate(50%, 0);
	transition: 2s;
	text-align: right;
}
.fadeIn_right.is-show {
	transform: translate(0, 0);
	opacity: 1;
}
.fadeIn_left {
	opacity: 0;
	transform: translate(-50%, 0);
	transition: 2s;
}
.fadeIn_left.is-show {
	transform: translate(0, 0);
	opacity: 1;
}