@charset "UTF-8";
/* sub --> common
-------------------------------------------------------------------------------*/
.sub {
  position: relative;
  padding: 4vw 0 11.3333333333vw 0;
}
@media screen and (min-width: 751px) {
  .sub {
    padding: 2.0833333333vw 0 6.9444444444vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .sub {
    padding: 30px 0 100px 0;
  }
}

.none {
  margin: 5em 0;
  text-align: center;
}

.complete p:nth-child(1),
.notfound p:nth-child(1) {
  font-size: 1.125em;
  font-weight: 700;
}

.complete p:nth-child(n+2),
.notfound p:nth-child(n+2) {
  margin-top: 1.5em;
}

/* sub --> company
-------------------------------------------------------------------------------*/
.sub--company {
  padding-bottom: 0 !important;
}
.sub--company .company-area {
  padding-top: 0 !important;
}
@media screen and (min-width: 751px) {
  .sub--company .company-area {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--company .company-area {
    margin-bottom: 80px;
  }
}

/* ------------------------------------------- motto - */
.company-motto {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  width: 100%;
  padding: 6.6666666667vw 0;
  background-color: #ffffff;
}
.company-motto p {
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 2em;
}
.company-motto p span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(80%, transparent), color-stop(80%, rgba(250, 228, 137, 0.6)));
  background: linear-gradient(transparent 80%, rgba(250, 228, 137, 0.6) 80%);
}
.company-motto:before, .company-motto:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2vw;
  background-image: url(../img/reserve/line_sp.svg);
  background-size: auto 2vw;
  background-repeat: repeat-x;
}
.company-motto:before {
  top: -1vw;
}
.company-motto:after {
  bottom: -1vw;
}

@media screen and (min-width: 751px) {
  .company-motto {
    width: 83.3333333333vw;
    padding: 3.4722222222vw 0;
  }
  .company-motto p {
    font-size: 1.3888888889vw;
  }
  .company-motto:before, .company-motto:after {
    height: 0.625vw;
    background-size: auto 0.625vw;
    background-image: url(../img/reserve/line.svg);
  }
  .company-motto:before {
    top: -0.3125vw;
  }
  .company-motto:after {
    bottom: -0.3125vw;
  }
}
@media screen and (min-width: 1441px) {
  .company-motto {
    padding: 50px 0;
    width: 1200px;
  }
  .company-motto p {
    font-size: 2rem;
  }
  .company-motto:before, .company-motto:after {
    height: 9px;
    background-size: auto 9px;
  }
  .company-motto:before {
    top: -4.5px;
  }
  .company-motto:after {
    bottom: -4.5px;
  }
}
/* ------------------------------------------- box - */
.company-box {
  position: relative;
  margin: 0 auto;
  padding: 6vw 6vw 7.3333333333vw 6vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #e3eaf1;
  border-style: solid;
  border-width: 0.8vw;
  border-radius: 2.1333333333vw;
}
.company-box dt {
  position: relative;
  width: 100%;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
.company-box dd {
  position: relative;
  width: 100%;
  line-height: 2em;
}

@media screen and (max-width: 750px) {
  .company-box dt {
    margin-bottom: 4vw;
  }
  .company-box dd {
    padding-top: 4.6666666667vw;
    border-top-color: #e6e6e6;
    border-top-style: solid;
    border-top-width: 1px;
  }
}
@media screen and (min-width: 751px) {
  .company-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2.7777777778vw 3.125vw;
    width: 61.1111111111vw;
    border-width: 0.4166666667vw;
    border-radius: 1.1111111111vw;
  }
  .company-box dt {
    width: 13.8888888889vw;
    font-size: 1.9444444444vw;
  }
  .company-box dd {
    padding-left: 3.4722222222vw;
    width: 36.8055555556vw;
    border-left-color: #e6e6e6;
    border-left-style: solid;
    border-left-width: 0.0694444444vw;
    line-height: 2em;
  }
}
@media screen and (min-width: 1441px) {
  .company-box {
    padding: 40px 45px;
    width: 880px;
    border-width: 6px;
    border-radius: 16px;
  }
  .company-box dt {
    width: 200px;
    font-size: 2.8rem;
  }
  .company-box dd {
    padding-left: 50px;
    width: 530px;
    border-left-width: 1px;
  }
}
/* ------------------------------------------- message - */
.message {
  margin-top: 13.3333333333vw;
  padding: 13.3333333333vw 0;
  background-image: url(../img/common/bg-check_sp.jpg);
  background-repeat: repeat;
}

.message-contents {
  position: relative;
  margin-bottom: 6.6666666667vw;
}
.message-contents:before, .message-contents:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
}
.message-contents:before {
  top: 0;
  left: 42.6666666667vw;
  width: 7.7333333333vw;
  height: 4vw;
  background-image: url(../img/about/star_sp.png);
}
.message-contents:after {
  top: -6.6666666667vw;
  left: 66.6666666667vw;
  width: 20vw;
  height: 19.0666666667vw;
  background-image: url(../img/about/balloon_sp.png);
}

.message-heading {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
  padding: 0 0.2em 0.3em 0.2em;
  font-size: 5.3333333333vw;
  font-weight: 700;
  line-height: 1.5em;
}
.message-heading:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #a6bacf;
}

.message-images {
  position: relative;
  margin-top: 5.3333333333vw;
}

.message-image {
  border-radius: 0.5333333333vw 0 0 0.5333333333vw;
  overflow: hidden;
}

.message-name {
  margin-top: 4.6666666667vw;
  font-size: 3.4666666667vw;
  font-weight: 700;
  text-align: right;
  line-height: 1.7em;
}
.message-name span {
  font-size: 4vw;
}

@media screen and (max-width: 750px) {
  .message-contents {
    margin-left: auto;
    margin-right: auto;
    width: 88vw;
  }
  .message-image {
    position: relative;
    left: 10vw;
    width: 84vw;
  }
  .message .company-box dd {
    text-align: center;
  }
}
@media screen and (min-width: 751px) {
  .message {
    margin-top: 5.5555555556vw;
    padding: 5.5555555556vw 0;
    background-image: url(../img/common/bg-check.jpg);
    background-image: image-set(url(../img/common/bg-check.jpg) 1x, url(../img/common/bg-check-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/bg-check.jpg) 1x, url(../img/common/bg-check-2x.jpg) 2x);
  }
  .message-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 auto 3.4722222222vw auto;
    padding-bottom: 3.4722222222vw;
    width: 69.4444444444vw;
  }
  .message-contents:before {
    top: auto;
    left: 15.9722222222vw;
    bottom: 4.8611111111vw;
    width: 2.8472222222vw;
    height: 1.4583333333vw;
    background-image: url(../img/about/star.png);
    background-image: image-set(url(../img/about/star.png) 1x, url(../img/about/star-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/about/star.png) 1x, url(../img/about/star-2x.png) 2x);
  }
  .message-contents:after {
    top: auto;
    left: 22.2222222222vw;
    bottom: 1.7361111111vw;
    width: 7.4305555556vw;
    height: 7.0833333333vw;
    background-image: url(../img/about/balloon.png);
    background-image: image-set(url(../img/about/balloon.png) 1x, url(../img/about/balloon-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/about/balloon.png) 1x, url(../img/about/balloon-2x.png) 2x);
  }
  .message-content {
    padding-top: 1.3888888889vw;
    width: 32.6388888889vw;
  }
  .message-heading {
    font-size: 1.6666666667vw;
  }
  .message-heading:after {
    height: 0.2777777778vw;
    border-radius: 0.1388888889vw;
  }
  .message-images {
    margin: 0;
    width: 33.3333333333vw;
  }
  .message-image {
    border-radius: 0.2777777778vw;
  }
  .message-name {
    margin-top: 1.7361111111vw;
    font-size: 1.0416666667vw;
  }
  .message-name span {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .message {
    margin-top: 80px;
    padding: 80px 0;
  }
  .message-contents {
    margin-bottom: 50px;
    padding-bottom: 50px;
    width: 1000px;
  }
  .message-contents:before {
    left: 230px;
    bottom: 70px;
    width: 41px;
    height: 21px;
  }
  .message-contents:after {
    left: 320px;
    bottom: 25px;
    width: 107px;
    height: 102px;
  }
  .message-content {
    padding-top: 20px;
    width: 470px;
  }
  .message-heading {
    font-size: 2.4rem;
  }
  .message-heading:after {
    height: 4px;
    border-radius: 2px;
  }
  .message-images {
    width: 480px;
  }
  .message-image {
    border-radius: 4px;
  }
  .message-name {
    margin-top: 25px;
    font-size: 1.5rem;
  }
  .message-name span {
    font-size: 1.8rem;
  }
}
/* ------------------------------------------- overview - */
.overview {
  position: relative;
  padding-top: 13.3333333333vw;
}
@media screen and (min-width: 751px) {
  .overview {
    padding: 5.5555555556vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .overview {
    padding: 80px 0;
  }
}
.overview:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.5333333333vw;
  background-color: #e6e6e6;
}
@media screen and (min-width: 751px) {
  .overview:before {
    height: 0.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .overview:before {
    height: 2px;
  }
}

.overview-data {
  padding: 6.6666666667vw 3.3333333333vw;
  background-color: #ffffff;
  border-radius: 2.1333333333vw;
}

.overview-data > dl {
  padding: 4vw 0;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 0.2666666667vw;
}

@media screen and (max-width: 750px) {
  .overview-data > dl:last-child {
    border-bottom: none;
  }
}

.overview-data > dl > dt {
  position: relative;
  width: 100%;
  font-weight: 700;
  line-height: 1.75em;
}

.overview-data > dl > dd {
  width: 100%;
  line-height: 1.75em;
}
.overview-data > dl > dd span.indent {
  display: inline-block;
  text-indent: -0.5em;
}

.overview-base {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4vw;
}

.overview-base dl {
  width: 100%;
}

.overview-base dt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5em;
  padding: 0 1em;
  width: 100%;
  height: 6.6666666667vw;
  background-color: #e3eaf1;
  border-radius: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.1em;
}

.overview-base dd {
  padding: 0 4vw;
  width: 100%;
}

.overview-list > li {
  font-weight: 500;
  line-height: 1.75em;
}

.overview-dot > li {
  font-weight: 500;
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.overview-dot > li:before {
  content: "・";
  margin-right: 0.3em;
}

.overview-num {
  counter-reset: cnt;
}

.overview-num > li {
  padding-left: 2em;
  text-indent: -2em;
  line-height: 1.75em;
}
.overview-num > li:before {
  counter-increment: cnt;
  content: counter(cnt, decimal) " ）";
}

@media screen and (max-width: 750px) {
  .overview-data > dl > dt {
    margin-bottom: 0.5em;
    padding-left: 6vw;
  }
  .overview-data > dl > dt:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3.3333333333vw;
    height: 0.8vw;
    background-color: #22366e;
    border-radius: 0.4vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .overview-data > dl > dd {
    padding-left: 6vw;
  }
}
@media screen and (min-width: 751px) {
  .overview-data {
    margin: 0 auto;
    padding: 3.4722222222vw;
    width: 69.4444444444vw;
    border-radius: 1.1111111111vw;
  }
  .overview-data > dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 1.7361111111vw 2.4305555556vw;
    border-bottom-width: 0.0694444444vw;
  }
  .overview-data > dl > dt {
    width: 13.1944444444vw;
  }
  .overview-data > dl > dd {
    width: calc(100% - 13.1944444444vw);
  }
  .overview-base {
    gap: 0.7em;
  }
  .overview-base dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
  }
  .overview-base dt {
    margin: 0;
    width: 13.8888888889vw;
    height: 2.0833333333vw;
    border-radius: 1.0416666667vw;
  }
  .overview-base dd {
    padding: 0.1em 0 0 0;
    width: calc(100% - 15.2777777778vw);
  }
}
@media screen and (min-width: 1441px) {
  .overview-data {
    padding: 50px;
    width: 1000px;
    border-radius: 16px;
  }
  .overview-data > dl {
    padding: 25px 35px;
    border-bottom-width: 1px;
  }
  .overview-data > dl > dt {
    width: 190px;
  }
  .overview-data > dl > dd {
    width: calc(100% - 190px);
  }
  .overview-base dt {
    width: 200px;
    height: 30px;
    border-radius: 15px;
  }
  .overview-base dd {
    width: calc(100% - 220px);
  }
}
/* ------------------------------------------- award - */
.award {
  padding: 13.3333333333vw 0;
  background-color: #e3eaf1;
}

.award-list {
  position: relative;
  margin: 0 auto;
  padding: 6.6666666667vw 4vw;
  width: 100%;
  background-color: #ffffff;
  border-radius: 2.1333333333vw;
  overflow: hidden;
  z-index: 1;
}
.award-list:before, .award-list:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(../img/event/confetti.svg);
  background-size: contain;
  width: 38vw;
  height: 42.9333333333vw;
  z-index: -1;
}
.award-list:before {
  top: -16vw;
  left: -9.3333333333vw;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}
.award-list:after {
  right: -9.3333333333vw;
  bottom: -16vw;
}

.award-list ul {
  position: relative;
  z-index: 1;
}

.award-list ul > li {
  position: relative;
  padding: 4vw 0 4vw 9.3333333333vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: left;
  line-height: 1.33em;
}
.award-list ul > li:before {
  content: "";
  position: absolute;
  top: 1em;
  left: 0;
  display: inline-block;
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  background-image: url(../img/common/check.svg);
  background-size: contain;
}
.award-list ul > li:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.6666666667vw;
  background-image: url(../img/common/dashed_sp.png);
  background-size: auto 0.6666666667vw;
  background-repeat: repeat-x;
}

.award-list ul > li:nth-child(n+2) {
  margin-top: 2vw;
}

@media screen and (min-width: 751px) {
  .award {
    padding: 5.5555555556vw 0;
  }
  .award-list {
    margin: 0 auto;
    padding: 3.4722222222vw;
    width: 61.1111111111vw;
    border-radius: 1.1111111111vw;
    text-align: center;
  }
  .award-list:before, .award-list:after {
    width: 19.7916666667vw;
    height: 22.3611111111vw;
  }
  .award-list:before {
    top: -12.1527777778vw;
    left: -5.2083333333vw;
  }
  .award-list:after {
    right: -2.7777777778vw;
    bottom: -12.1527777778vw;
  }
  .award-list ul {
    display: inline-block;
  }
  .award-list ul > li {
    padding: 1.3888888889vw 1.3888888889vw 1.3888888889vw 3.4722222222vw;
    font-size: 1.3888888889vw;
  }
  .award-list ul > li:before {
    top: 1em;
    width: 1.8055555556vw;
    height: 1.8055555556vw;
  }
  .award-list ul > li:after {
    height: 0.2083333333vw;
    background-image: url(../img/common/dashed.png);
    background-image: image-set(url(../img/common/dashed.png) 1x, url(../img/common/dashed-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/dashed.png) 1x, url(../img/common/dashed-2x.png) 2x);
    background-size: auto 0.2083333333vw;
  }
  .award-list ul > li:nth-child(n+2) {
    margin-top: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .award {
    padding: 80px 0;
  }
  .award-list {
    padding: 50px;
    width: 880px;
    border-radius: 16px;
  }
  .award-list:before, .award-list:after {
    width: 285px;
    height: 322px;
  }
  .award-list:before {
    top: -175px;
    left: -75px;
  }
  .award-list:after {
    right: -40px;
    bottom: -175px;
  }
  .award-list ul > li {
    padding: 20px 20px 20px 50px;
    font-size: 2rem;
  }
  .award-list ul > li:before {
    width: 26px;
    height: 26px;
  }
  .award-list ul > li:after {
    height: 3px;
    background-size: auto 3px;
  }
  .award-list ul > li:nth-child(n+2) {
    margin-top: 10px;
  }
}
/* ------------------------------------------- history - */
.history {
  padding: 13.3333333333vw 0;
  background-color: #ffffff;
}

.history .heading {
  margin-bottom: 9.3333333333vw;
}

.history-founder {
  position: relative;
  margin-bottom: 6.6666666667vw;
  margin-left: -4vw;
  padding: 9.3333333333vw 6.6666666667vw;
  width: 100vw;
  background-color: #f9f9f9;
}

.history-founder-heading {
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
  padding: 0 0.2em 0.3em 0.2em;
  font-size: 5.3333333333vw;
  font-weight: 700;
  line-height: 1.5em;
}
.history-founder-heading:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #a6bacf;
}

.history-founder-content {
  position: relative;
}
.history-founder-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 66.6666666667vw;
  display: inline-block;
  width: 17.3333333333vw;
  height: 8.1333333333vw;
  background-image: url(../img/update/glasses_sp.png);
  background-size: contain;
}

.history-founder-image {
  position: relative;
  margin-top: 6.6666666667vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.history-founder-name {
  margin-top: 4.6666666667vw;
  font-size: 3.4666666667vw;
  font-weight: 700;
  text-align: right;
  line-height: 1.7em;
}
.history-founder-name span {
  font-size: 4vw;
}

.history-data dl {
  padding: 4vw 0;
  border-bottom-color: #a6bacf;
  border-bottom-style: dashed;
  border-bottom-width: 1px;
}

.history-data dt {
  position: relative;
  margin-bottom: 0.3em;
  padding-left: 1.2em;
  width: 100%;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}
.history-data dt:before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.6em;
  height: 0.6em;
  background-color: #a6bacf;
  border-radius: 50%;
}

.history-data dd {
  width: 100%;
  font-weight: 500;
  line-height: 1.5em;
}

@media screen and (min-width: 751px) {
  .history {
    padding: 5.5555555556vw 0;
  }
  .history .heading {
    margin-bottom: 3.4722222222vw;
  }
  .history-founder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 auto 3.4722222222vw auto;
    padding: 3.4722222222vw;
    width: 76.3888888889vw;
  }
  .history-founder-content {
    padding-top: 1.3888888889vw;
    width: 32.6388888889vw;
  }
  .history-founder-content:before {
    top: auto;
    left: auto;
    right: -0.6944444444vw;
    bottom: 0;
    width: 6.5277777778vw;
    height: 3.0555555556vw;
    background-image: url(../img/update/glasses.png);
    background-image: image-set(url(../img/update/glasses.png) 1x, url(../img/update/glasses-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/update/glasses.png) 1x, url(../img/update/glasses-2x.png) 2x);
  }
  .history-founder-heading {
    font-size: 1.6666666667vw;
  }
  .history-founder-heading:after {
    height: 0.2777777778vw;
    border-radius: 0.1388888889vw;
  }
  .history-founder-image {
    margin: 0;
    width: 33.3333333333vw;
    border-radius: 0.2777777778vw;
  }
  .history-founder-name {
    margin-top: 1.7361111111vw;
    font-size: 1.0416666667vw;
  }
  .history-founder-name span {
    font-size: 1.25vw;
  }
  .history-data {
    margin: 0 auto;
    width: 69.4444444444vw;
  }
  .history-data dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 1.1805555556vw 0;
    border-bottom-width: 0.0694444444vw;
  }
  .history-data dt {
    margin: 0;
    width: 15.2777777778vw;
    font-size: 1.1111111111vw;
    line-height: 1.7em;
  }
  .history-data dt:before {
    top: 0.7em;
  }
  .history-data dd {
    width: calc(100% - 16.6666666667vw);
    line-height: 1.7em;
  }
}
@media screen and (min-width: 1441px) {
  .history {
    padding: 80px 0;
  }
  .history .heading {
    margin-bottom: 50px;
  }
  .history-founder {
    margin-bottom: 50px;
    padding: 50px;
    width: 1100px;
  }
  .history-founder:before {
    left: 230px;
    bottom: 70px;
    width: 41px;
    height: 21px;
  }
  .history-founder:after {
    left: 320px;
    bottom: 25px;
    width: 107px;
    height: 102px;
  }
  .history-founder-content {
    padding-top: 20px;
    width: 470px;
  }
  .history-founder-content:before {
    right: -10px;
    width: 94px;
    height: 44px;
  }
  .history-founder-heading {
    font-size: 2.4rem;
  }
  .history-founder-heading:after {
    height: 4px;
    border-radius: 2px;
  }
  .history-founder-image {
    width: 480px;
    border-radius: 4px;
  }
  .history-founder-name {
    margin-top: 25px;
    font-size: 1.5rem;
  }
  .history-founder-name span {
    font-size: 1.8rem;
  }
  .history-data {
    width: 1000px;
  }
  .history-data dl {
    padding: 17px 0;
    border-bottom-width: 1px;
  }
  .history-data dt {
    width: 220px;
    font-size: 1.6rem;
  }
  .history-data dd {
    width: calc(100% - 240px);
  }
}
/* ------------------------------------------- showoom - */
.sub--company .showroom {
  background-image: url(../img/common/bg-check_sp.jpg);
  background-repeat: repeat;
}
@media screen and (min-width: 751px) {
  .sub--company .showroom {
    background-image: url(../img/common/bg-check.jpg);
    background-image: image-set(url(../img/common/bg-check.jpg) 1x, url(../img/common/bg-check-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/bg-check.jpg) 1x, url(../img/common/bg-check-2x.jpg) 2x);
  }
}

.recruit-btn {
  margin-top: 8vw;
}
@media screen and (min-width: 751px) {
  .recruit-btn {
    margin-top: 2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .recruit-btn {
    margin-top: 40px;
  }
}

/* sub --> first
-------------------------------------------------------------------------------*/
.sub--first {
  padding: 0 !important;
}

/* ------------------------------------------- check list - */
.check-list > li {
  position: relative;
  padding: 4vw 0 4vw 10vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: left;
  line-height: 1.33em;
}
.check-list > li:before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0;
  display: inline-block;
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  background-image: url(../img/common/check.svg);
  background-size: contain;
}
.check-list > li:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: 100%;
  height: 0.6666666667vw;
  background-image: url(../img/common/dashed_sp.png);
  background-size: auto 0.6666666667vw;
  background-repeat: repeat-x;
}
.check-list > li span:before, .check-list > li span:after {
  color: #a6bacf;
}
.check-list > li span:before {
  content: "“";
  margin-right: 0.25em;
}
.check-list > li span:after {
  content: "”";
  margin-left: 0.25em;
}

@media screen and (min-width: 751px) {
  .check-list > li {
    padding: 1.0416666667vw 0 1.0416666667vw 3.4722222222vw;
    font-size: 1.6666666667vw;
  }
  .check-list > li:before {
    top: 1em;
    width: 1.8055555556vw;
    height: 1.8055555556vw;
  }
  .check-list > li:after {
    height: 0.2083333333vw;
    background-image: url(../img/common/dashed.png);
    background-image: image-set(url(../img/common/dashed.png) 1x, url(../img/common/dashed-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/common/dashed.png) 1x, url(../img/common/dashed-2x.png) 2x);
    background-size: auto 0.2083333333vw;
  }
  .check-list > li:nth-child(n+2) {
    margin-top: 0.3472222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .check-list > li {
    padding: 15px 0 15px 50px;
    font-size: 2.4rem;
  }
  .check-list > li:before {
    width: 26px;
    height: 26px;
  }
  .check-list > li:after {
    height: 3px;
    background-size: auto 3px;
  }
  .check-list > li:nth-child(n+2) {
    margin-top: 5px;
  }
}
/* ------------------------------------------- attention - */
.attention {
  padding: 10vw 0 13.3333333333vw 0;
}

.attention .inner {
  width: 88vw;
}

.attention-image {
  margin: 0 auto 4vw auto;
  width: 85.3333333333vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}

.attention-text {
  margin-top: 6.6666666667vw;
}

@media screen and (min-width: 751px) {
  .attention {
    padding: 3.125vw 0 5.5555555556vw 0;
  }
  .attention .inner {
    width: 69.4444444444vw;
  }
  .attention-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .attention-list {
    width: 31.25vw;
  }
  .attention-image {
    margin: 0;
    width: 33.3333333333vw;
    border-radius: 0.6944444444vw;
  }
  .attention-text {
    margin-top: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .attention {
    padding: 45px 0 80px 0;
  }
  .attention .inner {
    width: 1000px;
  }
  .attention-list {
    width: 450px;
  }
  .attention-image {
    width: 480px;
    border-radius: 10px;
  }
  .attention-text {
    margin-top: 50px;
  }
}
/* ------------------------------------------- reform - */
.first-reform {
  padding: 12vw 0;
  background-color: #ffffff;
}

.first-reform .heading-ja--deco .large:before, .first-reform .heading-ja--deco .large:after {
  margin-top: 0.75em;
}

.first-reform-contents {
  position: relative;
}

.first-reform-slide {
  position: relative;
}

.p-first-reform {
  width: 42.6666666667vw;
}

.p-first-reform a {
  display: block;
  padding: 1.3333333333vw 1.3333333333vw 0 1.3333333333vw;
  background-color: #ffffff;
  border-color: #a6bacf;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 1.3333333333vw;
}

.p-first-image {
  border-radius: 1.3333333333vw;
  overflow: hidden;
}

.p-first-reform-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 16.2666666667vw;
}

.p-first-reform-ttl {
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
}

#first-reform-prev,
#first-reform-next {
  z-index: 3;
}

#first-reform-prev {
  left: -4.6666666667vw;
}

#first-reform-next {
  right: -4.6666666667vw;
}

@media screen and (max-width: 750px) {
  .first-reform-slide {
    position: relative;
    margin: 0 auto;
    width: 88vw;
  }
  .first-reform-slide:before, .first-reform-slide:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 6.6666666667vw;
    height: calc(100% + 0.5em);
    background-color: #ffffff;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 2;
  }
  .first-reform-slide:before {
    left: 101%;
  }
  .first-reform-slide:after {
    right: 101%;
  }
  .p-first-reform {
    margin-right: 2.6666666667vw;
  }
  .first-reform-slide .p-first-reform:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 751px) {
  .first-reform {
    padding: 5.5555555556vw 0;
  }
  .first-reform .heading-ja--deco .large:before, .first-reform .heading-ja--deco .large:after {
    margin-top: 0.5em;
  }
  .first-reform-slide .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.7361111111vw;
    width: auto;
    height: auto;
  }
  .p-first-reform {
    width: 15.2777777778vw;
  }
  .p-first-reform a {
    padding: 0.6944444444vw 0.6944444444vw 0 0.6944444444vw;
    border-width: 0.0694444444vw;
    border-radius: 1.1111111111vw;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .p-first-image {
    border-radius: 0.2777777778vw;
  }
  .p-first-reform a:hover {
    background-color: #e3eaf1;
  }
  .p-first-reform a:hover .p-first-reform-image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    cursor: pointer;
  }
  .p-first-reform-content {
    height: 4.7222222222vw;
  }
  .p-first-reform-ttl {
    font-size: 1.3888888889vw;
  }
  #first-reform-prev,
  #first-reform-next,
  #first-reform-pagination {
    display: none;
  }
}
@media screen and (min-width: 1441px) {
  .first-reform {
    padding: 80px 0;
  }
  .first-reform-slide .swiper-wrapper {
    gap: 25px;
  }
  .p-first-reform {
    width: 220px;
  }
  .p-first-reform a {
    padding: 10px 10px 0 10px;
    border-width: 1px;
    border-radius: 16px;
  }
  .p-first-image {
    border-radius: 4px;
  }
  .p-first-reform-content {
    height: 68px;
  }
  .p-first-reform-ttl {
    font-size: 2rem;
  }
}
/* ------------------------------------------- flow - */
.flow {
  position: relative;
  padding: 16vw 0 13.3333333333vw 0;
  background-color: #f0f0f0;
}

