@charset "UTF-8";
/*================
  basic
================*/
body.is-drawer-open {
  overflow: hidden;
}
#wrapper a {
  text-decoration: none;
  transition: all 300ms 0s ease;
}
#wrapper a:hover {
  opacity: 0.6;
  transition: all 300ms 0s ease;
}
#wrapper {
  font-family: "Noto Serif JP", serif;
  width: 100%;
  color: #000;
  background-color: #fff;
  padding-top: min(90 / 1206 * 100vw, 90px);
}
#wrapper .main {
  overflow: hidden;
}
#wrapper .sp_only {
  display: none !important;
}
/* ---------------------------------------------
  PC
--------------------------------------------- */
/*================
  ヘッダー
================*/
#wrapper .header {
  background-color: #000;
  padding: min(15 / 1206 * 100vw, 15px) 0;
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
}
#wrapper .header__inner {
  max-width: 1206px;
  margin-inline: auto;
  padding: 0 min(80 / 1206 * 100vw, 80px);
}
#wrapper .header__menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#wrapper .header__logo {
  width: min(141 / 1206 * 100vw, 141px);
}
#wrapper .header__menu-nav {
  margin-top: min(15 / 1206 * 100vw, 15px);
}
#wrapper .slicknav_menu {
  display: none;
}
#wrapper .header__menu-nav-list {
  display: flex;
  gap: min(40 / 1206 * 100vw, 40px);
}
#wrapper .header__menu-nav-list-item-link {
  font-size: min(16 / 1206 * 100vw, 16px);
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}
#wrapper .header__menu-right {
  display: flex;
  align-items: center;
  gap: min(32 / 1206 * 100vw, 32px);
}
#wrapper .header__menu-language {
  position: relative;
}
#wrapper .header__menu-language-head {
  font-size: min(16 / 1206 * 100vw, 16px);
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 18px;
  width: min(150 / 1206 * 100vw, 150px);
  height: min(35 / 1206 * 100vw, 35px);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
}
#wrapper .header__menu-language::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: min(28 / 1206 * 100vw, 28px);
}
#wrapper .header__menu-language-head::after {
  content: "";
  position: absolute;
  top: 60%;
  right: min(15 / 1206 * 100vw, 15px);
  width: min(10 / 1206 * 100vw, 10px);
  height: min(10 / 1206 * 100vw, 10px);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(-45deg) translate(0 ,-50%);
  transition: transform 0.3s;
  transform-origin: top;
}
#wrapper .header__menu-language.is-active .header__menu-language-head::after {
  transform: rotate(135deg);
}
#wrapper .header__menu-language-body {
  position: absolute;
  bottom: max(-28 / 1206 * 100vw, -28px);
  translate: 0 100%;
  background-color: #fff;
  width: 100%;
  display: none;
  text-align: left;
  height: auto !important;
}
#wrapper .header__menu-language-list {
  padding: min(20 / 1206 * 100vw, 20px) 0 min(20 / 1206 * 100vw, 20px) min(18 / 1206 * 100vw, 18px);
}
#wrapper .header__menu-language-list-item-link {
  font-size: min(16 / 1206 * 100vw, 16px);
  line-height: 2.5;
  letter-spacing: 0.04em;
  color: inherit;
}
#wrapper .header__menu-language-list li:nth-child(1) a {
  font-family: "Noto Sans", sans-serif;
}
#wrapper .header__menu-language-list li:nth-child(2) a {
  font-family: "Noto Sans", sans-serif;
}
#wrapper .header__menu-language-list li:nth-child(3) a {
  font-family: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}
