/* home common
-----------------------------------------------------------*/
div.hlWrap {
  text-align: center;
}
div.hlWrap p {
  font-size: min(1.2998266898vw, 15px);
}
div.hlWrap h2 {
  font-size: min(3.0329289428vw, 35px);
  font-weight: 500;
}

.linkBtn {
  width: min(21.6637781629vw, 250px);
}
.linkBtn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(21.6637781629vw, 250px);
  height: min(5.719237435vw, 66px);
  border: 1px solid #cc0000;
  font-size: min(1.4731369151vw, 17px);
  font-weight: 700;
  position: relative;
  color: #cc0000;
  background: linear-gradient(to right, #cc0000 0%, #cc0000 100%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: 105%;
  transition: 0.3s background-size;
}
.linkBtn a span {
  width: min(1.2998266898vw, 15px);
  margin-left: 1em;
}
.linkBtn a span polygon,
.linkBtn a span path {
  fill: #cc0000;
  transition: 0.3s all;
}
@media screen and (min-width: 769px) {
  .linkBtn a:hover {
    background-size: 100% 100%;
    background-position: 0;
    color: #fff;
  }
  .linkBtn a:hover span polygon,
.linkBtn a:hover span path {
    fill: #fff;
  }
}
.linkBtn.wh {
  background: #fff;
}
.linkBtn.wh a {
  border: none;
}

@-webkit-keyframes logoAnim {
  0% {
    stroke-dasharray: 0 30;
  }
  100% {
    stroke-dasharray: 30 30;
  }
}

@keyframes logoAnim {
  0% {
    stroke-dasharray: 0 30;
  }
  100% {
    stroke-dasharray: 30 30;
  }
}
@media screen and (max-width: 767px) {
  div.hlWrap p {
    font-size: 2.9333333333vw;
  }
  div.hlWrap h2 {
    font-size: 6.6666666667vw;
  }
  .linkBtn {
    width: 62.9333333333vw;
  }
  .linkBtn a {
    width: 62.9333333333vw;
    height: 17.3333333333vw;
    font-size: 4.2666666667vw;
  }
  .linkBtn a span {
    width: 4vw;
  }
}
/* kv
-----------------------------------------------------------*/
#kvSec {
  position: relative;
  width: 100%;
  margin: 0 auto;
  height: 100vh;
  max-height: min(86.6551126516vw, 1000px);
  min-height: min(60.6585788562vw, 700px);
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/kv_ill.png);
  background-position: left calc(50% + min(47.6603119584vw, 550px)) bottom max(-2.1663778163vw, -25px);
  background-repeat: no-repeat;
  background-size: min(44.1941074523vw, 510px) auto;
  padding-top: min(0.8665511265vw, 10px);
  -webkit-animation: kvin 1s 1 ease-out forwards;
          animation: kvin 1s 1 ease-out forwards;
}
#kvSec div.kvBox {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
#kvSec div.kvBox h1 {
  width: min(45.4939341421vw, 525px);
  margin-bottom: min(6.3258232236vw, 73px);
}
#kvSec div.kvBox ul.leadNote {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: min(1.733102253vw, 20px);
}
#kvSec div.kvBox ul.leadNote li {
  width: min(5.4592720971vw, 63px);
}
#kvSec div.kvBox div.stamp {
  position: absolute;
  left: calc(50% - min(42.4610051993vw, 490px));
  bottom: min(3.4662045061vw, 40px);
  z-index: 100;
  width: min(21.0571923744vw, 243px);
  height: min(25.3899480069vw, 293px);
  background: url(../img/kv_stamp.png) 0 0 no-repeat;
  background-size: contain;
}
#kvSec div.kvBox div.stamp > p {
  position: absolute;
  width: min(12.1317157712vw, 140px);
  left: min(3.6395147314vw, 42px);
  z-index: 110;
}
#kvSec div.kvBox div.stamp > p:first-child {
  top: min(10.6585788562vw, 123px);
}
#kvSec div.kvBox div.stamp > p:nth-child(2) {
  top: min(14.4714038128vw, 167px);
}
#kvSec div.kvBox div.stamp > p:last-child {
  top: min(18.3708838821vw, 212px);
}
#kvSec div.kvBox div.stamp > p a {
  transition: 0.3s all;
}
@media screen and (min-width: 769px) {
  #kvSec div.kvBox div.stamp > p a:hover {
    transform: scale(0.92);
  }
}
#kvSec div.kvSlide {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100vh;
}
#kvSec div.kvSlide li {
  width: 100%;
  height: 100vh;
  opacity: 0;
}
#kvSec div.kvSlide li p {
  width: 100%;
  height: 100vh;
}
#kvSec div.kvSlide li img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: calc(100% + min(17.3310225303vw, 200px));
  margin-left: min(-8.6655112652vw, -100px);
}
#kvSec div.kvSlide li.swiper-slide-visible p, #kvSec div.kvSlide li.swiper-slide-prev p {
  -webkit-animation: kvin 7s 1 linear forwards;
          animation: kvin 7s 1 linear forwards;
}
#kvSec div.kvSlide li.swiper-slide-visible.move_lh p, #kvSec div.kvSlide li.swiper-slide-prev.move_lh p {
  -webkit-animation: kvin_lh 7s 1 linear forwards;
          animation: kvin_lh 7s 1 linear forwards;
}
#kvSec div.kvSlide li.swiper-slide-visible.move_rh p, #kvSec div.kvSlide li.swiper-slide-prev.move_rh p {
  -webkit-animation: kvin_rh 7s 1 linear forwards;
          animation: kvin_rh 7s 1 linear forwards;
}

