/* 237074 */

@font-face {
 font-family: 'CherrySwash';
 font-display: swap;
 src: url("../fonts/CherrySwash-Regular.ttf") format('TrueType');
}
@font-face {
 font-family: 'SawarabiGothic';
 font-display: swap;
 src: url("../fonts/SawarabiGothic-Regular.ttf") format('TrueType');
}
@font-face {
 font-family: 'KiwiMaru';
 font-display: swap;
 src: url("../fonts/KiwiMaru-Regular.ttf") format('TrueType');
}

*,
*:before,
*:after { -webkit-box-sizing: inherit; box-sizing: inherit; }
html { -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 62.5%; color:#7d7d7d; }
body{margin:0;padding:0;position:relative;height: 100vh;display: flex;justify-content: center;align-items: center;flex-wrap: wrap;font-family: KiwiMaru, SawarabiGothic, Arial, Helvetica, sans-serif;}

.movie {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}

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

.arrows {
  width: 60px;
  height: 72px;
  position: absolute;
  left: 50%;
  margin-left: -30px;
  bottom: 10%;
}

.arrows path {
  stroke: #fff;
  fill: transparent;
  stroke-width: 2px;  
  animation: arrow 2s infinite;
  -webkit-animation: arrow 2s infinite; 
}

@keyframes arrow
{
0% {opacity:0}
40% {opacity:1}
80% {opacity:0}
100% {opacity:0}
}

@-webkit-keyframes arrow /*Safari and Chrome*/
{
0% {opacity:0}
40% {opacity:1}
80% {opacity:0}
100% {opacity:0}
}

.arrows path.a1 {
  animation-delay:-1s;
  -webkit-animation-delay:-1s; /* Safari 和 Chrome */
}

.arrows path.a2 {
  animation-delay:-0.5s;
  -webkit-animation-delay:-0.5s; /* Safari 和 Chrome */
}

.arrows path.a3 { 
  animation-delay:0s;
  -webkit-animation-delay:0s; /* Safari 和 Chrome */
}

#header_wrapepr{/*background: url(../img/top_bg.jpg) no-repeat;*/width:100%;background-size:100%;/*padding-bottom:40%;height:0;*/position:relative;}
#header_menu{margin:0 auto;padding:0;width:100%;max-width:1200px;}
#header_menu:after{display:block;content:" ";clear:both;}
#top_logo{display:block;background: url(../img/top_logo.png) no-repeat;width:300px;height:80px;float:left;background-size: contain;}
#menu_list{margin:0;padding:0;float: right;}
#menu_list li{list-style:none;float:left;height: 80px;line-height: 80px;}
#services{/*background: url(../img/services_link.png) no-repeat;*/width:200px;/*height:80px;*/display:inline-block;font-family: 'CherrySwash', cursive;font-size: 30px; color: #fff;text-decoration: none;text-align:center;}
#inquiry{/*background: url(../img/inquiry_link.png) no-repeat;*/width:200px;/*height:80px;*/display:inline-block;font-family: 'CherrySwash', cursive;font-size: 30px; color: #fff;text-decoration: none;text-align:center;}
#company{/*background: url(../img/company_link.png) no-repeat;*/width:200px;/*height:80px;*/display:inline-block;font-family: 'CherrySwash', cursive;font-size: 30px; color: #fff;text-decoration: none;text-align:center;}

.title_bg{width:100%;/*height:120px;*/background-color:#eee;position:relative;}

.t001:before{display:block;content:" ";clear:both;position:absolute;top:calc(-20vw + 1px);background: url(../img/t001.png) no-repeat;width:100%;background-size:100%;height:0;padding-bottom:20%;}
.t002:before{display:block;content:" ";clear:both;position:absolute;top:calc(-20vw + 1px);background: url(../img/t002.png) no-repeat;width:100%;background-size:100%;height:0;padding-bottom:20%;}
.t003:before{display:block;content:" ";clear:both;position:absolute;top:calc(-20vw + 1px);background: url(../img/t003.png) no-repeat;width:100%;background-size:100%;height:0;padding-bottom:20%;}
#bl_loadingGaugeMeter{transition : ease-in 0.2s;}
#bl_loading_img{width:80%;max-width:600px;}

.title_wrapper{width:100%;max-width:1200px;margin:0 auto;}
#services_title, #inquiry_title, #company_title{text-align:center;font-family: 'CherrySwash', cursive;font-size: 85px; color: #dfdfdf;position:relative;}
#services_title span, #inquiry_title span, #company_title span{color: #191970;position:absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align:center;font-size: 30px;text-shadow: 2px 2px 0 #eee, -2px 2px 0 #eee, -2px -2px 0 #eee, 2px -2px 0 #eee;letter-spacing: 15px;width: 100%;}

.content_wrapper{width:95%;max-width:1200px;margin:20px auto 100px;}
.content_wrapper:after{display:block;content:" ";clear:both;}
.content_wrapper p{line-height:200%;text-align:center;}
.p_class{color:#7d7d7d;font-size:21px;line-height:24px;margin:15px;}

.green_bk{width:100%;background-color:#191970;padding: 100px 0 150px;}
.green_bk p{color:#fff !important;}

#services_wrapper01{background: url(../img/services_wrapper01.png) no-repeat;width:46%;height:0;padding-bottom:21.35378323108384%;background-size:100%;margin:2%;float:left}
#services_wrapper02{background: url(../img/services_wrapper02.png) no-repeat;width:46%;height:0;padding-bottom:21.35378323108384%;background-size:100%;margin:2%;float:left}
#services_wrapper03{background: url(../img/services_wrapper03.png) no-repeat;width:46%;height:0;padding-bottom:21.35378323108384%;background-size:100%;margin:2%;float:left}
#services_wrapper04{background: url(../img/services_wrapper04.png) no-repeat;width:46%;height:0;padding-bottom:21.35378323108384%;background-size:100%;margin:2%;float:left}

.service_wrapper{opacity: 0;width:100%;border:2px solid #dfdfdf;border-radius:10px;margin:50px auto;padding:20px;box-sizing:border-box;max-width: 825px;}
.service_wrapper:after{display:block;content:" ";clear:both;}
.service_wrapper p{text-align:left;/*display: flex;*/ word-wrap: anywhere;font-size: 18px; line-height: 200%; margin: 0;padding: 10px;}
.service_title{text-align: center; display: block; font-size: 32px; padding: 0; margin: 0 auto 15px; line-height: 150%; background: #191970; color: #fff;}
.img_right img{width:100%;max-width: 320px; height: auto; float: right;padding:10px;}
.img_left img{width:100%;max-width: 320px; height: auto; float: left;padding:10px;}

.company_profile_list {list-style: none;margin: 0 auto;padding: 0;width: 95%;/*background: rgba(255,255,255,0.9);*/max-width: 640px;}
.company_profile_list li:after {content: " ";display: block;clear: both;}
.company_profile_list li {color: #fff;font-size: 24px;padding: 15px 0;border-bottom: 1px dotted #fff;line-height: 24px;}
.company_profile_list li select {height: 35px;  font-size: 18px;  margin-left: 10px;}
.company_profile_list li input {height: 35px;font-size: 18px;width: 100%;}
.company_profile_list_title {width: 24%;padding: 0 0 0 1%;float: left;text-align: right;}
.colon_space {width: 1%;float: left;}
.company_profile_list_content {width: 65%;padding: 0 0 0 2%;float: left;word-break: break-all;}
#inquery_submit {margin: 10px auto;padding: 10px;display: block;}
#form_textarea{width:100%;height:150px;resize: none;}

.company_line strong{font-size: 35px;}
.company_line{font-size: 21px;/*line-height:45px;margin:15px;*/float: left; width: 50%;margin-bottom:45px;}

#footer_wrapper{background-color:#262932;width:100%;}
#copyright{color:#fff;font-size:24px;padding:30px 0;text-align:center;}

#progress-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 0;
  height: 6px;
  animation: gaming 2s linear infinite;
}

  @keyframes gaming {
    /* 色の指定 */
    0% { background-color: Magenta; }
    33% { background-color: yellow; }
    66% { background-color: Cyan; }
    100% { background-color: Magenta; }
  }
  
#header_menu_sp{display:none}

#header_fixed_area{position: fixed;top: 0;width:100%;z-index: 1;background: rgba(25,25,112,.8);}

#top_logo-scroll{display:block;background: url(../img/top_logo-scroll.png) no-repeat;width:300px;height:80px;float:left;background-size: contain;}
#services-scroll{/*background: url(../img/services_link-scroll.png) no-repeat;*/width:200px;display:inline-block;font-family: 'CherrySwash', cursive;font-size: 30px; color: #191970;text-decoration: none;text-align:center;}
#inquiry-scroll {/*background: url(../img/inquiry_link-scroll.png) no-repeat ;*/width:200px;display:inline-block;font-family: 'CherrySwash', cursive;font-size: 30px; color: #191970;text-decoration: none;text-align:center;}
#company-scroll {/*background: url(../img/company_link-scroll.png) no-repeat ;*/width:200px;display:inline-block;font-family: 'CherrySwash', cursive;font-size: 30px; color: #191970;text-decoration: none;text-align:center;}
#header_fixed_area-scroll{position: fixed;top: 0;width:100%;background:rgba(255,255,255,.95);z-index: 3;}

#top_slide{background: url(../img/top_slide.png) no-repeat;display:none;position:fixed;right:20px;bottom:20px;width:50px;height:50px;z-index: 1;}

#se{position:absolute;top:-40px}
#in{position:absolute;top:-40px}
#co{position:absolute;top:-40px}

.video_wrap {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
.video_wrap #video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%,-50%);
  z-index: -1;
}
.video_wrap #video.sp_mov {
  max-height: 100%;
}




.container {
  width: 100%;
  height: 100%;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
}

.typingText {
	font-family: 'CherrySwash', cursive;
	font-size: 50px;
	color: white;
	text-align: center;
	text-shadow: 1px 1px 2px #000;
}

.typingText::after {
  content: "|";
  color: white;
  animation: blink 1s infinite;
}

iframe{border: 0px none; width: 50%; margin: 0px auto; display: block;float: right;}

@keyframes blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}



.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 10px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}

@media screen and (max-width: 480px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 10px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 320px;
  display: block;
  letter-spacing: 0.05em;
  background: #5bc8ac;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}

#inquiry_form{display: none;}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn--green {
  color: #fff;
  background-color: #094;
}

a.btn--green:hover {
  color: #fff;
  background: #00a349;
}

a.btn--green.btn--cubic {
  border-bottom: 5px solid #00662d;
}

a.btn--green.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #00662d;
}

a.btn-c {
  font-size: 2rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
  border-radius: 100vh;
  display: block;
  margin: 0 auto;
  width: 320px;
  z-index: 2;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

a.btn-c:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}

/* ==========================
  ローディング画面
========================== */
#bl_loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #444;
  color: #fff;
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: 1s;
  z-index:99;
}
#bl_loadingPercentWrap {
  margin-bottom: 20px;
}
#bl_loadingGaugeWrap {
  width: 100%;
  height: 3px;
  background-color: #666;
}
#bl_loadingGaugeMeter {
  width: 0;
  height: 3px;
  background-color: #fff;
  display: block;
}