.flow .heading {
  margin-bottom: 8vw;
}

.flow .heading-en {
  top: -6.6666666667vw;
  left: 68vw;
}

.flow .heading-ja--deco span.big:before, .flow .heading-ja--deco span.big:after {
  margin-top: 0.5em;
}

.flow-contents {
  position: relative;
}

.flow-slide {
  position: relative;
  z-index: 1;
}

.p-flow {
  position: relative;
  width: 61.3333333333vw;
  height: auto;
}

.p-flow-image {
  position: relative;
}
.p-flow-image img {
  border-radius: 1.3333333333vw;
}

.p-flow-content {
  position: relative;
  padding-top: 8vw;
}

.p-flow-num {
  position: absolute;
  top: -8vw;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 0.4em;
  width: 13.0666666667vw;
  height: 13.0666666667vw;
  background-color: #e3eaf1;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.8vw;
  border-radius: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
.p-flow-num span {
  color: #456a93;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 5.8666666667vw;
  line-height: 1.1em;
}

.p-flow-ttl {
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.33em;
}

.p-flow-text {
  margin-top: 1em;
}
.p-flow-text p {
  line-height: 1.5em;
}

@media screen and (max-width: 750px) {
  .p-flow {
    left: 2vw;
    margin-right: 4vw;
    padding: 1.3333333333vw 1.3333333333vw 4vw 1.3333333333vw;
    background-color: #ffffff;
    border-radius: 1.3333333333vw;
  }
  .flow-slide .swiper-slide:last-child {
    margin-right: 0;
  }
  .p-flow-content {
    padding-left: 3.7333333333vw;
    padding-right: 3.7333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .flow {
    padding: 12.5vw 0 5.5555555556vw 0;
  }
  .flow .heading {
    margin-bottom: 3.4722222222vw;
  }
  .flow .heading-en {
    top: 3.4722222222vw;
    left: 54.5138888889vw;
  }
  .flow .heading-ja--deco span.big:before, .flow .heading-ja--deco span.big:after {
    margin-top: 0.5em;
  }
  .flow-slide .swiper-wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.0833333333vw 1.875vw;
    width: auto;
    height: auto;
  }
  .p-flow {
    width: 19.4444444444vw;
  }
  .flow-slide .swiper-wrapper .p-flow:nth-child(2) .p-flow-image:before,
  .flow-slide .swiper-wrapper .p-flow:nth-child(5) .p-flow-image:before,
  .flow-slide .swiper-wrapper .p-flow:nth-child(8) .p-flow-image:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 54.1666666667vw;
    height: 1.7361111111vw;
    background-color: rgba(166, 186, 207, 0.5);
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1;
  }
  .p-flow-image img {
    border-radius: 0.6944444444vw;
  }
  .p-flow-content {
    padding-top: 2.2222222222vw;
  }
  .p-flow-num {
    top: -3.2638888889vw;
    width: 4.8611111111vw;
    height: 4.8611111111vw;
    border-width: 0.2083333333vw;
  }
  .p-flow-num span {
    font-size: 2.2222222222vw;
  }
  .p-flow-ttl {
    font-size: 1.25vw;
  }
  .p-flow-text p {
    font-size: 0.9722222222vw;
    letter-spacing: 0.09em;
  }
}
@media screen and (min-width: 1441px) {
  .flow {
    padding: 180px 0 80px 0;
  }
  .flow .heading {
    margin-bottom: 50px;
  }
  .flow .heading-en {
    top: 50px;
    left: 785px;
  }
  .flow-slide .swiper-wrapper {
    gap: 30px 27px;
  }
  .p-flow {
    width: 280px;
  }
  .flow-slide .swiper-wrapper .p-flow:nth-child(2) .p-flow-image:before,
  .flow-slide .swiper-wrapper .p-flow:nth-child(5) .p-flow-image:before,
  .flow-slide .swiper-wrapper .p-flow:nth-child(8) .p-flow-image:before {
    width: 780px;
    height: 25px;
  }
  .p-flow-image img {
    border-radius: 10px;
  }
  .p-flow-content {
    padding-top: 32px;
  }
  .p-flow-num {
    top: -47px;
    width: 70px;
    height: 70px;
    border-width: 3px;
  }
  .p-flow-num span {
    font-size: 3.2rem;
  }
  .p-flow-ttl {
    font-size: 1.8rem;
  }
  .p-flow-text p {
    font-size: 1.4rem;
  }
}
/* ------------------------------------------- trouble - */
.trouble {
  padding: 13.3333333333vw 0;
}

.trouble .inner {
  width: 88vw;
}

.trouble .heading-lead p {
  text-align: center;
}

.trouble-image {
  margin: 0 auto 4vw auto;
  width: 85.3333333333vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}

.trouble-text {
  margin-top: 6.6666666667vw;
}
.trouble-text p.marker {
  margin-top: 1em !important;
  font-size: 4.8vw;
  text-align: center;
}
.trouble-text p.marker span {
  display: inline-block;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #e8e1c3));
  background: linear-gradient(transparent 70%, #e8e1c3 70%);
}

@media screen and (min-width: 751px) {
  .trouble {
    padding: 6.9444444444vw 0 5.5555555556vw 0;
  }
  .trouble .inner {
    width: 69.4444444444vw;
  }
  .trouble-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .trouble-list {
    width: 31.25vw;
  }
  .trouble-image {
    margin: 0;
    width: 33.3333333333vw;
    border-radius: 0.6944444444vw;
  }
  .trouble-text {
    margin-top: 2.7777777778vw;
  }
  .trouble-text p:first-child {
    text-align: center;
  }
  .trouble-text p.marker {
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .trouble {
    padding: 100px 0 80px 0;
  }
  .trouble .inner {
    width: 1000px;
  }
  .trouble-list {
    width: 450px;
  }
  .trouble-image {
    width: 480px;
    border-radius: 10px;
  }
  .trouble-text {
    margin-top: 40px;
  }
  .trouble-text p.marker {
    font-size: 2rem;
  }
}
/* ------------------------------------------- faq - */
.faq {
  padding: 16vw 0 13.3333333333vw 0;
  background-image: url(../img/common/bg-dot_sp.jpg);
  background-repeat: repeat;
}

.faq .heading:after {
  content: "";
  position: absolute;
  top: -9.3333333333vw;
  right: 7.3333333333vw;
  display: inline-block;
  width: 12vw;
  height: 9.4666666667vw;
  background-image: url(../img/faq/book_sp.png);
  background-size: contain;
}

.faq .heading-en {
  top: -7.3333333333vw;
  left: 12vw;
}

@media screen and (min-width: 751px) {
  .faq {
    padding: 12.5vw 0 5.5555555556vw 0;
    background-image: url(../img/common/bg-dot.jpg);
    background-image: image-set(url(../img/common/bg-dot.jpg) 1x, url(../img/common/bg-dot-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/bg-dot.jpg) 1x, url(../img/common/bg-dot-2x.jpg) 2x);
  }
  .faq .heading:after {
    top: 0;
    right: 18.0555555556vw;
    width: 4.4444444444vw;
    height: 3.5416666667vw;
    background-image: url(../img/faq/book.png);
    background-image: image-set(url(../img/faq/book.png) 1x, url(../img/faq/book-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/faq/book.png) 1x, url(../img/faq/book-2x.png) 2x);
  }
  .faq .heading-en {
    top: 0.6944444444vw;
    left: 18.75vw;
  }
}
@media screen and (min-width: 1441px) {
  .faq {
    padding: 180px 0 80px 0;
  }
  .faq .heading:after {
    top: 0;
    right: 260px;
    width: 64px;
    height: 51px;
  }
  .faq .heading-en {
    top: 10px;
    left: 270px;
  }
}
/* ------------------------------------------- kodawari - */
.kodawari {
  padding: 18.6666666667vw 0 13.3333333333vw 0;
  background-image: url(../img/common/bg-check_sp.jpg);
  background-repeat: repeat;
}

.kodawari .heading {
  margin-bottom: 8.6666666667vw;
}
.kodawari .heading:after {
  content: "";
  position: absolute;
  top: -7.3333333333vw;
  right: 5.3333333333vw;
  display: inline-block;
  width: 11.2vw;
  height: 9.0666666667vw;
  background-image: url(../img/pride/impact.svg);
  background-size: contain;
}

.kodawari .heading-en {
  top: -6vw;
  left: 7.3333333333vw;
}

.kodawari .heading-ja span.num {
  font-size: 9.6vw;
}

.kodawari-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10.6666666667vw;
}

.p-kodawari {
  position: relative;
  padding: 11.3333333333vw 5.3333333333vw 4.8vw 5.3333333333vw;
  width: 100%;
  background-color: #ffffff;
  border-radius: 4.8vw;
}

.p-kodawari-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 6vw auto;
  width: 100%;
  height: 14.6666666667vw;
}
.p-kodawari-head:before, .p-kodawari-head:after {
  content: "";
  position: absolute;
  left: 50%;
  width: 100%;
  height: 1.0666666667vw;
  background-image: url(../img/first/line_sp.png);
  background-size: contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-kodawari-head:before {
  top: 0;
}
.p-kodawari-head:after {
  bottom: 0;
}

.p-kodawari-num {
  position: absolute;
  top: -2.6666666667vw;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 27.2vw;
  height: 5.3333333333vw;
  background-color: #ffffff;
  color: #6d86a3;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 2.6666666667vw;
  font-weight: 900;
  letter-spacing: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}

.p-kodawari-ttl {
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 5.6vw;
  font-weight: 700;
  line-height: 1.33em;
}
.p-kodawari-ttl span {
  color: #998604;
}

.p-kodawari-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
}

.p-kodawari-slide-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  width: 100%;
}

.p-kodawari-slide-image {
  position: relative;
  width: 70.6666666667vw;
  z-index: 1;
}
.p-kodawari-slide-image img {
  border-radius: 1.3333333333vw;
}
.p-kodawari-slide-image:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 1.3333333333vw;
  z-index: -1;
}

.p-kodawari-slide-content .p-kodawari-slide-content-item:nth-child(n+2) {
  margin-top: 2.6666666667vw;
}

.p-kodawari-slide-ttl {
  padding-bottom: 0.7em;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 0.5333333333vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.38em;
}

.p-kodawari-slide-text {
  margin-top: 1em;
}
.p-kodawari-slide-text span.marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #e8e1c3));
  background: linear-gradient(transparent 70%, #e8e1c3 70%);
  font-weight: 700;
}

.kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(odd) .p-kodawari-slide-image:before {
  top: -1.6vw;
  left: 1.6vw;
  background-color: rgba(232, 225, 195, 0.5);
}

.kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(even) .p-kodawari-slide-image:before {
  top: 1.6vw;
  left: -1.6vw;
  background-color: rgba(166, 186, 207, 0.5);
}

@media screen and (max-width: 750px) {
  .kodawari-slide {
    position: relative;
    overflow: hidden;
  }
  .p-kodawari-slide-ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 5.3333333333vw;
    height: 18.6666666667vw;
    text-align: center;
  }
  .p-kodawari-slide-image {
    margin: 0 auto 4.6666666667vw auto;
  }
  .kodawari-slide .slide-prev,
  .kodawari-slide .slide-next {
    top: 39.3333333333vw;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media screen and (min-width: 751px) {
  .kodawari {
    padding: 6.9444444444vw 0;
    background-image: url(../img/common/bg-check.jpg);
    background-image: image-set(url(../img/common/bg-check.jpg) 1x, url(../img/common/bg-check-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/bg-check.jpg) 1x, url(../img/common/bg-check-2x.jpg) 2x);
  }
  .kodawari .inner {
    width: 69.4444444444vw;
  }
  .kodawari .heading {
    margin-bottom: 3.4722222222vw;
  }
  .kodawari .heading:after {
    top: 0;
    right: 11.4583333333vw;
    width: 4.4444444444vw;
    height: 3.6805555556vw;
  }
  .kodawari .heading-en {
    top: 2.0833333333vw;
    left: 4.5138888889vw;
  }
  .kodawari .heading-ja span.num {
    font-size: 4.1666666667vw;
  }
  .kodawari-post {
    gap: 4.1666666667vw;
  }
  .p-kodawari {
    padding: 4.8611111111vw 4.8611111111vw 4.1666666667vw 4.8611111111vw;
    border-radius: 2.5vw;
  }
  .p-kodawari-head {
    margin: 0 auto 3.4722222222vw auto;
    width: 32.6388888889vw;
    height: 5.8333333333vw;
  }
  .p-kodawari-head:before, .p-kodawari-head:after {
    height: 0.4166666667vw;
    background-image: url(../img/first/line.png);
  }
  .p-kodawari-num {
    top: -1.0416666667vw;
    width: 10.9722222222vw;
    height: 2.0833333333vw;
    font-size: 1.1111111111vw;
  }
  .p-kodawari-ttl {
    font-size: 2.5vw;
  }
  .kodawari-slide .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.7777777778vw;
    width: auto;
    height: auto;
  }
  .p-kodawari-slide {
    gap: 2.0833333333vw;
  }
  .p-kodawari-slide-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: auto;
  }
  .p-kodawari-slide-image {
    width: 27.7777777778vw;
  }
  .p-kodawari-slide-image img {
    border-radius: 0.6944444444vw;
  }
  .p-kodawari-slide-image:before {
    top: 0.6944444444vw;
    left: 0.6944444444vw;
    border-radius: 0.6944444444vw;
  }
  .p-kodawari-slide-content {
    width: 27.9166666667vw;
  }
  .p-kodawari-slide-content .p-kodawari-slide-content-item:nth-child(n+2) {
    margin-top: 2.4305555556vw;
  }
  .p-kodawari-slide-ttl {
    border-bottom-width: 0.1388888889vw;
    font-size: 1.8055555556vw;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(odd) .p-kodawari-slide-image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(odd) .p-kodawari-slide-image:before {
    top: -0.6944444444vw;
    left: 0.6944444444vw;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(odd) .p-kodawari-slide-content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(even) .p-kodawari-slide-image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(even) .p-kodawari-slide-image:before {
    top: 0.6944444444vw;
    left: -0.6944444444vw;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(even) .p-kodawari-slide-content {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .kodawari-contents .slide-prev,
  .kodawari-contents .slide-next,
  .kodawari-contents .slide-pagination {
    display: none;
  }
}
@media screen and (min-width: 1441px) {
  .kodawari {
    padding: 100px 0;
  }
  .kodawari .inner {
    width: 1000px;
  }
  .kodawari .heading {
    margin-bottom: 50px;
  }
  .kodawari .heading:after {
    right: 165px;
    width: 64px;
    height: 53px;
  }
  .kodawari .heading-en {
    top: 30px;
    left: 65px;
  }
  .kodawari .heading-ja span.num {
    font-size: 6rem;
  }
  .kodawari-post {
    gap: 60px;
  }
  .p-kodawari {
    padding: 70px 70px 60px 70px;
    border-radius: 36px;
  }
  .p-kodawari-head {
    margin: 0 auto 50px auto;
    width: 470px;
    height: 84px;
  }
  .p-kodawari-head:before, .p-kodawari-head:after {
    height: 6px;
  }
  .p-kodawari-num {
    top: -15px;
    width: 158px;
    height: 30px;
    font-size: 1.6rem;
  }
  .p-kodawari-ttl {
    font-size: 3.6rem;
  }
  .kodawari-slide .swiper-wrapper {
    gap: 40px;
  }
  .p-kodawari-slide {
    gap: 30px;
  }
  .p-kodawari-slide-image {
    width: 400px;
  }
  .p-kodawari-slide-image img {
    border-radius: 10px;
  }
  .p-kodawari-slide-image:before {
    top: 10px;
    left: 10px;
    border-radius: 10px;
  }
  .p-kodawari-slide-content {
    width: 402px;
  }
  .p-kodawari-slide-content .p-kodawari-slide-content-item:nth-child(n+2) {
    margin-top: 35px;
  }
  .p-kodawari-slide-ttl {
    border-bottom-width: 2px;
    font-size: 2.6rem;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(odd) .p-kodawari-slide-image:before {
    top: -10px;
    left: 10px;
  }
  .kodawari-slide .swiper-wrapper .p-kodawari-slide:nth-child(even) .p-kodawari-slide-image:before {
    top: 10px;
    left: -10px;
  }
}
/* sub --> contact
-------------------------------------------------------------------------------*/
.sub--contact {
  background-color: #edede5;
}
@media screen and (min-width: 751px) {
  .sub--contact {
    padding-top: 0;
  }
}

/* sub --> reserve
-------------------------------------------------------------------------------*/
.sub--reserve {
  padding: 0 !important;
}

.sub--showroom-fukaya,
.sub--showroom-chichibu {
  padding-bottom: 0 !important;
}

.reserve-btn {
  margin: 8vw auto 0 auto;
  width: 69.3333333333vw;
}
@media screen and (min-width: 751px) {
  .reserve-btn {
    margin-top: 2.7777777778vw;
    width: 25vw;
  }
}
@media screen and (min-width: 1441px) {
  .reserve-btn {
    margin-top: 40px;
    width: 360px;
  }
}
@media screen and (max-width: 750px) {
  .reserve-btn .btn-reserve p {
    font-size: 3.7333333333vw;
  }
}

/* ------------------------------------------- slide - */
.reserve-carousel {
  margin-bottom: 13.3333333333vw;
}
@media screen and (min-width: 751px) {
  .reserve-carousel {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .reserve-carousel {
    margin-bottom: 80px;
  }
}

.reserve-carousel .carousel {
  margin-bottom: 0;
}

.reserve-banner {
  position: absolute;
  right: 4vw;
  bottom: 1.3333333333vw;
  padding: 3.3333333333vw 2.6666666667vw 1.3333333333vw 2.6666666667vw;
  background-image: url(../img/reserve/bg_sp.jpg);
  background-size: cover;
  border-radius: 1.3333333333vw;
  z-index: 2;
}
.reserve-banner:after {
  content: "";
  position: absolute;
  top: -6vw;
  right: -2vw;
  display: inline-block;
  width: 14.2666666667vw;
  height: 10.8vw;
  background-image: url(../img/reserve/quocard.png);
  background-size: contain;
  z-index: 1;
}

.reserve-banner-label {
  margin-bottom: 0.5em;
  font-size: 2.6666666667vw;
  font-weight: 900;
  line-height: 1.2em;
  letter-spacing: 0;
}
.reserve-banner-label span {
  color: #ff5a00;
}

.reserve-banner-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.2666666667vw;
  font-weight: 900;
  letter-spacing: -0.05em;
}
.reserve-banner-text span.box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-right: 0.1em;
  padding: 0 0.6666666667vw 1.3333333333vw 0.6666666667vw;
  height: 6.4vw;
  background-color: #fdeded;
  color: #f14a4a;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.2vw;
  font-weight: 900;
  line-height: 1em;
}
.reserve-banner-text span.box span.mid {
  font-size: 3.7333333333vw;
}
.reserve-banner-text span.box span.num {
  position: relative;
  top: 0.1em;
  margin: 0 0.05em;
  font-size: 5.7333333333vw;
  line-height: 1em;
}

@media screen and (min-width: 751px) {
  .reserve-banner {
    right: 3.2638888889vw;
    bottom: 1.0416666667vw;
    padding: 1.3888888889vw 1.1805555556vw 0.4861111111vw 1.1805555556vw;
    background-image: url(../img/reserve/bg.jpg);
    background-image: image-set(url(../img/reserve/bg.jpg) 1x, url(../img/reserve/bg-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/reserve/bg.jpg) 1x, url(../img/reserve/bg-2x.jpg) 2x);
    border-radius: 0.6944444444vw;
  }
  .reserve-banner:after {
    top: -1.0416666667vw;
    right: -1.9444444444vw;
    width: 6.875vw;
    height: 5.4166666667vw;
  }
  .reserve-banner-label {
    font-size: 1.1111111111vw;
  }
  .reserve-banner-text {
    font-size: 1.8055555556vw;
  }
  .reserve-banner-text span.box {
    padding: 0 0.2777777778vw 0.5555555556vw 0.2777777778vw;
    height: 2.7777777778vw;
    font-size: 1.3888888889vw;
  }
  .reserve-banner-text span.box span.mid {
    font-size: 1.5972222222vw;
  }
  .reserve-banner-text span.box span.num {
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .reserve-banner {
    right: 47px;
    bottom: 15px;
    padding: 20px 17px 7px 17px;
    border-radius: 10px;
  }
  .reserve-banner:after {
    top: -15px;
    right: -28px;
    width: 99px;
    height: 78px;
  }
  .reserve-banner-label {
    font-size: 1.6rem;
  }
  .reserve-banner-text {
    font-size: 2.6rem;
  }
  .reserve-banner-text span.box {
    padding: 0 4px 8px 4px;
    height: 40px;
    font-size: 2rem;
  }
  .reserve-banner-text span.box span.mid {
    font-size: 2.3rem;
  }
  .reserve-banner-text span.box span.num {
    font-size: 3.6rem;
  }
}
/* ------------------------------------------- point - */
.reserve-point {
  position: relative;
  padding: 13.3333333333vw 0 80px 0;
  background-color: #edede5;
}

.reserve-point .heading {
  margin-bottom: 6.6666666667vw;
  text-align: center;
}

.reserve-point .heading-en {
  top: -4vw;
  left: 2.6666666667vw;
}

.reserve-point .heading-ja {
  font-size: 3.4666666667vw;
}
.reserve-point .heading-ja span.en {
  display: inline-block;
  margin-top: 1.6vw;
  font-size: 7.2vw;
  line-height: 1em;
}
.reserve-point .heading-ja span.big {
  font-size: 6.1333333333vw;
}

.reserve-point-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6.6666666667vw;
}

.p-reserve-point {
  position: relative;
  padding: 8.6666666667vw 6vw 8vw 6vw;
  width: 100%;
  background-color: #ffffff;
  border-radius: 4.8vw;
}
.p-reserve-point:before {
  content: "";
  position: absolute;
  top: 2.6666666667vw;
  left: 50%;
  display: inline-block;
  width: 86.9333333333vw;
  height: 2.6666666667vw;
  background-image: url(../img/reserve/curtain_sp.svg);
  background-size: contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.p-reserve-point-head {
  position: relative;
  padding: 2.6666666667vw 0 2.6666666667vw 16vw;
  margin-bottom: 4.6666666667vw;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 0.5333333333vw;
}

.p-reserve-point-num {
  position: absolute;
  top: 50%;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.2em 0.25em 0;
  width: 12.4vw;
  height: 12.4vw;
  background-image: url(../img/reserve/dot.svg);
  background-size: contain;
  color: #a6bacf;
  font-family: "Damion", cursive;
  font-size: 9.3333333333vw;
  letter-spacing: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-reserve-point-num span {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 3.7333333333vw;
  -webkit-transform: rotate(-19.75deg);
          transform: rotate(-19.75deg);
}

.p-reserve-point-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 2.76em;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.38em;
}

.p-reserve-point-image {
  margin: 0 auto 4.6666666667vw auto;
  width: 72vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}

@media screen and (max-width: 750px) {
  .reserve-point .heading-ja--deco .big:before {
    left: 0;
  }
  .reserve-point .heading-ja--deco .big:after {
    right: 0;
  }
}
@media screen and (min-width: 751px) {
  .reserve-point {
    padding: 6.9444444444vw 0 5.5555555556vw 0;
  }
  .reserve-point .inner {
    width: 69.4444444444vw;
  }
  .reserve-point .heading {
    margin-bottom: 2.7777777778vw;
  }
  .reserve-point .heading-en {
    top: -0.6944444444vw;
    left: 16.3194444444vw;
  }
  .reserve-point .heading-ja {
    font-size: 1.25vw;
  }
  .reserve-point .heading-ja span.en {
    margin-top: 0.6944444444vw;
    font-size: 3.3333333333vw;
  }
  .reserve-point .heading-ja span.big {
    font-size: 2.5vw;
  }
  .reserve-point-post {
    gap: 2.7777777778vw;
  }
  .p-reserve-point {
    padding: 3.4722222222vw 36.8055555556vw 2.7777777778vw 4.8611111111vw;
    border-radius: 2.5vw;
    min-height: 30.0694444444vw;
  }
  .p-reserve-point:before {
    top: 0.6944444444vw;
    width: 65.2777777778vw;
    height: 0.6944444444vw;
    background-image: url(../img/reserve/curtain.svg);
  }
  .p-reserve-point-head {
    padding: 1.3888888889vw 0 1.3888888889vw 6.25vw;
    margin-bottom: 1.0416666667vw;
    border-bottom-width: 0.1388888889vw;
  }
  .p-reserve-point-num {
    width: 4.6527777778vw;
    height: 4.6527777778vw;
    font-size: 3.4722222222vw;
  }
  .p-reserve-point-num span {
    font-size: 1.3888888889vw;
  }
  .p-reserve-point-ttl {
    font-size: 1.8055555556vw;
  }
  .p-reserve-point-image {
    position: absolute;
    right: 4.8611111111vw;
    bottom: 3.4722222222vw;
    margin: 0;
    width: 27.7777777778vw;
    height: 20.8333333333vw;
    border-radius: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .reserve-point {
    padding: 100px 0 80px 0;
  }
  .reserve-point .inner {
    width: 1000px;
  }
  .reserve-point .heading {
    margin-bottom: 40px;
  }
  .reserve-point .heading-en {
    top: -10px;
    left: 235px;
  }
  .reserve-point .heading-ja {
    font-size: 1.8rem;
  }
  .reserve-point .heading-ja span.en {
    margin-top: 10px;
    font-size: 4.8rem;
  }
  .reserve-point .heading-ja span.big {
    font-size: 3.6rem;
  }
  .reserve-point-post {
    gap: 40px;
  }
  .p-reserve-point {
    padding: 50px 530px 40px 70px;
    border-radius: 36px;
    min-height: 433px;
  }
  .p-reserve-point:before {
    top: 10px;
    width: 940px;
    height: 10px;
    background-image: url(../img/reserve/curtain.svg);
  }
  .p-reserve-point-head {
    padding: 20px 0 20px 90px;
    margin-bottom: 15px;
    border-bottom-width: 2px;
  }
  .p-reserve-point-num {
    width: 67px;
    height: 67px;
    font-size: 5rem;
  }
  .p-reserve-point-num span {
    font-size: 2rem;
  }
  .p-reserve-point-ttl {
    font-size: 2.6rem;
  }
  .p-reserve-point-image {
    position: absolute;
    right: 70px;
    bottom: 50px;
    width: 400px;
    height: 300px;
    border-radius: 10px;
  }
}
/* ------------------------------------------- dot - */
.reserve-dot {
  position: relative;
  padding: 16vw 0 12vw 0;
  background-image: url(../img/common/bg-dot_sp.jpg);
  background-repeat: repeat;
}
@media screen and (min-width: 751px) {
  .reserve-dot {
    padding: 6.9444444444vw 0;
    background-image: url(../img/common/bg-dot.jpg);
    background-image: image-set(url(../img/common/bg-dot.jpg) 1x, url(../img/common/bg-dot-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/bg-dot.jpg) 1x, url(../img/common/bg-dot-2x.jpg) 2x);
  }
}
@media screen and (min-width: 1441px) {
  .reserve-dot {
    padding: 100px 0;
  }
}

/* ------------------------------------------- merit - */
.reserve-merit .heading {
  margin-bottom: 8vw;
  text-align: center;
}

.reserve-merit .heading-en {
  top: -6.2666666667vw;
  left: 13.3333333333vw;
}

.reserve-merit .heading-ja span.big {
  position: relative;
  display: inline-block;
  padding: 0 12vw;
  font-size: 6.4vw;
}
.reserve-merit .heading-ja span.big:before, .reserve-merit .heading-ja span.big:after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 7.4666666667vw;
  height: 6.8vw;
  background-size: contain;
}
.reserve-merit .heading-ja span.big:before {
  left: 0;
  background-image: url(../img/reserve/flower-l.svg);
}
.reserve-merit .heading-ja span.big:after {
  right: 0;
  background-image: url(../img/reserve/flower-r.svg);
}

.reserve-merit-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4.8vw;
}

.p-reserve-merit {
  width: 100%;
}

.p-reserve-merit-image {
  border-radius: 1.3333333333vw;
  overflow: hidden;
}

.p-reserve-merit-content p {
  line-height: 1.5em;
}

@media screen and (max-width: 750px) {
  .p-reserve-merit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-reserve-merit-image {
    width: 38.6666666667vw;
  }
  .p-reserve-merit-content {
    width: 48vw;
  }
}
@media screen and (min-width: 751px) {
  .reserve-merit .heading {
    margin-bottom: 2.0833333333vw;
  }
  .reserve-merit .heading-en {
    top: -2.0833333333vw;
    left: 27.0833333333vw;
  }
  .reserve-merit .heading-ja span.big {
    padding: 0 4.8611111111vw;
    font-size: 2.9166666667vw;
  }
  .reserve-merit .heading-ja span.big:before, .reserve-merit .heading-ja span.big:after {
    width: 2.7777777778vw;
    height: 2.5694444444vw;
  }
  .reserve-merit-post {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.0833333333vw;
  }
  .p-reserve-merit {
    width: 24.3055555556vw;
  }
  .p-reserve-merit-image {
    margin-bottom: 1.7361111111vw;
    border-radius: 0.6944444444vw;
  }
  .p-reserve-merit-content {
    padding: 0 1.0416666667vw;
  }
  .p-reserve-merit-content p {
    line-height: 1.75em;
  }
}
@media screen and (min-width: 1441px) {
  .reserve-merit .heading {
    margin-bottom: 30px;
  }
  .reserve-merit .heading-en {
    top: -30px;
    left: 390px;
  }
  .reserve-merit .heading-ja span.big {
    padding: 0 70px;
    font-size: 4.2rem;
  }
  .reserve-merit .heading-ja span.big:before, .reserve-merit .heading-ja span.big:after {
    width: 40px;
    height: 37px;
  }
  .reserve-merit-post {
    gap: 30px;
  }
  .p-reserve-merit {
    width: 350px;
  }
  .p-reserve-merit-image {
    margin-bottom: 25px;
    border-radius: 10px;
  }
  .p-reserve-merit-content {
    padding: 0 15px;
  }
}
/* ------------------------------------------- flow - */
.reserve-flow {
  position: relative;
  margin: 12vw auto 0 auto;
  padding: 13.3333333333vw 0;
  width: 100%;
  background-color: #ffffff;
}
.reserve-flow:before, .reserve-flow:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2vw;
  background-image: url(../img/reserve/line_sp.svg);
  background-size: contain;
}
.reserve-flow:before {
  top: -1vw;
}
.reserve-flow:after {
  bottom: -1vw;
}

.reserve-flow .heading {
  margin-bottom: 8vw;
  text-align: center;
}

.reserve-flow .heading-inner {
  position: relative;
  display: inline-block;
}
.reserve-flow .heading-inner:before {
  content: "";
  position: absolute;
  top: 0.8vw;
  left: 3.3333333333vw;
  display: inline-block;
  width: 6.6666666667vw;
  height: 8.5333333333vw;
  background-image: url(../img/reserve/present.svg);
  background-size: contain;
}

.reserve-flow .heading-en {
  top: 2.6666666667vw;
  left: 53.3333333333vw;
}

.reserve-flow .heading-ja span.balloon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.3333333333vw;
  padding-bottom: 1.3333333333vw;
  width: 35.6vw;
  height: 9.0666666667vw;
  background-image: url(../img/reserve/balloon.svg);
  background-size: contain;
  color: #ffffff;
  font-size: 4vw;
  line-height: 1.2em;
}
.reserve-flow .heading-ja span.big {
  font-size: 6.1333333333vw;
}

.reserve-flow-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.9333333333vw;
  z-index: 1;
}
.reserve-flow-post:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 13.2vw;
  width: 3.3333333333vw;
  height: calc(100% - 2.6666666667vw);
  background-color: #a6bacf;
  z-index: -1;
}

