/* CSS Document */

/* ALL_setting
================================================== */
*{
	margin:0;
	padding:0;
	font-family: Noto Sans JP, sans-serif, monospace;
	font-size: 16px;
}

.clear{clear:both;}

html , body {
	min-height: 100%;
	height: auto;
	height: 100%;
}

#particles-js{ 
	position:absolute;
	z-index:2;
	width: 100%;
	height: 100%;
	display: inline-block;
	pointer-events: none;
}

.link_style{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.Bebas Neue{font-family: 'Bebas Neue', cursive;}
.wf-notosansjapanese { font-family: "Noto Sans JP"; }
.Josefin Sans Regular, Semibold {font-family: 'Josefin Sans', sans-serif;}
.Satisfy{font-family: 'Satisfy', cursive;}

.pc{ display: inherit!important; }
.sp{ display: none!important; }
@media screen and (max-width: 699px){
.pc{ display: none!important; }
.sp{ display: inherit!important; }
}

/* Loading:CSS
================================================== */

#loader {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 999;
  background-color: white;
}

#loading-text {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  color: #000;
  width: 100px;
  height: 30px;
  margin: -7px 0 0 -45px;
  text-align: center;
  font-family: 'PT Sans Narrow', sans-serif;
  font-size: 20px;
}

#loading-content {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 170px;
  height: 170px;
  margin: -85px 0 0 -85px;
  border: 3px solid #F00;
}

#loading-content:after {
  content: "";
  position: absolute;
  border: 3px solid #0F0;
  left: 15px;
  right: 15px;
  top: 15px;
  bottom: 15px;
}

#loading-content:before {
  content: "";
  position: absolute;
  border: 3px solid #00F;
  left: 5px;
  right: 5px;
  top: 5px;
  bottom: 5px;
}

#loading-content {
  border: 3px solid transparent;
  border-top-color: #4D658D;
  border-bottom-color: #4D658D;
  border-radius: 50%;
  -webkit-animation: loader 2s linear infinite;
  -moz-animation: loader 2s linear infinite;
  -o-animation: loader 2s linear infinite;
  animation: loader 2s linear infinite;
}

#loading-content:before {
  border: 3px solid transparent;
  border-top-color: #D4CC6A;
  border-bottom-color: #D4CC6A;
  border-radius: 50%;
  -webkit-animation: loader 3s linear infinite;
    -moz-animation: loader 2s linear infinite;
  -o-animation: loader 2s linear infinite;
  animation: loader 3s linear infinite;
}

#loading-content:after {
  border: 3px solid transparent;
  border-top-color: #84417C;
  border-bottom-color: #84417C;
  border-radius: 50%;
  -webkit-animation: loader 1.5s linear infinite;
  animation: loader 1.5s linear infinite;
    -moz-animation: loader 2s linear infinite;
  -o-animation: loader 2s linear infinite;
}

#fade {
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	-moz-background-size:cover;
	-webkit-background-size:cover;
	-o-background-size:cover;
	-ms-background-size:cover;
	width:100%;
	height:100%;
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 998;
}

@-webkit-keyframes loaders {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loader {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* scroll_icon_setting
================================================== */

/*スクロールダウン全体の場所*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
	position:fixed;
	z-index: 99;
	left:2%;
	bottom:10px;
    /*全体の高さ*/
	height:50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left:-22px;
	top: -40px;
    /*テキストの形状*/
	color: #000;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	transform: rotate(-90deg);
    text-transform: uppercase;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #000;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}

@media screen and (max-width: 699px){
	.scrolldown1{
		/*描画位置※位置は適宜調整してください*/
		position:fixed;
		z-index: 99;
		left:6%;
		bottom:14px;
		/*全体の高さ*/
		height:50px;
	}
}


/* scroll_animation_setting
================================================== */

.scroll_fade_in{
	opacity: 0;
}

.scroll_fade_up{
	opacity: 0;
}

.scroll_fade_down{
	opacity: 0;
}

.fadein {
    animation-name: fadeinanime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes fadeinanime{
	from {opacity: 0;}
	to {opacity: 1;}
}

.fadeup{
animation-name:fadeUpAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.fadedown{
animation-name:fadeDownAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
	transform: translateY(-50px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.fadeleft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

.faderight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}


/* Contents
================================================== */

.line_box{
	width: 100%;
	height: 100vh;
	position: absolute;
	margin: 0 auto 0;
	overflow: hidden;
	z-index: 2;
	display: inline-block;
	pointer-events: none;
}

.line_box_2{
	width: 100%;
	height: auto;
	position: relative;
	margin: 0 auto 0;
	overflow: hidden;
	z-index: 0;
	border-top: 60px solid #fff;
	border-bottom: 60px solid #fff;
}

.line_box_3{
	width: 100%;
	height: auto;
	position: relative;
	margin: 0 auto 0;
	overflow: hidden;
	z-index: 0;
	border-top: 60px solid #e2750f;
	border-bottom: 60px solid #e2750f;
}

.line_box_4{
	width: 100%;
	height: auto;
	position: relative;
	margin: 0 auto 0;
	overflow: hidden;
	z-index: 0;
	border-top: 60px solid #000;
}

#line_bg01 {
  position: absolute;
  left: -190%;
  top: 20%;
  width: 400%;
  height: 250px;
  transform: rotate(60deg);
  backface-visibility: hidden;
  
}
#line_bg01::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #e7e9f4;
}

#line_bg01.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 0ms;
}

#line_bg02 {
  position: absolute;
  left: -130%;
  top: 20%;
  width: 400%;
  height: 80px;
  transform: rotate(60deg);
  backface-visibility: hidden;
  
}
#line_bg02::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #e2750f;
}

