@charset "UTF-8";

/*=====================

TOP CSS

=====================*/

article {
  overflow: clip!important;
}

.c-page-caption {
  margin-bottom: 10px;
}


/*---------------------*/
/*メインビジュアル*/
/*---------------------*/
/*#mvArea {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 84px;
}
#mvArea img {
  width: 100%;
}
#mvArea .mv_01 {
  position: relative;
  width: 100%;
  z-index: 10;
}
#mvArea .mv_copy {
  position: absolute;
  top: 10%;
  left: 8%;
  width: 80%;
  max-width: 1240px;
  z-index: 10;
  animation: mainanimation01 1s ease-in-out 0.3s forwards;
  opacity: 0;
}*/
/* アニメーション */
/*@keyframes mainanimation01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
*/


#mvArea {
  position: relative;
  width: 100%;
  height: 50vw;
  overflow: hidden;
  margin-top: 84px;
}
#mvArea img {
  width: 100%;
}
#mvArea .mv_00 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50vw;
  background: #FFF;
  z-index: 10;
  opacity: 1;
}
#mvArea .mv_00 p.mv_maintxt {
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 49px;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.1em;
  color: #333;
  animation: mainanimation01 1s ease-in-out 0.3s forwards;
  z-index: 10;
  opacity: 0;
}
#mvArea .mv_00 p.mv_maintxt span {
  font-family: "eb-garamond", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 70px;
}
#mvArea .mv_01 .mv_main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50vw;
  animation: mainanimation02 7s ease-in-out 2.3s forwards;
  z-index: 10;
  opacity: 0;
}
#mvArea .mv_01 .mv_copy {
  position: absolute;
  top: 12%;
  right: 3%;
  animation: mainanimation02_p 4s ease-in-out 6s forwards;
  z-index: 10;
  opacity: 0;
}
#mvArea .mv_01 .copy_txt {
  width: 100%;
}
#mvArea .mv_01 .copy_txt p {
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 35px;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFF;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 1), 0px 0px 4px rgba(0, 0, 0, 1), 0px 0px 4px rgba(0, 0, 0, 1), 0px 0px 4px rgba(0, 0, 0, 1);
}
#mvArea .mv_01 .copy_txt p.small {
  font-size: 25px;
}
#mvArea .mv_01 .copy_txt p span {
  font-size: 12px;
  vertical-align: top;
}
#mvArea .mv_01 p.cap {
  animation: mainanimation02_p 1.5s ease-in-out 3s forwards;
  opacity: 0;
}

#mvArea .mv_02 .mv_main {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  animation: mainanimation03 2s ease-in-out 8.5s forwards;
  z-index: 10;
  opacity: 0;
}
#mvArea .mv_02 .mv_copy {
  position: absolute;
  top: 50%;
  left: 3%;
  transform: translateY(-50%);
  width: 100%;
  animation: mainanimation02_p 4.5s ease-in-out 10.5s forwards;
  z-index: 10;
  opacity: 0;
}
#mvArea .mv_02 .copy_txt {
  margin-bottom: 1em;
}
#mvArea .mv_02 .copy_txt p {
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 35px;
  line-height: 1.8;
  text-align: left;
  letter-spacing: 0.1em;
  color: #333;
}
#mvArea .mv_02 p.cap {
  animation: mainanimation03 1.5s ease-in-out 8.5s forwards;
  z-index: 10;
  opacity: 0;
}
#mvArea .mv_02 .copy_sub {
  width: 14%;
}

