@charset "UTF-8";
/* ===================================================================
CSS information

file name  : first_load.css
author     : Abilive
style info : 最初に読むCSS
=================================================================== */
:root {
  --aaaaa: #748264;
  --bbbbb: #617e40;
}

/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.con_header {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}
.con_header .header {
  order: 0;
  position: relative;
}
.con_header[data-fv-type="image"] .header {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  right: 0;
}
.con_header[data-gnav-color="white"] {
  color: white;
}
.con_header[data-gnav-color="white"] a {
  color: white;
}
.con_header[data-gnav-color="white"] .gnav ul li.menu a span i {
  background-color: white;
}
.con_header[data-gnav-color="black"] {
  color: black;
}
.con_header[data-gnav-color="black"] a {
  color: black;
}
.con_header[data-gnav-color="black"] .gnav ul li.menu a span i {
  background-color: black;
}

.lower_fv_deco {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
  height: 0;
  width: 100%;
  position: relative;
  z-index: -1;
}
.lower_fv_deco::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  display: block;
  width: 100%;
  height: 14.28rem;
  background: url("../images/header/bg_under_fv.jpg") no-repeat center top/100% auto;
}
@media only screen and (max-width: 767px) {
  .lower_fv_deco::after {
    right: auto;
    width: 1000px;
    left: 50%;
    transform: translateX(-50%);
    height: 10em;
  }
}