#line_bg02.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 200ms;
}


#line_bg03 {
  position: absolute;
  left: -116%;
  top: 20%;
  width: 400%;
  height: 80px;
  transform: rotate(120deg);
  backface-visibility: hidden;
  
}
#line_bg03::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #fff;
}

#line_bg03.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 0ms;
}

#line_bg04 {
  position: absolute;
  left: -181.5%;
  top: 20%;
  width: 400%;
  height: 250px;
  transform: rotate(120deg);
  backface-visibility: hidden;
  
}
#line_bg04::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #fff;
}

#line_bg04.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 200ms;
}

#line_bg05 {
  position: absolute;
  left: -193.8%;
  top: 20%;
  width: 400%;
  height: 250px;
  transform: rotate(60deg);
  backface-visibility: hidden;
  
}
#line_bg05::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #e2750f;
}

#line_bg05.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 0ms;
}

#line_bg06 {
  position: absolute;
  left: -133.5%;
  top: 20%;
  width: 400%;
  height: 80px;
  transform: rotate(60deg);
  backface-visibility: hidden;
  
}
#line_bg06::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #e2750f;
}

#line_bg06.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 200ms;
}

#line_bg07 {
  position: absolute;
  left: -124%;
  top: 20%;
  width: 400%;
  height: 80px;
  transform: rotate(120deg);
  backface-visibility: hidden;
  
}
#line_bg07::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #333;
}

#line_bg07.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 0ms;
}

#line_bg08 {
  position: absolute;
  left: -189.5%;
  top: 20%;
  width: 400%;
  height: 250px;
  transform: rotate(120deg);
  backface-visibility: hidden;
  
}
#line_bg08::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #333;
}

#line_bg08.is-active::before {
  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation-delay: 200ms;
}



@keyframes line {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

#main_wrapper{
	width: 100%;
	height: 100vh;
	position: relative;
	z-index: 1;
	background-color: white;
}

.header_sp_logo{
	display: none;
}

.main_image_box{
	width: 100%;
}

.main_logo_box{
	margin: 0;
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%)
}

.main_catch_copy{
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 2em;
	text-align: center;
	padding-bottom: 4%;
	font-size: 1.8em;
}

.main_logo{
	width: 32%;
	margin: auto;
}

#main_image{
	background-image: url("../image/main_image.jpg");
	background-size: cover;
	background-position: center center;
	width: 100%;
	height: 100vh;
	background-attachment: fixed;
	opacity: 0;
	transition: all 2s ease 0s;
	transform: scale(1.8,1.8);
	-ms-overflow-style: none;
	scrollbar-width: none;
	overflow: hidden;
}

.main_image_fade{
	opacity: 1!important;
	transform: scale(1,1)!important;
}

#main_sub{
	width: 20%;
	position: absolute;
	bottom: 18%;
	right: 4%;
	opacity: 0;
	transition: all 1.4s ease 0s;
}

.main_sub_fade{
	opacity: 1!important;
	bottom: 10%!important;
}

#contents_wrapper{
	width: 100%;
	padding: 6% 0;
	background-color: #e7e9f4;
}

#contents_wrapper_2{
	width: 100%;
	padding: 5% 0;
	height: auto;
	position: relative;
	overflow: hidden;
}