#mvArea .mv_03 .mv_main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  animation: mainanimation04 5s ease-in-out 13.5s forwards;
  z-index: 20;
  opacity: 0;
}
#mvArea .mv_03 .mv_copy {
  position: absolute;
  top: 6%;
  right: 5%;
  width: 23%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2.5em;
  z-index: 20;
}
#mvArea .mv_03 .mv_copy .copy_01 {
  width: 90%;
  margin: auto;
  animation: mainanimation03 2s ease-in-out 18s forwards;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 1)) drop-shadow(0px 0px 3px rgba(0, 0, 0, 1)) drop-shadow(0px 0px 3px rgba(0, 0, 0, 1));
  opacity: 0;
}
#mvArea .mv_03 .mv_copy .copy_02 {
  width: 100%;
  margin: auto;
  animation: mainanimation03 2s ease-in-out 18.6s forwards;
  filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 1)) drop-shadow(0px 0px 3px rgba(0, 0, 0, 1)) drop-shadow(0px 0px 3px rgba(0, 0, 0, 1));
  opacity: 0;
}
#mvArea .mv_03 p.cap {
  animation: mainanimation03 1.5s ease-in-out 14s forwards;
  z-index: 20;
  opacity: 0;
}
/* アニメーション */
@keyframes mainanimation01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mainanimation02 {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-23vw);
  }
  100% {
    opacity: 1;
    transform: translateY(-23vw);
  }
}
@keyframes mainanimation02_p {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mainanimation03 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mainanimation04 {
  0% {
    opacity: 0;
    transform: translateY(-10vw);
  }
  30% {
    opacity: 1;
    transform: translateY(-10vw);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Tab */
@media only screen and (max-width: 768px) {
  #mvArea {
    height: 110vw;
    margin-top: 49px;
  }

  #mvArea .mv_00 {
    height: 110vw;
  }
  #mvArea .mv_00 p.mv_maintxt {
    /*font-size: 49px;*/
    font-size: 6.38vw;
    line-height: 1.4;
  }
  #mvArea .mv_00 p.mv_maintxt span {
    /*font-size: 70px;*/
    font-size: 9.115vw;
  }

  #mvArea .mv_01 .mv_main {
    height: 110vw;
  }
  #mvArea .mv_01 .mv_copy {
    position: absolute;
    top: 12%;
    left: 0;
    width: 100%;
  }
  #mvArea .mv_01 .copy_txt {
    width: 100%;
  }
  #mvArea .mv_01 .copy_txt p {
    /*font-size: 35px;*/
    font-size: 4.557vw;
    line-height: 1.5;
  }
  #mvArea .mv_01 .copy_txt p.small {
    /*font-size: 25px;*/
    font-size: 3.255vw;
  }
  #mvArea .mv_01 .copy_txt p span {
    font-size: 10px;
  }

  #mvArea .mv_02 .mv_copy {
    top: 10%;
    left: 12%;
    transform: translateY(0);
  }
  #mvArea .mv_02 .copy_txt p {
    /*font-size: 35px;*/
    font-size: 4.557vw;
    line-height: 1.8;
  }
  #mvArea
  #mvArea .mv_02 .copy_sub {
    width: 45%;
  }

  #mvArea .mv_03 .mv_copy {
    top: 5%;
    right: 0;
    left: 50%;
    transform: translateY(0) translateX(-50%);
    width: 90%;
    display: flex;
    flex-direction: row;
    gap: 2em;
  }
  #mvArea .mv_03 .mv_copy .copy_01 {
    width: 40%;
    margin: auto;
  }
  #mvArea .mv_03 .mv_copy .copy_02 {
    width: calc(60% - 2em);
    margin: auto;
  }
  /* アニメーション */
  @keyframes mainanimation02 {
    0% {
      opacity: 0;
      transform: translateY(0);
    }
    20% {
      opacity: 1;
    }
    50% {
      opacity: 1;
      transform: translateY(-42vw);
    }
    100% {
      opacity: 1;
      transform: translateY(-42vw);
    }
  }
  @keyframes mainanimation04 {
    0% {
      opacity: 0;
      transform: translateY(-18vw);
    }
    20% {
      opacity: 1;
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}



/*---------------------*/
/*告知*/
/*---------------------*/
.c-action p:nth-child(2) {
  margin-bottom: 0.7rem;
}

.priceWrap {
  width: 100%;
  padding: 3rem 0;
  background: #feeed4;
}
.price_con {
  display: inline-block;
}
.priceWrap .price_fl {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
.priceWrap p {
  letter-spacing: 0.05em;
  margin: 0;
}
.priceWrap .price_fl .ttl {
  border: solid 1px #333;
  padding: 0.5em;
  font-size: 18px;
  line-height: 1;
  text-align: center;
}
.priceWrap .price_fl .price {
  font-size: 28px;
}
.priceWrap .price_fl .price span {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
}
.priceWrap .price_fl .price span.large {
  font-size: 40px;
  line-height: 1;
}
.priceWrap .price_fl .price span.huge {
  font-size: 50px;
  line-height: 1;
}
.priceWrap .price_cap {
  font-size: 12px;
  text-align: right;
}


/* Tab */
@media only screen and (max-width: 768px) {
  .priceWrap {
    padding: 2rem 0;
  }
  .priceWrap .price_fl {
    flex-direction: column;
    gap: 0.5em;
  }
  .priceWrap .price_fl .ttl {
    border: solid 1px #333;
    padding: 0.5em 1em;
    /*font-size: 18px;*/
    font-size: 3.125vw;
  }
  .priceWrap .price_fl .price {
    /*font-size: 28px;*/
    font-size: 4.427vw;
  }
  .priceWrap .price_fl .price span.large {
    /*font-size: 40px;*/
    font-size: 5.99vw;
  }
  .priceWrap .price_fl .price span.huge {
    /*font-size: 50px;*/
    font-size: 7.292vw;
  }
  .priceWrap .price_cap {
    font-size: 10px;
    text-align: center;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}



/*---------------------*/
/*USP*/
/*---------------------*/
.c-usp {
  width: 100%;
  padding: 4em 0;
  background: url(../images/index/usp_bg.jpg) no-repeat 100% 50%/cover;
}
.c-usp .section {
  width: 96%;
  max-width: 1440px;
}
.c-usp ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 1em;
  margin: 0;
  padding: 0;
}
.c-usp ul li {
  width: calc((100% - 2em) / 3);
  position: relative;
  display: flex;
  align-items: center;
  background: #FFF;
  box-shadow: 9px 4px 10px rgba(114, 114, 114, 0.6);
  padding: 1.6em 0.5em;
}
.c-usp ul li .usp_copy {
  flex-grow:1;
}
.c-usp ul li p {
  font-size: 20px;
  line-height: 1.4;
  text-align: left;
  color: #333;
  text-align: center;
  font-feature-settings: "halt";
  margin: 0;
}
.c-usp ul li p.small {
  font-size: 12px;
  line-height: 1.2;
  text-align: left;
  margin-bottom: -1rem;
}
.c-usp ul li p > span.sup {
  font-size: 12px;
  vertical-align: top;
}
.c-usp ul li p > span.small {
  font-size: 16px;
}
.c-usp ul li p > span.huge {
  font-size: 26px;
}
.c-usp ul li p > span.bold {
  font-weight: 900;
  color: #753237;
}
.c-usp ul li p > span.en {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-size: 39px;
  line-height: 1;
  color: #753237;
}
.c-usp ul li p ruby {
  ruby-overhang: auto;
}

/* Tab */
@media only screen and (max-width: 768px) {
  .c-usp {
    padding: 3em 0;
  }
  .c-usp .section {
    width: 90%;
  }
  .c-usp ul {
    gap: 1em;
  }
  .c-usp ul li {
    width: 100%;
    padding: 1.4em 0.5em;
  }
  .c-usp ul li p {
    /*font-size: 20px;*/
    font-size: 3.385vw;
  }
  .c-usp ul li p.small {
    font-size: 10px;
    margin-bottom: -1rem;
  }
  .c-usp ul li p > span.sup {
    font-size: 10px;
  }
  .c-usp ul li p > span.small {
    /*font-size: 16px;*/
    font-size: 2.865vw;
  }
  .c-usp ul li p > span.huge {
    /*font-size: 26px;*/
    font-size: 4.167vw;
  }
  .c-usp ul li p > span.en {
    /*font-size: 39px;*/
    font-size: 5.859vw;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
  .c-usp {
    padding: 2em 0;
  }
  .c-usp .section {
    width: 94%;
  }
  .c-usp ul {
    gap: 0.5em;
  }
  .c-usp ul li {
    width: 100%;
    padding: 1em 0.3em;
  }
  .c-usp ul li p {
    /*font-size: 18px;*/
    font-size: 4.186vw;
  }
  .c-usp ul li p.small {
    font-size: 10px;
  }
  .c-usp ul li p > span.huge {
    /*font-size: 26px;*/
    font-size: 5.347vw;
  }
  .c-usp ul li p > span.en {
    /*font-size: 39px;*/
    font-size: 7.442vw;
  }
}




/*---------------------*/
/*インフォメーション*/
/*---------------------*/
.l-info {
  width: 100%;
  padding: 4em 0;
  background: url(../images/index/info_bg.jpg) no-repeat top right/contain;
}

/* Tab */
@media only screen and (max-width: 768px) {
  .l-info {
    padding: 3em 0;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}




/*---------------------*/
/*コンセプト*/
/*---------------------*/
#concept {
  width: 100%;
  margin: auto;
}

.sticky-wrapper {
  position: relative;
  height: 240vh;
}
.sticky-content {
  position: sticky;
  top: 0;
  height: 100vh;
  /*background: url("../images/index/concept_bg.webp") no-repeat center/cover;*/
  z-index: 0;
  overflow: hidden;
}
.video_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.fade-text {
  position: relative;
  width: 90%;
  max-width: 1190px;
  margin: 0 auto;
  z-index: 50;
}
.concept_ttl {
  border-bottom: solid 1px #FFF;
  margin-bottom: 2em;
}
.concept_ttl h2 {
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 49px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #FFF;
  text-align: center;
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.8);
  z-index: 100;
}
.concept_ttl h2 span {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 70px;
}
.concept_txtArea {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  gap: 2em;
}
.concept_txtArea p {
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 2.4;
  letter-spacing: 0.1em;
  color: #FFF;
  text-align: center;
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.8);
}
.concept_txtArea p span {
  font-size: 12px;
  vertical-align: top;
}

.floating-images {
  position: absolute;
  top: 100vh;
  left: 0;
  width: 100%;
  height: 300vh;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.floating-images img {
  height: auto;
  position: absolute;
  opacity: 0;
  transition: opacity 1s ease-in-out, transform 1s ease-out;
  transform: translateY(20px);
  pointer-events: none;
}
.floating-images img.visible {
  opacity: 1;
  transform: translateY(0);
}
.img1 { top: 150vh; right: 10%; }
.img2 { top: 180vh; left: 30%; }
.img3 { top: 190vh; right: 10%; }
.img4 { top: 210vh; left: 10%; }
.img5 { top: 240vh; left: 30%; }
.img6 { top: 260vh; left: 10%; }
.img7 { top: 260vh; right: 20%; }


/* スクロールを促す */
.scroll-down {
  position: absolute;
  left: 1%;
  top: 50%;
  transform: translateY(-50%);
  font-family: "eb-garamond", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  color: #FFF;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  z-index: 50;
}
.scroll-down::before {
  animation: scroll 2s infinite;
  background-color: #FFF;
  bottom: -110px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


/* Tab */
@media only screen and (max-width: 768px) {
  .sticky-wrapper {
    position: relative;
    height: 300vh;
  }
  .sticky-content {
    position: sticky;
    top: 0;
    height: 100vh;
  }
  .fade-text {
    width: 90%;
    padding: 2em 1em;
    z-index: 50;
  }
  .concept_ttl {
    margin-bottom: 2em;
  }
  .concept_ttl h2 {
    /*font-size: 49px;*/
    font-size: 6.38020833vw;
    text-align: center;
  }
  .concept_ttl h2 span {
    /*font-size: 70px;*/
    font-size: 7.161vw;
  }
  .concept_txtArea {
    justify-content: center;
    gap: 2em;
  }
  .concept_txtArea p {
    /*font-size: 16px;*/
    font-size: 2.734vw;
    line-height: 2.2;
    text-align: center;
  }
  .concept_txtArea p span {
    font-size: 10px;
  }

  .floating-images {
    top: 100vh;
    height: 300vh;
  }
  .img1 { top: 150vh; right: 4%; width: 50%; }
  .img2 { top: 160vh; left: 3%; width: 30%; }
  .img3 { top: 170vh; right: 3%; width: 30%; }
  .img4 { top: 180vh; left: 5%; width: 50%; }
  .img5 { top: 200vh; left: 3%; width: 30%; }
  .img6 { top: 230vh; left: 10%; width: 30%; }
  .img7 { top: 240vh; right: 2%; width: 30%; }


  /* スクロールを促す */
  .scroll-down {
    left: 1%;
    top: 40%;
    transform: translateY(-40%);
    font-size: 12px;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
  .concept_txtArea p {
    /*font-size: 16px;*/
    font-size: 3.721vw;
  }
}



/*---------------------*/
/*メインコンテンツ共通*/
/*---------------------*/
.mainTtl {
  width: 100%;
  overflow: hidden;
  padding: 1.4em 0;
  border-bottom: solid 1px #753237;
}
.mainTtl > h3 {
  width: 96%;
  margin: auto;
  font-family: "eb-garamond", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 93px;
  line-height: 1;
  text-align: left;
  color: #753237;
  transform: scale(0.9,1);
}
.mainCon {
  display: flex;
  justify-content: space-between;
}
.mainCon .p_name {
  width: 110px;
  padding: 2em 0;
  box-sizing: border-box;
  text-align: center;
}
.mainCon .p_name p {
  writing-mode: vertical-rl;
  display: inline-block;
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-align: center;
  color: #753237;
  padding: 0;
  margin: 0 auto;
}
.mainCon .p_main {
  position: relative;
  width: calc(100% - 110px);
  border-left: solid 1px #753237;
  box-sizing: border-box;
}

.a_link {
  margin-bottom: 1.5em;
}
.a_link a {
  display: inline-block;
  width: 14vw;
  max-width: 180px;
  background: #753237;
  padding: 0.3em 1em;
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 900;
  font-style: normal;
  font-size: clamp(18px, 2vw, 24px);
  color: #FFF;
  letter-spacing: 0.1em;
  border-radius: 10px;
}


/* tile共通 */
.tile {
  position: relative;
  z-index: 1;
  animation: mainanimation01 1s ease-in-out 0.3s forwards;
  opacity: 0;
}
.tile img {
  width: 100%;
}
.tile .tile_wrap {
  position: relative;
  z-index: 10;
}
.tile .tile_con {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: calc(100% - 20px);
  height: calc(100% - 20px);
}
.tile .txtWrap p {
  padding: 0;
  margin: 0;
}
.tile .txtWrap .txt_jp {
  position: relative;
  display: inline-block;
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 900;
  font-style: normal;
  text-align: left;
  color: #753237;
  /*border-bottom: dashed 1px #753237;*/
  padding-bottom: 0.3em;
  margin-bottom: 0.3em;
}
.tile .txtWrap .txt_jp:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: 1px dashed #000;
}
.tile .txtWrap .txt_jp span.en {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.tile .txtWrap .num {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  color: #753237;
  text-align: left;
}
.tile .txtWrap .txt_jp.wh,
.tile .txtWrap .num.wh {
  color: #FFF;
}
.tile .imgWrap {
  position: absolute;
}

@keyframes copyanim {
  0% {
    opacity: 0;
    transform: translateY(105%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/* タグ無限ループ */
.scroll_tag {
  width: 100%;
  background: #FFF;
  padding: 1em 0 3em;
  overflow: hidden;
}
.scroll_tag__wrap {
  display: flex;
  overflow: hidden;
  gap: 1em;
}
.scroll_tag__list {
  display: flex;
  list-style: none;
  gap: 1em;
  padding: 0
}
.scroll_tag__list--left_01 {
  animation: infinity-scroll-left 150s infinite linear 0.5s both;
}
.scroll_tag__list--left_02 {
  animation: infinity-scroll-left 350s infinite linear 0.5s both;
}
.scroll_tag__list--left_03 {
  animation: infinity-scroll-left 450s infinite linear 0.5s both;
}
.scroll_tag__list .tag {
  display: inline-block;
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 900;
  font-style: normal;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #FFF;
  background: #9B9B9C;
  padding: 0.6em 0.8em;
  border-radius: 7px;
  white-space: nowrap
}
@keyframes infinity-scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}


/* Tab */
@media only screen and (max-width: 768px) {
  .mainTtl {
    padding: 1.2em 0;
  }
  .mainTtl > h3 {
    width: 96%;
    /*font-size: 93px;*/
    font-size: 10.417vw;
  }
  .mainCon {
    display: flex;
    flex-direction: column;
    justify-content: normal;
  }
  .mainCon .p_name {
    width: 94%;
    margin: auto;
    padding: 1em 0;
    text-align: left;
  }
  .mainCon .p_name p {
    writing-mode: horizontal-tb;
    /*font-size: 28px;*/
    font-size: 3.646vw;
    line-height: 1.4;
  }
  .mainCon .p_main {
    position: relative;
    width: 94%;
    margin-left: auto;
    margin-right: auto;
    border-left: none;
  }

  .a_link {
    margin-bottom: 1.5em;
  }
  .a_link a {
    display: inline-block;
    width: 100%;
    /*font-size: clamp(18px, 2vw, 24px);*/
    font-size: 3.125vw;
  }


  /* tile共通 */
  .tile .tile_con {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }


  /* タグ無限ループ */
  .scroll_tag {
    padding: 1em 0 3em;
  }
  .scroll_tag__list .tag {
    /*font-size: 16px;*/
    font-size: 2.865vw;
    padding: 0.6em 0.8em;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}



/*---------------------*/
/*ロケーション*/
/*---------------------*/
#location {
  position: relative;
  width: 100%;
  z-index: 10;
}
#location .conWrap {
  width: 100%;
  background: url("../images/index/loca_bg.webp") no-repeat 0% 0%/cover;
  margin: auto;
  padding: 1em 0 0;
}

#location .p_main {
  padding-bottom: 1em;
}

#location .ttlArea {
  position: relative;
  width: 100%;
  padding: 3em 3em 0;
}
#location .ttlArea > .ttl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 55%;
  border-bottom: dashed 1px #753237;
  padding-bottom: 0.4em;
  margin-bottom: 2em;
}
#location .ttlArea > .ttl p {
  font-family: "kozuka-mincho-pro", serif;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(35px, 3vw, 55px);
  line-height: 1.6;
  text-align: left;
  color: #753237;
}
#location .ttlArea > .link_btn {
  width: 55%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
  padding: 0;
  margin: 0;
}
#location .ttlArea > .link_btn li {
  width: calc((100% - 2em) / 3);
}
#location .ttlArea > .link_btn .a_link {
  margin: 0;
}
#location .ttlArea > .link_btn .a_link a {
  width: 100%;
  max-width: initial;
  font-size: clamp(14px, 1.4vw, 24px)!important;
}
#location .ttlArea > .mainimg {
  position: absolute;
  bottom: 0%;
  right: 0;
  z-index: 10;
  width: 43%;
  max-width: 680px;
}
#location .ttlArea > .mainimg img {
  width: 100%;
}

#location .maincopy {
  position: relative;
  width: 94%;
  max-width: 1325px;
  margin: 3em auto;
}
#location .maincopy img {
  width: 100%;
}
#location .maincopy .copy_icon {
  position: absolute;
  display: inline-block;
}
#location .maincopy .copy_icon.icon01 {
  top: -10%;
  left: 1%;
  width: 8%;
}
#location .maincopy .copy_icon.icon02 {
  top: 18%;
  left: 40%;
  width: 9%;
}
#location .maincopy .copy_icon.icon03 {
  top: 24%;
  right: 8.5%;
  width: 8.5%;
}

