@charset "UTF-8";

@font-face {
  font-family: "メイリオ","ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Osaka",Arial,sans-serif;
  src: local("Yu Gothic Medium");
}

/* =================================
 reset
================================= */
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%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
	color:#333;
	background:#000;
}
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 {
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
}
iframe {
	vertical-align: bottom;
	border: 0;
}
table th,
table td {
	vertical-align: top;
}
input,
/*select,*/
textarea,
button {
	/*-webkit-appearance: none;*/
	-moz-appearance: none;
}
/*select::-ms-expand {
	display: none;
}*/
*, :after, :before {
	box-sizing: border-box;
}

/* =================================
 margin・padding
================================= */

/*margin right*/
.mr05 {
  margin-right: 5px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr25 {
  margin-right: 25px;
}
.mr30 {
  margin-right: 30px;
}
.mr35 {
  margin-right: 35px;
}
.mr40 {
  margin-right: 40px;
}
.mr45 {
  margin-right: 45px;
}
.mr50 {
  margin-right: 50px;
}
/*margin left*/
.ml05 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml25 {
  margin-left: 25px;
}
.ml30 {
  margin-left: 30px;
}
.ml35 {
  margin-left: 35px;
}
.ml40 {
  margin-left: 40px;
}
.ml45 {
  margin-left: 45px;
}
.ml50 {
  margin-left: 50px;
}
/*margin top*/
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px;
}
.mt80 {
  margin-top: 80px;
}
.mt100 {
  margin-top: 100px;
}
/*margin bottom*/
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb100 {
  margin-bottom: 100px;
}
.mb300 {
  margin-bottom: 300px;
}
@media screen and (max-width: 768px) {
	.mb300{
	 margin-bottom: 70px;
	}
}
.mb500 {
  margin-bottom: 500px;
}
@media screen and (max-width: 768px) {
	.mb500{
	 margin-bottom: 70px;
	}
}

/*padding right*/
.pr05 {
  padding-right: 5px;
}
.pr10 {
  padding-right: 10px;
}
.pr15 {
  padding-right: 15px;
}
.pr20 {
  padding-right: 20px;
}
.pr25 {
  padding-right: 25px;
}
.pr30 {
  padding-right: 30px;
}
.pr35 {
  padding-right: 35px;
}
.pr40 {
  padding-right: 40px;
}
.pr45 {
  padding-right: 45px;
}
.pr50 {
  padding-right: 50px;
}
/*padding left*/
.pl05 {
  padding-left: 5px;
}
.pl10 {
  padding-left: 10px;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px;
}
.pl25 {
  padding-left: 25px;
}
.pl30 {
  padding-left: 30px;
}
.pl35 {
  padding-left: 35px;
}
.pl40 {
  padding-left: 40px;
}
.pl45 {
  padding-left: 45px;
}
.pl50 {
  padding-left: 50px;
}
/*padding top*/
.pt05 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt80 {
  padding-top: 80px;
}
.pt100 {
  padding-top: 100px;
}
.pt150 {
  padding-top: 150px;
}
.pt200 {
  padding-top: 200px;
}
/*padding bottom*/
.pb05 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb100 {
  padding-bottom: 100px;
}
.pb150 {
  padding-bottom: 150px;
}
.pb200 {
  padding-bottom: 200px;
}