.header {
  width: 100%;
}
.header .box_gnav {
  display: flex;
  width: 100%;
}
.header .box_gnav .box_h_logo {
  margin-left: 5rem;
}
@media only screen and (min-width: 768px) {
  .header .box_gnav .box_h_logo {
    padding-top: 1.42rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .box_gnav .box_h_logo {
    padding-top: 1.34rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header .box_gnav .box_h_logo {
    margin-left: 3.57rem;
    padding-top: 1.42rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .box_gnav .box_h_logo {
    margin-left: 1.92rem;
    line-height: 1.2;
  }
}
.header .box_gnav .box_h_logo .fv_logo {
  width: 11.64rem;
}
.mouse .header .box_gnav .box_h_logo .fv_logo {
  transition: opacity 0.3s ease-in;
}
.mouse .header .box_gnav .box_h_logo .fv_logo:hover, .touch .header .box_gnav .box_h_logo .fv_logo.touchstart {
  opacity: 0.7;
}
.touch .header .box_gnav .box_h_logo .fv_logo {
  -webkit-tap-highlight-color: transparent;
}
.touch .header .box_gnav .box_h_logo .fv_logo.touchend {
  transition-delay: 200ms;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header .box_gnav .box_h_logo .fv_logo {
    width: 11.42rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .box_gnav .box_h_logo .fv_logo {
    width: 10.57rem;
  }
  #homepage .header .box_gnav .box_h_logo .fv_logo {
    width: 9.73rem;
  }
}
.header .box_gnav .box_h_logo .fv_logo a {
  text-decoration: none;
  display: block;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .header .box_gnav .box_h_logo .fv_logo a {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .header .box_gnav .box_h_logo .fv_logo a {
    text-align: left;
  }
}
.header .box_gnav .box_h_logo .fv_logo a img {
  height: auto;
}
.header .box_gnav .box_h_logo .fv_logo a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: url("../images/header/fv_logo_white.png") no-repeat center top/100% auto;
}
.header .box_gnav .box_h_logo .fv_logo a span {
  font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  font-size: 0.86rem;
}
.header.sticky_header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  background: #fff;
  z-index: 999;
  transform: translateY(-150%);
  transition: transform .3s ease-out, opacity .3s ease-out, box-shadow .3s ease-out;
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .header.sticky_header {
    background: transparent;
  }
}
@media only screen and (max-width: 767px) {
  .header.sticky_header .box_gnav {
    height: 0;
  }
}
.header.sticky_header .box_gnav .box_h_logo {
  padding-top: 0;
}
@media only screen and (max-width: 767px) {
  .header.sticky_header .box_gnav .box_h_logo {
    display: none;
  }
}
.header.sticky_header .box_gnav .box_h_logo .fv_logo {
  height: 100%;
  display: flex;
  align-items: center;
  width: 11.92rem;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.sticky_header .box_gnav .box_h_logo .fv_logo {
    width: 11.42rem;
  }
}
@media only screen and (min-width: 768px) {
  .header.sticky_header .box_gnav .gnav {
    height: 5.71rem;
  }
}
@media only screen and (max-width: 767px) {
  .header.sticky_header .box_gnav .gnav {
    height: 5rem;
  }
}
.header.sticky_header .box_gnav .gnav ul li.rsv {
  width: 16.07rem;
  color: #fff;
  align-items: center;
  align-content: center;
  display: flex;
  flex-wrap: wrap;
  border-radius: 0;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv {
    width: 12.85rem;
  }
}
.header.sticky_header .box_gnav .gnav ul li.rsv .lnk {
  height: auto;
  z-index: 1;
  width: 100%;
  line-height: 1;
  margin-top: 0.5em;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .lnk {
    font-size: 0.86rem;
  }
}
.header.sticky_header .box_gnav .gnav ul li.rsv .box_tel {
  border-top: 1px solid #414141;
  z-index: 1;
  height: auto;
  width: calc(200 / 225 * 100%);
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
  text-decoration: none;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: .5em 0;
  margin-top: .5em;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .box_tel {
    width: calc(210 / 225 * 100%);
  }
}
.header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .num {
  font-family: 'Cinzel', "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 400;
  letter-spacing: .05em;
  width: 100%;
  line-height: 1;
  text-align: center;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .num {
    font-size: 1.29rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .num {
    font-size: 1rem;
  }
}
.header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .num i {
  margin-right: 0.1em;
}
@media only screen and (min-width: 768px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .num i {
    font-size: 1.07rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .num i {
    margin-right: 0;
    font-size: 0.86rem;
  }
}
.header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .text {
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .text {
    font-size: 0.71rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.sticky_header .box_gnav .gnav ul li.rsv .box_tel .text {
    font-size: 0.57rem;
  }
}
.parts_sticky .header.sticky_header {
  opacity: 1;
  transform: translateY(0);
}
.header.menu_header {
  width: auto;
  margin-right: 0;
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
}
@media only screen and (max-width: 767px) {
  .header.menu_header {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    width: auto;
  }
}
.header.menu_header .box_gnav {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .header.menu_header .box_gnav .gnav {
    height: 5.71rem;
  }
}
@media only screen and (max-width: 767px) {
  .header.menu_header .box_gnav .gnav {
    height: 5rem;
  }
}
.header.menu_header .box_gnav .gnav ul li.rsv {
  width: 16.07rem;
  color: #fff;
  align-items: center;
  align-content: center;
  display: flex;
  flex-wrap: wrap;
  border-radius: 0;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.menu_header .box_gnav .gnav ul li.rsv {
    width: 12.85rem;
  }
}
.header.menu_header .box_gnav .gnav ul li.rsv .lnk {
  height: auto;
  z-index: 1;
  width: 100%;
  line-height: 1;
  margin-top: 0.5em;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .lnk {
    font-size: 0.86rem;
  }
}
.header.menu_header .box_gnav .gnav ul li.rsv .box_tel {
  border-top: 1px solid #414141;
  z-index: 1;
  height: auto;
  width: calc(200 / 225 * 100%);
  margin-right: auto;
  margin-left: auto;
  display: flex;
  justify-content: center;
  text-decoration: none;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: .5em 0;
  margin-top: .5em;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .box_tel {
    width: calc(210 / 225 * 100%);
  }
}
.header.menu_header .box_gnav .gnav ul li.rsv .box_tel .num {
  font-family: 'Cinzel', "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 400;
  letter-spacing: .05em;
  width: 100%;
  line-height: 1;
  text-align: center;
  width: auto;
}
@media only screen and (min-width: 768px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .box_tel .num {
    font-size: 1.29rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .box_tel .num {
    font-size: 1rem;
  }
}
.header.menu_header .box_gnav .gnav ul li.rsv .box_tel .num i {
  margin-right: 0.1em;
}
@media only screen and (min-width: 768px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .box_tel .num i {
    font-size: 1.07rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .box_tel .num i {
    margin-right: 0;
    font-size: 0.86rem;
  }
}
.header.menu_header .box_gnav .gnav ul li.rsv .box_tel .text {
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .box_tel .text {
    font-size: 0.71rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .header.menu_header .box_gnav .gnav ul li.rsv .box_tel .text {
    font-size: 0.57rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header.menu_header .box_gnav {
    margin-bottom: 3em;
  }
}
@media only screen and (max-width: 767px) {
  .header.menu_header .box_gnav .gnav {
    height: 6.15rem;
  }
}
.header.menu_header .box_gnav .box_h_logo {
  margin-left: calc(120 / 1440 * 100%);
  margin-right: auto;
  padding-top: 0;
}
.header.menu_header .box_gnav .box_h_logo .fv_logo {
  height: 100%;
  width: 11.78rem;
  position: relative;
}
@media only screen and (max-width: 1024px) {
  .header.menu_header .box_gnav .box_h_logo .fv_logo {
    display: flex;
    align-items: center;
  }
}
@media only screen and (min-width: 1025px) {
  .header.menu_header .box_gnav .box_h_logo .fv_logo a {
    width: 100%;
    left: 0;
    top: 100%;
    position: absolute;
  }
}

#homepage .con_header[data-gnav-color="white"] .box_h_logo .fv_logo a img {
  opacity: 0;
}
#homepage .con_header[data-gnav-color="white"] .box_h_logo .fv_logo a::before {
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .box_h_logo_sp {
    margin-bottom: 1.92rem;
    margin-left: 1.92rem;
    margin-right: auto;
    display: flex;
    align-items: center;
  }
  .box_h_logo_sp .fv_logo {
    width: 11.53rem;
  }
}

.gnav {
  margin-right: 0;
  letter-spacing: .16rem;
  margin-left: auto;
  display: flex;
  align-items: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .gnav {
    height: 5.35rem;
  }
}
@media only screen and (max-width: 767px) {
  .gnav {
    height: 6.15rem;
  }
}
.gnav ul {
  display: flex;
  align-items: center;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  .gnav ul {
    font-size: 1.07rem;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .gnav ul {
    font-size: 1.04rem;
  }
}
.gnav ul li {
  height: 100%;
}
.gnav ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 .5em;
  text-decoration: none;
  height: 100%;
}
.gnav ul li a .inner {
  border-style: solid;
  border-width: 0;
  border-top-color: transparent;
  padding: .6em 0;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
}
.mouse .gnav ul li a:hover .inner, .touch .gnav ul li a.touchstart .inner {
  border-width: 1px 0 1px 0;
}
.touch .gnav ul li a {
  -webkit-tap-highlight-color: transparent;
}
.touch .gnav ul li a.touchend {
  transition-delay: 200ms;
}
.gnav ul li.menu {
  width: 8.57rem;
}
@media only screen and (max-width: 767px) {
  .gnav ul li.menu {
    width: 7.69rem;
  }
}
.gnav ul li.menu a {
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  padding: 0;
}
.gnav ul li.menu a .ic_adi {
  width: calc(60 / 120 * 100%);
  height: 18px;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .gnav ul li.menu a .ic_adi {
    width: calc(100 / 200 * 100%);
  }
}
.gnav ul li.menu a .ic_adi i {
  display: block;
  width: 100%;
  height: 1px;
  display: flex;
  align-items: center;
  background-color: black;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
}
.gnav ul li.menu a .ic_adi i:nth-child(1) {
  transform: translateY(-8px);
}
.gnav ul li.menu a .ic_adi i:nth-child(3) {
  transform: translateY(8px);
}
.gnav ul li.menu a .t {
  font-family: 'Cinzel', "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
  width: 100%;
  line-height: 1;
  margin-top: 0.5em;
}
.gnav ul li.menu.is-active a .ic_adi i:nth-child(1) {
  transform: rotate(20deg);
}
.gnav ul li.menu.is-active a .ic_adi i:nth-child(2) {
  opacity: 0;
}
.gnav ul li.menu.is-active a .ic_adi i:nth-child(3) {
  transform: rotate(-20deg);
}
.gnav ul li.rsv {
  overflow: hidden;
  background-color: #1b1b1b;
  border-bottom-left-radius: 0.35rem;
  width: 13.57rem;
  position: relative;
}
.gnav ul li.rsv::before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background-color: #414141;
  transition: .2s width linear .05s;
}
.gnav ul li.rsv:hover::before {
  content: "";
  right: auto;
  left: 0;
  width: 100%;
}
.gnav ul li.rsv a {
  width: 100%;
  color: #fff;
  z-index: 1;
  position: relative;
}
.gnav ul li[data-gnav-color="white"].menu a span i {
  background-color: white;
}
.gnav ul li[data-gnav-color="black"].menu a span i {
  background-color: black;
}
.gnav .box_h_tel {
  position: absolute;
  right: 0;
  top: 100%;
  width: 13.57rem;
  height: 4.28rem;
}
.gnav .box_h_tel a, .gnav .box_h_tel .tel {
  width: 100%;
  display: flex;
  justify-content: center;
  text-decoration: none;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  height: 100%;
}
.gnav .box_h_tel a .num, .gnav .box_h_tel .tel .num {
  font-family: 'Cinzel', "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 400;
  letter-spacing: .05em;
  width: 100%;
  line-height: 1;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .gnav .box_h_tel a .num, .gnav .box_h_tel .tel .num {
    font-size: 1.29rem;
  }
}
.gnav .box_h_tel a .num i, .gnav .box_h_tel .tel .num i {
  margin-right: 0.25em;
}
.gnav .box_h_tel a .text, .gnav .box_h_tel .tel .text {
  width: 100%;
  text-align: center;
  line-height: 1;
  margin-top: 0.25em;
}
@media only screen and (min-width: 768px) {
  .gnav .box_h_tel a .text, .gnav .box_h_tel .tel .text {
    font-size: 0.93rem;
  }
}

.wrp_kv {
  overflow: hidden;
  position: relative;
}

.con_kv {
  display: flex;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
.con_kv .slick-list {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.con_kv::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: calc(700 / 1440 * 100%);
}
@media only screen and (max-width: 767px) {
  .con_kv::after {
    padding-bottom: calc(970 / 750 * 100%);
  }
}
.con_kv .slide {
  width: 100%;
  position: relative;
}
.con_kv .slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.con_kv .slide::after {
  content: "";
  width: 100%;
  display: block;
  padding-bottom: calc(700 / 1440 * 100%);
}
@media only screen and (max-width: 767px) {
  .con_kv .slide::after {
    padding-bottom: calc(970 / 750 * 100%);
  }
}
.con_kv .slide img, .con_kv .slide picture {
  width: 100%;
  display: block;
  transition-duration: 0.05s !important;
}
.con_kv > .slide {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.con_kv > .slide:not(:first-child) {
  display: none;
  transform: translateX(-200%);
}
.con_kv .slick-dots {
  right: 5rem;
  bottom: 0.71rem;
  justify-content: flex-end;
  position: absolute;
}
@media only screen and (max-width: 767px) {
  .con_kv .slick-dots {
    right: 0;
    left: 0;
    bottom: 0.96rem;
  }
}
.con_kv .tmp_slick_arr {
  display: none !important;
}

.box_fv_lower {
  position: relative;
  order: 1;
}

.st_fv_lower {
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 1;
}
.st_fv_lower [lang="en"] {
  font-family: 'Cinzel', "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 400;
  text-transform: uppercase;
  display: block;
  text-align: center;
  line-height: 1;
}
.st_fv_lower [lang="ja"] {
  font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) {
  .st_fv_lower .l {
    font-size: 4.29rem;
  }
}
@media only screen and (max-width: 767px) {
  .st_fv_lower .l {
    font-size: 3.08rem;
  }
}
.st_fv_lower .s {
  padding-top: 1em;
}
@media only screen and (min-width: 768px) {
  .st_fv_lower .s {
    font-size: 1.29rem;
  }
}
@media only screen and (max-width: 767px) {
  .st_fv_lower .s {
    font-size: 1.15rem;
  }
}
.st_fv_lower[data-fv-type="plain"] {
  margin-right: auto;
  margin-left: auto;
  height: auto;
  position: relative;
  border-bottom: 1px solid #e1e1e1;
}
@media only screen and (min-width: 1025px) {
  .st_fv_lower[data-fv-type="plain"] {
    width: calc(1300 / 1440 * 100%);
    max-width: calc(1300px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .st_fv_lower[data-fv-type="plain"] {
    max-width: calc(1300px * ((16 + 1) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .st_fv_lower[data-fv-type="plain"] {
    width: calc(1320 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .st_fv_lower[data-fv-type="plain"] {
    width: calc(690 / 750 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .st_fv_lower[data-fv-type="plain"] {
    padding: 4.28rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .st_fv_lower[data-fv-type="plain"] {
    padding: 4rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .st_fv_lower[data-fv-type="plain"] [lang="en"] {
    font-size: 2.86rem;
  }
}
@media only screen and (max-width: 767px) {
  .st_fv_lower[data-fv-type="plain"] [lang="en"] {
    font-size: 2.31rem;
  }
}
@media only screen and (min-width: 768px) {
  .st_fv_lower[data-fv-type="plain"] [lang="ja"] {
    font-size: 1.29rem;
  }
}
@media only screen and (max-width: 767px) {
  .st_fv_lower[data-fv-type="plain"] [lang="ja"] {
    font-size: 0.92rem;
  }
}

.img_lower_fv {
  position: relative;
}
.img_lower_fv img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.img_lower_fv::after {
  content: "";
  width: 100%;
  display: block;
  padding-bottom: calc(520 / 1440 * 100%);
}
.img_lower_fv img {
  top: 50%;
  transform: translateY(-50%);
}
.img_lower_fv img.lazyloaded {
  height: 100%;
}
@media only screen and (min-width: 1441px) {
  .img_lower_fv::after {
    padding-bottom: 500px;
    padding-bottom: calc(470 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .img_lower_fv::after {
    padding-bottom: calc(620 / 750 * 100%);
  }
}

.topicpath {
  margin-right: auto;
  margin-left: auto;
  padding: 2em 0 2em 0;
  letter-spacing: 0.06em;
}
@media only screen and (min-width: 1025px) {
  .topicpath {
    width: calc(1300 / 1440 * 100%);
    max-width: calc(1300px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .topicpath {
    max-width: calc(1300px * ((16 + 1) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .topicpath {
    width: calc(1320 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .topicpath {
    width: calc(690 / 750 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .topicpath {
    font-size: 0.79rem;
  }
}
@media only screen and (max-width: 767px) {
  .topicpath {
    font-size: 0.77rem;
  }
}
@media only screen and (min-width: 768px) {
  .topicpath {
    margin-bottom: 3.57rem;
  }
}
@media only screen and (min-width: 1025px) {
  .topicpath {
    max-width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .topicpath {
    padding: .5em 0;
    padding: 2em 0;
  }
}
.topicpath ul {
  display: block;
  text-align: right;
}
.topicpath ul li {
  padding: 1em 0;
  display: inline;
  color: #748264;
}
@media only screen and (max-width: 767px) {
  .topicpath ul li {
    padding: .75em 0;
  }
}
.topicpath ul li a {
  text-decoration: none;
  color: inherit;
  color: #1b1b1b;
}
.topicpath ul li a span {
  padding-top: .25em;
  padding-bottom: .25em;
  border-bottom: 1px solid #748264;
}
.topicpath ul li:not(:last-child)::after {
  content: "-";
  padding: 0 .6em;
}

html {
  letter-spacing: 0;
}
@media only screen and (min-width: 768px) {
  html {
    line-height: calc(26 / 14);
  }
}
@media only screen and (max-width: 767px) {
  html {
    line-height: calc(50 / 26);
  }
}
@media only screen and (min-width: 1441px) {
  html {
    font-size: medium;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  html {
    font-size: calc(14 * 100vw / 1440);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  html {
    font-size: calc(14 * 100vw / 1024);
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: calc(26 * 100vw / 750);
  }
}

body {
  color: #1b1b1b;
  width: 100%;
  overflow-x: hidden;
}
body a {
  color: #1b1b1b;
  text-decoration: underline;
}
body a:hover {
  text-decoration: none;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
  line-height: 1;
}

body,
pre,
input,
textarea,
select {
  font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  font-weight: 400;
  color: #1b1b1b;
}

input,
select,
textarea {
  font-size: 100%;
}

* {
  box-sizing: border-box;
}

#abi_page {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
}

@media only screen and (min-width: 1025px) {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  body .view_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  body .view_pc {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .view_pc-tab,
  body .view_tab {
    display: none !important;
  }
}

svg {
  width: 1em;
}

img {
  width: 100%;
}
img.lazyload, img.lazyloading {
  opacity: 0;
  visibility: hidden;
}
img.lazyloaded {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out;
  height: auto;
}
img[loading=lazy] {
  width: 100%;
  height: auto;
}

.tmp_slider > .slide:not(:first-child) {
  display: none;
}

.tmp_bw1 {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .tmp_bw1 {
    width: calc(1300 / 1440 * 100%);
    max-width: calc(1300px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .tmp_bw1 {
    max-width: calc(1300px * ((16 + 1) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_bw1 {
    width: calc(1320 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .tmp_bw1 {
    width: calc(690 / 750 * 100%);
  }
}

.tmp_bw2 {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .tmp_bw2 {
    width: calc(1200 / 1440 * 100%);
    max-width: calc(1200px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .tmp_bw2 {
    max-width: calc(1200px * ((16 + 1) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_bw2 {
    width: calc(1200 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .tmp_bw2 {
    width: calc(650 / 750 * 100%);
  }
}

.tmp_bw3 {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .tmp_bw3 {
    width: calc(1000 / 1440 * 100%);
    max-width: calc(1000px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .tmp_bw3 {
    max-width: calc(1000px * ((16 + 1) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_bw3 {
    width: calc(1100 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .tmp_bw3 {
    width: calc(650 / 750 * 100%);
  }
}

.tmp_max_1920 {
  margin-right: auto;
  margin-left: auto;
  max-width: 1920px;
}

#contents {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
}

.hover_img_zooom {
  display: block;
}
.hover_img_zooom .zoom_target {
  overflow: hidden;
}
.hover_img_zooom .zoom_target img {
  transition: transform 0.2s ease-out;
}
.mouse .hover_img_zooom:hover .zoom_target img, .touch .hover_img_zooom.touchstart .zoom_target img {
  transform: scale(1.1);
}
.touch .hover_img_zooom {
  -webkit-tap-highlight-color: transparent;
}
.touch .hover_img_zooom.touchend {
  transition-delay: 200ms;
}
