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

file name  : first_load.css
author     : Abilive
style info : 最初に読むCSS
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
/* ===================================================================
CSS information

file name  : default.css
author     : Abilive
style info : 汎用リセット記述
=================================================================== */
html,
article,
aside,
audio,
blockquote,
body,
dd,
dialog,
div,
dl,
dt,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
input,
li,
mark,
menu,
nav,
ol,
p,
pre,
section,
td,
textarea,
th,
time,
ul,
video,
main {
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q:after,
q:before {
  content: "";
}

embed,
object {
  vertical-align: top;
}

hr,
legend {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
}

abbr,
acronym,
fieldset,
img {
  border: 0;
}

li {
  list-style-type: none;
}

sup {
  vertical-align: super;
  font-size: 0.5em;
}

img {
  vertical-align: top;
}

i {
  font-style: normal;
}

svg {
  vertical-align: middle;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section,
main {
  display: block;
}

nav,
ul {
  list-style: none;
}

.topicpath {
  margin-right: auto;
  margin-left: auto;
  font-size: 0.83rem;
  position: relative;
  align-items: center;
  display: flex;
  justify-content: flex-end;
  padding-top: 6.66rem;
  padding-bottom: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .topicpath {
    width: calc(388 / 428 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .topicpath {
    width: calc(1360 / 1440 * 100%);
  }
}
.topicpath::before {
  content: "";
  background: var(--color-bg01);
  display: block;
  position: absolute;
  width: 2560px;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .topicpath {
    padding-top: 6.66rem;
    padding-bottom: 3.33rem;
  }
}
.topicpath ul {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.topicpath li {
  display: flex;
  align-items: center;
}
.topicpath li a {
  color: inherit;
  display: block;
}
.topicpath li:not(:last-child)::after {
  content: ">";
  display: block;
  padding: 0 1em;
}

#header {
  display: flex;
  flex-direction: column;
  position: relative;
  background: var(--color-bg01);
  --seo: calc(40 / 1440 * 100%);
  box-sizing: content-box;
}
@media only screen and (min-width: 768px) {
  #header {
    padding-top: var(--gnav-height);
  }
}
#header .txt_seo {
  margin-right: auto;
  margin-left: auto;
  font-weight: normal;
  color: #fff;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #header .txt_seo {
    width: calc(388 / 428 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  #header .txt_seo {
    width: var(--seo);
    position: absolute;
    bottom: 0;
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  #header .txt_seo {
    text-align: center;
    order: -2;
    min-height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
  }
}
#header .txt_seo span {
  color: #888;
}
@media only screen and (min-width: 768px) {
  #header .txt_seo span {
    font-size: 0.67rem;
  }
}
@media only screen and (max-width: 767px) {
  #header .txt_seo span {
    font-size: 0.82rem;
  }
}
@media only screen and (min-width: 768px) {
  #header .txt_seo span {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
    display: inline-block;
  }
}
@media only screen and (max-width: 767px) {
  #header .txt_seo span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.2;
    overflow: hidden;
  }
}
#header .con_top_kv {
  background: var(--color-bg04);
  color: #EFECE2;
  --en: #D0C9C3;
  position: relative;
}
#header .con_top_kv [class*="tmp_st"] {
  --bdc: #fff;
  color: inherit;
}
#header .con_top_kv .tmp_st_bd {
  --en: #D0C9C3;
}
#header .con_top_kv::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  display: block;
  height: 5rem;
  background: var(--color-bg01);
}
#header .con_top_kv .img_kv {
  position: relative;
}
@media only screen and (min-width: 768px) {
  #header .con_top_kv .img_kv {
    width: calc(1400 / 1440 * 100%);
    width: calc(100%  - var(--seo));
    margin-right: 0;
    margin-left: auto;
  }
}
#header .con_top_kv .img_kv .swiper-slide {
  border-radius: 1.66rem;
  overflow: hidden;
  width: 100%;
  position: relative;
  aspect-ratio: 1400 / 565;
}
@media only screen and (max-width: 767px) {
  #header .con_top_kv .img_kv .swiper-slide {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}
@media only screen and (max-width: 767px) {
  #header .con_top_kv .img_kv .swiper-slide {
    aspect-ratio: 428 / 367;
  }
}
#header .con_top_kv .img_kv .swiper-slide img {
  object-fit: cover;
  height: auto;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#header .con_top_kv .box_catch {
  background: var(--color-bg04);
  color: #EFECE2;
  --en: #D0C9C3;
  width: 49.58rem;
  z-index: 1;
  border-top-right-radius: 0.83rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-bottom: 1rem;
  min-height: 12.5rem;
}
#header .con_top_kv .box_catch [class*="tmp_st"] {
  --bdc: #fff;
  color: inherit;
}
#header .con_top_kv .box_catch .tmp_st_bd {
  --en: #D0C9C3;
}
@media only screen and (min-width: 768px) {
  #header .con_top_kv .box_catch {
    position: absolute;
    left: calc(var(--seo) - 1px);
    bottom: -1px;
  }
}
@media only screen and (max-width: 767px) {
  #header .con_top_kv .box_catch {
    padding-top: 3em;
    width: 100%;
  }
}
#header .con_top_kv .box_catch .inner {
  padding-top: 1.9rem;
  max-width: 90%;
}
@media only screen and (max-width: 767px) {
  #header .con_top_kv .box_catch .inner {
    padding-top: 0;
  }
}
#header .con_top_kv .box_catch .catch01 {
  font-size: 2.5rem;
  line-height: 1.3;
}
#header .con_top_kv .box_catch .catch02 {
  line-height: 1.4;
  margin-top: 1em;
  margin-bottom: 1.25em;
}
@media only screen and (min-width: 768px) {
  #header .con_top_kv .box_catch .catch02 {
    font-size: 1.17rem;
  }
}
@media only screen and (max-width: 767px) {
  #header .con_top_kv .box_catch .catch02 {
    font-size: 1.25rem;
  }
}
#header .con_top_kv .box_catch .tags {
  display: flex;
  flex-wrap: wrap;
}
#header .con_top_kv .box_catch .tags span {
  background-color: #3C2A24;
  color: #D0C9C3;
  display: block;
  height: 2.08rem;
  border-radius: 100px;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}