.p-reserve-flow {
  position: relative;
  width: 100%;
}

.reserve-flow-post .p-reserve-flow:last-child:after {
  content: none;
}

.p-reserve-flow-ttl {
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.5em;
}

@media screen and (max-width: 750px) {
  .reserve-flow-post {
    margin: 0 auto;
    width: 80vw;
  }
  .reserve-flow-post:before {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-reserve-flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-reserve-flow-image {
    width: 29.6vw;
  }
  .p-reserve-flow-content {
    width: 44vw;
  }
}
@media screen and (min-width: 751px) {
  .reserve-flow {
    margin: 4.5138888889vw auto 0 auto;
    padding: 3.125vw 0 3.8194444444vw 0;
    width: 69.4444444444vw;
  }
  .reserve-flow:before, .reserve-flow:after {
    width: 69.4444444444vw;
    height: 0.625vw;
    background-image: url(../img/reserve/line.svg);
  }
  .reserve-flow:before {
    top: -0.3125vw;
  }
  .reserve-flow:after {
    bottom: -0.3125vw;
  }
  .reserve-flow .heading {
    margin-bottom: 1.7361111111vw;
  }
  .reserve-flow .heading-inner:before {
    top: -0.3472222222vw;
    left: 3.3333333333vw;
    width: 2.6388888889vw;
    height: 3.3333333333vw;
  }
  .reserve-flow .heading-en {
    top: 0.3472222222vw;
    left: 20.1388888889vw;
  }
  .reserve-flow .heading-ja span.balloon {
    margin-bottom: 0.6944444444vw;
    padding-bottom: 0.4166666667vw;
    width: 10.9027777778vw;
    height: 2.7777777778vw;
    font-size: 1.25vw;
  }
  .reserve-flow .heading-ja span.big {
    font-size: 2.5vw;
  }
  .reserve-flow-post {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.6666666667vw;
  }
  .reserve-flow-post:before {
    top: 4.6527777778vw;
    left: 50%;
    height: 1.7361111111vw;
    width: 54.1666666667vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-reserve-flow {
    padding: 0;
    width: 10.9722222222vw;
  }
  .p-reserve-flow-image {
    margin-bottom: 1.0416666667vw;
    border-radius: 50%;
  }
  .p-reserve-flow-ttl {
    font-size: 0.9722222222vw;
    text-align: center;
    line-height: 1.33em;
    letter-spacing: 0;
  }
}
@media screen and (min-width: 1441px) {
  .reserve-flow {
    margin: 65px auto 0 auto;
    padding: 45px 0 55px 0;
    width: 1000px;
  }
  .reserve-flow:before, .reserve-flow:after {
    width: 1000px;
    height: 9px;
  }
  .reserve-flow:before {
    top: -4.5px;
  }
  .reserve-flow:after {
    bottom: -4.5px;
  }
  .reserve-flow .heading {
    margin-bottom: 25px;
  }
  .reserve-flow .heading-inner:before {
    top: -5px;
    left: 48px;
    width: 38px;
    height: 48px;
  }
  .reserve-flow .heading-en {
    top: 5px;
    left: 290px;
  }
  .reserve-flow .heading-ja span.balloon {
    margin-bottom: 10px;
    padding-bottom: 6px;
    width: 157px;
    height: 40px;
    font-size: 1.8rem;
  }
  .reserve-flow .heading-ja span.big {
    font-size: 3.6rem;
  }
  .reserve-flow-post {
    gap: 24px;
  }
  .reserve-flow-post:before {
    top: 67px;
    width: 780px;
    height: 25px;
  }
  .p-reserve-flow {
    width: 158px;
  }
  .p-reserve-flow-image {
    margin-bottom: 15px;
  }
  .p-reserve-flow-ttl {
    font-size: 1.4rem;
  }
}
/* ------------------------------------------- info - */
.reserve-info {
  margin: 13.3333333333vw auto 0 auto;
  width: 92vw;
}

.reserve-info-name {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 4vw;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
}
.reserve-info-name:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 16vw;
  height: 2.1333333333vw;
  border-radius: 0.2666666667vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.reserve-info-image {
  margin-bottom: 4.6666666667vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.reserve-info-add p {
  font-size: 3.7333333333vw;
  text-align: center;
  line-height: 1.5em;
}

.reserve-info-tel {
  margin-top: 4vw;
  text-align: center;
}

.reserve-info-tel a {
  position: relative;
  display: inline-block;
  padding-left: 3.7333333333vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.8vw;
  font-weight: 900;
}
.reserve-info-tel a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  margin-top: 0.1em;
  width: 2.4vw;
  height: 3.7333333333vw;
  background-image: url(../img/common/call-bl.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.reserve-info-map {
  width: 100vw;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  overflow: hidden;
}
.reserve-info-map .ggmap {
  padding-bottom: 63.3%;
}

@media screen and (max-width: 750px) {
  .reserve-info-image {
    margin-left: auto;
    margin-right: auto;
    width: 80vw;
  }
  .reserve-info-map {
    margin: 5.3333333333vw 0 0 -4vw;
    border-left: none;
    border-right: none;
  }
}
@media screen and (min-width: 751px) {
  .reserve-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 4.1666666667vw auto 0 auto;
    width: 54.1666666667vw;
  }
  .reserve-info-content {
    width: 16.6666666667vw;
  }
  .reserve-info-name {
    margin-bottom: 0.5em;
    padding: 0 0 0 1.3888888889vw;
    font-size: 1.6666666667vw;
    text-align: left;
  }
  .reserve-info-name:before {
    top: 50%;
    left: 0;
    bottom: auto;
    margin-top: 0.05em;
    width: 0.5555555556vw;
    height: 1.5277777778vw;
    border-radius: 0.1388888889vw;
    -webkit-transform: translateX(0) translateY(-50%);
            transform: translateX(0) translateY(-50%);
  }
  .reserve-info-image {
    margin-bottom: 1.0416666667vw;
    border-radius: 0.2777777778vw;
  }
  .reserve-info-add p {
    font-size: 1.1111111111vw;
    text-align: left;
  }
  .reserve-info-tel {
    margin-top: 1.0416666667vw;
    text-align: left;
  }
  .reserve-info-tel a {
    padding-left: 1.5277777778vw;
    font-size: 1.6666666667vw;
    pointer-events: none;
  }
  .reserve-info-tel a:before {
    width: 0.9027777778vw;
    height: 1.25vw;
  }
  .reserve-info-map {
    width: 31.8055555556vw;
    border-width: 0.2777777778vw;
    border-radius: 0.5555555556vw;
  }
  .reserve-info-map .ggmap {
    padding-bottom: 65.5%;
  }
}
@media screen and (min-width: 1441px) {
  .reserve-info {
    margin: 60px auto 0 auto;
    width: 780px;
  }
  .reserve-info-content {
    width: 240px;
  }
  .reserve-info-name {
    padding: 0 0 0 20px;
    font-size: 2.4rem;
  }
  .reserve-info-name:before {
    width: 8px;
    height: 22px;
    border-radius: 2px;
  }
  .reserve-info-image {
    margin-bottom: 15px;
    border-radius: 4px;
  }
  .reserve-info-add p {
    font-size: 1.6rem;
  }
  .reserve-info-tel {
    margin-top: 15px;
  }
  .reserve-info-tel a {
    padding-left: 22px;
    font-size: 2.4rem;
  }
  .reserve-info-tel a:before {
    width: 13px;
    height: 18px;
  }
  .reserve-info-map {
    width: 458px;
    border-width: 4px;
    border-radius: 8px;
  }
}
.sub--showroom-fukaya .reserve-info-name:before {
  background-color: #ffea00;
}

.sub--showroom-chichibu .reserve-info-name:before {
  background-color: #ff5a00;
}

/* sub --> policy
-------------------------------------------------------------------------------*/
.policy div:nth-child(n+2) {
  margin-top: 13.3333333333vw;
}

.policy-head {
  position: relative;
  margin-bottom: 1.5em;
  padding: 0 0 0.7em 1.25em;
  font-size: 4.4vw;
  font-weight: 700;
  line-height: 1.45em;
}
.policy-head:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.5333333333vw;
  background-color: #a6bacf;
}

.policy-head span {
  position: absolute;
  top: 0;
  left: 0;
}

.policy-head span:after {
  content: ".";
}

.policy-date {
  text-align: right;
}

.policy > p,
.policy ol {
  padding: 0 0 0 0.5em;
}
.policy p {
  margin-top: 1.5em;
  line-height: 1.7em;
}
.policy ol {
  margin-top: 1.5em;
  counter-reset: number 0;
}
.policy ol li {
  position: relative;
  padding-left: 2em;
  line-height: 1.7em;
}
.policy ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number 1;
  content: "(" counter(number, decimal) ")";
}
.policy ol li:nth-child(n+2) {
  margin-top: 0.5em;
}

@media screen and (min-width: 751px) {
  .policy div:nth-child(n+2) {
    margin-top: 5.5555555556vw;
  }
  .policy .policy-head {
    font-size: 1.6666666667vw;
  }
  .policy .policy-head:after {
    height: 0.1388888889vw;
  }
  .policy > p,
  .policy ul,
  .policy ol {
    padding: 0 0 0 1.5em;
  }
}
@media screen and (min-width: 1441px) {
  .policy div:nth-child(n+2) {
    margin-top: 80px;
  }
  .policy .policy-head {
    font-size: 2.4rem;
  }
  .policy .policy-head:after {
    height: 2px;
  }
}
/* sub --> sitemap
-------------------------------------------------------------------------------*/
.sitemap .sitemap-box:nth-child(n+2) {
  margin-top: 13.3333333333vw;
}

.sitemap-menu {
  padding: 0 1.3333333333vw;
}

.sitemap-menu a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 5.3333333333vw;
  width: 100%;
  height: 13.3333333333vw;
  background-color: #ffffff;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.5333333333vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.28em;
  overflow: hidden;
}
.sitemap-menu a:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0px 4vw 4vw;
  border-color: transparent transparent #2a2f58 transparent;
}

@media screen and (max-width: 750px) {
  .sitemap-menu a:nth-child(n+2) {
    margin-top: 4vw;
  }
}
@media screen and (min-width: 751px) {
  .sitemap .sitemap-box:nth-child(n+2) {
    margin-top: 5.5555555556vw;
  }
  .sitemap-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -2.0833333333vw;
    padding: 0 2.0833333333vw;
  }
  .sitemap-menu a {
    margin-left: 2.0833333333vw;
    padding: 0 1.3888888889vw;
    width: calc(33.33333% - 2.0833333333vw);
    height: 4.1666666667vw;
    border-width: 0.0694444444vw;
    border-radius: 0.2777777778vw;
    font-size: 1.1111111111vw;
  }
  .sitemap-menu a:after {
    border-width: 0px 0px 1.25vw 1.25vw;
    -webkit-transition: border-color 0.2s;
    transition: border-color 0.2s;
  }
  .sitemap-menu a:hover:after {
    border-color: transparent transparent #a6bacf transparent;
  }
  .sitemap-menu a:nth-child(n+4) {
    margin-top: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .sitemap .sitemap-box:nth-child(n+2) {
    margin-top: 80px;
  }
  .sitemap-menu {
    margin-left: -30px;
    padding: 0 30px;
  }
  .sitemap-menu a {
    margin-left: 30px;
    padding: 0 20px;
    width: calc(33.33333% - 30px);
    height: 60px;
    border-width: 1px;
    border-radius: 4px;
    font-size: 1.6rem;
  }
  .sitemap-menu a:after {
    border-width: 0px 0px 18px 18px;
  }
  .sitemap-menu a:nth-child(n+4) {
    margin-top: 20px;
  }
}
/*  #recommend
-------------------------------------------------------------------------------*/
.recommend {
  position: relative;
  padding: 13.3333333333vw 0;
  background-color: #edede5;
}
.recommend .heading:after {
  content: "";
  position: absolute;
  top: -1.3333333333vw;
  left: 80.6666666667vw;
  display: inline-block;
  width: 11.2vw;
  height: 9.0666666667vw;
  background-image: url(../img/reform/wrench.svg);
  background-size: contain;
}
.recommend .heading-ja span.big span.bl {
  font-size: 6.4vw;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .recommend .heading-ja span.big span.bl {
    font-size: 3.3333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .recommend .heading-ja span.big span.bl {
    font-size: 4.8rem;
  }
}
.recommend .heading-en {
  top: -4.6666666667vw;
  left: 2.6666666667vw;
}

@media screen and (max-width: 750px) {
  .recommend .heading-ja--deco span.big:before, .recommend .heading-ja--deco span.big:after {
    top: auto;
    bottom: 0;
    -webkit-transform: none;
            transform: none;
  }
  .recommend .heading-ja--deco span.big:before {
    left: -5.3333333333vw;
  }
  .recommend .heading-ja--deco span.big:after {
    right: -5.3333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .recommend {
    padding: 6.9444444444vw 0 5.5555555556vw 0;
  }
  .recommend .heading:after {
    top: -1.7361111111vw;
    left: 52.7777777778vw;
    width: 4.0972222222vw;
    height: 3.0555555556vw;
  }
  .recommend .heading-en {
    top: -1.7361111111vw;
    left: 21.875vw;
  }
}
@media screen and (min-width: 1441px) {
  .recommend {
    padding: 100px 0 80px 0;
  }
  .recommend .heading:after {
    top: -25px;
    left: 760px;
    width: 59px;
    height: 44px;
  }
  .recommend .heading-en {
    top: -25px;
    left: 315px;
  }
}
/* ------------------------------------------- slide - */
.recommend-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.6666666667vw 2vw;
}

.p-recommend {
  position: relative;
  width: 29.3333333333vw;
  height: auto;
  overflow: hidden;
}

.p-recommend a {
  position: relative;
  display: block;
  padding: 1.3333333333vw 1.3333333333vw 0.4vw 1.3333333333vw;
  background-color: #ffffff;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 0.5333333333vw;
}

.p-recommend-image {
  border-radius: 0.5333333333vw;
  overflow: hidden;
}
.p-recommend-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 200/130;
}

.p-recommend-ttl {
  font-size: 3.0666666667vw;
  font-weight: 700;
  line-height: 1.33em;
}

@media screen and (max-width: 750px) {
  .p-recommend-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 11.3333333333vw;
  }
  .p-recommend-ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 2.66em;
    font-weight: 700;
    text-align: center;
  }
}
@media screen and (min-width: 751px) {
  .recommend-post {
    gap: 1.1111111111vw;
    margin: 0 auto;
    width: 81.1111111111vw;
  }
  .p-recommend {
    width: 19.4444444444vw;
  }
  .p-recommend a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0.6944444444vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
    -webkit-transition: border-color 0.2s;
    transition: border-color 0.2s;
  }
  .p-recommend a:hover {
    border-color: #a6bacf;
  }
  .p-recommend-image {
    margin: 0;
    width: 4.1666666667vw;
    border-radius: 0.2777777778vw;
  }
  .p-recommend-image img {
    aspect-ratio: 60/60;
  }
  .p-recommend a:hover .p-recommend-image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    cursor: pointer;
  }
  .p-recommend-content {
    width: calc(100% - 5.2083333333vw);
  }
  .p-recommend-ttl {
    font-size: 1.25vw;
    text-align: left;
    line-height: 1.4em;
  }
}
@media screen and (min-width: 1441px) {
  .recommend-post {
    gap: 16px;
    width: 1168px;
  }
  .p-recommend {
    width: 280px;
  }
  .p-recommend a {
    padding: 10px;
    border-width: 2px;
    border-radius: 4px;
  }
  .p-recommend-image {
    width: 60px;
    border-radius: 4px;
  }
  .p-recommend-content {
    width: calc(100% - 75px);
  }
  .p-recommend-ttl {
    font-size: 1.8rem;
  }
}
/*  #pickup
-------------------------------------------------------------------------------*/
.pickup {
  position: relative;
  padding-top: 8vw;
}
@media screen and (min-width: 751px) {
  .pickup {
    padding: 3.4722222222vw 0 4.1666666667vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .pickup {
    padding: 50px 0 60px 0;
  }
}
.pickup > div:nth-child(n+2) {
  margin-top: 6.6666666667vw;
}
@media screen and (min-width: 751px) {
  .pickup > div:nth-child(n+2) {
    margin-top: 3.8194444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .pickup > div:nth-child(n+2) {
    margin-top: 55px;
  }
}

.pickup-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4vw;
  margin: 0 auto;
  width: 80vw;
}

.pickup-menu a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.3333333333vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #a6bacf;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 1.0666666667vw;
  -webkit-box-shadow: 0px 5px 6.86px 0.14px rgba(100, 100, 100, 0.18);
          box-shadow: 0px 5px 6.86px 0.14px rgba(100, 100, 100, 0.18);
}

.pickup-menu-image {
  width: 28vw;
  border-radius: 1.0666666667vw;
  overflow: hidden;
}

.pickup-menu-content {
  width: calc(100% - 28vw);
}

.pickup-menu-ttl {
  position: relative;
  font-size: 4.5333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.2em;
}
.pickup-menu-ttl:before {
  content: "";
  position: absolute;
  top: -6vw;
  left: 50%;
  display: inline-block;
  width: 14.1333333333vw;
  height: 5.6vw;
  background-image: url(../img/pickup/deco.svg);
  background-size: contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.pickup-menu-en {
  position: absolute;
  right: 3.3333333333vw;
  bottom: 4vw;
  color: #b7b092;
  font-family: "Damion", cursive;
  font-size: 4.5333333333vw;
  font-weight: 400;
  white-space: nowrap;
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
}

@media screen and (min-width: 751px) {
  .pickup-menu {
    gap: 3.4722222222vw;
    width: 57.6388888889vw;
  }
  .pickup-menu a {
    padding: 0.6944444444vw;
    width: 27.0833333333vw;
    border-width: 0.1388888889vw;
    border-radius: 0.5555555556vw;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .pickup-menu a:hover {
    background-color: #e3eaf1;
  }
  .pickup-menu-image {
    width: 11.1111111111vw;
    border-radius: 0.5555555556vw;
  }
  .pickup-menu a:hover .pickup-menu-image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    cursor: pointer;
  }
  .pickup-menu-content {
    width: calc(100% - 11.1111111111vw);
  }
  .pickup-menu-ttl {
    font-size: 1.6666666667vw;
  }
  .pickup-menu-ttl:before {
    top: -2.6388888889vw;
    width: 4.3055555556vw;
    height: 1.7361111111vw;
  }
  .pickup-menu-en {
    right: 1.1805555556vw;
    bottom: 1.7361111111vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .pickup-menu {
    gap: 50px;
    width: 830px;
  }
  .pickup-menu a {
    padding: 10px;
    width: 390px;
    border-width: 2px;
    border-radius: 8px;
  }
  .pickup-menu-image {
    width: 160px;
    border-radius: 8px;
  }
  .pickup-menu-content {
    width: calc(100% - 160px);
  }
  .pickup-menu-ttl {
    font-size: 2.4rem;
  }
  .pickup-menu-ttl:before {
    top: -38px;
    width: 62px;
    height: 25px;
  }
  .pickup-menu-en {
    right: 17px;
    bottom: 25px;
    font-size: 2.4rem;
  }
}
/*  #area
-------------------------------------------------------------------------------*/
.area {
  position: relative;
  margin: 0 auto;
  padding: 8.6666666667vw 12vw 53.3333333333vw 12vw;
  width: 100%;
  background-image: url(../img/area/bg_sp.jpg);
  background-repeat: repeat;
  overflow: hidden;
}
.area:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8vw;
  display: inline-block;
  width: 79.2vw;
  height: 60.1333333333vw;
  background-image: url(../img/area/map_sp.png);
  background-size: contain;
}

.area-heading {
  position: relative;
  margin-bottom: 3.3333333333vw;
}
.area-heading:after {
  content: "";
  position: absolute;
  top: -0.6666666667vw;
  left: 44.6666666667vw;
  display: inline-block;
  width: 7.0666666667vw;
  height: 6.4vw;
  background-image: url(../img/area/flag.svg);
  background-size: contain;
}

.area-en {
  position: absolute;
  top: 44.6666666667vw;
  left: 0;
  color: #998604;
  font-family: "Damion", cursive;
  font-size: 4.5333333333vw;
  font-weight: 400;
  line-height: 1.2em;
  white-space: nowrap;
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
}

.area-catch {
  margin-bottom: 0.5em;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.2em;
}

.area-ja {
  color: #998604;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 5.8666666667vw;
  font-weight: 700;
  line-height: 1.2em;
}

.area-target {
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.4em;
}

.area-notes {
  margin-top: 2.6666666667vw;
  font-size: 2.9333333333vw;
  line-height: 1.36em;
}

@media screen and (min-width: 751px) {
  .area {
    padding: 3.125vw 27.7777777778vw 3.125vw 5.5555555556vw;
    width: 59.0277777778vw;
    background-image: url(../img/area/bg.jpg);
    background-image: image-set(url(../img/area/bg.png) 1x, url(../img/area/bg-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/area/bg.png) 1x, url(../img/area/bg-2x.png) 2x);
    border-radius: 9.5833333333vw;
  }
  .area:after {
    display: none;
    right: -14.2361111111vw;
    bottom: -3.6805555556vw;
    display: inline-block;
    width: 43.6805555556vw;
    height: 24.0277777778vw;
    background-image: url(../img/area/map.png);
    background-image: image-set(url(../img/area/map.png) 1x, url(../img/area/map-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/area/map.png) 1x, url(../img/area/map-2x.png) 2x);
  }
  .area-heading {
    margin-bottom: 1.3888888889vw;
  }
  .area-heading:after {
    top: -0.5555555556vw;
    left: 14.9305555556vw;
    width: 2.1527777778vw;
    height: 1.9444444444vw;
  }
  .area-en {
    top: 1.0416666667vw;
    left: 17.7083333333vw;
    font-size: 1.6666666667vw;
  }
  .area-catch {
    font-size: 1.25vw;
  }
  .area-ja {
    font-size: 2.2222222222vw;
  }
  .area-target {
    font-size: 1.25vw;
  }
  .area-notes {
    margin-top: 1.3888888889vw;
    font-size: 0.8333333333vw;
    line-height: 1.75em;
  }
}
@media screen and (min-width: 1441px) {
  .area {
    padding: 45px 400px 45px 80px;
    width: 850px;
    border-radius: 138px;
    background-image: url(../img/area/bg.jpg);
    background-image: image-set(url(../img/area/bg.jpg) 1x, url(../img/area/bg-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/area/bg.jpg) 1x, url(../img/area/bg-2x.jpg) 2x);
    background-repeat: no-repeat;
  }
  .area:after {
    display: none;
  }
  .area-heading {
    margin-bottom: 20px;
  }
  .area-heading:after {
    top: -8px;
    left: 215px;
    width: 31px;
    height: 28px;
  }
  .area-en {
    top: 15px;
    left: 255px;
    font-size: 2.4rem;
  }
  .area-catch {
    font-size: 1.8rem;
  }
  .area-ja {
    font-size: 3.2rem;
  }
  .area-target {
    font-size: 1.8rem;
  }
  .area-notes {
    margin-top: 20px;
    font-size: 1.2rem;
  }
}
/*  breadcrumb
-------------------------------------------------------------------------------*/
.breadcrumb {
  position: relative;
}

.breadcrumb-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  padding: 3.3333333333vw 0;
  width: 92vw;
}

