@charset "UTF-8";
*:focus:not(:focus-visible),
*::before:focus:not(:focus-visible),
*::after:focus:not(:focus-visible) {
  outline: none;
}

/* https://medium.com/@matuzo/writing-css-with-accessibility-in-mind-8514a0007939 */
.visually-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}

/* https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html */
.plain-list {
  list-style: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");
  padding-left: 0;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
html {
  -webkit-text-size-adjust: 100%;
}

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

h5, h6 {
  margin: 0;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

p {
  margin: 1em 0;
}

img {
  height: auto;
  border: none;
  object-fit: contain;
}

iframe {
  width: 100%;
  height: 100%;
  border: none;
}

div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px;
}

div#mfp_hidden input {
  margin: 10px;
}

.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
  border-radius: 0;
  padding: 0;
  border: none;
  background: none;
  text-shadow: none;
  font-size: inherit;
  cursor: pointer;
  outline: none;
}

.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover {
  background: none;
  box-shadow: none;
}

form#mailformpro {
  padding: 0;
}

form#mailformpro dl dt {
  float: none;
  width: auto;
  clear: none;
  font-size: inherit;
  padding: 0;
  text-align: inherit;
  border-top: none;
  margin: 0;
}

form#mailformpro dl dd {
  border-top: none;
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  text-align: inherit;
}

form#mailformpro dl dd ul, form#mailformpro dl dd ol {
  margin: 0;
  padding: 0;
}

form#mailformpro dl dd ul li, form#mailformpro dl dd ol li {
  margin: 0;
  padding: 0;
  list-style: none;
}

form#mailformpro label {
  border-radius: 0;
  margin: 0;
  display: inline-block;
  white-space: nowrap;
}

form#mailformpro label.mfp_checked {
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
}

form#mailformpro label.mfp_not_checked {
  padding: 0;
  border: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea,
.mfp_element_date,
.mfp_element_password {
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  vertical-align: middle;
}

div#mfp_overlay_inner {
  background: none;
  padding: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  width: auto;
  max-width: none;
}

.mfp_colored {
  background: none;
}

table#mfp_confirm_table tr.mfp_colored {
  background: none;
}

table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
  text-align: left;
  font-size: inherit;
  border-top: none;
  padding: 0;
}

table#mfp_confirm_table tr th {
  white-space: nowrap;
  width: auto;
}

table#mfp_confirm_table tr td {
  line-height: inherit;
  word-break: break-all;
}

:root {
  --clr_txt: #2E2E2E;
  --rgb_txt: 46,46, 46;
  --clr_txt_white: #fff;
  --rgb_txt_white: 255,255, 255;
  --clr_txt_red: #ee1b1b;
  --rgb_txt_red: 238,27, 27;
  --clr_txt_marker: #F2F198;
  --rgb_txt_marker: 242,241, 152;
  --clr_main: #88A02A;
  --rgb_main: 136,160, 42;
  --clr_main_dark: #eef4e9;
  --rgb_main_dark: 238,244, 233;
  --clr_main_light: #fafcf8;
  --rgb_main_light: 250,252, 248;
  --clr_main_light02: #96b16a;
  --rgb_main_light02: 150,177, 106;
  --clr_gray: #E6E6E6;
  --rgb_gray: 230,230, 230;
  --clr_gray_light: #F9F9F9;
  --rgb_gray_light: 249,249, 249;
  --clr_gray_dark: #ABABAB;
  --rgb_gray_dark: 171,171, 171;
  --breakpoint: 576px;
}

@font-face {
  font-family: "fontello";
  src: url("fontello/font/fontello.woff2") format("woff2");
  font-display: fallback;
}
.txt_c {
  text-align: center !important;
}

.txt_l {
  text-align: left !important;
}

.txt_r {
  text-align: right !important;
}

.bold {
  font-weight: 700;
}

.txt_large {
  font-size: 120%;
}

.txt_small {
  font-size: 80%;
}

.txt_red {
  color: var(--clr_txt_red);
}

.underline {
  text-decoration: underline;
  text-decoration-thickness: 0.3em;
  text-decoration-color: var(--clr_txt_marker);
  text-underline-offset: -0.1em;
  text-decoration-skip-ink: none;
}

.d-inline {
  display: inline-block;
}

.sp_n {
  display: none;
}

@media screen and (min-width: 36em), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
.mt00 {
  margin-top: 0em !important;
}

.mt10 {
  margin-top: 1em !important;
}

.mt20 {
  margin-top: 2em !important;
}

.mt30 {
  margin-top: 3em !important;
}

.mt40 {
  margin-top: 4em !important;
}

.mb00 {
  margin-bottom: 0 !important;
}