#location .tileArea {
  display: grid;
  gap: 0 20px;
  grid-template-columns: 1.5fr 1.5fr 1.5fr 2fr;
  grid-template-rows: repeat(2, 1fr);
  width: 96%;
  margin: auto;
}
#location .box-big1 {
  grid-row: span 2;
}

/* tile_01 */
#location .tile_01 {
  width: 110%;
  /*min-width: 343px;*/
  margin: auto;
}
#location .tile_01 .tile_wrap {
  margin-top: 0;
}
#location .tile_01 .bg {
  margin: auto;
}
#location .tile_01 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#location .tile_01 .txtWrap .txt_jp {
  font-size: 1.3vw;
  line-height: 1.4;
}
#location .tile .txtWrap .txt_jp:after {
  width: 100%;
}
#location .tile_01 .txtWrap .txt_jp span {
  font-size: 1.6vw;
}
#location .tile_01 .txtWrap .txt_jp span.en {
  font-size: 1.6vw;
}
#location .tile_01 .txtWrap .num {
  font-size: 3vw;
}
#location .tile_01 .imgWrap {
  width: 28%;
  bottom: 10%;
  right: 10%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#location .tile_01 .imgWrap .img {
  width: 100%;
  animation: loca_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_02 */
#location .tile_02 {
  width: 85%;
  /*min-width: 278px;*/
  margin: auto;
}
#location .tile_02 .tile_wrap {
  margin-top: 5%;
  margin-left: 5%;
}
#location .tile_02 .bg {
  margin: auto;
}
#location .tile_02 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#location .tile_02 .txtWrap .txt_jp {
  font-size: 1vw;
  line-height: 1.2;
}
#location .tile_02 .txtWrap .txt_jp:after {
  width: 90%;
}
#location .tile_02 .txtWrap .txt_jp span.en {
  font-size: 1.8vw;
  line-height: 1;
}
#location .tile_02 .txtWrap .num {
  font-size: 2.5vw;
}
#location .tile_02 .imgWrap {
  width: 38%;
  bottom: 10%;
  right: -2%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#location .tile_02 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.8s infinite;
}

/* tile_03 */
#location .tile_03 {
  width: 100%;
  /*min-width: 340px;*/
  margin: auto;
}
#location .tile_03 .tile_wrap {
  margin-top: 0;
}
#location .tile_03 .bg {
  margin: auto;
}
#location .tile_03 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#location .tile_03 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.4;
}
#location .tile_03 .txtWrap .txt_jp:after {
  width: 80%;
}
#location .tile_03 .txtWrap .txt_jp span {
  font-size: 1.5vw;
  line-height: 1;
}
#location .tile_03 .txtWrap .num {
  font-size: 3vw;
}
#location .tile_03 .imgWrap {
  width: 38%;
  bottom: 8%;
  right: 5%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#location .tile_03 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.2s infinite;
}

/* tile_04 */
#location .tile_04 {
  width: 90%;
  /*min-width: 294px;*/
  margin: auto;
}
#location .tile_04 .tile_wrap {
  margin-top: 10%;
}
#location .tile_04 .bg {
  margin: auto;
}
#location .tile_04 .txtWrap {
  position: absolute;
  top: 50%;
  left: 6%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#location .tile_04 .txtWrap .txt_jp {
  font-size: 1vw;
  line-height: 1.4;
}
#location .tile_04 .txtWrap .txt_jp:after {
  width: 60%;
}
#location .tile_04 .txtWrap .txt_jp span {
  font-size: 1.3vw;
  line-height: 1;
}
#location .tile_04 .txtWrap .num {
  font-size: 2.6vw;
}
#location .tile_04 .imgWrap {
  width: 45%;
  bottom: 10%;
  right: 4%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#location .tile_04 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.8s infinite;
}

/* tile_05 */
#location .tile_05 {
  width: 100%;
  /*min-width: 333px;*/
  margin: auto;
}
#location .tile_05 .tile_wrap {
  margin-top: -5%;
}
#location .tile_05 .bg {
  margin: auto;
}
#location .tile_05 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#location .tile_05 .txtWrap .txt_jp {
  font-size: 1.3vw;
  line-height: 1.4;
  color: #3E3A39;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#location .tile_05 .txtWrap .txt_jp:after {
  width: 45%;
}
#location .tile_05 .txtWrap .num {
  font-size: 3vw;
  color: #3E3A39;
}
#location .tile_05 .imgWrap {
  width: 50%;
  bottom: 10%;
  right: 5%;
  z-index: 0;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#location .tile_05 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.2s infinite;
}

/* tile_06 */
#location .tile_06 {
  width: 85%;
  /*min-width: 278px;*/
  margin: auto;
}
#location .tile_06 .tile_wrap {
  margin-top: 10%;
}
#location .tile_06 .bg {
  margin: auto;
}
#location .tile_06 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#location .tile_06 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.4;
}
#location .tile_06 .txtWrap .txt_jp:after {
  width: 90%;
}
#location .tile_06 .txtWrap .num {
  font-size: 2.5vw;
}
#location .tile_06 .imgWrap {
  width: 32%;
  bottom: -1%;
  right: 8%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#location .tile_06 .imgWrap .img {
  width: 100%;
  animation: loca_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_07 */
#location .tile_07 {
  width: 90%;
  /*min-width: 354px;*/
  margin: 0;
}
#location .tile_07 .tile_wrap {
  margin-top: 0%;
}
#location .tile_07 .tile_con {
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#location .tile_07 .bg {
  margin: auto;
}
#location .tile_07 .txtWrap {
  position: static;
  width: 100%;
  margin-bottom: 1em;
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#location .tile_07 .txtWrap .txt_jp {
  width: 100%;
  font-size: 1.6vw;
  line-height: 1.4;
  color: #3E3A39;
}
#location .tile_07 .txtWrap .txt_jp:after {
  width: 100%;
}
#location .tile_07 .txtWrap .txt_jp span.en {
  display: inline-block;
  font-size: 3vw;
  line-height: 1;
  animation: loca_tile02 2s ease-in-out 1.8s infinite;
}
#location .tile_07 .txtWrap .num {
  font-size: 3.2vw;
  color: #3E3A39;
}
#location .tile_07 .imgWrap {
  width: 100%;
  position: static;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#location .tile_07 .imgWrap .img {
  width: 100%;
  animation: loca_tile03 1s ease-in-out 1.2s forwards;
}


/* アニメーション */
@keyframes tile_bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes loca_tile01 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  20% {
    transform: translate(0, 0) rotate(0deg);
  }
  30% {
    transform: translate(0, -6px) rotate(0deg);
  }
  40% {
    transform: translate(0, -6px) rotate(-7deg);
  }
  50% {
    transform: translate(0, -6px) rotate(0deg);
  }
  60% {
    transform: translate(0, -6px) rotate(-7deg);
  }
  70% {
    transform: translate(0, -6px) rotate(0deg);
  }
  80% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes loca_tile02 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  20% {
    transform: translate(0, 0) rotate(0deg);
  }
  30% {
    transform: translate(0, -5px) rotate(0deg);
  }
  40% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -5px) rotate(0deg);
  }
  60% {
    transform: translate(0, 0);
  }
  70% {
    transform: translate(0, -5px) rotate(0deg);
  }
  80% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes loca_tile03 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* Tab */
@media only screen and (max-width: 768px) {

  #location .p_main {
    padding-bottom: 1em;
  }

  #location .ttlArea {
    position: relative;
    width: 100%;
    padding: 1em 0 2em;
    margin: auto;
  }
  #location .ttlArea > .ttl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    padding-bottom: 0.4em;
    margin-bottom: 1em;
  }
  #location .ttlArea > .ttl p {
    /*font-size: clamp(35px, 3vw, 55px);*/
    font-size: 4.557vw;
    line-height: 1.6;
    text-align: left;
  }
  #location .ttlArea > .link_btn {
    width: 100%;
  }
  #location .ttlArea > .link_btn li {
    width: calc((100% - 2em) / 3);
  }
  #location .ttlArea > .mainimg {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: initial;
  }

  #location .maincopy {
    position: relative;
    width: 100%;
    margin: 2em auto;
  }
  #location .maincopy .copy_icon.icon01 {
    top: -8%;
    left: 1%;
    width: 17%;
  }
  #location .maincopy .copy_icon.icon02 {
    top: 25%;
    left: auto;
    right: 5%;
    width: 18%;
  }
  #location .maincopy .copy_icon.icon03 {
    top: 43%;
    right: 21%;
    width: 17%;
  }

  #location .tileArea {
    display: grid;
    gap: 0 20px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4, auto);
    width: 96%;
    margin: auto;
    gap: 0.5em;
  }
  #location .box-big1 {
    grid-row: span 2;
  }

  /* tile_01 */
  #location .tile_01 {
    width: 100%;
  }
  #location .tile_01 .tile_wrap {
    margin-top: 0;
  }
  #location .tile_01 .bg {
    margin: auto;
  }
  #location .tile_01 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    z-index: 10;
    transform: translateY(-50%);
    animation: mainanimation01 1s ease-in-out 0.6s forwards;
    opacity: 0;
  }
  #location .tile_01 .txtWrap .txt_jp {
    /*font-size: 20px;*/
    font-size: 2.604vw;
    line-height: 1.4;
  }
  #location .tile .txtWrap .txt_jp:after {
    width: 100%;
  }
  #location .tile_01 .txtWrap .txt_jp span {
    /*font-size: 24px;*/
    font-size: 3.125vw;
  }
  #location .tile_01 .txtWrap .txt_jp span.en {
    /*font-size: 24px;*/
    font-size: 3.125vw;
  }
  #location .tile_01 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
  #location .tile_01 .imgWrap {
    width: 28%;
    bottom: 8%;
    right: 8%;
  }

  /* tile_02 */
  #location .tile_02 {
    width: 100%;
    margin: auto;
  }
  #location .tile_02 .tile_wrap {
    margin-top: 5%;
    margin-left: 5%;
  }
  #location .tile_02 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    z-index: 10;
  }
  #location .tile_02 .txtWrap .txt_jp {
    /*font-size: 16px;*/
    font-size: 2.604vw;
    line-height: 1.4;
  }
  #location .tile_02 .txtWrap .txt_jp:after {
    width: 90%;
  }
  #location .tile_02 .txtWrap .txt_jp span.en {
    /*font-size: 25px;*/
    font-size: 4.036vw;
    line-height: 1;
  }
  #location .tile_02 .txtWrap .num {
    /*font-size: 35px;*/
    font-size: 5.339vw;
  }
  #location .tile_02 .imgWrap {
    width: 38%;
    bottom: 10%;
    right: -2%;
  }

  /* tile_03 */
  #location .tile_03 {
    width: 100%;
    margin: auto;
  }
  #location .tile_03 .tile_wrap {
    margin-top: 0;
  }
  #location .tile_03 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #location .tile_03 .txtWrap .txt_jp {
    /*font-size: 18px;*/
    font-size: 3.125vw;
    line-height: 1.6;
  }
  #location .tile_03 .txtWrap .txt_jp:after {
    width: 80%;
  }
  #location .tile_03 .txtWrap .txt_jp span {
    /*font-size: 20px;*/
    font-size: 3.385vw;
    line-height: 1;
  }
  #location .tile_03 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
  #location .tile_03 .imgWrap {
    width: 38%;
    bottom: 5%;
    right: 5%;
  }

  /* tile_04 */
  #location .tile_04 {
    width: 90%;
    margin: auto;
  }
  #location .tile_04 .tile_wrap {
    margin-top: 0;
  }
  #location .tile_04 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
  }
  #location .tile_04 .txtWrap .txt_jp {
    /*font-size: 17px;*/
    font-size: 2.995vw;
    line-height: 1.8;
  }
  #location .tile_04 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #location .tile_04 .txtWrap .txt_jp span {
    /*font-size: 21px;*/
    font-size: 3.516vw;
    line-height: 1;
  }
  #location .tile_04 .txtWrap .num {
    /*font-size: 38px;*/
    font-size: 4.948vw;
  }
  #location .tile_04 .imgWrap {
    width: 42%;
    bottom: 5%;
    right: 1%;
  }

  /* tile_05 */
  #location .tile_05 {
    width: 100%;
    margin: auto;
  }
  #location .tile_05 .tile_wrap {
    margin-top: 0;
  }
  #location .tile_05 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #location .tile_05 .txtWrap .txt_jp {
    /*font-size: 22px;*/
    font-size: 2.865vw;
    line-height: 1.4;
    padding-bottom: 0.5em;
  }
  #location .tile_05 .txtWrap .txt_jp:after {
    width: 45%;
  }
  #location .tile_05 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
  #location .tile_05 .imgWrap {
    width: 50%;
    bottom: 5%;
    right: 5%;
  }
  #location .tile_05 .imgWrap .img {
    width: 100%;
    animation: loca_tile02 2s ease-in-out 1.2s infinite;
  }

  /* tile_06 */
  #location .tile_06 {
    width: 90%;
    margin: auto;
  }
  #location .tile_06 .tile_wrap {
    margin-top: 0;
  }
  #location .tile_06 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #location .tile_06 .txtWrap .txt_jp {
    /*font-size: 16px;*/
    font-size: 2.865vw;
    line-height: 1.4;
  }
  #location .tile_06 .txtWrap .txt_jp:after {
    width: 90%;
  }
  #location .tile_06 .txtWrap .num {
    /*font-size: 35px;*/
    font-size: 5.339vw;
  }
  #location .tile_06 .imgWrap {
    width: 24%;
    bottom: -1%;
    right: 7%;
  }

  /* tile_07 */
  #location .tile_07 {
    width: 100%;
    margin: 0;
  }
  #location .tile_07 .tile_wrap {
    margin-top: 0%;
  }
  #location .tile_07 .tile_con {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #location .tile_07 .txtWrap {
    position: static;
    width: 100%;
    margin-bottom: 0.5em;
  }
  #location .tile_07 .txtWrap .txt_jp {
    /*font-size: 24px;*/
    font-size: 3.125vw;
    line-height: 1.4;
  }
  #location .tile_07 .txtWrap .txt_jp span.en {
    /*font-size: 45px;*/
    font-size: 5.859vw;
    line-height: 1;
  }
  #location .tile_07 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
  #location .ttlArea > .link_btn {
    width: 100%;
  }
  #location .ttlArea > .link_btn li {
    width: 100%;
  }
}



