@charset "utf-8";

/* --------------- base --------------- */
/* base */
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  /* 14-17 */
  font-size: 1.0625rem;
  font-size: clamp(0.875rem, 0.8143rem + 0.2589vw, 1.0625rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-feature-settings: "palt" 1;
  color: #072026;
  background-color: #fff;
}

a {
  text-decoration: none;
  color: #072026;
}

button {
  display: block;
  letter-spacing: 0.04em;
}

img,
svg {
  width: 100%;
  height: auto;
  vertical-align: middle;
  box-sizing: border-box;
}

.site-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: hidden;
}

/* main {
flex: 1;
overflow: hidden;
margin-top: 6.7em;
} */

*,
*::before,
*::after {
  box-sizing: boder-box;
}

.block {
  display: block;
}

.ib {
  display: inline-block;
}

.pc-none {
  display: none;
}

.sp-only {
  display: none;
}

@media (max-width: 1023px) {
  .pc-only {
    display: none;
  }

  .pc-none {
    display: block;
  }
}

@media (max-width: 767px) {
  .sp-none {
    display: none;
  }

  .sp-only {
    display: block;
  }
}


/* --------------- type --------------- */

/* 英字 */
.txt-en {
  font-family: "Poppins", sans-serif;
}

/* タイトル */
.txt-zenmaru {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}

/* サイズ */
.txt-50-70 {
  font-size: clamp(3.125rem, 2.822rem + 1.29vw, 4.375rem);
  letter-spacing: 0;
  line-height: 2;
}

.txt-40-55 {
  font-size: clamp(2.5rem, 2.272rem + 0.97vw, 3.438rem);
  letter-spacing: 0;
  line-height: 2;
}

.txt-38-52 {
  font-size: clamp(2.375rem, 2.163rem + 0.91vw, 3.25rem);
  letter-spacing: 0;
  line-height: 2;
}

.txt-34-42 {
  font-size: clamp(2.125rem, 2.004rem + 0.52vw, 2.625rem);
  letter-spacing: 0;
  line-height: 2;
}

.txt-20-35 {
  font-size: clamp(1.25rem, 1.022rem + 0.97vw, 2.188rem);
  letter-spacing: 0.1em;
  line-height: 2;
}

.txt-18-30 {
  font-size: clamp(1.125rem, 0.943rem + 0.78vw, 1.875rem);
  letter-spacing: 0.1em;
  line-height: 2;
}

.txt-15-25 {
  font-size: clamp(0.938rem, 0.786rem + 0.65vw, 1.563rem);
  letter-spacing: 0.1em;
  line-height: 2;
}

.txt-15-20 {
  font-size: clamp(0.938rem, 0.862rem + 0.32vw, 1.25rem);
  letter-spacing: 0.1em;
  line-height: 2;
}