/* =================================
font
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}
.font130 {
	font-size: 130% !important;
	line-height:2em !important;
}
.font150 {
	font-size: 150% !important;
	line-height:1.8em;
}
.font180 {
	font-size: 180% !important;
line-height:2em;
}
.font200 {
	font-size: 200% !important;
	line-height:2em;
}
.font230 {
	font-size: 230% !important;
	line-height:2em;
}
.font250 {
	font-size: 250% !important;
	line-height:2em;
}

@media screen and (min-width: 768px) {
	.font12-14px{
		font-size: 14px;
	}
	.font14-16px{
		font-size: 16px;
	}
	.font15-20px{
		font-size: 20px;
	}
	.font15-18px{
		font-size: 18px;
	}
	.font16-18px{
		font-size: 18px;
	}
	.font16-20px{
		font-size: 20px;
	}
	.font18-20px{
		font-size: 20px;
	}
	.font18-25px{
		font-size: 25px;
	}
	.font20-22px{
		font-size: 22px;
	}
	.font20-25px{
		font-size: 25px;
	}
	.font20-30px{
		font-size: 30px;
	}
	.font22-30px{
		font-size: 30px;
	}
	.font25-30px{
		font-size: 30px;
	}
	.font35-40px{
		font-size: 40px;
	}
	.font35-70px{
		font-size: 70px;
	}
}
@media screen and (max-width: 768px) {
	.font12-14px{
		font-size: 12px;
	}
	.font14-16px{
		font-size: 14px;
	}
	.font15-20px{
		font-size: 15px;
	}
	.font15-18px{
		font-size: 15px;
	}
	.font16-18px{
		font-size: 16px;
	}
	.font16-20px{
		font-size: 16px;
	}
	.font18-20px{
		font-size: 18px;
	}
	.font18-25px{
		font-size: 18px;
	}
	.font20-22px{
		font-size: 20px;
	}
	.font20-25px{
		font-size: 20px;
	}
	.font20-30px{
		font-size: 20px;
	}
	.font22-30px{
		font-size: 22px;
	}
	.font25-30px{
		font-size: 25px;
	}
	.font35-40px{
		font-size: 28px;
	}
	.font35-70px{
		font-size: 35px;
	}
}


.white{
	color:#fff;
}
.black{
	color:#000;
}
.red{
	color:#c80000;
}
.yellow{
	color:#cfd621;
}
.orange{
	color:#ff6600;
}

.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}
.heisei_font{
	font-family: "heisei-kaku-gothic-std";
}

.txtCenter{
	text-align: center;
}
.txtJustify{
	text-align: justify;
}


.lh15{
	line-height: 1.5em;
}
.lh18{
	line-height: 1.8em;
}
.lh20{
	line-height: 2.0em;
}

/* ----------------------------------------------------------------------
 改行
---------------------------------------------------------------------- */
/*タブレット以下のみ改行*/
@media screen and (min-width: 768px) {
    .kaigyouSp {
        display: none;
    }
}
/*PCのみ改行*/
@media screen and (max-width: 767px) {
    .kaigyouPc {
        display: none;
    }
}
/*スマホ以下のみ改行*/
@media screen and (min-width: 481px) {
    .kaigyouSpMini {
        display: none;
    }
}

/* ----------------------------------------------------------------------
 マーカーアニメーション
---------------------------------------------------------------------- */
 
.marker-animation.active{
    background-position: -100% .5em;
}
.marker-animation {
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
}

.marker {
    background: linear-gradient(transparent 50%, #E6362D 50%);
}

/* =================================
triangles
================================= */
.triangles01{
	position: relative;
    text-align: center;
    background: #ffdb00;
    margin-bottom: 20px;
	padding-top:15px;
	padding-bottom:15px;
	font-weight:bold;
	color:#fff;
}
.triangles01:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #ffdb00;
    border-width: 50px;
    margin-left: -50px;
}

.triangles011{
	position: relative;
    text-align: center;
    background: #ffdb00;
	padding-top:15px;
	padding-bottom:15px;
	font-weight:bold;
	color:#fff;
}
.triangles011:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #ffdb00;
    border-width: 50px;
    margin-left: -50px;
}

.triangles02{
	position: relative;
    text-align: center;
    background: #000;
    margin-bottom: 40px;
	padding-top:30px;
	padding-bottom:30px;
	font-weight:bold;
	color:#fff;
}
.triangles02:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #000;
    border-width: 100px;
    margin-left: -100px;
}

.triangles022{
	position: relative;
    text-align: center;
    background: #000;
    margin-bottom: 20px;
	padding-top:30px;
	padding-bottom:30px;
	font-weight:bold;
	color:#fff;
}
.triangles022:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #000;
    border-width: 30px;
    margin-left: -30px;
}