@-webkit-keyframes kvin {
  0% {
    background-position: left calc(50% + min(47.6603119584vw, 550px)) bottom max(-2.1663778163vw, -25px);
  }
  100%, to {
    background-position: left calc(50% + min(30.3292894281vw, 350px)) bottom max(-2.1663778163vw, -25px);
  }
}

@keyframes kvin {
  0% {
    background-position: left calc(50% + min(47.6603119584vw, 550px)) bottom max(-2.1663778163vw, -25px);
  }
  100%, to {
    background-position: left calc(50% + min(30.3292894281vw, 350px)) bottom max(-2.1663778163vw, -25px);
  }
}
@media screen and (max-width: 767px) {
  #kvSec {
    height: calc(var(--vh) * 100);
    min-height: 106.6666666667vw;
    max-height: 202.6666666667vw;
    background-image: url(../img/kv_ill.png);
    background-position: left calc(50% + 17.3333333333vw) bottom -4vw;
    background-repeat: no-repeat;
    background-size: 80vw auto;
    padding: 0 0 8vw;
    -webkit-animation: kvin 1s 1 ease-out forwards;
            animation: kvin 1s 1 ease-out forwards;
  }
  #kvSec div.kvBox {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
  }
  #kvSec div.kvBox h1 {
    width: 81.8666666667vw;
    margin-bottom: 13.3333333333vw;
  }
  #kvSec div.kvBox ul.leadNote {
    width: 100%;
    padding: 0 2.6666666667vw;
    box-sizing: border-box;
    justify-content: flex-end;
    gap: 3.4666666667vw;
  }
  #kvSec div.kvBox ul.leadNote li {
    width: 9.6vw;
  }
  #kvSec div.kvBox div.stamp {
    display: none;
  }
  #kvSec div.kvSlide {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    height: 100vh;
  }
  #kvSec div.kvSlide li {
    width: 100%;
    height: 100vh;
    opacity: 0;
  }
  #kvSec div.kvSlide li p {
    width: 100%;
    height: 100vh;
  }
  #kvSec div.kvSlide li img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    width: calc(100% + min(17.3310225303vw, 200px));
    margin-left: min(-8.6655112652vw, -100px);
  }
  #kvSec div.kvSlide li.swiper-slide-visible p, #kvSec div.kvSlide li.swiper-slide-prev p {
    -webkit-animation: kvin 7s 1 linear forwards;
            animation: kvin 7s 1 linear forwards;
  }
  #kvSec div.kvSlide li.swiper-slide-visible.move_lh p, #kvSec div.kvSlide li.swiper-slide-prev.move_lh p {
    -webkit-animation: kvin_lh 7s 1 linear forwards;
            animation: kvin_lh 7s 1 linear forwards;
  }
  #kvSec div.kvSlide li.swiper-slide-visible.move_rh p, #kvSec div.kvSlide li.swiper-slide-prev.move_rh p {
    -webkit-animation: kvin_rh 7s 1 linear forwards;
            animation: kvin_rh 7s 1 linear forwards;
  }
  @-webkit-keyframes kvin {
    0% {
      background-position: left calc(50% + 28vw) bottom -4vw;
    }
    100%, to {
      background-position: left calc(50% + 17.3333333333vw) bottom -4vw;
    }
  }
  @keyframes kvin {
    0% {
      background-position: left calc(50% + 28vw) bottom -4vw;
    }
    100%, to {
      background-position: left calc(50% + 17.3333333333vw) bottom -4vw;
    }
  }
}
/* ThanksSec
-----------------------------------------------------------*/
section#ThanksSec {
  background: #cc0000 url(../img/thanks_corner.svg) left bottom no-repeat;
  background-size: min(22.1837088388vw, 256px) min(22.1837088388vw, 256px);
  color: #fff;
  padding: min(7.7989601386vw, 90px) 0 min(15.5979202773vw, 180px);
}
section#ThanksSec div.inner {
  padding: 0 min(3.4662045061vw, 40px);
  display: flex;
  justify-content: space-between;
}
section#ThanksSec div.inner > div {
  width: min(31.1958405546vw, 360px);
}
section#ThanksSec div.inner figure {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  width: min(39.8613518198vw, 460px);
  border-radius: min(2.5996533795vw, 30px);
  overflow: hidden;
}
section#ThanksSec h2 {
  font-size: min(5.6325823224vw, 65px);
  line-height: 1;
}
section#ThanksSec h2 + p {
  width: min(26.863084922vw, 310px);
  margin-top: min(2.1663778163vw, 25px);
}
section#ThanksSec div.noteBox {
  margin-top: min(2.1663778163vw, 25px);
  font-weight: 700;
}
section#ThanksSec div.noteBox p ~ p {
  margin-top: 1em;
}

