@charset "utf-8";


/* --------------- base --------------- */
body{
  font-family: "Inter", "Noto Sans JP", sans-serif;
  /* 14-16-17 */
  font-size: clamp(0.875rem, 0.829rem + 0.19vw, 1.063rem);
  font-weight: 400;
  letter-spacing: 0.11em;
  line-height: 1.75;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #333;
}


a{
  text-decoration: none;
  color: #333;
}
img,svg {
  width: 100%;
  height: auto;
  vertical-align: middle;
  box-sizing: border-box;
}
button{
  display: block;
  letter-spacing: 0.11em;
}
*,
*::before,
*::after {
  box-sizing: boder-box;
}
.block{
  display: block;
}
.ib {
  display: inline-block;
}
.pc-none{
  display: none;
}
.sp-only{
  display: none;
}
.contents-relative{
  position: relative;
  z-index: 1;
}

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

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



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

/* font-size */
/* 375-1440-1920px 30-48-56.1 */
.txt-30-48{
  font-size: clamp(1.875rem, 1.479rem + 1.69vw, 3.506rem);
  letter-spacing: 0.15em;
  line-height: 1.45;
}
/* 28-44-51.3 */
.txt-28-44{
  font-size: clamp(1.75rem, 1.397rem + 1.51vw, 3.206rem);
  letter-spacing: 0.15em;
  line-height: 1.5;
}
/* 26-40-46.4 */
.txt-26-40{
  font-size: clamp(1.625rem, 1.316rem + 1.32vw, 2.9rem);
  letter-spacing: 0.15em;
  line-height: 1.5;
}
/* 24-36-41.4 */
.txt-24-36{
  font-size: clamp(1.5rem, 1.236rem + 1.13vw, 2.587rem);
  letter-spacing: 0.11em;
  line-height: 1.55;
}
/* 22-32-36.6 */
.txt-22-32{
  font-size: clamp(1.375rem, 1.154rem + 0.94vw, 2.288rem);
  letter-spacing: 0.11em;
  line-height: 1.55;
}
/* 20-28-31.6 */
.txt-20-28{
  font-size: clamp(1.25rem, 1.074rem + 0.75vw, 1.975rem);
  letter-spacing: 0.11em;
  line-height: 1.55;
}
/* 18-24-26.8 */
.txt-18-24{
  font-size: clamp(1.125rem, 0.992rem + 0.57vw, 1.675rem);
  letter-spacing: 0.11em;
  line-height: 1.55;
}
/* 16-20-21.7 */
.txt-16-20{
  font-size: clamp(1rem, 0.914rem + 0.37vw, 1.356rem);
  letter-spacing: 0.11em;
  line-height: 1.6;
}
/* 15-18-19.5 */
.txt-15-18{
  font-size: clamp(0.938rem, 0.869rem + 0.29vw, 1.219rem);
  letter-spacing: 0.11em;
  line-height: 1.75;
}
/* 14-16-17 */
.txt-14-16{
  font-size: clamp(0.875rem, 0.829rem + 0.19vw, 1.063rem);
  letter-spacing: 0.11em;
  line-height: 1.75;
}
/* 12-14-14.9 */
.txt-12-14{
  font-size: clamp(0.75rem, 0.706rem + 0.19vw, 0.931rem);
  letter-spacing: 0.11em;
  line-height: 1.75;
}
/* 10-12-12.9 */
.txt-10-12{
  font-size: clamp(0.625rem, 0.581rem + 0.19vw, 0.806rem);
  letter-spacing: 0.11em;
  line-height: 1.75;
}


