@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: all 300ms 0s ease;
}
.wrapper a:hover {
  opacity: 0.6;
  transition: all 300ms 0s ease;
}
.wrapper {
  font-feature-settings: "palt";
  font-family: "Noto Serif JP", serif;
  width: 100%;
  color: #000;
  background-color: #fff;
  padding-top: min(126 / 1200 * 100vw, 126px);
}
.wrapper .main {
  overflow: hidden;
}
.wrapper .p_box {
  position: relative;
}
.wrapper .sp_only {
  display: none !important;
}
.grecaptcha-badge {
  visibility: hidden!important;
}
/* ---------------------------------------------
  共通
--------------------------------------------- */
@media (max-width: 750px) {
  .wrapper {
    padding-top: min(99 / 750 * 100vw, 99px);
  }
  .wrapper .pc_only {
    display: none !important;
  }
  .wrapper .sp_only {
    display: block !important;
  }
}
/* ---------------------------------------------
  ヘッダー
--------------------------------------------- */
.wrapper .header {
  padding: min(21 / 1200 * 100vw, 21px) 0;
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
  background-color: #fff;
}
.wrapper .header_inner {
  max-width: 1286px;
  margin-inline: auto;
  padding: 0 min(40 / 1200 * 100vw, 40px);
}
.wrapper .header_menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wrapper .header_left {
  display: flex;
  flex-direction: column;
  gap: min(22 / 1200 * 100vw, 22px);
}
.wrapper .header_logo {
  width: min(241 / 1200 * 100vw, 241px);
}
.wrapper .header_text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(18 / 1200 * 100vw, 18px);
  line-height: 1;
  font-weight: 400;
  color: #222;
}
.wrapper .header_text sup {
  font-family: inherit;
  font-size: min(10 / 1200 * 100vw, 10px);
  vertical-align: super;
}
.wrapper .header_button {
  width: min(296 / 1200 * 100vw, 296px);
}
.wrapper .header_button a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(36 / 1200 * 100vw, 36px);
  line-height: 1;
  letter-spacing: 0.12em;
  text-indent: 0.16em;
  font-weight: 400;
  color: #fff;
  text-align: center;
  background-color: #06c755;
  border-radius: 10px;
  padding: min(10 / 1200 * 100vw, 10px) 0;
  display: block;
}
@media (max-width: 750px) {
  .wrapper .header {
    padding: min(10 / 750 * 100vw, 10px) 0;
    border-bottom: min(4 / 750 * 100vw, 4px) solid #004498;
  }
  .wrapper .header_inner {
    padding: 0 min(30 / 750 * 100vw, 30px);
  }
  .wrapper .header_left {
    flex-direction: row;
    gap: min(22 / 750 * 100vw, 22px);
  }
  .wrapper .header_logo {
    width: min(123 / 750 * 100vw, 123px);
  }
  .wrapper .header_text {
    font-size: min(23 / 750 * 100vw, 23px);
    letter-spacing: -0.03em;
  }
  .wrapper .header_text sup {
    font-size: min(14 / 750 * 100vw, 14px);
  }
  .wrapper .header_button {
    width: min(147 / 750 * 100vw, 147px);
  }
  .wrapper .header_button a {
    font-size: min(26 / 750 * 100vw, 26px);
    line-height: 1.2;
    letter-spacing: 0;
    border-radius: 0;
    padding: min(16 / 750 * 100vw, 16px) 0;
  }
}
/* ---------------------------------------------
  フッター
--------------------------------------------- */
.wrapper .footer_bg {
  background-color: #000;
  padding: min(102 / 1200 * 100vw, 102px) 0 min(144 / 1200 * 100vw, 144px);
}
.wrapper .footer_inner {
  max-width: 1286px;
  margin-inline: auto;
  padding: 0 min(40 / 1200 * 100vw, 40px);
}
.wrapper .footer_content {
  display: flex;
  flex-direction: column;
  gap: min(54 / 1200 * 100vw, 54px);
}
.wrapper .footer_list {
  display: flex;
  gap: min(63 / 1200 * 100vw, 63px);
}
.wrapper .footer_list li {
  position: relative;
}
.wrapper .footer_list li:first-of-type::after {
  content: "｜";
  position: absolute;
  right: max(-30 / 1200 * 100vw, -30px);
  translate: 50% 0;
  width: 1px;
  height: min(23 / 1200 * 100vw, 23px);
  background-color: #a6c1ff;
}
.wrapper .footer_list li a {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(24 / 1200 * 100vw, 24px);
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: #a6c1ff;
}
.wrapper .footer_logo {
  display: flex;
  align-items: center;
  width: min(207 / 1200 * 100vw, 207px);
}
.wrapper .footer_copyright {
  max-width: 1200px;
  margin-inline: auto;
  background-color: #fff;
}
@media (max-width: 750px) {
  .wrapper .footer_bg {
    padding: min(41 / 750 * 100vw, 41px) 0 0;
  }
  .wrapper .footer_inner {
    padding: 0 min(40 / 750 * 100vw, 40px);
  }
  .wrapper .footer_content {
    gap: min(37 / 750 * 100vw, 37px);
  }
  .wrapper .footer_list {
    justify-content: center;
    gap: min(68 / 750 * 100vw, 68px);
  }
  .wrapper .footer_list li:first-of-type::after {
    right: max(-28 / 750 * 100vw, -28px);
    height: min(23 / 750 * 100vw, 23px);
  }
  .wrapper .footer_list li a {
    font-size: min(26 / 750 * 100vw, 26px);
  }
  .wrapper .footer_logo {
    width: min(207 / 750 * 100vw, 207px);
  }
}
/* ---------------------------------------------
  下層
--------------------------------------------- */
.wrapper .page {
  padding: min(100 / 1200 * 100vw, 100px) 0;
}
.wrapper .page_inner {
  max-width: 1280px;
  margin-inline: auto;
  padding: 0 min(40 / 1200 * 100vw, 40px);
}
.wrapper .page_title {
  text-align: center;
  padding-bottom: min(40 / 1200 * 100vw, 40px);
}
.wrapper .page_titleEn {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(20 / 1200 * 100vw, 20px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  display: block;
  padding-bottom: min(20 / 1200 * 100vw, 20px);
}
.wrapper .page_titleJa {
  font-size: min(62 / 1200 * 100vw, 60px);
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 700;
  border-top: min(2 / 1200 * 100vw, 2px) solid #000;
  width: fit-content;
  margin-inline: auto;
  padding-top: min(14 / 1200 * 100vw, 14px);
}
@media (max-width: 750px) {
  .wrapper .page {
    padding: min(130 / 750 * 100vw, 130px) 0 min(85 / 750 * 100vw, 85px);
  }
  .wrapper .page_inner {
    padding: 0 min(45 / 750 * 100vw, 45px);
  }
  .wrapper .page_title {
    padding-bottom: min(50 / 750 * 100vw, 50px);
  }
  .wrapper .page_titleEn {
    font-size: min(20 / 750 * 100vw, 20px);
    line-height: 2.5;
    padding-bottom: 0;
  }
  .wrapper .page_titleJa {
    font-size: min(62 / 750 * 100vw, 62px);
    line-height: 1.2;
    border-top: min(2 / 750 * 100vw, 2px) solid #000;
    width: 100%;
    padding-top: min(14 / 750 * 100vw, 14px);
  }
}