@charset "utf-8";


/* --------------- base --------------- */
body{
  font-family: YakuHanMP, "Noto Serif JP", serif;
  /* 375-1500-1920px 12-15-16.1 */
  font-size: clamp(0.75rem, 0.688rem + 0.27vw, 1.006rem);
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.75;
  color: #141414;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a{
  text-decoration: none;
  color: #141414;
}
img,svg,video {
  width: 100%;
  height: auto;
  vertical-align: middle;
  box-sizing: border-box;
}
button{
  display: block;
  letter-spacing: 0.12em;
}
*,
*::before,
*::after {
  box-sizing: boder-box;
}
.block{
  display: block;
}
.ib {
  display: inline-block;
}

.flex{
  display: flex;
}
.grid{
  display: grid;
}
.grid2{
  display: grid;
  grid-template-columns: repeat(2,1fr);
}
@media (max-width: 767px){
  .grid2{
    grid-template-columns: repeat(1,1fr);
  }
}
.contents-relative{
  position: relative;
  z-index: 1;
}

.pc-none{
  display: none;
}
.sp-only{
  display: none;
}
@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 --------------- */

/* 375-1500-1920px 19-42-50.5 */
.txt-19-42{
  font-size: clamp(1.188rem, 0.71rem + 2.04vw, 3.156rem);
  letter-spacing: 0.12em;
}
/* 14-32-38.7 */
.txt-14-32{
  font-size: clamp(0.875rem, 0.5rem + 1.6vw, 2.419rem);
  letter-spacing: 0.12em;
}
/* 12-28-34 */
.txt-12-28{
  font-size: clamp(0.75rem, 0.416rem + 1.42vw, 2.125rem);
  letter-spacing: 0.12em;
}
/* 11-26-31.5 */
.txt-11-26{
  font-size: clamp(0.688rem, 0.377rem + 1.33vw, 1.969rem);
  letter-spacing: 0.12em;
}
/* 12-23-27.2 */
.txt-12-23{
  font-size: clamp(0.75rem, 0.519rem + 0.98vw, 1.7rem);
  letter-spacing: 0.12em;
}
/* 11-22-26.2 */
.txt-11-22{
  font-size: clamp(0.688rem, 0.457rem + 0.98vw, 1.637rem);
  letter-spacing: 0.12em;
}
/* 11-22-26.2 */
.txt-11-22{
  font-size: clamp(0.688rem, 0.457rem + 0.98vw, 1.637rem);
  letter-spacing: 0.12em;
}
/* 13-14-14.4 */
.txt-13-14{
  font-size: clamp(0.813rem, 0.791rem + 0.09vw, 0.9rem);
  letter-spacing: 0.12em;
}
/* 10 */
.txt-10{
  font-size: 0.625rem;
  letter-spacing: 0.12em;
}

.libre-baskerville-regular{
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-style: normal;
}
.libre-baskerville-bold{
  font-family: "Libre Baskerville", serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-style: normal;
}

.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_1{
  letter-spacing: 0.1em;
}
.ls-0_07{
  letter-spacing: 0.07em;
}
.ls-0_05{
  letter-spacing: 0.05em;
}
.ls-0{
  letter-spacing: 0;
}
.lh-1_75{
  line-height: 1.75;
}
.lh-1_4{
  line-height: 1.4;
}
.en-upper{
  text-transform: uppercase;
}
.scaleX95{
  overflow: hidden;
}
.scaleX95-inner{
  width: 105.2631%;
  -webkit-transform: scaleX(0.95);
  transform: scaleX(0.95);
  -webkit-transform-origin: 0 0%;
  transform-origin: 0 0%;
}
.txt-center .scaleX95-inner,
.txt-center.scaleX95-inner{
  width: 100%;
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
}



/* --------------- wrap --------------- */
/* 1300 */
.wrap-1300{
  width: min(86.6667%,86.6667em);
  margin: 0 auto;
}
/* 1090 */
.wrap-1090{
  width: min(72.6667%,72.387em);
  margin: 0 auto;
}
@media (max-width: 1023px){
}
@media (max-width: 767px){
  .wrap-1300,
  .wrap-1090{
  width: min(90.6667%,38em);
  margin: 0 auto;
}
}