.libre-baskerville-regular{
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.libre-baskerville-bold{
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.txt-regular{
  font-weight: 400;
}
.txt-medium{
  font-weight: 500;
}
.txt-bold{
  font-weight: 700;
}
.txt-center{
  text-align: center;
}
.txt-left{
  text-align: left;
}
.txt-right{
  text-align: right;
}
.txt-just{
  text-align: justify;
}
.ls-0_05{
  letter-spacing: 0.05em;
}
.lh-2{
  line-height: 2;
}
.lh-1_55{
  line-height: 1.55;
}
.lh-1_5{
  line-height: 1.5;
}
.lh-1_3{
  line-height: 1.3;
}
.lh-1_1{
  line-height: 1.1;
}
.en-upper{
  text-transform: uppercase;
}
.en-normal{
  text-transform: none;
}

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


/* --------------- wrap --------------- */
.wrap-1360{
  width: min(94.4445vw, 92em);
  margin: 0 auto;
}
@media (max-width: 1023px){
  .wrap-1360{
    width: 90.1334vw;
  }
}
@media (max-width: 767px){
  .wrap-1360{
    width: min(90.1334vw,32em);
  }
}


/* --------------- grid --------------- */
.grid-16{
  display: grid;
  grid-template-columns: repeat(16,1fr);
  column-gap: min(2.2222vw,2em);
}
@media (max-width: 1023px){
}
@media (max-width: 767px){
}

/* ----- col ----- */
.col-lg-1{
  grid-column: auto / span 1;
}
.col-lg-2{
  grid-column: auto / span 2;
}
.col-lg-3{
  grid-column: auto / span 3;
}
.col-lg-4{
  grid-column: auto / span 4;
}
.col-lg-5{
  grid-column: auto / span 5;
}
.col-lg-6{
  grid-column: auto / span 6;
}
.col-lg-7{
  grid-column: auto / span 7;
}
.col-lg-8{
  grid-column: auto / span 8;
}
.col-lg-9{
  grid-column: auto / span 9;
}
.col-lg-10{
  grid-column: auto / span 10;
}
.col-lg-11{
  grid-column: auto / span 11;
}
.col-lg-12{
  grid-column: auto / span 12;
}
.col-lg-13{
  grid-column: auto / span 13;
}
.col-lg-14{
  grid-column: auto / span 14;
}
.col-lg-15{
  grid-column: auto / span 15;
}
.col-lg-16{
  grid-column: auto / span 16;
}
@media (max-width: 1023px){
  .col-md-1{
    grid-column: auto / span 1;
  }
  .col-md-2{
    grid-column: auto / span 2;
  }
  .col-md-3{
    grid-column: auto / span 3;
  }
  .col-md-4{
    grid-column: auto / span 4;
  }
  .col-md-5{
    grid-column: auto / span 5;
  }
  .col-md-6{
    grid-column: auto / span 6;
  }
  .col-md-7{
    grid-column: auto / span 7;
  }
  .col-md-8{
    grid-column: auto / span 8;
  }
  .col-md-9{
    grid-column: auto / span 9;
  }
  .col-md-10{
    grid-column: auto / span 10;
  }
  .col-md-11{
    grid-column: auto / span 11;
  }
  .col-md-12{
    grid-column: auto / span 12;
  }
  .col-md-13{
    grid-column: auto / span 13;
  }
  .col-md-14{
    grid-column: auto / span 14;
  }
  .col-md-15{
    grid-column: auto / span 15;
  }
  .col-md-16{
    grid-column: auto / span 16;
  }
}
@media (max-width: 767px){
  .grid-16{
    grid-template-columns: repeat(8,1fr);
    column-gap: min(3.7334vw,1em);
  }
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12,
  .col-lg-13,
  .col-lg-14,
  .col-lg-15,
  .col-lg-16,
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12,
  .col-md-13,
  .col-md-14,
  .col-md-15,
  .col-md-16{
    grid-column: auto / span 8;
  }
  .col-sm-1{
    grid-column: auto / span 1;
  }
  .col-sm-2{
    grid-column: auto / span 2;
  }
  .col-sm-3{
    grid-column: auto / span 3;
  }
  .col-sm-4{
    grid-column: auto / span 4;
  }
  .col-sm-5{
    grid-column: auto / span 5;
  }
  .col-sm-6{
    grid-column: auto / span 6;
  }
  .col-sm-7{
    grid-column: auto / span 7;
  }
  .col-sm-8{
    grid-column: auto / span 8;
  }
}

/* ----- start ----- */
.start-lg-1{
  grid-column-start: 1;
}
.start-lg-2{
  grid-column-start: 2;
}
.start-lg-3{
  grid-column-start: 3;
}
.start-lg-4{
  grid-column-start: 4;
}
.start-lg-5{
  grid-column-start: 5;
}
.start-lg-6{
  grid-column-start: 6;
}
.start-lg-7{
  grid-column-start: 7;
}
.start-lg-8{
  grid-column-start: 8;
}
.start-lg-9{
  grid-column-start: 9;
}
.start-lg-10{
  grid-column-start: 10;
}
.start-lg-11{
  grid-column-start: 11;
}
.start-lg-12{
  grid-column-start: 12;
}
.start-lg-13{
  grid-column-start: 13;
}
.start-lg-14{
  grid-column-start: 14;
}
.start-lg-15{
  grid-column-start: 15;
}
@media (max-width: 1023px){
  .start-md-1{
    grid-column-start: 1;
  }
  .start-md-2{
    grid-column-start: 2;
  }
  .start-md-3{
    grid-column-start: 3;
  }
  .start-md-4{
    grid-column-start: 4;
  }
  .start-md-5{
    grid-column-start: 5;
  }
  .start-md-6{
    grid-column-start: 6;
  }
  .start-md-7{
    grid-column-start: 7;
  }
  .start-md-8{
    grid-column-start: 8;
  }
  .start-md-9{
    grid-column-start: 9;
  }
  .start-md-10{
    grid-column-start: 10;
  }
  .start-md-11{
    grid-column-start: 11;
  }
  .start-md-12{
    grid-column-start: 12;
  }
  .start-md-13{
    grid-column-start: 13;
  }
  .start-md-14{
    grid-column-start: 14;
  }
  .start-md-15{
    grid-column-start: 15;
  }
}
@media (max-width: 767px){
  .start-lg-1,
  .start-lg-2,
  .start-lg-3,
  .start-lg-4,
  .start-lg-5,
  .start-lg-6,
  .start-lg-7,
  .start-lg-8,
  .start-lg-9,
  .start-lg-10,
  .start-lg-11,
  .start-lg-12,
  .start-lg-13,
  .start-lg-14,
  .start-lg-15,
  .start-lg-16,
  .start-md-1,
  .start-md-2,
  .start-md-3,
  .start-md-4,
  .start-md-5,
  .start-md-6,
  .start-md-7,
  .start-md-8,
  .start-md-9,
  .start-md-10,
  .start-md-11,
  .start-md-12,
  .start-md-13,
  .start-md-14,
  .start-md-15,
  .start-md-16{
    grid-column-start: 1;
  }
  .start-sm-1{
    grid-column-start: 1;
  }
  .start-sm-2{
    grid-column-start: 2;
  }
  .start-sm-3{
    grid-column-start: 3;
  }
  .start-sm-4{
    grid-column-start: 4;
  }
  .start-sm-5{
    grid-column-start: 5;
  }
  .start-sm-6{
    grid-column-start: 6;
  }
  .start-sm-7{
    grid-column-start: 7;
  }
}




/* --------------- space --------------- */
/* 375px~1920px */
/* 128-320 */
.space-128-320{
  padding-top: 8rem;
  padding-top: clamp(8rem, 5.087rem + 12.43vw, 20rem);
}
.space-128-320-bottom{
  padding-bottom: 8rem;
  padding-bottom: clamp(8rem, 5.087rem + 12.43vw, 20rem);
}
/* 112-280 */
.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);
}
/* 96-240 */
.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);
}
/* 80-200 */
.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);
}
/* 64-160 */
.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);
}
/* 48-120 */
.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);
}
/* 40-100 */
.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);
}
/* 34-80 */
.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);
}
/* 1 */
.space-1{
  padding-top: 1px;
}