@media screen and (max-width: 767px) {
  section#ThanksSec {
    background: #cc0000 url(../img/thanks_corner.svg) left bottom no-repeat;
    background-size: 53.3333333333vw 53.3333333333vw;
    padding: 13.3333333333vw 0 26.6666666667vw;
  }
  section#ThanksSec div.inner {
    padding: 0 10.6666666667vw;
    flex-direction: column-reverse;
  }
  section#ThanksSec div.inner > div {
    width: 100%;
  }
  section#ThanksSec div.inner figure {
    position: static;
    width: 100%;
    border-radius: 8vw;
    overflow: hidden;
    margin-top: 6.6666666667vw;
  }
  section#ThanksSec h2 {
    font-size: 13.3333333333vw;
  }
  section#ThanksSec h2 + p {
    width: 69.3333333333vw;
    margin-top: 4vw;
  }
  section#ThanksSec div.noteBox {
    margin-top: 5.3333333333vw;
  }
}
/* PromiseSec
-----------------------------------------------------------*/
section#PromiseSec {
  padding: min(6.4991334489vw, 75px) 0 min(10.3986135182vw, 120px);
  background-image: url(../img/bg_wh.jpg), url(../img/bg_promise.png);
  background-position: center top, center top;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 100vh, min(109.1854419411vw, 1260px) auto;
  transition: 1.2s all;
}
section#PromiseSec.onAnim {
  background-position: center top min(60.6585788562vw, 700px), center top;
}
section#PromiseSec h2 {
  width: min(40.3812824957vw, 466px);
  margin: 0 auto;
}
section#PromiseSec ul {
  display: flex;
  justify-content: space-between;
  margin-top: min(2.1663778163vw, 25px);
}
section#PromiseSec ul li {
  width: min(27.9029462738vw, 322px);
  height: min(29.4627383016vw, 340px);
  padding: min(3.4662045061vw, 40px) min(2.5996533795vw, 30px) min(2.5996533795vw, 30px);
  background: #cc0000;
  border-radius: min(1.733102253vw, 20px);
  box-sizing: border-box;
  color: #fff;
  font-size: min(1.2131715771vw, 14px);
  font-weight: 700;
  line-height: 1.9;
}
section#PromiseSec ul li h3 {
  font-size: min(2.1663778163vw, 25px);
  text-align: center;
  line-height: 1;
  font-weight: 700;
  margin-bottom: min(2.5996533795vw, 30px);
}
section#PromiseSec .pm-pagination {
  display: none;
}