/*---------------------*/
/*デザイン*/
/*---------------------*/
#design {
  width: 100%;
}
#design .conWrap {
  width: 100%;
  background: url("../images/index/desi_bg.webp") no-repeat 0% 0%/cover;
  margin: auto;
  padding: 0;
}

#design .mainTtl {
  padding-top: 2em;
}

#design .p_main {
  padding-bottom: 1em;
}

#design .ttlArea {
  position: relative;
  width: 100%;
  padding: 1.5em 3em;
}
#design .ttlArea > .ttl {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  width: 55%;
  border-bottom: dashed 1px #753237;
  padding-bottom: 0.4em;
}
#design .ttlArea > .ttl p {
  font-size: clamp(35px, 3vw, 50px);
  line-height: 1.4;
  text-align: left;
  color: #753237;
}
#design .ttlArea > .ttl .a_link {
  position: absolute;
  bottom: 0;
  right: 0;
}
#design .ttlArea > .mainimg {
  width: 40%;
  position: absolute;
  bottom: 5%;
  right: 0;
  z-index: 10;
}
#design .ttlArea > .mainimg img {
  width: 100%;
}

#design .maincopy {
  position: relative;
  width: 94%;
  max-width: 1370px;
  margin: 3em auto;
}
#design .maincopy img {
  width: 100%;
}
#design .maincopy .copy_icon {
  position: absolute;
  display: inline-block;
}
#design .maincopy .copy_icon.icon01 {
  top: -12%;
  right: 0%;
  width: 9.5%;
}
#design .maincopy .copy_icon.icon02 {
  top: 21%;
  left: 22.7%;
  width: 16%;
}

#design .tileArea {
  display: grid;
  gap: 0 20px;
  grid-template-columns: 1.5fr 1.5fr 1.5fr 1.5fr;
  grid-template-rows: repeat(2, 1fr);
  width: 96%;
  margin: auto;
}

#design .scroll_tag {
  background: none;
  padding: 1em 0;
}

/* tile_01 */
#design .tile_01 {
  width: 110%;
  /*min-width: 350px;*/
  margin: 0 auto auto;
}
#design .tile_01 .tile_wrap {
  margin-top: 0;
}
#design .tile_01 .tile_con {
  overflow: hidden;
}
#design .tile_01 > .bg {
  margin: auto;
}
#design .tile_01 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_01 .txtWrap .txt_jp {
  font-size: 1.4vw;
  line-height: 1.6;
  color: #FFF;
  padding-bottom: 0.8em;
  margin-bottom: 0.8em;
}
#design .tile_01 .txtWrap .txt_jp:after {
  width: 70%;
  border-color: #FFF;
}
#design .tile_01 .txtWrap .num {
  font-size: 3.5vw;
  color: #FFF;
}
#design .tile_01 .imgWrap {
  width: 52%;
  bottom: -5px;
  right: 1%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#design .tile_01 .imgWrap .img {
  width: 100%;
  animation: desi_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_02 */
#design .tile_02 {
  width: 120%;
  /*min-width: 350px;*/
  margin: auto;
}
#design .tile_02 .tile_wrap {
  margin-left: 10%;
}
#design .tile_02 .tile_con {
  overflow: hidden;
}
#design .tile_02 > .bg {
  margin: auto;
}
#design .tile_02 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_02 .txtWrap .txt_jp {
  font-size: 1.4vw;
  line-height: 1.4;
}
#design .tile_02 .txtWrap .txt_jp:after {
  width: 86%;
}
#design .tile_02 .txtWrap .num {
  font-size: 3.5vw;
}
#design .tile_02 .imgWrap {
  width: 35%;
  bottom: 6%;
  right: 7%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#design .tile_02 .imgWrap .img {
  width: 100%;
  animation: desi_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_03 */
#design .tile_03 {
  width: 84%;
  /*min-width: 238px;*/
  margin: auto;
}
#design .tile_03 .tile_wrap {
  margin-top: 0%;
  margin-left: 10%;
}
#design .tile_03 .tile_con {
  overflow: hidden;
}
#design .tile_03 > .bg {
  margin: auto;
}
#design .tile_03 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_03 .txtWrap .txt_jp {
  font-size: 1vw;
  line-height: 1.4;
}
#design .tile_03 .txtWrap .txt_jp:after {
  width: 50%;
}
#design .tile_03 .txtWrap .num {
  font-size: 2.3vw;
}
#design .tile_03 .imgWrap {
  width: 40%;
  bottom: 5%;
  right: 2%;
  z-index: 10;
}
#design .tile_03 .imgWrap .img {
  width: 100%;
  animation: desi_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_04 */
#design .tile_04 {
  width: 100%;
  /*min-width: 350px;*/
  margin: auto;
  margin-left: -10%;
}
#design .tile_04 .tile_wrap {
  margin-top: 20%;
}
#design .tile_04 > .bg {
  margin: auto;
}
#design .tile_04 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_04 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.4;
  color: #3E3A39;
}
#design .tile_04 .txtWrap .txt_jp:after {
  width: 60%;
}
#design .tile_04 .txtWrap .num {
  font-size: 3.5vw;
  color: #3E3A39;
}
#design .tile_04 .imgWrap {
  width: 28%;
  bottom: 5%;
  right: 6%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#design .tile_04 .imgWrap .img {
  width: 100%;
  animation: desi_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_05 */
#design .tile_05 {
  width: 105%;
  /*min-width: 330px;*/
  margin: auto;
}
#design .tile_05 .tile_wrap {
  margin-top: -20%;
  margin-left: 5%;
}
#design .tile_05 .main_p > .bg {
  margin: auto;
}
#design .tile_05 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_05 .txtWrap .txt_jp {
  font-size: 1.3vw;
  line-height: 1.4;
  color: #753237;
}
#design .tile_05 .txtWrap .txt_jp:after {
  width: 90%;
}
#design .tile_05 .txtWrap .num {
  font-size: 3.3vw;
}
#design .tile_05 .imgWrap {
  width: 45%;
  bottom: 15%;
  right: 5%;
  z-index: 0;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#design .tile_05 .imgWrap .img {
  width: 100%;
  animation: loca_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_06 */
#design .tile_06 {
  width: 90%;
  /*min-width: 268px;*/
  margin: auto;
}
#design .tile_06 .tile_wrap {
  margin-top: -15%;
}
#design .tile_06 > .bg {
  margin: auto;
}
#design .tile_06 .txtWrap {
  position: absolute;
  top: 50%;
  left: 6%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_06 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.4;
  color: #3E3A39;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#design .tile_06 .txtWrap .txt_jp:after {
  width: 50%;
}
#design .tile_06 .txtWrap .num {
  font-size: 2.5vw;
  color: #3E3A39;
}
#design .tile_06 .imgWrap {
  width: 40%;
  bottom: 5%;
  right: 4%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#design .tile_06 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.8s infinite;
}

/* tile_07 */
#design .tile_07 {
  width: 100%;
  /*min-width: 354px;*/
  margin: auto;
  margin-left: -5%;
}
#design .tile_07 .tile_wrap {
  margin-top: -48%;
}
#design .tile_07 .tile_con {
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#design .tile_07 > .bg {
  margin: auto;
}
#design .tile_07 .txtWrap {
  position: absolute;
  top: 50%;
  left: 0%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_07 .txtWrap .txt_jp {
  width: 100%;
  font-size: 1.3vw;
  line-height: 1.4;
  color: #FFF;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#design .tile_07 .txtWrap .txt_jp:after {
  width: 60%;
  border-color: #FFF;
}
#design .tile_07 .txtWrap .num {
  font-size: 3.3vw;
  color: #FFF;
}
#design .tile_07 .imgWrap {
  width: 40%;
  bottom: 5%;
  right: 0%;
  z-index: 10;
  animation: desi_tile03 1s ease-in-out 1s forwards;
  opacity: 0;
}
#design .tile_07 .imgWrap .img {
  width: 100%;
  animation: desi_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_08 */
#design .tile_08 {
  width: 90%;
  /*min-width: 275px;*/
  margin: auto;
  margin-left: -5%;
  background: #ccc;
}
#design .tile_08 .tile_wrap {
  margin-top: -20%;
}
#design .tile_08 .tile_con {
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#design .tile_08 > .bg {
  margin: auto;
}
#design .tile_08 .txtWrap {
  position: absolute;
  top: 50%;
  left: 0%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#design .tile_08 .txtWrap .txt_jp {
  width: 100%;
  font-size: 1.1vw;
  line-height: 1.4;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#design .tile_08 .txtWrap .txt_jp:after {
  width: 60%;
}
#design .tile_08 .txtWrap .num {
  font-size: 2.5vw;
}
#design .tile_08 .imgWrap {
  width: 43%;
  bottom: 8%;
  right: 0%;
  z-index: 10;
  animation: desi_tile03 1s ease-in-out 1s forwards;
  opacity: 0;
}
#design .tile_08 .imgWrap .img {
  width: 100%;
  animation: desi_tile01 2s ease-in-out 1.8s infinite;
}