/* margin-top */
.mt-3{
  margin-top: 3em;
}
.mt-2_5{
  margin-top: 2.5em;
}
.mt-2{
  margin-top: 2em;
}
.mt-1_5{
  margin-top: 1.5em;
}
.mt-1{
  margin-top: 1em;
}
.mt-0_5{
  margin-top: 0.5em;
}
@media (max-width: 767px){
  .mt-3{
    margin-top: 1.9em;
  }
  .mt-2_5{
    margin-top: 1.7em;
  }
  .mt-2{
    margin-top: 1.3em;
  }
  .mt-1_5{
    margin-top: 1em;
  }
  .mt-1{
    margin-top: 0.8em;
  }
  .mt-0_5{
    margin-top: 0.4em;
  }
}
/* margin-bottom */
.mb-3{
  margin-bottom: 3em;
}
.mb-2_5{
  margin-bottom: 2.5em;
}
.mb-2{
  margin-bottom: 2em;
}
.mb-1_5{
  margin-bottom: 1.5em;
}
.mb-1{
  margin-bottom: 1em;
}
.mb-0_5{
  margin-bottom: 0.5em;
}
@media (max-width: 767px){
  .mb-3{
    margin-bottom: 1.9em;
  }
  .mb-2_5{
    margin-bottom: 1.7em;
  }
  .mb-2{
    margin-bottom: 1.3em;
  }
  .mb-1_5{
    margin-bottom: 1em;
  }
  .mb-1{
    margin-bottom: 0.8em;
  }
  .mb-0_5{
    margin-bottom: 0.4em;
  }
}