@media only screen and (min-width: 768px) {
  #header .con_top_kv .box_catch .tags span:not(:first-child) {
    margin-left: 0.83rem;
  }
}
@media only screen and (max-width: 767px) {
  #header .con_top_kv .box_catch .tags span {
    margin-top: 0.83rem;
    margin-right: 0.83rem;
  }
}
#header .con_lower_kv {
  padding-top: 4.16rem;
  position: relative;
}
#header .con_lower_kv::before {
  content: "";
  display: block;
  border-bottom-left-radius: 0.83rem;
  background: var(--color-bg04);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3.33rem;
  top: 0;
}
#header .con_lower_kv .kv_title {
  font-weight: normal;
  display: flex;
  z-index: 2;
  align-items: center;
  position: absolute;
  left: 0;
  top: 50%;
  right: 0;
  height: 0;
}
#header .con_lower_kv .kv_title .inner {
  width: calc(1180 / 1440 * 100%);
  margin-right: auto;
  margin-left: auto;
  color: var(--color-text02);
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 767px) {
  #header .con_lower_kv .kv_title .inner {
    width: 90%;
  }
}
#header .con_lower_kv .kv_title .inner .en {
  font-family: "EB Garamond", serif;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  font-size: 5.83rem;
  line-height: 1;
  order: -1;
  width: 100%;
  display: block;
}
@media only screen and (max-width: 767px) {
  #header .con_lower_kv .kv_title .inner .en {
    font-size: 4.4rem;
  }
}
#header .con_lower_kv .kv_title .inner .jp {
  font-size: 1.17rem;
  width: 100%;
  display: block;
}
.kv_type_text #header .con_lower_kv {
  padding-top: 0;
}
.kv_type_text #header .con_lower_kv::before {
  bottom: 0;
}
.kv_type_text #header .con_lower_kv .kv_title {
  min-height: 26.66rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .kv_type_text #header .con_lower_kv .kv_title {
    min-height: 21.66rem;
  }
}
#header .con_lower_kv .img_kv {
  margin-right: 0;
  margin-left: auto;
  width: calc(930 / 1440 * 100%);
  z-index: 1;
  position: relative;
}
#header .con_lower_kv .img_kv img {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
  height: auto;
  aspect-ratio: 1240 / 480;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  #header .con_lower_kv .img_kv img {
    aspect-ratio: 640 / 990;
  }
}

