@charset "utf-8";

/******
フォント

Libre Bodoni(BodoniSvtyTwoOSITCTTBook)
  font-family: "Libre Bodoni", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;

Sawarabi Mincho
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
  font-style: normal;

Instrument Sans
  .instrument-sans-<uniquifier> {
  font-family: "Instrument Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

Noto Sans Japanese
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

*******/

body {
  color: #231815;
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.02em;
  overflow-wrap: break-word;
  word-break: break-word;
}

.img {
  width: 100%;
  height: auto;
}

.hover--opacity {
  transition: opacity 0.3s;
}
.hover--opacity:hover {
  opacity: 0.7;
}

.inner-1440 {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}
/* .inner-1200 {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
} */
.inner-1200 {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: 0 auto;
}
.inner-1020 {
  width: calc(100% - 40px);
  max-width: 1020px;
  margin: 0 auto;
}
.inner-745 {
  width: 92%;
  max-width: 745px;
  margin: 0 auto;
}

a.sptel {
  cursor: default;
  pointer-events: none;
}

.ilblk {
  display: inline-block;
}

.sp {
  display: none;
}

.br_480{
  display: none;
}

.bg-wrap{
  position: relative;
  width: 100%;
  height: 100%;
}
.gradation-bg {
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    #9b9ad7,
    #f7b27a,
    #f08a24
  );
  background-size: 300% 300%;
  animation: gradationMove 12s ease infinite;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
@keyframes gradationMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}


.gradation-bgPurple{
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;

  background: linear-gradient(
    120deg,
    #9b9ad7 0%,
    #b7a6b8 30%,
    #e3a98f 60%,
    #f08a24 100%
  );

  background-size: 200% 200%;
  animation: gradationMove2 18s ease-in-out infinite alternate;
}

@keyframes gradationMove2 {
  0% {
    background-position: 0% 30%;
  }
  100% {
    background-position: 100% 70%;
  }
}


.gradation-bg02{
  position: absolute;
  inset: 0;
  z-index: 2;

  background: linear-gradient(
    135deg,
    #9b9ad7 0%,
    #c9a4b0 35%,
    #f3a777 65%,
    #f08a24 100%
  );

  background-size: 250% 250%;
  animation: gradationMove3 20s ease-in-out infinite alternate;
}

@keyframes gradationMove3 {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 100% 100%;
  }
}

.bg-white{
  background-color: #fff;
  position: relative;
  z-index: 3;
}

.sec-title{
  font-family: "Libre Bodoni", serif;
  font-size: 39px;
  /* letter-spacing: -0.04em; */
  letter-spacing: 0;
}
.sec-num{
  margin-right: 10px;
  font-family: "Instrument Sans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
}

/* マウスストーカー */
#stalker {
  pointer-events: none;
  position: fixed;
  width: 10px;
  height: 10px;
  background-color:  #e3aa8faf ;
  border-radius: 50%;
  transition: transform 0.2s;
  transform: translate(0, 0);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}

#stalker span {
  opacity: 0;
  font-size: 9px;
  color: #d0c3ff8a;
  transition: 0;
  font-family: "Libre Bodoni", serif;
}

#stalker.hover span {
  opacity: 1;
  transition: 0.2s;
}

#stalker.hover {
  width: 50px;
  height: 50px;
  background-color: transparent;
  border: 1px solid #d0c3ff8a;
  transition: 0.2s;
}




/*===================
inview
===================*/
/* フェード用 */
.inview {
  opacity: 0;
  transition: opacity 1s, transform 1s;
}

.inview.fade-in {
  transform: translateY(20px);
}

.inview.is-active {
  opacity: 1;
  transform: translateY(0);
}




/******
下層共通
*******/
.low{
  position: relative;
}
.low-bg.gradation-bg{
  /* position: fixed; */
  z-index: 0;
}
.low-fv{
  padding-top: clamp(180px,24.65vw,355px);
  padding-bottom: clamp(80px,12.84vw,185px);
  position: relative;
  z-index: 1;
}
.low-fv__inner{
  width: 100%;
  max-width: 815px;
  padding: 0 20px;
  margin: 0 auto;
}
.low-fv__ttl{
  font-family: "Libre Bodoni", serif;
  font-size: 34px;
  letter-spacing: 0;
}
.low-conts{
  width: 100%;
  max-width: 910px;
  padding: 0 20px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.low-contsWrap{
  margin-bottom: 70px;
  padding-bottom: clamp(80px,13.88vw,200px);
}



/* 404ページ↓ */
.not-found div {
  width: calc(100% - 40px);
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
  padding: 180px 0;
  min-height: 60vh;
  position: relative;
  z-index: 4;
}
.not-foun__en {
  font-size: 25px;
  font-weight: 500;
  margin-bottom: 30px;
  font-family: "Libre Bodoni", serif;
}
.not-foun__ja {
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 15px;
  line-height: 2.2;
}
.not-foun__ja strong {
  font-size: 20px;
  display: block;
  margin-bottom: 20px;
}
.not-found a {
  font-size: 16px;
  font-weight: 500;
  text-decoration: underline;
  display: inline;
}
/* 404ページ↑ */

@media screen and (max-width: 1440px) {
}

@media screen and (max-width: 1350px) {
}

@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 980px) {
}

@media screen and (max-width: 700px) {
  a.sptel {
    cursor: pointer;
    pointer-events: auto;
  }
}

@media screen and (max-width: 750px) {
  .sec-title{
  font-size: 26px;
}
 .sec-num{
  font-size: 11px;
 }
.sp {
  display: block;
}
.pc{
  display: none;
}
#stalker {
  display: none;
}

  /* 404ページ↓ */
  .not-found div {
    padding: 120px 0 70px;
  }
  .not-foun__en {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .not-foun__ja {
    font-size: 14px;
    margin-bottom: 10px;
  }
  .not-foun__ja strong {
    font-size: 17px;
    margin-bottom: 15px;
  }
  .not-found a {
    font-size: 14px;
  }
  /* 404ページ↑ */
}

@media screen and (max-width: 500px) {
}

@media screen and (max-width: 480px) {
  .br_480{
    display: block;
  }
}

@media screen and (max-width: 375px) {
  
}
