@charset "utf-8";

.head_nav {
  width:100%;
  position:fixed;
  z-index:50001;
  padding-left:calc(100 / 1920 * 100%);
  display:flex;
  align-items:center;
  transition: all .5s;
}
.head_nav_in {
  width:100%;
  display:flex;
  justify-content: space-between;
  align-items:center;
}
#logo {
  width:300px;
  font-size:1px;
  line-height:1;
  margin:0;
}
#logo a {
  display:inline-block;
}
#logo img {
  margin:0;
  transition: all .5s;
}
#navi {
  width:calc(100% - 430px);
  display:flex;
  justify-content: flex-end;
}
#navi ul {
  list-style:none;
  padding:0;
  margin:0;
  width:100%;
  height:80px;
  display:flex;
  align-items:center;
}
#navi ul li {
  display:inline-block;
  padding:0 25px;
}
#navi ul li a,
#navi ul li a:hover {
  color:#fff;
}
.navi_sp {
  display:none;
}
@media screen and (max-width:1430px) {
  #navi ul li {
    padding:15px;
  }
}
@media screen and (max-width:1290px) {
  #navi ul li {
    padding:10px;
  }
  #navi ul li a {
    font-size:14px;
  }
}
@media screen and (max-width:1150px) {
  #navi ul li {
    padding:6px;
  }
}

.consult_btn {
  width:130px;
  height:80px;
  display:flex;
  flex-direction: column;
  flex-wrap:wrap;
  justify-content: center;
  align-items:center;
  color:#fff;
  background-color:#1F9C98;
  text-align:center;
  transition: all .5s;
}
.consult_btn img {
  margin-bottom:5px;
  transition: all .5s;
}
.consult_btn:hover {
  color:#fff;
  text-decoration: none;
  opacity:0.7;
}
.header_inner {
  width:100%;
  margin: 0 auto;
  text-align:center;
}
.head_caption {
  position:absolute;
  bottom:calc(140 / 1920 * 100vw);
  left:calc(180 / 1920 * 100%);
  line-height:1;
}
.head_cap1 {
  font-size:20px;
  line-height:3;
}
.head_cap1 .pc_fv {
  padding:0 0.5em;
}
.head_cap2,
.head_cap3 {
  font-size:40px;
  line-height:1;
}
.head_cap3>span {
  display:inline-block;
  font-size:70px;
  line-height:1;
  padding:20px;
  margin-right:20px;
  border:1px solid #fff;
}
.scroll_area {
  position:absolute;
  right:calc(115 / 1920 * 100vw);
  bottom:calc(150 / 1920 * 100vw);
}
.scroll_txt {
  position: absolute;
  top: -4.5em;
  left: 0;
  transform:translateX(-40%);
  color:#fff;
  font-size:18px;
  margin:0;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
}
.scroll_line {
  width:1px;
  height:80px;
  margin:0;
  background-color:rgba(150,150,150,0.7);
}
.scroll_line::after {
  content: '';
  display: block;
  position: absolute;
  bottom:0;
  left: 0;
  width: 1px;
  height:80px;
  background-color: #fff;
  animation-name: lineMove;
  animation-duration: 3s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}

@keyframes lineMove {
	0% {
		bottom: 80px;
		height: 0;
	}
	40% {
		bottom: 0;
		height: 80px;
	}
	80% {
		bottom: 0;
		height: 0;
	}
	100% {
		bottom: 0;
		height: 0;
	}
}

#navToggle .nav_txt {
  position:absolute;
  bottom:10px;
  margin:0;
  font-size:10px;
  color:#fff;
}

.white_menu {
  border-bottom:1px solid #BDBDC2;
  transition:none;
}
.head_nav.white_menu,
.openNav .head_nav {
  background-color:#fff;
  position:fixed;
}
.logo_wh {display:inline;}
.logo_nv {display:none;}
.openNav .logo_wh,
.white_menu .logo_wh {
  display:none;
}
.openNav .logo_nv,
.white_menu .logo_nv {
  display:inline;
}