@media screen and (max-width: 767px) {
  section#PromiseSec {
    padding: 6.6666666667vw 0 10.6666666667vw;
    background-image: url(../img/bg_wh.jpg), url(../img/bg_promise.png);
    background-position: center top, center top;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 100vh, 232vw auto;
    transition: 1.2s all;
  }
  section#PromiseSec.onAnim {
    background-position: center top 186.6666666667vw, center top;
  }
  section#PromiseSec h2 {
    width: 79.4666666667vw;
  }
  section#PromiseSec ul {
    margin-top: 10.6666666667vw;
  }
  section#PromiseSec ul li {
    width: 78.6666666667vw;
    height: 83.4666666667vw;
    padding: 9.3333333333vw 9.3333333333vw 10.6666666667vw;
    border-radius: 5.3333333333vw;
    font-size: 3.4666666667vw;
  }
  section#PromiseSec ul li h3 {
    font-size: 6.4vw;
    margin-bottom: 8vw;
  }
  section#PromiseSec .pm-pagination {
    display: flex;
    justify-content: center;
    gap: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
  section#PromiseSec .pm-pagination .swiper-pagination-bullet {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    margin: 0;
    background: #c1c2c4;
    opacity: 1;
  }
  section#PromiseSec .pm-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #cc0000;
  }
}
/* PriceSec
-----------------------------------------------------------*/
section#PriceSec {
  padding: min(8.2322357019vw, 95px) 0 min(13.8648180243vw, 160px);
  background: #cc0000 url(../img/thanks_corner.svg) left bottom no-repeat;
  background-size: min(22.1837088388vw, 256px) min(22.1837088388vw, 256px);
  color: #fff;
}
section#PriceSec h2 {
  width: min(19.0641247834vw, 220px);
  margin: 0 auto;
}
section#PriceSec h2 + p {
  text-align: center;
  font-weight: 700;
  margin-top: min(3.4662045061vw, 40px);
}
section#PriceSec ul {
  display: flex;
  justify-content: space-between;
  margin-top: min(3.4662045061vw, 40px);
}
section#PriceSec ul li {
  width: min(27.4696707106vw, 317px);
}
section#PriceSec ul li h3 {
  width: min(18.6308492201vw, 215px);
  margin: 0 auto;
}
section#PriceSec ul li > div {
  margin-top: min(0.8665511265vw, 10px);
  height: calc(100% - min(5.8058925477vw, 67px));
  min-height: min(27.7296360485vw, 320px);
  background: url(../img/price_flame.png) center center no-repeat;
  background-size: 100% 100%;
  padding: min(3.2928942808vw, 38px) min(2.5996533795vw, 30px) min(3.2928942808vw, 38px);
  text-align: center;
  box-sizing: border-box;
}
section#PriceSec ul li > div h4 {
  font-size: min(2.1663778163vw, 25px);
  font-weight: 700;
  color: #cc0000;
  line-height: 1;
}
section#PriceSec ul li > div .price {
  height: min(5.6325823224vw, 65px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: min(1.2998266898vw, 15px);
  color: #cc0000;
  line-height: 1;
  gap: min(1.0398613518vw, 12px);
  font-size: min(2.8596187175vw, 33px);
  font-weight: 700;
}
section#PriceSec ul li > div .price span {
  font-size: min(1.2131715771vw, 14px);
}
section#PriceSec ul li > div .note {
  font-size: min(1.1265164645vw, 13px);
  color: #231815;
  margin-top: min(1.2998266898vw, 15px);
  line-height: 1.6;
  font-weight: 400;
}
section#PriceSec div.systemBox {
  margin: min(4.3327556326vw, 50px) auto 0;
  width: min(57.1923743501vw, 660px);
}
section#PriceSec div.systemBox h3 {
  width: min(57.1923743501vw, 660px);
}
section#PriceSec div.systemBox h3 + P {
  font-size: min(1.2131715771vw, 14px);
  font-weight: 400;
  margin-top: min(0.8665511265vw, 10px);
}
section#PriceSec div.systemBox table {
  margin-top: min(1.2998266898vw, 15px);
  table-layout: fixed;
}
section#PriceSec div.systemBox th,
section#PriceSec div.systemBox td {
  padding: min(1.2998266898vw, 15px) 0;
  font-size: min(1.2131715771vw, 14px);
  font-weight: 700;
  vertical-align: top;
  border-bottom: 1px solid #fff;
}
section#PriceSec div.systemBox th.col1 {
  width: min(13.8648180243vw, 160px);
}
section#PriceSec div.systemBox th.col2 {
  width: min(20.7972270364vw, 240px);
}
section#PriceSec div.systemBox td.price {
  font-size: min(1.3864818024vw, 16px);
}
section#PriceSec div.systemBox .notice {
  font-size: min(1.2131715771vw, 14px);
  font-weight: 700;
  margin-top: min(1.2998266898vw, 15px);
}