.breadcrumb-list li {
  position: relative;
  font-size: 2.9333333333vw;
  line-height: 1.25em;
  white-space: nowrap;
}

.breadcrumb-list li:after {
  content: "";
  position: relative;
  top: 0;
  margin: 0 2vw;
  display: inline-block;
  width: 1.2vw;
  height: 1.8666666667vw;
  background-image: url(../img/sub/breadcrumb.svg);
  background-size: contain;
}

.breadcrumb-list li:last-child:after {
  content: none;
}

.breadcrumb-list li a {
  position: relative;
}

@media screen and (min-width: 751px) {
  .breadcrumb-list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 auto;
    padding: 2.4305555556vw 0;
    width: 83.3333333333vw;
  }
  .breadcrumb-list li {
    font-size: 1.0416666667vw;
    white-space: normal;
    line-height: 1.4em;
  }
  .breadcrumb-list li:after {
    margin: 0 0.6944444444vw;
    width: 0.4861111111vw;
    height: 0.6944444444vw;
  }
  .breadcrumb-list li a {
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
  }
  .breadcrumb-list li a:hover {
    color: #22366e;
  }
}
@media screen and (min-width: 1441px) {
  .breadcrumb-list {
    padding: 35px 0;
    width: 1200px;
  }
  .breadcrumb-list li {
    font-size: 1.5rem;
  }
  .breadcrumb-list li:after {
    margin: 0 10px;
    width: 7px;
    height: 10px;
  }
}
@media screen and (max-width: 750px) {
  .breadcrumb-list {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
}
/* carousel
-------------------------------------------------------------------------------*/
.carousel {
  position: relative;
  margin: 0 auto 4.1666666667vw auto;
  width: 92vw;
}

.carousel-main {
  position: relative;
  margin: 0 0 2.6666666667vw -1.3333333333vw;
  padding: 0 3.3333333333vw;
  width: 94.6666666667vw;
  overflow: hidden;
}

.carousel-main .swiper-slide img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  height: 57.4666666667vw;
  border-radius: 1.3333333333vw;
}

.carousel-thumb {
  position: relative;
  width: 92vw;
}