/* アニメーション */
@keyframes tile_bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes desi_tile01 {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(0, -5px);
  }
  40% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -5px);
  }
  60% {
    transform: translate(0, 0);
  }
  70% {
    transform: translate(0, -5px);
  }
  80% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes desi_tile02 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  20% {
    transform: translate(0, 0) rotate(0deg);
  }
  30% {
    transform: translate(0, -10px) rotate(0deg);
  }
  40% {
    transform: translate(0, -10px) rotate(-7deg);
  }
  50% {
    transform: translate(0, -10px) rotate(0deg);
  }
  60% {
    transform: translate(0, -10px) rotate(-7deg);
  }
  70% {
    transform: translate(0, -10px) rotate(0deg);
  }
  80% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes desi_tile03 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* Tab */
@media only screen and (max-width: 768px) {
  #design .mainTtl {
    padding-top: 2em;
  }

  #design .p_main {
    padding-bottom: 1em;
  }

  #design .ttlArea {
    position: relative;
    width: 100%;
    padding: 1.5em 0;
  }
  #design .ttlArea > .ttl {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: 0.4em;
    margin-bottom: 1em;
  }
  #design .ttlArea > .ttl p {
    /*font-size: clamp(35px, 3vw, 50px);*/
    font-size: 4.557vw;
    line-height: 1.4;
  }
  #design .ttlArea > .ttl .a_link {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  #design .ttlArea > .mainimg {
    width: 100%;
    position: relative;
    z-index: 10;
  }

  #design .maincopy {
    position: relative;
    width: 100%;
    margin: 3em auto;
  }
  #design .maincopy img {
    width: 100%;
  }
  #design .maincopy .copy_icon.icon01 {
    top: 26%;
    right: auto;
    left: 0;
    width: 19%;
  }
  #design .maincopy .copy_icon.icon02 {
    top: 26%;
    left: auto;
    right: 0%;
    width: 33%;
  }

  #design .tileArea {
    display: grid;
    gap: 0 0.5em;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4, auto);
    width: 100%;
    margin: auto;
  }

  #design .scroll_tag {
    background: none;
    padding: 1em 0;
  }

  /* tile_01 */
  #design .tile_01 {
    width: 100%;
    margin: 0 auto auto;
  }
  #design .tile_01 .tile_wrap {
    margin-top: 0;
  }
  #design .tile_01 .txtWrap {
    position: absolute;
    top: 50%;
    left: 4%;
    transform: translateY(-50%);
  }
  #design .tile_01 .txtWrap .txt_jp {
    /*font-size: 20px;*/
    font-size: 3.385vw;
    line-height: 1.6;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
  }
  #design .tile_01 .txtWrap .txt_jp:after {
    width: 70%;
  }
  #design .tile_01 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
  #design .tile_01 .imgWrap {
    width: 52%;
    bottom: -5px;
    right: 1%;
  }

  /* tile_02 */
  #design .tile_02 {
    width: 100%;
    margin: auto;
  }
  #design .tile_02 .tile_wrap {
    margin-left: 0%;
    margin-top: 5%;
  }
  #design .tile_02 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #design .tile_02 .txtWrap .txt_jp {
    /*font-size: 18px;*/
    font-size: 3.125vw;
    line-height: 1.4;
  }
  #design .tile_02 .txtWrap .txt_jp:after {
    width: 86%;
  }
  #design .tile_02 .txtWrap .num {
    /*font-size: 46px;*/
    font-size: 5.99vw;
  }
  #design .tile_02 .imgWrap {
    width: 35%;
    bottom: 3%;
    right: 5%;
  }

  /* tile_03 */
  #design .tile_03 {
    width: 100%;
    margin: auto;
  }
  #design .tile_03 .tile_wrap {
    margin-top: 0%;
    margin-left: 5%;
  }
  #design .tile_03 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #design .tile_03 .txtWrap .txt_jp {
    /*font-size: 14px;*/
    font-size: 2.604vw;
    line-height: 1.6;
  }
  #design .tile_03 .txtWrap .txt_jp:after {
    width: 50%;
  }
  #design .tile_03 .txtWrap .num {
    /*font-size: 30px;*/
    font-size: 4.688vw;
  }
  #design .tile_03 .imgWrap {
    width: 40%;
    bottom: 5%;
    right: 5%;
  }

  /* tile_04 */
  #design .tile_04 {
    width: 100%;
    margin: auto;
    margin-left: 0;
  }
  #design .tile_04 .tile_wrap {
    margin-top: 10%;
  }
  #design .tile_04 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
  }
  #design .tile_04 .txtWrap .txt_jp {
    /*font-size: 17px;*/
    font-size: 2.695vw;
    line-height: 1.4;
  }
  #design .tile_04 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #design .tile_04 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
  #design .tile_04 .imgWrap {
    width: 28%;
    bottom: 2%;
    right: 6%;
  }

  /* tile_05 */
  #design .tile_05 {
    width: 100%;
    margin: auto;
  }
  #design .tile_05 .tile_wrap {
    margin-top: 0%;
    margin-left: 0%;
  }
  #design .tile_05 .main_p > .bg {
    margin: auto;
  }
  #design .tile_05 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
  }
  #design .tile_05 .txtWrap .txt_jp {
    /*font-size: 20px;*/
    font-size: 3.385vw;
    line-height: 1.4;
  }
  #design .tile_05 .txtWrap .txt_jp:after {
    width: 90%;
  }
  #design .tile_05 .txtWrap .num {
    /*font-size: 46px;*/
    font-size: 5.99vw;
  }
  #design .tile_05 .imgWrap {
    width: 45%;
    bottom: 15%;
    right: 3%;
  }

  /* tile_06 */
  #design .tile_06 {
    width: 90%;
    margin: auto;
  }
  #design .tile_06 .tile_wrap {
    margin-top: 0%;
  }
  #design .tile_06 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
  }
  #design .tile_06 .txtWrap .txt_jp {
    /*font-size: 16px;*/
    font-size: 2.604vw;
    line-height: 1.4;
  }
  #design .tile_06 .txtWrap .txt_jp:after {
    width: 50%;
  }
  #design .tile_06 .txtWrap .num {
    /*font-size: 34px;*/
    font-size: 4.427vw;
  }
  #design .tile_06 .imgWrap {
    width: 40%;
    bottom: 5%;
    right: 4%;
  }

  /* tile_07 */
  #design .tile_07 {
    width: 100%;
    /*min-width: 354px;*/
    margin: auto;
    margin-left: 0%;
  }
  #design .tile_07 .tile_wrap {
    margin-top: 10%;
  }
  #design .tile_07 .tile_con {
    width: 90%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #design .tile_07 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
  }
  #design .tile_07 .txtWrap .txt_jp {
    width: 100%;
    /*font-size: 20px;*/
    font-size: 2.604vw;
    line-height: 1.4;
  }
  #design .tile_07 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #design .tile_07 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
  #design .tile_07 .imgWrap {
    width: 42%;
    bottom: 5%;
    right: 2%;
  }
  #design .tile_07 .imgWrap .img {
    width: 100%;
    animation: loca_tile03 1s ease-in-out 1.2s forwards;
  }

  /* tile_08 */
  #design .tile_08 {
    width: 90%;
    margin: auto;
    margin-left: 0;
  }
  #design .tile_08 .tile_wrap {
    margin-top: 0%;
  }
  #design .tile_08 .tile_con {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #design .tile_08 .txtWrap {
    position: absolute;
    top: 50%;
    left: 0%;
  }
  #design .tile_08 .txtWrap .txt_jp {
    width: 100%;
    /*font-size: 16px;*/
    font-size: 2.604vw;
  }
  #design .tile_08 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #design .tile_08 .txtWrap .num {
    /*font-size: 35px;*/
    font-size: 4.557vw;
  }
  #design .tile_08 .imgWrap {
    width: 40%;
    bottom: 5%;
    right: 0%;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}



/*---------------------*/
/*サードプレイス*/
/*---------------------*/
#third {
  position: relative;
  width: 100%;
}

#third .conWrap {
  width: 100%;
  background: url("../images/index/third_bg.webp") no-repeat 0% 0%/cover;
  margin: auto;
  padding: 1em 0 0;
}

#third .mainTtl {
  position: relative;
  z-index: 10;
}

#third .mainimg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 743px;
  overflow: hidden;
}
#third .mainimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}

#third .mainCon {
  position: relative;
  z-index: 10;
}
#third .p_main {
  padding-bottom: 0;
  background: url("../images/index/third_copy_bg.webp") no-repeat 100% 100%/50%;
}

#third .ttlArea {
  position: relative;
  width: 100%;
  padding: 3em 5em;
  margin: 0;
  text-align: left;
}
#third .ttlArea > .ttl {
  width: 60%;
}
#third .ttlArea > .ttl p {
  display: block;
  font-size: clamp(24px, 2.4vw, 34px);
  line-height: 1.6;
  text-align: left;
  color: #753237;
  margin-bottom: 0.5em;
}
#third .ttlArea > .ttl p span {
  display: inline-block;
  background: #FFF;
  padding: 0 0.3em;
}
#third .ttlArea > .ttl p.num {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 110px;
  line-height: 1;
  color: #FFF;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.9), 0px 0px 10px rgba(0, 0, 0, 0.9);
  margin: 0;
}
#third .ttlArea > .a_link {
  margin-top: 16em;
  margin-bottom: 0;
}
#third .ttlArea > .a_link a {
  text-align: center;
}

#third .maincopyArea {
  width: 100%;
  padding: 3em 0;
}
#third .maincopy {
  position: relative;
  width: 94%;
  max-width: 1380px;
  margin: auto;
}
#third .maincopy img {
  width: 100%;
}
#third .maincopy .copy_icon {
  position: absolute;
  display: inline-block;
}
#third .maincopy .copy_icon.icon01 {
  top: -10%;
  left: 29%;
  width: 7.5%;
}
#third .maincopy .copy_icon.icon02 {
  top: 13%;
  right: 29%;
  width: 7%;
}
#third .maincopy .copy_icon.icon03 {
  bottom: 18%;
  right: 40%;
  width: 6%;
}
#third .maincopy .copy_icon.icon04 {
  bottom: 18%;
  right: 3%;
  width: 10%;
}

#third .tileArea {
  display: grid;
  gap: 0 20px;
  grid-template-columns: 1.5fr 1.5fr 1.5fr 1.5fr;
  grid-template-rows: repeat(2, 1fr);
  width: 96%;
  margin: auto;
  padding-bottom: 5em;
}

/* tile_01 */
#third .tile_01 {
  width: 100%;
  margin: 0 auto auto;
}
#third .tile_01 .tile_wrap {
  margin-top: 0;
}
#third .tile_01 .tile_con {
  overflow: hidden;
}
#third .tile_01 > .bg {
  margin: auto;
}
#third .tile_01 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_01 .txtWrap .txt_jp {
  font-size: 1.3vw;
  line-height: 1.6;
  padding-bottom: 0.6em;
  margin-bottom: 0.6em;
}
#third .tile_01 .txtWrap .txt_jp:after {
  width: 70%;
}
#third .tile_01 .txtWrap .num {
  font-size: 3.5vw;
}
#third .tile_01 .imgWrap {
  width: 40%;
  bottom: 4%;
  right: 4%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#third .tile_01 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_02 */
#third .tile_02 {
  width: 85%;
  margin: auto;
}
#third .tile_02 .tile_wrap {
  margin-left: 10%;
}
#third .tile_02 .tile_con {
  overflow: hidden;
}
#third .tile_02 > .bg {
  margin: auto;
}
#third .tile_02 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_02 .txtWrap .txt_jp {
  font-size: 1vw;
  line-height: 1.4;
  color: #3E3A39;
}
#third .tile_02 .txtWrap .txt_jp:after {
  width: 86%;
  border-color: #3E3A39;
}
#third .tile_02 .txtWrap .num {
  font-size: 2.4vw;
  color: #3E3A39;
}
#third .tile_02 .imgWrap {
  width: 46%;
  bottom: 0;
  right: 3%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#third .tile_02 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_03 */