.tit_02 {
  font-size: clamp(2.1rem, 0.3462rem + 3.045vw, 4rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-bottom: clamp(3rem, -0.2308rem + 5.609vw, 6.5rem);
  padding-left: 1.05em;
  position: relative;
}
.tit_02::before {
  content: "●";
  font-size: 55%;
  color: var(--clr_main);
  position: absolute;
  top: 0.55em;
  left: 0;
}

.lst_ul {
  line-height: 1.4;
}
.lst_ul > li {
  padding: 0 0 0 1em;
  position: relative;
}
.lst_ul > li:not(:last-child) {
  margin: 0 0 0.55em;
}
.lst_ul > li::before {
  font-family: "fontello";
  content: "\e805";
  color: var(--clr_main);
  font-weight: 700;
  position: absolute;
  top: 0.05em;
  left: -0.4rem;
}
.lst_ul.kome > li::before {
  content: "※";
  color: var(--clr_txt);
}

.lst_ul_disc {
  margin-left: 2rem;
  margin-bottom: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
}
.lst_ul_disc > li {
  list-style: disc;
}
.lst_ul_disc > li::marker {
  color: var(--clr_main);
}
.lst_ul_disc > li:not(:last-child) {
  margin: 0 0 0.5rem;
}

.lst_ol {
  line-height: 1.4;
  counter-reset: number 0;
}
.lst_ol > li {
  counter-increment: number 1;
  padding: 0 0 0 1em;
  position: relative;
}
.lst_ol > li:not(:last-child) {
  margin: 0 0 1rem;
}
.lst_ol > li::before {
  display: inline-block;
  content: counter(number) ".";
  font-weight: bold;
  position: absolute;
  left: -0.6em;
  width: 1.4em;
  text-align: right;
}

.btn {
  display: inline-block;
  color: #fff;
  background: var(--clr_main);
  border-radius: 50vh;
  text-align: center;
  min-width: min(30vw, 29rem);
  line-height: 1.4;
  font-weight: 700;
  font-size: clamp(1.5rem, 0.8538rem + 1.122vw, 2.2rem);
  padding: clamp(1.5rem, 1.0846rem + 0.721vw, 1.95rem) clamp(5rem, 2.6923rem + 4.006vw, 7.5rem);
  letter-spacing: 0.05em;
  position: relative;
}
.btn::before {
  content: "";
  display: block;
  width: calc(100% - 0.4em);
  height: calc(100% - 0.4em);
  pointer-events: none;
  border: 2px dashed #fff;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50vh;
}
.btn::after {
  font-family: "fontello";
  content: "\e801";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(1.5rem, 1.2231rem + 0.481vw, 1.8rem);
  font-weight: normal;
}
.btn:is(:hover, :focus-visible) {
  background: var(--clr_main_light02);
}

.lnk {
  display: inline-block;
  cursor: pointer;
  color: var(--clr_main);
  text-decoration: underline;
}
.lnk:is(:hover, :focus-visible) {
  text-decoration: none;
}

.tbl {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  line-height: 1.4;
}
.tbl tr th {
  font-size: clamp(1.5rem, 0.6692rem + 1.442vw, 2.4rem);
  text-align: center;
  padding: clamp(1.5rem, -0.0692rem + 2.724vw, 3.2rem) clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  letter-spacing: 0.05em;
  font-weight: 700;
  border: 2px solid var(--clr_gray);
  border-right-style: dashed;
  width: clamp(18rem, 5.0769rem + 22.436vw, 32rem);
  background: var(--clr_gray_light);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.tbl tr th:nth-of-type(2) {
  border-left-style: dashed;
}
.tbl tr td {
  text-align: left;
  padding: clamp(1.5rem, -0.0692rem + 2.724vw, 3.2rem) clamp(1.5rem, -0.8077rem + 4.006vw, 4rem);
  font-size: clamp(1.4rem, 0.6615rem + 1.282vw, 2.2rem);
  border: 2px solid var(--clr_gray);
  border-left-style: dashed;
  background: #fff;
}
.tbl tr td:nth-last-of-type(2) {
  border-right-style: dashed;
}

.content {
  container: tab/inline-size;
}
@container tab (width < 57.5rem) {
  .content .tbl {
    border-bottom: 2px solid var(--clr_gray);
  }
  .content .tbl tr th, .content .tbl tr td {
    display: block;
    text-align: left;
    border-style: solid;
  }
  .content .tbl tr th {
    border-bottom: none;
    width: 100%;
  }
  .content .tbl tr td {
    border-bottom: none;
  }
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  background: linear-gradient(180deg, #fff clamp(20.5rem, -6.7308rem + 47.276vw, 50rem), transparent clamp(20.5rem, -6.7308rem + 47.276vw, 50rem)), linear-gradient(to right bottom, var(--clr_main_light) clamp(20.5rem, -6.7308rem + 47.276vw, 50rem), var(--clr_main_dark) clamp(80rem, -19.6923rem + 173.077vw, 188rem), var(--clr_main_dark) 100%) top center/200rem 100% no-repeat;
  color: var(--clr_txt);
  font-family: "Zen Kaku Gothic Antique", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-feature-settings: "pkna";
}

a {
  color: inherit;
  text-decoration: none;
}

a, button {
  transition: 0.2s;
}
a:is(:hover, :focus-visible), button:is(:hover, :focus-visible) {
  opacity: 0.8;
}

.main {
  font-size: clamp(1.4rem, 1.0308rem + 0.641vw, 1.8rem);
  line-height: 2;
}
.main a:not([class*=btn]):hover {
  opacity: 1;
  text-decoration: none;
}

.content {
  padding: clamp(4rem, -3.3846rem + 12.821vw, 12rem) 0;
  background: #fff;
}

.wrap {
  margin-inline: auto;
  width: min(100% - clamp(2rem, 0.1538rem + 3.205vw, 4rem), 1200px);
}

.header {
  padding: clamp(1rem, 0.3538rem + 1.122vw, 1.7rem) clamp(0rem, -1.8462rem + 3.205vw, 2rem) clamp(1rem, -0.1077rem + 1.923vw, 2.2rem);
}
.header .wrap .tit_01 a {
  display: flex;
  align-items: center;
  color: var(--clr_main);
  font-weight: 700;
  font-size: clamp(1.4rem, 0.1077rem + 2.244vw, 2.8rem);
  gap: 0 clamp(2rem, 0.1538rem + 3.205vw, 4rem);
  line-height: 1.1;
  letter-spacing: 0.1em;
}
.header .wrap .tit_01 a .logo {
  width: min(50% + 2rem, 51%);
  flex-shrink: 0;
  height: clamp(3.5rem, 1.1923rem + 4.006vw, 6rem);
  background-image: url("../img/logo.svg");
  background-position: center right;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
}
.header .wrap .tit_01 a .logo::after {
  content: "";
  width: 2px;
  height: clamp(2.4rem, 0.9231rem + 2.564vw, 4rem);
  background: var(--clr_main);
  position: absolute;
  right: clamp(-2rem, -0.0769rem + -1.603vw, -1rem);
  top: 50%;
  transform: translateY(-50%);
}
.header .wrap .tit_01 a .logo .clip {
  display: block;
  height: 100%;
  overflow: hidden;
  clip-path: inset(50%);
  color: transparent;
}
.header.-logo_tate {
  padding: clamp(0.5rem, 0.0385rem + 0.801vw, 1rem) clamp(0rem, -1.8462rem + 3.205vw, 2rem) clamp(0.5rem, 0.0385rem + 0.801vw, 1rem);
}
.header.-logo_tate .wrap .tit_01 a .logo {
  height: clamp(5.5rem, 1.3462rem + 7.212vw, 10rem);
}
.header.-logo_tate.-left .wrap .tit_01 a .logo {
  width: clamp(5.5rem, 1.3462rem + 7.212vw, 10rem);
  background-position: left center;
}

.keyvsl {
  display: grid;
  width: min(180rem, 100% - 2rem);
  min-height: clamp(29rem, 14.2308rem + 25.641vw, 45rem);
  margin-inline: auto;
  background: url("../img/kv01.webp") center right -7rem/cover no-repeat;
  border-radius: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  margin-bottom: 0.5rem;
}
.keyvsl .wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: clamp(1rem, -2.6923rem + 6.41vw, 5rem) 0;
  padding: clamp(1rem, -3.6154rem + 8.013vw, 6rem) 0 clamp(1rem, -1.7692rem + 4.808vw, 4rem);
}
.keyvsl .wrap .catch {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  gap: 0 clamp(0.7rem, 0.0538rem + 1.122vw, 1.4rem);
}
.keyvsl .wrap .catch span {
  background: #fff;
  border-radius: clamp(0.5rem, 0.0385rem + 0.801vw, 1rem);
  padding: clamp(1rem, 0.0769rem + 1.603vw, 2rem) clamp(0.2rem, -0.0769rem + 0.481vw, 0.5rem) clamp(0.6rem, 0.3231rem + 0.481vw, 0.9rem);
  font-size: clamp(1.8rem, -0.9692rem + 4.808vw, 4.8rem);
  letter-spacing: 0.2em;
  color: var(--clr_main);
  font-weight: 700;
  line-height: 1.25;
  display: block;
  width: fit-content;
  height: fit-content;
  writing-mode: vertical-rl;
  text-orientation: upright;
  max-height: calc(12em + clamp(1.6rem, 0.4rem + 2.083vw, 2.9rem));
}
.keyvsl .wrap .kv_message {
  background: var(--clr_main);
  color: #fff;
  border-radius: clamp(0.5rem, 0.0385rem + 0.801vw, 1rem);
  padding: clamp(1.5rem, 1.1308rem + 0.641vw, 1.9rem) clamp(1.5rem, -0.3462rem + 3.205vw, 3.5rem);
  font-size: clamp(1.3rem, 0.4692rem + 1.442vw, 2.2rem);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.42;
  width: fit-content;
  position: relative;
}
.keyvsl .wrap .kv_message::before {
  content: "";
  display: block;
  width: calc(100% - 1.4rem);
  width: 92%;
  height: 80%;
  position: absolute;
  top: 10%;
  left: 4%;
  pointer-events: none;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

.overview {
  background: transparent;
}
.overview .tbl .gmap {
  height: clamp(30rem, 13.3846rem + 28.846vw, 48rem);
  padding: clamp(1.5rem, -0.8077rem + 4.006vw, 4rem);
}

.greeting .greeting_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(2rem, -1.6923rem + 6.41vw, 6rem);
  container: tab/inline-size;
}
.greeting .greeting_content .greeting_img {
  width: min(80%, clamp(40rem, 26.1538rem + 24.038vw, 55rem));
  order: 2;
}
.greeting .greeting_content .greeting_img img {
  margin-inline: auto;
}
.greeting .greeting_content .greeting_txt {
  order: 1;
  flex: 1;
  min-width: min(100% - 2rem, 40rem);
}
.greeting .greeting_content .greeting_txt p {
  margin: clamp(2.5rem, 1.4846rem + 1.763vw, 3.6rem) 0 0;
}
.greeting .greeting_content .greeting_txt p:first-of-type {
  margin-top: 0;
}
@container tab (width < calc(clamp(40rem, 26.1538rem + 24.038vw, 55rem) + 40rem + clamp(2rem, -1.6923rem + 6.41vw, 6rem))) {
  .greeting .greeting_content .greeting_img {
    order: 1;
  }
  .greeting .greeting_content .greeting_txt {
    order: 2;
  }
}
.greeting .greeting_content.-img_tate {
  container: tab/inline-size;
  container: tab/inline-size;
}
.greeting .greeting_content.-img_tate .greeting_img {
  width: min(60%, clamp(25rem, 11.1538rem + 24.038vw, 40rem));
}
@container tab (width < calc(clamp(40rem, 26.1538rem + 24.038vw, 55rem) + 40rem + clamp(2rem, -1.6923rem + 6.41vw, 6rem))) {
  .greeting .greeting_content.-img_tate .greeting_img {
    order: 2;
  }
  .greeting .greeting_content.-img_tate .greeting_txt {
    order: 1;
  }
}
@container tab (width < calc(clamp(25rem, 11.1538rem + 24.038vw, 40rem) + 40rem + clamp(2rem, -1.6923rem + 6.41vw, 6rem))) {
  .greeting .greeting_content.-img_tate .greeting_img {
    order: 1;
  }
  .greeting .greeting_content.-img_tate .greeting_txt {
    order: 2;
  }
}
.greeting .greeting_content.-float {
  display: block;
  margin-bottom: calc(-1 * clamp(2rem, 0.5231rem + 2.564vw, 3.6rem));
  container: tab/inline-size;
}
.greeting .greeting_content.-float::after {
  content: "";
  display: block;
  clear: both;
}
.greeting .greeting_content.-float .greeting_img {
  float: right;
  margin: 0 0 clamp(2rem, 0.5231rem + 2.564vw, 3.6rem) min(6rem, 3vw);
  max-width: 50%;
}
.greeting .greeting_content.-float .greeting_txt {
  min-width: auto;
  margin-bottom: clamp(2rem, 0.5231rem + 2.564vw, 3.6rem);
}
@container tab (width < 70rem) {
  .greeting .greeting_content.-float .greeting_img {
    float: none;
    margin: 0 auto clamp(2rem, 0.1538rem + 3.205vw, 4rem);
    max-width: 80%;
  }
}
.greeting .greeting_content.-float.-img_tate {
  container: tab/inline-size;
}
.greeting .greeting_content.-float.-img_tate .greeting_img {
  max-width: 40%;
}
@container tab (width < 70rem) {
  .greeting .greeting_content.-float.-img_tate .greeting_img {
    max-width: 60%;
  }
}

.feature {
  background: url("../img/feature_bg.webp") center center/cover no-repeat;
  max-width: 200rem;
  margin-inline: auto;
  container: tab/inline-size;
}
.feature .lst_feature {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(22rem, 10.9231rem + 19.231vw, 34rem), 1fr));
  gap: clamp(2rem, -1.6923rem + 6.41vw, 6rem);
  counter-reset: number 0;
}
.feature .lst_feature > li {
  width: 100%;
  background: var(--clr_main);
  color: #fff;
  border-radius: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  padding: clamp(1.5rem, 0.1154rem + 2.404vw, 3rem) clamp(1.5rem, -0.8077rem + 4.006vw, 4rem) clamp(2rem, -0.0308rem + 3.526vw, 4.2rem);
  counter-increment: number 1;
}
.feature .lst_feature > li .midashi {
  display: block;
  font-weight: bold;
  font-size: 125%;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.feature .lst_feature > li::before {
  content: counter(number, decimal-leading-zero);
  font-size: clamp(3rem, 0.6rem + 4.167vw, 5.6rem);
  text-align: center;
  display: block;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: clamp(1.5rem, 1.0385rem + 0.801vw, 2rem);
  background: linear-gradient(to right, transparent calc(50% - 1em), var(--clr_main) calc(50% - 1em), var(--clr_main) calc(50% + 1em), transparent calc(50% + 1em)), linear-gradient(to bottom, transparent calc(50% + 3px), #fff calc(50% + 3px), #fff calc(50% + 4px), transparent calc(50% + 4px));
}
@container tab (width < 48rem) {
  .feature .lst_feature {
    width: calc(100% - 4rem);
    margin-inline: auto;
  }
}

.mission .tit {
  font-size: 150%;
  text-align: center;
  color: var(--clr_main);
}
.mission .rinen {
  background: rgba(var(--rgb_main), 0.2);
  padding: clamp(2rem, -1.6923rem + 6.41vw, 6rem);
}
.mission .lst_mission {
  counter-reset: number 0;
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, -9.0385rem + 20.032vw, 15rem);
  margin: clamp(2rem, -2.1538rem + 7.212vw, 6.5rem) 0 clamp(2rem, 0.1538rem + 3.205vw, 4rem);
}
.mission .lst_mission > li {
  width: min(106rem, 100% - clamp(2rem, -9.0769rem + 19.231vw, 14rem));
  counter-increment: number 1;
  padding-left: clamp(7rem, -10.5385rem + 30.449vw, 26rem);
  color: var(--clr_main);
  position: relative;
  z-index: 0;
}
.mission .lst_mission > li .midashi {
  display: block;
  font-weight: bold;
  font-size: 125%;
  line-height: 1.4;
}
.mission .lst_mission > li::before {
  content: counter(number, decimal-leading-zero);
  color: var(--clr_main);
  font-weight: 700;
  letter-spacing: 0.05em;
  display: grid;
  place-content: center;
  position: absolute;
  left: calc(clamp(-4rem, -2.0769rem + -1.603vw, -3rem) / 2);
  top: 50%;
  transform: translateY(-50%);
  aspect-ratio: 1/1;
  width: clamp(10rem, -8.4615rem + 32.051vw, 30rem);
  font-size: clamp(3.4rem, -0.8462rem + 7.372vw, 8rem);
  background-image: radial-gradient(circle closest-side, var(--clr_main_dark), transparent);
  z-index: -1;
}
.mission .lst_mission > li:nth-of-type(3n - 1) {
  margin-left: clamp(1rem, -4.5385rem + 9.615vw, 7rem);
}
.mission .lst_mission > li:nth-of-type(3n) {
  margin-left: clamp(2rem, -9.0769rem + 19.231vw, 14rem);
}

.by_the_numbers {
  background: linear-gradient(to right bottom, var(--clr_main_light), var(--clr_main_dark) 45%);
  container: tab/inline-size;
  container: tab/inline-size;
}
@media screen and (min-width: 36em), print {
  .by_the_numbers {
    background: linear-gradient(to right bottom, var(--clr_main_light), var(--clr_main_dark));
  }
}
.by_the_numbers .lst_numbers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
  gap: clamp(1rem, -3.6154rem + 8.013vw, 6rem) clamp(1rem, -2.2308rem + 5.609vw, 4.5rem);
}
.by_the_numbers .lst_numbers .numbers {
  width: 100%;
  border-radius: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: clamp(16rem, -3.3846rem + 33.654vw, 37rem);
}
.by_the_numbers .lst_numbers .numbers .numbers_tit {
  background: var(--clr_main);
  color: #fff;
  text-align: center;
  font-weight: 700;
  padding: clamp(0.5rem, 0.0385rem + 0.801vw, 1rem);
  font-size: clamp(1.6rem, 0.8615rem + 1.282vw, 2.4rem);
  letter-spacing: 0.05em;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner {
  background: #fff;
  color: var(--clr_main);
  font-weight: 700;
  padding: clamp(1rem, 0.0769rem + 1.603vw, 2rem) clamp(1rem, -1.7692rem + 4.808vw, 4rem);
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-items: stretch;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner p {
  margin: 0;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner p:not(:first-of-type) {
  margin-top: 1rem;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .statistics {
  text-align: center;
  font-size: clamp(1.8rem, -0.2308rem + 3.526vw, 4rem);
  margin: auto;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-bottom: clamp(1rem, -1.7692rem + 4.808vw, 4rem);
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .statistics .num {
  font-size: clamp(5rem, 3.1538rem + 3.205vw, 7rem);
  margin-right: clamp(0.4rem, -0.1538rem + 0.962vw, 1rem);
  letter-spacing: 0;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner table {
  font-size: clamp(1.6rem, 0.1231rem + 2.564vw, 3.2rem);
  line-height: 1.3;
  height: 100%;
  width: fit-content;
  min-width: min(28rem, 100%);
  margin-inline: auto;
  letter-spacing: 0.05em;
  border-spacing: 0;
  border-collapse: collapse;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner table tr th {
  text-align: left;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner table tr td {
  text-align: right;
  width: 0;
  white-space: nowrap;
  padding: 0 0 0 clamp(1rem, 0.0769rem + 1.603vw, 2rem);
}
.by_the_numbers .lst_numbers .numbers .numbers_inner table tr td .num {
  font-size: clamp(2.4rem, 0.1846rem + 3.846vw, 4.8rem);
  line-height: 1;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .ratio {
  display: flex;
  letter-spacing: 0.05em;
  padding-bottom: clamp(0rem, -2.7692rem + 4.808vw, 3rem);
  width: 100%;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .ratio .ratio_inner {
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
  gap: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  line-height: 1;
  flex-grow: 1;
  flex-shrink: 1;
  max-width: 50%;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .ratio .ratio_inner > dt {
  font-size: clamp(1.8rem, 0.5077rem + 2.244vw, 3.2rem);
  flex-grow: 1;
  display: grid;
  place-content: center;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .ratio .ratio_inner > dd {
  font-size: clamp(4rem, 0.3077rem + 6.41vw, 8rem);
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .ratio .ratio_inner:not(:first-of-type) > dd {
  position: relative;
}
.by_the_numbers .lst_numbers .numbers .numbers_inner .ratio .ratio_inner:not(:first-of-type) > dd::after {
  content: ":";
  width: 1em;
  line-height: 1;
  position: absolute;
  top: clamp(-0.9rem, 0.4462rem + -1.122vw, -0.2rem);
  left: -0.5em;
}
@container tab (width < calc(84rem + clamp(1rem, -2.2308rem + 5.609vw, 4.5rem) * 2)) {
  .by_the_numbers .lst_numbers {
    grid-template-columns: repeat(auto-fit, minmax(calc((100% - clamp(1rem, -2.2308rem + 5.609vw, 4.5rem)) / 2), 1fr));
  }
  .by_the_numbers .lst_numbers .numbers .numbers_inner table {
    min-width: min(26rem, 70%);
  }
  .by_the_numbers .lst_numbers .numbers .numbers_inner .ratio {
    width: fit-content;
    margin-inline: auto;
    min-width: min(26rem, 82%);
  }
}
@container tab (width < 48rem) {
  .by_the_numbers .-sp_col1 {
    width: calc(100% - 4rem);
    margin-inline: auto;
    grid-template-columns: 1fr;
    gap: clamp(2rem, 1.0769rem + 1.603vw, 3rem) 0;
  }
}

.welcome .lst_ul_check {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 1.0769rem + 1.603vw, 3rem) 0;
  margin: clamp(4rem, -0.1538rem + 7.212vw, 8.5rem) auto 0;
  max-width: min(100% - 2rem, 110rem);
  width: fit-content;
}
.welcome .lst_ul_check > li {
  position: relative;
  padding-left: calc(1em + 2vw);
  line-height: 1.7;
  font-size: clamp(1.5rem, 1.0385rem + 0.801vw, 2rem);
}
.welcome .lst_ul_check > li::before {
  font-family: "fontello";
  content: "\e803";
  position: absolute;
  top: 0.18rem;
  left: 0;
  color: var(--clr_main);
  font-size: clamp(1.6rem, 0.1231rem + 2.564vw, 3.2rem);
}
.welcome .lst_ul_check > li .underline {
  display: block;
  font-weight: 700;
  color: var(--clr_main);
  font-size: clamp(1.7rem, 0.3154rem + 2.404vw, 3.2rem);
  letter-spacing: 0.05em;
}

.job_openings {
  background: url("../img/job_openings_bg.webp") center center/cover no-repeat;
  max-width: 200rem;
  margin-inline: auto;
}
.job_openings nav > ul {
  max-width: min(100%, 100rem);
  margin-inline: auto;
  display: grid;
  justify-content: center;
  gap: clamp(2rem, -0.7692rem + 4.808vw, 5rem);
  grid-template-columns: repeat(auto-fit, clamp(15rem, 1.1538rem + 24.038vw, 30rem));
}
.job_openings nav > ul > li {
  aspect-ratio: 1/1;
  width: 100%;
}
.job_openings nav > ul > li > a {
  width: 100%;
  height: 100%;
  background: var(--clr_main);
  padding: clamp(4rem, 0.7692rem + 5.609vw, 7.5rem) clamp(1.5rem, -0.3462rem + 3.205vw, 3.5rem);
  border-radius: 50%;
  text-align: center;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: clamp(1.8rem, 0.5077rem + 2.244vw, 3.2rem);
  line-height: 1.25;
  display: grid;
  place-content: center;
  position: relative;
}
.job_openings nav > ul > li > a::before, .job_openings nav > ul > li > a::after {
  position: absolute;
}
.job_openings nav > ul > li > a::before {
  content: "";
  display: block;
  width: calc(100% - 0.4em);
  height: calc(100% - 0.4em);
  inset: 0;
  margin: auto;
  border: 2px dashed #fff;
  border-radius: 50%;
}
.job_openings nav > ul > li > a::after {
  font-family: "fontello";
  content: "\e801";
  inset: auto 0 clamp(1.5rem, -0.3462rem + 3.205vw, 3.5rem);
  font-weight: normal;
}
.job_openings nav > ul > li > a:is(:hover, :focus-visible) {
  background: var(--clr_main_light02);
}

.faq .lst_faq {
  counter-reset: number 0;
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 0.1538rem + 3.205vw, 4rem) 0;
  max-width: min(100% - 2rem, 100rem);
  margin-inline: auto;
}
.faq .lst_faq .lst_faq_inner {
  border: 1px solid var(--clr_main);
  border-radius: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  padding: 0 clamp(1.5rem, -0.8077rem + 4.006vw, 4rem);
}
.faq .lst_faq .lst_faq_inner summary {
  all: unset;
  display: block;
  color: var(--clr_main);
  font-weight: 700;
  counter-increment: number 1;
  display: grid;
  grid-template-columns: clamp(3.8rem, -0.0769rem + 6.731vw, 8rem) 1fr;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-size: clamp(1.7rem, 0.3154rem + 2.404vw, 3.2rem);
  padding: clamp(1.5rem, 0.1154rem + 2.404vw, 3rem) clamp(0rem, -0.9231rem + 1.603vw, 1rem);
  cursor: pointer;
  list-style: none;
}
.faq .lst_faq .lst_faq_inner summary::-webkit-details-marker {
  display: none;
}
.faq .lst_faq .lst_faq_inner summary::before {
  content: "Q" counter(number);
  font-size: 150%;
  line-height: 1;
}
.faq .lst_faq .lst_faq_inner .faq_txt {
  border-top: 2px dashed var(--clr_main);
  overflow: hidden;
}
.faq .lst_faq .lst_faq_inner .faq_txt p, .faq .lst_faq .lst_faq_inner .faq_txt ul, .faq .lst_faq .lst_faq_inner .faq_txt ol, .faq .lst_faq .lst_faq_inner .faq_txt table {
  margin: clamp(1.5rem, -0.3462rem + 3.205vw, 3.5rem) 0;
}

.job_detail {
  background: linear-gradient(to right bottom, var(--clr_main_light), var(--clr_main_dark) 45%);
  container: tab/inline-size;
}
@media screen and (min-width: 36em), print {
  .job_detail {
    background: linear-gradient(to right bottom, var(--clr_main_light), var(--clr_main_dark));
  }
}
.job_detail .job_detail_conditions {
  padding-top: clamp(3rem, 0.2308rem + 4.808vw, 6rem);
  margin-inline: auto;
  max-width: min(100% - clamp(2rem, -3.5385rem + 9.615vw, 8rem), 100rem);
}
.job_detail .job_detail_conditions .job_detail_tit {
  border-radius: clamp(1rem, 0.0769rem + 1.603vw, 2rem) clamp(1rem, 0.0769rem + 1.603vw, 2rem) 0 0;
  text-align: center;
  color: #fff;
  background: var(--clr_main);
  letter-spacing: 0.05em;
  padding: clamp(0.5rem, -0.1462rem + 1.122vw, 1.2rem);
  font-size: clamp(1.6rem, 0.4923rem + 1.923vw, 2.8rem);
}
.job_detail .job_detail_conditions .job_detail_inner {
  border-radius: 0 0 clamp(1rem, 0.0769rem + 1.603vw, 2rem) clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  background: #fff;
  padding: clamp(1rem, 0.5385rem + 0.801vw, 1.5rem) clamp(1.5rem, -0.8077rem + 4.006vw, 4rem) clamp(2rem, 0.1538rem + 3.205vw, 4rem);
}
.job_detail .job_detail_conditions .job_detail_inner > table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  margin-bottom: clamp(3rem, 2.0769rem + 1.603vw, 4rem);
  font-size: clamp(1.5rem, 1.0385rem + 0.801vw, 2rem);
  line-height: 1.5;
}
.job_detail .job_detail_conditions .job_detail_inner > table tr th {
  color: var(--clr_main);
  font-weight: 700;
  border-bottom: 2px solid var(--clr_gray);
  padding: clamp(1.4rem, 0.9385rem + 0.801vw, 1.9rem) 0 clamp(1.4rem, 0.9385rem + 0.801vw, 1.9rem) 1rem;
  letter-spacing: 0.05em;
  text-align: center;
  width: 25%;
}
.job_detail .job_detail_conditions .job_detail_inner > table tr td {
  padding: clamp(1.4rem, 0.9385rem + 0.801vw, 1.9rem) 1rem clamp(1.4rem, 0.9385rem + 0.801vw, 1.9rem) 3rem;
  border-bottom: 2px solid var(--clr_gray);
}
@container tab (width < 57.5rem) {
  .job_detail .job_detail_conditions .job_detail_inner > table tr th, .job_detail .job_detail_conditions .job_detail_inner > table tr td {
    display: block;
    text-align: left;
  }
  .job_detail .job_detail_conditions .job_detail_inner > table tr th {
    padding: 1rem 1rem 0;
    border-bottom: none;
    width: 100%;
  }
  .job_detail .job_detail_conditions .job_detail_inner > table tr td {
    padding: 0.5rem 1rem 1rem;
  }
}

#form .agree {
  display: flex;
  align-items: center;
  font-size: clamp(1.5rem, 0.8538rem + 1.122vw, 2.2rem);
  line-height: 1.2;
  position: relative;
}
#form .agree #lnk_privacy {
  color: var(--clr_main);
  text-decoration: underline;
  padding: 0;
}
#form .agree #lnk_privacy:is(:hover, :focus-visible) {
  text-decoration: none;
}
#form .agree input[type=checkbox] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: clamp(2.5rem, 1.1154rem + 2.404vw, 4rem) !important;
  height: clamp(2.5rem, 1.1154rem + 2.404vw, 4rem) !important;
  border-radius: 0 !important;
  cursor: pointer;
  margin: 0 clamp(1rem, 0.8154rem + 0.321vw, 1.2rem) 0 0;
  border: 2px solid var(--clr_gray);
  position: relative;
}
#form .agree input[type=checkbox]::before {
  font-family: "fontello";
  content: "\e804";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  line-height: 1;
  font-size: 135%;
  display: grid;
  place-content: center center;
  pointer-events: none;
  opacity: 0;
  color: var(--clr_main);
  transition: 0.3s;
}
#form .agree input[type=checkbox]:checked::before {
  opacity: 1;
}
#form #form_btn {
  margin: clamp(3rem, 2.0769rem + 1.603vw, 4rem) auto 0;
  width: fit-content;
}

#mailformpro {
  container: tab/inline-size;
}
#mailformpro .mailform {
  margin: clamp(3rem, 0.6923rem + 4.006vw, 5.5rem) 0;
  line-height: 1.4;
  display: grid;
  grid-template-columns: clamp(21rem, 12.6923rem + 14.423vw, 30rem) 1fr;
  gap: clamp(2.5rem, 1.1154rem + 2.404vw, 4rem) 0;
}
#mailformpro .mailform dt {
  font-weight: 700;
  font-size: clamp(1.5rem, 0.6692rem + 1.442vw, 2.4rem);
  letter-spacing: 0.05em;
  padding: 1.2em 0.9em 0 0;
}
#mailformpro .mailform dd {
  font-size: clamp(1.4rem, 0.6615rem + 1.282vw, 2.2rem);
  position: relative;
}
#mailformpro .mailform dd input:not([type=radio]):not([type=checkbox]) {
  min-height: clamp(4rem, 0.3077rem + 6.41vw, 8rem);
}
#mailformpro .mailform dd input, #mailformpro .mailform dd textarea {
  width: 100%;
  border: 2px solid var(--clr_gray);
  border-radius: 0;
  margin: 0;
  padding: 1rem;
  text-align: left !important;
}
#mailformpro .mailform dd input::placeholder, #mailformpro .mailform dd textarea::placeholder {
  color: var(--clr_gray_dark);
}
#mailformpro .mailform dd textarea {
  display: block;
  width: 100% !important;
  height: clamp(17rem, 7.7692rem + 16.026vw, 27rem) !important;
}
#mailformpro .mailform dd#age {
  display: flex;
  align-items: baseline;
  gap: 0 0.8em;
}
#mailformpro .mailform dd#age input {
  width: 5em;
}
#mailformpro .mailform dd.row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(0.6rem, 0.2308rem + 0.641vw, 1rem) clamp(1.4rem, 0.2923rem + 1.923vw, 2.6rem);
  margin: calc((clamp(4rem, 0.3077rem + 6.41vw, 8rem) - 1.82em) / 2) 0;
}
#mailformpro .mailform dd label {
  display: flex;
  white-space: nowrap;
  align-items: center;
  gap: 0 clamp(0.4rem, 0.2154rem + 0.321vw, 0.6rem);
}
#mailformpro .mailform dd label input[type=radio], #mailformpro .mailform dd label input[type=checkbox] {
  appearance: none !important;
  -webkit-appearance: none !important;
}
#mailformpro .mailform dd label input[type=radio] {
  width: 1.82em;
  height: 1.82em;
  border-radius: 50%;
  margin-right: clamp(0.3rem, 0.0231rem + 0.481vw, 0.6rem);
  cursor: pointer;
  position: relative;
}
#mailformpro .mailform dd label input[type=radio]::after {
  content: "";
  width: 100%;
  height: 100%;
  background: var(--clr_main);
  position: absolute;
  inset: 0;
  border-radius: 50%;
  transform: scale(0.2);
  opacity: 0;
  transition: 0.3s;
}
#mailformpro .mailform dd label input[type=radio]:checked::after {
  opacity: 1;
  transform: scale(0.8);
}
#mailformpro .mailform dd label input[type=checkbox] {
  width: clamp(2.5rem, 1.1154rem + 2.404vw, 4rem);
  aspect-ratio: 1/1;
  cursor: pointer;
  position: relative;
}
#mailformpro .mailform dd label input[type=checkbox]::before {
  font-family: "fontello";
  content: "\e804";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  line-height: 1;
  font-size: 135%;
  display: grid;
  place-content: center;
  pointer-events: none;
  opacity: 0;
  color: var(--clr_main);
  transition: 0.3s;
}
#mailformpro .mailform dd label input[type=checkbox]:checked::before {
  opacity: 1;
}
#mailformpro .mailform dd input[type=date] {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-color: #fff !important;
  min-height: clamp(4rem, 0.3077rem + 6.41vw, 8rem) !important;
  width: 100% !important;
  color: var(--clr_txt) !important;
}
#mailformpro .mailform dd input[type=date]::-webkit-date-and-time-value {
  text-align: left !important;
}
@container tab (width < 57.5rem) {
  #mailformpro .mailform {
    display: block;
  }
  #mailformpro .mailform dt {
    padding: 0;
  }
  #mailformpro .mailform dd {
    margin: clamp(1rem, 0.5385rem + 0.801vw, 1.5rem) 0 clamp(2.5rem, 1.5769rem + 1.603vw, 3.5rem);
  }
  #mailformpro .mailform dd.row {
    margin: clamp(1rem, 0.5385rem + 0.801vw, 1.5rem) 0 clamp(2.5rem, 1.5769rem + 1.603vw, 3.5rem);
  }
  #mailformpro .mailform dd input:not([type=radio]):not([type=checkbox]) {
    min-height: auto;
  }
  #mailformpro .mailform dd textarea {
    min-height: 5em;
  }
}