@media screen and (max-width: 767px) {
  section#PriceSec {
    padding: 18.6666666667vw 0 32vw;
    background: #cc0000;
  }
  section#PriceSec h2 {
    width: 37.3333333333vw;
  }
  section#PriceSec h2 + p {
    margin-top: 6.6666666667vw;
    font-size: 3.7333333333vw;
  }
  section#PriceSec ul {
    display: none;
  }
  section#PriceSec div.systemBox {
    margin-top: 12vw;
    width: 100%;
  }
  section#PriceSec div.systemBox:first-of-type {
    margin-top: 17.3333333333vw;
  }
  section#PriceSec div.systemBox h3 {
    width: 78.6666666667vw;
  }
  section#PriceSec div.systemBox h3 + P {
    font-size: 3.4666666667vw;
    font-weight: 400;
    margin-top: 2.6666666667vw;
  }
  section#PriceSec div.systemBox div.tableWrap {
    overflow: auto;
    width: calc(100% + 21.3333333333vw);
    margin: 0 -10.6666666667vw;
  }
  section#PriceSec div.systemBox div.tableWrap > div {
    width: 133.3333333333vw;
    padding: 0 10.6666666667vw;
  }
  section#PriceSec div.systemBox table {
    margin-top: 4vw;
  }
  section#PriceSec div.systemBox th,
section#PriceSec div.systemBox td {
    padding: 2.6666666667vw 0;
    font-size: 3.4666666667vw;
  }
  section#PriceSec div.systemBox th.col1 {
    width: 37.3333333333vw;
  }
  section#PriceSec div.systemBox th.col2 {
    width: 46.6666666667vw;
  }
  section#PriceSec div.systemBox td.price {
    font-size: 4vw;
  }
  section#PriceSec div.systemBox .notice {
    font-size: 3.4666666667vw;
    margin-top: 4vw;
  }
}
/* GallerySec
-----------------------------------------------------------*/
section#GallerySec {
  margin-top: max(-5.4592720971vw, -63px);
}
section#GallerySec h2 {
  width: min(45.1473136915vw, 521px);
  margin: 0 auto 0;
}
section#GallerySec h2 + p {
  text-align: center;
  font-weight: 700;
  color: #cc0000;
  margin-top: min(2.5996533795vw, 30px);
}
section#GallerySec ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: min(85.7885615251vw, 990px);
  margin: min(3.4662045061vw, 40px) auto 0;
  gap: min(2.5996533795vw, 30px) 0;
}
section#GallerySec ul li {
  width: min(41.5944540728vw, 480px);
  border-radius: min(1.733102253vw, 20px);
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  section#GallerySec {
    padding-bottom: 14.6666666667vw;
    margin-top: -8vw;
  }
  section#GallerySec h2 {
    width: 81.3333333333vw;
  }
  section#GallerySec h2 + p {
    margin-top: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
  section#GallerySec ul {
    flex-direction: column;
    width: 100%;
    margin: 8vw auto 0;
    gap: 2.6666666667vw 0;
  }
  section#GallerySec ul li {
    width: 100%;
    border-radius: 5.3333333333vw;
  }
}
/* EventSec
-----------------------------------------------------------*/
section#EventSec {
  padding: min(7.3656845754vw, 85px) 0 min(20.3639514731vw, 235px);
  background-image: url(../img/event_ill.png);
  background-position: center bottom max(-18.1975736568vw, -210px);
  background-repeat: no-repeat;
  background-size: min(18.1975736568vw, 210px) auto;
  transition: 0.8s all;
}
section#EventSec.onAnim {
  background-position: center bottom 0;
}
section#EventSec h2 {
  width: min(37.6949740035vw, 435px);
  margin: 0 auto;
}
section#EventSec h2 + p {
  margin-top: min(3.0329289428vw, 35px);
  color: #cc0000;
  text-align: center;
  font-weight: 700;
}
section#EventSec .linkBtn {
  margin: min(3.4662045061vw, 40px) auto 0;
}