/* =================================
clearfix
================================= */

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{
	display:inline-table;
	min-height:1%;
}
/* \*/
html .clearfix{
	* height:1%;
}
.clearfix{
	display:block;
}
/* */
.clear {
	clear: both;
}

/* =================================
 スマホ・PC画像振り分け
================================= */

@media screen and (min-width: 768px) {
	.onlyPc{
	display:block !important;
	}
	.onlySp{
	display:none !important;
	}
}
@media screen and (max-width: 768px) {
	.onlyPc{
	display:none !important;
	}
	.onlySp{
	display:block !important;
	}
}

/* ----------------------------------------------------------------------
 スクロールフェード
---------------------------------------------------------------------- */
@media only screen{
	.fade {
		opacity: 0;
		transform: translateY(30px);
	}
	.fade01 {
		transition: opacity 1.5s, transform 1s;	
	}
	.fade02 {
		transition: opacity 2.0s, transform 1.5s;	
	}
	.fade03 {
		transition: opacity 2.5s, transform 2.0s;	
	}
	.fade.active {
		opacity: 1;
		transform: translateY(0px);
	}
}
@media print{
	.fade {
		opacity: 1;
	}
}



/* =================================
 header
================================= */
header .head_inner{
	position: relative;
}

/*ヘッダー背景*/
header .head_bg img{
	display: block;
}
.head_bg_pc{
	width: 100%;
	object-fit: cover;
}
.head_bg_sp{
	width: 100%;
}

.head_bg_h{
	width: 100%;
	object-fit: cover;
}

