@charset "utf-8";
/* CSS Document */

	body{ font-family: noto-sans-cjk-jp, sans-serif; font-style: normal; color: #444444; font-weight: 500; padding: 0; margin: 0; }
	*{ margin: 0; padding: 0; }
	a:hover{ opacity: 0.7; }
	.wrapper a>img:hover{ opacity: 0.7; }
	#vismane .topnav{ display: flex; padding: 25px 0; width: 100%; position: fixed; top: 0; z-index: 999; }
	#vismane .topnav>div{ width: 1600px; margin: 0 auto; display: flex; justify-content: space-between; padding: 0 75px 0 100px; box-sizing: border-box; }
	#vismane .topnav ul{ display: flex; align-items: center; }
	#vismane .topnav ul li{ display: inline-block; font-size: 16px; padding: 0 15px; }
	#vismane .topnav ul li a{ color: #444444; text-decoration: none; }
	#vismane .topnav ul li a:hover{ opacity: 0.7; }
	#vismane .topdiv{ /*background: url('/images/new/topimg.jpg') center no-repeat; background-size: cover;*/ max-height: 1115px; width: 100%; position: relative; }
	#vismane .wrapper{ width: 1000px; margin: 0 auto; position: relative; }
	#vismane .topdiv h2>img{ margin-top: 200px; }
/*	#vismane .topdiv h3>img{ margin: 25px 0 0 315px; } */
	#vismane .topdiv .topbgextend>span{ display: flex; justify-content: start; margin-left: 290px; }
	#vismane .topdiv span.scrollbtn{ display: flex !important; justify-content: center; margin-left: 0 !important; margin-top: 50px; }
	#vismane .topdiv span img{ margin: 45px auto 0; display: flex; }
	#vismane .whitediv{ padding: 230px 0 150px; background-color: #fff; }
	#vismane .ttle{ text-align: center; font-weight: bold; font-size: 45px; line-height: 73px; }
	#vismane .whitediv .flxbx{ display: flex; justify-content: space-between; }
	#vismane .whitediv .flxbx p{ font-size: 20px; line-height: 35px; text-align: center; }
	#vismane .whitediv .flxbx span>img{ display: block; margin: 60px auto 25px; }
	#vismane .whitediv span.dotsarrwdwn>img{ display: block; margin: 90px auto 60px; }
	#vismane .whitediv h3{ font-style: bold; font-size: 48px; line-height: 59px; color: #f08221; text-align: center; }
	#vismane .orangediv{ background: #f08519; padding: 80px 0 75px; }
	#vismane .ttle2{ text-align: center; font-size: 50px; line-height: 60px; color: #fff; }
	#vismane .ttle2.orngeclr{ color: #f08519; margin-bottom: 65px; }
	#vismane .ttle2.orngeclr2{ color: #f08519; margin-bottom: 110px; }
	#vismane .bxnums{ display: flex; flex-wrap: wrap; justify-content: space-between; width: 815px; margin: 100px auto 70px; }
	#vismane .numdiv{ margin-bottom: 100px; padding-top: 140px; margin-top: -140px; }
	#vismane .numdiv_ttle{ display: flex; justify-content: flex-start; align-items: center; }
	#vismane .numdiv_ttle h2{ width: 700px; color: #fff; text-align: center; font-size: 40px; line-height: 55px; }
	#vismane .numdiv p{ margin: 20px auto 60px; color: #fff; text-align: center; font-size: 20px; line-height: 35px; font-weight: 100; }
	#vismane .numdiv span>img{ display: block; margin: 0 auto; }
	#vismane .numdiv p.p2{ margin-bottom: 0; }
	#vismane .whitegraydiv{ padding-top: 130px; }
	#vismane .whitegraydiv>div{ padding: 50px 0; position: relative; }
	#vismane .whitegraydiv .graybg{ background-color: #f6f6f6; }
	#vismane .whitegraydiv .whitebg{ background-color: #fff; }
	#vismane .whitegraydiv>div .arrwdwn{ position: absolute; bottom: -29px; display: flex; justify-content: center; width: 100%; z-index: 99; }
	#vismane .whitegraydiv>div .bgflxbx{ display: flex; width: 1000px; margin: 0 auto; justify-content: space-between; align-items: center; }
	#vismane .whitegraydiv>div .bgflxbx h3{ font-size: 30px; line-height: 45px; color: #f08519; display: flex; align-items: center; }
	#vismane .whitegraydiv>div .bgflxbx h3>span{ font-family: roboto, sans-serif; font-weight: bold; font-size: 60px; line-height: 52px; margin-right: 20px; }
	#vismane .whitegraydiv>div .bgflxbx p{ font-size: 20px; line-height: 35px; margin-top: 30px; max-width: 470px; }
	#vismane .whitegraydiv .graybg.last{ padding-bottom: 95px; }
	#vismane h3.txtabovebtn{ font-size: 30px; line-height: 60px; margin: 90px auto 35px; text-align: center; color: #fff; }
	#vismane .imgsteps>img{ margin-top: 50px; }
	#vismane .lastwhitediv{ padding: 150px 0; }
	#vismane .lastwhitediv .lastflxbx{ display: flex; justify-content: space-between; align-items: flex-start; }
	#vismane .lastwhitediv .lastflxbx p{ font-size: 20px; }
	#vismane .lastwhitediv .lastflxbx p.withbg{ font-size: 20px; line-height: 30px; color: #fff; background-color: #f08519; padding: 5px 10px; margin-bottom: 20px; }
	#vismane .lastwhitediv .lastflxbx h3{ font-size: 30px; line-height: 45px; color: #f08519; margin-bottom: 30px; }
	#vismane .lastwhitediv .lastflxbx p.normalp{ font-size: 20px; line-height: 35px; }
	#vismane .lastwhitediv .lastflxbx>div{ max-width: 450px; }
	#vismane .lastwhitediv .lastflxbx.mrgntp{ margin-top: 95px; }
	#vismane .iframediv{ background-color: #e8e8e8; width: 640px; margin: 90px auto 0; }
	#vismane .botiframe{ width: 100%; height: 1350px; }
	#vismane .ftr{ padding: 80px 0; }
	#vismane .ftr h2>img{ display: block; margin: 0 auto; }
	#vismane .ftr a{ font-size: 16px; display: block; text-align: center; margin: 35px auto 20px; color: #444444; text-decoration: none; }
	#vismane .ftr p.cpyrght{ font-size: 13px; text-align: center; font-weight: bold; color: #f08519; margin: 0; }
	#vismane .topdiv span>span{ font-size: 45px; font-weight: bold; padding: 30px 10px 30px 30px; background: rgba(255,255,255,0.9); color: #f08519; }
	.topbgextend{ display: flex; flex-direction: column; justify-content: flex-start; }
	#vismane .topdiv span.addpddng{ padding-right: 30px; }
	#vismane .ftr h2{ display: flex; }
	.bgextend{
		animation-name:bgextendAnimeBase;
		animation-duration:1s;
		animation-fill-mode:forwards;
		position: relative;
		overflow: hidden;/*　はみ出た色要素を隠す　*/
		opacity:0;
		margin-top: 20px;
	}

	@keyframes bgextendAnimeBase{
	  from {
		opacity:0;
	  }

	  to {
		opacity:1;  
	}
	}

	/*中の要素*/
	.bgappear{
		animation-name:bgextendAnimeSecond;
		animation-duration:1s;
		animation-delay: 0.6s;
		animation-fill-mode:forwards;
		opacity: 0;
	}

	@keyframes bgextendAnimeSecond{
		0% {
		opacity: 0;
		}
		100% {
		opacity: 1;
	}
	}

	/*左から右*/
	.bgLRextend::before{
		animation-name:bgLRextendAnime;
		animation-duration:1s;
		animation-fill-mode:forwards;
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		background-color: #fff;/*伸びる背景色の設定*/
	}
	@keyframes bgLRextendAnime{
		0% {
			transform-origin:left;
			transform:scaleX(0);
		}
		50% {
			transform-origin:left;
			transform:scaleX(1);
		}
		50.001% {
			transform-origin:right;
		}
		100% {
			transform-origin:right;
			transform:scaleX(0);
		}
	}

	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	.bgappearTrigger,
	.bgLRextendTrigger{
		opacity: 0;
	}
	span.smoothText {
	overflow: hidden;
	display: block;
	}

	/* アニメーションで傾斜がついている文字列を水平に戻す*/
	span.smoothTextTrigger{
		transition: .8s ease-in-out;
		transform: translate3d(0,100%,0) skewY(12deg);
		transform-origin: left;
		display: block;
	}
	span.smoothTextTrigger.smoothTextAppear{
		transform: translate3d(0,0,0) skewY(0);
	}
	h2 img.pc{ display: inline-block !important; }
	
	.video-container{ position: absolute; top: 0; width: 100%; overflow: hidden; }
	#bgvid{ width: 100%; height: auto; max-height: 1115px; min-width: 1750px; }
	
	#vismane .botgraybg{ font-size: 20px; color: #fff; padding: 10px 0; text-align: center; border-radius: 50px; margin-top: 40px; display: block; background-color: #bcbcbc; text-decoration: none; }
	#vismane .divimg02{ display: flex; /*justify-content: space-between;*/ justify-content: center; width: 855px; margin: 0 auto 37px; }
	#vismane .divimg02>div{ background-color: #fff; border-radius: 30px; padding: 55px 33px 75px; text-align: center; width: 400px; box-sizing: border-box; }
	#vismane .divimg02 .h3txt{ font-size: 40px; line-height: 52px; font-weight: 600; }
	#vismane .divimg02 .h2price{ font-size: 70px; line-height: 85px; color: #f08519; font-family: roboto, sans-serif; margin-top: 10px; }
	#vismane .divimg02 .h2price>span{ font-size: 30px; }
	#vismane .divimg02 .ptxt{ font-size: 13px; line-height: 25px; color: #444 !important; text-align: left; margin: 8px auto 0 !important; }
	#menu1, #menu2, #menu3, #menu4{ padding-top: 140px; margin-top: -140px; }
	
	.pc{ display: block !important; }
	.sp{ display: none !important; }
	@media screen and (max-width: 1165px){
		#vismane .topnav>div{ padding: 0 25px 0 50px; }
	}
	@media screen and (max-width: 800px){
		h2 img.pc{ display: none !important; }
		.pc{ display: none !important; }
		.sp{ display: inline-block !important; }
		#bgvid{ width: auto; min-width: unset; height: 100vh; }
		span>img, h2>img, a>img{ width: 100%; }
		#vismane .topnav{ display: none; }
		#vismane .wrapper{ width: 100%; }
		#vismane .whitediv .flxbx{ flex-direction: column; } 
		#vismane .numdiv_ttle{ flex-direction: column; }
		#vismane .whitegraydiv>div .bgflxbx{ flex-direction: column; width: 100%; }
		#vismane .iframediv{ width: 85%; }
		#vismane .numdiv_ttle h2{ width: 100%; }
		#vismane .topdiv .topbgextend>span{ margin-left: 8%; width: 100%; }
		#vismane .topdiv h2>img{ margin-top: 160px; }
		#vismane .topdiv span>span{ font-size: 24px; padding: 10px 0px 10px 15px; }
		#vismane .topdiv{ height: 100vh; } 
		#vismane .ttle{ font-size: 27px; line-height: 44px; }
		#vismane .whitediv .flxbx p{ font-size: 17px; line-height: 28px; }
		#vismane .whitediv h3{ font-size: 30px; line-height: 41px; }
		#vismane .ttle2{ font-size: 30px; line-height: 41px; }
		#vismane .whitediv{ padding: 50px 0; }
		#vismane .whitediv .flxbx span>img{ margin-top: 48px; }
		#vismane .bxnums{ width: 100%; justify-content: center; }
		#vismane .bxnums a{ flex-basis: 45%; }
		#vismane .numdiv_ttle h2{ font-size: 24px; line-height: 30px; }
		#vismane .numdiv p{ text-align: left; font-size: 19px; line-height: 30px; width: 90%; margin: 35px auto 40px; }
		.numdiv_ttle h2{ margin-top: 10px; }
		#vismane .numdiv p.p2{ font-size: 13px; line-height: 22px; margin-top: 20px; display: block !important; }
		#vismane .whitegraydiv{ padding-top: 80px; }
		#vismane .ttle2.orngeclr{ margin-bottom: 45px; }
		#vismane .whitegraydiv>div .bgflxbx h3{ margin: 0 auto; width: 90%; }
		#vismane .whitegraydiv>div .bgflxbx h3>span{ font-size: 35px; }
		#vismane .whitegraydiv>div .bgflxbx h3{ font-size: 24px; }
		#vismane .whitegraydiv>div .bgflxbx p{ font-size: 19px; line-height: 30px; width: 90%; margin: 20px auto 25px; }
		#vismane .whitegraydiv>div{ padding: 40px 0; }
		#vismane .whitegraydiv>div .arrwdwn{ bottom: -14px; }
		#vismane .whitegraydiv>div .bgflxbx h3>span{ margin-right: 15px; }
		#vismane .imgsteps>img{ margin-top: 40px; }
		#vismane h3.txtabovebtn{ font-size: 19px; line-height: 25px; margin: 25px auto 20px; }
		#vismane .lastwhitediv{ padding: 85px 0; }
		#vismane .lastwhitediv .lastflxbx{ flex-direction: column; width: 90%; margin: 0 auto; }
		#vismane .lastwhitediv .lastflxbx p.withbg{ font-size: 13px; line-height: 16px; margin-bottom: 12px; display: inline-block; }
		#vismane .lastwhitediv .lastflxbx h3{ font-size: 19px; line-height: 24px; margin-bottom: 13px; }
		#vismane .lastwhitediv .lastflxbx p.normalp{ font-size: 19px; line-height: 30px; margin-top: 10px; }
		#vismane .botgraybg{ display: block; margin-top: 50px; font-size: 16px; width: 50%; float: right; }
		#vismane .iframediv{ margin: 40px auto 80px; }
		#vismane .ftr{ padding: 40px 0 45px; }
		#vismane .ftr a{ margin: 8px auto 5px; font-size: 11px; }
		#vismane .ftr p.cpyrght{ font-size: 12px; }
		#vismane .ttle2.orngeclr2{ margin-bottom: 35px; }
		#vismane .lastwhitediv .lastflxbx.mrgntp{ margin-top: 65px; }
		#vismane .divimg02{ flex-direction: column; width: 100%; }
		#vismane .divimg02 .h3txt{ font-size: 27px; line-height: 37px; }
		#vismane .divimg02 .h2price{ font-size: 49px; line-height: 61px; }
		#vismane .divimg02 .h2price>span{ font-size: 22px; font-weight: normal; }
		#vismane .divimg02>div{ width: 80%; margin: 0 auto 40px; padding: 40px 20px; }
		#vismane .divimg02 .ptxt{ font-size: 12px; line-height: 23px; }
		#menu1, #menu2, #menu3, #menu4, #vismane .numdiv{ padding-top: 60px; margin-top: -60px; }
		

		#menuToggle:checked ~ .menuOpen .open:before,#menuToggle:checked ~ .menuOpen .open:after{ background-color: #f08221; }
		#vismane .open, #vismane .open:before, #vismane .open:after{ background-color: #fff; }
	}
#menuArea input {
  display: none;
}
	#menuArea{ position: fixed; z-index: 999; top: 0; }