#form .mfp_err {
  color: var(--clr_txt_red);
  position: absolute;
  left: 0;
  bottom: -1.5em;
  font-size: 90%;
  line-height: 1;
  pointer-events: none;
  display: none;
  padding-left: 1em;
  background: url("../mfp.statics/images/mfp_error.gif") left center/auto 0.8em no-repeat;
}
#form .problem {
  background: rgba(var(--rgb_txt_red), 0.05);
}

#mfp_overlay_background {
  background: rgba(var(--rgb_gray), 0.9) !important;
  height: 100vh;
}

#mfp_overlay {
  container: tab/inline-size;
}
#mfp_overlay #mfp_overlay_inner {
  background: #fff;
  padding: clamp(2rem, 0.1538rem + 3.205vw, 4rem);
  font-size: clamp(1.4rem, 1.0308rem + 0.641vw, 1.8rem);
  min-width: 60%;
  width: 64rem;
  max-width: min(100% - 4rem, 100rem);
  height: fit-content;
  max-height: calc(100svh - 4rem);
  overflow-y: scroll;
  padding: clamp(2rem, 0.1538rem + 3.205vw, 4rem);
  box-shadow: 0px 0px 10px var(--clr_gray_dark);
  position: fixed;
  inset: 0;
  margin-inline: auto;
  z-index: calc(infinity);
}
#mfp_overlay #mfp_overlay_inner::-webkit-scrollbar {
  background: #fff;
  width: 0.5rem;
}
#mfp_overlay #mfp_overlay_inner::-webkit-scrollbar-thumb {
  background: var(--clr_gray_dark);
}
#mfp_overlay #mfp_overlay_inner h4 {
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.0462rem + 0.962vw, 2.2rem);
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-bottom: clamp(1.4rem, 0.6615rem + 1.282vw, 2.2rem);
}
#mfp_overlay #mfp_overlay_inner #mfp_confirm_table {
  margin-bottom: clamp(2rem, 0.1538rem + 3.205vw, 4rem);
}
#mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr th, #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr td {
  padding: clamp(0.6rem, 0.0462rem + 0.962vw, 1.2rem);
  font-size: clamp(1.4rem, 1.0308rem + 0.641vw, 1.8rem);
  border-bottom: 2px solid var(--clr_gray);
  display: table-cell;
}
#mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr th:first-of-type, #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr td:first-of-type {
  border-top: 2px solid var(--clr_gray);
}
#mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr th {
  color: var(--clr_main);
  width: clamp(20rem, 15.3846rem + 8.013vw, 25rem);
}
#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_send {
  display: inline-block;
  color: #fff;
  background: var(--clr_main);
  border-radius: 50vh;
  text-align: center;
  min-width: min(30vw, 29rem);
  line-height: 1.4;
  font-weight: 700;
  font-size: clamp(1.5rem, 0.8538rem + 1.122vw, 2.2rem);
  padding: clamp(1.5rem, 1.0846rem + 0.721vw, 1.95rem) clamp(5rem, 2.6923rem + 4.006vw, 7.5rem);
  letter-spacing: 0.05em;
  position: relative;
  display: block;
  margin-inline: auto;
}
#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_send::before {
  content: "";
  display: block;
  width: calc(100% - 0.4em);
  height: calc(100% - 0.4em);
  pointer-events: none;
  border: 2px dashed #fff;
  position: absolute;
  inset: 0;
  margin: auto;
  border-radius: 50vh;
}
#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_send::after {
  font-family: "fontello";
  content: "\e801";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: clamp(1.5rem, 1.2231rem + 0.481vw, 1.8rem);
  font-weight: normal;
}
#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_send:is(:hover, :focus-visible) {
  background: var(--clr_main_light02);
}
#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_cancel {
  margin-top: clamp(1.5rem, 0.5769rem + 1.603vw, 2.5rem);
}
#mfp_overlay #mfp_overlay_inner .mfp_buttons #mfp_button_cancel::after {
  content: "×";
  margin-left: 0.5em;
}
@container tab (width < 57.5rem) {
  #mfp_overlay #mfp_overlay_inner #mfp_confirm_table {
    border-top: 2px solid var(--clr_gray);
  }
  #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr th, #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr td {
    display: block;
    text-align: left;
  }
  #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr th:first-of-type, #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr td:first-of-type {
    border-top: none;
  }
  #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr th {
    padding: 1rem 1rem 0;
    border-bottom: none;
    width: 100%;
  }
  #mfp_overlay #mfp_overlay_inner #mfp_confirm_table tr td {
    padding: 0.5rem 1rem 1rem;
  }
}