#contents_wrapper_3{
	width: 100%;
	padding: 5% 0;
	height: auto;
	position: relative;
	overflow: hidden;
	background-color: black;
}

.cotents_title_style1{
	color: black;
	font-family: 'Bebas Neue', cursive;
	text-align: center;
	font-size: 6em;
	font-weight: bold;
	line-height: 0.9em;
}

.cotents_title_style1 span{
	font-family: 'Bebas Neue', cursive;
	text-align: center;
	font-size: 1em;
	color: #e2750f;
}

.cotents_title_style2{
	color: black;
	font-family: "Noto Sans JP";
	text-align: center;
	font-size: 0.8em;
}

.cotents_title_style3{
	color: #fff;
	font-family: 'Bebas Neue', cursive;
	text-align: center;
	font-size: 6em;
	font-weight: bold;
	line-height: 0.9em;
}

.cotents_title_style3 span{
	font-family: 'Bebas Neue', cursive;
	text-align: center;
	font-size: 1em;
	color: #e2750f;
}

.cotents_title_style4{
	color: #fff;
	font-family: "Noto Sans JP";
	text-align: center;
	font-size: 0.8em;
}

.contents_text_box_style1{
	margin: 1% auto;
	text-align: center;
	padding: 1% 0 5%;
}

.contents_text_style1{
	font-family: "Noto Sans JP";
	font-size: 2em;
	font-weight: bold;
	line-height: 1.4em;
	padding-bottom: 1.2%;
}

.contents_text_style2{
	font-family: "Noto Sans JP";
	font-size: 1em;
	line-height: 2em;
}

.contents_service_box{
	width: 70%;
	letter-spacing: -1em;
	margin: auto;
	padding: 1% 0;
}

.contents_service_box_style1{
	border:double 6px #000;
}
.contents_service_box_style1 {
	border: solid 1px #000;
	outline: solid 1px #000;
	outline-offset: 4px;
	margin: 2%;
	padding: 1% 2%;
	width: 41.6%;
	letter-spacing: normal;
	text-align: center;
	display: inline-block;
	font-family: "Noto Sans JP";
	font-size: 1.2em;
}



#video-area{
    position: fixed;
    z-index: -2;
    top: 0;
    right:0;
    left:0;
    bottom:0;
    overflow: hidden;
	display: inline-block;
	pointer-events: none;
}

#video {
    position: fixed;
    z-index: -2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    height: 56.25vw;
    min-height: 110%;
    min-width: 110%;
}

#video-area::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(0,0,0,0.2);
	background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}

.contents_company_box{
	padding: 2% 0;
	width: 40%;
	margin: auto;
	color: white;
	position: relative;
	z-index: 2;
}

.contents_company_table{
	display: table;
	width: 100%;
	border-top: 1px solid white;
	border-collapse: collapse;
}

.contents_company_table_row{
	display: table-row;
	border-bottom: 1px solid white;
}

.contents_company_table_cell{
	display:table-cell;
	padding: 2% 2%;
}

.contents_company_table_cell_style1{
	width: 20%;
	font-size: 1.2em;
}

.contents_company_table_cell_style2{
	width: 80%;
	font-size: 1.2em;
}

.access_map{
	width: 100%;
	height: 500px;
	position: relative;
	margin: 2% 0;
}

.access_map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.access_data{
	width: 1100px;
	margin: 0 auto;
	padding: 40px 0 20px;
	color: white;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
	position: relative;
	z-index: 2;
}

.access_data_lbl{
	width: 100%;
	font-size: 1.4em;
	padding-bottom: 1%;
}

.access_data_add{
	width: 550px;
	line-height: 2em;
}

.access_data_access{
	width: 500px;
	line-height: 2em;
}

.contents_contact_box{
	position: relative;
	z-index: 1;
	width: 50%;
	border: 1px solid #fff;
	padding: 3% 3%;
	display: table;
	margin: 4% auto;
	background-color: black;
}

.contents_contact_box:hover{
	opacity: 0.8;
}

.contents_contact_box_style1{
	color: white;
	display: table-cell;
	font-family: 'Bebas Neue', cursive;
	font-size: 4em;
	line-height: 0.4em;
}

.contents_contact_box_style1 span{
	line-height: 0.4em;
	
}

.contents_contact_box_style2{
	color: white;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	font-size: 1.2em;
}

.footer_wrapper{
	background-color: black;
	text-align: center;
	color: white;
	font-family: "Noto Sans JP";
	font-size: 1em;
	padding: 1% 0;
}