/* padding-top */
.pt-3{
  padding-top: 3em;
}
.pt-2_5{
  padding-top: 2.5em;
}
.pt-2{
  padding-top: 2em;
}
.pt-1_5{
  padding-top: 1.5em;
}
.pt-1{
  padding-top: 1em;
}
.pt-0_5{
  padding-top: 0.5em;
}
@media (max-width: 767px){
  .pt-3{
    padding-top: 1.9em;
  }
  .pt-2_5{
    padding-top: 1.7em;
  }
  .pt-2{
    padding-top: 1.3em;
  }
  .pt-1_5{
    padding-top: 1em;
  }
  .pt-1{
    padding-top: 0.8em;
  }
  .pt-0_5{
    padding-top: 0.4em;
  }
}

/* padding-bottom */
.pb-3{
  padding-bottom: 3em;
}
.pb-2_5{
  padding-bottom: 2.5em;
}
.pb-2{
  padding-bottom: 2em;
}
.pb-1_5{
  padding-bottom: 1.5em;
}
.pb-1{
  padding-bottom: 1em;
}
.pb-0_5{
  padding-bottom: 0.5em;
}
@media (max-width: 767px){
  .pb-3{
    padding-bottom: 1.9em;
  }
  .pb-2_5{
    padding-bottom: 1.7em;
  }
  .pb-2{
    padding-bottom: 1.3em;
  }
  .pb-1_5{
    padding-bottom: 1em;
  }
  .pb-1{
    padding-bottom: 0.8em;
  }
  .pb-0_5{
    padding-bottom: 0.4em;
  }
}


/* --------------- color --------------- */
/* bg */
.bg-white{
  background-color: #fff;
}
.bg-gray-green{
  background-color: #f6f7f5;
}
.bg-green{
  background-color: #599134;
}
.bg-water{
  background-color: #3eb7a6;
}
.bg-pink{
  background-color: #e58393;
}


/* txt */
.txt-white, .txt-white a{
  color: #fff;
}
.txt-black, .txt-black a{
  color: #333;
}
.txt-green, .txt-green a{
  color: #2e8400;
}
.txt-water, .txt-water a{
  color: #249b87;
}
.txt-pink, .txt-pink a{
  color: #ea758b;
}