.txt-14-18 {
  font-size: clamp(0.875rem, 0.814rem + 0.26vw, 1.125rem);
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.txt-13-17 {
  font-size: clamp(0.813rem, 0.752rem + 0.26vw, 1.063rem);
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.txt-12-15 {
  font-size: clamp(0.75rem, 0.794rem + 0.19vw, 0.938rem);
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.txt-10-13 {
  font-size: clamp(0.625rem, 0.579rem + 0.19vw, 0.813rem);
  letter-spacing: 0.1em;
  line-height: 1.5;
}


/* ファミリー */
.txt-regular {
  font-weight: 400;
}

.txt-medium {
  font-weight: 500;
}

.txt-semibold {
  font-weight: 600;
}

.txt-bold {
  font-weight: 700;
}

.txt-exbold {
  font-weight: 800;
}

.txt-black {
  font-weight: 900;
}

/* 行間 */
.lh28 {
  line-height: 2.8;
}

.lh25 {
  line-height: 2.5;
}

.lh20 {
  line-height: 2.0;
}

.lh19 {
  line-height: 1.9;
}

.lh18 {
  line-height: 1.8;
}

.lh17 {
  line-height: 1.7;
}

.lh16 {
  line-height: 1.6;
}

.lh15 {
  line-height: 1.5;
}

.lh10 {
  line-height: 1.0;
}

/* 字間 */
.ls0 {
  letter-spacing: 0;
}

.ls1 {
  letter-spacing: .1em;
}

.ls2 {
  letter-spacing: .2em;
}

.txt-left {
  text-align: left;
}

.txt-center {
  text-align: center;
}

.txt-right {
  text-align: right;
}

.txt-just {
  text-align: justify;
}

.txt-break {
  word-break: break-all;
}

.txt-indent {
  text-indent: -1.3em;
  padding-left: 1.3em;
}


/* --------------- wrap --------------- */

/* 1500 */
.wrap-1500 {
  width: clamp(57.813rem, 16.741rem + 64.17vw, 93.75rem);
  margin: 0 auto;
}

@media (max-width: 1023px) {
  .wrap-1500 {
    width: clamp(44.375rem, 4.115rem + 83.98vw, 57.813rem);
  }
}

@media (max-width: 767px) {
  .wrap-1500 {
    width: clamp(22.188rem, 0.908rem + 90.79vw, 44.375rem);
  }
}

/* 1200 */
.wrap-1200 {
  width: clamp(51.25rem, 24.107rem + 42.41vw, 75rem);
  margin: 0 auto;
}

@media (max-width: 1023px) {
  .wrap-1200 {
    width: clamp(40rem, 6.294rem + 70.31vw, 51.25rem);
  }
}

@media (max-width: 767px) {
  .wrap-1200 {
    width: clamp(19.375rem, -0.406rem + 84.4vw, 40rem);
  }
}

/* 1000 */
.wrap-1000 {
  width: clamp(57.5rem, 51.786rem + 8.93vw, 62.5rem);
  margin: 0 auto;
}

@media (max-width: 1023px) {
  .wrap-1000 {
    width: clamp(44.375rem, 4.115rem + 83.98vw, 57.813rem);
  }
}

@media (max-width: 767px) {
  .wrap-1000 {
    width: clamp(22.188rem, 0.908rem + 90.79vw, 44.375rem);
  }
}

/* 700 */
.wrap-700 {
  width: clamp(34.375rem, 28.139rem + 13.01vw, 43.75rem);
  margin: 0 auto;
}

@media (max-width: 767px) {
  .wrap-700 {
    width: clamp(17.5rem, 1.316rem + 69.05vw, 34.375rem);
  }
}


/* --------------- space --------------- */
/* 375px~1920px */
.space-112-280 {
  padding-top: 7rem;
  padding-top: clamp(7rem, 4.451rem + 10.87vw, 17.5rem);
}

.space-112-280-bottom {
  padding-bottom: 7rem;
  padding-bottom: clamp(7rem, 4.451rem + 10.87vw, 17.5rem);
}

.space-96-240 {
  padding-top: 6rem;
  padding-top: clamp(6rem, 3.816rem + 9.32vw, 15rem);
}

.space-96-240-bottom {
  padding-bottom: 6rem;
  padding-bottom: clamp(6rem, 3.816rem + 9.32vw, 15rem);
}

.space-80-200 {
  padding-top: 5rem;
  padding-top: clamp(5rem, 3.18rem + 7.77vw, 12.5rem);
}

.space-80-200-bottom {
  padding-bottom: 5rem;
  padding-bottom: clamp(5rem, 3.18rem + 7.77vw, 12.5rem);
}

.space-64-160 {
  padding-top: 4rem;
  padding-top: clamp(4rem, 2.544rem + 6.21vw, 10rem);
}

.space-64-160-bottom {
  padding-bottom: 4rem;
  padding-bottom: clamp(4rem, 2.544rem + 6.21vw, 10rem);
}

.space-48-120 {
  padding-top: 3rem;
  padding-top: clamp(3rem, 1.908rem + 4.66vw, 7.5rem);
}

.space-48-120-bottom {
  padding-bottom: 3rem;
  padding-bottom: clamp(3rem, 1.908rem + 4.66vw, 7.5rem);
}

.space-40-100 {
  padding-top: 2.5rem;
  padding-top: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);
}

.space-40-100-bottom {
  padding-bottom: 2.5rem;
  padding-bottom: clamp(2.5rem, 1.59rem + 3.88vw, 6.25rem);
}

.space-34-80 {
  padding-top: 2.125rem;
  padding-top: clamp(2.125rem, 1.427rem + 2.98vw, 5rem);
}

.space-34-80-bottom {
  padding-bottom: 2.125rem;
  padding-bottom: clamp(2.125rem, 1.427rem + 2.98vw, 5rem);
}

.space-1 {
  padding-top: 1px;
}


/* --------------- margin --------------- */
.mt-1 {
  margin-top: 1em;
}

.mt-1_5 {
  margin-top: 1.5em;
}

.mt-2 {
  margin-top: 2em;
}

.mt-3 {
  margin-top: 3em;
}

.mt-4 {
  margin-top: 4em;
}

.mt-5 {
  margin-top: 5em;
}

.mt-6 {
  margin-top: 6em;
}

.mt-7 {
  margin-top: 7em;
}

.mt-8 {
  margin-top: 8em;
}

.mt-9 {
  margin-top: 9em;
}

.mt-10 {
  margin-top: 10em;
}


/* --------------- color --------------- */
/* txt */
.txt-black,
.txt-black a {
  color: #072026;
}

.txt-white,
.txt-white a {
  color: #fff;
}

.txt-blue,
.txt-blue a {
  color: #0075c1;
}

.txt-red,
.txt-red a {
  color: #ef5959;
}

.txt-orange,
.txt-orange a {
  color: #f39700;
}

.txt-green,
.txt-green a {
  color: #00a29a;
}

.txt-pink,
.txt-pink a {
  color: #ee86a8;
}

.txt-purple,
.txt-purple a {
  color: #757cbb;
}


/* 黄色下線 */
.copy-bottom {
  display: inline-block;
  position: relative;
  z-index: 1;
}

.copy-bottom::before {
  content: "";
  width: 100%;
  height: 0.4em;
  background-color: #ffe63f;
  border-radius: 2.5px;
  bottom: 0.3em;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  z-index: -1;
}



/* bg */
.bg-beige {
  background-color: #fcecdd;
}

.bg-blue01 {
  background-color: #0075c1;
}

.bg-blue02 {
  background-color: #d4f4ff;
}

.bg-blue03 {
  background-color: #80cbeb;
}

.bg-red {
  background-color: #ef5959;
}

.bg-orange {
  background-color: #ffba5f;
}

.bg-gray-strong {
  background-color: #dcdcdc;
}

.bg-gray {
  background-color: #f4f4f4;
}

.bg-white {
  background-color: #ffffff;
}

.bg-green {
  background-color: #00a29a;
}

/* --------------- layout --------------- */
/* --------------- flex --------------- */

.flex {
  display: flex;
}

.grid {
  display: grid;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-column {
  flex-direction: column;
}

/* justify-content */
.flex-center {
  justify-content: center;
}

.flex-between {
  justify-content: space-between;
}

.flex-around {
  justify-content: space-around;
}

.flex-end {
  justify-content: flex-end;
}

.flex-start {
  justify-content: flex-start;
}

/* align-items */
.align-center {
  align-items: center;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}


/* --------------- position --------------- */

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fixed {
  position: fixed;
}

.sticky {
  position: sticky;
}

/* inset */
.inset-0 {
  inset: 0;
}

.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

.left-0 {
  left: 0;
}

/* center positioning */
.abs-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.abs-xcenter {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.abs-ycenter {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/* z-index */
.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-10 {
  z-index: 10;
}

.z-20 {
  z-index: 20;
}

.z-50 {
  z-index: 50;
}

/* overflow */
.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.fit {
  width: fit-content;
}


@media (max-width: 1023px) {}

@media (max-width: 767px) {}