.carousel-thumb .swiper-slide {
  margin-right: 1.8666666667vw;
  width: 21.6vw;
  border-radius: 1.3333333333vw;
  opacity: 0.3;
  overflow: hidden;
  cursor: pointer;
}
.carousel-thumb .swiper-slide img {
  aspect-ratio: 160/104;
  width: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.carousel-thumb .swiper-slide:last-child {
  margin-right: 0 !important;
}

.carousel-thumb-slide.swiper-slide-thumb-active {
  opacity: 1 !important;
}

@media screen and (max-width: 750px) {
  .post .carousel-main {
    margin-left: -3.3333333333vw;
  }
  .post .carousel-thumb {
    margin-left: -2vw;
  }
}
@media screen and (min-width: 751px) {
  .carousel {
    margin: 0 auto 4.1666666667vw auto;
    width: 62.5vw;
  }
  .carousel-main {
    margin: 0 0 2.0833333333vw -2.2222222222vw;
    padding: 0 2.2222222222vw;
    width: 66.9444444444vw;
  }
  .carousel-main .swiper-slide {
    width: 62.5vw;
  }
  .carousel-main .swiper-slide img {
    height: 40.8333333333vw;
    border-radius: 0.6944444444vw;
  }
  .carousel-thumb {
    width: 59.3055555556vw;
  }
  .carousel-thumb .swiper-slide {
    margin-right: 1.25vw;
    width: 13.8888888889vw;
    border-radius: 0.6944444444vw;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .carousel-thumb .swiper-slide:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 1441px) {
  .carousel {
    margin-bottom: 60px;
    width: 900px;
  }
  .carousel-main {
    margin: 0 0 30px -32px;
    padding: 0 32px;
    width: 964px;
  }
  .carousel-main .swiper-slide {
    width: 900px;
  }
  .carousel-main .swiper-slide img {
    height: 588px;
    border-radius: 10px;
  }
  .carousel-thumb {
    width: 854px;
  }
  .carousel-thumb .swiper-slide {
    margin-right: 18px;
    width: 200px;
    border-radius: 10px;
  }
}
/* ------------------------------------------- btn - */
.carousel-prev,
.carousel-next {
  position: absolute;
  top: 50%;
  width: 6.6666666667vw;
  height: 16vw;
  background-color: #e3eaf1;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.6666666667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .carousel-prev,
  .carousel-next {
    width: 4.4444444444vw;
    height: 4.4444444444vw;
    border-width: 0.2777777778vw;
    border-radius: 50%;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
}
@media screen and (min-width: 1441px) {
  .carousel-prev,
  .carousel-next {
    width: 64px;
    height: 64px;
    border-width: 4px;
  }
}
.carousel-prev:before,
.carousel-next:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 4vw;
  height: 2.5333333333vw;
  background-image: url(../img/common/arrow-bl.svg);
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .carousel-prev:before,
  .carousel-next:before {
    width: 0.8333333333vw;
    height: 1.3194444444vw;
    background-image: url(../img/common/arrow-normal-bl.svg);
    -webkit-transition: background-image 0.2s;
    transition: background-image 0.2s;
  }
}
@media screen and (min-width: 1441px) {
  .carousel-prev:before,
  .carousel-next:before {
    width: 12px;
    height: 19px;
  }
}
@media screen and (min-width: 751px) {
  .carousel-prev:hover,
  .carousel-next:hover {
    background-color: #22366e;
  }
}
@media screen and (min-width: 751px) {
  .carousel-prev:hover:before,
  .carousel-next:hover:before {
    background-image: url(../img/common/arrow-normal-wh.svg);
  }
}

.carousel-prev {
  left: 0;
}
.carousel-prev:before {
  -webkit-transform: translate(-50%, -50%) rotateY(180deg);
          transform: translate(-50%, -50%) rotateY(180deg);
}

.carousel-next {
  right: 0;
}
.carousel-next:before {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

::-webkit-full-page-media,
:future,
:root .slide-prev:before {
  -webkit-transition: none;
  transition: none;
}

::-webkit-full-page-media,
:future,
:root .slide-next:before {
  -webkit-transition: none;
  transition: none;
}

/* ------------------------------------------- disable - */
.carousel.is-single .swiper-wrapper {
  -webkit-transform: none !important;
          transform: none !important;
}

.carousel.is-single .swiper-slide {
  width: 100% !important;
}

/* editor
-------------------------------------------------------------------------------*/
.editor {
  position: relative;
  margin: 0 auto;
  width: 100%;
  font-family: "NotoSansJP", sans-serif;
}
.editor h2,
.editor h3,
.editor h4 {
  margin-top: 2.5em;
}
.editor p {
  font-weight: 500;
  line-height: 1.7em;
  letter-spacing: 0.07em;
}
.editor strong {
  font-weight: 700;
}
.editor img {
  max-width: 100%;
  height: auto;
  border-radius: 1.3333333333vw;
}
.editor img.alignleft {
  display: block;
}
.editor img.alignright {
  display: block;
}
.editor img.aligncenter {
  display: block;
  margin-top: 1.5em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}
.editor .iframe-wrap {
  position: relative;
  margin: 1.5em 0;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.editor .iframe-wrap iframe,
.editor .iframe-wrap object,
.editor .iframe-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.editor a {
  position: relative;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.editor a:not(.editor-lightbox):after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em;
  width: 100%;
  height: 0.4vw;
  background-color: #22366e;
}
.editor ul {
  margin: 1em 0 1.5em 0;
}
.editor ul li {
  margin-left: 1.5em;
  list-style-type: square;
  line-height: 1.7em;
}
.editor ol {
  margin: 1em 0 1.5em 0;
}
.editor ol li {
  margin-left: 1.5em;
  list-style-type: decimal-leading-zero;
  line-height: 1.7em;
}
.editor blockquote {
  margin: 1.5em 1em;
  padding: 1em;
  background-color: #ffffff;
  font-style: italic;
}
.editor table {
  width: 100%;
  background-color: #ffffff;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
}
.editor table th,
.editor table td {
  padding: 0.35em 1em;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
  line-height: 1.5em;
}
.editor table thead {
  background-color: #f9f9f9;
}
.editor table thead th,
.editor table thead td {
  font-weight: 700;
}
.editor table tbody th {
  background-color: #f9f9f9;
  font-weight: 700;
}

@media screen and (max-width: 750px) {
  .editor img.alignleft {
    margin: 1.5em auto;
  }
  .editor img.alignright {
    margin: 1.5em auto;
  }
}
@media screen and (min-width: 751px) {
  .editor p {
    padding: 0 1.3888888889vw;
  }
  .editor img {
    border-radius: 0.6944444444vw;
  }
  .editor img.alignleft {
    display: inline;
    margin-top: 1em;
    margin-right: 1em;
    margin-bottom: 1em;
    float: left;
  }
  .editor img.alignright {
    display: inline;
    margin-top: 1em;
    margin-left: 1em;
    margin-bottom: 1em;
    float: right;
  }
  .editor iframe {
    max-width: 100%;
  }
  .editor table {
    border-width: 1px;
  }
  .editor table th,
  .editor table td {
    border-width: 1px;
  }
  .editor a:not(.editor-lightbox):after {
    height: 2px;
  }
  .editor a:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 1441px) {
  .editor p {
    padding: 0 20px;
  }
  .editor img {
    border-radius: 10px;
  }
  .editor table {
    border-width: 1px;
  }
  .editor table th,
  .editor table td {
    border-width: 1px;
  }
  .editor a:not(.editor-lightbox):after {
    height: 2px;
  }
}
/*  form
-------------------------------------------------------------------------------*/
.form {
  position: relative;
  padding: 10.6666666667vw 0 13.3333333333vw 0;
  background-color: #ffffff;
}
@media screen and (min-width: 751px) {
  .form {
    padding: 5.5555555556vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .form {
    padding: 80px 0;
  }
}

.form .inner {
  position: relative;
  padding: 9.3333333333vw 6vw 10.6666666667vw 6vw;
  background-color: #ffffff;
  border-color: #a6bacf;
  border-style: solid;
  border-width: 1.0666666667vw;
  border-radius: 2.1333333333vw;
}
@media screen and (min-width: 751px) {
  .form .inner {
    padding: 4.1666666667vw 4.8611111111vw 5.5555555556vw 4.8611111111vw;
    width: 61.1111111111vw;
    border-width: 0.4166666667vw;
    border-radius: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form .inner {
    padding: 60px 70px 80px 70px;
    width: 880px;
    border-width: 6px;
    border-radius: 16px;
  }
}

.form-heading {
  margin-bottom: 6.6666666667vw;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .form-heading {
    margin-bottom: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-heading {
    margin-bottom: 50px;
  }
}

.form-ja {
  position: relative;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.5em;
  text-align: center;
  z-index: 2;
}
@media screen and (min-width: 751px) {
  .form-ja {
    font-size: 1.5277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-ja {
    font-size: 2.2rem;
  }
}
.form-ja span.big {
  position: relative;
  display: inline-block;
  padding: 0 18.6666666667vw;
  font-size: 5.6vw;
  color: #22366e;
  line-height: 1.28em;
}
@media screen and (min-width: 751px) {
  .form-ja span.big {
    padding: 0 9.7222222222vw;
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-ja span.big {
    padding: 0 140px;
    font-size: 3.6rem;
  }
}
.form-ja span.big:before, .form-ja span.big:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 21.3333333333vw;
  height: 8.2666666667vw;
  background-image: url(../img/common/deco.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
}
@media screen and (min-width: 751px) {
  .form-ja span.big:before, .form-ja span.big:after {
    width: 7.9166666667vw;
    height: 3.0555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-ja span.big:before, .form-ja span.big:after {
    width: 114px;
    height: 44px;
  }
}
.form-ja span.big:before {
  left: -2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .form-ja span.big:before {
    left: 0;
  }
}
.form-ja span.big:after {
  right: -2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .form-ja span.big:after {
    right: 0;
  }
}
.form-ja span.gd {
  color: #998604;
}

/* ------------------------------------------- input - */
.form-input dl:nth-child(n+2) {
  margin-top: 4.6666666667vw;
}
@media screen and (min-width: 751px) {
  .form-input dl:nth-child(n+2) {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input dl:nth-child(n+2) {
    margin-top: 30px;
  }
}

.form-input dt {
  position: relative;
  margin-bottom: 0.7em;
  color: #2a2f58;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-input dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input dt {
    font-size: 1.8rem;
  }
}

.form-input input[type=text],
.form-input input[type=email],
.form-input input[type=tel],
.form-input input[type=date],
.form-input select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 1em;
  width: 100%;
  height: 9.6vw;
  background-color: #f4f4ef;
  border-radius: 1.0666666667vw;
  color: #2a2f58;
  font-family: "NotoSansJP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.65em;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 751px) {
  .form-input input[type=text],
  .form-input input[type=email],
  .form-input input[type=tel],
  .form-input input[type=date],
  .form-input select {
    padding: 0 1em;
    height: 5vw;
    border-radius: 0.5555555556vw;
    font-size: 1.1111111111vw;
    line-height: 1.65em;
  }
}
@media screen and (min-width: 1441px) {
  .form-input input[type=text],
  .form-input input[type=email],
  .form-input input[type=tel],
  .form-input input[type=date],
  .form-input select {
    height: 72px;
    border-radius: 8px;
    font-size: 16px;
  }
}

.form-input input:focus {
  border-color: #22366e;
}

.form-input .wpcf7-validates-as-required:not(.wpcf7-checkbox) {
  background-color: #f4f4ef !important;
}

.form-input textarea {
  padding: 1em;
  width: 100%;
  height: 40vw;
  background-color: #f4f4ef;
  border-radius: 1.0666666667vw;
  font-family: "NotoSansJP", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.7em;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 751px) {
  .form-input textarea {
    padding: 1em;
    height: 11.1111111111vw;
    border-radius: 0.5555555556vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input textarea {
    height: 160px;
    border-radius: 8px;
    font-size: 16px;
  }
}

.form-multi {
  font-size: 3.2vw;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) {
  .form-multi {
    font-size: 0.9027777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-multi {
    font-size: 1.3rem;
  }
}

.form-label {
  position: relative;
  top: -0.05em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 1em;
  padding: 0 0.5em 0.1em 0.5em;
  height: 4.2666666667vw;
  border-radius: 0.2666666667vw;
  color: #ffffff;
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) {
  .form-label {
    top: 0.1em;
    padding: 0 0.75em 0.1em 0.75em;
    height: 1.25vw;
    border-radius: 0.1388888889vw;
    font-size: 0.8333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-label {
    height: 18px;
    border-radius: 2px;
    font-size: 1.2rem;
  }
}

.form-label--req {
  background-color: #998604;
}

.form-label--unreq {
  background-color: #6d86a3;
}

.form-hosoku {
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 0.5em;
  font-size: 2.9333333333vw;
  line-height: 1.6em;
}
@media screen and (min-width: 751px) {
  .form-hosoku {
    font-size: 0.8333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-hosoku {
    font-size: 1.2rem;
  }
}

.form-hosoku:before {
  content: "※";
}

@media screen and (max-width: 750px) {
  .form-input input[type=text],
  .form-input input[type=email],
  .form-input input[type=tel],
  .form-input input[type=date],
  .form-input select,
  .form-input textarea {
    font-size: max(3.5vw, 16px);
  }
}
/* ------------------------------------------- placeholder - */
.form-input input::-webkit-input-placeholder,
.form-input select::-webkit-input-placeholder,
.form-input textarea::-webkit-input-placeholder {
  color: rgba(42, 47, 88, 0.6);
}

.form-input input:-ms-input-placeholder,
.form-input select:-ms-input-placeholder,
.form-input textarea:-ms-input-placeholder,
.form-input input::-ms-input-placeholder,
.form-input textarea::-ms-input-placeholder {
  color: rgba(42, 47, 88, 0.6);
}

.form-input input::-moz-placeholder,
.form-input select::-moz-placeholder,
.form-input textarea::-moz-placeholder {
  color: rgba(42, 47, 88, 0.6);
}

/* ---------------------------------- radio */
.form-input .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .form-input .wpcf7-radio {
    gap: 1.0416666667vw 2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input .wpcf7-radio {
    gap: 15px 40px;
  }
}

.form-input .wpcf7-radio .wpcf7-list-item {
  margin: 0 !important;
}

.form-input .wpcf7-radio input[type=radio] {
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
}

.form-input input[type=radio] + span {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 6.6666666667vw;
  height: 4.5333333333vw;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .form-input input[type=radio] + span {
    padding-left: 3.125vw;
    height: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input input[type=radio] + span {
    padding-left: 45px;
    height: 24px;
  }
}

.form-input input[type=radio] + span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  border-color: #22366e;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .form-input input[type=radio] + span::before {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    border-width: 0.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input input[type=radio] + span::before {
    width: 24px;
    height: 24px;
    border-width: 2px;
  }
}

.form-input input[type=radio] + span::before {
  background-color: #ffffff;
  border-radius: 50% !important;
}

.form-input input[type=radio]:checked + span::after {
  content: "";
  position: absolute;
  top: 0.8vw;
  left: 0.9333333333vw;
  width: 2.9333333333vw;
  height: 2.9333333333vw;
  background: #22366e;
  border-radius: 50%;
}
@media screen and (min-width: 751px) {
  .form-input input[type=radio]:checked + span::after {
    top: 0.4166666667vw;
    left: 0.4861111111vw;
    width: 0.8333333333vw;
    height: 0.8333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input input[type=radio]:checked + span::after {
    top: 6px;
    left: 7px;
    width: 12px;
    height: 12px;
  }
}

/* ---------------------------------- checkbox */
.form .wpcf7-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0;
  gap: 2.6666666667vw 0;
}
@media screen and (min-width: 751px) {
  .form .wpcf7-checkbox {
    gap: 1.25vw 1.5277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form .wpcf7-checkbox {
    gap: 18px 22px;
  }
}

.form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin: 0;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .form .wpcf7-checkbox .wpcf7-list-item {
    width: 15.8333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form .wpcf7-checkbox .wpcf7-list-item {
    width: 228px;
  }
}

.form .wpcf7-checkbox .wpcf7-list-item label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 6.4vw;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .form .wpcf7-checkbox .wpcf7-list-item label {
    height: 2.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form .wpcf7-checkbox .wpcf7-list-item label {
    height: 32px;
  }
}

.form .wpcf7-checkbox input[type=checkbox] {
  width: 0;
  height: 0;
  visibility: hidden;
  opacity: 0;
}

.form input[type=checkbox] + span {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 8.6666666667vw;
  height: 6.4vw;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form input[type=checkbox] + span {
    padding-left: 2.9861111111vw;
    height: 2.2222222222vw;
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form input[type=checkbox] + span {
    padding-left: 43px;
    height: 32px;
    font-size: 1.5rem;
  }
}

.form input[type=checkbox] + span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 6.4vw;
  height: 6.4vw;
  background-color: #f4f4ef;
  border-radius: 0.5333333333vw;
}
@media screen and (min-width: 751px) {
  .form input[type=checkbox] + span::before {
    width: 2.2222222222vw;
    height: 2.2222222222vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form input[type=checkbox] + span::before {
    width: 32px;
    height: 32px;
    border-radius: 4px;
  }
}

.form-checkbox-req input[type=checkbox] + span::before {
  background-color: #f4f4ef;
}

.form input[type=checkbox]:checked + span::after {
  content: "";
  position: absolute;
  top: 0.4vw;
  left: 0.4vw;
  display: inline-block;
  width: 5.8666666667vw;
  height: 5.8666666667vw;
  background-image: url(../img/form/check.svg);
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .form input[type=checkbox]:checked + span::after {
    top: 0.2083333333vw;
    left: 0.2083333333vw;
    width: 1.9444444444vw;
    height: 1.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form input[type=checkbox]:checked + span::after {
    top: 3px;
    left: 3px;
    width: 28px;
    height: 28px;
  }
}

/* ------------------------------------------- select - */
.form-select {
  position: relative;
}
.form-select:before {
  content: "";
  position: absolute;
  top: 3.8vw;
  right: 2.6666666667vw;
  display: inline-block;
  width: 3.0666666667vw;
  height: 2vw;
  background-image: url(../img/form/select.svg);
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .form-select:before {
    top: 2.1875vw;
    right: 2.7777777778vw;
    width: 0.9027777778vw;
    height: 0.625vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-select:before {
    top: 31.5px;
    right: 40px;
    width: 13px;
    height: 9px;
  }
}

.form-input select {
  width: 100%;
}

/* ------------------------------------------- date - */
@media screen and (min-width: 751px) {
  .form-date {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (min-width: 751px) {
  .form-date-calendar {
    width: 26.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-date-calendar {
    width: 380px;
  }
}

.form-date-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .form-date-time {
    margin: 0 0 0 1.0416666667vw;
    width: 23.6111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-date-time {
    margin-left: 15px;
    width: 340px;
  }
}

.form-date-time > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 43.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form-date-time > div {
    width: 11.8055555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-date-time > div {
    width: 170px;
  }
}

.form-date-time > div .form-select {
  width: 33.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form-date-time > div .form-select {
    width: 9.375vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-date-time > div .form-select {
    width: 135px;
  }
}

.form-date-time > div:nth-child(n+2) {
  margin-left: 3.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form-date-time > div:nth-child(n+2) {
    margin-left: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-date-time > div:nth-child(n+2) {
    margin-left: 15px;
  }
}

/* ------------------------------------------- agree - */
.form-agree {
  position: relative;
  margin-top: 5.3333333333vw;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .form-agree {
    margin-top: 2.0833333333vw;
  }
}
.form-agree .form-agree {
  margin-top: 30px;
}

.form-agree-input {
  display: inline-block;
}

.form-agree .wpcf7-checkbox .wpcf7-list-item {
  width: 100%;
}

@media screen and (min-width: 751px) {
  .form-agree input[type=checkbox] + span {
    padding-left: 3.2638888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-agree input[type=checkbox] + span {
    padding-left: 47px;
  }
}

.form-agree-text {
  margin-top: 1em;
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-agree-text {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-agree-text {
    font-size: 1.6rem;
  }
}
.form-agree-text a {
  position: relative;
  color: #456a93;
  font-weight: 700;
}
@media screen and (min-width: 751px) {
  .form-agree-text a {
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
.form-agree-text a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em;
  width: 100%;
  height: 1px;
  background-color: #456a93;
}
@media screen and (min-width: 751px) {
  .form-agree-text a:after {
    height: 0.0694444444vw;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
@media screen and (min-width: 1441px) {
  .form-agree-text a:after {
    height: 1px;
  }
}
@media screen and (min-width: 751px) {
  .form-agree-text a:hover {
    color: rgba(126, 126, 126, 0.6);
  }
  .form-agree-text a:hover:after {
    background-color: #e6e6e6;
  }
}

.form-agree .formErrorContent {
  text-align: center;
}

/* ------------------------------------------- submit - */
.form-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 6.6666666667vw auto 0 auto;
  width: 72vw;
  height: 10.6666666667vw;
  background-color: #184271;
  border-color: #184271;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .form-btn {
    margin-top: 2.7777777778vw;
    width: 25vw;
    height: 5vw;
    border-width: 0.2083333333vw;
    border-radius: 2.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-btn {
    margin-top: 40px;
    width: 360px;
    height: 72px;
    border-width: 3px;
    border-radius: 36px;
  }
}
.form-btn:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #ffffff;
}
@media screen and (min-width: 751px) {
  .form-btn:before {
    -webkit-transition: width 0.3s;
    transition: width 0.3s;
  }
}
.form-btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4vw;
  display: inline-block;
  width: 1.4666666667vw;
  height: 2.2666666667vw;
  background-image: url(../img/common/arrow-normal-wh.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .form-btn:after {
    right: 2.0833333333vw;
    width: 0.5555555556vw;
    height: 0.8333333333vw;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
}
@media screen and (min-width: 1441px) {
  .form-btn:after {
    right: 30px;
    width: 8px;
    height: 12px;
  }
}

.form-submit {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #ffffff;
  font-family: "NotoSansJP", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .form-submit {
    font-size: 1.25vw;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-submit {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 751px) {
  .form-btn:hover:before {
    width: 100%;
  }
}
@media screen and (min-width: 751px) {
  .form-btn:hover:after {
    background-image: url(../img/common/arrow-normal-nv.svg);
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
}
@media screen and (min-width: 751px) {
  .form-btn:hover .form-submit {
    color: #22366e;
  }
}

::-webkit-full-page-media,
:future,
:root .form-btn:after {
  -webkit-transition: none;
  transition: none;
}

/* ------------------------------------------- レイアウト崩れ防止 - */
div.wpcf7 .ajax-loader,
.wpcf7-spinner {
  display: none !important;
}

/* ------------------------------------------- エラー表示 - */
.wpcf7-response-output {
  margin: 2em 0 0 0 !important;
  padding: 1em 0.5em !important;
  width: 100%;
  text-align: center;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .wpcf7-response-output {
    padding: 1em !important;
    font-size: 2.8vw;
  }
}

.wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
  display: none !important;
}

.form-checkbox-req .wpcf7-form-control-wrap span.wpcf7-not-valid-tip,
.form-agree .wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
  display: block !important;
}

span.wpcf7-form-control-wrap {
  position: static;
}

.wpcf7-validation-errors {
  padding: 1em !important;
  border: 1px solid #22366e !important;
}

.wpcf7-not-valid-tip {
  margin-top: 0.75em;
}

.wpcf7-not-valid-tip,
.formError .formErrorContent {
  color: #dc3232;
  font-size: 2.8vw !important;
}
@media screen and (min-width: 751px) {
  .wpcf7-not-valid-tip,
  .formError .formErrorContent {
    font-size: 0.9027777778vw !important;
  }
}
@media screen and (min-width: 1441px) {
  .wpcf7-not-valid-tip,
  .formError .formErrorContent {
    font-size: 1.3rem !important;
  }
}

/*  heading
-------------------------------------------------------------------------------*/
/* ------------------------------------------- heading-1 - */
.heading-1 {
  position: relative;
  margin-bottom: 0.8em;
  font-size: 5.3333333333vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .heading-1 {
    font-size: 2.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .heading-1 {
    font-size: 3.2rem;
  }
}

/* ------------------------------------------- heading-2 - */
.editor h2,
.heading-2 {
  position: relative;
  margin-bottom: 1em;
  padding: 2vw 2vw 2vw 10vw;
  background-color: #edede5;
  border-radius: 1.3333333333vw;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .editor h2,
  .heading-2 {
    padding: 0.6944444444vw 1.3888888889vw 0.6944444444vw 4.1666666667vw;
    border-radius: 0.6944444444vw;
    font-size: 1.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h2,
  .heading-2 {
    padding: 10px 20px 10px 60px;
    border-radius: 10px;
    font-size: 2.8rem;
  }
}
.editor h2:before,
.heading-2:before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 4vw;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.4vw 0px 2.4vw 2.4vw;
  border-color: transparent transparent transparent #a6bacf;
}
@media screen and (min-width: 751px) {
  .editor h2:before,
  .heading-2:before {
    left: 2.0833333333vw;
    border-width: 0.6944444444vw 0px 0.6944444444vw 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h2:before,
  .heading-2:before {
    left: 30px;
    border-width: 10px 0px 10px 10px;
  }
}

/* ------------------------------------------- heading-3 - */
.editor h3,
.heading-3 {
  position: relative;
  margin-bottom: 1em;
  padding: 0 0 0.7em 8.6666666667vw;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 0.5333333333vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .editor h3,
  .heading-3 {
    padding-left: 2.7777777778vw;
    border-bottom-width: 0.1388888889vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h3,
  .heading-3 {
    padding-left: 40px;
    border-bottom-width: 2px;
    font-size: 2.4rem;
  }
}
.editor h3:before,
.heading-3:before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
  display: inline-block;
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  background-image: url(../img/post/icon.svg);
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .editor h3:before,
  .heading-3:before {
    width: 1.3888888889vw;
    width: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h3:before,
  .heading-3:before {
    width: 20px;
    height: 20px;
  }
}

/* ------------------------------------------- heading-4 - */
.editor h4,
.heading-4 {
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 0.7em;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 0.5333333333vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .editor h4,
  .heading-4 {
    border-bottom-width: 0.1388888889vw;
    font-size: 1.5277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h4,
  .heading-4 {
    border-bottom-width: 2px;
    font-size: 2.2rem;
  }
}

/* ------------------------------------------- heading-5 - */
.heading-5 {
  position: relative;
  margin-bottom: 1.2em;
  padding: 0.4em 1em;
  background-color: #edede5;
  border-radius: 0.6666666667vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 6.1333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.25em;
}
@media screen and (max-width: 750px) {
  .heading-5 {
    margin-left: -4vw;
    width: 100vw;
  }
}
@media screen and (min-width: 751px) {
  .heading-5 {
    border-radius: 0.3472222222vw;
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .heading-5 {
    border-radius: 5px;
    font-size: 3.6rem;
  }
}

/*  pagenation
-------------------------------------------------------------------------------*/
.page-archive-navi {
  margin-top: 10.6666666667vw;
}

.page-archive-navi .pagecount {
  margin-bottom: 5.3333333333vw;
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-align: center;
}
.page-archive-navi .pagecount span {
  position: relative;
  top: 0.05em;
  display: inline-block;
  margin: 0 0.15em;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 1.5em;
  font-weight: 700;
}

@media screen and (min-width: 751px) {
  .page-archive-navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 5.5555555556vw auto 0 auto;
    width: 76.3888888889vw;
    max-width: 100%;
  }
  .page-archive-navi .pagecount {
    margin: 0;
    font-size: 1.25vw;
    text-align: left;
  }
}
@media screen and (min-width: 1441px) {
  .page-archive-navi {
    margin-top: 80px;
    width: 1200px;
  }
  .page-archive-navi .pagecount {
    font-size: 1.8rem;
  }
}
.pagenation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.pagenation-list li {
  margin-right: 2vw;
}

.pagenation-list li:last-child {
  margin-right: 0;
}

.pagenation-list li div,
.pagenation-list li:not(.pagenation-prev):not(.pagenation-next) a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 9.3333333333vw;
  height: 9.3333333333vw;
  background-color: #ffffff;
  border-radius: 0.5333333333vw;
  color: #22366e;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0;
}
.pagenation-list li div span,
.pagenation-list li:not(.pagenation-prev):not(.pagenation-next) a span {
  position: relative;
  z-index: 1;
}

.pagenation-list li.is-current > div {
  background-color: #22366e;
  color: #ffffff;
}

.pagenation-prev,
.pagenation-next {
  width: 9.3333333333vw;
  height: 9.3333333333vw;
}

.pagenation-prev a,
.pagenation-next a {
  position: relative;
  display: block;
  height: 9.3333333333vw;
  background-color: #ffffff;
  border-radius: 0.5333333333vw;
}
.pagenation-prev a:after,
.pagenation-next a:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 2.1333333333vw;
  height: 3.2vw;
  background-image: url(../img/common/arrow-normal-bl.svg);
  background-size: contain;
}

.pagenation-prev a:after {
  -webkit-transform: translate(-50%, -50%) rotateY(180deg);
          transform: translate(-50%, -50%) rotateY(180deg);
}

.pagenation-next a:after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 751px) {
  .pagenation-list {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-left: 1.7361111111vw;
  }
  .pagenation-list li {
    margin-right: 0.5555555556vw;
  }
  .pagenation-list li div,
  .pagenation-list li:not(.pagenation-prev):not(.pagenation-next) a {
    width: 3.4722222222vw;
    height: 3.4722222222vw;
    border-radius: 0.2777777778vw;
    font-size: 1.3888888889vw;
  }
  .pagenation-list li:not(.pagenation-prev):not(.pagenation-next) a {
    -webkit-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s;
  }
  .pagenation-list li:not(.pagenation-prev):not(.pagenation-next) a:hover {
    background-color: #22366e;
    color: #ffffff;
  }
  .pagenation-prev,
  .pagenation-next {
    width: 3.4722222222vw;
    height: 3.4722222222vw;
  }
  .pagenation-prev a,
  .pagenation-next a {
    height: 3.4722222222vw;
    border-radius: 0.2777777778vw;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .pagenation-prev a:after,
  .pagenation-next a:after {
    width: 0.5555555556vw;
    height: 0.8333333333vw;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .pagenation-prev a:hover,
  .pagenation-next a:hover {
    background-color: #22366e;
  }
  .pagenation-prev a:hover:after,
  .pagenation-next a:hover:after {
    background-image: url(../img/common/arrow-normal-wh.svg);
  }
}
@media screen and (min-width: 1441px) {
  .pagenation-list {
    margin-left: 25px;
  }
  .pagenation-list li {
    margin-right: 8px;
  }
  .pagenation-list li div,
  .pagenation-list li:not(.pagenation-prev):not(.pagenation-next) a {
    width: 50px;
    height: 50px;
    border-radius: 4px;
    font-size: 1.8rem;
  }
  .pagenation-prev,
  .pagenation-next {
    width: 50px;
    height: 50px;
  }
  .pagenation-prev a,
  .pagenation-next a {
    height: 50px;
    border-radius: 4px;
  }
  .pagenation-prev a:after,
  .pagenation-next a:after {
    width: 8px;
    height: 12px;
  }
}
/*  pagenavi
-------------------------------------------------------------------------------*/
.pagenavi {
  position: relative;
  margin: 10.6666666667vw auto 0 auto;
  width: 92vw;
}

.pagenavi-prev a,
.pagenavi-next a,
.pagenavi-back a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 8vw;
  font-size: 3.7333333333vw;
  font-weight: 700;
}

.pagenavi-prev a:after,
.pagenavi-next a:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 6.4vw;
  height: 6.4vw;
  background-image: url(../img/common/arrow-circle-bl.svg);
  background-size: contain;
}

.pagenavi-prev,
.pagenavi-next {
  position: absolute;
  top: 50%;
  width: 31.3333333333vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.pagenavi-prev {
  left: 0;
}
.pagenavi-prev a {
  padding-left: 5.3333333333vw;
}
.pagenavi-prev a:after {
  left: 0;
  -webkit-transform: translateY(-50%) rotateY(180deg);
          transform: translateY(-50%) rotateY(180deg);
}

.pagenavi-next {
  right: 0;
}
.pagenavi-next a {
  padding-right: 5.3333333333vw;
}
.pagenavi-next a:after {
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.pagenavi-back {
  margin: 0 auto;
  width: 29.3333333333vw;
  border-left-color: #e6e6e6;
  border-left-style: solid;
  border-left-width: 0.2666666667vw;
  border-right-color: #e6e6e6;
  border-right-style: solid;
  border-right-width: 0.2666666667vw;
}

@media screen and (min-width: 751px) {
  .pagenavi {
    margin-top: 3.4722222222vw;
    width: 52.0833333333vw;
    height: 3.4722222222vw;
  }
  .pagenavi-prev a,
  .pagenavi-next a,
  .pagenavi-back a {
    height: 3.4722222222vw;
    font-size: 1.25vw;
    -webkit-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s;
  }
  .pagenavi-prev a:after,
  .pagenavi-next a:after,
  .pagenavi-back a:after {
    width: 1.3888888889vw;
    height: 1.3888888889vw;
  }
  .pagenavi-prev a:hover,
  .pagenavi-next a:hover,
  .pagenavi-back a:hover {
    background-color: #ffffff;
    color: #22366e;
  }
  .pagenavi-prev a:after,
  .pagenavi-next a:after {
    width: 2.2222222222vw;
    height: 2.2222222222vw;
  }
  .pagenavi-prev,
  .pagenavi-next {
    width: 17.3611111111vw;
  }
  .pagenavi-prev a {
    padding-left: 3.4722222222vw;
  }
  .pagenavi-prev a:after {
    left: 3.4722222222vw;
  }
  .pagenavi-next a {
    padding-right: 3.4722222222vw;
  }
  .pagenavi-next a:after {
    right: 3.4722222222vw;
  }
  .pagenavi-back {
    width: 17.3611111111vw;
    border-left-width: 0.0694444444vw;
    border-right-width: 0.0694444444vw;
  }
  .pagenavi-back span {
    position: relative;
    padding-left: 2.0833333333vw;
  }
  .pagenavi-back span:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 1.25vw;
    height: 1.3194444444vw;
    background-image: url(../img/post/document.svg);
    background-size: contain;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (min-width: 1441px) {
  .pagenavi {
    margin-top: 50px;
    width: 750px;
    height: 50px;
  }
  .pagenavi-prev a,
  .pagenavi-next a,
  .pagenavi-back a {
    height: 50px;
    font-size: 1.6rem;
  }
  .pagenavi-prev a:after,
  .pagenavi-next a:after {
    width: 32px;
    height: 32px;
  }
  .pagenavi-prev,
  .pagenavi-next {
    width: 250px;
  }
  .pagenavi-prev a {
    padding-left: 50px;
  }
  .pagenavi-prev a:after {
    left: 50px;
  }
  .pagenavi-next a {
    padding-right: 50px;
  }
  .pagenavi-next a:after {
    right: 50px;
  }
  .pagenavi-back {
    width: 250px;
    border-left-width: 1px;
    border-right-width: 1px;
  }
  .pagenavi-back span {
    padding-left: 30px;
  }
  .pagenavi-back span:before {
    width: 18px;
    height: 19px;
  }
}
/*  post
-------------------------------------------------------------------------------*/
.post {
  position: relative;
  margin: 0 auto;
  padding: 10.6666666667vw 6vw 13.3333333333vw 6vw;
  width: 100%;
  background-color: #ffffff;
}

.post > section {
  margin-top: 13.3333333333vw;
}

.post-data {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 6.6666666667vw;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 0.2666666667vw;
}

.post-cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3333333333vw;
}
.post-cat > li {
  padding: 0.2em 0.5em 0.3em 0.5em;
  background-color: #22366e;
  border-radius: 5em;
  color: #ffffff;
  font-size: 2.6666666667vw;
}

.post-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 0.8em;
}

.post-date p {
  position: relative;
  padding-left: 1.2em;
  font-size: 3.4666666667vw;
  letter-spacing: 0.1em;
}

.post-date p:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.post-date-publish:before {
  background-image: url(../img/post/publish.svg);
}

.post-date-modified:before {
  background-image: url(../img/post/modified.svg);
}

.post-date p:nth-child(n+2) {
  margin-left: 2.6666666667vw;
}

.post .editor {
  margin-top: 6.6666666667vw;
}

@media screen and (min-width: 751px) {
  .post {
    padding: 5.5555555556vw 6.9444444444vw;
    width: 76.3888888889vw;
  }
  .post > section {
    margin-top: 5.5555555556vw;
  }
  .post-data {
    padding-bottom: 1.3888888889vw;
    border-bottom-width: 0.0694444444vw;
  }
  .post-date p {
    font-size: 1.1111111111vw;
  }
  .post-date p:nth-child(n+2) {
    margin-left: 1.3888888889vw;
  }
  .post-cat {
    gap: 0.3472222222vw;
  }
  .post-cat > li {
    font-size: 0.9722222222vw;
  }
  .post-intro {
    margin: 4.1666666667vw auto 0 auto;
    width: 57.7777777778vw;
  }
  .post .editor {
    margin-top: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .post {
    padding: 80px 100px;
    width: 1100px;
  }
  .post > section {
    margin-top: 80px;
  }
  .post-data {
    padding-bottom: 20px;
    border-bottom-width: 1px;
  }
  .post-date p {
    font-size: 1.6rem;
  }
  .post-date p:nth-child(n+2) {
    margin-left: 20px;
  }
  .post-cat {
    gap: 5px;
  }
  .post-cat > li {
    font-size: 1.4rem;
  }
  .post .editor {
    margin-top: 50px;
  }
}
/*  term
-------------------------------------------------------------------------------*/
.term {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4vw;
  margin-bottom: 8vw;
}

.term dl {
  width: 100%;
}

.term dt {
  position: relative;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.25em;
}

.term-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 4vw;
  gap: 2vw 2.1333333333vw;
}

.term-menu > li {
  width: 44.9333333333vw;
}

.term-menu a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 13.3333333333vw;
  background-color: #ffffff;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.3333333333vw;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.18em;
}

.term-arrow .term-menu a {
  padding: 0 6vw 0 2.4vw;
}
.term-arrow .term-menu a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 2.1333333333vw;
  height: 3.2vw;
  background-image: url(../img/common/arrow-normal-bl.svg);
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.term-icon .term-menu a {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2vw;
}

.term-menu-image {
  width: 9.3333333333vw;
  height: 9.3333333333vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.term-menu-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 12vw);
}

@media screen and (max-width: 750px) {
  .term-open dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 9.3333333333vw 0 4vw;
    background-color: #e3eaf1;
    height: 16vw;
    cursor: pointer;
  }
  .term-open dt:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4vw;
    display: inline-block;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    background-image: url(../img/term/plus.svg);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .term-open dt.is-open:after {
    background-image: url(../img/term/minus.svg);
  }
  .term-open dd {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .term {
    gap: 3.4722222222vw;
    margin-bottom: 5.5555555556vw;
  }
  .term dt {
    margin-bottom: 1em;
    padding: 0 0 0.1em 1.7361111111vw;
    font-size: 1.9444444444vw;
  }
  .term dt:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 0.4166666667vw;
    height: 100%;
    background-color: #22366e;
    border-radius: 0.2083333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .term-menu {
    gap: 1.0416666667vw;
    margin: 0;
  }
  .term-menu > li {
    width: 15.8333333333vw;
  }
  .term-menu a {
    height: 4.1666666667vw;
    border-width: 0.0694444444vw;
    border-radius: 0.3472222222vw;
    font-size: 1.0416666667vw;
    -webkit-transition: background-color 0.2s, color 0.2s;
    transition: background-color 0.2s, color 0.2s;
  }
  .term-menu a:hover {
    background-color: #e3eaf1;
  }
  .term-menu a:hover:after {
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
  .term-arrow .term-menu a {
    padding: 0 2.4305555556vw 0 1.0416666667vw;
  }
  .term-arrow .term-menu a:after {
    right: 1.0416666667vw;
    width: 0.5555555556vw;
    height: 0.8333333333vw;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .term-icon .term-menu a {
    padding: 0.4861111111vw;
  }
  .term-menu-image {
    width: 3.1944444444vw;
    height: 3.1944444444vw;
    border-radius: 0.2777777778vw;
  }
  .term-menu-content {
    width: calc(100% - 4.1666666667vw);
  }
}
@media screen and (min-width: 1441px) {
  .term {
    gap: 50px;
    margin-bottom: 80px;
  }
  .term dt {
    padding-left: 25px;
    font-size: 2.8rem;
  }
  .term dt:before {
    width: 6px;
    border-radius: 3px;
  }
  .term-menu {
    gap: 15px;
  }
  .term-menu > li {
    width: 228px;
  }
  .term-menu a {
    height: 60px;
    border-width: 1px;
    border-radius: 5px;
    font-size: 1.5rem;
  }
  .term-arrow .term-menu a {
    padding: 0 35px 0 15px;
  }
  .term-arrow .term-menu a:after {
    right: 15px;
    width: 8px;
    height: 12px;
  }
  .term-icon .term-menu a {
    padding: 7px;
  }
  .term-menu-image {
    width: 46px;
    height: 46px;
    border-radius: 4px;
  }
  .term-menu-content {
    width: calc(100% - 60px);
  }
}
/*  ttl
-------------------------------------------------------------------------------*/
.ttl {
  position: relative;
  background-color: #edede5;
}

.ttl .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 26.6666666667vw;
}

.ttl-ja {
  position: relative;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
}

@media screen and (max-width: 750px) {
  .ttl:before, .ttl:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 21.3333333333vw;
    height: 8.4vw;
    background-image: url(../img/common/deco.svg);
    background-size: contain;
  }
  .ttl:before {
    top: 2.6666666667vw;
    left: 6.6666666667vw;
  }
  .ttl:after {
    right: 6.6666666667vw;
    bottom: 2.6666666667vw;
  }
  .ttl-ja span {
    font-size: 5.6vw;
  }
}
@media screen and (min-width: 751px) {
  .ttl .inner {
    height: 11.8055555556vw;
  }
  .ttl-ja {
    display: inline-block;
    padding: 0 11.8055555556vw;
    font-size: 3.3333333333vw;
  }
  .ttl-ja:before, .ttl-ja:after {
    content: "";
    position: absolute;
    display: inline-block;
    top: 50%;
    width: 7.9166666667vw;
    height: 3.125vw;
    background-image: url(../img/common/deco.svg);
    background-size: contain;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .ttl-ja:before {
    left: 0;
  }
  .ttl-ja:after {
    right: 0;
  }
}
@media screen and (min-width: 1441px) {
  .ttl .inner {
    height: 170px;
  }
  .ttl-ja {
    padding: 0 170px;
    font-size: 4.8rem;
  }
  .ttl-ja:before, .ttl-ja:after {
    width: 114px;
    height: 45px;
  }
}
/* lead
-------------------------------------------------------------------------------*/
.lead {
  position: relative;
  margin-bottom: 8vw;
  padding: 4vw 6vw;
  background-color: #ffffff;
  border-color: #a6bacf;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.5333333333vw;
}
.lead p {
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.7em;
}

@media screen and (min-width: 751px) {
  .lead {
    margin-bottom: 3.4722222222vw;
    padding: 1.7361111111vw 2.5vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
  }
  .lead p {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .lead {
    margin-bottom: 50px;
    padding: 25px 36px;
    border-width: 2px;
    border-radius: 4px;
  }
  .lead p {
    font-size: 1.6rem;
  }
}
/*  event --> archive
-------------------------------------------------------------------------------*/
.event-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8vw 0;
}

.event-post .c-event {
  width: 100%;
}

@media screen and (min-width: 751px) {
  .event-post {
    gap: 2.7777777778vw 3.125vw;
  }
  .event-post .c-event {
    width: 25.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .event-post {
    gap: 40px 45px;
  }
  .event-post .c-event {
    width: 370px;
  }
}
/*  event --> single
-------------------------------------------------------------------------------*/
.event-main {
  position: relative;
}

.event-image {
  margin-bottom: 5.3333333333vw;
}
.event-image img {
  aspect-ratio: 450/316;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.event-data {
  position: relative;
  border-top-color: #e6e6e6;
  border-top-style: solid;
  border-top-width: 1px;
}

.event-data dl {
  padding: 4vw 2.6666666667vw;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.event-data dt {
  position: relative;
  margin-bottom: 0.5em;
  padding: 0 0 0.1em 1.8em;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.5em;
}
.event-data dt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 4.5333333333vw;
  height: 5.3333333333vw;
  background-size: contain;
  background-position: center;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.event-data--date dt:before {
  background-image: url(../img/event/calendar.svg);
}

.event-data--time dt:before {
  background-image: url(../img/event/clock.svg);
}

.event-data--venue dt:before {
  background-image: url(../img/event/pin.svg);
}

.event-data dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 500;
  line-height: 1.65em;
}

.event-btn {
  margin: 8vw auto 0 auto;
  width: 64vw;
}

@media all and (min-width: 751px) {
  .event-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .event-image {
    margin: 0;
    width: 29.1666666667vw;
  }
  .event-image img {
    aspect-ratio: 360/220;
  }
  .event-content {
    width: 38.1944444444vw;
  }
  .event-data {
    border-top-width: 0.0694444444vw;
  }
  .event-data dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 1.3888888889vw 1.0416666667vw;
    border-bottom-width: 0.0694444444vw;
  }
  .event-data dt {
    margin: 0;
    padding-left: 1.9444444444vw;
    width: 9.7222222222vw;
    font-size: 1.1805555556vw;
  }
  .event-data dt:before {
    width: 1.25vw;
    height: 1.4583333333vw;
  }
  .event-data dd {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: calc(100% - 11.4583333333vw);
  }
  .event-btn {
    margin-top: 3.4722222222vw;
    width: 25.6944444444vw;
  }
}
@media all and (min-width: 1441px) {
  .event-image {
    width: 420px;
  }
  .event-content {
    width: 550px;
  }
  .event-data {
    border-top-width: 1px;
  }
  .event-data dl {
    padding: 20px 15px;
    border-bottom-width: 1px;
  }
  .event-data dt {
    padding-left: 28px;
    width: 140px;
    font-size: 1.7rem;
  }
  .event-data dt:before {
    width: 18px;
    height: 21px;
  }
  .event-data dd {
    width: calc(100% - 165px);
  }
  .event-btn {
    margin-top: 50px;
    width: 370px;
  }
}
/*  works --> archive
-------------------------------------------------------------------------------*/
.works-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8vw 0;
}

.works-post .p-works {
  width: 100%;
}

@media screen and (min-width: 751px) {
  .works-post {
    gap: 2.7777777778vw 3.125vw;
  }
  .works-post .p-works {
    width: 25.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-post {
    gap: 40px 45px;
  }
  .works-post .p-works {
    width: 370px;
  }
}
/*  works --> single
-------------------------------------------------------------------------------*/
.post--works .carousel {
  margin: 6.6666666667vw 0 0 0;
}
@media screen and (min-width: 751px) {
  .post--works .carousel {
    margin: 3.4722222222vw 0 0 0;
  }
}
@media screen and (min-width: 1441px) {
  .post--works .carousel {
    margin: 50px 0 0 0;
  }
}

/* ------------------------------------------- data - */
.works-data {
  position: relative;
  margin-top: 8vw;
  border-top-color: #e6e6e6;
  border-top-style: solid;
  border-top-width: 1px;
}

.works-data dl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 3.3333333333vw 0;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.works-data dt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 0.1em;
  height: 8vw;
  background-color: #22366e;
  border-radius: 5em;
  color: #ffffff;
}

.works-data dd {
  padding-top: 0.3em;
  line-height: 1.6em;
}

@media screen and (max-width: 750px) {
  .works-data dt {
    width: 23.3333333333vw;
    font-size: 3.4666666667vw;
  }
  .works-data dd {
    width: calc(100% - 27.3333333333vw);
  }
}
@media screen and (min-width: 751px) {
  .works-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 3.4722222222vw;
    border-top-width: 0.0694444444vw;
  }
  .works-data dl {
    padding: 1.3888888889vw 0.6944444444vw;
    border-bottom-width: 0.0694444444vw;
  }
  .works-data dt {
    margin: 0;
    padding: 0 1em 0.1em 1em;
    width: 9.7222222222vw;
    height: 2.7777777778vw;
  }
  .works-data dd {
    padding-top: 0.5em;
    width: calc(100% - 11.8055555556vw);
  }
  .works-data-harf {
    width: 30.5555555556vw;
  }
  .works-data-full {
    width: 100% !important;
  }
}
@media screen and (min-width: 1441px) {
  .works-data {
    margin-top: 50px;
    border-top-width: 1px;
  }
  .works-data dl {
    padding: 20px 10px;
    border-bottom-width: 1px;
  }
  .works-data dt {
    width: 140px;
    height: 40px;
  }
  .works-data dd {
    width: calc(100% - 170px);
  }
  .works-data-harf {
    width: 440px;
  }
}
/* ------------------------------------------- desc - */
.works-desc {
  margin-top: 6.6666666667vw;
  padding: 4.6666666667vw 4.8vw;
  background-color: #edede5;
  border-radius: 0.5333333333vw;
}
@media screen and (min-width: 751px) {
  .works-desc {
    margin-top: 2.7777777778vw;
    padding: 1.7361111111vw 1.8055555556vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-desc {
    margin-top: 40px;
    padding: 25px 26px;
    border-radius: 4px;
  }
}
.works-desc p {
  font-weight: 500;
  line-height: 1.7em;
}

/* ------------------------------------------- before & after- */
.works-beforeafter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10.6666666667vw;
}

.works-beforeafter > div {
  width: 100%;
}

.works-beforeafter-heading {
  position: relative;
  margin-bottom: 0.7em;
  padding-left: 1em;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.5em;
}
.works-beforeafter-heading:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.4vw 0px 2.4vw 2.4vw;
  border-color: transparent transparent transparent #a6bacf;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.works-beforeafter-slide .swiper-wrapper {
  border-radius: 0.6666666667vw;
  overflow: hidden;
}
.works-beforeafter-slide .swiper-wrapper img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 435/300;
}

@media screen and (min-width: 751px) {
  .works-beforeafter {
    gap: 2.0833333333vw;
  }
  .works-beforeafter > div {
    width: 30.2083333333vw;
  }
  .works-beforeafter-heading {
    font-size: 1.9444444444vw;
  }
  .works-beforeafter-heading:before {
    border-width: 0.6944444444vw 0px 0.6944444444vw 0.6944444444vw;
  }
  .works-beforeafter-slide .swiper-wrapper {
    border-radius: 0.3472222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-beforeafter {
    gap: 30px;
  }
  .works-beforeafter > div {
    width: 435px;
  }
  .works-beforeafter-heading {
    font-size: 2.8rem;
  }
  .works-beforeafter-heading:before {
    border-width: 10px 0px 10px 10px;
  }
  .works-beforeafter-slide .swiper-wrapper {
    border-radius: 5px;
  }
}
/* ------------------------------------------- point - */
.works-point-image {
  margin-bottom: 4vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.works-point-image a {
  position: relative;
  display: block;
}

.works-point-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 310/220;
}

.works-point-content p {
  font-size: 3.4666666667vw;
  line-height: 1.6em;
}

@media screen and (max-width: 750px) {
  .works-point-list > li:nth-child(n+2) {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .works-point-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -2.0833333333vw;
  }
  .works-point-list > li {
    margin-left: 2.0833333333vw;
    width: calc(33.33333% - 2.0833333333vw);
  }
  .works-point-list > li:nth-child(n+4) {
    margin-top: 3.4722222222vw;
  }
  .works-point-image {
    margin-bottom: 1.0416666667vw;
    border-radius: 0.2777777778vw;
  }
  .works-point-content p {
    font-size: 1.1111111111vw;
    letter-spacing: 0.06em;
  }
}
@media screen and (min-width: 1441px) {
  .works-point-list {
    margin-left: -30px;
  }
  .works-point-list > li {
    margin-left: 30px;
    width: calc(33.33333% - 30px);
  }
  .works-point-list > li:nth-child(n+4) {
    margin-top: 50px;
  }
  .works-point-image {
    margin-bottom: 15px;
    border-radius: 4px;
  }
  .works-point-content p {
    font-size: 1.6rem;
  }
}
/* ------------------------------------------- voice - */
.works-voice {
  position: relative;
  padding: 9.3333333333vw 6vw 6.6666666667vw 6vw;
  background-image: url(../img/common/bg-dot_sp.jpg);
  background-repeat: repeat;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.works-voice-heading {
  margin-bottom: 1em;
  font-size: 5.3333333333vw;
  font-weight: 700;
  text-align: center;
}
.works-voice-heading span {
  position: relative;
  display: block;
}
.works-voice-heading span:before, .works-voice-heading span:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 21.3333333333vw;
  height: 8.2666666667vw;
  background-image: url(../img/common/deco.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.works-voice-heading span:before {
  left: 0;
}
.works-voice-heading span:after {
  right: 0;
}

.works-voice-btn {
  margin-top: 5.3333333333vw;
  text-align: right;
}

@media screen and (min-width: 751px) {
  .works-voice {
    padding: 3.4722222222vw 4.8611111111vw 2.7777777778vw 4.8611111111vw;
    background-image: url(../img/common/bg-dot.jpg);
    background-image: image-set(url(../img/common/bg-dot.jpg) 1x, url(../img/common/bg-dot-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/bg-dot.jpg) 1x, url(../img/common/bg-dot-2x.jpg) 2x);
    border-width: 0.0694444444vw;
    border-radius: 0.2777777778vw;
  }
  .works-voice-heading {
    font-size: 2.0833333333vw;
  }
  .works-voice-heading span {
    display: inline-block;
    padding: 0 10.0694444444vw;
  }
  .works-voice-heading span:before, .works-voice-heading span:after {
    width: 7.9166666667vw;
    height: 3.0555555556vw;
  }
  .works-voice-btn {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-voice {
    padding: 50px 70px 40px 70px;
    border-width: 1px;
    border-radius: 4px;
  }
  .works-voice-heading {
    font-size: 3rem;
  }
  .works-voice-heading span {
    padding: 0 145px;
  }
  .works-voice-heading span:before, .works-voice-heading span:after {
    width: 114px;
    height: 44px;
  }
  .works-voice-btn {
    margin-top: 30px;
  }
}
/* ------------------------------------------- staff - */
.works-staff {
  position: relative;
  padding: 9.3333333333vw 6.6666666667vw 6.6666666667vw 6.6666666667vw;
  background-color: #edede5;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}
.works-staff:before {
  content: "";
  position: absolute;
  top: -1.8666666667vw;
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 3.7333333333vw;
  background-image: url(../img/common/stripe.svg);
  background-size: auto 3.7333333333vw;
  background-repeat: repeat-x;
}

.works-staff-heading {
  margin-bottom: 0.7em;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
.works-staff-heading span {
  position: relative;
  padding: 0 10.6666666667vw 0 5.3333333333vw;
}
.works-staff-heading span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 8.8vw;
  height: 9.4666666667vw;
  background-image: url(../img/update/pencil.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 751px) {
  .works-staff {
    padding: 2.4305555556vw 3.125vw;
    border-radius: 0.6944444444vw;
  }
  .works-staff:before {
    top: -0.5555555556vw;
    height: 1.1111111111vw;
    background-size: auto 1.1111111111vw;
  }
  .works-staff-heading {
    font-size: 2.0833333333vw;
  }
  .works-staff-heading span {
    padding: 0 4.1666666667vw 0 2.0833333333vw;
  }
  .works-staff-heading span:after {
    width: 3.1944444444vw;
    height: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-staff {
    padding: 35px 45px;
    border-radius: 10px;
  }
  .works-staff:before {
    top: -8px;
    height: 16px;
    background-size: auto 16px;
  }
  .works-staff-heading {
    font-size: 3rem;
  }
  .works-staff-heading span {
    padding: 0 60px 0 30px;
  }
  .works-staff-heading span:after {
    width: 46px;
    height: 50px;
  }
}
/*  staff --> archive
-------------------------------------------------------------------------------*/
.staff-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6.6666666667vw;
  margin: 0 auto;
  width: 80vw;
}

.p-staff {
  position: relative;
  padding: 2.6666666667vw 2.6666666667vw 4.6666666667vw 2.6666666667vw;
  background-color: #f9f9f9;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 1.3333333333vw;
}

.p-staff-image {
  margin-bottom: 3.3333333333vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}
.p-staff-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 480/410;
}

.p-staff-content {
  padding: 0 1.3333333333vw;
}

.p-staff-head {
  margin-bottom: 2vw;
  text-align: center;
}

.p-staff-position {
  display: inline-block;
  margin-bottom: 0.3em;
  padding: 0.2em 0.75em;
  background-color: #998604;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: 0.1em;
}

.p-staff-name {
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.4em;
}

.p-staff-data {
  text-align: left;
}

.p-staff-data dl {
  position: relative;
  padding: 3.3333333333vw 0;
  border-top-color: #e6e6e6;
  border-top-style: solid;
  border-top-width: 1px;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
.p-staff-data dt {
  position: relative;
  margin-bottom: 0.3em;
  padding-left: 1.2em;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}
.p-staff-data dt:before {
  content: "";
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 0.7em;
  height: 0.7em;
  background-color: #a6bacf;
  border-radius: 50%;
}
.p-staff-data dd {
  font-size: 3.2vw;
  line-height: 1.5em;
}

.p-staff-message {
  margin-top: 4vw;
}
.p-staff-message p {
  line-height: 1.5em;
}

@media screen and (min-width: 751px) {
  .staff-post {
    gap: 3.3333333333vw 2.7777777778vw;
    width: 80.5555555556vw;
  }
  .p-staff {
    padding: 1.0416666667vw 1.0416666667vw 2.0833333333vw 1.0416666667vw;
    width: 25vw;
    border-width: 0.0694444444vw;
    border-radius: 0.6944444444vw;
  }
  .p-staff-image {
    margin-bottom: 1.7361111111vw;
    border-radius: 0.6944444444vw;
  }
  .p-staff-image img {
    aspect-ratio: 330/280;
  }
  .p-staff-content {
    padding: 0 1.0416666667vw;
  }
  .p-staff-head {
    margin-bottom: 1.0416666667vw;
    text-align: left;
  }
  .p-staff-position {
    padding: 0.1em 0.4em;
    border-radius: 0.1388888889vw;
    font-size: 0.9722222222vw;
  }
  .p-staff-name {
    font-size: 1.8055555556vw;
  }
  .p-staff-data dl {
    padding: 1.0416666667vw 0;
    border-top-width: 0.0694444444vw;
    border-bottom-width: 0.0694444444vw;
  }
  .p-staff-data dt {
    font-size: 0.9722222222vw;
  }
  .p-staff-data dd {
    font-size: 0.9722222222vw;
  }
  .p-staff-message {
    margin-top: 1.0416666667vw;
  }
  .p-staff-message p {
    font-size: 0.9722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .staff-post {
    gap: 48px 40px;
    width: 1160px;
  }
  .p-staff {
    padding: 15px 15px 30px 15px;
    width: 360px;
    border-width: 1px;
    border-radius: 10px;
  }
  .p-staff-image {
    margin-bottom: 25px;
    border-radius: 10px;
  }
  .p-staff-content {
    padding: 0 15px;
  }
  .p-staff-head {
    margin-bottom: 15px;
  }
  .p-staff-position {
    border-radius: 2px;
    font-size: 1.4rem;
  }
  .p-staff-name {
    font-size: 2.6rem;
  }
  .p-staff-data dl {
    padding: 15px 0;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  .p-staff-data dt {
    font-size: 1.4rem;
  }
  .p-staff-data dd {
    font-size: 1.4rem;
  }
  .p-staff-message {
    margin-top: 15px;
  }
  .p-staff-message p {
    font-size: 1.4rem;
  }
}
/*  blog --> archive
-------------------------------------------------------------------------------*/
.blog-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8vw 0;
}

.blog-post .p-blog {
  width: 100%;
}

@media screen and (min-width: 751px) {
  .blog-post {
    gap: 2.7777777778vw 3.125vw;
  }
  .blog-post .p-blog {
    width: 25.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .blog-post {
    gap: 40px 45px;
  }
  .blog-post .p-blog {
    width: 370px;
  }
}
/* ------------------------------------------- slide - */
.blog-slide {
  position: relative;
}

.blog-slide .swiper-wrapper .swiper-slide {
  position: relative;
  left: 2vw;
  margin-right: 4vw;
  width: 80vw !important;
  background-color: #ffffff;
  height: auto;
}

.blog-slide .swiper-wrapper .swiper-slide:last-child {
  margin-right: 0 !important;
}

#blog-prev {
  left: 1.3333333333vw;
}

#blog-next {
  right: 1.3333333333vw;
}

.blog-btn {
  margin-top: 5.3333333333vw;
  text-align: center;
}

@media screen and (min-width: 751px) {
  .blog-slide .swiper-wrapper .swiper-slide {
    left: 1.0416666667vw;
    margin-right: 2.0833333333vw;
    width: 27.7777777778vw !important;
  }
  #blog-slide .swiper-wrapper-mask .swiper-slide-prev:before,
  #blog-slide .swiper-wrapper-mask .swiper-slide-next:before {
    content: none !important;
  }
  #blog-prev {
    left: -2.7777777778vw;
  }
  #blog-next {
    right: -2.7777777778vw;
  }
  .blog-btn {
    margin-top: 1.7361111111vw;
    text-align: right;
  }
}
@media screen and (min-width: 1441px) {
  .blog-slide .swiper-wrapper .swiper-slide {
    left: 15px;
    margin-right: 30px;
    width: 400px !important;
  }
  #blog-prev {
    left: -40px;
  }
  #blog-next {
    right: -40px;
  }
  .blog-btn {
    margin-top: 25px;
  }
}
/*  blog --> common
-------------------------------------------------------------------------------*/
.p-blog {
  position: relative;
  background-color: #ffffff;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.5333333333vw;
}

.p-blog a {
  position: relative;
  display: block;
  height: 100%;
}

.p-blog-image {
  position: relative;
}
.p-blog-image img {
  aspect-ratio: 400/224;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-blog-content {
  padding: 4.6666666667vw 5.3333333333vw;
}

.p-blog-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.6666666667vw;
}

.p-blog-cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3333333333vw;
}
.p-blog-cat > li {
  padding: 0.2em 0.5em 0.3em 0.5em;
  background-color: #22366e;
  border-radius: 5em;
  color: #ffffff;
  font-size: 2.6666666667vw;
}

.p-blog-date {
  margin-right: 0.5em;
  font-size: 3.4666666667vw;
  letter-spacing: 0.1em;
}

.p-blog-ttl {
  max-height: 3em;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-blog-excerpt {
  margin-top: 0.5em;
  color: #7d8098;
  max-height: 3em;
  font-size: 3.4666666667vw;
  line-height: 1.5em;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (min-width: 751px) {
  .p-blog {
    border-width: 0.0694444444vw;
    border-radius: 0.2777777778vw;
  }
  .p-blog a:hover .p-blog-image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    cursor: pointer;
  }
  .p-blog-content {
    padding: 1.3888888889vw;
  }
  .p-blog-head {
    margin-bottom: 0.6944444444vw;
  }
  .p-blog-cat {
    gap: 0.3472222222vw;
  }
  .p-blog-cat > li {
    font-size: 0.9027777778vw;
  }
  .p-blog-date {
    font-size: 1.0416666667vw;
  }
  .p-blog-ttl {
    font-size: 1.1111111111vw;
  }
  .p-blog-excerpt {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .p-blog {
    border-width: 1px;
    border-radius: 4px;
  }
  .p-blog-content {
    padding: 20px;
  }
  .p-blog-head {
    margin-bottom: 10px;
  }
  .p-blog-cat {
    gap: 5px;
  }
  .p-blog-cat > li {
    font-size: 1.3rem;
  }
  .p-blog-date {
    font-size: 1.5rem;
  }
  .p-blog-ttl {
    font-size: 1.6rem;
  }
  .p-blog-excerpt {
    font-size: 1.5rem;
  }
}
/*  product --> tax archive
-------------------------------------------------------------------------------*/
.p-product {
  position: relative;
  background-color: #ffffff;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.5333333333vw;
}

.p-product > a {
  position: relative;
  display: block;
  padding-bottom: 12vw;
  height: 100%;
}

.p-product-discount {
  position: absolute;
  top: 1.3333333333vw;
  right: 1.3333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background-color: #22366e;
  border-radius: 50%;
  z-index: 1;
}
.p-product-discount p {
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 2.6666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.02em;
  letter-spacing: 0;
}
.p-product-discount p span.color {
  color: #ffea00;
}
.p-product-discount p span.num {
  font-size: 5.3333333333vw;
  line-height: 1em;
}

.p-product-image {
  position: relative;
}
.p-product-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 32vw;
}

.p-product-setplan {
  position: relative;
  overflow: hidden;
}

.p-product-setplan > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.p-product-setplan > div img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 32vw;
}

.p-product-setplan--4 > div {
  width: 50%;
}

.p-product-setplan--4 > div img {
  height: 16vw;
}

.p-product-setplan--3 > div {
  width: 33.33333%;
}

.p-product-setplan--2 > div {
  width: 50%;
}

.p-product-setplan--1 > div {
  width: 100%;
}

.p-product-content {
  padding: 2.6666666667vw 2.6666666667vw 0 2.6666666667vw;
}

.p-product-maker {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.3333333333vw;
  padding: 0 0.5em 0.1em 0.5em;
  height: 4vw;
  background-color: #7d8098;
  color: #ffffff;
  font-size: 2.6666666667vw;
  font-weight: 500;
}

.p-product-ttl {
  margin-bottom: 0.5em;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-product-price {
  position: relative;
}

.p-product-price-label {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 8vw;
  height: 4vw;
  border-color: #22366e;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.6666666667vw;
  color: #22366e;
  font-size: 2.6666666667vw;
  font-weight: 500;
  text-align: center;
  line-height: 1.1em;
  letter-spacing: 0;
}

.p-product-price-num {
  position: relative;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: right;
}
.p-product-price-num span {
  margin-right: 0.1em;
  color: #22366e;
  font-family: "Lato", sans-serif;
  font-size: 9.3333333333vw;
  font-weight: 900;
  line-height: 1em;
}
.p-product-price-num:after {
  content: "（税別）";
  position: absolute;
  right: -0.6em;
  bottom: 1.9em;
  color: #2a2f58;
  font-size: 2.2666666667vw;
  font-weight: 700;
}

.p-product-komikomi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5em;
  height: 6.1333333333vw;
  background-color: #e3eaf1;
  border-radius: 0.8vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1.1em;
}

.p-product-btn {
  position: absolute;
  left: 50%;
  bottom: 2.6666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 0.1em;
  width: 39.0666666667vw;
  height: 6.6666666667vw;
  background-color: #22366e;
  border-color: #22366e;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 6vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-product-btn span {
  color: #ffffff;
  font-size: 2.6666666667vw;
  font-weight: 700;
}
.p-product-btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4vw;
  display: inline-block;
  width: 1.6vw;
  height: 2.4vw;
  background-image: url(../img/common/arrow-normal-wh.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
  .p-product-ttl {
    max-height: 3em;
  }
}
@media screen and (min-width: 751px) {
  .p-product {
    border-width: 0.0694444444vw;
    border-radius: 0.2777777778vw;
  }
  .p-product a {
    padding-bottom: 5.5555555556vw;
  }
  .p-product-discount {
    top: -0.6944444444vw;
    right: -0.6944444444vw;
    width: 6.9444444444vw;
    height: 6.9444444444vw;
  }
  .p-product-discount p {
    font-size: 1.1111111111vw;
  }
  .p-product-discount p span.num {
    font-size: 2.6388888889vw;
  }
  .p-product-image img {
    height: 17.7777777778vw;
  }
  .p-product-setplan > div img {
    height: 17.7777777778vw;
  }
  .p-product-setplan--4 > div img {
    height: 8.8888888889vw;
  }
  .p-product-content {
    padding: 1.3888888889vw 1.3888888889vw 0 1.3888888889vw;
  }
  .p-product-maker {
    margin-bottom: 0.6944444444vw;
    height: 1.5277777778vw;
    font-size: 0.9027777778vw;
  }
  .p-product-ttl {
    height: 3em;
    font-size: 1.3888888889vw;
  }
  .p-product-komikomi {
    height: 2.5vw;
    border-radius: 0.2083333333vw;
    font-size: 1.1805555556vw;
  }
  .p-product-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 3.4722222222vw;
  }
  .p-product-price-label {
    position: absolute;
    top: 50%;
    left: 0;
    margin: 0;
    width: 2.7777777778vw;
    height: 1.8055555556vw;
    border-width: 0.0694444444vw;
    border-radius: 0.1388888889vw;
    font-size: 0.9722222222vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-product-price-num {
    font-size: 1.25vw;
  }
  .p-product-price-num span {
    font-size: 3.1944444444vw;
  }
  .p-product-price-num:after {
    font-size: 0.9027777778vw;
  }
  .p-product-btn {
    bottom: 1.3888888889vw;
    width: 16.875vw;
    height: 3.1944444444vw;
    border-width: 0.1388888889vw;
    border-radius: 1.5972222222vw;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .p-product-btn span {
    font-size: 1.1111111111vw;
  }
  .p-product-btn:after {
    right: 1.3888888889vw;
    width: 0.5555555556vw;
    height: 0.8333333333vw;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  .p-product a:hover .p-product-image .img--scale > img,
  .p-product a:hover .p-product-image .p-product-setplan > div {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    cursor: pointer;
  }
}
@media screen and (min-width: 1441px) {
  .p-product {
    border-width: 1px;
    border-radius: 4px;
  }
  .p-product a {
    padding-bottom: 80px;
  }
  .p-product-discount {
    top: 10px;
    right: 10px;
    width: 80px;
    height: 80px;
  }
  .p-product-discount p {
    font-size: 1.6rem;
  }
  .p-product-discount p span.num {
    font-size: 3.8rem;
  }
  .p-product-image img {
    height: 256px;
  }
  .p-product-setplan > div img {
    height: 256px;
  }
  .p-product-setplan--4 > div img {
    height: 128px;
  }
  .p-product-content {
    padding: 20px 20px 0 20px;
  }
  .p-product-maker {
    margin-bottom: 10px;
    height: 22px;
    font-size: 1.3rem;
  }
  .p-product-ttl {
    font-size: 2rem;
  }
  .p-product-komikomi {
    height: 36px;
    border-radius: 3px;
    font-size: 1.7rem;
  }
  .p-product-price {
    padding-left: 50px;
  }
  .p-product-price-label {
    width: 40px;
    height: 26px;
    border-width: 1px;
    border-radius: 2px;
    font-size: 1.4rem;
  }
  .p-product-price-num {
    font-size: 1.8rem;
  }
  .p-product-price-num span {
    font-size: 4.6rem;
  }
  .p-product-price-num:after {
    font-size: 1.3rem;
  }
  .p-product-btn {
    bottom: 20px;
    width: 243px;
    height: 46px;
    border-width: 2px;
    border-radius: 23px;
  }
  .p-product-btn span {
    font-size: 1.6rem;
  }
  .p-product-btn:after {
    right: 20px;
    width: 8px;
    height: 12px;
  }
}
/*  product --> archive
-------------------------------------------------------------------------------*/
.sub--plan-tax .product-section:nth-of-type(n + 2) {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 751px) {
  .sub--plan-tax .product-section:nth-of-type(n + 2) {
    margin-top: 6.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--plan-tax .product-section:nth-of-type(n + 2) {
    margin-top: 100px;
  }
}

.product-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8vw 2.6666666667vw;
}

.product-post .p-product {
  width: 44.6666666667vw;
}

@media screen and (min-width: 751px) {
  .product-post {
    gap: 2.7777777778vw 1.3888888889vw;
  }
  .product-post .p-product {
    width: 19.7916666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-post {
    gap: 40px 20px;
  }
  .product-post .p-product {
    width: 285px;
  }
}
/*  product --> single
-------------------------------------------------------------------------------*/
.sub--plan {
  padding: 7.3333333333vw 0 0 0;
}
@media screen and (min-width: 751px) {
  .sub--plan {
    padding: 4.5138888889vw 0 0 0;
  }
}
@media screen and (min-width: 1441px) {
  .sub--plan {
    padding: 65px 0 0 0;
  }
}

/* ------------------------------------------- catch copy - */
.product-catch {
  display: inline-block;
  margin-bottom: 0.7em;
  padding: 0.5em 1em;
  background-color: #e3eaf1;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .product-catch {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-catch {
    font-size: 1.6rem;
  }
}

/* ------------------------------------------- title - */
.post--product .heading-1 span {
  position: relative;
  display: inline-block;
  margin-bottom: 0.5em;
  padding: 0.2em 0.5em;
  background-color: #22366e;
  border-radius: 0.6666666667vw;
  color: #ffffff;
  font-size: 0.86em;
  font-weight: 700;
  text-align: center;
  line-height: 1.2em;
}

@media screen and (min-width: 751px) {
  .post--product .heading-1 span {
    top: -0.1em;
    margin: 0 0.5em 0 0;
    padding: 0.2em 0.5em;
    border-radius: 0.2083333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .post--product .heading-1 span {
    border-radius: 3px;
  }
}
/* ------------------------------------------- main - */
.product-main {
  position: relative;
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 751px) {
  .product-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-main {
    margin-bottom: 50px;
  }
}

.product-discount {
  position: absolute;
  top: -2vw;
  right: -2vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 18.6666666667vw;
  height: 18.6666666667vw;
  background-color: #22366e;
  border-radius: 50%;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .product-discount {
    top: -0.6944444444vw;
    right: -0.6944444444vw;
    width: 6.9444444444vw;
    height: 6.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-discount {
    top: -10px;
    right: -10px;
    width: 100px;
    height: 100px;
  }
}
.product-discount p {
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.02em;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) {
  .product-discount p {
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-discount p {
    font-size: 2rem;
  }
}
.product-discount p span.color {
  color: #ffea00;
}
.product-discount p span.num {
  font-size: 6.9333333333vw;
  line-height: 1em;
}
@media screen and (min-width: 751px) {
  .product-discount p span.num {
    font-size: 2.9166666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-discount p span.num {
    font-size: 4.2rem;
  }
}

.product-main-image {
  position: relative;
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 751px) {
  .product-main-image {
    width: 29.1666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-main-image {
    width: 420px;
  }
}
.product-main-image img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  height: 58.6666666667vw;
}
@media screen and (min-width: 751px) {
  .product-main-image img {
    height: 29.1666666667vw;
    -o-object-position: top center;
       object-position: top center;
  }
}
@media screen and (min-width: 1441px) {
  .product-main-image img {
    height: 420px;
  }
}

.product-main-setplan {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.product-main-setplan img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.product-main-setplan--4 > div {
  width: 50%;
}
.product-main-setplan--4 > div img {
  height: 29.3333333333vw;
}
@media screen and (min-width: 751px) {
  .product-main-setplan--4 > div img {
    height: 14.5833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-main-setplan--4 > div img {
    height: 210px;
  }
}

.product-main-setplan--3 > div {
  width: 33.33333%;
}

.product-main-setplan--2 > div {
  width: 50%;
}

.product-main-setplan--1 > div {
  width: 100%;
}

.product-main-content {
  margin: 0 auto;
  width: 80vw;
}
@media screen and (min-width: 751px) {
  .product-main-content {
    margin: 0;
    width: 29.8611111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-main-content {
    width: 430px;
  }
}

/* ------------------------------------------- data - */
.product-data {
  position: relative;
  margin-top: 4.6666666667vw;
}
@media screen and (min-width: 751px) {
  .product-data {
    margin-top: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-data {
    margin-top: 20px;
  }
}

.product-data dl {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 2vw 0;
  border-bottom-color: #e6e6e6;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}
@media screen and (min-width: 751px) {
  .product-data dl {
    padding: 0.6944444444vw 0;
    border-bottom-width: 0.0694444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-data dl {
    padding: 10px 0;
    border-bottom-width: 1px;
  }
}

.product-data dl:first-child {
  border-top-color: #e6e6e6;
  border-top-style: solid;
  border-top-width: 1px;
}
@media screen and (min-width: 751px) {
  .product-data dl:first-child {
    border-top-width: 0.0694444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-data dl:first-child {
    border-top-width: 1px;
  }
}

.product-data dt {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.5em;
  width: 24vw;
  background-color: #edede5;
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 751px) {
  .product-data dt {
    width: 9.7222222222vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-data dt {
    width: 140px;
    font-size: 1.6rem;
  }
}

.product-data dd {
  padding-top: 0.2em;
  width: calc(100% - 28vw);
  font-size: 3.7333333333vw;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .product-data dd {
    width: calc(100% - 11.1111111111vw);
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-data dd {
    width: calc(100% - 160px);
    font-size: 1.6rem;
  }
}

/* ------------------------------------------- price - */
.product-price {
  position: relative;
  margin-top: 6.6666666667vw;
}
@media screen and (min-width: 751px) {
  .product-price {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-price {
    margin-top: 30px;
  }
}

.product-maker-price {
  text-align: right;
}
.product-maker-price p {
  position: relative;
  display: inline-block;
  padding: 0.3em 1em;
  background-color: #edede5;
  color: #565656;
  font-size: 2.9333333333vw;
  font-weight: 700;
  text-align: right;
}
@media screen and (min-width: 751px) {
  .product-maker-price p {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-maker-price p {
    font-size: 1.6rem;
  }
}
.product-maker-price p span {
  position: relative;
  font-family: "Lato", sans-serif;
  padding: 0 0.2em;
}
.product-maker-price p span:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0.4vw;
  background-color: #565656;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 751px) {
  .product-maker-price p span:after {
    height: 0.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-maker-price p span:after {
    height: 2px;
  }
}

.product-total-price {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 4vw;
}
@media screen and (min-width: 751px) {
  .product-total-price {
    margin-top: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-total-price {
    margin-top: 20px;
  }
}

.product-total-price:has(.product-total-label) {
  padding-left: 21.3333333333vw;
}
@media screen and (min-width: 751px) {
  .product-total-price:has(.product-total-label) {
    padding-left: 7.6388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-total-price:has(.product-total-label) {
    padding-left: 110px;
  }
}

.product-total-label {
  position: absolute;
  top: 50%;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 17.3333333333vw;
  height: 12vw;
  background-color: #ffea00;
  border-radius: 0.2666666667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .product-total-label {
    width: 5.5555555556vw;
    height: 4.1666666667vw;
    border-radius: 0.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-total-label {
    width: 80px;
    height: 60px;
    border-radius: 2px;
  }
}
.product-total-label p {
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .product-total-label p {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-total-label p {
    font-size: 1.6rem;
  }
}

.product-main-num {
  position: relative;
  display: inline-block;
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) {
  .product-main-num {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-main-num {
    font-size: 2.4rem;
  }
}
.product-main-num span {
  display: inline-block;
  margin-right: 0.1em;
  color: #22366e;
  font-family: "Lato", sans-serif;
  font-size: 13.3333333333vw;
  font-weight: 900;
  line-height: 1em;
}
@media screen and (min-width: 751px) {
  .product-main-num span {
    font-size: 5vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-main-num span {
    font-size: 7.2rem;
  }
}
.product-main-num:after {
  content: "（税別）";
  position: absolute;
  right: 0.8em;
  bottom: 2em;
  font-size: 3.2vw;
}
@media screen and (min-width: 751px) {
  .product-main-num:after {
    right: 1em;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-main-num:after {
    font-size: 1.6rem;
  }
}

.product-taxin-price {
  margin-top: 0.7em;
  font-size: 3.4666666667vw;
  font-weight: 700;
  text-align: right;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) {
  .product-taxin-price {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-taxin-price {
    font-size: 1.8rem;
  }
}
.product-taxin-price span {
  display: inline-block;
  margin-right: 0.1em;
  font-family: "Lato", sans-serif;
}

.product-btn {
  margin: 5.3333333333vw auto 0 auto;
  width: 74.6666666667vw;
}
@media screen and (min-width: 751px) {
  .product-btn {
    margin-top: 2.4305555556vw;
    width: 23.6111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-btn {
    margin-top: 35px;
    width: 340px;
  }
}

/* ------------------------------------------- evaluation - */
.product-evaluation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 5.3333333333vw;
}

.product-evaluation dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
  height: 10vw;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 1px;
}

.product-evaluation dl:nth-child(even) {
  border-left: none;
}

.product-evaluation dl:nth-child(3),
.product-evaluation dl:nth-child(4) {
  border-top: none;
}

.product-evaluation dl dt {
  width: 17.3333333333vw;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
}

.product-evaluation dl dd {
  width: calc(100% - 17.3333333333vw);
}
.product-evaluation dl dd img {
  width: 20vw;
}

@media screen and (min-width: 751px) {
  .product-evaluation {
    margin-top: 1.3888888889vw;
  }
  .product-evaluation dl {
    height: 3.125vw;
    border-width: 0.0694444444vw;
  }
  .product-evaluation dl dt {
    width: 5.5555555556vw;
    font-size: 1.1111111111vw;
  }
  .product-evaluation dl dd {
    width: calc(100% - 5.5555555556vw);
  }
  .product-evaluation dl dd img {
    width: 8.3333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-evaluation {
    margin-top: 20px;
  }
  .product-evaluation dl {
    height: 45px;
    border-width: 1px;
  }
  .product-evaluation dl dt {
    width: 80px;
    font-size: 1.6rem;
  }
  .product-evaluation dl dd {
    width: calc(100% - 80px);
  }
  .product-evaluation dl dd img {
    width: 120px;
  }
}
/* ------------------------------------------- waterheater - */
.product-waterheater {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3333333333vw;
  margin-top: 5.3333333333vw;
}

.product-waterheater-cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -1.3333333333vw;
  width: 100%;
}

.product-waterheater-cat > li {
  margin-left: 1.3333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 10.6666666667vw;
  background-color: #ccc;
  border-radius: 0.6666666667vw;
  color: #565656;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.2em;
}
.product-waterheater-cat > li span {
  font-size: 2.4vw;
}
.product-waterheater-cat > li.is-active {
  background-color: #22366e;
  color: #ffffff;
}

.product-waterheater-cat--2 > li {
  width: calc(50% - 1.3333333333vw);
}

.product-waterheater-cat--3 > li {
  width: calc(33.33333% - 1.3333333333vw);
}

@media screen and (min-width: 751px) {
  .product-waterheater {
    gap: 0.5555555556vw;
    margin-top: 1.3888888889vw;
  }
  .product-waterheater-cat {
    margin-left: -0.5555555556vw;
  }
  .product-waterheater-cat > li {
    margin-left: 0.5555555556vw;
    height: 3.4722222222vw;
    border-radius: 0.3472222222vw;
    font-size: 1.0416666667vw;
  }
  .product-waterheater-cat > li span {
    font-size: 0.9027777778vw;
  }
  .product-waterheater-cat--2 > li {
    width: calc(50% - 0.5555555556vw);
  }
  .product-waterheater-cat--3 > li {
    width: calc(33.33333% - 0.5555555556vw);
  }
}
@media screen and (min-width: 1441px) {
  .product-waterheater {
    gap: 8px;
    margin-top: 20px;
  }
  .product-waterheater-cat {
    margin-left: -8px;
  }
  .product-waterheater-cat > li {
    margin-left: 8px;
    height: 50px;
    border-radius: 5px;
    font-size: 1.5rem;
  }
  .product-waterheater-cat > li span {
    font-size: 1.3rem;
  }
  .product-waterheater-cat--2 > li {
    width: calc(50% - 8px);
  }
  .product-waterheater-cat--3 > li {
    width: calc(33.33333% - 8px);
  }
}
/* ------------------------------------------- spec & construction - */
.product-spec,
.product-construction {
  position: relative;
  margin: 8vw auto 0 auto;
  padding: 11.3333333333vw 6vw 6vw 6vw;
  background-color: #ffffff;
  border-color: #edede5;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 2.1333333333vw;
  z-index: 1;
}
.product-spec dt,
.product-construction dt {
  position: absolute;
  top: -0.5333333333vw;
  left: 6vw;
  padding: 0.5em 1em;
  display: inline-block;
  background-color: #22366e;
  color: #ffffff;
  font-size: 3.4666666667vw;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.product-spec dd,
.product-construction dd {
  line-height: 1.5em;
}

@media screen and (min-width: 751px) {
  .product-spec,
  .product-construction {
    margin: 2.4305555556vw 0 0 0;
    padding: 4.1666666667vw 3.125vw 2.0833333333vw 3.125vw;
    border-width: 0.1388888889vw;
    border-radius: 1.1111111111vw;
  }
  .product-spec dt,
  .product-construction dt {
    top: -0.1388888889vw;
    left: 3.125vw;
    font-size: 1.25vw;
  }
  .product-spec dd,
  .product-construction dd {
    line-height: 1.75em;
  }
}
@media screen and (min-width: 1441px) {
  .product-spec,
  .product-construction {
    margin-top: 35px;
    padding: 60px 45px 30px 45px;
    border-width: 2px;
    border-radius: 16px;
  }
  .product-spec dt,
  .product-construction dt {
    top: -2px;
    left: 45px;
    font-size: 18px;
    font-size: 1.8rem;
  }
}
/* ------------------------------------------- standard - */
.product-standard {
  position: relative;
  margin-top: 10.6666666667vw;
  padding: 6.6666666667vw 4vw 5.3333333333vw 4vw;
  background-color: #edede5;
  border-radius: 1.3333333333vw;
  text-align: center;
}

.product-standard-heading {
  position: relative;
  display: inline-block;
  margin-bottom: 1.2em;
  padding-bottom: 0.5em;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.25em;
}
.product-standard-heading:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 0.6666666667vw;
  border-radius: 0.3333333333vw;
  background-color: #22366e;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.product-standard-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -2vw;
}

.product-standard-option > li {
  position: relative;
  margin-left: 2vw;
  padding: 2vw;
  width: calc(33.33333% - 2vw);
  background-color: #ffffff;
  border-radius: 1.3333333333vw;
}

.product-standard-option-icon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.5em auto;
  width: 12vw;
  height: 10.1333333333vw;
  background-size: contain;
  background-position: center;
}

.product-standard-option-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 2.32em;
  font-size: 2.9333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.16em;
  letter-spacing: 0;
}

@media screen and (max-width: 750px) {
  .product-standard-option > li:nth-child(n+4) {
    margin-top: 2vw;
  }
}
@media screen and (min-width: 751px) {
  .product-standard {
    margin-top: 4.1666666667vw;
    padding: 2.7777777778vw 2.4305555556vw 2.4305555556vw 2.4305555556vw;
    border-radius: 0.6944444444vw;
  }
  .product-standard-heading {
    font-size: 1.9444444444vw;
  }
  .product-standard-heading:after {
    height: 0.2083333333vw;
    border-radius: 0.1041666667vw;
  }
  .product-standard-option {
    margin-left: -1.0416666667vw;
  }
  .product-standard-option > li {
    margin-left: 1.0416666667vw;
    padding: 0.6944444444vw;
    width: calc(16.66666% - 1.0416666667vw);
    border-radius: 0.6944444444vw;
  }
  .product-standard-option > li:nth-child(n+7) {
    margin-top: 1.0416666667vw;
  }
  .product-standard-option-icon {
    width: 4.5833333333vw;
    height: 3.8888888889vw;
  }
  .product-standard-option-ttl {
    font-size: 0.9722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-standard {
    margin-top: 60px;
    padding: 40px 35px 35px 35px;
    border-radius: 10px;
  }
  .product-standard-heading {
    font-size: 2.8rem;
  }
  .product-standard-heading:after {
    height: 3px;
    border-radius: 1.5px;
  }
  .product-standard-option {
    margin-left: -15px;
  }
  .product-standard-option > li {
    margin-left: 15px;
    padding: 10px;
    width: calc(16.66666% - 15px);
    border-radius: 10px;
  }
  .product-standard-option > li:nth-child(n+7) {
    margin-top: 15px;
  }
  .product-standard-option-icon {
    width: 66px;
    height: 56px;
  }
  .product-standard-option-ttl {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
/* ------------------------------------------- point - */
.product-point {
  margin: 12vw auto 0 auto !important;
}

.product-point > div:nth-child(n+2) {
  margin-top: 8.6666666667vw;
}

.product-point-text {
  margin-bottom: 5.3333333333vw;
}

.product-point-image {
  margin-bottom: 4vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.product-point-image a {
  display: block;
}

.product-point-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 310/220;
}

.product-point-subttl {
  margin-bottom: 0.5em;
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1.28em;
}

@media screen and (max-width: 750px) {
  .product-point-list > li:nth-child(n+2) {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .product-point {
    margin: 4.1666666667vw 0 0 0 !important;
  }
  .product-point > div:nth-child(n+2) {
    margin-top: 3.4722222222vw;
  }
  .product-point-text {
    margin-bottom: 2.4305555556vw;
  }
  .product-point-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-left: -2.0833333333vw;
  }
  .product-point-list > li {
    margin-left: 2.0833333333vw;
    width: calc(33.33333% - 2.0833333333vw);
  }
  .product-point-list > li:nth-child(n+4) {
    margin-top: 3.4722222222vw;
  }
  .product-point-image {
    margin-bottom: 1.0416666667vw;
    border-radius: 0.2777777778vw;
  }
  .product-point-subttl {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-point {
    margin: 60px 0 0 0 !important;
  }
  .product-point > div:nth-child(n+2) {
    margin-top: 50px;
  }
  .product-point-text {
    margin-bottom: 35px;
  }
  .product-point-list {
    margin-left: -30px;
  }
  .product-point-list > li {
    margin-left: 30px;
    width: calc(33.33333% - 30px);
  }
  .product-point-list > li:nth-child(n+4) {
    margin-top: 50px;
  }
  .product-point-image {
    margin-bottom: 15px;
    border-radius: 4px;
  }
  .product-point-subttl {
    font-size: 1.8rem;
  }
}
/* ------------------------------------------- table - */
.product-table {
  position: relative;
}

.product-table > div {
  position: relative;
  padding-bottom: 4vw;
  overflow-x: scroll;
}

.product-table table {
  width: 100%;
  background-color: #ffffff;
  border: 0.5333333333vw solid #e6e6e6;
}

.product-table table th,
.product-table table td {
  padding: 0.5em 1em;
  border: 0.5333333333vw solid #e6e6e6;
  line-height: 1.25em;
  white-space: nowrap;
}

.product-table table thead {
  background-color: #edede5;
}

.product-table table thead th,
.product-table table thead td {
  font-weight: 700;
}

.product-table > div .scroll-hint-icon {
  position: absolute;
  top: 50%;
  left: 28.2666666667vw;
  padding: 0;
  width: 33.3333333333vw;
  height: 33.3333333333vw;
  border-radius: 1.3333333333vw;
  background: rgba(0, 0, 0, 0.7);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.product-table > div .scroll-hint-text {
  display: none;
}

.product-table > div .scroll-hint-icon:before {
  content: none;
}

.product-table > div .scroll-hint-icon:after {
  position: absolute;
  top: 50% !important;
  left: 50%;
  margin: 0;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background-image: url(../img/scrollhint/scroll.svg);
  background-size: contain;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

@media screen and (min-width: 751px) {
  .product-table > div {
    padding-bottom: 1.0416666667vw;
  }
  .product-table table {
    border: 0.1388888889vw solid #e6e6e6;
  }
  .product-table table th,
  .product-table table td {
    border: 0.1388888889vw solid #e6e6e6;
  }
  .product-table > div .scroll-hint-icon {
    left: 26.8055555556vw;
    width: 6.9444444444vw;
    height: 6.9444444444vw;
    border-radius: 0.6944444444vw;
  }
  .product-table > div .scroll-hint-icon:after {
    width: 3.4722222222vw;
    height: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .product-table > div {
    padding-bottom: 15px;
  }
  .product-table table {
    border: 2px solid #e6e6e6;
  }
  .product-table table th,
  .product-table table td {
    border: 2px solid #e6e6e6;
  }
  .product-table > div .scroll-hint-icon {
    left: 386px;
    width: 100px;
    height: 100px;
    border-radius: 10px;
  }
  .product-table > div .scroll-hint-icon:after {
    width: 50px;
    height: 50px;
  }
}
/* ------------------------------------------- plan slide - */
.plan {
  position: relative;
  padding: 13.3333333333vw 0 10.6666666667vw 0;
  background-color: #ffffff;
}
.plan .heading:after {
  content: "";
  position: absolute;
  top: -10.6666666667vw;
  left: 13.3333333333vw;
  display: inline-block;
  width: 11.2vw;
  height: 9.0666666667vw;
  background-image: url(../img/reform/wrench.svg);
  background-size: contain;
}
.plan .heading-en {
  top: -8.6666666667vw;
  right: 0;
}

.plan-slide {
  position: relative;
}

.plan-slide .swiper-wrapper .swiper-slide {
  position: relative;
  left: 2vw;
  margin-right: 4vw;
  width: 74.6666666667vw !important;
  background-color: #ffffff;
  height: auto;
}

.plan-slide .swiper-wrapper .swiper-slide:last-child {
  margin-right: 0 !important;
}

#plan-prev {
  left: 1.3333333333vw;
}

#plan-next {
  right: 1.3333333333vw;
}

@media screen and (min-width: 751px) {
  .plan {
    padding: 9.0277777778vw 0 5.5555555556vw 0;
  }
  .plan .heading:after {
    top: -3.4722222222vw;
    left: 27.7777777778vw;
    width: 4.0972222222vw;
    height: 3.0555555556vw;
  }
  .plan .heading-en {
    top: -3.4722222222vw;
    right: 25vw;
  }
  .plan-slide .swiper-wrapper .swiper-slide {
    left: 1.0416666667vw;
    margin-right: 2.0833333333vw;
    width: 27.7777777778vw !important;
  }
  #plan-slide .swiper-wrapper-mask .swiper-slide-prev:before,
  #plan-slide .swiper-wrapper-mask .swiper-slide-next:before {
    content: none !important;
  }
  #plan-prev {
    left: -2.7777777778vw;
  }
  #plan-next {
    right: -2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .plan {
    padding: 130px 0 80px 0;
  }
  .plan .heading:after {
    top: -50px;
    left: 400px;
    width: 59px;
    height: 44px;
  }
  .plan .heading-en {
    top: -50px;
    right: 360px;
  }
  .plan-slide .swiper-wrapper .swiper-slide {
    left: 15px;
    margin-right: 30px;
    width: 400px !important;
  }
  #plan-prev {
    left: -40px;
  }
  #plan-next {
    right: -40px;
  }
}
/* create --> common
-------------------------------------------------------------------------------*/
.create .sec {
  padding: 13.3333333333vw 0;
}
@media screen and (min-width: 751px) {
  .create .sec {
    padding: 5.5555555556vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .create .sec {
    padding: 80px 0;
  }
}

.create-btn {
  margin: 10.6666666667vw auto 0 auto;
  width: 70vw;
}

@media screen and (min-width: 751px) {
  .create-btn {
    margin: 3.4722222222vw auto 0 auto;
    width: 23.6111111111vw;
  }
  .create .heading-lead {
    width: 100%;
  }
}
@media screen and (min-width: 1441px) {
  .create-btn {
    margin: 50px auto 0 auto;
    width: 340px;
  }
}
/* create --> mv
-------------------------------------------------------------------------------*/
.create-mv {
  margin: 0 auto 10.6666666667vw auto;
  padding: 4vw 2vw 2vw 2vw;
  width: 92vw;
  border-color: #e3e3e3;
  border-style: solid;
  border-width: 0.8vw;
  border-radius: 4vw;
}

.create-mv-content {
  position: relative;
}

.create-mv-heading {
  position: relative;
}
.create-mv-heading:before, .create-mv-heading:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 21.3333333333vw;
  height: 8.2666666667vw;
  background-image: url(../img/common/deco.svg);
  background-size: contain;
  z-index: -1;
}
.create-mv-heading:before {
  top: -1.3333333333vw;
  left: -4vw;
}
.create-mv-heading:after {
  right: -4vw;
  bottom: 8.6666666667vw;
}

.create-mv-target {
  margin-bottom: 2vw;
  text-align: center;
}
.create-mv-target span {
  position: relative;
  display: inline-block;
  padding: 0 6.6666666667vw;
  color: #456a93;
  font-size: 3.7333333333vw;
  font-weight: 900;
  line-height: 2.7em;
}
.create-mv-target span:before, .create-mv-target span:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 3.7333333333vw;
  height: 7.3333333333vw;
  background-image: url(../img/create/slash.svg);
  background-size: contain;
}
.create-mv-target span:before {
  left: 0;
  -webkit-transform: translateY(-50%) rotateY(180deg);
          transform: translateY(-50%) rotateY(180deg);
}
.create-mv-target span:after {
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.create-mv-catch {
  margin-bottom: 2vw;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.7em;
}
.create-mv-catch span.frame {
  display: inline-block;
  margin-right: 0.2em;
  padding: 0.2em 0.5em;
  background-color: #e3eaf1;
  border-radius: 0.2666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.4em;
}

.create-mv-ttl {
  font-size: 5.6vw;
  font-weight: 900;
  text-align: center;
  line-height: 1.5em;
}
.create-mv-ttl span {
  color: #998604;
}

.create-mv-data {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2.6666666667vw;
  padding-top: 2.6666666667vw;
}
.create-mv-data:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 75.0666666667vw;
  height: 1.3333333333vw;
  background-image: url(../img/create/line_sp.png);
  background-size: contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.create-mv-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 2.9333333333vw;
  width: 25.3333333333vw;
  height: 10.6666666667vw;
  background-image: url(../img/create/frame.svg);
  background-size: contain;
}
.create-mv-label p {
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.36em;
}

.create-mv-price {
  position: relative;
  top: -0.2em;
  color: #f14a4a;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 900;
}
.create-mv-price span {
  display: inline-block;
  margin-right: 0.1em;
  font-size: 12vw;
  line-height: 1em;
}
.create-mv-price:after {
  content: "(税別)";
  position: absolute;
  right: 0.8em;
  bottom: 1.7em;
  font-size: 2.9333333333vw;
}

.create-mv-discount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.5em;
  width: 16.8vw;
  height: 16.8vw;
  background-color: #998604;
  border-radius: 50%;
}
.create-mv-discount p {
  color: #ffffff;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 900;
  text-align: center;
  line-height: 1.2em;
}
.create-mv-discount p span {
  font-size: 7.4666666667vw;
}

.create-mv-image {
  width: 80vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}
.create-mv-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 600/340;
}

.create-mv-contact {
  margin-top: 2.6666666667vw;
  padding: 4.6666666667vw 3.2vw 2.6666666667vw 3.2vw;
  background-color: #f0f0f0;
  border-radius: 2.1333333333vw;
}

.create-mv-contact-label {
  margin-bottom: 3.3333333333vw;
  font-size: 3.4666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

.create-mv-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4vw;
}

.create-mv-btn {
  width: 39.4666666667vw;
}

.create-mv-btn a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: 5.3333333333vw;
  height: 10.6666666667vw;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 5.3333333333vw;
  -webkit-box-shadow: 0px 1px 4.2px 2.8px rgba(66, 48, 48, 0.17);
          box-shadow: 0px 1px 4.2px 2.8px rgba(66, 48, 48, 0.17);
}
.create-mv-btn a p {
  position: relative;
  padding-left: 8.2666666667vw;
  font-size: 2.6666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.3em;
}
.create-mv-btn a p span {
  display: inline-block;
}
.create-mv-btn a p:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 5.6vw;
  height: 5.6vw;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.create-mv-btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 4vw;
  height: 2.4vw;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.create-mv-btn--contact a {
  background-color: #ff4e00;
  border-color: #ff4e00;
}
.create-mv-btn--contact a p {
  color: #ffffff;
}
.create-mv-btn--contact a p:before {
  background-image: url(../img/common/mail-circle-og.svg);
}
.create-mv-btn--contact a:after {
  background-image: url(../img/common/arrow-wh.svg);
}

.create-mv-btn--reserve a {
  background-color: #ffea00;
  border-color: #ffea00;
}
.create-mv-btn--reserve a p {
  color: #2a2f58;
}
.create-mv-btn--reserve a p:before {
  background-image: url(../img/common/calendar-circle-ye.svg);
}
.create-mv-btn--reserve a:after {
  background-image: url(../img/common/arrow-bl.svg);
}

::-webkit-full-page-media,
:future,
:root .create-mv-btn a:after {
  -webkit-transition: none;
  transition: none;
}

@media screen and (max-width: 750px) {
  .create-mv-content {
    margin: 0 auto;
    width: 80vw;
  }
  .create-mv-image {
    margin: 4.6666666667vw auto 0 auto;
  }
  .create-mv-btn span.spbig {
    font-size: 3.4666666667vw;
  }
}
@media screen and (min-width: 751px) {
  .create-mv {
    margin-bottom: 5.5555555556vw;
    padding: 2.4305555556vw 2.7777777778vw;
    width: 83.3333333333vw;
    border-width: 0.2777777778vw;
    border-radius: 2.0833333333vw;
  }
  .create-mv-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .create-mv-content {
    padding: 0 1.3888888889vw;
    width: 41.6666666667vw;
  }
  .create-mv-heading:before, .create-mv-heading:after {
    width: 7.9166666667vw;
    height: 3.0555555556vw;
  }
  .create-mv-heading:before {
    top: 0;
    left: -2.7777777778vw;
  }
  .create-mv-heading:after {
    right: -2.7777777778vw;
    bottom: 0;
  }
  .create-mv-target {
    margin-bottom: 1.0416666667vw;
  }
  .create-mv-target span {
    padding: 0 2.7777777778vw;
    font-size: 1.3888888889vw;
    line-height: 2.7em;
  }
  .create-mv-target span:before, .create-mv-target span:after {
    width: 1.3888888889vw;
    height: 2.7083333333vw;
  }
  .create-mv-catch {
    margin-bottom: 1.0416666667vw;
    font-size: 1.3888888889vw;
  }
  .create-mv-catch span.frame {
    border-radius: 0.1388888889vw;
    font-size: 1.3888888889vw;
  }
  .create-mv-ttl {
    font-size: 2.5vw;
  }
  .create-mv-data {
    margin-top: 2.0833333333vw;
    padding-top: 1.5277777778vw;
  }
  .create-mv-data:before {
    width: 38.8194444444vw;
    height: 0.3472222222vw;
    background-image: url(../img/create/line.png);
  }
  .create-mv-label {
    padding-right: 1.3888888889vw;
    width: 12.5vw;
    height: 5.2777777778vw;
    background-image: url(../img/create/frame.svg);
  }
  .create-mv-label p {
    font-size: 1.5277777778vw;
  }
  .create-mv-price {
    font-size: 1.8055555556vw;
  }
  .create-mv-price span {
    font-size: 6.25vw;
  }
  .create-mv-price:after {
    right: 0.8em;
    bottom: 1.7em;
    font-size: 1.5277777778vw;
  }
  .create-mv-discount {
    width: 6.25vw;
    height: 6.25vw;
  }
  .create-mv-discount p {
    font-size: 1.25vw;
  }
  .create-mv-discount p span {
    font-size: 2.7777777778vw;
  }
  .create-mv-image {
    width: 33.4722222222vw;
    border-radius: 0.6944444444vw;
  }
  .create-mv-image img {
    aspect-ratio: 482/340;
  }
  .create-mv-contact {
    margin-top: 1.7361111111vw;
    padding: 1.7361111111vw 12.8472222222vw;
    border-radius: 1.1111111111vw;
  }
  .create-mv-contact-label {
    margin-bottom: 1.3888888889vw;
    font-size: 1.25vw;
  }
  .create-mv-btns {
    gap: 2.0833333333vw;
  }
  .create-mv-btn {
    width: 25vw;
  }
  .create-mv-btn a {
    padding-right: 1.0416666667vw;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 2.0833333333vw;
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  .create-mv-btn a p {
    padding-left: 2.7777777778vw;
    font-size: 0.9722222222vw;
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
  }
  .create-mv-btn a p span.big {
    font-size: 1.25vw;
  }
  .create-mv-btn a p:before {
    width: 2.0833333333vw;
    height: 2.0833333333vw;
  }
  .create-mv-btn a:after {
    right: 1.0416666667vw;
    width: 1.4583333333vw;
    height: 0.8333333333vw;
    -webkit-transition: background-image 0.2s;
    transition: background-image 0.2s;
  }
  .create-mv-btn--contact a:hover {
    background-color: #ffffff;
  }
  .create-mv-btn--contact a:hover p {
    color: #ff4e00;
  }
  .create-mv-btn--contact a:hover:after {
    background-image: url(../img/common/arrow-og.svg);
  }
  .create-mv-btn--reserve a:hover {
    background-color: #ffffff;
  }
}
@media screen and (min-width: 1441px) {
  .create-mv {
    margin-bottom: 80px;
    padding: 35px 40px;
    width: 1200px;
    border-width: 4px;
    border-radius: 30px;
  }
  .create-mv-content {
    padding: 0 20px;
    width: 600px;
  }
  .create-mv-heading:before, .create-mv-heading:after {
    width: 114px;
    height: 44px;
  }
  .create-mv-heading:before {
    left: -40px;
  }
  .create-mv-heading:after {
    right: -40px;
  }
  .create-mv-target {
    margin-bottom: 15px;
  }
  .create-mv-target span {
    padding: 0 40px;
    font-size: 2rem;
    line-height: 2.7em;
  }
  .create-mv-target span:before, .create-mv-target span:after {
    width: 20px;
    height: 39px;
  }
  .create-mv-catch {
    margin-bottom: 15px;
    font-size: 2rem;
  }
  .create-mv-catch span.frame {
    border-radius: 2px;
    font-size: 2rem;
  }
  .create-mv-ttl {
    font-size: 3.6rem;
  }
  .create-mv-data {
    margin-top: 30px;
    padding-top: 22px;
  }
  .create-mv-data:before {
    width: 559px;
    height: 5px;
  }
  .create-mv-label {
    padding-right: 20px;
    width: 180px;
    height: 76px;
  }
  .create-mv-label p {
    font-size: 2.2rem;
  }
  .create-mv-price {
    font-size: 2.6rem;
  }
  .create-mv-price span {
    font-size: 9rem;
  }
  .create-mv-price:after {
    font-size: 2.2rem;
  }
  .create-mv-discount {
    width: 90px;
    height: 90px;
  }
  .create-mv-discount p {
    font-size: 1.8rem;
  }
  .create-mv-discount p span {
    font-size: 4rem;
  }
  .create-mv-image {
    width: 482px;
    border-radius: 10px;
  }
  .create-mv-contact {
    margin-top: 25px;
    padding: 25px 185px;
    border-radius: 16px;
  }
  .create-mv-contact-label {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .create-mv-btns {
    gap: 30px;
  }
  .create-mv-btn {
    width: 360px;
  }
  .create-mv-btn a {
    padding-right: 15px;
    height: 60px;
    border-width: 2px;
    border-radius: 30px;
  }
  .create-mv-btn a p {
    padding-left: 40px;
    font-size: 1.4rem;
  }
  .create-mv-btn a p span.big {
    font-size: 1.8rem;
  }
  .create-mv-btn a p:before {
    width: 30px;
    height: 30px;
  }
  .create-mv-btn a:after {
    right: 15px;
    width: 21px;
    height: 12px;
  }
}
/* create --> mokuji
-------------------------------------------------------------------------------*/
.create-mokuji {
  margin: 0 auto 10.6666666667vw auto;
  width: 92vw;
}

.create-mokuji dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 12vw;
  background-color: #456a93;
  border-radius: 1.3333333333vw 1.3333333333vw 0 0;
  color: #ffffff;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.5333333333vw;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.create-mokuji dd {
  padding: 5.3333333333vw 4vw;
  background-color: #e3eaf1;
  border-radius: 0 0 1.3333333333vw 1.3333333333vw;
}

.create-mokuji-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -2vw;
}

.create-mokuji-menu a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 2vw;
  padding: 0 6.6666666667vw 0 1em;
  width: calc(50% - 2vw);
  height: 10.6666666667vw;
  background-color: #ffffff;
  border-color: #a6bacf;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.3333333333vw;
  color: #22366e;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1.25em;
}
.create-mokuji-menu a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 1.6vw;
  height: 2.4vw;
  background-image: url(../img/common/arrow-normal-bl.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
  .create-mokuji-menu a:nth-child(n+3) {
    margin-top: 2vw;
  }
}
@media screen and (min-width: 751px) {
  .create-mokuji {
    margin-bottom: 5.5555555556vw;
    width: 83.3333333333vw;
  }
  .create-mokuji dt {
    height: 4.8611111111vw;
    border-radius: 0.6944444444vw 0.6944444444vw 0 0;
    font-size: 2.0833333333vw;
  }
  .create-mokuji dd {
    padding: 2.0833333333vw 3.4722222222vw;
    border-radius: 0 0 0.6944444444vw 0.6944444444vw;
  }
  .create-mokuji-menu {
    margin-left: -1.0416666667vw;
  }
  .create-mokuji-menu a {
    margin-left: 1.0416666667vw;
    padding: 0 4.1666666667vw 0 1em;
    width: calc(33.33333% - 1.0416666667vw);
    height: 3.4722222222vw;
    border-width: 0.0694444444vw;
    border-radius: 0.6944444444vw;
    font-size: 1.1111111111vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
  .create-mokuji-menu a:after {
    right: 1.0416666667vw;
    width: 0.5555555556vw;
    height: 0.8333333333vw;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .create-mokuji-menu a:hover {
    background-color: #456a93;
    color: #ffffff;
  }
  .create-mokuji-menu a:hover:after {
    background-image: url(../img/common/arrow-normal-wh.svg);
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
  .create-mokuji-menu a:nth-child(n+4) {
    margin-top: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .create-mokuji {
    margin-bottom: 80px;
    width: 1200px;
  }
  .create-mokuji dt {
    height: 70px;
    border-radius: 10px 10px 0 0;
    font-size: 3rem;
  }
  .create-mokuji dd {
    padding: 30px 50px;
    border-radius: 0 0 10px 10px;
  }
  .create-mokuji-menu {
    margin-left: -15px;
  }
  .create-mokuji-menu a {
    margin-left: 15px;
    padding: 0 60px 0 1em;
    width: calc(33.33333% - 15px);
    height: 50px;
    border-width: 1px;
    border-radius: 10px;
    font-size: 1.6rem;
  }
  .create-mokuji-menu a:after {
    right: 15px;
    width: 8px;
    height: 12px;
  }
  .create-mokuji-menu a:nth-child(n+4) {
    margin-top: 15px;
  }
}
/* create --> create
-------------------------------------------------------------------------------*/
.create-plan section:nth-of-type(n + 2) {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 751px) {
  .create-plan section:nth-of-type(n + 2) {
    margin-top: 5.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .create-plan section:nth-of-type(n + 2) {
    margin-top: 80px;
  }
}

/* create --> option
-------------------------------------------------------------------------------*/
.create-option {
  background-color: #e3eaf1;
}

.option-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6.6666666667vw;
}

.p-option {
  position: relative;
  padding: 4vw 4vw 6.6666666667vw 4vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #a6bacf;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 1.3333333333vw;
}

.p-option-ttl {
  position: relative;
  margin-bottom: 0.5em;
  color: #22366e;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1.5em;
}

.p-option-price {
  position: relative;
  margin-bottom: 0.7em;
  display: inline-block;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.1em;
}
.p-option-price span {
  display: inline-block;
  margin-right: 0.1em;
  font-family: "Lato", sans-serif;
  font-size: 11.2vw;
  font-weight: 900;
  line-height: 1em;
  letter-spacing: 0;
}
.p-option-price:after {
  content: "（税込）";
  position: absolute;
  right: 0.8em;
  bottom: 1.8em;
  font-size: 2.9333333333vw;
}

.p-option-image {
  margin-bottom: 5.3333333333vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}
.p-option-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 340/220;
}

@media screen and (min-width: 751px) {
  .option-post {
    gap: 2.0833333333vw;
  }
  .p-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 auto;
    padding: 1.3888888889vw;
    width: 69.4444444444vw;
    border-width: 0.0694444444vw;
    border-radius: 0.6944444444vw;
  }
  .p-option-image {
    margin: 0;
    width: 23.6111111111vw;
    border-radius: 0.6944444444vw;
  }
  .p-option-image img {
    aspect-ratio: 340/280;
  }
  .p-option-content {
    padding: 1.3888888889vw 1.0416666667vw 0 0;
    width: 39.5833333333vw;
  }
  .p-option-ttl {
    font-size: 1.6666666667vw;
  }
  .p-option-price {
    font-size: 1.3888888889vw;
  }
  .p-option-price span {
    font-size: 3.8888888889vw;
  }
  .p-option-price:after {
    right: 0.8em;
    bottom: 1.8em;
    font-size: 0.9722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .option-post {
    gap: 30px;
  }
  .p-option {
    padding: 20px;
    width: 1000px;
    border-width: 1px;
    border-radius: 10px;
  }
  .p-option-image {
    width: 340px;
    border-radius: 10px;
  }
  .p-option-content {
    padding: 20px 15px 0 0;
    width: 570px;
  }
  .p-option-ttl {
    font-size: 2.4rem;
  }
  .p-option-price {
    font-size: 2rem;
  }
  .p-option-price span {
    font-size: 5.6rem;
  }
  .p-option-price:after {
    font-size: 1.4rem;
  }
}
/*  #which
-------------------------------------------------------------------------------*/
.create-which {
  background-color: #ffffff;
}
.create-which .promise {
  margin-top: 8vw;
  background-color: #edede5;
}

.which-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10.6666666667vw;
}

.p-which {
  width: 100%;
}

.p-which-image {
  margin-bottom: 4vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-which-image picture {
  position: relative;
  display: block;
  width: 66.6666666667vw;
  margin: 0 auto;
}
.p-which-image picture.before:before,
.p-which-image picture.after:before {
  content: "";
  display: inline-block;
  background: #111;
  position: absolute;
  left: 0;
  top: 0;
  padding: 0.2em 0.5em;
  font-size: 3.2vw;
  color: #ffffff;
  border-radius: 1.3333333333vw 0 0 0;
}
.p-which-image picture img {
  border-radius: 1.3333333333vw;
}
.p-which-image picture.before {
  width: 34.4vw;
}
.p-which-image picture.before:before {
  content: "Before";
}
.p-which-image picture.before:after {
  content: "";
  display: block;
  background: url("../img/renov/img_before_after.png") no-repeat;
  background-size: cover;
  width: 12.2666666667vw;
  height: 9.7333333333vw;
  position: absolute;
  right: 0;
  bottom: 0;
}
.p-which-image picture.after {
  width: 54vw;
}
.p-which-image picture.after:before {
  content: "After";
  background: #ff4e00;
}

.p-which-ttl {
  color: #22366e;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.8vw;
  text-align: center;
  font-weight: 700;
  line-height: 1.5em;
}

.p-which-text {
  margin-top: 1em;
}

.p-which-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5.3333333333vw;
  margin-top: 2em;
}
.p-which-data dl {
  width: 100%;
}
.p-which-data dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2vw;
  padding: 0 1.5em;
  height: 8vw;
  border-radius: 4vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-weight: 700;
  line-height: 1.1em;
}
.p-which-data dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5em;
  margin: 0 2em;
}
.p-which-data dd ul li {
  position: relative;
  padding-left: 1em;
  width: 100%;
  line-height: 1.5em;
}
.p-which-data dd ul li:before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  background-color: #7d8098;
  border-radius: 50%;
}

.p-which-data--merit dt {
  background-color: #a6bacf;
}

.p-which-data--demerit dt {
  background-color: #e6e6e6;
}

@media screen and (min-width: 751px) {
  .create-which .promise {
    margin-top: 3.4722222222vw;
  }
  .which-post {
    gap: 4.1666666667vw;
    margin: 0 auto;
    width: 59.7222222222vw;
  }
  .p-which {
    width: 27.7777777778vw;
  }
  .p-which-image {
    margin-bottom: 1.0416666667vw;
    border-radius: 0.6944444444vw;
  }
  .p-which-image picture {
    width: 20.8333333333vw;
  }
  .p-which-image picture.before:before,
  .p-which-image picture.after:before {
    font-size: 0.8333333333vw;
    border-radius: 0.6944444444vw 0 0 0;
  }
  .p-which-image picture img {
    border-radius: 0.6944444444vw;
  }
  .p-which-image picture.before {
    width: 10.4166666667vw;
  }
  .p-which-image picture.before:after {
    width: 3.8194444444vw;
    height: 3.0555555556vw;
  }
  .p-which-image picture.after {
    width: 16.3194444444vw;
  }
  .p-which-ttl {
    font-size: 1.6666666667vw;
  }
  .p-which-data {
    gap: 1.3888888889vw;
  }
  .p-which-data dt {
    margin-bottom: 1.0416666667vw;
    height: 2.0833333333vw;
    border-radius: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .create-which .promise {
    margin-top: 50px;
  }
  .which-post {
    gap: 60px;
    width: 860px;
  }
  .p-which {
    width: 400px;
  }
  .p-which-image {
    margin-bottom: 15px;
    border-radius: 10px;
  }
  .p-which-image picture {
    width: 300px;
  }
  .p-which-image picture.before:before,
  .p-which-image picture.after:before {
    font-size: 12px;
    border-radius: 10px 0 0 0;
  }
  .p-which-image picture img {
    border-radius: 10px;
  }
  .p-which-image picture.before {
    width: 150px;
  }
  .p-which-image picture.before:after {
    width: 55px;
    height: 44px;
  }
  .p-which-image picture.after {
    width: 235px;
  }
  .p-which-ttl {
    font-size: 2.4rem;
  }
  .p-which-data {
    gap: 20px;
  }
  .p-which-data dt {
    margin-bottom: 15px;
    height: 30px;
    border-radius: 15px;
  }
}
/*  #type
-------------------------------------------------------------------------------*/
.create-type {
  background-color: #edede5;
}

.type-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10.6666666667vw;
}

.p-type {
  width: 100%;
}

.p-type-image {
  margin-bottom: 4vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}

.p-type-ttl {
  position: relative;
  padding-bottom: 4vw;
  color: #22366e;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.8vw;
  text-align: center;
  font-weight: 700;
  line-height: 1.5em;
}
.p-type-ttl:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  display: inline-block;
  width: 8vw;
  height: 1.6vw;
  background-image: url(../img/common/wave.svg);
  background-size: contain;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.p-type-text {
  margin-top: 1em;
}

@media screen and (min-width: 751px) {
  .type-post {
    gap: 3.4722222222vw;
    margin: 0 auto;
    width: 73.6111111111vw;
  }
  .p-type {
    width: 22.2222222222vw;
  }
  .p-type-image {
    margin-bottom: 1.3888888889vw;
    border-radius: 0.6944444444vw;
  }
  .p-type-ttl {
    font-size: 1.5277777778vw;
    padding-bottom: 1.3888888889vw;
  }
  .p-type-ttl:after {
    width: 2.9166666667vw;
    height: 0.4861111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .type-post {
    gap: 50px;
    width: 1060px;
  }
  .p-type {
    width: 320px;
  }
  .p-type-image {
    margin-bottom: 20px;
    border-radius: 10px;
  }
  .p-type-ttl {
    font-size: 2.2rem;
    padding-bottom: 20px;
  }
  .p-type-ttl:after {
    width: 42px;
    height: 7px;
  }
}
/* create --> works
-------------------------------------------------------------------------------*/
.create .works .heading-en {
  top: -7.3333333333vw;
  left: 0;
}

@media screen and (max-width: 750px) {
  .create .works .heading-ja span.small:after {
    top: -10.6666666667vw;
    right: -6.6666666667vw;
  }
}
@media screen and (min-width: 751px) {
  .create .works .heading-en {
    top: -2.7777777778vw;
    left: 25vw;
  }
}
@media screen and (min-width: 1441px) {
  .create .works .heading-en {
    top: -40px;
    left: 360px;
  }
}
/*  #reform
-------------------------------------------------------------------------------*/
.create-reform {
  position: relative;
  padding: 13.3333333333vw 0 10.6666666667vw 0;
}
.create-reform .heading:after {
  content: "";
  position: absolute;
  top: -7.3333333333vw;
  left: 5.3333333333vw;
  display: inline-block;
  width: 11.2vw;
  height: 9.0666666667vw;
  background-image: url(../img/reform/wrench.svg);
  background-size: contain;
}
.create-reform .heading-en {
  top: -8.6666666667vw;
  right: 0;
}

@media screen and (min-width: 751px) {
  .create-reform {
    padding: 9.0277777778vw 0 5.5555555556vw 0;
  }
  .create-reform .heading:after {
    top: -3.125vw;
    left: 21.1111111111vw;
    width: 4.0972222222vw;
    height: 3.0555555556vw;
  }
  .create-reform .heading-en {
    top: -3.125vw;
    right: 21.5277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .create-reform {
    padding: 130px 0 80px 0;
  }
  .create-reform .heading:after {
    top: -45px;
    left: 304px;
    width: 59px;
    height: 44px;
  }
  .create-reform .heading-en {
    top: -45px;
    right: 310px;
  }
}
/* create --> area
-------------------------------------------------------------------------------*/
@media screen and (min-width: 751px) {
  .create-area {
    margin-bottom: 5.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .create-area {
    margin-bottom: 80px;
  }
}

/* create --> showroom-menu
-------------------------------------------------------------------------------*/
@media screen and (max-width: 750px) {
  .create .showroom-menu {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 6.6666666667vw;
  }
  .create .showroom-menu > li {
    width: 100%;
  }
  .create .showroom-menu-name {
    font-size: 4.8vw;
  }
  .create .showroom-menu-equipment ul {
    padding: 0 1.0666666667vw;
  }
  .create .showroom-menu-btn {
    width: 53.3333333333vw;
  }
}
/* create --> reason
-------------------------------------------------------------------------------*/
.create-reason-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6.6666666667vw 2.6666666667vw;
}

.p-create-reason {
  width: 44.6666666667vw;
}

.p-create-reason-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.6666666667vw;
  padding: 0 1em 0 1.5em;
  height: 8vw;
  background-color: #e3eaf1;
  border-radius: 0.3em;
  color: #22366e;
  font-size: 3.4666666667vw;
  font-weight: 700;
}
.p-create-reason-num span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 0.5em;
  width: 4.8vw;
  height: 4.8vw;
  background-color: #22366e;
  border-radius: 50%;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 3.2vw;
}

.p-create-reason-image {
  margin-bottom: 2.6666666667vw;
  border-radius: 0.6666666667vw;
  overflow: hidden;
}
.p-create-reason-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 250/200;
}

.p-create-reason-ttl {
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

@media screen and (min-width: 751px) {
  .create-reason-post {
    gap: 3.4722222222vw 2.0833333333vw;
    margin: 0 auto;
    width: 70.8333333333vw;
  }
  .p-create-reason {
    width: 22.2222222222vw;
  }
  .p-create-reason-num {
    margin-bottom: 1.0416666667vw;
    height: 2.7777777778vw;
    font-size: 1.1111111111vw;
  }
  .p-create-reason-num span {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    font-size: 0.9722222222vw;
  }
  .p-create-reason-image {
    margin-bottom: 1.0416666667vw;
    border-radius: 0.3472222222vw;
  }
  .p-create-reason-image img {
    aspect-ratio: 250/200;
  }
  .p-create-reason-ttl {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .create-reason-post {
    gap: 50px 30px;
    width: 1020px;
  }
  .p-create-reason {
    width: 320px;
  }
  .p-create-reason-num {
    margin-bottom: 15px;
    height: 40px;
    font-size: 1.6rem;
  }
  .p-create-reason-num span {
    width: 24px;
    height: 24px;
    font-size: 1.4rem;
  }
  .p-create-reason-image {
    margin-bottom: 15px;
    border-radius: 5px;
  }
  .p-create-reason-ttl {
    font-size: 1.8rem;
  }
}
/* create --> faq-post
-------------------------------------------------------------------------------*/
.create-faq {
  background-color: #edede5;
}

.faq-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.6666666667vw;
}

.p-faq {
  position: relative;
  padding: 0 4vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #e6e6e6;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 4.6666666667vw;
}

.p-faq dt {
  position: relative;
  padding: 3.2vw 10.1333333333vw 3.2vw 10.6666666667vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
  cursor: pointer;
}
.p-faq dt:before {
  content: "Q";
  position: absolute;
  top: 0.5em;
  left: 2.6666666667vw;
  color: #998604;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 5.3333333333vw;
  font-weight: 900;
}
.p-faq dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 4.8vw;
  height: 4.8vw;
  background-image: url(../img/faq/plus.svg);
  background-size: contain;
  background-position: center;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-faq dt.is-open:after {
  background-image: url(../img/faq/minus.svg);
}

.p-faq dd {
  display: none;
  position: relative;
  padding: 0 10.6666666667vw 3.2vw 10.6666666667vw;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.6em;
}

.p-faq.is-open .p-faq dd {
  display: block;
}

@media screen and (min-width: 751px) {
  .faq-post {
    gap: 1.3888888889vw;
    margin: 0 auto;
    width: 63.1944444444vw;
  }
  .p-faq {
    padding: 0 2.0833333333vw;
    border-width: 0.1388888889vw;
    border-radius: 2.4305555556vw;
  }
  .p-faq dt {
    padding: 1.3888888889vw 5.5555555556vw 1.3888888889vw 5.9027777778vw;
    font-size: 1.3888888889vw;
  }
  .p-faq dt:before {
    top: 0.6em;
    left: 1.7361111111vw;
    font-size: 2.0833333333vw;
  }
  .p-faq dt:after {
    right: 0;
    width: 2.4305555556vw;
    height: 2.4305555556vw;
  }
  .p-faq dd {
    padding: 0 5.9027777778vw 1.3888888889vw 5.9027777778vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .faq-post {
    gap: 20px;
    width: 910px;
  }
  .p-faq {
    padding: 0 30px;
    border-width: 2px;
    border-radius: 35px;
  }
  .p-faq dt {
    padding: 20px 80px 20px 85px;
    font-size: 2rem;
  }
  .p-faq dt:before {
    left: 25px;
    font-size: 3rem;
  }
  .p-faq dt:after {
    width: 35px;
    height: 35px;
  }
  .p-faq dd {
    padding: 0 85px 20px 85px;
    font-size: 1.6rem;
  }
}
/* create --> subsidy
-------------------------------------------------------------------------------*/
.subsidy-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6.6666666667vw;
}

.p-subsidy {
  position: relative;
  padding: 4vw 4vw 6.6666666667vw 4vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #a6bacf;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 1.3333333333vw;
}

.p-subsidy-ttl {
  position: relative;
  margin-bottom: 1em;
  padding-left: 6.9333333333vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1.5em;
}
.p-subsidy-ttl:before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  display: inline-block;
  width: 4vw;
  height: 4vw;
  background-image: url(../img/post/icon.svg);
  background-size: contain;
}

.p-subsidy-image {
  margin-bottom: 5.3333333333vw;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}
.p-subsidy-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 340/220;
}

.p-subsidy-btn {
  margin-top: 4vw;
  text-align: right;
}

@media screen and (min-width: 751px) {
  .subsidy-post {
    gap: 2.0833333333vw;
  }
  .p-subsidy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 auto;
    padding: 1.3888888889vw;
    width: 69.4444444444vw;
    border-width: 0.0694444444vw;
    border-radius: 0.6944444444vw;
  }
  .p-subsidy-image {
    margin: 0;
    width: 23.6111111111vw;
    border-radius: 0.6944444444vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-subsidy-image img {
    aspect-ratio: 340/260;
  }
  .p-subsidy-content {
    padding: 1.3888888889vw 0 0 1.0416666667vw;
    width: 39.5833333333vw;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-subsidy-ttl {
    padding-left: 2.2222222222vw;
    font-size: 1.6666666667vw;
  }
  .p-subsidy-ttl:before {
    width: 1.3888888889vw;
    width: 1.3888888889vw;
  }
  .p-subsidy-btn {
    margin-top: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .subsidy-post {
    gap: 30px;
  }
  .p-subsidy {
    padding: 20px;
    width: 1000px;
    border-width: 1px;
    border-radius: 10px;
  }
  .p-subsidy-image {
    width: 340px;
    border-radius: 10px;
  }
  .p-subsidy-content {
    padding: 20px 0 0 15px;
    width: 570px;
  }
  .p-subsidy-ttl {
    padding-left: 32px;
    font-size: 2.4rem;
  }
  .p-subsidy-ttl:before {
    width: 20px;
    height: 20px;
  }
  .p-subsidy-btn {
    margin-top: 20px;
  }
}