@media screen and (max-width: 767px) {
  section#EventSec {
    padding: 0 0 40vw;
    background-position: center bottom -32vw;
    background-size: 32vw auto;
  }
  section#EventSec h2 {
    width: 100%;
    background: url(../img/hl_event_sp_up.png) center top no-repeat;
    background-size: 100%;
    padding-top: 16vw;
  }
  section#EventSec h2 img {
    width: 40.5333333333vw;
    margin: 0 auto;
  }
  section#EventSec h2 + p {
    margin-top: 9.3333333333vw;
  }
  section#EventSec .linkBtn {
    margin: 8vw auto 0;
  }
}
/* InfoSec
-----------------------------------------------------------*/
section#InfoSec {
  padding: min(7.3656845754vw, 85px) 0 min(6.0658578856vw, 70px);
  background: #cc0000;
  color: #fff;
}
section#InfoSec div.inner {
  padding: 0 min(3.4662045061vw, 40px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
section#InfoSec div.inner > div {
  width: min(38.9948006932vw, 450px);
}
section#InfoSec h2 {
  font-size: min(3.2928942808vw, 38px);
  font-weight: 700;
  line-height: 1;
}
section#InfoSec h2 + p {
  font-size: min(1.3864818024vw, 16px);
  font-weight: 700;
  margin-top: min(1.2998266898vw, 15px);
}
section#InfoSec table {
  margin-top: min(1.2998266898vw, 15px);
}
section#InfoSec table th,
section#InfoSec table td {
  padding: min(0.8665511265vw, 10px) 0;
  vertical-align: top;
  font-weight: 700;
  letter-spacing: 0.2em;
}
section#InfoSec table th {
  width: min(8.6655112652vw, 100px);
}
section#InfoSec #gmap {
  width: min(40.294627383vw, 465px);
  height: min(37.2616984402vw, 430px);
  border-radius: min(2.5996533795vw, 30px);
  overflow: hidden;
}
section#InfoSec #gmap iframe {
  width: min(40.294627383vw, 465px);
  height: min(37.2616984402vw, 430px);
}

@media screen and (max-width: 767px) {
  section#InfoSec {
    padding: 21.3333333333vw 0 20vw;
  }
  section#InfoSec div.inner {
    padding: 0 10.6666666667vw;
    flex-direction: column;
  }
  section#InfoSec div.inner > div {
    width: 100%;
  }
  section#InfoSec h2 {
    font-size: 8vw;
    text-align: center;
  }
  section#InfoSec h2 + p {
    font-size: 4.2666666667vw;
    margin-top: 3.2vw;
    text-align: center;
  }
  section#InfoSec table {
    margin-top: 4vw;
  }
  section#InfoSec table th,