.white_menu #navi ul li a,
.white_menu #navi ul li a:hover {
  color:#02052E;
}
.pc_slider {
  display:inline-block !important;
}
.sp_slider {
  display:none !important;
}
.pc_fv {
  display:inline-block !important;
}
.sp_fv {
  display:none !important;
}

@media screen and (max-width:1100px) {
  .head_nav {
    justify-content: space-between;
  }
  .openNav .head_nav {
    position: fixed;
  }
  #logo {
    width:166px;
  }
  .head_nav {
    padding-right:60px;
  }
  #navi {
    width:100%;
    height:100vh;
    overflow:auto;
    flex-direction: column;
    justify-content: flex-start;
    align-items:center;
    padding:0 0 100px;
    background-color:#02052E;
  }
  #navi ul {
    flex-wrap:wrap;
    height:auto;
    padding:30px 0 5px;
  }
  #navi ul li {
    width:100%;
    padding:0 10px 30px;
    border-bottom:none;
  }
  #navi ul li a {
    font-size:20px;
    line-height:1;
    text-align:center;
  }
  .white_menu #navi ul li a,
  .white_menu #navi ul li a:hover {
    color:#fff;
  }
  .navi_sp {
    width:100%;
    display:flex;
    flex-direction: column;
    align-items:center;
  }
  .navi_sp img {
    margin:0 15px 0 0;
  }
  .navi_sp a:hover {
    text-decoration: none;
  }
  .navi_sp a:hover img {
    opacity:1;
  }
  .navi_sp .form {
    width:100%;
    max-width:300px;
    background-color:#fff;
    font-size:16px;
    color:#010429;
    padding:23px 10px;
    margin-bottom:30px;
    text-align:center;
  }
  .navi_sp .tel {
    width:100%;
    max-width:300px;
    background-color:#02052E;
    font-size:16px;
    color:#fff;
    border:5px solid #fff;
    padding:23px 10px;
    text-align:center;
  }
  .navi_sp .form span,
  .navi_sp .tel span {
    vertical-align:text-top;
  }
  .consult_btn {
    width:60px;
    height:60px;
    font-size:10px;
  }
  .consult_btn img {
    width:18px;
  }
  .head_cap1 {
    font-size:16px;
    line-height:1.6;
    text-align:left;
  }
  .head_cap2,
  .head_cap3 {
    font-size:22px;
  }
  .head_cap3>span {
    font-size:35px;
  }
}
@media screen and (max-width:640px) {
  .head_caption {
    left:20px;
    bottom:55%;
    transform:translateY(50%);
  }
  .head_caption>span {
    line-height:1.8;
  }
  .scroll_area {
    bottom:50px;
  }
  .pc_fv { display:none !important;}
  .sp_fv { display:inline-block !important;}
}

/*************** 固定ページ ******************/
.jig_ruby {
  position:absolute;
  bottom:0;
  right:calc(105 / 1920 * 100vw);
  width:auto;
  height:calc(250 / 1920 * 100vw);
}
.page_ruby {
  position:absolute;
  bottom:0;
  right:calc(105 / 1920 * 100vw);
  width:auto;
  height:calc(105 / 1920 * 100vw);
}
.page_tit_w {
  position:absolute;
  bottom:calc(220 / 1920 * 100vw);
  left:calc((100vw - 1400px) / 2 + (100 / 1920 * 100vw));
}
.page_subtit {
  font-size:1.3vw;
  color:#fff;
  text-align:left;
}
.page_tit {
  font-size:3.125vw;
  color:#fff;
  text-align:left;
}


@media screen and (max-width:1420px) {
  .page_tit_w {
    left:calc((100 / 1920 * 100vw) + 20px);
  }
}

@media screen and (max-width:768px) {
  .jig_ruby {
    bottom:10px;
    right:0;
    height:calc(77 / 375 * 100vw);
  }
  .page_ruby {
    bottom:10px;
    right:0;
    height:calc(32 / 375 * 100vw);
  }
  .page_tit_w {
    bottom:25%;
  }
  .page_subtit {
    font-size:22px;
  }
  .page_tit {
    font-size:35px;
    line-height:1.4;
  }
}