/* MENU_setting
================================================== */
.menu_box_wrapper2{
	width: 100%;
	height: auto;
	position: fixed;
	z-index: 99;
	top: -10%;
	overflow: hidden;
	background-color: #fff;
	opacity: 1;
	transition: all 1s ease 0s;
}

.menu_box_fade{
	opacity: 1!important;
	top: 0%!important;
}

.menu_box_wrapper{
	width: 100%;
	height: auto;
	margin: auto;
	z-index: 99;
	padding: 1% 0;
	letter-spacing: -1em;
}

.menu_box_wrapper.m_fixed{
	position: fixed!important;
	z-index: 999;
	top:-10%;
	bottom: auto!important;
	left:0;
	animation:show 1s both;
}

.menu_logo{
	width: 100%;
	margin: 0 0% 0 0;
	vertical-align: middle;
}



@keyframes show {
	0% {
		top:-10%;
	}
	100% {
		top:0%;
	}
}

.menu_box{
	text-align: right;
	width: 75%;
	padding: 0.5% 4% 0 1%;
	letter-spacing: normal;
	display: inline-block;
	vertical-align: middle;
}

.menu_box_left{
	width: 12%;
	padding: 0 1% 0 4%;
	letter-spacing: normal;
	display: inline-block;
	vertical-align: middle;
}

.menu_box ul{
	margin:0;
	padding:0;
}

.menu_box ul li{
	list-style: none;
	display: inline-block;
	padding:0 2%;
}

.menu_box ul li a{
	text-decoration: none;
	color: #000200;
	font-size: 1.4em;
	font-family: 'Bebas Neue', cursive;
	letter-spacing: 3px;
	vertical-align: top;
}

.menu_box ul li a:hover{
	opacity: 0.7;
}


/* Smartphone_setting
================================================== */