.anim-box.is-animated { animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards; }


.service_list{line-height: 32px;}
.service_list dt{font-size:20px;font-weight: bold;}
.service_list dd{font-size:18px;margin-left: 20px;}


@keyframes fadeup {
  0% {
    transform: translateY(100px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


@media screen and (max-width: 640px) {
	.company_profile_list_title{float:unset;width:100%;text-align: center;background:#191970;color:#fff;font-size:18px;padding:10px;box-sizing:border-box;}
	.company_profile_list_content{float:unset;width: 100%;padding: 10px;box-sizing: border-box;}
	.company_profile_list li{font-size:18px;padding:15px 0 0;}
	.company_profile_list li select{margin: 0 auto;display: block;}
	.company_profile_list li input{display: block; width: 100%; margin: 5px auto;}
	#form_textarea{display: block; width: 100%; margin: 5px auto;}
	.service_wrapper{margin: 30px auto;}
	.t001:before{background: url(../img/t001-s.png) no-repeat;background-size:100%;}
	.t002:before{background: url(../img/t002-s.png) no-repeat;background-size:100%;}
	.t003:before{background: url(../img/t003-s.png) no-repeat;background-size:100%;}
	.green_bk{padding: 50px 0 75px;}
}
@media screen and (max-width: 480px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
//    width: 160px;
    font-size: 16px;
  }
}

@media screen and (max-width: 1280px) {
	.company_line{/*font-size: 16px;*/line-height: 40px;float:unset;width: 100%;}
	iframe{width: 100%; margin: 0px auto; display: block;float: unset;}
	.content_wrapper p{line-height:250%;}
	.video_wrap { height: 64.25vw; }
}
@media screen and (max-width: 768px) {
  .video_wrap {
    height: 100vh;
  }
}
@media screen and (max-width: 413px) {
  .video_wrap #video.sp_mov {
    max-height: 111%;
  }
}

@media screen and (max-width:820px){
	.p_class{font-size:16px;line-height:24px;}
	.company_profile_list li{font-size:12px;}
	#copyright{font-size: 16px;}
	
	#header_menu{display:none;}
	#header_menu_sp{display:block;margin:0 auto;height: 40px;}
	#menu{display: none;margin: 0 auto;padding: 0;width: 100%;position: absolute; top: 40px;}
	#menu li{width: 100%;display: block;float: left;margin: 0;padding: 0;}
	#menu li a {background: rgba(0,0,0,0.8) none repeat scroll 0 0;color: #fff;display: block;padding: 10px 0 10px;text-align: center;text-decoration: none;border-top:solid 1px #666;font-size: 16px;}
	#menu li:hover {background:rgba(0,0,0,0.9);}
	
	#top_logo_sp{background: url(../img/top_logo.png) no-repeat;background-size:contain;display: block;position: absolute;width: 100%;top: 0; left: 0; height: 40px;text-decoration:none;}
	#toggle_menu{display: block;position: relative;padding: 12px 0 10px;color: #fff;text-align: center;text-decoration: none;position: absolute;right: 0;width: 40px;height: 40px;background: url(../img/menu_btn.png) no-repeat;text-decoration:none;}
	#toggle-scroll{background: url(../img/top_logo-scroll.png) no-repeat;background-size:contain;display: block;position: absolute;width: 100%;top: 0; left: 0; height: 40px;text-decoration:none;}
	#toggle-scroll_menu{display: block;position: relative;padding: 12px 0 10px;color: #fff;text-align: center;text-decoration: none;position: absolute;right: 0;width: 40px;height: 40px;background: url(../img/menu_btn-scroll.png) no-repeat;text-decoration:none;}
	
	.company_line strong{font-size:30px;}
	
	.service_title{font-size: 24px;}
	.content_wrapper p{line-height: 180%;}
	.service_wrapper p{padding:10px 0;font-size: 16px;}
	.p_class{font-size: 16px;margin: 10px 0; line-height: 200%;}
	#inq_text, #inq_text{font-size: 14px;}
	.service_list dd{font-size:16px;margin-left: 10px;}
}

@media screen and (max-width:600px){
	.img_right img, .img_left img{padding: 0;float:unset;max-width:none;}
	.company_line{font-size:18px;}
}

@media screen and (max-width:460px){
	#services_title , #inquiry_title , #company_title {font-size: 60px;}
	#services_title span, #inquiry_title span, #company_title span{font-size: 25px;}
	
	#services_wrapper01{float:unset;width:96%;margin:5% 2%;padding-bottom:44.56441717791411%}
	#services_wrapper02{float:unset;width:96%;margin:5% 2%;padding-bottom:44.56441717791411%}
	#services_wrapper03{float:unset;width:96%;margin:5% 2%;padding-bottom:44.56441717791411%}
	#services_wrapper04{float:unset;width:96%;margin:5% 2%;padding-bottom:44.56441717791411%}
	#copyright{font-size: 12px;}
}