/* --------------- 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);
}
/* 1 */
.space-1{
  padding-top: 1px;
}

.mt3{
  margin-top: 3em;
}
.mt2_5{
  margin-top: 2.5em;
}
.mt2{
  margin-top: 2em;
}
.mt1_5{
  margin-top: 1.5em;
}
.mt1{
  margin-top: 1em;
}
.mt0_5{
  margin-top: 0.5em;
}
@media (max-width: 767px){
  .mt3{
    margin-top: 1.9em;
  }
  .mt2_5{
    margin-top: 1.7em;
  }
  .mt2{
    margin-top: 1.3em;
  }
  .mt1_5{
    margin-top: 1em;
  }
  .mt1{
    margin-top: 0.8em;
  }
  .mt0_5{
    margin-top: 0.4em;
  }
}
/* margin-bottom */
.mb3{
  margin-bottom: 3em;
}
.mb2_5{
  margin-bottom: 2.5em;
}
.mb2{
  margin-bottom: 2em;
}
.mb1_5{
  margin-bottom: 1.5em;
}
.mb1{
  margin-bottom: 1em;
}
.mb0_5{
  margin-bottom: 0.5em;
}
@media (max-width: 767px){
  .mb3{
    margin-bottom: 1.9em;
  }
  .mb2_5{
    margin-bottom: 1.7em;
  }
  .mb2{
    margin-bottom: 1.3em;
  }
  .mb1_5{
    margin-bottom: 1em;
  }
  .mb1{
    margin-bottom: 0.8em;
  }
  .mb0_5{
    margin-bottom: 0.4em;
  }
}
/* 全方位paddinfg */
.p2{
  padding: 2em;
}
.p1_5{
  padding: 1.5em;
}
.p1{
  padding: 1em;
}
.p0_5{
  padding: 0.5em;
}
@media (max-width: 767px){
  .p2{
    padding: 1.3em;
  }
  .p1_5{
    padding: 1em;
  }
  .p1{
    padding: 0.8em;
  }
  .p0_5{
    padding: 0.4em;
  }
}
/* gap */
.g2{
  gap: 2em;
}
.g1_5{
  gap: 1.5em;
}
.g1{
  gap: 1em;
}
.g0_5{
  gap: 0.5em;
}
@media (max-width: 767px){
  .g2{
    gap: 1.3em;
  }
  .g1_5{
    gap: 1em;
  }
  .g1{
    gap: 0.8em;
  }
  .g0_5{
    gap: 0.4em;
  }
}
/* grid-gap */
.gg2{
  grid-gap: 2em;
}
.gg1_5{
  grid-gap: 1.5em;
}
.gg1{
  grid-gap: 1em;
}
.gg0_5{
  grid-gap: 0.5em;
}
@media (max-width: 767px){
  .gg2{
    grid-gap: 1.3em;
  }
  .gg1_5{
    grid-gap: 1em;
  }
  .gg1{
    grid-gap: 0.8em;
  }
  .gg0_5{
    grid-gap: 0.4em;
  }
}
/* padding-inline */
.pi2{
  padding-inline: 2em;
}
.pi1_5{
  padding-inline: 1.5em;
}
.pi1{
  padding-inline: 1em;
}
.pi0_5{
  padding-inline: 0.5em;
}
@media (max-width: 767px){
  .pi2{
    padding-inline: 1.3em;
  }
  .pi1_5{
    padding-inline: 1em;
  }
  .pi1{
    padding-inline: 0.8em;
  }
  .pi0_5{
    padding-inline: 0.4em;
  }
}

.fit{
  width: fit-content;
}
.align-center{
  align-items: center;
}
.align-end{
  align-items: end;
}


/* --------------- color --------------- */

/* bg */
.bg-lightgreen{
  background-color: rgb(212, 226, 113, 1);
}
.bg-lightblue{
  background-color: #d2e3e2;
}
.bg-white{
  background-color: #fff;
}
.bg-black{
  background-color: #333;
}

/* txt */
.txt-black, .txt-black a{
  color: #141414;
}
.txt-white, .txt-white a{
  color: #fff;
}
.txt-purple, .txt-purple a{
  color: #6b1b7e;
}