section#InfoSec table td {
    padding: 2.6666666667vw 0;
  }
  section#InfoSec table th {
    width: 21.3333333333vw;
  }
  section#InfoSec #gmap {
    width: 100%;
    height: 74.6666666667vw;
    border-radius: 8vw;
    margin-top: 10.6666666667vw;
  }
  section#InfoSec #gmap iframe {
    width: 100%;
    height: 74.6666666667vw;
  }
}
/* RecruitSec
-----------------------------------------------------------*/
section#RecruitSec {
  padding: min(6.9324090121vw, 80px) 0;
  background: #eb9999;
  color: #fff;
}
section#RecruitSec div.inner {
  padding: 0 min(3.4662045061vw, 40px);
}
section#RecruitSec h2 {
  font-size: min(3.2928942808vw, 38px);
  font-weight: 700;
  line-height: 1;
}
section#RecruitSec h2 + p {
  font-size: min(1.3864818024vw, 16px);
  font-weight: 700;
  margin-top: min(1.2998266898vw, 15px);
}
section#RecruitSec div.recruitBox {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  margin-top: min(4.3327556326vw, 50px);
  position: relative;
}
section#RecruitSec div.recruitBox:first-of-type {
  margin-top: min(2.5996533795vw, 30px);
}
section#RecruitSec div.recruitBox figure {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: min(20.7972270364vw, 240px);
  border-radius: min(1.733102253vw, 20px);
  overflow: hidden;
}
section#RecruitSec div.recruitBox > div {
  width: min(59.7920277296vw, 690px);
}
section#RecruitSec h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(16.2045060659vw, 187px);
  height: min(4.1594454073vw, 48px);
  font-size: min(1.4731369151vw, 17px);
  background: #dd5454;
}
section#RecruitSec table {
  margin-top: min(1.2998266898vw, 15px);
}
section#RecruitSec table th,
section#RecruitSec table td {
  padding: 0 min(0.4332755633vw, 5px) min(0.8665511265vw, 10px) 0;
  vertical-align: top;
  letter-spacing: 0.2em;
}
section#RecruitSec table th {
  width: min(8.6655112652vw, 100px);
}
section#RecruitSec .linkBtn {
  margin-top: min(1.2998266898vw, 15px);
}

@media screen and (max-width: 767px) {
  section#RecruitSec {
    padding: 18.6666666667vw 0;
  }
  section#RecruitSec div.inner {
    padding: 0 10.6666666667vw;
  }
  section#RecruitSec h2 {
    font-size: 8vw;
    text-align: center;
  }
  section#RecruitSec h2 + p {
    font-size: 4.2666666667vw;
    margin-top: 3.2vw;
    text-align: center;
  }
  section#RecruitSec div.recruitBox {
    display: block;
    margin-top: 14.6666666667vw;
  }
  section#RecruitSec div.recruitBox:first-of-type {
    margin-top: 9.3333333333vw;
  }
  section#RecruitSec div.recruitBox figure {
    position: static;
    width: 100%;
    border-radius: 8vw;
    margin-top: 5.3333333333vw;
  }
  section#RecruitSec div.recruitBox > div {
    width: 100%;
  }
  section#RecruitSec h3 {
    width: 49.8666666667vw;
    height: 12.8vw;
    font-size: 4.5333333333vw;
  }
  section#RecruitSec table {
    margin-top: 4vw;
  }
  section#RecruitSec table th,
section#RecruitSec table td {
    padding: 2.6666666667vw 0;
  }
  section#RecruitSec table th {
    width: 21.3333333333vw;
  }
  section#RecruitSec .linkBtn {
    margin: 4vw auto 0;
  }
  section#RecruitSec .linkBtn a {
    border: 1px solid #cc0000;
  }
}
/* ContactSec
-----------------------------------------------------------*/
section#ContactSec {
  padding: min(7.3656845754vw, 85px) 0 min(5.6325823224vw, 65px);
}
section#ContactSec h2 {
  font-size: min(3.2928942808vw, 38px);
  font-weight: 700;
  line-height: 1;
  color: #cc0000;
  text-align: center;
}
section#ContactSec h2 + p {
  font-size: min(1.3864818024vw, 16px);
  font-weight: 700;
  margin-top: min(1.2998266898vw, 15px);
  color: #cc0000;
  text-align: center;
}
section#ContactSec div.contactBox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-right: 1px solid #cc0000;
  margin-top: min(4.3327556326vw, 50px);
  font-weight: 700;
  color: #cc0000;
  text-align: center;
}
section#ContactSec div.contactBox > div {
  border-left: 1px solid #cc0000;
  padding: min(1.733102253vw, 20px) 0 min(1.2998266898vw, 15px);
}
section#ContactSec div.contactBox div.telBox figure {
  width: min(7.1057192374vw, 82px);
  margin: 0 auto min(2.5996533795vw, 30px);
}
section#ContactSec div.contactBox div.telBox .tel {
  font-size: min(2.5996533795vw, 30px);
  font-weight: 700;
  line-height: 1;
}
section#ContactSec div.contactBox div.telBox .tel a {
  color: #cc0000;
  pointer-events: none;
}
section#ContactSec div.contactBox div.telBox .bisTime {
  margin-top: min(3.0329289428vw, 35px);
}
section#ContactSec div.contactBox div.mailBox figure {
  width: min(4.0727902946vw, 47px);
  margin: min(0.3466204506vw, 4px) auto min(2.5996533795vw, 30px);
}
section#ContactSec div.contactBox div.mailBox h3 {
  font-size: min(2.5996533795vw, 30px);
  font-weight: 700;
  line-height: 1;
}
section#ContactSec div.contactBox div.mailBox .linkBtn {
  margin: min(2.5996533795vw, 30px) auto 0;
}
section#ContactSec ul.shopList {
  display: flex;
  justify-content: space-between;
  margin-top: min(3.4662045061vw, 40px);
}
section#ContactSec ul.shopList li {
  width: min(27.4696707106vw, 317px);
}
section#ContactSec ul.shopList li a {
  width: min(27.4696707106vw, 317px);
  height: calc(100% - min(5.8058925477vw, 67px));
  min-height: min(27.7296360485vw, 320px);
  background: url(../img/contact_flame.png) center center no-repeat;
  background-size: 100% 100%;
  padding: min(6.4991334489vw, 75px) min(3.2928942808vw, 38px) min(3.4662045061vw, 40px);
  box-sizing: border-box;
  font-size: min(1.0398613518vw, 12px);
  color: #fff;
  transition: 0.3s all;
}
@media screen and (min-width: 769px) {
  section#ContactSec ul.shopList li a:hover {
    transform: scale(1.02);
  }
}
section#ContactSec ul.shopList li h3 {
  width: min(18.1975736568vw, 210px);
  margin: 0 auto;
}
section#ContactSec ul.shopList li P {
  margin-top: min(3.4662045061vw, 40px);
  font-weight: 700;
}
section#ContactSec .shop-pagination {
  display: none;
}