#third .tile_03 {
  width: 100%;
  margin: 2% auto auto;
}
#third .tile_03 .tile_wrap {
  margin-top: 0%;
}
#third .tile_03 .tile_con {
  overflow: hidden;
}
#third .tile_03 > .bg {
  margin: auto;
}
#third .tile_03 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_03 .txtWrap .txt_jp {
  font-size: 1.3vw;
  line-height: 1.4;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#third .tile_03 .txtWrap .txt_jp:after {
  width: 55%;
}
#third .tile_03 .txtWrap .num {
  font-size: 3.2vw;
}
#third .tile_03 .imgWrap {
  width: 20%;
  bottom: 2%;
  right: 3%;
  z-index: 10;
}
#third .tile_03 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_04 */
#third .tile_04 {
  width: 90%;
  margin: auto;
}
#third .tile_04 .tile_wrap {
  margin-top: 10%;
}
#third .tile_04 > .bg {
  margin: auto;
}
#third .tile_04 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_04 .txtWrap .txt_jp {
  font-size: 1.1vw;
  line-height: 1.4;
  color: #3E3A39;
}
#third .tile_04 .txtWrap .txt_jp:after {
  width: 60%;
}
#third .tile_04 .txtWrap .num {
  font-size: 2.6vw;
  color: #3E3A39;
}
#third .tile_04 .imgWrap {
  width: 39%;
  bottom: 6%;
  right: 6%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#third .tile_04 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_05 */
#third .tile_05 {
  width: 90%;
  margin: auto;
}
#third .tile_05 .tile_wrap {
  margin-top: 0%;
}
#third .tile_05 .tile_con {
  overflow: hidden;
}
#third .tile_05 .main_p > .bg {
  margin: auto;
}
#third .tile_05 .txtWrap {
  position: absolute;
  top: 10%;
  left: 8%;
  z-index: 10;
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_05 .txtWrap .txt_jp {
  font-size: 1.vw;
  line-height: 1.4;
  padding-bottom: 0.8em;
  margin-bottom: 0.8em;
}
#third .tile_05 .txtWrap .txt_jp:after {
  width: 85%;
}
#third .tile_05 .txtWrap .num {
  font-size: 2.8vw;
}
#third .tile_05 .imgWrap {
  width: 46%;
  bottom: -5px;
  right: 4%;
  z-index: 0;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#third .tile_05 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_06 */
#third .tile_06 {
  width: 100%;
  margin: auto;
}
#third .tile_06 .tile_wrap {
  margin-top: 0%;
}
#third .tile_06 .tile_con {
  overflow: hidden;
}
#third .tile_06 > .bg {
  margin: auto;
}
#third .tile_06 .txtWrap {
  position: absolute;
  top: 50%;
  left: 5%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_06 .txtWrap .txt_jp {
  font-size: 1.1vw;
  line-height: 1.4;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#third .tile_06 .txtWrap .txt_jp:after {
  width: 50%;
}
#third .tile_06 .txtWrap .num {
  font-size: 3.3vw;
}
#third .tile_06 .imgWrap {
  width: 24%;
  bottom: -5px;
  right: 12%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#third .tile_06 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_07 */
#third .tile_07 {
  width: 85%;
  margin: auto;
}
#third .tile_07 .tile_wrap {
  margin-top: 5%;
}
#third .tile_07 > .bg {
  margin: auto;
}
#third .tile_07 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_07 .txtWrap .txt_jp {
  font-size: 1vw;
  line-height: 1.4;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#third .tile_07 .txtWrap .txt_jp:after {
  width: 60%;
}
#third .tile_07 .txtWrap .num {
  font-size: 2.5vw;
}
#third .tile_07 .imgWrap {
  width: 36%;
  bottom: 5%;
  right: 7%;
  z-index: 10;
  animation: third_tile03 1s ease-in-out 1s forwards;
  opacity: 0;
}
#third .tile_07 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_08 */
#third .tile_08 {
  width: 100%;
  margin: auto;
}
#third .tile_08 .tile_wrap {
  margin-top: 5%;
}
#third .tile_08 .tile_con {
  overflow: hidden;
}
#third .tile_08 > .bg {
  margin: auto;
}
#third .tile_08 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#third .tile_08 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.6;
  color: #FFF;
}
#third .tile_08 .txtWrap .txt_jp:after {
  width: 60%;
  border-color: #FFF;
}
#third .tile_08 .txtWrap .num {
  font-size: 2.5vw;
  color: #FFF;
}
#third .tile_08 .imgWrap {
  width: 42%;
  bottom: 4%;
  right: 4%;
  z-index: 10;
  animation: third_tile03 1s ease-in-out 1s forwards;
  opacity: 0;
}
#third .tile_08 .imgWrap .img {
  width: 100%;
  animation: third_tile01 2s ease-in-out 1.8s infinite;
}


/* アニメーション */
@keyframes third_tile01 {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(0, -5px);
  }
  40% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -5px);
  }
  60% {
    transform: translate(0, 0);
  }
  70% {
    transform: translate(0, -5px);
  }
  80% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes third_tile02 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  20% {
    transform: translate(0, 0) rotate(0deg);
  }
  30% {
    transform: translate(0, -10px) rotate(0deg);
  }
  40% {
    transform: translate(0, -10px) rotate(-7deg);
  }
  50% {
    transform: translate(0, -10px) rotate(0deg);
  }
  60% {
    transform: translate(0, -10px) rotate(-7deg);
  }
  70% {
    transform: translate(0, -10px) rotate(0deg);
  }
  80% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes third_tile03 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


#third .tile_img {
  width: 100%;
}
#third .tile_img img {
  width: 100%;
}
#third .tile_img ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
#third .tile_img ul li {
  position: relative;
  width: calc(100% / 3);
}
#third .tile_img .ttlArea {
  position: absolute;
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  text-align: left;
}
#third .tile_img .ttlArea.ttl01 {
  top: 5%;
  left: 3%;
}
#third .tile_img .ttlArea.ttl02 {
  bottom: 3%;
  left: 3%;
}
#third .tile_img .ttlArea > p {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  color: #753237;
  margin-bottom: 0.5em;
}
#third .tile_img .ttlArea > p span {
  display: inline-block;
  background: #FFF;
  padding: 0 0.3em;
}
#third .tile_img .ttlArea > p.num {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 44px;
  line-height: 1;
  color: #FFF;
  margin: 0;
}
#third .tile_img .ttlArea > p.num.cl {
  color: #753237;
}


/* Tab */
@media only screen and (max-width: 768px) {
  #third .mainimg {
    height: 90vw;
    overflow: hidden;
  }
  #third .mainimg img {
    object-position: left top;
  }

  #third .ttlArea {
    padding: 0 0 5em;
    text-align: left;
  }
  #third .ttlArea > .ttl {
    width: 100%;
  }
  #third .ttlArea > .ttl p {
    display: block;
    /*font-size: clamp(24px, 2.4vw, 34px);*/
    font-size: 3.125vw;
    line-height: 1.6;
    margin-bottom: 0.5em;
  }
  #third .ttlArea > .ttl p.num {
    /*font-size: 110px;*/
    font-size: 13.021vw;
    line-height: 1;
  }
  #third .ttlArea > .a_link {
    margin-top: 20vw;
    margin-bottom: 0;
  }

  #third .maincopyArea {
    padding: 3em 0 5em;
  }
  #third .maincopy {
    width: 100%;
  }
  #third .maincopy .copy_icon.icon01 {
    top: -5%;
    left: auto;
    right: 30%;
    width: 14%;
  }
  #third .maincopy .copy_icon.icon02 {
    top: 35%;
    right: auto;
    left: 34%;
    width: 11%;
  }
  #third .maincopy .copy_icon.icon03 {
    top: auto;
    bottom: 24%;
    left: 21%;
    right: auto;
    width: 10%;
  }
  #third .maincopy .copy_icon.icon04 {
    bottom: 24%;
    left: auto;
    right: 1%;
    width: 17%;
  }

  #third .tile_img ul li {
    width: 100%;
  }
  #third .tile_img .ttlArea.ttl01 {
    top: 5%;
    left: 3%;
  }
  #third .tile_img .ttlArea.ttl02 {
    bottom: 5%;
    left: 3%;
  }
  #third .tile_img .ttlArea > p {
    /*font-size: 14px;*/
    font-size: 2.604vw;
    line-height: 1.6;
  }
  #third .tile_img .ttlArea > p.num {
    /*font-size: 44px;*/
    font-size: 5.729vw;
    line-height: 1;
  }

  #third .tileArea {
    display: grid;
    gap: 0 0.5em;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4, auto);
    width: 100%;
    margin: auto;
  }

  /* tile_01 */
  #third .tile_01 {
    width: 100%;
    margin: 0 auto auto;
  }
  #third .tile_01 .tile_wrap {
    margin-top: 0;
  }
  #third .tile_01 .txtWrap {
    position: absolute;
    top: 50%;
    left: 4%;
    z-index: 10;
    transform: translateY(-50%);
  }
  #third .tile_01 .txtWrap .txt_jp {
    /*font-size: 20px;*/
    font-size: 3.385vw;
    line-height: 1.4;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
  }
  #third .tile_01 .txtWrap .txt_jp:after {
    width: 70%;
  }
  #third .tile_01 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 6.641vw;
  }
  #third .tile_01 .imgWrap {
    width: 38%;
    bottom: 1%;
    right: 4%;
  }

  /* tile_02 */
  #third .tile_02 {
    width: 85%;
    margin: auto;
  }
  #third .tile_02 .tile_wrap {
    margin-left: 0%;
  }
  #third .tile_02 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
  }
  #third .tile_02 .txtWrap .txt_jp {
    /*font-size: 15px;*/
    font-size: 2.474vw;
    line-height: 1.4;
  }
  #third .tile_02 .txtWrap .txt_jp:after {
    width: 86%;
  }
  #third .tile_02 .txtWrap .num {
    /*font-size: 34px;*/
    font-size: 5.208vw;
  }
  #third .tile_02 .imgWrap {
    width: 46%;
    bottom: 0;
    right: 3%;
  }

  /* tile_03 */
  #third .tile_03 {
    width: 100%;
    margin: 2% auto auto;
  }
  #third .tile_03 .tile_wrap {
    margin-top: 0%;
  }
  #third .tile_03 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #third .tile_03 .txtWrap .txt_jp {
    /*font-size: 20px;*/
    font-size: 2.885vw;
    line-height: 1.4;
  }
  #third .tile_03 .txtWrap .txt_jp:after {
    width: 55%;
  }
  #third .tile_03 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 6.641vw;
  }
  #third .tile_03 .imgWrap {
    width: 18%;
    bottom: 1%;
    right: 3%;
  }

  /* tile_04 */
  #third .tile_04 {
    width: 90%;
    margin: auto;
  }
  #third .tile_04 .tile_wrap {
    margin-top: 5%;
  }
  #third .tile_04 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #third .tile_04 .txtWrap .txt_jp {
    /*font-size: 17px;*/
    font-size: 2.995vw;
    line-height: 1.4;
  }
  #third .tile_04 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #third .tile_04 .txtWrap .num {
    /*font-size: 35px;*/
    font-size: 5.339vw;
  }
  #third .tile_04 .imgWrap {
    width: 34%;
    bottom: 3%;
    right: 2%;
  }

  /* tile_05 */
  #third .tile_05 {
    width: 90%;
    margin: auto;
  }
  #third .tile_05 .tile_wrap {
    margin-top: 0%;
  }
  #third .tile_05 .txtWrap {
    position: absolute;
    top: 10%;
    left: 8%;
  }
  #third .tile_05 .txtWrap .txt_jp {
    /*font-size: 18px;*/
    font-size: 3.125vw;
    line-height: 1.4;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
  }
  #third .tile_05 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #third .tile_05 .txtWrap .num {
    /*font-size: 38px;*/
    font-size: 5.729vw;
  }
  #third .tile_05 .imgWrap {
    width: 42%;
    bottom: -5px;
    right: 3%;
  }

  /* tile_06 */
  #third .tile_06 {
    width: 100%;
    margin: auto;
  }
  #third .tile_06 .tile_wrap {
    margin-top: 0%;
  }
  #third .tile_06 .txtWrap {
    position: absolute;
    top: 50%;
    left: 4%;
    transform: translateY(-50%);
  }
  #third .tile_06 .txtWrap .txt_jp {
    /*font-size: 18px;*/
    font-size: 2.395vw;
    line-height: 1.4;
  }
  #third .tile_06 .txtWrap .txt_jp:after {
    width: 50%;
  }
  #third .tile_06 .txtWrap .num {
    /*font-size: 43px;*/
    font-size: 6.38vw;
  }
  #third .tile_06 .imgWrap {
    width: 30%;
    bottom: -5px;
    right: 12%;
  }

  /* tile_07 */
  #third .tile_07 {
    width: 95%;
    margin: auto;
  }
  #third .tile_07 .tile_wrap {
    margin-top: 5%;
  }
  #third .tile_07 .txtWrap {
    position: absolute;
    top: 50%;
    left: 4%;
    transform: translateY(-50%);
  }
  #third .tile_07 .txtWrap .txt_jp {
    /*font-size: 16px;*/
    font-size: 2.865vw;
    line-height: 1.4;
  }
  #third .tile_07 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #third .tile_07 .txtWrap .num {
    /*font-size: 35px;*/
    font-size: 5.339vw;
  }
  #third .tile_07 .imgWrap {
    width: 36%;
    bottom: 5%;
    right: 3%;
  }

  /* tile_08 */
  #third .tile_08 {
    width: 100%;
    margin: auto;
  }
  #third .tile_08 .tile_wrap {
    margin-top: 5%;
  }
  #third .tile_08 .txtWrap {
    position: absolute;
    top: 50%;
    left: 0%;
    z-index: 10;
  }
  #third .tile_08 .txtWrap .txt_jp {
    /*font-size: 18px;*/
    font-size: 3.125vw;
    line-height: 1.4;
  }
  #third .tile_08 .txtWrap .txt_jp:after {
    width: 60%;
  }
  #third .tile_08 .txtWrap .num {
    /*font-size: 35px;*/
    font-size: 5.339vw;
  }
  #third .tile_08 .imgWrap {
    width: 42%;
    bottom: 1%;
    right: 3%;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
  #third .ttlArea > .a_link {
    margin-top: 10vw;
    margin-bottom: 0;
  }

  #third .maincopyArea {
    padding: 2em 0 3em;
  }
}