/*ヘッダータイトル*/
img.tit_headimg{
	max-width: 90%;
	position: absolute;
	top: 15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/*ヘッダーテキスト*/
img.txt_headimg{
	max-width: 80%;
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
	img.txt_headimg{
		bottom: 5%;
	}
}
@media screen and (max-width: 768px) {
	img.txt_headimg{
		bottom: 20px;
	}
}

.head{
	position: relative;
    text-align: center;
    background: #d50038;
	padding-top:10px;
	padding-bottom:10px;
	font-weight:bold;
	color:#fff;
}

/* =================================
 wrapper
================================= */
.wrapper{
	width:100%;
}

.inner1600{
	width: 1600px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}

.inner1000{
	width: 1000px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}
.inner768{
	width: 768px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}

.inner97{
	width: 100%;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}
img{
	display: block;
}
img.imgCenter{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.bg_o{
	background: #F3F1F0;
}

.bg_y{
	background: #ffff00;
}

/* ----------------------------------------------------------------------
 ２カラム用
---------------------------------------------------------------------- */

.full_content{
width: 100%;
margin: 0 !important;
text-align: center;
overflow:hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.single_content{
width:1000px;
max-width:100%;
margin:0 auto;
padding:0 0;
}
.left_content{
float:left;
width:50%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content{
float:right;
width:50%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content30{
float:left;
width:28%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content30{
float:right;
width:28%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content70{
float:left;
width:68%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content70{
float:right;
width:68%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content40{
float:right;
width:38%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content60{
float:left;
width:58%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}


.sp_box{
	padding:0 2%;	
}

@media screen and (max-width: 768px) {
	.right_content,.left_content,
	.right_content30,.left_content30,
	.right_content70,.left_content70{
		float:none;
		width:100%;
		padding:0;
	}
}



/* ----------------------------------------------------------------------
  申し込み
---------------------------------------------------------------------- */
.app{
	background: #fff;
}

.app .app_inner{
	width:768px;
	max-width:calc(100% - 30px);
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	margin: 0px auto 0;
}
.app .app_inner img{
	padding:5px;
}
form.app_form{
}
form.app_form input.email_address{
	max-width:90%;
	width:900px;
	height:50px;
	font-size:100%;
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom:15px;
	border-radius: 30px;		/* CSS3草案 */
	-webkit-border-radius: 30px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 30px;	/* Firefox用 */
}
form.app_form .submit_btn{
	border: 0;
	background: url("../images/btn_apps.png") no-repeat 0 0;
	background-size:contain;
	max-width:90%;
	width:100%;
	padding-top: 11.5%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}



.app_sp{
	background: #F3F1F0;
}

.app_sp .app_inner_sp{
	width:768px;
	max-width:calc(100% - 30px);
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	margin: 0px auto 0;
}
.app_sp .app_inner_sp img{
	padding:5px;
}


@media screen and (max-width: 420px) {
form.app_form .submit_btn{
	height:-20%;
}
}

.submit_btn:hover{
	cursor: pointer;
	opacity: 0.5;
}


/* ----------------------------------------------------------------------
  背景
---------------------------------------------------------------------- */


.bg_m{
  position: relative;
  z-index: 1;
	background:url(../images/bg_mm.png) no-repeat center center;
	background-size: cover;
}

.bg_m::after{
  content: "";
  position: absolute;
  z-index: 2;
  width: 100%;
  height:100%;
  top: 0;
  left: 0;
  opacity: 0.25;
}

.bg2{
	background:url(../images/bg2.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed; 
}

.bg3{
	background:url(../images/bg3.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed; 
}

.bg4{
	background:url(../images/bg4.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed; 
}

.bg5{
	background:url(../images/bg5.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed; 
}

.bg6{
	background:url(../images/bg6.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed; 
}

.bg7{
	background:url(../images/bg7.jpg) no-repeat center center;
	background-size: cover;
}

.bg8{
	background:url(../images/bg8.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed; 
}

.bg9{
	background:url(../images/bg9.jpg) no-repeat center center;
	background-size: cover;
	background-attachment: fixed; 
}

.bg10{
	background:url(../images/bg10.jpg) no-repeat center center;
	background-size: cover;
}

.bg_black{
	background: #000;
}


.bgt{
  padding: 300px 50px;
  margin-top: 150px;
}

.section_bg{
  background-color:#fff;
    filter: alpha(opacity=25);
    -moz-opacity:0.25;
    opacity:0.25;
}

.section_bg2{
    background-color:rgba(0,0,0,0.5);
}

.section_bg3{
    background-color:rgba(255,255,255,0.5);
}

/* 右肩上がり */
.bgt.section_tilt_r {
  clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
}

/* 右肩下がり */
.bgt.section_tilt_l {
  clip-path: polygon(0 0, 100% 50px, 100% 100%, 0 calc(100% - 50px));
}


/* ----------------------------------------------------------------------
  1st_contents
---------------------------------------------------------------------- */


/* ----------------------------------------------------------------------
  2nd_contents
---------------------------------------------------------------------- */

/* ----------------------------------------------------------------------
 見出し
---------------------------------------------------------------------- */
p.titP{
	text-align: center;
	font-size:70px;
	line-height: 1.2em;
}
h3.titH3{
	position: relative;
	text-align: center;
	line-height: 1.5em;
	padding-bottom: 15px;
}
h3.titH3::after{
	position: absolute;
	content: "";
	height: 3px;
	width: 280px;
	background: rgb(76,199,100);
	background: linear-gradient(90deg, rgba(76,199,100,1) 0%, rgba(252,238,33,1) 100%);
	bottom:0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media only screen and (max-width:767px) and (min-width:481px )  {
	p.titP{
		font-size:50px;
	}
}
@media only screen and (max-width:480px) {
	p.titP{
		font-size:40px;
	}
}



/* =================================
 footer
================================= */

.copyright{
	background: #000000;
}
.copyright p{
	text-align: center;
	color: #fff;
	font-size:80%;
	font-weight:bold;
	line-height: 1.5em;
	width:90%;
	margin-left: auto;
	margin-right: auto;
}

/* ----------------------------------------------------------------------
 Footer LINEボタン
---------------------------------------------------------------------- */
#footBtn {
	width: 400px;
	height: 80px;
	position: fixed;
	right: 80px;
	bottom: 30px;
	border-radius: 50%;
	z-index: 9999;
}
@media(max-width:767px)  {
	#footBtn{
		right: 70px;
		height: 60px;
		width: 300px;
	}
}
#footBtn img{
	transition : all 0.5s ease 0s;
}
#footBtn:hover img{
	filter: grayscale(1);
}

/* ----------------------------------------------------------------------
 トップへ戻るボタン
---------------------------------------------------------------------- */
/* ボタン全体 */
#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 10px;
    bottom: 30px;
    background: #ee7733;
    border-radius: 50%;
	transition : all 0.5s ease 0s;
	z-index: 9999;
}
#page_top:hover{
	background: #ccc;
}
/* Font Awesome */
#page_top::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f077';
    font-size: 16px;
    color: #ffffff;
    position: absolute;
    top: 22%;
    left: 50%;
    translate: -50%;
}
#page_top::after {
    content: 'TOP';
    font-size: 10px;
    color: #fff;
    position: absolute;
    margin: auto;
    text-align: center;
    width: 100%;
    top: 52%;
    left: 50%;
    translate: -50%;
    letter-spacing: 0.1em;
    font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}

/* =================================
 パソコンのみの設定
================================= */
@media screen and (min-width: 768px) {
/* スマホのみ改行
-------------------------------------------------------------------*/
 .kaigyouSp {
  display: none;
 }
}

/* =================================
 タブレット以下の設定
================================= */
@media screen and (max-width: 768px) {
}


/* =================================
 スマホのみの設定
================================= */
@media screen and (max-width: 420px) {
}


/* =================================
動画
================================= */
.mv{
	width: 100%;
	position: relative;
}
.headVideo{
	display: block;
	max-width: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	height: 100vh; /* Fallback */
	height: calc(var(--vh, 1vh) * 100);
	min-height: -webkit-fill-available;
}
.videoWrap{
	padding-top: 56.25%;
	width: 100%;
	position: relative;
}

.videoWrap video{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}

.mvFront{
	position:absolute;
	display:block;
	width:100%;
	height:100%;
	left:0;
	top:0;
}
.mvFront img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.mvTxt{
	position: absolute;
	max-width: 860px;
	width: calc(100% - 30px);
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
@media(min-width:768px),print  {
	.mvTxtSp{
		display: none !important;
	}
}
@media(max-width:767px)  {
	.mvTxtPc{
		display: none !important;
	}
}


.container-video {
  position: relative;
  height: 600px;
  overflow: hidden;
  opacity: 0.01;
  animation: load 1.5s 0.8s ease-out forwards;
}
.container-video #video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -1000;
  overflow: hidden;
  transform: translate(-50%, -50%) scale(1.05);
}

@keyframes load {
  100% {
    opacity: 1;
  }
}

/* =================================
見出し
================================= */
/* google fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');

.text {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #E6362D;
  font-family: "Roboto Mono", monospace;
  font-size: 3vw;
  font-weight: 700;
  text-transform: uppercase;
}

.text.is-active {
  --y: 0;
}


@media only screen and (max-width:767px) and (min-width:481px )  {
	.text{
		font-size:50px;
	}
}
@media only screen and (max-width:480px) {
	.text{
		font-size:40px;
	}
}



.char {
  display: inline-block;
  transform: translateY(var(--y, 110%));
  transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: calc(0.04s * var(--char-index));
}

.container {
  width: 100%;
  height: 30vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #3c3c3c;
}


.visuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.table-center {
  display: table;
  width: 100%;
  position: relative;
  height: 100%;
}
.table-center > div {
  display: table-cell;
  vertical-align: middle;
  position: relative;
  text-align: center;
}
.table-center > div p {
  color: #fff;
  text-shadow: 0 0px 5px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 10px;
  font-size: 3.5em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
	.table-center > div p{
		font-size: 2em;
	}
}

.table-center > div p {
  color: #fff;
  text-shadow: 0 0px 5px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 10px;
  font-size: 3.5em;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
	.table-center > div p{
		font-size: 2em;
	}
}

.m1 {
  font-size: 30px;
}
@media screen and (max-width: 768px) {
	.m1{
		font-size: 20px;
	}
}

.m2 {
  font-size: 25px;
}
@media screen and (max-width: 768px) {
	.m2{
		font-size: 15px;
	}
}


.parallax-box-1,
.parallax-box-7,.parallax-box-10 {
  clip-path: inset(0);
  width: 100%;
  height: 1600px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-2 {
  clip-path: inset(0);
  width: 100%;
  height: 2000px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-3 {
  clip-path: inset(0);
  width: 100%;
  height: 1400px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-4{
  clip-path: inset(0);
  width: 100%;
  height: 1300px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-5 {
  clip-path: inset(0);
  width: 100%;
  height: 1500px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-6{
  clip-path: inset(0);
  width: 100%;
  height: 1250px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-8{
  clip-path: inset(0);
  width: 100%;
  height: 1500px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-9{
  clip-path: inset(0);
  width: 100%;
  height: 4100px;
  box-sizing:border-box;
  color: #fff;
}

.parallax-box-1::after,.parallax-box-2::after,.parallax-box-3::after,.parallax-box-4::after,
.parallax-box-5::after,.parallax-box-6::after,.parallax-box-7::after,.parallax-box-8::after,
.parallax-box-9::after,.parallax-box-10::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
  width:100%;
  height:100%;
  background-size: cover;
}
.parallax-box-1::after {
  background-image: url( ../images/bg1.jpg );
}
.parallax-box-2::after {
  background-image: url( ../images/bg2.jpg );
}
.parallax-box-3::after {
  background-image: url( ../images/bg3.jpg );
}
.parallax-box-4::after {
  background-image: url( ../images/bg4.jpg );
}
.parallax-box-5::after {
  background-image: url( ../images/bg5.jpg );
}
.parallax-box-6::after {
  background-image: url( ../images/bg6.jpg );
}
.parallax-box-7::after {
  background-image: url( ../images/bg7.jpg );
}
.parallax-box-8::after {
  background-image: url( ../images/bg8.jpg );
}
.parallax-box-9::after {
  background-image: url( ../images/bg9.jpg );
}
.parallax-box-10::after {
  background-image: url( ../images/bg10.jpg );
}
@media screen and (max-width: 768px) {
  .parallax-box-1::after {
    background-image: url( ../images/bg1_sp.jpg );
  }
  .parallax-box-2::after {
    background-image: url( ../images/bg2_sp.jpg );
  }
  .parallax-box-3::after {
    background-image: url( ../images/bg3_sp.jpg );
  }
  .parallax-box-4::after {
    background-image: url( ../images/bg4_sp.jpg );
  }
  .parallax-box-5::after {
    background-image: url( ../images/bg5_sp.jpg );
  }
  .parallax-box-6::after {
    background-image: url( ../images/bg6_sp.jpg );
  }
  .parallax-box-7::after {
    background-image: url( ../images/bg7_sp.jpg );
  }
  .parallax-box-8::after {
    background-image: url( ../images/bg8_sp.jpg );
  }
  .parallax-box-9::after {
    background-image: url( ../images/bg9_sp.jpg );
  }
  .parallax-box-10::after {
    background-image: url( ../images/bg10_sp.jpg );
  }
}


	
.reflection{
display:inline-block;
position:relative;
overflow:hidden;
border-radius: 35px;
}
 
.reflection:after {
content:"";
height:100%;
width:30px;
position:absolute;
top:-180px;
left:0;
background-color: #fff;
opacity:0;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 2s ease-in-out infinite;
}
 
@keyframes reflection {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.box_t {
	width: 768px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
	padding:20px;
	border:solid 2px #fff;
	border-radius: 25px;
}