@media screen and (max-width: 767px) {
  section#ContactSec {
    padding: 17.3333333333vw 0 13.3333333333vw;
  }
  section#ContactSec h2 {
    font-size: 8vw;
  }
  section#ContactSec h2 + p {
    font-size: 4.2666666667vw;
    margin-top: 3.2vw;
  }
  section#ContactSec div.contactBox {
    display: block;
    margin-top: min(4.3327556326vw, 50px);
    border: none;
  }
  section#ContactSec div.contactBox > div {
    border: none;
    padding: 0;
    margin-top: 13.3333333333vw;
  }
  section#ContactSec div.contactBox div.telBox figure {
    width: 16.5333333333vw;
    margin: 0 auto 5.3333333333vw;
  }
  section#ContactSec div.contactBox div.telBox .tel {
    font-size: 5.6vw;
  }
  section#ContactSec div.contactBox div.telBox .tel a {
    pointer-events: all;
  }
  section#ContactSec div.contactBox div.telBox .bisTime {
    font-size: 4vw;
    margin-top: 4vw;
  }
  section#ContactSec div.contactBox div.mailBox {
    margin-top: 13.3333333333vw;
  }
  section#ContactSec div.contactBox div.mailBox figure {
    width: 10.6666666667vw;
    margin: 0 auto 6.6666666667vw;
  }
  section#ContactSec div.contactBox div.mailBox h3 {
    font-size: 5.6vw;
  }
  section#ContactSec div.contactBox div.mailBox .linkBtn {
    margin: 5.3333333333vw auto 0;
  }
  section#ContactSec ul.shopList {
    margin-top: 17.3333333333vw;
  }
  section#ContactSec ul.shopList li a {
    width: 78.6666666667vw;
    height: 83.4666666667vw;
    padding: 18.6666666667vw 9.3333333333vw 10.6666666667vw;
    border-radius: 5.3333333333vw;
    font-size: 3.4666666667vw;
  }
  section#ContactSec ul.shopList li a h3 {
    width: 52vw;
  }
  section#ContactSec ul.shopList li a P {
    margin-top: 10.6666666667vw;
    font-size: 3.2vw;
  }
  section#ContactSec .shop-pagination {
    display: flex;
    justify-content: center;
    gap: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
  section#ContactSec .shop-pagination .swiper-pagination-bullet {
    width: 2.6666666667vw;
    height: 2.6666666667vw;
    margin: 0;
    background: #c1c2c4;
    opacity: 1;
  }
  section#ContactSec .shop-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: #cc0000;
  }
}
/*# sourceMappingURL=home.css.map */