/*---------------------*/
/*プラン*/
/*---------------------*/
#plan {
  width: 100%;
}
#plan .conWrap {
  width: 100%;
  background: url("../images/index/flex_bg.webp") no-repeat 0% 0%/cover;
  margin: auto;
  padding: 1em 0 0;
}

#plan .p_main {
  padding-bottom: 1em;
}

#plan .ttlArea {
  position: relative;
  width: 100%;
  padding: 2em;
  text-align: left;
}
#plan .ttlArea > .ttl {
  display: inline-block;
  border-bottom: dashed 1px #753237;
  padding-bottom: 0;
  margin-bottom: 2em;
}
#plan .ttlArea > .ttl p {
  font-size: clamp(42px, 4vw, 52px);
  line-height: 1.6;
  text-align: left;
  color: #753237;
}
#plan .maincopyArea {
  width: 100%;
}
#plan .maincopy {
  position: relative;
  width: 94%;
  max-width: 1343px;
  margin: 0 0 2em;
}
#plan .maincopy img {
  width: 100%;
}
#plan .maincopy .copy_icon {
  position: absolute;
  display: inline-block;
}
#plan .maincopy .copy_icon.icon01 {
  top: -18%;
  right: 23%;
  width: 8%;
}
#plan .maincopy .copy_icon.icon02 {
  bottom: 14%;
  right: 2%;
  width: 9%;
}
#plan .maincopy .copy_icon.icon03 {
  bottom: -5%;
  left: 40%;
  width: 9%;
}
#plan .maincopyArea .a_link {
  width: 100%;
  margin: 0;
}
#plan .maincopyArea .a_link a {
  padding: 0.2em 1em;
  text-align: center;
}

#plan .tileArea {
  display: grid;
  gap: 0 20px;
  grid-template-columns: 1.5fr 1.5fr 1.5fr 2fr;
  grid-template-rows: repeat(2, 1fr);
  width: 96%;
  margin: auto;
}
#plan .box-big1 {
  grid-row: span 2;
}

/* tile_01 */
#plan .tile_01 {
  width: 110%;
  margin: auto;
}
#plan .tile_01 .tile_wrap {
  margin-top: 0;
}
#plan .tile_01 .bg {
  margin: auto;
}
#plan .tile_01 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#plan .tile_01 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.4;
  color: #3E3A39;
}
#plan .tile .txtWrap .txt_jp:after {
  width: 100%;
}
#plan .tile_01 .txtWrap .txt_jp span {
  font-size: 2vw;
}
#plan .tile_01 .txtWrap .num {
  font-size: 3vw;
  color: #3E3A39;
}
#plan .tile_01 .imgWrap {
  width: 24%;
  top: 10%;
  right: 5%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#plan .tile_01 .imgWrap .img {
  width: 100%;
  animation: loca_tile01 2s ease-in-out 1.2s infinite;
}

/* tile_02 */
#plan .tile_02 {
  width: 80%;
  /*min-width: 278px;*/
  margin: auto;
}
#plan .tile_02 .tile_wrap {
  margin-top: 5%;
}
#plan .tile_02 .bg {
  margin: auto;
}
#plan .tile_02 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#plan .tile_02 .txtWrap .txt_jp {
  font-size: 1vw;
  line-height: 1.4;
}
#plan .tile_02 .txtWrap .txt_jp:after {
  width: 90%;
}
#plan .tile_02 .txtWrap .num {
  font-size: 2.4vw;
}
#plan .tile_02 .imgWrap {
  width: 45%;
  bottom: 12%;
  right: 2%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#plan .tile_02 .imgWrap .img {
  width: 100%;
  animation: loca_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_03 */
#plan .tile_03 {
  width: 110%;
  /*min-width: 340px;*/
  margin: auto;
  margin-left: -10%;
}
#plan .tile_03 .tile_wrap {
  margin-top: 0;
}
#plan .tile_03 .bg {
  margin: auto;
}
#plan .tile_03 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#plan .tile_03 .txtWrap .txt_jp {
  font-size: 1.4vw;
  line-height: 1.4;
}
#plan .tile_03 .txtWrap .txt_jp:after {
  width: 100%;
}
#plan .tile_03 .txtWrap .num {
  font-size: 3vw;
}
#plan .tile_03 .imgWrap {
  width: 29%;
  top: 7%;
  right: 5%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#plan .tile_03 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.8s infinite;
}

/* tile_04 */
#plan .tile_04 {
  width: 100%;
  /*min-width: 294px;*/
  margin: auto;
}
#plan .tile_04 .tile_wrap {
  margin-top: 10%;
}
#plan .tile_04 .bg {
  margin: auto;
}
#plan .tile_04 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#plan .tile_04 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.6;
}
#plan .tile_04 .txtWrap .txt_jp:after {
  width: 65%;
}
#plan .tile_04 .txtWrap .num {
  font-size: 2.3vw;
}
#plan .tile_04 .imgWrap {
  width: 40%;
  bottom: 5%;
  right: 6%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#plan .tile_04 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.8s infinite;
}

/* tile_05 */
#plan .tile_05 {
  width: 100%;
  /*min-width: 333px;*/
  margin: auto;
}
#plan .tile_05 .tile_wrap {
  margin-top: -5%;
}
#plan .tile_05 .bg {
  margin: auto;
}
#plan .tile_05 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#plan .tile_05 .txtWrap .txt_jp {
  font-size: 1.2vw;
  line-height: 1.4;
}
#plan .tile_05 .txtWrap .txt_jp:after {
  width: 55%;
}
#plan .tile_05 .txtWrap .num {
  font-size: 3vw;
}
#plan .tile_05 .imgWrap {
  width: 30%;
  bottom: 3%;
  right: 8%;
  z-index: 0;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#plan .tile_05 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.2s infinite;
}

/* tile_06 */
#plan .tile_06 {
  width: 95%;
  /*min-width: 278px;*/
  margin: auto;
}
#plan .tile_06 .tile_wrap {
  margin-top: 10%;
}
#plan .tile_06 .bg {
  margin: auto;
}
#plan .tile_06 .txtWrap {
  position: absolute;
  top: 50%;
  left: 8%;
  z-index: 10;
  transform: translateY(-50%);
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#plan .tile_06 .txtWrap .txt_jp {
  font-size: 1.1vw;
  line-height: 1.4;
}
#plan .tile_06 .txtWrap .txt_jp:after {
  width: 90%;
}
#plan .tile_06 .txtWrap .num {
  font-size: 2.6vw;
}
#plan .tile_06 .imgWrap {
  width: 32%;
  bottom: 5%;
  right: 6%;
  z-index: 10;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#plan .tile_06 .imgWrap .img {
  width: 100%;
  animation: loca_tile01 2s ease-in-out 1.8s infinite;
}

/* tile_07 */
#plan .tile_07 {
  width: 90%;
  /*min-width: 354px;*/
  margin: 0;
}
#plan .tile_07 .tile_wrap {
  margin-top: 0%;
}
#plan .tile_07 .tile_con {
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#plan .tile_07 .bg {
  margin: auto;
}
#plan .tile_07 .txtWrap {
  position: static;
  width: 100%;
  margin-bottom: 1em;
  animation: mainanimation01 1s ease-in-out 0.6s forwards;
  opacity: 0;
}
#plan .tile_07 .txtWrap .txt_jp {
  width: 100%;
  font-size: 1.5vw;
  line-height: 1.6;
  color: #3E3A39;
}
#plan .tile_07 .txtWrap .txt_jp:after {
  width: 100%;
}
#plan .tile_07 .txtWrap .txt_jp span {
  font-size: 1.9vw;
  line-height: 1;
}
#plan .tile_07 .txtWrap .num {
  font-size: 3vw;
  color: #3E3A39;
}
#plan .tile_07 .imgWrap {
  width: 100%;
  position: static;
  animation: tile_bg 1s ease-in-out 1s forwards;
  opacity: 0;
}
#plan .tile_07 .imgWrap .img {
  width: 100%;
  animation: loca_tile02 2s ease-in-out 1.2s infinite;
}

#plan .scroll_tag {
  padding: 2em 0 1em;
}