.open {
  background-color: #f08221;
  width: 24px;
  height: 3px;
  display: block;
  cursor: pointer;
  position: relative;
  top: 8px;
}

.open:before {
  content: "";
  background-color: #f08221;
  width: 24px;
  height: 3px;
  display: block;
  position: relative;
  top: -8px;
  transform: rotate(0deg);
  transition: all 0.3s ease;
}

.open:after {
  content: "";
  background-color: #f08221;
  width: 24px;
  height: 3px;
  display: block;
  position: relative;
  top: 5px;
  transform: rotate(0deg);
  transition: all 0.3s ease;
}

.menuOpen {
  width: 24px;
  height: 20px;
  display: block;
  padding: 15px;
  cursor: pointer;
position: fixed;
	right: 0;
	z-index: 9999;
}

.menuOpen:hover .open:before {
  top: -9px;
}

.menuOpen:hover .open:after {
  top: 5px;
}

.menu {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background: #f08221;
}

.menu label {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 20px;
  top: 20px;
  background-size: 100%;
  cursor: pointer;
}

.menu .menuContent {
  position: relative;
  top: 11%;
  font-size: 20px;
  text-align: center;
  margin-top: 0;
}

.menu ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

.menu ul li a {
  display: block;
  color: white;
  text-decoration: none;
  transition: color 0.2s;
  font-family: Trebuchet MS;
  text-transform: uppercase;
  padding: 20px 0;
}

.menuEffects {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
}

.menuEffects ul {
  transform: translateY(0%);
  transition: all 0.5s;
}

#menuToggle:checked ~ .menuEffects {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s;
}

#menuToggle:checked ~ .menuEffects ul {
  opacity: 1;
}

#menuToggle:checked ~ .menuOpen .open {
  background-color: transparent;
}

#menuToggle:checked ~ .menuOpen .open:before {
  content: "";
  background-color: white;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

#menuToggle:checked ~ .menuOpen .open:after {
  content: "";
  background-color: white;
  transform: rotate(-45deg);
  position: relative;
  top: 0;
  right: 0;
  z-index: 1;
}

#menuToggle:not(:checked) ~ .menuEffects ul {
  transform: translateY(-30%);
}

.scrollbtn>a {
  padding-top: 60px;
	position: relative; 
}
.scrollbtn>a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 30px;
  height: 50px;
  margin-left: -15px;
  border: 2px solid #fff;
  border-radius: 50px;
  box-sizing: border-box;
}
.scrollbtn>a span::before {
  position: absolute;
  top: 10px;
  left: 50%;
  content: '';
  width: 6px;
  height: 6px;
  margin-left: -3px;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    -webkit-transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  80% {
    transform: translate(0, 20px);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}