@media screen and (max-width: 699px){

	.header_sp_logo{
		width: 40%;
		position: absolute;
		top: 0;
		z-index: 3;
		padding: 6%;
	}

	.line_box{
		width: 100%;
		height: 100vh;
		position: absolute;
		margin: 0 auto 0;
		overflow: hidden;
		z-index: 2;
		display: inline-block;
		pointer-events: none;
	}

	.line_box_2{
		width: 100%;
		height: auto;
		position: relative;
		margin: 0 auto 0;
		overflow: hidden;
		z-index: 0;
		border-top: 60px solid #fff;
		border-bottom: 60px solid #fff;
	}

	.line_box_3{
		width: 100%;
		height: auto;
		position: relative;
		margin: 0 auto 0;
		overflow: hidden;
		z-index: 0;
		border-top: 60px solid #e2750f;
		border-bottom: 60px solid #e2750f;
	}

	.line_box_4{
		width: 100%;
		height: auto;
		position: relative;
		margin: 0 auto 0;
		overflow: hidden;
		z-index: 0;
		border-top: 60px solid #000;
	}

	#line_bg01 {
	  position: absolute;
	  left: -235%;
	  top: 20%;
	  width: 400%;
	  height: 120px;
	  transform: rotate(60deg);
	  backface-visibility: hidden;

	}
	#line_bg01::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #e7e9f4;
	}

	#line_bg01.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 0ms;
	}

	#line_bg02 {
	  position: absolute;
	  left: -120%;
	  top: 20%;
	  width: 400%;
	  height: 50px;
	  transform: rotate(60deg);
	  backface-visibility: hidden;

	}
	#line_bg02::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #e2750f;
	}

	#line_bg02.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 200ms;
	}


	#line_bg03 {
	  position: absolute;
	  left: -160%;
	  top: 20%;
	  width: 600%;
	  height: 50px;
	  transform: rotate(120deg);
	  backface-visibility: hidden;

	}
	#line_bg03::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #fff;
	}

	#line_bg03.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 0ms;
	}

	#line_bg04 {
	  position: absolute;
	  left: -205%;
	  top: 20%;
	  width: 400%;
	  height: 120px;
	  transform: rotate(120deg);
	  backface-visibility: hidden;

	}
	#line_bg04::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #fff;
	}

	#line_bg04.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 200ms;
	}

	#line_bg05 {
	  position: absolute;
	  left: -220%;
	  top: 20%;
	  width: 400%;
	  height: 120px;
	  transform: rotate(60deg);
	  backface-visibility: hidden;

	}
	#line_bg05::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #e2750f;
	}

	#line_bg05.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 0ms;
	}

	#line_bg06 {
	  position: absolute;
	  left: -110%;
	  top: 20%;
	  width: 400%;
	  height: 50px;
	  transform: rotate(60deg);
	  backface-visibility: hidden;

	}
	#line_bg06::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #e2750f;
	}

	#line_bg06.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 200ms;
	}

	#line_bg07 {
	  position: absolute;
	  left: -124%;
	  top: 20%;
	  width: 400%;
	  height: 50px;
	  transform: rotate(120deg);
	  backface-visibility: hidden;

	}
	#line_bg07::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #333;
	}

	#line_bg07.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 0ms;
	}

	#line_bg08 {
	  position: absolute;
	  left: -210%;
	  top: 20%;
	  width: 400%;
	  height: 120px;
	  transform: rotate(120deg);
	  backface-visibility: hidden;

	}
	#line_bg08::before {
	  content: "";
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 0;
	  height: 100%;
	  background: #333;
	}

	#line_bg08.is-active::before {
	  animation: line 2s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
	  animation-delay: 200ms;
	}


	.main_logo{
		width: 40%;
		margin: auto;
	}

	.main_catch_copy{
		font-family: "Noto Sans JP";
		font-weight: bold;
		font-size: 1.2em;
		text-align: center;
		padding-bottom: 4%;
	}

	.cotents_title_style1{
		color: black;
		font-family: 'Bebas Neue', cursive;
		text-align: center;
		font-size: 4em;
		font-weight: bold;
		line-height: 0.9em;
		padding-top: 4%;
	}

	.cotents_title_style3{
		color: #fff;
		font-family: 'Bebas Neue', cursive;
		text-align: center;
		font-size: 4em;
		font-weight: bold;
		line-height: 0.9em;
		padding-top: 4%;
	}

	.cotents_title_style3 span{
		font-family: 'Bebas Neue', cursive;
		text-align: center;
		font-size: 1em;
		color: #fff;
	}

	.contents_text_style1{
		width: 80%;
		margin: auto;
		font-family: "Noto Sans JP";
		font-size: 1.4em;
		font-weight: bold;
		line-height: 1.4em;
		padding-top:2%;
		padding-bottom: 4%;
		text-align: left;
	}

	.contents_text_style2{
		width: 80%;
		margin: auto;
		font-family: "Noto Sans JP";
		font-size: 1em;
		line-height: 2em;
		text-align: left;
	}



	.contents_service_box_style1{
		border:double 6px #000;
	}
	.contents_service_box_style1 {
		border: solid 1px #000;
		outline: solid 1px #000;
		outline-offset: 4px;
		margin: 14px auto;
		padding: 6px;
		width: 90%;
		letter-spacing: normal;
		text-align: center;
		display: inline-block;
		font-family: "Noto Sans JP";
		font-size: 1.2em;
	}

	.contents_company_box{
		padding: 6% 0;
		width: 80%;
		margin: auto;
		color: white;
		position: relative;
		z-index: 2;
	}

	.contents_company_table_cell_style1{
		width: 40%;
		font-size: 1em;
	}

	.contents_company_table_cell_style2{
		width: 60%;
		font-size: 1em;
	}

	.access_data{
		width: 80%;
		margin: 0 auto;
		padding: 40px 0 20px;
		color: white;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		position: relative;
		z-index: 2;
	}

	.access_data_add{
		width: 100%;
		line-height: 2em;
		padding-bottom: 6%;
	}

	.access_data_access{
		width: 100%;
		line-height: 2em;
		padding-bottom: 6%;
	}

	.access_map{
		width: 100%;
		height: 500px;
		position: relative;
		margin: 2% 0 12%;
	}

	.contents_contact_box{
		position: relative;
		z-index: 1;
		width: 78%;
		border: 1px solid #fff;
		padding: 12% 6%;
		display: table;
		margin: 4% auto;
		background-color: black;
	}

	.contents_contact_box_style1{
		color: white;
		display: block;
		font-family: 'Bebas Neue', cursive;
		font-size: 4em;
		line-height: 0.6em;
		text-align: center;
		padding-bottom: 14px;
	}

	.contents_contact_box_style1 span{
		line-height: 1em;
	}

	.contents_contact_box_style2{
		color: white;
		display: block;
		text-align: left;
		vertical-align: middle;
		font-size: 1em;
	}

	.main_logo_box{
		margin: 0;
		position: absolute;
		z-index: 3;
		top: 50%;
		left: 50%;
		margin-right: -50%;
		transform: translate(-50%, -50%)
	}

}