.gnav {
  width: 100%;
  display: flex;
  order: -1;
  --box-l: 23rem;
  --box-r: calc(100% - var(--box-l));
}
@media only screen and (min-width: 768px) {
  .gnav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: var(--color-bg01);
  }
}
@media only screen and (max-width: 767px) {
  .gnav {
    --box-l: 100%;
    padding-top: 0;
    padding-bottom: 1.13rem;
  }
}
.gnav > .inner {
  display: flex;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  width: calc(1360 / 1440 * 100%);
}
.gnav .box_l {
  margin-left: 0;
  margin-right: auto;
  display: flex;
  width: var(--box-l);
}
@media only screen and (max-width: 767px) {
  .gnav .box_l {
    align-items: center;
    justify-content: center;
  }
}
.gnav .box_l .logo {
  width: 10.41rem;
  margin-right: 1.25rem;
}
@media only screen and (max-width: 767px) {
  .gnav .box_l .logo {
    width: 12.5rem;
  }
}
.gnav .box_l .logo a {
  display: block;
  padding: 1em;
  margin: -1em;
}
.gnav .box_l .logo a img {
  height: auto;
  aspect-ratio: 125 / 27;
}
.gnav .box_l .banq {
  display: flex;
  flex-direction: column;
}
.gnav .box_l .banq .en {
  font-family: "EB Garamond", serif;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .gnav .box_l .banq .en {
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .gnav .box_l .banq .en {
    font-size: 1.8rem;
  }
}
.gnav .box_l .banq .jp {
  line-height: 1;
  margin-top: .25em;
}
@media only screen and (min-width: 768px) {
  .gnav .box_l .banq .jp {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .gnav .box_l .banq .jp {
    font-size: 1.2rem;
  }
}
.gnav .box_r {
  margin-right: 0;
  margin-left: auto;
  width: var(--box-r);
  display: flex;
  justify-content: flex-end;
}
.gnav .box_gnav {
  display: flex;
  flex-wrap: wrap;
}
.gnav .box_gnav > li {
  height: var(--gnav-inner-height);
  padding-top: var(--gnav-pt);
  padding-bottom: var(--gnav-pb);
  box-sizing: content-box;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .gnav .box_gnav > li.view_ctrl_css {
    display: none;
  }
}
@media only screen and (max-width: 1024px) {
  .gnav .box_gnav > li.view_ctrl_css {
    display: none;
  }
}
.gnav .box_gnav > li > .a {
  padding: 0 .7em;
  display: flex;
  align-items: center;
  text-decoration: none;
  line-height: 1.2;
  height: 100%;
}
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
  .gnav .box_gnav > li > .a {
    padding: 0 .5em;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1201px) and (max-width: 1299px) {
  .gnav .box_gnav > li > .a {
    padding: 0 .3em;
  }
}

.gnav .box_gnav > li > .a:not(.esc) .text {
  font-size: 0.92rem;
  padding-right: .25em;
  padding-left: .25em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-wrap: wrap;
  height: 100%;
}
.gnav .box_gnav > li > .a:not(.esc) .text::before {
  content: "";
  display: block;
  height: 3px;
  background-color: var(--color-cv02);
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  opacity: 0;
  transform: translateY(3px);
  transition-property: opacity, transform;
  transition-duration: .15s;
  transition-timing-function: ease-out;
}
.gnav .box_gnav > li > .a:not(.esc)[aria-current="page"] .text {
  color: var(--color-cv02);
}
.gnav .box_gnav > li > .a:not(.esc)[aria-current="page"] .text::before {
  opacity: 1;
  transform: translateY(0);
}
.mouse .gnav .box_gnav > li > .a:not(.esc):hover .text, .touch .gnav .box_gnav > li > .a:not(.esc).touchstart .text {
  color: var(--color-cv02);
}
.mouse .gnav .box_gnav > li > .a:not(.esc):hover .text::before, .touch .gnav .box_gnav > li > .a:not(.esc).touchstart .text::before {
  opacity: 1;
  transform: translateY(0);
}
.touch .gnav .box_gnav > li > .a:not(.esc) {
  -webkit-tap-highlight-color: transparent;
}
.touch .gnav .box_gnav > li > .a:not(.esc).touchend {
  transition-delay: 200ms;
}
.gnav .box_gnav > li:focus-within .a + .box_mm {
  display: block;
}
.gnav .box_gnav > li:hover .a + .box_mm {
  display: block;
}
.gnav .box_gnav > li.btn_menu {
  display: flex;
  align-items: center;
  margin-left: 0;
  position: relative;
}
.gnav .box_gnav > li.btn_menu button {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.gnav .box_gnav > li.btn_menu button .inner {
  position: relative;
  display: block;
  width: 1.66rem;
  aspect-ratio: 20 / 9;
  margin-right: 0.83rem;
}
.gnav .box_gnav > li.btn_menu button .inner::after {
  content: "";
  width: 100%;
  display: block;
  padding-bottom: calc(11 / 44 * 100%);
}
.gnav .box_gnav > li.btn_menu button .inner > span {
  border-radius: 100px;
  display: block;
  background-color: black;
  padding-bottom: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 100%;
  transform-origin: 0 1px;
  transform: translate(-50%, 0);
  margin-right: 0.83rem;
}
.gnav .box_gnav > li.btn_menu button .inner > span.t {
  top: 0;
}
.gnav .box_gnav > li.btn_menu button .inner > span.m {
  transform: translate(-50%, 0);
}
.gnav .box_gnav > li.btn_menu button .inner > span.b {
  top: 100%;
}
.gnav .box_gnav > li.btn_menu button .text {
  font-family: "EB Garamond", serif;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  font-size: 92%;
  height: 100%;
}
.gnav .box_gnav > li.btn_menu button.is-active .inner > span.t {
  top: 50%;
  transform: rotate(20deg) translateX(calc(-50%));
}
.gnav .box_gnav > li.btn_menu button.is-active .inner > span.m {
  opacity: 0;
}
.gnav .box_gnav > li.btn_menu button.is-active .inner > span.b {
  top: 50%;
  transform: rotate(-20deg) translateX(calc(-50%));
}
@media only screen and (min-width: 1025px) and (min-width: 1201px) and (max-width: 1299px) {
  .gnav .box_gnav > li.btn_menu button {
    flex-direction: column;
    width: 4em;
  }
  .gnav .box_gnav > li.btn_menu button .inner {
    margin-right: 0;
    margin-bottom: 0;
    margin-top: auto;
  }
  .gnav .box_gnav > li.btn_menu button .text {
    height: auto !important;
    margin-bottom: auto;
    margin-top: .75em;
  }
}
@media only screen and (min-width: 1025px) {
  .mouse .gnav .box_gnav > li.btn_menu button:hover, .touch .gnav .box_gnav > li.btn_menu button.touchstart {
    opacity: 1 !important;
  }
  .mouse .gnav .box_gnav > li.btn_menu button:hover .inner span, .touch .gnav .box_gnav > li.btn_menu button.touchstart .inner span {
    background-color: var(--color-cv02) !important;
  }
  .mouse .gnav .box_gnav > li.btn_menu button:hover .text, .touch .gnav .box_gnav > li.btn_menu button.touchstart .text {
    color: var(--color-cv02) !important;
  }
  .touch .gnav .box_gnav > li.btn_menu button {
    -webkit-tap-highlight-color: transparent;
  }
  .touch .gnav .box_gnav > li.btn_menu button.touchend {
    transition-delay: 200ms;
  }
}
.gnav .box_gnav > li.btn_menu .text {
  color: var(--color-text04) !important;
}
.gnav .box_gnav > li.btn_menu .text::before {
  display: none !important;
}
.gnav .box_gnav > li.btn_tel a, .gnav .box_gnav > li.btn_tel .tel {
  font-size: 0.92rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-right: 2em;
  padding-left: 2em;
  height: 100%;
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  .gnav .box_gnav > li.btn_tel a, .gnav .box_gnav > li.btn_tel .tel {
    padding-right: 1em;
    padding-left: 1em;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1201px) and (max-width: 1299px) {
  .gnav .box_gnav > li.btn_tel a, .gnav .box_gnav > li.btn_tel .tel {
    padding-right: .75em;
    padding-left: .75em;
  }
}

.gnav .box_gnav > li.btn_tel a .text, .gnav .box_gnav > li.btn_tel .tel .text {
  margin-top: auto;
  padding-top: .25em;
  margin-bottom: 0;
  line-height: 1;
}
.gnav .box_gnav > li.btn_tel a .num, .gnav .box_gnav > li.btn_tel .tel .num {
  margin-bottom: auto;
  margin-top: .25em;
  line-height: 1;
}
.gnav .box_gnav > li.btn_tel a .num .n, .gnav .box_gnav > li.btn_tel .tel .num .n {
  font-family: "EB Garamond", serif;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  font-size: 1.42rem;
  line-height: 1;
}
.mouse .gnav .box_gnav > li.btn_tel a:hover, .touch .gnav .box_gnav > li.btn_tel a.touchstart {
  color: var(--color-cv02);
}
.touch .gnav .box_gnav > li.btn_tel a {
  -webkit-tap-highlight-color: transparent;
}
.touch .gnav .box_gnav > li.btn_tel a.touchend {
  transition-delay: 200ms;
}
.gnav .box_gnav > li.btn_cont {
  width: 14.16rem;
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  .gnav .box_gnav > li.btn_cont {
    width: 10.83rem;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  .gnav .box_gnav > li.btn_cont {
    width: 10.83rem;
  }
}
.gnav .box_gnav > li.btn_cont a {
  height: 100%;
  display: flex;
  border-radius: 0.83rem;
  justify-content: center;
  align-items: center;
  text-decoration: none !important;
  border: 2px solid var(--color-cv02);
  background-color: var(--color-cv02);
  color: #fff;
  transition-property: background-color, color;
  transition-duration: .15s;
  transition-timing-function: ease-out;
}
@media only screen and (min-width: 1441px) {
  .gnav .box_gnav > li.btn_cont a br {
    display: none;
  }
}
.gnav .box_gnav > li.btn_cont a .ic_mail {
  fill: white;
}
.gnav .box_gnav > li.btn_cont a .ic_mail svg {
  margin-right: 0.83rem;
  width: 1.5rem;
  aspect-ratio: 18 / 14;
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  .gnav .box_gnav > li.btn_cont a .ic_mail svg {
    width: 1.16rem;
    margin-right: 0.41rem;
  }
}
.gnav .box_gnav > li.btn_cont a svg {
  fill: #fff;
  transition-property: background-color, color;
  transition-duration: .15s;
  transition-timing-function: ease-out;
}
.mouse .gnav .box_gnav > li.btn_cont a:hover, .touch .gnav .box_gnav > li.btn_cont a.touchstart {
  background-color: #fff;
  color: var(--color-cv02);
}
.mouse .gnav .box_gnav > li.btn_cont a:hover svg, .touch .gnav .box_gnav > li.btn_cont a.touchstart svg {
  fill: var(--color-cv02);
}
.touch .gnav .box_gnav > li.btn_cont a {
  -webkit-tap-highlight-color: transparent;
}
.touch .gnav .box_gnav > li.btn_cont a.touchend {
  transition-delay: 200ms;
}

.box_mm {
  display: none;
}

.sp_sticky_nav {
  display: none;
}

:root {
  --color-base: #E5DED7;
  --color-sub01: #988984;
  --color-sub02: #BDB8B7;
  --color-main: #3C2A24;
  --color-text01: #FFFFFF;
  --color-text02: #EFECE2;
  --color-text03: #D0C9C3;
  --color-text04: #222222;
  --color-text05: #555555;
  --color-text06: #3C2A24;
  --color-text07: #65473D;
  --color-line: #D9D9D9;
  --color-cv01: #8FBAB9;
  --color-cv02: #00908C;
  --color-bg01: url("../images/common/bg01.jpg") #eee7e1 repeat center top;
  --color-bg02: url("../images/common/bg02.jpg") #c2b9b0 repeat center top;
  --color-bg03: url("../images/common/bg03.jpg") #f3f2ed repeat center top;
  --color-bg04: url("../images/common/bg04.jpg") #1c150f repeat center top;
  --color-bg05: url("../images/common/bg05.jpg") #ffffff repeat center top;
  --color-bg06: url("../images/common/bg06.jpg") #e5e1e0 repeat center top;
  --color-bg07-img: url("../images/common/bg_pack-pc.jpg");
  --color-bg07: var(--color-bg07-img) #c2b9b0 no-repeat center top/cover;
  --gnav-inner-height: 4.16rem;
  --gnav-pt: 1.66rem;
  --gnav-pb: 0.75rem;
  --gnav-height: calc(var(--gnav-inner-height) + var(--gnav-pt) + var(--gnav-pb));
}
@media only screen and (max-width: 767px) {
  :root {
    --color-bg07-img: url("../images/common/bg_pack-sp.jpg");
  }
}

@media only screen and (min-width: 768px) {
  html {
    line-height: calc(24 / 12);
  }
}
@media only screen and (max-width: 767px) {
  html {
    line-height: calc(28 / 14);
  }
}
@media only screen and (min-width: 1441px) {
  html {
    font-size: calc(14 / 16 * 100%);
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  html {
    font-size: calc((12 + 1) / 16 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  html {
    font-size: calc(12 / 16 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  html {
    font-size: calc((12 - 0) / 16 * 100%);
  }
}
@media only screen and (min-width: 897px) and (max-width: 1024px) {
  html {
    font-size: calc((12) / 16 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 896px) {
  html {
    font-size: calc((12 - 2) / 16 * 100%);
  }
}

body {
  -webkit-text-size-adjust: none;
  color: var(--color-text04);
  width: 100%;
  overflow-x: hidden;
}
body a {
  color: inherit;
  text-decoration: underline;
}
body a:hover {
  text-decoration: none;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
  line-height: 1;
}
#homepage body {
  overflow: visible;
}
body .bg_cont {
  background-size: cover;
  height: calc(var(--vh) * 100);
  z-index: -1;
  background-repeat: no-repeat;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  right: 0;
  width: 100%;
  max-width: 2560px;
}
@media only screen and (min-width: 768px) {
  body:has(.con_f_cont.lazyloaded) .bg_cont {
    background-image: url("../images/footer/img_f-pc.jpg");
  }
}
@media only screen and (max-width: 767px) {
  body:has(.con_f_cont.lazyloaded) .bg_cont {
    background-image: url("../images/footer/img_f-sp.jpg");
  }
}

body,
pre,
input,
textarea,
select {
  font-family: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
}

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

* {
  box-sizing: border-box;
}

#abi_page {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  overflow: hidden;
}
#homepage #abi_page {
  overflow: visible;
}
@media only screen and (min-width: 768px) {
  #abi_page {
    font-size: 100% !important;
  }
}

#main_and_aside {
  background: var(--color-bg01);
}
@media only screen and (min-width: 768px) {
  .lower #main_and_aside #main > :first-child {
    padding-top: 6.66rem;
  }
}
@media only screen and (max-width: 767px) {
  .lower #main_and_aside #main > :first-child {
    padding-top: 4.33rem;
  }
}

@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;
  }
}

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;
}

svg, img[src*=".svg"] {
  width: 1rem;
  aspect-ratio: 1 / 1;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media only screen and (max-width: 767px) {
  .sp-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

button {
  background: none;
  border: none;
  border-radius: 0;
  appearance: none;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  cursor: pointer;
}

#svg_defs {
  display: none;
}

.jump_menu {
  display: none;
}

.js-swiper-wrp [class*=" js-swiper-"]:not(.swiper-initialized) .swiper-wrapper .swiper-slide:not(:first-child), .js-swiper-wrp [class^="js-swiper-"]:not(.swiper-initialized) .swiper-wrapper .swiper-slide:not(:first-child) {
  display: none;
}

.js-accordion + [data-accordion-target],
.accordion + [data-accordion-target],
.accordion_p + [data-accordion-target] {
  height: 0;
  overflow: hidden;
  transition: opacity 0.5s, height 0.5s;
}

.ls_anm {
  opacity: 0;
  transform: translateY(1rem);
  transition-property: opacity, transform;
  transition-duration: calc(1s);
  transition-delay: 1.5s;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
  transition-timing-function: cubic-bezier(0.39, 0.58, 0.57, 1);
}
.is-1st-scrolled .ls_anm.lazyloaded {
  opacity: 1;
  transform: translateY(0);
}

.ls_anm_grp [data-lsanm] {
  overflow: hidden;
  transition-duration: calc(1s);
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.39, 0.58, 0.57, 1);
  opacity: 0;
}
.ls_anm_grp [data-img-lsanm] {
  overflow: hidden;
}
.ls_anm_grp [data-img-lsanm] img {
  transition-duration: calc(1s);
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.39, 0.58, 0.57, 1);
  transform: scale(1.1);
  opacity: 0;
}
.is-1st-scrolled .ls_anm_grp.lazyloaded {
  --num: .5;
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm] img {
  opacity: 1;
  transform: scale(1);
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="0"] img {
  transition-delay: calc(0s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="1"] img {
  transition-delay: calc(1s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="2"] img {
  transition-delay: calc(2s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="3"] img {
  transition-delay: calc(3s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="4"] img {
  transition-delay: calc(4s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="5"] img {
  transition-delay: calc(5s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="6"] img {
  transition-delay: calc(6s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="7"] img {
  transition-delay: calc(7s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="8"] img {
  transition-delay: calc(8s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="9"] img {
  transition-delay: calc(9s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="10"] img {
  transition-delay: calc(10s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="11"] img {
  transition-delay: calc(11s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="12"] img {
  transition-delay: calc(12s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="13"] img {
  transition-delay: calc(13s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="14"] img {
  transition-delay: calc(14s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="15"] img {
  transition-delay: calc(15s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="16"] img {
  transition-delay: calc(16s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="17"] img {
  transition-delay: calc(17s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="18"] img {
  transition-delay: calc(18s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="19"] img {
  transition-delay: calc(19s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-img-lsanm="20"] img {
  transition-delay: calc(20s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm] {
  opacity: 1;
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="0"] {
  transition-delay: calc(0s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="1"] {
  transition-delay: calc(1s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="2"] {
  transition-delay: calc(2s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="3"] {
  transition-delay: calc(3s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="4"] {
  transition-delay: calc(4s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="5"] {
  transition-delay: calc(5s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="6"] {
  transition-delay: calc(6s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="7"] {
  transition-delay: calc(7s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="8"] {
  transition-delay: calc(8s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="9"] {
  transition-delay: calc(9s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="10"] {
  transition-delay: calc(10s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="11"] {
  transition-delay: calc(11s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="12"] {
  transition-delay: calc(12s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="13"] {
  transition-delay: calc(13s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="14"] {
  transition-delay: calc(14s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="15"] {
  transition-delay: calc(15s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="16"] {
  transition-delay: calc(16s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="17"] {
  transition-delay: calc(17s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="18"] {
  transition-delay: calc(18s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="19"] {
  transition-delay: calc(19s*var(--num));
}
.is-1st-scrolled .ls_anm_grp.lazyloaded [data-lsanm="20"] {
  transition-delay: calc(20s*var(--num));
}

.btn_slide {
  display: none;
}

.btn_sticky_banq {
  bottom: 7.91rem;
  display: flex;
  justify-content: center;
  position: absolute;
  z-index: 999;
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq {
    right: 2.5rem;
    bottom: 3.75rem;
    position: fixed;
  }
}
@media only screen and (max-width: 767px) {
  .btn_sticky_banq {
    left: 0;
    right: 0;
  }
}
.btn_sticky_banq a {
  display: block;
  text-decoration: none;
  position: relative;
  color: var(--color-text04);
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a {
    font-size: 0.92rem;
  }
}
@media only screen and (max-width: 767px) {
  .btn_sticky_banq a {
    font-size: 1.08rem;
  }
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a {
    width: 21.75rem;
    height: 6.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .btn_sticky_banq a {
    width: 32.41rem;
    height: 5.25rem;
  }
}
.btn_sticky_banq a > .inner {
  display: flex;
  position: relative;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .btn_sticky_banq a > .inner {
    width: 32.08rem;
    height: 5.25rem;
  }
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a > .inner {
    width: 21.25rem;
    height: 5.83rem;
  }
}
.btn_sticky_banq a > .inner .img {
  width: 6.08rem;
  margin-left: 1.41rem;
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a > .inner .img {
    width: 5.83rem;
  }
}
.btn_sticky_banq a > .inner .img img {
  border-radius: 0.41rem;
}
@media only screen and (max-width: 767px) {
  .btn_sticky_banq a > .inner .img img {
    aspect-ratio: 73 / 48;
  }
}
.btn_sticky_banq a > .inner .t {
  margin-left: 1.83rem;
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a > .inner .t {
    margin-left: 0.91rem;
    line-height: 1.4;
  }
}
.btn_sticky_banq a > .inner .t .ic2 {
  font-size: 75%;
  box-shadow: -0.25em 0.25em 1em rgba(0, 0, 0, 0.4);
  background-color: var(--color-text04);
  width: 3.33rem;
  color: #fff;
  aspect-ratio: 1;
  position: absolute;
  top: -0.42rem;
  left: -0.84rem;
  border-radius: 100px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn_sticky_banq a > .inner .t .ic2 .num {
  font-size: 134%;
}
.btn_sticky_banq a > .inner .t .ic {
  margin-left: 0.91rem;
  width: 1.41rem;
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a > .inner .t .ic {
    position: absolute;
    left: 80%;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 0;
  }
}
.btn_sticky_banq a > .inner .t .ic svg {
  aspect-ratio: 1;
  fill: #65473D;
}
.btn_sticky_banq a .bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 33.08rem;
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a .bg {
    width: 21.75rem;
  }
}
.btn_sticky_banq a .bg img {
  width: 100%;
  height: auto;
  aspect-ratio: 397 / 75;
}
@media only screen and (min-width: 768px) {
  .btn_sticky_banq a .bg img {
    aspect-ratio: 261 / 78;
  }
}