html:has(dialog[open]) {
  overflow: hidden;
}

#dialog {
  position: fixed;
  inset: 0;
  z-index: calc(infinity);
  width: 100%;
  height: 100%;
  max-width: inherit;
  max-height: inherit;
  border: none;
  cursor: pointer;
  background: rgba(var(--rgb_gray), 0.6);
  backdrop-filter: blur(0.6rem);
}
#dialog #dialog_content {
  background: #fff;
  outline: none;
  padding: clamp(2rem, 0.1538rem + 3.205vw, 4rem);
  position: fixed;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  max-height: calc(100svh - 2rem);
  max-width: min(100% - 4rem, 100rem);
}
#dialog #dialog_content > section {
  max-height: 70svh;
  border: 2px solid var(--clr_gray);
  overflow-y: scroll;
  padding: clamp(2rem, 0.1538rem + 3.205vw, 4rem);
  counter-reset: number 0;
}
#dialog #dialog_content > section::-webkit-scrollbar {
  background: #fff;
  width: 0.5rem;
}
#dialog #dialog_content > section::-webkit-scrollbar-thumb {
  background: var(--clr_gray_dark);
}
#dialog #dialog_content > section .privacy_tit03 {
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.0462rem + 0.962vw, 2.2rem);
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-bottom: clamp(2rem, 0.1538rem + 3.205vw, 4rem);
}
#dialog #dialog_content > section > section {
  margin-top: clamp(2rem, 1.0769rem + 1.603vw, 3rem);
}
#dialog #dialog_content > section > section .privacy_tit04 {
  font-weight: 700;
  font-size: clamp(1.5rem, 1.2231rem + 0.481vw, 1.8rem);
  letter-spacing: 0.05em;
  margin-bottom: clamp(0.5rem, 0.0385rem + 0.801vw, 1rem);
  counter-increment: number 1;
}
#dialog #dialog_content > section > section .privacy_tit04::before {
  display: inline-block;
  content: counter(number) ".";
  margin-right: clamp(0.5rem, 0.3154rem + 0.321vw, 0.7rem);
}
#dialog #dialog_content > section > section p {
  margin: 0;
}
#dialog #dialog_content > section > section p:not(:first-of-type) {
  margin-top: 1em;
}
#dialog #dialog_content > section > section .lst_ul_disc {
  margin-top: clamp(0.5rem, 0.0385rem + 0.801vw, 1rem);
}
#dialog #dialog_content form {
  text-align: center;
}
#dialog #dialog_content form button {
  margin: clamp(2rem, 0.1538rem + 3.205vw, 4rem) auto 0;
}
#dialog #dialog_content form button::after {
  content: "×";
}