#wrapper .header__menu-language-list li:nth-child(4) a {
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", Gulim, "Malgun Gothic", sans-serif;
}
#wrapper .header__menu-sns-list-item {
  width: min(35 / 1206 * 100vw, 35px);
}
#wrapper .hamburger {
  display: none;
}
/*================
  フッター
================*/
#wrapper .footer {
  background-color: #000;
}
#wrapper .footer__inner {
  max-width: 1206px;
  margin-inline: auto;
  padding: min(30 / 1206 * 100vw, 30px) min(80 / 1206 * 100vw, 80px);
}
#wrapper .footer__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#wrapper .footer__logo {
  display: flex;
  align-items: center;
  width: min(174 / 1206 * 100vw, 174px);
}
#wrapper .footer__content-right {
  display: flex;
  align-items: center;
  gap: min(22 / 1206 * 100vw, 22px);
}
#wrapper .footer__list {
  display: flex;
  gap: min(22 / 1206 * 100vw, 22px);
}
#wrapper .footer__list-item {
  width: min(35 / 1206 * 100vw, 35px);
}
#wrapper .footer__button {
  background-color: #b99b66;
}
#wrapper .footer__button-text {
  font-size: min(14 / 1206 * 100vw, 14px);
  line-height: 1;
  letter-spacing: 0.1em;
  color: inherit;
  padding: min(13.5 / 1206 * 100vw, 13.5px) min(27 / 1206 * 100vw, 27px);
  display: block;
}
#wrapper .footer__copyright {
  border-top: min(2 / 1206 * 100vw, 2px) solid #fff;
  text-align: center;
  padding: min(17 / 1206 * 100vw, 17px) 0;
}
#wrapper .footer__copyright-text {
  font-size: min(10 / 1206 * 100vw, 10px);
  line-height: 1;
  letter-spacing: 0.04em;
  color: #fff;
  word-spacing: 0;
}
#wrapper .footer__copyright-text-year {
  font-size: inherit;
}
/* ---------------------------------------------
  SP
--------------------------------------------- */
@media (max-width: 750px) {
  #wrapper {
    padding-top: min(90 / 750 * 100vw, 90px);
  }
  #wrapper .pc_only {
    display: none !important;
  }
  #wrapper .sp_only {
    display: block !important;
  }
  /*================
    ヘッダー
  ================*/
  #wrapper .header {
    padding: min(17 / 750 * 100vw, 17px) 0;
  }
  #wrapper .header__inner {
    padding: 0 min(117 / 750 * 100vw, 117px) 0 min(32 / 750 * 100vw, 32px);
  }
  #wrapper .header__menu-left {
    display: flex;
  }
  #wrapper .header__logo {
    width: min(201 / 750 * 100vw, 201px);
  }
  #wrapper .header__menu-nav {
    margin-top: 0;
  }
  #wrapper .header__menu-right {
    gap: min(44 / 750 * 100vw, 44px);
  }
  #wrapper .header__menu-language-head {
    font-size: min(24 / 750 * 100vw, 24px);
    border-radius: 27px;
    width: min(203 / 750 * 100vw, 203px);
    height: min(56 / 750 * 100vw, 56px);
  }
  #wrapper .header__menu-language-head::after {
    top: 55%;
    right: min(15 / 750 * 100vw, 15px);
    width: min(10 / 750 * 100vw, 10px);
    height: min(10 / 750 * 100vw, 10px);
  }
  #wrapper .header__menu-language-body {
    bottom: max(-17 / 750 * 100vw, -17px);
  }
  #wrapper .header__menu-language-list {
    padding: min(30 / 750 * 100vw, 30px) 0 min(30 / 750 * 100vw, 30px) min(23 / 750 * 100vw, 23px);
  }
  #wrapper .header__menu-language-list-item-link {
    font-size: min(25 / 750 * 100vw, 25px);
    line-height: 2;
  }
  #wrapper .header__menu-sns-list-item {
    width: min(45 / 750 * 100vw, 45px);
  }
  #wrapper .hamburger {
    appearance: none;
    border: none;
    outline: none;
    cursor: pointer;
    display: block;
    background: url(../img/hamburger_button_open.png) top/cover no-repeat;
    width: min(52 / 750 * 100vw, 52px);
    height: min(34 / 750 * 100vw, 34px);
    position: absolute;
    top: min(29 / 750 * 100vw, 29px);
    right: min(20 / 750 * 100vw, 20px);
    z-index: 5;
    padding: 0;
  }
  body.is-drawer-open #wrapper .hamburger {
    background: url(../img/hamburger_button_close.png) top/cover no-repeat;
    top: min(29 / 750 * 100vw, 29px);
    right: min(20 / 750 * 100vw, 20px);
  }
  #wrapper .drawer {
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0;
    overflow: hidden;
    height: 100vh;
    background-color: #000;
    width: 100vw;
    transform: translateY(-100vw);
    transition: 0.5s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  body.is-drawer-open #wrapper .drawer {
    transform: translateY(0vw);
    transition: 0.3s;
    opacity: 1;
    visibility: visible;
    pointer-events: visible;
  }
  #wrapper .drawer__nav {
    height: 100%;
  }
  #wrapper .drawer__nav-list {
    padding: min(77 / 750 * 100vw, 77px) min(40 / 750 * 100vw, 40px) 0;
  }
  #wrapper .drawer__nav-list-item {
    width: 100%;
    padding-left: min(5 / 750 * 100vw, 5px);
    text-align: left;
  }
  #wrapper .drawer__nav-list-item:not(:last-of-type) {
    border-bottom: 1px solid #fff;
  }
  #wrapper .drawer__nav-list-link {
    font-size: min(40 / 750 * 100vw, 40px);
    line-height: 2.5;
    letter-spacing: 0.1em;
    color: #fff;
  }
  /*================
   フッター
  ================*/
  #wrapper .footer__inner {
    padding: min(20 / 750 * 100vw, 20px) min(40 / 750 * 100vw, 40px);
  }
  #wrapper .footer__logo {
    width: min(174 / 750 * 100vw, 174px);
  }
  #wrapper .footer__content-right {
    gap: min(33 / 750 * 100vw, 33px);
  }
  #wrapper .footer__list {
    gap: min(22 / 750 * 100vw, 22px);
  }
  #wrapper .footer__list-item {
    width: min(35 / 750 * 100vw, 35px);
  }
  #wrapper .footer__button-text {
    font-size: min(24 / 750 * 100vw, 24px);
    padding: min(10.5 / 750 * 100vw, 10.5px) min(17 / 750 * 100vw, 17px);
  }
  #wrapper .footer__copyright {
    border-top: min(2 / 750 * 100vw, 2px) solid #fff;
    padding: min(20 / 750 * 100vw, 20px) 0;
  }
  #wrapper .footer__copyright-text {
    font-size: min(14 / 750 * 100vw, 14px);
  }
}