/* Tab */
@media only screen and (max-width: 768px) {
  #plan .ttlArea {
    position: relative;
    width: 100%;
    padding: 2em 0;
    text-align: left;
  }
  #plan .ttlArea > .ttl {
    margin-bottom: 2em;
  }
  #plan .ttlArea > .ttl p {
    /*font-size: clamp(42px, 4vw, 52px);*/
    font-size: 5.469vw;
    line-height: 1.6;
  }
  #plan .maincopyArea {
    width: 100%;
  }
  #plan .maincopy {
    position: relative;
    width: 100%;
    max-width: 1343px;
    margin: 0 0 2em;
  }
  #plan .maincopy .copy_icon.icon01 {
    top: 9%;
    right: auto;
    left: 34%;
    width: 13%;
  }
  #plan .maincopy .copy_icon.icon02 {
    bottom: 12%;
    right: 10%;
    width: 12%;
  }
  #plan .maincopy .copy_icon.icon03 {
    bottom: -2%;
    left: auto;
    right: 10%;
    width: 13%;
  }

  #plan .tileArea {
    display: grid;
    gap: 0.5em;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(4, auto);
    width: 100%;
    margin: auto;
  }

  /* tile_01 */
  #plan .tile_01 {
    width: 100%;
    margin: auto;
  }
  #plan .tile_01 .tile_wrap {
    margin-top: 0;
  }
  #plan .tile_01 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
  }
  #plan .tile_01 .txtWrap .txt_jp {
    /*font-size: 20px;*/
    font-size: 2.604vw;
    line-height: 1.4;
  }
  #plan .tile_01 .txtWrap .txt_jp span {
    /*font-size: 30px;*/
    font-size: 3.906vw;
  }
  #plan .tile_01 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }
  #plan .tile_01 .imgWrap {
    width: 24%;
    top: 10%;
    right: 5%;
  }

  /* tile_02 */
  #plan .tile_02 {
    width: 90%;
    margin: auto;
  }
  #plan .tile_02 .tile_wrap {
    margin-top: 5%;
  }
  #plan .tile_02 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
  }
  #plan .tile_02 .txtWrap .txt_jp {
    /*font-size: 18px;*/
    font-size: 2.995vw;
    line-height: 1.4;
  }
  #plan .tile_02 .txtWrap .txt_jp:after {
    width: 90%;
  }
  #plan .tile_02 .txtWrap .num {
    /*font-size: 39px;*/
    font-size: 5.078vw;
  }
  #plan .tile_02 .imgWrap {
    width: 48%;
    bottom: 5%;
    right: 2%;
  }

  /* tile_03 */
  #plan .tile_03 {
    width: 100%;
    margin: auto;
    margin-left: 5%;
  }
  #plan .tile_03 .tile_wrap {
    margin-top: 0;
  }
  #plan .tile_03 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #plan .tile_03 .txtWrap .txt_jp {
    /*font-size: 23px;*/
    font-size: 2.995vw;
    line-height: 1.4;
  }
  #plan .tile_03 .txtWrap .txt_jp:after {
    width: 100%;
  }
  #plan .tile_03 .txtWrap .num {
    /*font-size: 44px;*/
    font-size: 5.729vw;
  }
  #plan .tile_03 .imgWrap {
    width: 27%;
    top: 10%;
    right: 5%;
  }

  /* tile_04 */
  #plan .tile_04 {
    width: 100%;
    margin: auto;
  }
  #plan .tile_04 .tile_wrap {
    margin-top: 0%;
  }
  #plan .tile_04 .txtWrap {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
  }
  #plan .tile_04 .txtWrap .txt_jp {
    /*font-size: 18px;*/
    font-size: 3.125vw;
    line-height: 1.6;
  }
  #plan .tile_04 .txtWrap .txt_jp:after {
    width: 65%;
  }
  #plan .tile_04 .txtWrap .num {
    /*font-size: 33px;*/
    font-size: 4.297vw;
  }
  #plan .tile_04 .imgWrap {
    width: 36%;
    bottom: 5%;
    right: 6%;
  }

  /* tile_05 */
  #plan .tile_05 {
    width: 100%;
    margin: auto;
  }
  #plan .tile_05 .tile_wrap {
    margin-top: 0%;
  }
  #plan .tile_05 .txtWrap {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
  }
  #plan .tile_05 .txtWrap .txt_jp {
    /*font-size: 22px;*/
    font-size: 2.865vw;
    line-height: 1.4;
  }
  #plan .tile_05 .txtWrap .txt_jp:after {
    width: 55%;
  }
  #plan .tile_05 .txtWrap .num {
    /*font-size: 42px;*/
    font-size: 5.469vw;
  }
  #plan .tile_05 .imgWrap {
    width: 30%;
    bottom: 3%;
    right: 8%;
  }

  /* tile_06 */
  #plan .tile_06 {
    width: 95%;
    margin: auto;
  }
  #plan .tile_06 .tile_wrap {
    margin-top: 10%;
  }
  #plan .tile_06 .txtWrap {
    position: absolute;
    top: 50%;
    left: 6%;
    transform: translateY(-50%);
  }
  #plan .tile_06 .txtWrap .txt_jp {
    /*font-size: 19px;*/
    font-size: 2.655vw;
    line-height: 1.4;
  }
  #plan .tile_06 .txtWrap .txt_jp:after {
    width: 90%;
  }
  #plan .tile_06 .txtWrap .num {
    /*font-size: 39px;*/
    font-size: 5.078vw;
  }
  #plan .tile_06 .imgWrap {
    width: 32%;
    bottom: 2%;
    right: 4%;
  }

  /* tile_07 */
  #plan .tile_07 {
    width: 100%;
    margin: 0;
  }
  #plan .tile_07 .tile_wrap {
    margin-top: 0%;
  }
  #plan .tile_07 .tile_con {
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #plan .tile_07 .txtWrap {
    position: static;
    width: 100%;
    margin-bottom: 1em;
  }
  #plan .tile_07 .txtWrap .txt_jp {
    /*font-size: 25px;*/
    font-size: 3.2552vw;
    line-height: 1.4;
  }
  #plan .tile_07 .txtWrap .txt_jp:after {
    width: 100%;
  }
  #plan .tile_07 .txtWrap .txt_jp span {
    /*font-size: 30px;*/
    font-size: 3.906vw;
    line-height: 1;
  }
  #plan .tile_07 .txtWrap .num {
    /*font-size: 45px;*/
    font-size: 5.859vw;
  }

  #plan .scroll_tag {
    padding: 2em 0 1em;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}



/*---------------------*/
/*プラン02*/
/*---------------------*/
#plan02 {
  width: 100%;
}

#plan02 .scroll_tag {
  padding: 1em 0 2em;
}

#plan02 .tile_img {
  width: 100%;
}
#plan02 .tile_img img {
  width: 100%;
}
#plan02 .tile_img ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
#plan02 .tile_img ul li {
  position: relative;
  width: calc(100% / 3);
}
#plan02 .tile_img .ttlArea {
  position: absolute;
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  text-align: left;
}
#plan02 .tile_img .ttlArea.ttl01 {
  top: 5%;
  left: 3%;
}
#plan02 .tile_img .ttlArea.ttl02 {
  bottom: 3%;
  left: 3%;
}
#plan02 .tile_img .ttlArea.ttl03 {
  bottom: 3%;
  right: 3%;
}
#plan02 .tile_img .ttlArea > p {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  color: #753237;
  margin-bottom: 0.5em;
}
#plan02 .tile_img .ttlArea > p span {
  display: inline-block;
  background: #FFF;
  padding: 0 0.3em;
}
#plan02 .tile_img .ttlArea > p.num {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 44px;
  line-height: 1;
  color: #FFF;
  margin: 0;
}

#plan02 .conWrap {
  width: 100%;
  background: url("../images/index/plan_bg.webp") no-repeat 0% 0%/cover;
  margin: auto;
  padding: 0;
}

#plan02 .p_main {
  padding-bottom: 3em;
}

#plan02 .a_link a {
  width: 100%;
  max-width: 680px;
}

/* 間取り無限ループ */
#plan02 .madori_scroll {
  width: 100%;
  padding: 5em 0;
  overflow: hidden;
}
#plan02 .madoriWrap {
  width: 200%;
  display: flex;
  overflow: hidden;
  gap: 3em;
}
#plan02 .madori__list {
  display: flex;
  list-style: none;
  gap: 3em;
  padding: 0;
}
#plan02 .madori__list--left {
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
}
#plan02 .madori__list .madori {
  width: calc((200% / 9em) / 4);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.3em;
}
#plan02 .madori__list .madori .txtArea {
  width: 45%;
  text-align: left;
}
#plan02 .madori__list .madori .madori_main {
  width: calc(55% - 0.3em);
}
#plan02 .madori__list .madori .txtArea .txt {
  margin-bottom: 1em;
}
#plan02 .madori__list .madori .txtArea .txt p {
  display: block;
  font-size: 1.2vw;
  line-height: 1.6;
  text-align: left;
  color: #753237;
}
#plan02 .madori__list .madori .txtArea .txt p span {
  display: inline-block;
  background: #FFF;
  padding: 0 0.3em;
}
#plan02 .madori__list .madori .txtArea .num p {
  font-family: "fot-tsukuaoldmin-pr6n", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 48px;
  line-height: 1;
  color: #753237;
}


/* Tab */
@media only screen and (max-width: 768px) {
  #plan02 .scroll_tag {
    padding: 1em 0 2em;
  }

  #plan02 .tile_img ul li {
    position: relative;
    width: 100%;
  }
  #plan02 .tile_img .ttlArea.ttl01 {
    top: 5%;
    left: 3%;
  }
  #plan02 .tile_img .ttlArea.ttl02 {
    bottom: 3%;
    left: 3%;
  }
  #plan02 .tile_img .ttlArea.ttl03 {
    bottom: 5%;
    right: 3%;
  }
  #plan02 .tile_img .ttlArea > p {
    /*font-size: 14px;*/
    font-size: 2.604vw;
    line-height: 1.6;
  }
  #plan02 .tile_img .ttlArea > p.num {
    /*font-size: 44px;*/
    font-size: 5.7292vw;
    line-height: 1;
  }

  #plan02 .p_main {
    padding-bottom: 2em;
  }

  #plan02 .a_link a {
    width: 100%;
    max-width: initial;
  }

  /* 間取り無限ループ */
  #plan02 .madori_scroll {
    width: 100%;
    padding: 0;
    overflow: hidden;
    margin-bottom: 2em;
  }
  #plan02 .madoriWrap {
    width: 300%;
    gap: 1em;
  }
  #plan02 .madori__list {
    display: flex;
    list-style: none;
    gap: 1em;
    padding: 0;
  }
  #plan02 .madori__list .madori {
    width: calc((300% / 3em) / 4);
  }
  #plan02 .madori__list .madori .txtArea {
    width: 100%;
    text-align: left;
  }
  #plan02 .madori__list .madori .madori_main {
    width: 100%;
  }
  #plan02 .madori__list .madori .txtArea .txt {
    margin-bottom: 1em;
  }
  #plan02 .madori__list .madori .txtArea .txt p {
    /*font-size: 20px;*/
    font-size: 3.385vw;
    margin-bottom: 0.5em;
  }
  #plan02 .madori__list .madori .txtArea .num p {
    /*font-size: 68px;*/
    font-size: 7.552vw;
    line-height: 1;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}



/*---------------------*/
/*コンテンツ*/
/*---------------------*/
#contents {
  width: 100%;
}
#contents .conWrap {
  width: 100%;
  background: url("../images/index/contents_bg.webp") no-repeat 0% 0%/cover;
  margin: auto;
  padding: 1em 0 0;
}

#contents .p_main {
  padding: 4em;
  overflow: hidden;
}

.swiper-container {
  width: 100%;
  padding: 20px 0;
}
.swiper-wrapper {
  padding: 0;
  margin: 0;
}
.swiper-slide {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.swiper-slide a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.swiper-slide a:hover {
  opacity: 0.6;
}

.swiper-slide .c_name {
  width: 10%;
  writing-mode: vertical-rl;
  display: inline-block;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.15em;
  text-align: center;
  color: #753237;
  padding: 0;
  margin: 0 auto;
}
.swiper-slide .slide_img {
  width: 90%;
  box-shadow: 9px 5px 8px rgba(0, 0, 0, 0.5);
}
.swiper-slide .slide_img img {
  width: 100%;
}


/* Tab */
@media only screen and (max-width: 768px) {
  #contents .p_name {
    display: none;
  }

  #contents .p_main {
    padding: 1em 0;
    overflow: hidden;
  }

  .swiper-container {
    width: 100%;
    padding: 1ewm 0;
  }

  .swiper-slide .c_name {
    width: 10%;
    /*font-size: 24px;*/
    font-size: 3.125vw;
    line-height: 1.4;
  }
}

/* sp */
@media only screen and (max-width: 430px) {
}



