@charset "UTF-8";

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-x: hidden;
}
.wrapper div, .wrapper span, .wrapper iframe, .wrapper h1, .wrapper h2, .wrapper h3, .wrapper h4, .wrapper h5, .wrapper h6, .wrapper p, .wrapper address, .wrapper img, .wrapper small, .wrapper strong, .wrapper sub, .wrapper sup, .wrapper dl,
.wrapper dt, .wrapper dd, .wrapper ol, .wrapper ul, .wrapper form, .wrapper label, .wrapper table, .wrapper caption, .wrapper tbody, .wrapper tfoot, .wrapper thead, .wrapper tr, .wrapper th, .wrapper td, .wrapper article,
.wrapper aside, .wrapper footer, .wrapper header, .wrapper menu, .wrapper nav, .wrapper section, .wrapper button, .wrapper video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 0;
  line-height: 0;
  vertical-align: baseline;
  background: transparent;
}
.wrapper article, .wrapper aside, .wrapper details, .wrapper figcaption, .wrapper figure, .wrapper footer, .wrapper header, .wrapper menu, .wrapper nav, .wrapper section {
  display: block;
}
.wrapper ol, .wrapper ul {
  list-style: none;
}
.wrapper :focus {
  outline: 0;
}
.wrapper table {
  border-collapse: collapse;
  border-spacing: 0;
}
.wrapper *, .wrapper *::before, .wrapper *::after {
  box-sizing: border-box;
}
.wrapper img {
  display: block;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
}
.wrapper svg, .wrapper video {
  width: 100%;
  height: auto;
}
/* ---------------------------------------------
  basic
--------------------------------------------- */
.wrapper a {
  text-decoration: none;
  transition: opacity 0.3s;
}
.wrapper a:hover {
  opacity: 0.6;
  transition: opacity 0.3s;
}
.wrapper {
  font-feature-settings: "palt";
  font-family: "Noto Serif JP", serif;
  width: 100%;
  color: #fff;
  background-color: #265694;
  padding-top: min(120 / 1920 * 100vw, 120px);
}
body:has(.company) .wrapper {
  background-color: #F2F2F2;
  min-height: calc(100svh - min(120 / 1920 * 100vw, 120px));
  display: flex;
  flex-direction: column;
}
.wrapper.en {
  font-family: "Noto Serif", serif;
}
body:has(.company) .container {
  flex: 1;
}
.wrapper .main {
  overflow: hidden;
}
.wrapper .sp_only {
  display: none !important;
}
/* ---------------------------------------------
  共通
--------------------------------------------- */
@media (max-width: 750px) {
  .wrapper {
    padding-top: min(96 / 750 * 100vw, 96px);
  }
  .wrapper .pc_only {
    display: none !important;
  }
  .wrapper .sp_only {
    display: block !important;
  }
}
/* ---------------------------------------------
  ヘッダー
--------------------------------------------- */
.wrapper .header {
  background-color: #000;
  padding: min(23.5 / 1920 * 100vw, 23.5px) 0;
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
}
.wrapper .header_inner {
  max-width: 1920px;
  margin-inline: auto;
  padding: 0 min(100 / 1920 * 100vw, 100px) 0 min(145 / 1920 * 100vw, 145px);
}
.wrapper .header_menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wrapper .header_logo {
  width: min(73 / 1920 * 100vw, 73px);
}
.wrapper .navMain_list {
  display: flex;
  gap: min(40 / 1920 * 100vw, 40px);
}
.wrapper .navMain_list li a {
  font-size: min(24 / 1920 * 100vw, 24px);
  line-height: 1;
  letter-spacing: 0.06em;
  color: #fff;
}
.wrapper .header_right {
  display: flex;
  align-items: center;
  gap: min(77 / 1920 * 100vw, 77px);
}
.wrapper .navLanguage {
  position: relative;
}
.wrapper .navLanguage_button {
  font-family: inherit;
  font-size: min(24 / 1920 * 100vw, 24px);
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  border: min(2 / 1920 * 100vw, 2px) solid #fff;
  border-radius: min(24 / 1920 * 100vw, 24px);
  width: min(165 / 1920 * 100vw, 165px);
  height: min(50 / 1920 * 100vw, 50px);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding-right: min(18 / 1920 * 180vw, 10px);
}
.wrapper .navLanguage::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: min(28 / 1920 * 100vw, 28px);
  cursor: pointer;
}
.wrapper .navLanguage_button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(15 / 1920 * 500vw, 15px);
  width: min(12 / 1920 * 100vw, 12px);
  height: min(12 / 1920 * 100vw, 12px);
  border-top: min(2 / 1920 * 100vw, 2px) solid #fff;
  border-right: min(2 / 1920 * 100vw, 2px) solid #fff;
  transform: rotate(135deg) translate(0, -50%);
  transition: transform 0.3s;
  transform-origin: top;
}
.wrapper .navLanguage.is-active .navLanguage_button::after {
  transform: rotate(-45deg);
}
.wrapper .navLanguage_body {
  position: absolute;
  bottom: max(-35 / 1920 * 100vw, -35px);
  translate: 0 100%;
  background-color: #fff;
  width: 100%;
  display: none;
  height: auto !important;
}
.wrapper .navLanguage_list {
  padding: min(20 / 1920 * 100vw, 20px) 0 min(20 / 1920 * 100vw, 20px) min(18 / 1920 * 100vw, 18px);
}
.wrapper .navLanguage_list a {
  font-size: min(24 / 1920 * 100vw, 24px);
  line-height: 2.5;
  letter-spacing: 0.04em;
  font-weight: 600;
  color: #000;
}
.wrapper .navLanguage_list li:nth-child(1) a {
  font-family: "Noto Serif JP", serif;
}
.wrapper .navLanguage_list li:nth-child(2) a {
  font-family: "Noto Serif", serif;
}
@media (max-width: 750px) {
  .wrapper .header {
    padding: min(15.5 / 750 * 100vw, 15.5px) 0;
  }
  .wrapper .header_inner {
    padding: 0 min(117 / 750 * 100vw, 117px) 0 min(30 / 750 * 100vw, 30px);
  }
  .wrapper .header_logo {
    width: min(65 / 750 * 100vw, 65px);
  }
  .wrapper .header_right {
    gap: min(44 / 750 * 100vw, 44px);
  }
  .wrapper .navLanguage_button {
    font-size: min(24 / 750 * 100vw, 24px);
    border-radius: min(27 / 750 * 100vw, 27px);
    width: min(203 / 750 * 100vw, 203px);
    height: min(56 / 750 * 100vw, 56px);
    padding-right: 0;
  }
  .wrapper .navLanguage_button::after {
    top: 55%;
    right: min(20 / 750 * 100vw, 20px);
    width: min(10 / 750 * 100vw, 10px);
    height: min(10 / 750 * 100vw, 10px);
  }
  .wrapper .navLanguage_body {
    bottom: max(-22 / 750 * 100vw, -22px);
  }
  .wrapper .navLanguage_list {
    padding: min(30 / 750 * 100vw, 30px) 0 min(30 / 750 * 100vw, 30px) min(23 / 750 * 100vw, 23px);
  }
  .wrapper .navLanguage_list a {
    font-size: min(25 / 750 * 100vw, 25px);
    line-height: 2;
  }
  /* ---------------------------------------------
    ハンバーガーメニュー、ドロワー
  --------------------------------------------- */
  .wrapper .hamburger {
    appearance: none;
    border: none;
    outline: none;
    cursor: pointer;
    z-index: 5;
    width: min(43 / 750 * 100vw, 43px);
    height: min(43 / 750 * 100vw, 43px);
    background-color: transparent;
    position: absolute;
    top: 50%;
    right: min(30 / 750 * 100vw, 30px);
    translate: 0 -50%;
    padding: 0;
  }
  .wrapper .hamburger_line {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: min(2 / 750 * 100vw, 2px);
    background-color: #fff;
    transition: transform 0.5s;
  }
  .wrapper .hamburger_line::before,
  .wrapper .hamburger_line::after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    transition: inherit;
  }
  .wrapper .hamburger_line::before {
    top: max(-15 / 750 * 100vw, -15px);
  }
  .wrapper .hamburger_line::after {
    top: min(15 / 750 * 100vw, 15px);
  }
  .wrapper .hamburger[aria-expanded="true"] .hamburger_line {
    background-color: transparent;
  }
  .wrapper .hamburger[aria-expanded="true"] .hamburger_line::before,
  .wrapper .hamburger[aria-expanded="true"] .hamburger_line::after {
    background-color: #fff;
    position: absolute;
  }
  .wrapper .hamburger[aria-expanded="true"] .hamburger_line::before {
    transform: rotate(45deg);
    top: 0;
  }
  .wrapper .hamburger[aria-expanded="true"] .hamburger_line::after {
    transform: rotate(-45deg);
    width: 100%;
    top: 0;
  }
  .wrapper .drawer {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4;
    overflow: hidden;
    width: 100vw;
    height: min(836 / 750 * 100vw, 836px);
    background-color: #000;
    transform: translateY(-100vh);
    transition: 0.5s;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  body.is-open .wrapper .drawer {
    transform: translateY(0);
    transition: 0.5s;
    opacity: 1;
    visibility: visible;
    pointer-events: visible;
    overflow: visible;
    padding: min(75 / 750 * 100vw, 75px) 0 min(64 / 750 * 100vw, 64px);
  }
  .wrapper .drawer_logo {
    width: min(143 / 750 * 100vw, 143px);
    margin-inline: auto;
  }
  body.is-open .wrapper .drawer_logo {
    width: min(143 / 750 * 100vw, 143px);
    margin-inline: auto;
  }
  .wrapper .drawerNav_list {
    display: flex;
    flex-direction: column;
    gap: min(52 / 750 * 100vw, 52px);
    margin: min(45 / 750 * 100vw, 45px) 0;
  }
  .wrapper .drawerNav_list li {
    width: 100%;
    text-align: center;
  }
  .wrapper .drawerNav_list li a {
    font-size: min(25 / 750 * 100vw, 25px);
    line-height: 1;
    letter-spacing: 0.06em;
    color: #fff;
  }
  .wrapper .navLanguage {
    width: fit-content;
    margin-inline: auto;
  }
  .wrapper .navLanguage::before {
    display: none;
  }
  body.is-open .wrapper .drawer_bg {
    visibility: visible;
    opacity: 0.8;
    transition: 0.5s;
  }
  .wrapper .drawer_bg {
    position: fixed;
    z-index: 3;
    width: 100vw;
    top: 0;
    right: 0;
    overflow: hidden;
    height: 100vh;
    background-color: #000;
    color: #fff;
    visibility: hidden;
    opacity: 0;
  }
}
/* ---------------------------------------------
  フッター
--------------------------------------------- */
.wrapper .footer {
  background-color: #141414;
}
.wrapper .footer_inner {
  max-width: 1920px;
  margin-inline: auto;
  padding: min(40 / 1920 * 100vw, 40px) 0;
}
.wrapper .footer_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 min(85 / 1920 * 100vw, 85px);
}
.wrapper .footer_logo {
  display: flex;
  align-items: center;
  width: min(73 / 1920 * 100vw, 73px);
}
.wrapper .footer_list {
  display: flex;
  gap: min(28 / 1920 * 100vw, 28px);
}
.wrapper .footer_list li a {
  font-size: min(26 / 1920 * 100vw, 26px);
  line-height: 1;
  font-weight: 400;
  color: #fff;
}
.wrapper .footer_copyright small {
  font-size: min(26 / 1920 * 100vw, 26px);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 400;
  color: #fff;
}
@media (max-width: 750px) {
  .wrapper .footer_inner {
    padding: min(50 / 750 * 100vw, 50px) 0;
  }
  .wrapper .footer_content {
    flex-direction: column;
    gap: min(30 / 750 * 100vw, 30px);
    padding: 0;
  }
  .wrapper .footer_list {
    gap: min(25 / 750 * 100vw, 25px);
  }
  .wrapper .footer_list li a {
    font-size: min(24 / 750 * 100vw, 24px);
    line-height: 1;
    color: #fff;
  }
  .wrapper .footer_right {
    gap: min(33 / 750 * 100vw, 33px);
  }
  .wrapper .footer_copyright small {
    font-size: min(17 / 750 * 100vw, 17px);
  }
}
/* ---------------------------------------------
  下層
--------------------------------------------- */
.wrapper .page_title {
  font-size: min(40 / 1920 * 100vw, 40px);
  line-height: 1.75;
  font-weight: 400;
  color: #000;
  text-align: center;
}
@media (max-width: 750px) {
  .wrapper .page_title {
    font-size: min(34 / 750 * 100vw, 34px);
  }
}