#pageup {
  display: block;
  width: clamp(3.5rem, 1.1923rem + 4.006vw, 6rem);
  height: clamp(3.5rem, 1.1923rem + 4.006vw, 6rem);
  position: fixed;
  bottom: clamp(1rem, -0.8462rem + 3.205vw, 3rem);
  right: clamp(1rem, -0.8462rem + 3.205vw, 3rem);
}
#pageup::before {
  display: block;
  font-family: "fontello";
  content: "\e802";
  font-size: clamp(1.6rem, 0.4923rem + 1.923vw, 2.8rem);
  width: 100%;
  height: 100%;
  color: var(--clr_main);
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
  border: 2px solid var(--clr_gray);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
#pageup .clip {
  clip-path: inset(50%);
  color: transparent;
  font-size: 0;
}

.footer {
  text-align: center;
  padding: clamp(1.4rem, 0.6615rem + 1.282vw, 2.2rem) 0;
  color: var(--clr_main);
  background: var(--clr_main_dark);
  position: sticky;
  top: 100vh;
}
.footer .copy {
  display: block;
  font-size: clamp(1.4rem, 1.0308rem + 0.641vw, 1.8rem);
}

.thanks_box {
  background: #fff;
  border: 1px solid var(--clr_main);
  max-width: min(100% - 2rem, 100rem);
  border-radius: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  margin: clamp(4rem, -4.7692rem + 15.224vw, 13.5rem) auto clamp(10rem, -20.9231rem + 53.686vw, 43.5rem);
  padding: clamp(1.5rem, 1.0385rem + 0.801vw, 2rem) clamp(1.5rem, -0.8077rem + 4.006vw, 4rem) clamp(3rem, -4.3846rem + 12.821vw, 11rem);
}
.thanks_box .thanks_tit {
  color: var(--clr_main);
  font-size: clamp(1.7rem, 0.3154rem + 2.404vw, 3.2rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: clamp(1rem, 0.0769rem + 1.603vw, 2rem);
  margin-bottom: clamp(1.5rem, 0.1154rem + 2.404vw, 3rem);
  border-bottom: 2px dashed var(--clr_main);
}
.thanks_box p {
  margin: 0;
}
.thanks_box p:not(:first-of-type) {
  margin-top: 1em;
}/*# sourceMappingURL=style.css.map */