@charset "UTF-8";
/* sub --> common
-------------------------------------------------------------------------------*/
.sub {
  position: relative;
  padding: 8vw 0 13.3333333333vw;
}

.sub--section > section:nth-child(n+2) {
  margin-top: 13.3333333333vw;
}

.none {
  margin: 5em 0;
  text-align: center;
}
.none p {
  line-height: 1.7em;
}

.complete p,
.notfound p {
  line-height: 1.7em;
}

.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;
}

@media screen and (min-width: 751px) {
  .sub {
    padding: 4.1666666667vw 0 5.5555555556vw 0;
  }
  .sub--item-cat {
    padding-top: 0 !important;
  }
  .sub .inner {
    width: 76.3888888889vw;
  }
  .sub--section > section:nth-child(n+2) {
    margin-top: 6.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub {
    padding: 60px 0 80px 0;
  }
  .sub .inner {
    width: 1100px;
  }
  .sub--section > section:nth-child(n+2) {
    margin-top: 100px;
  }
}
/*  #recommend
-------------------------------------------------------------------------------*/
.recommend {
  position: relative;
  padding: 11.3333333333vw 0 9.3333333333vw 0;
  background-color: #f3f3f3;
}

.recommend-heading {
  position: relative;
  display: inline-block;
  margin-bottom: 0.7em;
  font-family: "Ephesis", cursive;
  font-size: 6.4vw;
  font-weight: 400;
  line-height: 1.46em;
  letter-spacing: 0;
  -webkit-transform: rotate(-3.34deg);
          transform: rotate(-3.34deg);
}
.recommend-heading:before {
  content: "";
  position: absolute;
  right: -4vw;
  bottom: -0.5em;
  display: inline-block;
  width: 34.6666666667vw;
  height: 4.9333333333vw;
  background-image: url(../img/recommend/deco.svg);
  background-size: contain;
  -webkit-transform: rotate(3.34deg);
          transform: rotate(3.34deg);
}

.recommend-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2vw;
}

.recommend-menu > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}

.recommend-menu > ul > li 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: 20vw;
  background-color: #ff6f19;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 1.0666666667vw;
  -webkit-box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
          box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
  overflow: hidden;
}
.recommend-menu > ul > li a span {
  position: relative;
  color: #ffffff;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.2em;
}
.recommend-menu > ul > li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.3333333333vw;
  display: inline-block;
  width: 4.8vw;
  height: 4.8vw;
  background-image: url(../img/common/circle-arrow-wh.svg);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.recommend-menu-tiny {
  gap: 2vw;
}

.recommend-menu-tiny > li {
  width: 29.3333333333vw;
}

.recommend-menu-tiny > li a {
  padding-right: 1.3333333333vw;
}
.recommend-menu-tiny > li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25.2vw;
  height: 30vw;
  background-color: #ff6001;
  -webkit-transform: translate(-50%, -50%) rotate(30deg);
          transform: translate(-50%, -50%) rotate(30deg);
}
.recommend-menu-tiny > li a span {
  position: relative;
  z-index: 1;
}
.recommend-menu-tiny > li a span:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.recommend-menu-tiny--works a span {
  padding-left: 11.6vw;
}
.recommend-menu-tiny--works a span:before {
  width: 8.5333333333vw;
  height: 9.3333333333vw;
  background-image: url(../img/recommend/tools.svg);
}

.recommend-menu-tiny--blog a span {
  padding-left: 10vw;
}
.recommend-menu-tiny--blog a span:before {
  width: 6.9333333333vw;
  height: 6.9333333333vw;
  background-image: url(../img/recommend/pencil.svg);
}

.recommend-menu-tiny--first a span {
  padding-left: 6.8vw;
}
.recommend-menu-tiny--first a span:before {
  width: 4.9333333333vw;
  height: 6.9333333333vw;
  background-image: url(../img/recommend/beginner.svg);
}

.recommend-menu-large {
  gap: 2vw;
}

.recommend-menu-large > li {
  width: 100%;
}

.recommend-menu-large > li a {
  padding-left: 22vw;
}
.recommend-menu-large > li a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 36.5333333333vw;
  height: 20vw;
  background-size: contain;
  background-position: left top;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.recommend-menu-large--simulation a:before {
  background-image: url(../img/recommend/simulation_sp.png);
}

.recommend-menu > ul > li.recommend-menu-large--estimate a {
  background-color: #06c755;
}

.recommend-menu-large--estimate a:before {
  background-image: url(../img/recommend/estimate_sp.png);
}

@media screen and (max-width: 750px) {
  .recommend-menu-tiny > li a:after {
    content: none !important;
  }
}
@media screen and (min-width: 751px) {
  .recommend {
    padding: 2.0833333333vw 0 2.7777777778vw 0;
  }
  .recommend .inner {
    width: 62.5vw;
  }
  .recommend-heading {
    font-size: 1.9444444444vw;
  }
  .recommend-heading:before {
    right: -3.125vw;
    width: 12.9861111111vw;
    height: 1.875vw;
  }
  .recommend-menu {
    gap: 1.0416666667vw;
  }
  .recommend-menu > ul > li a {
    height: 6.9444444444vw;
    border-width: 0.1388888889vw;
    border-radius: 0.5555555556vw;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
  .recommend-menu > ul > li a span {
    font-size: 1.3888888889vw;
  }
  .recommend-menu > ul > li a:after {
    right: 1.6666666667vw;
    width: 1.8055555556vw;
    height: 1.8055555556vw;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .recommend-menu > ul > li a:hover {
    background-color: #ff5f00;
  }
  .recommend-menu > ul > li a:hover:after {
    -webkit-transform: translateX(0.3em) translateY(-50%);
            transform: translateX(0.3em) translateY(-50%);
  }
  .recommend-menu > ul > li.recommend-menu-large--estimate a:hover {
    background-color: #06b951;
  }
  .recommend-menu-tiny {
    gap: 1.0416666667vw;
  }
  .recommend-menu-tiny > li {
    width: 20.1388888889vw;
  }
  .recommend-menu-tiny > li a {
    padding-right: 3.8194444444vw;
  }
  .recommend-menu-tiny > li a:before {
    width: 11.8055555556vw;
    height: 14.2361111111vw;
  }
  .recommend-menu-tiny--works a span {
    padding-left: 5.5555555556vw;
  }
  .recommend-menu-tiny--works a span:before {
    width: 3.125vw;
    height: 3.3333333333vw;
  }
  .recommend-menu-tiny--blog a span {
    padding-left: 6.1111111111vw;
  }
  .recommend-menu-tiny--blog a span:before {
    width: 2.7777777778vw;
    height: 2.7777777778vw;
  }
  .recommend-menu-tiny--first a span {
    padding-left: 5vw;
  }
  .recommend-menu-tiny--first a span:before {
    width: 2.0138888889vw;
    height: 2.9166666667vw;
  }
  .recommend-menu-large {
    gap: 1.3888888889vw;
  }
  .recommend-menu-large > li {
    width: 30.5555555556vw;
  }
  .recommend-menu-large > li a {
    padding-left: 6.25vw;
  }
  .recommend-menu-large > li a:before {
    width: 11.25vw;
    height: 6.9444444444vw;
  }
  .recommend-menu-large--simulation a:before {
    background-image: url(../img/recommend/simulation.png);
    background-image: image-set(url(../img/recommend/simulation.png) 1x, url(../img/recommend/simulation-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/recommend/simulation.png) 1x, url(../img/recommend/simulation-2x.png) 2x);
  }
  .recommend-menu-large--estimate a:before {
    background-image: url(../img/recommend/estimate.png);
    background-image: image-set(url(../img/recommend/estimate.png) 1x, url(../img/recommend/estimate-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/recommend/estimate.png) 1x, url(../img/recommend/estimate-2x.png) 2x);
  }
}
@media screen and (min-width: 1441px) {
  .recommend {
    padding: 30px 0 40px 0;
  }
  .recommend .inner {
    width: 900px;
  }
  .recommend-heading {
    font-size: 2.8rem;
  }
  .recommend-heading:before {
    right: -45px;
    width: 187px;
    height: 27px;
  }
  .recommend-menu {
    gap: 15px;
  }
  .recommend-menu > ul > li a {
    height: 100px;
    border-width: 2px;
    border-radius: 8px;
  }
  .recommend-menu > ul > li a span {
    font-size: 2rem;
  }
  .recommend-menu > ul > li a:after {
    right: 24px;
    width: 26px;
    height: 26px;
  }
  .recommend-menu-tiny {
    gap: 15px;
  }
  .recommend-menu-tiny > li {
    width: 290px;
  }
  .recommend-menu-tiny > li a {
    padding-right: 55px;
  }
  .recommend-menu-tiny > li a:before {
    width: 170px;
    height: 205px;
  }
  .recommend-menu-tiny--works a span {
    padding-left: 80px;
  }
  .recommend-menu-tiny--works a span:before {
    width: 45px;
    height: 48px;
  }
  .recommend-menu-tiny--blog a span {
    padding-left: 88px;
  }
  .recommend-menu-tiny--blog a span:before {
    width: 40px;
    height: 40px;
  }
  .recommend-menu-tiny--first a span {
    padding-left: 72px;
  }
  .recommend-menu-tiny--first a span:before {
    width: 29px;
    height: 42px;
  }
  .recommend-menu-large {
    gap: 20px;
  }
  .recommend-menu-large > li {
    width: 440px;
  }
  .recommend-menu-large > li a {
    padding-left: 90px;
  }
  .recommend-menu-large > li a:before {
    width: 162px;
    height: 100px;
  }
}
/*  #ranking
-------------------------------------------------------------------------------*/
.ranking {
  position: relative;
  padding: 13.3333333333vw 0 10.6666666667vw 0;
  background-color: #ffffff;
}

.sub--item-cat .ranking {
  padding-top: 0 !important;
}

@media screen and (min-width: 751px) {
  .ranking {
    padding: 6.9444444444vw 0 4.8611111111vw 0;
  }
  .ranking-content {
    margin: 0 auto;
    padding: 0 4.1666666667vw;
    width: 79.1666666667vw;
  }
  #ranking-prev {
    left: 0;
  }
  #ranking-next {
    right: 0;
  }
}
@media screen and (min-width: 1441px) {
  .ranking {
    padding: 100px 0 70px 0;
  }
  .ranking-content {
    padding: 0 60px;
    width: 1140px;
  }
}
/*  #search
-------------------------------------------------------------------------------*/
.search {
  position: relative;
  padding: 13.3333333333vw 0 10.6666666667vw 0;
  background-color: #f6efe6;
}
@media screen and (min-width: 751px) {
  .search {
    padding: 5.5555555556vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .search {
    padding: 80px 0;
  }
}

@media screen and (min-width: 751px) {
  .search .inner {
    width: 72.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .search .inner {
    width: 1040px;
  }
}

.search .heading-3 {
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .search .heading-3 {
    margin-bottom: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .search .heading-3 {
    margin-bottom: 15px;
  }
}

.search-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .search-heading {
    margin-bottom: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-heading {
    margin-bottom: 15px;
  }
}

.search-heading .heading-3 {
  margin-bottom: 0 !important;
}

.search-open {
  margin-left: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .search-open {
    margin-left: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-open {
    margin-left: 15px;
  }
}

.search-open 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: 0 4vw 0.1em 0;
  width: 29.3333333333vw;
  height: 6.1333333333vw;
  background-color: #ff6f19;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.6666666667vw;
  color: #ffffff;
  font-size: 3.0666666667vw;
  font-weight: 700;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .search-open a {
    padding: 0 1.3888888889vw 0.1em 0;
    width: 9.7222222222vw;
    height: 2.5vw;
    border-width: 0.1388888889vw;
    border-radius: 0.3472222222vw;
    font-size: 1.0416666667vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .search-open a {
    padding: 0 20px 0.1em 0;
    width: 140px;
    height: 36px;
    border-width: 2px;
    border-radius: 5px;
    font-size: 1.5rem;
  }
}
.search-open a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url(../img/search/question-wh.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .search-open a:after {
    right: 0.8333333333vw;
    -webkit-transition: background-image 0.3s;
    transition: background-image 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .search-open a:after {
    right: 12px;
  }
}
@media screen and (min-width: 751px) {
  .search-open a:hover {
    background-color: #ffffff;
    color: #ff6f19;
  }
}
@media screen and (min-width: 751px) {
  .search-open a:hover:after {
    background-image: url(../img/search/question-og.svg);
  }
}

::-webkit-full-page-media,
:future,
:root .search-open a:after {
  -webkit-transition: none;
  transition: none;
}

@media screen and (min-width: 751px) {
  .search .btn {
    margin-top: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .search .btn {
    margin-top: 50px;
  }
}

.search-type:nth-of-type(n + 2) {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 751px) {
  .search-type:nth-of-type(n + 2) {
    margin-top: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-type:nth-of-type(n + 2) {
    margin-top: 50px;
  }
}

@media screen and (min-width: 751px) {
  .search-slide .swiper-wrapper {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.3888888889vw;
    width: auto;
    height: auto;
  }
}
@media screen and (min-width: 1441px) {
  .search-slide .swiper-wrapper {
    gap: 20px;
  }
}

.search-slide .swiper-slide {
  width: 44vw;
}
@media screen and (max-width: 750px) {
  .search-slide .swiper-slide {
    margin-right: 4vw;
  }
}
@media screen and (min-width: 751px) {
  .search-slide .swiper-slide {
    width: 13.3333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-slide .swiper-slide {
    width: 192px;
  }
}

@media screen and (max-width: 750px) {
  .search-slide .swiper-slide:last-child {
    margin-right: 0;
  }
}

.search-slide input[type=checkbox] {
  display: none;
}

.search-item {
  display: block;
  padding: 2.1333333333vw 2.1333333333vw 0.5333333333vw 2.1333333333vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.5333333333vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  line-height: 1.2em;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .search-item {
    padding: 0.5555555556vw 0.5555555556vw 0.1388888889vw 0.5555555556vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-item {
    padding: 8px 8px 2px 8px;
    border-width: 2px;
    border-radius: 4px;
  }
}

.search-item:has(input[type=checkbox]:checked) {
  border-color: #ff6f19;
}

.search-item-image {
  display: block;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}
@media screen and (min-width: 751px) {
  .search-item-image {
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-item-image {
    border-radius: 4px;
  }
}

.search-item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 9.3333333333vw;
}
@media screen and (min-width: 751px) {
  .search-item-content {
    height: 3.125vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-item-content {
    height: 45px;
  }
}

.search-notes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 6.6666666667vw;
}
@media screen and (max-width: 750px) {
  .search-notes {
    gap: 2vw 0;
  }
}
@media screen and (min-width: 751px) {
  .search-notes {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-notes {
    margin-top: 30px;
  }
}
.search-notes 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%;
  font-size: 3.2vw;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .search-notes dl {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 0.9722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-notes dl {
    font-size: 1.4rem;
  }
}
.search-notes dt {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
@media screen and (max-width: 750px) {
  .search-notes dt {
    width: 32vw;
  }
}
.search-notes dt:before {
  content: "※";
  margin-right: 0.3em;
}
.search-notes dt:after {
  content: "・・・";
}
@media screen and (max-width: 750px) {
  .search-notes dd {
    width: 58vw;
  }
}

.search-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2vw;
}
@media screen and (min-width: 751px) {
  .search-menu {
    gap: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-menu {
    gap: 20px;
  }
}
.search-menu input[type=checkbox] {
  display: none;
}

.search-menu > div {
  width: 29.3333333333vw;
}
@media screen and (min-width: 751px) {
  .search-menu > div {
    width: 13.3333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-menu > div {
    width: 192px;
  }
}

.search-menu-item {
  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.5em;
  width: 100%;
  height: 12vw;
  background-color: #ffffff;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.5333333333vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.2em;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .search-menu-item {
    padding: 0 1em;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-menu-item {
    height: 60px;
    border-width: 2px;
    border-radius: 4px;
    font-size: 1.6rem;
  }
}

.search-menu-item:has(input[type=checkbox]:checked) {
  border-color: #ff6f19;
}

.search-select {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .search-select {
    width: 31.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-select {
    width: 460px;
  }
}
.search-select:after {
  content: "";
  position: absolute;
  top: 5.4666666667vw;
  right: 4vw;
  display: inline-block;
  width: 3.2vw;
  height: 2.1333333333vw;
  background-image: url(../img/form/select.svg);
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .search-select:after {
    top: 1.7361111111vw;
    right: 1.3888888889vw;
    width: 0.8333333333vw;
    height: 0.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-select:after {
    top: 25px;
    right: 20px;
    width: 12px;
    height: 8px;
  }
}

.search-select select {
  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 1em;
  width: 100%;
  height: 13.3333333333vw;
  background-color: #ffffff;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.5333333333vw;
  color: #2f2725;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .search-select select {
    padding: 0 1.5em;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .search-select select {
    height: 60px;
    border-width: 2px;
    border-radius: 4px;
    font-size: 16px;
  }
}

.sub--search-result {
  padding-top: 0 !important;
}

/*  .sub--search-result
-------------------------------------------------------------------------------*/
.sub--door-cat-back-door .sf-field-taxonomy-door-item-type {
  display: none !important;
}

.sub--search-result .search form > ul:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8vw;
}
@media screen and (min-width: 751px) {
  .sub--search-result .search form > ul:first-of-type {
    gap: 2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .search form > ul:first-of-type {
    gap: 40px;
  }
}

.sub--search-result .search form > ul:first-of-type > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .sub--search-result .search form > ul:first-of-type > li {
    gap: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .search form > ul:first-of-type > li {
    gap: 20px;
  }
}

.sub--search-result .searchandfilter ul li {
  position: relative;
  padding-block: 0;
}

.sub--search-result .searchandfilter ul.children {
  display: none;
}

.sub--search-result .search h4 {
  margin-bottom: 0 !important;
}

.sub--search-result .search-open {
  margin-left: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .sub--search-result .search-open {
    margin-left: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .search-open {
    margin-left: 10px;
  }
}

.sub--search-result .searchandfilter ul > li > ul:not(.children) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2vw;
}
@media screen and (min-width: 751px) {
  .sub--search-result .searchandfilter ul > li > ul:not(.children) {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    gap: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .searchandfilter ul > li > ul:not(.children) {
    gap: 20px;
  }
}

.sub--search-result .searchandfilter .sf-level-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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2vw;
  padding: 0;
  width: 44.8vw;
  height: 16vw;
  background-color: #ffffff;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.5333333333vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .sub--search-result .searchandfilter .sf-level-0 {
    gap: 1.3888888889vw;
    width: 13.3333333333vw;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
    -webkit-transition: border-color 0.3s;
    transition: border-color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .searchandfilter .sf-level-0 {
    gap: 20px;
    width: 192px;
    height: 60px;
    border-width: 2px;
    border-radius: 4px;
  }
}
.sub--search-result .searchandfilter .sf-level-0 input[type=checkbox] {
  display: none;
}
.sub--search-result .searchandfilter .sf-level-0 label.sf-label-checkbox {
  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: 2.1333333333vw 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .sub--search-result .searchandfilter .sf-level-0 label.sf-label-checkbox {
    padding: 0.5555555556vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .searchandfilter .sf-level-0 label.sf-label-checkbox {
    padding: 8px 0;
  }
}

.sub--search-result .searchandfilter .sf-level-0:has(input[type=checkbox]:checked) {
  border-color: #ff6f19;
}

@media screen and (min-width: 751px) {
  .sub--search-result .searchandfilter .sf-level-0:hover {
    border-color: #ff6f19;
  }
}

.sub--search-result .searchandfilter .sf-level-0-item {
  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.5em;
  width: 100%;
  height: 12vw;
  background-color: #ffffff;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.5333333333vw;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.2em;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .sub--search-result .searchandfilter .sf-level-0-item {
    padding: 0 1em;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .searchandfilter .sf-level-0-item {
    height: 60px;
    border-width: 2px;
    border-radius: 4px;
    font-size: 1.6rem;
  }
}

.sub--search-result .searchandfilter .sf-level-0-item:has(input[type=checkbox]:checked) {
  border-color: #ff6f19;
}

.sub--search-result .search-type--divider {
  margin-block: 2.6666666667vw;
  width: 100%;
  height: 1.0666666667vw;
  border-radius: 0.5333333333vw;
  background-color: #ff6f19;
}

@media screen and (min-width: 751px) {
  .sub--search-result .search-type--divider {
    margin-block: 2.0833333333vw;
    height: 0.2777777778vw;
    border-radius: 0.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .search-type--divider {
    margin-block: 30px;
    height: 4px;
    border-radius: 2px;
  }
}
.sub--search-result .sf-field-taxonomy-model-number {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sub--search-result .sf-field-taxonomy-model-number label {
  max-width: 300px;
  height: 10.6666666667vw;
  background-color: #ffffff;
}
@media screen and (min-width: 751px) {
  .sub--search-result .sf-field-taxonomy-model-number label {
    height: 2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .sf-field-taxonomy-model-number label {
    height: 40px;
  }
}
.sub--search-result .sf-field-taxonomy-model-number label:after {
  top: 42%;
}

.sub--search-result .searchandfilter select.sf-input-select {
  padding-inline: 2.6666666667vw;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 751px) {
  .sub--search-result .searchandfilter select.sf-input-select {
    padding-inline: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--search-result .searchandfilter select.sf-input-select {
    padding-inline: 10px;
  }
}

/* ------------------------------------------- pattern-group - */
.item-pattern-group {
  margin-top: 8vw;
}
.item-pattern-group:first-child {
  margin-top: 0;
}
.item-pattern-group .heading-1 {
  margin-bottom: 4vw;
}
@media screen and (min-width: 751px) {
  .item-pattern-group {
    margin-top: 3.4722222222vw;
  }
  .item-pattern-group .heading-1 {
    margin-bottom: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .item-pattern-group {
    margin-top: 50px;
  }
  .item-pattern-group .heading-1 {
    margin-bottom: 20px;
  }
}

.pattern-content {
  position: relative;
}

.pattern-slide .swiper-slide {
  left: 2vw;
  margin-right: 4vw;
  width: 60vw;
}
@media screen and (min-width: 751px) {
  .pattern-slide .swiper-slide {
    left: 1.0416666667vw;
    margin-right: 2.0833333333vw;
    width: 22.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .pattern-slide .swiper-slide {
    left: 15px;
    margin-right: 30px;
    width: 320px;
  }
}
.pattern-slide .swiper-slide:last-child {
  margin-right: 0;
}

.pattern-pagination.slide-pagination {
  gap: 0;
}

/* sub --> first
-------------------------------------------------------------------------------*/
.sub--first {
  padding-bottom: 0 !important;
}
@media screen and (min-width: 751px) {
  .sub--first {
    padding: 2.7777777778vw 0 0 0 !important;
  }
}
@media screen and (min-width: 1441px) {
  .sub--first {
    padding: 40px 0 0 0 !important;
  }
}

/* ------------------------------------------- intro - */
.first-intro {
  margin: 0 auto 10.6666666667vw auto;
  width: 92vw;
}

.first-intro-text {
  margin-top: 5.3333333333vw;
}

@media screen and (min-width: 751px) {
  .first-intro {
    margin: 0 auto 5.5555555556vw auto;
    width: 69.4444444444vw;
  }
  .first-intro-text {
    margin: 3.4722222222vw auto 0 auto;
    width: 61.4583333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .first-intro {
    margin: 0 auto 80px auto;
    width: 1000px;
  }
  .first-intro-text {
    margin: 50px auto 0 auto;
    width: 885px;
  }
}
/* sub --> choosing
-------------------------------------------------------------------------------*/
.choosing {
  position: relative;
  padding: 10.6666666667vw 0 13.3333333333vw 0;
  background-color: #f6efe6;
}

.choosing-heading {
  position: relative;
  margin-bottom: 6.6666666667vw;
  z-index: 1;
}
.choosing-heading:before, .choosing-heading:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  z-index: -1;
}
.choosing-heading:before {
  top: -11.3333333333vw;
  left: -4vw;
  background-image: url(../img/choosing/staff-l_sp.png);
  width: 23.2vw;
  height: 44vw;
}
.choosing-heading:after {
  top: -4vw;
  right: -4vw;
  width: 22.8vw;
  height: 50.6666666667vw;
  background-image: url(../img/choosing/staff-r_sp.png);
}

.choosing-ja {
  margin: 0 auto;
  width: 52.4vw;
}

.choosing-post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5.3333333333vw 0;
  margin: 0 auto;
  width: 85.3333333333vw;
}

.c-choosing {
  position: relative;
  padding: 11.3333333333vw 2.1333333333vw 5.3333333333vw 2.1333333333vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 2.1333333333vw;
  z-index: 1;
}
.c-choosing:before, .c-choosing:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(../img/common/dot.png);
  background-size: contain;
  z-index: -1;
}
.c-choosing:before {
  top: 38.6666666667vw;
  left: 0.2666666667vw;
  width: 21.0666666667vw;
  height: 21.0666666667vw;
}
.c-choosing:after {
  top: 2vw;
  right: 2.6666666667vw;
  width: 28.5333333333vw;
  height: 28.5333333333vw;
}

.c-choosing-image {
  margin-bottom: 5.3333333333vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.c-choosing-num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 0.1em 1em;
  width: 39.4666666667vw;
  height: 5.8666666667vw;
  background-image: url(../img/choosing/arrow.svg);
  background-size: contain;
  color: #ffffff;
  font-size: 3.7333333333vw;
  font-weight: 700;
}

.c-choosing-ttl {
  margin-bottom: 1em;
  color: #ff6f19;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.23em;
}

.c-choosing-text p {
  line-height: 1.5em;
}

@media screen and (max-width: 750px) {
  .c-choosing-num {
    position: absolute;
    top: 2.6666666667vw;
    left: 0;
  }
}
@media screen and (min-width: 751px) {
  .choosing {
    padding: 5.5555555556vw 0 6.9444444444vw 0;
  }
  .choosing .inner {
    width: 76.3888888889vw;
  }
  .choosing-heading {
    margin-bottom: 2.7777777778vw;
  }
  .choosing-heading:before {
    top: -4.1666666667vw;
    left: -3.8194444444vw;
    width: 24.375vw;
    height: 17.1527777778vw;
    background-image: url(../img/choosing/staff-l.png);
    background-image: image-set(url(../img/choosing/staff-l.png) 1x, url(../img/choosing/staff-l-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/choosing/staff-l.png) 1x, url(../img/choosing/staff-l-2x.png) 2x);
  }
  .choosing-heading:after {
    top: -1.7361111111vw;
    right: 2.4305555556vw;
    width: 16.8055555556vw;
    height: 13.6805555556vw;
    background-image: url(../img/choosing/staff-r.png);
    background-image: image-set(url(../img/choosing/staff-r.png) 1x, url(../img/choosing/staff-r-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/choosing/staff-r.png) 1x, url(../img/choosing/staff-r-2x.png) 2x);
  }
  .choosing-ja {
    width: 25.0694444444vw;
  }
  .choosing-post {
    gap: 2.7777777778vw 0;
    width: 100%;
  }
  .c-choosing {
    padding: 4.8611111111vw 3.8888888889vw 3.4722222222vw 3.8888888889vw;
    border-width: 0.1388888889vw;
    border-radius: 1.1111111111vw;
  }
  .c-choosing:before {
    top: 15.2777777778vw;
    left: 2.7777777778vw;
    width: 8.3333333333vw;
    height: 8.2638888889vw;
  }
  .c-choosing:after {
    top: 3.125vw;
    right: 2.0833333333vw;
    width: 12.0833333333vw;
    height: 12.1527777778vw;
  }
  .c-choosing-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;
    width: 63.8888888889vw;
  }
  .c-choosing-image {
    margin: 0;
    width: 23.6111111111vw;
    border-radius: 0.2777777778vw;
  }
  .c-choosing-content {
    width: 35.4166666667vw;
  }
  .c-choosing-num {
    margin-bottom: 2.0833333333vw;
    width: 12.0833333333vw;
    height: 1.875vw;
    font-size: 1.1111111111vw;
  }
  .c-choosing-ttl {
    font-size: 1.6666666667vw;
    text-align: left;
    line-height: 1.46em;
  }
}
@media screen and (min-width: 1441px) {
  .choosing {
    padding: 80px 0 100px 0;
  }
  .choosing .inner {
    width: 1100px;
  }
  .choosing-heading {
    margin-bottom: 40px;
  }
  .choosing-heading:before {
    top: -60px;
    left: -55px;
    width: 351px;
    height: 247px;
  }
  .choosing-heading:after {
    top: -25px;
    right: 35px;
    width: 242px;
    height: 197px;
  }
  .choosing-ja {
    width: 361px;
  }
  .choosing-post {
    gap: 40px 0;
  }
  .c-choosing {
    padding: 70px 56px 50px 56px;
    border-width: 2px;
    border-radius: 16px;
  }
  .c-choosing:before {
    top: 220px;
    left: 40px;
    width: 120px;
    height: 119px;
  }
  .c-choosing:after {
    top: 45px;
    right: 30px;
    width: 174px;
    height: 175px;
  }
  .c-choosing-contents {
    width: 920px;
  }
  .c-choosing-image {
    width: 340px;
    border-radius: 4px;
  }
  .c-choosing-content {
    width: 510px;
  }
  .c-choosing-num {
    margin-bottom: 30px;
    width: 174px;
    height: 27px;
    font-size: 1.6rem;
  }
  .c-choosing-ttl {
    font-size: 2.4rem;
  }
}
/* sub --> relief
-------------------------------------------------------------------------------*/
.relief {
  padding: 13.3333333333vw 0 10.6666666667vw 0;
}

.relief-heading {
  position: relative;
  margin-bottom: 5.3333333333vw;
  z-index: 1;
}
.relief-heading:before, .relief-heading:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
  z-index: -1;
}
.relief-heading:before {
  top: -7.3333333333vw;
  left: -14vw;
  width: 28.5333333333vw;
  height: 28.5333333333vw;
  background-image: url(../img/common/dot.png);
}
.relief-heading:after {
  top: 26.6666666667vw;
  right: -8vw;
  width: 21.0666666667vw;
  height: 21.2vw;
  background-image: url(../img/common/dot.png);
}

@media screen and (min-width: 751px) {
  .relief {
    padding: 6.9444444444vw 0 5.5555555556vw 0;
  }
  .relief .inner {
    width: 71.5277777778vw;
  }
  .relief-heading {
    margin-bottom: 2.0833333333vw;
  }
  .relief-heading:before {
    top: -1.3888888889vw;
    left: -1.3888888889vw;
    width: 18.3333333333vw;
    height: 18.4722222222vw;
    background-image: url(../img/relief/staff-l.png);
    background-image: image-set(url(../img/relief/staff-l.png) 1x, url(../img/relief/staff-l-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/relief/staff-l.png) 1x, url(../img/relief/staff-l-2x.png) 2x);
  }
  .relief-heading:after {
    top: -0.6944444444vw;
    right: 3.125vw;
    width: 16.5277777778vw;
    height: 17.8472222222vw;
    background-image: url(../img/relief/staff-r.png);
    background-image: image-set(url(../img/relief/staff-r.png) 1x, url(../img/relief/staff-r-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/relief/staff-r.png) 1x, url(../img/relief/staff-r-2x.png) 2x);
  }
  .relief-lead {
    margin-left: auto;
    margin-right: auto;
    width: 35.4166666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .relief {
    padding: 100px 0 80px 0;
  }
  .relief .inner {
    width: 1030px;
  }
  .relief-heading {
    margin-bottom: 30px;
  }
  .relief-heading:before {
    top: -20px;
    left: -20px;
    width: 264px;
    height: 266px;
  }
  .relief-heading:after {
    top: -10px;
    right: 45px;
    width: 238px;
    height: 257px;
  }
  .relief-lead {
    width: 510px;
  }
}
/* ------------------------------------------- comparison - */
.comparison {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.comparison ul {
  overflow: hidden;
}

.comparison ul > li {
  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: 22.6666666667vw;
  border-bottom-color: #cfcfcf;
  border-bottom-style: solid;
  border-bottom-width: 0.2666666667vw;
}
.comparison ul > li p {
  font-size: 2.9333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
  letter-spacing: 0;
}
.comparison ul > li .logo {
  width: 22.2666666667vw;
}
.comparison ul > li .icon {
  margin: 0 auto 1.7333333333vw auto;
  width: 8.8vw;
}

.comparison-label {
  color: #ffffff;
  font-size: 3.4666666667vw;
  line-height: 1.23em;
}

.comparison-th {
  width: 18.8vw;
  border-radius: 2.1333333333vw 0 0 2.1333333333vw;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-bottom: none;
}
.comparison-th > li {
  background-color: #fea53a;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

.comparison-other {
  width: 33.3333333333vw;
  border-radius: 2.1333333333vw 0 0 0;
}
.comparison-other > li {
  background-color: #ffffff;
}
.comparison-other > li:first-child {
  height: 12.4vw;
  background-color: #7a7e93;
  border-bottom-color: #7a7e93;
}

.comparison-our {
  width: 40.4vw;
  border-left-color: #ff6f19;
  border-left-style: solid;
  border-left-width: 0.8vw;
  border-right-color: #ff6f19;
  border-right-style: solid;
  border-right-width: 0.8vw;
  border-radius: 2.1333333333vw 2.1333333333vw 2.1333333333vw 0;
  -webkit-box-shadow: 0px 12px 43px 0px rgba(60, 60, 60, 0.2);
          box-shadow: 0px 12px 43px 0px rgba(60, 60, 60, 0.2);
}
.comparison-our > li {
  background-color: #ffffff;
}
.comparison-our > li:first-child {
  height: 22.6666666667vw;
  background-color: #ff6f19;
  border-bottom-color: #ff6f19;
}
.comparison-our > li:last-child {
  border-bottom-color: #ff6f19;
  border-bottom-width: 0.8vw;
  border-radius: 0 0 1.6vw 0;
}

@media screen and (min-width: 751px) {
  .comparison ul > li {
    height: 9.0277777778vw;
    border-bottom-width: 0.0694444444vw;
  }
  .comparison ul > li > div {
    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%;
  }
  .comparison ul > li p {
    font-size: 1.5277777778vw;
    letter-spacing: 0.05em;
  }
  .comparison ul > li .logo {
    width: 24.0972222222vw;
  }
  .comparison ul > li .icon {
    margin: 0 1.3888888889vw 0 0;
    width: 4.5833333333vw;
  }
  .comparison-label {
    font-size: 1.8055555556vw;
  }
  .comparison-th {
    width: 13.9583333333vw;
    border-radius: 1.1111111111vw 0 0 1.1111111111vw;
    border-width: 0.0694444444vw;
  }
  .comparison-th > li {
    font-size: 1.5277777778vw;
  }
  .comparison-other {
    width: 25.6944444444vw;
    border-radius: 1.1111111111vw 0 0 0;
  }
  .comparison-other > li:first-child {
    height: 6.4583333333vw;
  }
  .comparison-other > li:nth-child(4) {
    padding-right: 2.2916666667vw;
  }
  .comparison-our {
    width: 31.9444444444vw;
    border-left-width: 0.4166666667vw;
    border-right-width: 0.4166666667vw;
    border-radius: 1.1111111111vw 1.1111111111vw 1.1111111111vw 0;
  }
  .comparison-our > li:not(.first-child):not(.last-child) {
    padding: 0 2.7777777778vw;
  }
  .comparison-our > li:not(.first-child):not(.last-child) p {
    width: calc(100% - 5.9722222222vw);
  }
  .comparison-our > li:first-child {
    height: 9.0277777778vw;
  }
  .comparison-our > li:last-child {
    border-bottom-width: 0.4166666667vw;
    border-radius: 0 0 0.8333333333vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .comparison ul > li {
    height: 130px;
    border-bottom-width: 1px;
  }
  .comparison ul > li p {
    font-size: 2.2rem;
  }
  .comparison ul > li .logo {
    width: 347px;
  }
  .comparison ul > li .icon {
    margin-right: 20px;
    width: 66px;
  }
  .comparison-label {
    font-size: 2.6rem;
  }
  .comparison-th {
    width: 201px;
    border-radius: 16px 0 0 16px;
    border-width: 1px;
  }
  .comparison-th > li {
    font-size: 2.2rem;
  }
  .comparison-other {
    width: 370px;
    border-radius: 16px 0 0 0;
  }
  .comparison-other > li:first-child {
    height: 93px;
  }
  .comparison-other > li:nth-child(4) {
    padding-right: 33px;
  }
  .comparison-our {
    width: 460px;
    border-left-width: 6px;
    border-right-width: 6px;
    border-radius: 16px 16px 16px 0;
  }
  .comparison-our > li:not(.first-child):not(.last-child) {
    padding: 0 40px;
  }
  .comparison-our > li:not(.first-child):not(.last-child) p {
    width: calc(100% - 86px);
  }
  .comparison-our > li:first-child {
    height: 130px;
  }
  .comparison-our > li:last-child {
    border-bottom-width: 6px;
    border-radius: 0 0 12px 0;
  }
}
/* ------------------------------------------- person - */
.person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6.6666666667vw;
  margin-top: 8vw;
}

.person-box {
  padding: 5.3333333333vw 4.6666666667vw 2vw 4.6666666667vw;
  width: 100%;
  background-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 2.1333333333vw;
}

.person-heading {
  position: relative;
  padding-left: 8vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 4vw;
  font-weight: 900;
  line-height: 1em;
}
.person-heading span.logo {
  display: inline-block;
  margin-right: 1.0666666667vw;
}
.person-heading span.logo img {
  width: auto;
  height: 3.3333333333vw;
}
.person-heading:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 6.1333333333vw;
  height: 6.1333333333vw;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.person-box--suitable {
  border-color: #ff6f19;
}
.person-box--suitable .person-heading:before {
  background-image: url(../img/relief/suitable.svg);
}

.person-box--unsuitable {
  border-color: #7a7e93;
}
.person-box--unsuitable .person-heading:before {
  background-image: url(../img/relief/unsuitable.svg);
}

.person-suitable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.8666666667vw;
  margin-top: 4vw;
}

.person-suitable > li {
  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.8em;
  height: 6.4vw;
  background-color: #fff0e8;
  border-color: #ff6f19;
  border-style: dotted;
  border-width: 1px;
  border-radius: 3.2vw;
  font-size: 2.8vw;
  line-height: 1.2rem;
  letter-spacing: 0;
}
.person-suitable > li:before {
  content: "#.";
  color: #ff6f19;
}

.person-unsuitable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 4vw;
}

.person-unsuitable > li {
  position: relative;
  padding: 2vw 0 2vw 4vw;
  width: 100%;
  border-top-color: #7a7e93;
  border-top-style: dotted;
  border-top-width: 1px;
  font-size: 3.2vw;
  line-height: 1.5em;
}
.person-unsuitable > li span {
  font-size: 2.9333333333vw;
}
.person-unsuitable > li:before {
  content: "";
  position: absolute;
  top: 1.25em;
  left: 0;
  width: 1.6vw;
  height: 1.6vw;
  background-color: #7a7e93;
  border-radius: 50%;
}

.person-unsuitable > li:first-child {
  border-top: none;
}

.person-more {
  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: 12.6666666667vw;
  margin-top: 4vw;
  border-top-color: #cfcfcf;
  border-top-style: solid;
  border-top-width: 0.2666666667vw;
  text-align: center;
}
.person-more span {
  position: relative;
  padding: 0 10.6666666667vw 0 5.3333333333vw;
}
.person-more span:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 4.5333333333vw;
  height: 2.9333333333vw;
  background-image: url(../img/relief/down.svg);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.person-more.is-close span:after {
  background-image: url(../img/relief/up.svg);
}

@media screen and (min-width: 751px) {
  .person {
    gap: 2.0833333333vw;
    margin-top: 3.4722222222vw;
  }
  .person-box {
    padding: 2.0833333333vw 3.4722222222vw 2.4305555556vw 3.4722222222vw;
    border-width: 0.1388888889vw;
    border-radius: 1.1111111111vw;
  }
  .person-heading {
    padding-left: 2.9166666667vw;
    font-size: 1.3888888889vw;
  }
  .person-heading span.logo {
    margin-right: 0.5555555556vw;
  }
  .person-heading span.logo img {
    height: 1.25vw;
  }
  .person-heading:before {
    width: 2.3611111111vw;
    height: 2.3611111111vw;
  }
  .person-suitable {
    gap: 0.9722222222vw 1.3888888889vw;
    margin-top: 1.7361111111vw;
  }
  .person-suitable > li {
    padding: 0 1.2em;
    height: 2.2222222222vw;
    border-width: 0.0694444444vw;
    border-radius: 1.1111111111vw;
    font-size: 1.0416666667vw;
    letter-spacing: 0.05em;
  }
  .person-unsuitable {
    gap: 0.3472222222vw 0;
    margin-top: 1.3888888889vw;
  }
  .person-unsuitable > li {
    padding: 0.6944444444vw 0.6944444444vw 0.6944444444vw 2.7777777778vw;
    border-bottom-width: 0.0694444444vw;
    font-size: 1.0416666667vw;
    line-height: 1.5em;
  }
  .person-unsuitable > li span {
    font-size: 1em;
  }
  .person-unsuitable > li:before {
    top: 1.25em;
    left: 1.3888888889vw;
    width: 0.4166666667vw;
    height: 0.4166666667vw;
  }
  .person-more {
    display: none;
  }
}
@media screen and (min-width: 1441px) {
  .person {
    gap: 30px;
    margin-top: 50px;
  }
  .person-box {
    padding: 30px 50px 35px 50px;
    border-width: 2px;
    border-radius: 16px;
  }
  .person-heading {
    padding-left: 42px;
    font-size: 2rem;
  }
  .person-heading span.logo {
    margin-right: 8px;
  }
  .person-heading span.logo img {
    height: 18px;
  }
  .person-heading:before {
    width: 34px;
    height: 34px;
  }
  .person-suitable {
    gap: 14px 20px;
    margin-top: 25px;
  }
  .person-suitable > li {
    height: 32px;
    border-width: 1px;
    border-radius: 16px;
    font-size: 1.5rem;
  }
  .person-unsuitable {
    gap: 5px 0;
    margin-top: 20px;
  }
  .person-unsuitable > li {
    padding: 10px 10px 10px 40px;
    border-bottom-width: 1px;
    font-size: 1.5rem;
  }
  .person-unsuitable > li:before {
    left: 20px;
    width: 6px;
    height: 6px;
  }
}
/* sub --> company
-------------------------------------------------------------------------------*/
.sub--company {
  padding-bottom: 0 !important;
}

/* ------------------------------------------- message - */
.message {
  margin-bottom: 10.6666666667vw;
}

.message-image {
  margin-top: 5.3333333333vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

@media screen and (min-width: 751px) {
  .message {
    margin-bottom: 5.5555555556vw;
  }
  .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;
  }
  .message-content {
    padding-top: 0.5em;
    width: 38.8888888889vw;
  }
  .message-image {
    margin: 0;
    width: 31.9444444444vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .message {
    margin-bottom: 80px;
  }
  .message-content {
    width: 560px;
  }
  .message-image {
    width: 460px;
    border-radius: 4px;
  }
}
/* ------------------------------------------- overview - */
.overview-data dl {
  position: relative;
  padding: 4vw 0 4.6666666667vw 0;
}

.overview-data dt {
  position: relative;
  margin-bottom: 0.5em;
  width: 100%;
  font-weight: 700;
  line-height: 1.7em;
}

.overview-data dd {
  width: 100%;
  font-weight: 500;
  line-height: 1.7em;
}
.overview-data dd a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5em;
}

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

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

@media screen and (max-width: 750px) {
  .overview-data dl:before, .overview-data dl:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 0.5333333333vw;
  }
  .overview-data dl:before {
    width: 100%;
    background-color: #cfcfcf;
  }
  .overview-data dl:after {
    width: 30%;
    background-color: #ff6f19;
    z-index: 1;
  }
}
@media screen and (min-width: 751px) {
  .overview-data {
    margin: 0 auto;
    width: 62.5vw;
  }
  .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: 0;
    border-bottom-color: #cfcfcf;
    border-bottom-style: solid;
    border-bottom-width: 0.0694444444vw;
  }
  .overview-data dt {
    margin: 0;
    padding: 1em;
    width: 15.2777777778vw;
  }
  .overview-data dt:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.1388888889vw;
    width: 100%;
    height: 0.2777777778vw;
    background-color: #ff6f19;
  }
  .overview-data dd {
    padding: 1em 2em;
    width: calc(100% - 15.2777777778vw);
  }
  .overview-data dd a {
    text-decoration-thickness: 0.0694444444vw;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .overview-data dd a:hover {
    color: #ff6f19;
  }
}
@media screen and (min-width: 1441px) {
  .overview-data {
    width: 900px;
  }
  .overview-data dl {
    border-bottom-width: 1px;
  }
  .overview-data dt {
    width: 220px;
  }
  .overview-data dt:after {
    bottom: -2px;
    height: 4px;
  }
  .overview-data dd {
    width: calc(100% - 220px);
  }
  .overview-data dd a {
    text-decoration-thickness: 1px;
  }
}
/* ------------------------------------------- access - */
.access {
  background-color: #f3f3f3;
}

.access-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.8666666667vw;
  margin-bottom: 6.6666666667vw;
}

.access-gallery > div {
  width: 21.6vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.access-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: center;
      -ms-flex-align: center;
          align-items: center;
}
.access-data dl 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-bottom: 0.1em;
  width: 21.3333333333vw;
  height: 8vw;
  background-color: #ff6f19;
  border-radius: 4vw;
  color: #ffffff;
  font-weight: 700;
}
.access-data dl dd {
  width: calc(100% - 25.3333333333vw);
  font-weight: 500;
  line-height: 1.7em;
}
.access-data dl:nth-child(n+2) {
  margin-top: 2.6666666667vw;
}

.access-map {
  margin-top: 6.6666666667vw;
}

@media screen and (min-width: 751px) {
  .access-gallery {
    gap: 1.3888888889vw;
    margin-bottom: 3.4722222222vw;
  }
  .access-gallery > div {
    width: 18.0555555556vw;
    border-radius: 0.2777777778vw;
  }
  .access-contents {
    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;
  }
  .access-map {
    margin: 0;
    width: 36.1111111111vw;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .access-map .ggmap {
    padding-bottom: 70%;
  }
  .access-content {
    width: 34.7222222222vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .access-data dl dt {
    width: 6.9444444444vw;
    height: 2.0833333333vw;
    border-radius: 1.0416666667vw;
  }
  .access-data dl dd {
    width: calc(100% - 9.0277777778vw);
  }
  .access-data dl:nth-child(n+2) {
    margin-top: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .access-gallery {
    gap: 20px;
    margin-bottom: 50px;
  }
  .access-gallery > div {
    width: 260px;
    border-radius: 4px;
  }
  .access-map {
    width: 520px;
  }
  .access-content {
    width: 500px;
  }
  .access-data dl dt {
    width: 100px;
    height: 30px;
    border-radius: 15px;
  }
  .access-data dl dd {
    width: calc(100% - 130px);
  }
  .access-data dl:nth-child(n+2) {
    margin-top: 15px;
  }
}
/* ------------------------------------------- history - */
.history {
  padding: 13.3333333333vw 0;
}

.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: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background-color: #f3f3f3;
  border-radius: 1.3333333333vw;
  overflow: hidden;
}

.history-data dl:nth-child(n+2) {
  margin-top: 2vw;
}

.history-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;
  width: 20vw;
  background-color: #ff6f19;
  color: #ffffff;
  font-weight: 500;
}

.history-data dd {
  padding: 1em;
  width: calc(100% - 20vw);
  font-weight: 500;
  line-height: 1.7em;
}

@media screen and (min-width: 751px) {
  .history {
    padding: 6.9444444444vw 0;
  }
  .history-data {
    margin: 0 auto;
    width: 61.1111111111vw;
  }
  .history-data dl {
    border-radius: 0.6944444444vw;
  }
  .history-data dl:nth-child(n+2) {
    margin-top: 0.6944444444vw;
  }
  .history-data dt {
    width: 6.9444444444vw;
  }
  .history-data dd {
    padding: 1em 1.5em;
    width: calc(100% - 6.9444444444vw);
  }
}
@media screen and (min-width: 1441px) {
  .history {
    padding: 100px 0;
  }
  .history-data {
    width: 880px;
  }
  .history-data dl {
    border-radius: 10px;
  }
  .history-data dl:nth-child(n+2) {
    margin-top: 10px;
  }
  .history-data dt {
    width: 100px;
  }
  .history-data dd {
    width: calc(100% - 100px);
  }
}
/* sub --> reform
-------------------------------------------------------------------------------*/
.sub--reform {
  padding: 1.3333333333vw 0 0 0;
}
@media screen and (min-width: 751px) {
  .sub--reform {
    padding: 0 !important;
  }
}

/* ------------------------------------------- intro - */
.reform-intro {
  position: relative;
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 751px) {
  .reform-intro {
    padding-bottom: 5.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .reform-intro {
    padding-bottom: 80px;
  }
}
.reform-intro:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 21.3333333333vw);
  background-color: #fff0e8;
}
@media screen and (min-width: 751px) {
  .reform-intro:before {
    height: calc(100% - 10.4166666667vw);
  }
}
@media screen and (min-width: 1441px) {
  .reform-intro:before {
    height: calc(100% - 150px);
  }
}

.reform-mv {
  position: relative;
  margin: 0 auto;
  width: 92vw;
}
@media screen and (min-width: 751px) {
  .reform-mv {
    width: 69.4444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .reform-mv {
    width: 1000px;
  }
}

.reform-mv-btn {
  position: absolute;
  left: 50%;
  bottom: 2.6666666667vw;
  width: 61.3333333333vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .reform-mv-btn {
    bottom: 1.3888888889vw;
    width: 25vw;
  }
}
@media screen and (min-width: 1441px) {
  .reform-mv-btn {
    bottom: 20px;
    width: 360px;
  }
}
@media screen and (max-width: 750px) {
  .reform-mv-btn .btn-main {
    height: 10.6666666667vw;
  }
}
@media screen and (min-width: 751px) {
  .reform-mv-btn .btn-main span {
    font-size: 1.5277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .reform-mv-btn .btn-main span {
    font-size: 2.2rem;
  }
}
@media screen and (min-width: 751px) {
  .reform-mv-btn .btn-main:after {
    width: 0.9027777778vw;
    height: 1.3194444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .reform-mv-btn .btn-main:after {
    width: 13px;
    height: 19px;
  }
}

.reform-intro .pickup {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 751px) {
  .reform-intro .pickup {
    margin-top: 2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .reform-intro .pickup {
    margin-top: 40px;
  }
}

.reform-intro-text {
  position: relative;
  margin: 6.6666666667vw auto 0 auto;
  width: 90.6666666667vw;
}
@media screen and (min-width: 751px) {
  .reform-intro-text {
    margin: 3.4722222222vw auto 0 auto;
    width: 62.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .reform-intro-text {
    margin: 50px auto 0 auto;
    width: 900px;
  }
}

/* ------------------------------------------- relief - */
.sub--reform .relief {
  background-color: #f6efe6;
}

/* ------------------------------------------- relief - */
.sub--reform .reason {
  background-color: #ffffff;
}
.sub--reform .reason .c-reason {
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.5333333333vw;
}
@media screen and (min-width: 751px) {
  .sub--reform .reason .c-reason {
    border-width: 0.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--reform .reason .c-reason {
    border-width: 2px;
  }
}

/* ------------------------------------------- works - */
@media screen and (max-width: 750px) {
  .sub--reform .works {
    padding-bottom: 10.6666666667vw;
  }
}

/* sub --> apartment
-------------------------------------------------------------------------------*/
.sub--apartment {
  padding-top: 1.3333333333vw;
}
@media screen and (min-width: 751px) {
  .sub--apartment {
    padding-top: 0 !important;
  }
}

/* ------------------------------------------- works - */
@media screen and (max-width: 750px) {
  .sub--apartment .works {
    padding-bottom: 10.6666666667vw;
  }
}

/* ------------------------------------------- merit - */
.apartment-merit-image img {
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

.apartment-merit-about {
  margin-top: 6.6666666667vw;
  padding: 4.6666666667vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}

@media screen and (min-width: 751px) {
  .apartment-merit {
    margin: 0 auto;
    width: 69.4444444444vw;
  }
  .apartment-merit-image img {
    border-radius: 0.2777777778vw;
  }
  .apartment-merit-about {
    margin-top: 3.4722222222vw;
    padding: 2.4305555556vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .apartment-merit {
    width: 1000px;
  }
  .apartment-merit-image img {
    border-radius: 4px;
  }
  .apartment-merit-about {
    margin-top: 50px;
    padding: 35px;
    border-radius: 4px;
  }
}
/* ------------------------------------------- cost - */
.apartment-cost {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5.3333333333vw 0;
}

.apartment-cost > div {
  width: 100%;
}
.apartment-cost > div img {
  border-radius: 0.5333333333vw;
  overflow: hidden;
}

@media screen and (min-width: 751px) {
  .apartment-cost {
    gap: 2.7777777778vw 0;
    margin: 0 auto;
    width: 69.4444444444vw;
  }
  .apartment-cost > div img {
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .apartment-cost {
    gap: 40px 0;
    width: 1000px;
  }
  .apartment-cost > div img {
    border-radius: 4px;
  }
}
/* sub --> news
-------------------------------------------------------------------------------*/
.news {
  margin: 6.6666666667vw auto 0 auto;
  width: 92vw;
}

.p-news a {
  position: relative;
  padding: 6vw 12vw;
  display: block;
  background-color: #ffffff;
  border-radius: 15em;
}
.p-news a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7.4666666667vw;
  display: inline-block;
  width: 7.7333333333vw;
  height: 7.7333333333vw;
  background-image: url(../img/common/circle-arrow-og.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-news-heading {
  margin-bottom: 0.5em;
  color: #ff6f19;
  font-family: "Lato", sans-serif;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
  letter-spacing: 0;
}

.p-news-date {
  margin-bottom: 0.5em;
  color: #565656;
  line-height: 1.5em;
}

.p-news-ttl {
  width: 56vw;
  max-height: 3.4em;
  -webkit-line-clamp: 2;
  font-weight: 500;
  line-height: 1.7em;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (min-width: 751px) {
  .news {
    margin-top: 2.4305555556vw;
    width: 71.5277777778vw;
  }
  .p-news 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 7.6388888889vw 0 4.1666666667vw;
    height: 6.9444444444vw;
    border-radius: 3.4722222222vw;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
  .p-news a:after {
    right: 2.0833333333vw;
    width: 2.0833333333vw;
    height: 2.0833333333vw;
  }
  .p-news a:hover {
    background-color: #f3f3f3;
  }
  .p-news-heading {
    margin: 0 2.0833333333vw 0 0;
    font-size: 1.6666666667vw;
    text-align: left;
  }
  .p-news-date {
    margin: 0;
  }
  .p-news-ttl {
    width: 39.5833333333vw;
    max-height: 1.7em;
    -webkit-line-clamp: 1;
  }
}
@media screen and (min-width: 1441px) {
  .news {
    margin-top: 35px;
    width: 1030px;
  }
  .p-news a {
    padding: 0 110px 0 60px;
    height: 100px;
    border-radius: 50px;
  }
  .p-news a:after {
    right: 30px;
    width: 30px;
    height: 30px;
  }
  .p-news-heading {
    margin-right: 30px;
    font-size: 2.4rem;
  }
  .p-news-ttl {
    width: 570px;
  }
}
/*  #movie
-------------------------------------------------------------------------------*/
.movie {
  position: relative;
  padding: 9.3333333333vw 0 10.6666666667vw 0;
  background-color: #f3f3f3;
}

.movie-heading {
  position: relative;
  margin-bottom: 6.6666666667vw;
  z-index: 1;
}

.movie-catch {
  position: relative;
  margin: 0 auto 3.3333333333vw auto;
  width: 47.3333333333vw;
}

.movie-content {
  position: relative;
}

.movie-slide {
  position: relative;
}

.movie-slide .swiper-slide {
  left: 2vw;
  margin-right: 4vw;
  width: 60vw;
}

.movie-slide .swiper-slide:last-child {
  margin-right: 0;
}

#movie-pagination {
  margin-top: 4.6666666667vw;
}

@media screen and (min-width: 751px) {
  .movie {
    padding: 4.1666666667vw 0;
  }
  .movie-heading {
    margin-bottom: 2.4305555556vw;
  }
  .movie-catch {
    margin-bottom: 1.0416666667vw;
    width: 15.9027777778vw;
  }
  .movie-slide .swiper-slide {
    left: 0.9375vw;
    margin-right: 1.875vw;
    width: 23.6111111111vw;
  }
  #movie-pagination {
    margin-top: 2.4305555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .movie {
    padding: 60px 0;
  }
  .movie-heading {
    margin-bottom: 35px;
  }
  .movie-catch {
    margin-bottom: 15px;
    width: 229px;
  }
  .movie-slide .swiper-slide {
    left: 12px;
    margin-right: 24px;
    width: 300px;
  }
  #movie-pagination {
    margin-top: 35px;
  }
}
/* sub --> failure
-------------------------------------------------------------------------------*/
.failure {
  padding: 10.6666666667vw 0;
}

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

.failure-ja {
  position: relative;
}
.failure-ja:before {
  content: "";
  position: absolute;
  top: -1.3333333333vw;
  left: -3.3333333333vw;
  width: 17.3333333333vw;
  height: 20vw;
  background-image: url(../img/failure/wait_sp.png);
  background-size: contain;
}

.failure-slide {
  position: relative;
  margin-left: -4vw;
  width: 100vw;
}

.c-failure-icon {
  position: absolute;
  top: 50%;
  width: 18.6666666667vw;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-failure-content {
  position: relative;
  padding: 4vw 3.2vw 3.3333333333vw 3.2vw;
  border-radius: 2.1333333333vw;
}
.c-failure-content p {
  line-height: 1.6em;
}
.c-failure-content:before {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-failure-label {
  position: absolute;
  top: -2.1333333333vw;
  left: 3.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;
  padding: 0 1em 0.1em 1em;
  height: 4.2666666667vw;
  border-radius: 2.1333333333vw;
  color: #ffffff;
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1.4em;
}

.c-failure-user {
  position: relative;
}
.c-failure-user .c-failure-icon {
  left: -1.3333333333vw;
}
.c-failure-user .c-failure-content {
  background-color: #f3f3f3;
}
.c-failure-user .c-failure-content:before {
  right: 99.99999%;
  border-width: 2.1333333333vw 4.8vw 2.1333333333vw 0px;
  border-color: transparent #f3f3f3 transparent transparent;
}
.c-failure-user .c-failure-label {
  background-color: #7a7e93;
}

.c-failure-staff {
  position: relative;
  margin-top: 6.6666666667vw;
}
.c-failure-staff .c-failure-icon {
  right: -1.3333333333vw;
}
.c-failure-staff .c-failure-content {
  background-color: #ffeadd;
}
.c-failure-staff .c-failure-content:before {
  left: 99.99999%;
  border-width: 2.1333333333vw 0px 2.1333333333vw 4.8vw;
  border-color: transparent transparent transparent #ffeadd;
}
.c-failure-staff .c-failure-label {
  background-color: #ff6f19;
}

@media screen and (max-width: 750px) {
  .failure-ja {
    padding-left: 5.3333333333vw;
  }
  .failure-slide .swiper-slide {
    padding: 0 4vw;
    width: 100vw;
    height: auto;
  }
  .c-failure-user .c-failure-content {
    margin-left: auto;
    width: 69.3333333333vw;
  }
  .c-failure-staff .c-failure-content {
    width: 69.3333333333vw;
  }
  #failure-control {
    width: 80vw;
  }
}
@media screen and (min-width: 751px) {
  .failure {
    padding: 6.9444444444vw 0 5.5555555556vw 0;
  }
  .failure-heading {
    margin-bottom: 4.1666666667vw;
    text-align: center;
  }
  .failure-ja {
    display: inline-block;
  }
  .failure-ja:before {
    top: -3.125vw;
    left: -8.3333333333vw;
    width: 9.5138888889vw;
    height: 10.9027777778vw;
    background-image: url(../img/failure/wait.png);
    background-image: image-set(url(../img/failure/wait.png) 1x, url(../img/failure/wait-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/failure/wait.png) 1x, url(../img/failure/wait-2x.png) 2x);
  }
  .failure-slide {
    margin: 0 auto;
    width: 57.3611111111vw;
  }
  .failure-slide .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4.1666666667vw 0;
    width: auto;
    height: auto;
  }
  .c-failure {
    width: 100%;
  }
  .c-failure-icon {
    width: 6.9444444444vw;
  }
  .c-failure-content {
    margin: 0 auto;
    padding: 1.6666666667vw 2.2222222222vw 1.3888888889vw 2.2222222222vw;
    width: 37.2916666667vw;
    border-radius: 1.1111111111vw;
  }
  .c-failure-content p {
    line-height: 1.7em;
  }
  .c-failure-label {
    top: -0.9027777778vw;
    left: 2.0833333333vw;
    height: 1.8055555556vw;
    border-radius: 0.9027777778vw;
    font-size: 0.8333333333vw;
  }
  .c-failure-user .c-failure-icon {
    left: 0;
  }
  .c-failure-user .c-failure-content:before {
    border-width: 0.5555555556vw 1.25vw 0.5555555556vw 0px;
  }
  .c-failure-staff {
    margin-top: 1.7361111111vw;
  }
  .c-failure-staff .c-failure-icon {
    right: 0;
  }
  .c-failure-staff .c-failure-content:before {
    border-width: 0.5555555556vw 0px 0.5555555556vw 1.25vw;
  }
  #failure-control {
    display: none;
  }
}
@media screen and (min-width: 1441px) {
  .failure {
    padding: 100px 0 80px 0;
  }
  .failure-heading {
    margin-bottom: 60px;
  }
  .failure-ja:before {
    top: -45px;
    left: -120px;
    width: 137px;
    height: 157px;
  }
  .failure-slide {
    width: 826px;
  }
  .failure-slide .swiper-wrapper {
    gap: 60px 0;
  }
  .c-failure-icon {
    width: 100px;
  }
  .c-failure-content {
    padding: 24px 32px 20px 32px;
    width: 537px;
    border-radius: 16px;
  }
  .c-failure-label {
    top: -13px;
    left: 30px;
    height: 26px;
    border-radius: 13px;
    font-size: 1.2rem;
  }
  .c-failure-user .c-failure-content:before {
    border-width: 8px 18px 8px 0px;
  }
  .c-failure-staff {
    margin-top: 25px;
  }
  .c-failure-staff .c-failure-content:before {
    border-width: 8px 0px 8px 18px;
  }
}
/* sub --> flow
-------------------------------------------------------------------------------*/
.flow {
  position: relative;
  padding: 9.3333333333vw 0 10.6666666667vw 0;
}

.flow-heading {
  position: relative;
  margin-bottom: 6.6666666667vw;
  z-index: 1;
}

.flow-catch {
  position: relative;
  margin: 0 auto 1.3333333333vw auto;
  width: 56.9333333333vw;
}

.flow-ja {
  position: relative;
}
.flow-ja:before, .flow-ja:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
}
.flow-ja:before {
  top: -2vw;
  left: 6.6666666667vw;
  width: 4.4vw;
  height: 16.9333333333vw;
  background-image: url(../img/flow/pliers.svg);
  -webkit-transform: rotate(18.16deg);
          transform: rotate(18.16deg);
}
.flow-ja:after {
  top: -4.6666666667vw;
  right: 6vw;
  width: 4.1333333333vw;
  height: 19.4666666667vw;
  background-image: url(../img/flow/driver.svg);
  -webkit-transform: rotate(-24.5deg);
          transform: rotate(-24.5deg);
}

.flow-content {
  position: relative;
}

.flow-slide {
  position: relative;
}

.c-flow {
  position: relative;
}

.c-flow-head {
  margin-bottom: 4vw;
}

.c-flow-num {
  margin-bottom: 0.7em;
  color: #ff6f19;
  font-family: "Lato", sans-serif;
  font-size: 5.3333333333vw;
  font-weight: 700;
  text-align: center;
}

.c-flow-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.6em;
  font-size: 4.2666666667vw;
  line-height: 1.3em;
}

.c-flow-ja {
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.3em;
}
.c-flow-ja span {
  font-size: 3.4666666667vw;
}

.c-flow-text p {
  line-height: 1.5em;
}

.c-flow-image {
  position: relative;
  margin-top: 2.6666666667vw;
}
.c-flow-image img {
  border-radius: 0.5333333333vw;
}

@media screen and (max-width: 750px) {
  .flow-slide .swiper-slide {
    left: 2vw;
    margin-right: 4vw;
    padding: 5.3333333333vw 4vw 4vw 4vw;
    width: 68vw;
    border-color: #cfcfcf;
    border-style: solid;
    border-width: 0.5333333333vw;
  }
  .flow-slide .swiper-slide:last-child {
    margin-right: 0;
  }
}
@media screen and (min-width: 751px) {
  .flow {
    padding: 5.5555555556vw 0;
  }
  .flow-heading {
    margin-bottom: 4.8611111111vw;
    text-align: center;
  }
  .flow-catch {
    margin-bottom: 1.3888888889vw;
    width: 19.1666666667vw;
  }
  .flow-ja {
    display: inline-block;
  }
  .flow-ja:before {
    top: -1.7361111111vw;
    left: -6.25vw;
    width: 1.9444444444vw;
    height: 7.3611111111vw;
  }
  .flow-ja:after {
    top: -2.4305555556vw;
    right: -6.5972222222vw;
    width: 1.8055555556vw;
    height: 8.5416666667vw;
  }
  .flow-slide .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3.4722222222vw 2.7777777778vw;
    width: auto;
    height: auto;
  }
  .c-flow {
    width: 23.6111111111vw;
  }
  .c-flow-head {
    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-bottom: 1.0416666667vw;
  }
  .c-flow-num {
    margin: 0;
    font-size: 1.0416666667vw;
    text-align: center;
  }
  .c-flow-num span {
    display: inline-block;
    margin-top: 0.2em;
    font-size: 2.2222222222vw;
  }
  .c-flow-ttl {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 19.4444444444vw;
    min-height: 2.6em;
    font-size: 1.5277777778vw;
    text-align: left;
  }
  .c-flow-ja {
    font-size: 1.5277777778vw;
    text-align: left;
  }
  .c-flow-ja span {
    display: inline-block;
    font-size: 1.25vw;
    text-indent: -0.5em;
  }
  .c-flow-image {
    margin-top: 1.0416666667vw;
  }
  .c-flow-image img {
    border-radius: 0.2777777778vw;
  }
  .c-flow-image:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -2.5vw;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2.6388888889vw 0px 2.6388888889vw 2.2222222222vw;
    border-color: transparent transparent transparent #ffa73c;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .flow-slide .swiper-wrapper .c-flow:nth-child(1) .c-flow-image:before,
  .flow-slide .swiper-wrapper .c-flow:nth-child(4) .c-flow-image:before {
    content: none;
  }
  #flow-control {
    display: none;
  }
}
@media screen and (min-width: 1441px) {
  .flow {
    padding: 80px 0;
  }
  .flow-heading {
    margin-bottom: 70px;
  }
  .flow-catch {
    margin-bottom: 20px;
    width: 276px;
  }
  .flow-ja:before {
    top: -25px;
    left: -90px;
    width: 28px;
    height: 106px;
  }
  .flow-ja:after {
    top: -35px;
    right: -95px;
    width: 26px;
    height: 123px;
  }
  .flow-slide .swiper-wrapper {
    gap: 50px 40px;
  }
  .c-flow {
    width: 340px;
  }
  .c-flow-head {
    margin-bottom: 15px;
  }
  .c-flow-num {
    font-size: 1.5rem;
  }
  .c-flow-num span {
    font-size: 3.2rem;
  }
  .c-flow-ttl {
    width: 280px;
    font-size: 2.2rem;
  }
  .c-flow-ja {
    font-size: 2.2rem;
  }
  .c-flow-ja span {
    font-size: 1.8rem;
  }
  .c-flow-image {
    margin-top: 15px;
  }
  .c-flow-image img {
    border-radius: 4px;
  }
  .c-flow-image:before {
    left: -36px;
    border-width: 38px 0px 38px 32px;
  }
}
/* sub --> reform --> subsidy
-------------------------------------------------------------------------------*/
.subsidy {
  position: relative;
  padding: 10.6666666667vw 0;
}

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

.subsidy-ja:before, .subsidy-ja:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-size: contain;
}
.subsidy-ja:before {
  top: -2vw;
  left: -2vw;
  width: 26.6666666667vw;
  height: 17.3333333333vw;
  background-image: url(../img/subsidy/pen.svg);
}
.subsidy-ja:after {
  top: 0;
  right: 0;
  width: 13.7333333333vw;
  height: 16vw;
  background-image: url(../img/subsidy/binder.svg);
}

.subsidy-table {
  margin-bottom: 6.6666666667vw;
}

.subsidy-table table {
  width: 100%;
  border: 1px solid #cfcfcf;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 1.0666666667vw;
  overflow: hidden;
}
.subsidy-table table th,
.subsidy-table table td {
  border-right-color: #cfcfcf;
  border-right-style: solid;
  border-right-width: 1px;
  border-bottom-color: #cfcfcf;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  line-height: 1.5em;
}
.subsidy-table table th:last-child,
.subsidy-table table td:last-child {
  border-right: none;
}
.subsidy-table table tbody tr th {
  border-bottom: none;
}
.subsidy-table table tbody tr:last-child td {
  border-bottom: none;
}
.subsidy-table table thead th {
  background-color: #ff6f19;
  color: #ffffff;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
}
.subsidy-table table tbody th {
  background-color: #f3f3f3;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
}
.subsidy-table table tbody td {
  background-color: #ffffff;
  font-size: 3.7333333333vw;
  font-weight: 700;
}

.subsidy-table-name {
  padding: 2vw;
  width: 29.3333333333vw;
  text-align: center;
}

.subsidy-table-target {
  padding: 2vw;
  width: 28.8vw;
}

.subsidy-table-price {
  padding: 2vw;
  width: 33.8666666667vw;
  text-align: right;
}
.subsidy-table-price span {
  color: #fe0032;
  font-family: "Lato", sans-serif;
  font-size: 4.8vw;
  font-weight: 700;
  left: 0;
}

.subsidy-slide {
  position: relative;
}

.c-subsidy {
  display: block;
  padding: 8vw 5.0666666667vw 5.3333333333vw 5.0666666667vw;
  width: 68vw;
  background-color: #ffffff;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 2.1333333333vw;
}

.c-subsidy-image {
  margin: 0 auto 5.3333333333vw auto;
  width: 22.1333333333vw;
}

.c-subsidy-head {
  margin-bottom: 4vw;
}

.c-subsidy-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;
  width: 11.2vw;
  height: 11.2vw;
  background-color: rgba(255, 111, 25, 0.15);
  border-radius: 50%;
  color: #ff6f19;
  font-family: "Lato", sans-serif;
  font-size: 5.3333333333vw;
  font-weight: 700;
  letter-spacing: 0;
}

.c-subsidy-ttl {
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.4em;
}

.c-subsidy-text p {
  line-height: 1.5em;
}

.c-subsidy-btn {
  margin-top: 5.3333333333vw;
  text-align: right;
}

.c-subsidy-btn a {
  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-right: 8.6666666667vw;
  height: 6.4vw;
}
.c-subsidy-btn a span {
  position: relative;
  padding: 0.2em;
  font-size: 3.7333333333vw;
  line-height: 1.5em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.c-subsidy-btn a span:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #2f2725;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.c-subsidy-btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-block;
  width: 6.4vw;
  height: 6.4vw;
  background-image: url(../img/common/circle-arrow-og.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
  .c-subsidy {
    left: 2vw;
    margin-right: 4vw;
    width: 66.6666666667vw;
  }
  .swiper-slide .c-subsidy:last-child {
    margin-right: 0;
  }
  .c-subsidy-num {
    position: absolute;
    top: 4vw;
    left: 4vw;
  }
  .subsidy-table-target {
    text-align: center;
  }
}
@media screen and (min-width: 751px) {
  .subsidy {
    padding: 6.9444444444vw 0 5.5555555556vw 0;
  }
  .subsidy-heading {
    margin-bottom: 2.7777777778vw;
    text-align: center;
  }
  .subsidy-ja {
    display: inline-block;
  }
  .subsidy-ja:before {
    top: 0.3472222222vw;
    left: -10.0694444444vw;
    width: 10.9027777778vw;
    height: 7.1527777778vw;
  }
  .subsidy-ja:after {
    top: 0.3472222222vw;
    right: -10.4166666667vw;
    width: 6.0416666667vw;
    height: 7.0138888889vw;
  }
  .subsidy-table {
    margin: 0 auto 4.1666666667vw auto;
    width: 56.25vw;
  }
  .subsidy-table table {
    border: 0.0694444444vw solid #cfcfcf;
    border-radius: 0.5555555556vw;
  }
  .subsidy-table table th,
  .subsidy-table table td {
    border-right-width: 0.0694444444vw;
    border-bottom-width: 0.0694444444vw;
  }
  .subsidy-table table thead th {
    font-size: 1.25vw;
  }
  .subsidy-table table tbody th {
    font-size: 1.25vw;
  }
  .subsidy-table table tbody td {
    font-size: 1.1111111111vw;
  }
  .subsidy-table-name {
    padding: 1.25vw;
    width: 15.2777777778vw;
  }
  .subsidy-table-target {
    padding: 1.25vw 3.4722222222vw;
    width: 25.6944444444vw;
  }
  .subsidy-table-price {
    padding: 1.25vw 2.0833333333vw;
    width: 15.2777777778vw;
  }
  .subsidy-table-price span {
    font-size: 1.3888888889vw;
  }
  .subsidy-slide {
    margin: 0 auto;
    width: 58.3333333333vw;
  }
  .subsidy-slide .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.0833333333vw 0;
    width: auto;
    height: auto;
  }
  .c-subsidy {
    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 4.1666666667vw 2.7777777778vw 6.5972222222vw;
    width: 100%;
    border-width: 0.1388888889vw;
    border-radius: 1.1111111111vw;
  }
  .c-subsidy-image {
    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;
    width: 9.375vw;
    height: 9.375vw;
  }
  .c-subsidy-content {
    width: 31.9444444444vw;
  }
  .c-subsidy-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1.7361111111vw;
  }
  .c-subsidy-num {
    margin-right: 1.0416666667vw;
    width: 2.9166666667vw;
    height: 2.9166666667vw;
    font-size: 1.25vw;
  }
  .c-subsidy-ttl {
    font-size: 1.5277777778vw;
    text-align: left;
  }
  .c-subsidy-btn {
    margin-top: 1.3888888889vw;
  }
  .c-subsidy-btn a {
    padding: 0.5em 0.2em;
    padding-right: 3.125vw;
    height: 2.2222222222vw;
  }
  .c-subsidy-btn a span {
    font-size: 1.1111111111vw;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .c-subsidy-btn a span:after {
    height: 0.0694444444vw;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
  .c-subsidy-btn a:after {
    width: 2.2222222222vw;
    height: 2.2222222222vw;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .c-subsidy-btn a:hover span {
    color: #ff6f19;
  }
  .c-subsidy-btn a:hover span:after {
    background-color: #ff6f19;
  }
  .c-subsidy-btn a:hover:after {
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
}
@media screen and (min-width: 1441px) {
  .subsidy {
    padding: 100px 0 80px 0;
  }
  .subsidy-heading {
    margin-bottom: 40px;
  }
  .subsidy-ja:before {
    top: 5px;
    left: -145px;
    width: 157px;
    height: 103px;
  }
  .subsidy-ja:after {
    top: 5px;
    right: -150px;
    width: 87px;
    height: 101px;
  }
  .subsidy-table {
    margin: 0 auto 60px auto;
    width: 810px;
  }
  .subsidy-table table {
    border: 1px solid #cfcfcf;
    border-radius: 8px;
  }
  .subsidy-table table th,
  .subsidy-table table td {
    border-right-width: 1px;
    border-bottom-width: 1px;
  }
  .subsidy-table table thead th {
    font-size: 1.8rem;
  }
  .subsidy-table table tbody th {
    font-size: 1.8rem;
  }
  .subsidy-table table tbody td {
    font-size: 1.6rem;
  }
  .subsidy-table-name {
    padding: 18px;
    width: 220px;
  }
  .subsidy-table-target {
    padding: 18px 50px;
    width: 370px;
  }
  .subsidy-table-price {
    padding: 18px 30px;
    width: 220px;
  }
  .subsidy-table-price span {
    font-size: 2rem;
  }
  .subsidy-slide {
    width: 840px;
  }
  .subsidy-slide .swiper-wrapper {
    gap: 30px 0;
  }
  .c-subsidy {
    padding: 40px 60px 40px 95px;
    border-width: 2px;
    border-radius: 16px;
  }
  .c-subsidy-image {
    width: 135px;
    height: 135px;
  }
  .c-subsidy-content {
    width: 460px;
  }
  .c-subsidy-head {
    margin-bottom: 25px;
  }
  .c-subsidy-num {
    margin-right: 15px;
    width: 42px;
    height: 42px;
    font-size: 1.8rem;
  }
  .c-subsidy-ttl {
    font-size: 2.2rem;
  }
  .c-subsidy-btn {
    margin-top: 20px;
  }
  .c-subsidy-btn a {
    padding-right: 45px;
    height: 32px;
  }
  .c-subsidy-btn a span {
    font-size: 1.6rem;
  }
  .c-subsidy-btn a span:after {
    height: 1px;
  }
  .c-subsidy-btn a:after {
    width: 32px;
    height: 32px;
  }
}
/* sub --> estimate
-------------------------------------------------------------------------------*/
.sub--estimate {
  padding: 1.3333333333vw 0 0 0;
}
@media screen and (min-width: 751px) {
  .sub--estimate {
    padding: 0 !important;
  }
}

/* ------------------------------------------- mv - */
.estimate-mv {
  position: relative;
  margin: 0 auto;
  width: 92vw;
}
@media screen and (min-width: 751px) {
  .estimate-mv {
    width: 69.4444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .estimate-mv {
    width: 1000px;
  }
}

/* ------------------------------------------- register - */
.estimate-register {
  position: relative;
  padding: 8vw 0 10.6666666667vw 0;
}
.estimate-register:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% + 82.6666666667vw);
  background-color: #fff0e8;
  z-index: -1;
}

.estimate-register .inner:before, .estimate-register .inner:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(../img/common/dot.png);
  background-size: contain;
  z-index: -1;
}
.estimate-register .inner:before {
  top: 8vw;
  left: -5.3333333333vw;
  width: 21.0666666667vw;
  height: 21.2vw;
}
.estimate-register .inner:after {
  top: -18.6666666667vw;
  right: -2vw;
  width: 28.4vw;
  height: 28.5333333333vw;
}

.estimate-register-heading {
  position: relative;
  margin-bottom: 2.6666666667vw;
  text-align: center;
}
.estimate-register-heading span {
  position: relative;
  padding: 0 6.6666666667vw;
  font-size: 6.4vw;
  font-weight: 700;
  line-height: 1.5em;
}
.estimate-register-heading span:before, .estimate-register-heading span:after {
  content: "";
  position: absolute;
  bottom: 0;
  display: inline-block;
  width: 4vw;
  height: 7.6vw;
  background-image: url(../img/estimate/slash.svg);
  background-size: contain;
}
.estimate-register-heading span:before {
  left: 0;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}
.estimate-register-heading span:after {
  right: 0;
}

@media screen and (max-width: 750px) {
  .estimate-register-method-image {
    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 4vw auto;
    height: 25.3333333333vw;
  }
  .estimate-register-method > div:nth-child(1) .estimate-register-method-image {
    width: 25.3333333333vw;
  }
  .estimate-register-method > div:nth-child(2) .estimate-register-method-image {
    width: 26.9333333333vw;
  }
  .estimate-register-method-content {
    text-align: center;
  }
  .estimate-register-method-subttl {
    display: inline-block;
  }
}
@media screen and (min-width: 751px) {
  .estimate-register {
    padding: 5.5555555556vw 0 4.1666666667vw 0;
  }
  .estimate-register:before {
    height: calc(100% + 14.9305555556vw);
  }
  .estimate-register .inner:before {
    top: 1.7361111111vw;
    left: 12.8472222222vw;
    width: 8.3333333333vw;
    height: 8.2638888889vw;
  }
  .estimate-register .inner:after {
    top: -9.0277777778vw;
    right: 7.6388888889vw;
    width: 12.0833333333vw;
    height: 12.1527777778vw;
  }
  .estimate-register-heading {
    margin-bottom: 1.7361111111vw;
  }
  .estimate-register-heading span {
    padding: 0 3.8194444444vw;
    font-size: 2.7777777778vw;
  }
  .estimate-register-heading span:before, .estimate-register-heading span:after {
    width: 2.0833333333vw;
    height: 3.9583333333vw;
    background-image: url(../img/estimate/slash.svg);
  }
}
@media screen and (min-width: 1441px) {
  .estimate-register {
    padding: 80px 0 60px 0;
  }
  .estimate-register:before {
    height: calc(100% + 215px);
  }
  .estimate-register .inner:before {
    top: 25px;
    left: 185px;
    width: 120px;
    height: 119px;
  }
  .estimate-register .inner:after {
    top: -130px;
    right: 110px;
    width: 174px;
    height: 175px;
  }
  .estimate-register-heading {
    margin-bottom: 25px;
  }
  .estimate-register-heading span {
    padding: 0 55px;
    font-size: 4rem;
  }
  .estimate-register-heading span:before, .estimate-register-heading span:after {
    width: 30px;
    height: 57px;
  }
}
/* ------------------------------------------- flow - */
.estimate-flow {
  padding: 13.3333333333vw 0 10.6666666667vw 0;
}

.estimate-flow .heading {
  margin-bottom: 6.6666666667vw;
}

.estimate-flow .heading-ttl {
  text-align: center;
}

.estimate-flow .heading-ja {
  position: relative;
  display: inline-block;
  padding: 0 12.2666666667vw;
}
.estimate-flow .heading-ja span {
  color: #ff5f00;
  font-size: 6.4vw;
}
.estimate-flow .heading-ja:before, .estimate-flow .heading-ja:after {
  content: "";
  position: absolute;
  bottom: 10px;
  width: 8.9333333333vw;
  height: 16.4vw;
  background-image: url(../img/estimate/deco.svg);
  background-size: contain;
}
.estimate-flow .heading-ja:before {
  left: 0;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}
.estimate-flow .heading-ja:after {
  right: 0;
}

.c-estimate-flow {
  position: relative;
  padding: 26.6666666667vw 4vw 4vw 4vw;
  width: 68vw;
  height: auto;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 2.6666666667vw;
}
.c-estimate-flow > div {
  height: 100%;
}

.c-estimate-flow-image {
  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: 45.6vw;
}
.c-estimate-flow-image img {
  height: auto;
}

.c-estimate-flow--1 .c-estimate-flow-image img {
  width: 29.8666666667vw;
}

.c-estimate-flow--2 .c-estimate-flow-image img {
  width: 41.8666666667vw;
}

.c-estimate-flow--3 .c-estimate-flow-image img {
  width: 18.8vw;
}

.c-estimate-flow--4 .c-estimate-flow-image img {
  width: 25.4666666667vw;
}

.c-estimate-flow--5 .c-estimate-flow-image img {
  width: 41.7333333333vw;
}

.c-estimate-flow--6 .c-estimate-flow-image img {
  width: 39.0666666667vw;
}

.c-estimate-flow-num {
  color: #ff5f00;
  font-family: "Lato", sans-serif;
  font-size: 5.3333333333vw;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
}

.c-estimate-flow-ttl {
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.31em;
}

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

@media screen and (max-width: 750px) {
  .c-estimate-flow {
    left: 2vw;
    margin-right: 4vw;
  }
  .estimate-flow-slide .swiper-slide:last-child {
    margin-right: 0;
  }
  .c-estimate-flow-head {
    position: absolute;
    top: 6vw;
    left: 50%;
    width: 57.3333333333vw;
    text-align: center;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .c-estimate-flow-num {
    margin-bottom: 0.5em;
  }
}
@media screen and (min-width: 751px) {
  .estimate-flow {
    padding: 6.9444444444vw 0 5.5555555556vw 0;
  }
  .estimate-flow .heading {
    margin-bottom: 3.4722222222vw;
  }
  .estimate-flow .heading-ja {
    padding: 0 5vw;
  }
  .estimate-flow .heading-ja span {
    font-size: 2.7777777778vw;
  }
  .estimate-flow .heading-ja:before, .estimate-flow .heading-ja:after {
    bottom: 0.6944444444vw;
    width: 3.2638888889vw;
    height: 6.0416666667vw;
  }
  .estimate-flow-slide .swiper-wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.7777777778vw;
    width: auto;
    height: auto;
  }
  .c-estimate-flow {
    padding: 1.3888888889vw 2.5694444444vw;
    width: 23.6111111111vw;
    border-width: 0.1388888889vw;
    border-radius: 1.3888888889vw;
  }
  .c-estimate-flow:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 99.99999%;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2.6388888889vw 0px 2.6388888889vw 2.2222222222vw;
    border-color: transparent transparent transparent #ffa73c;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .c-estimate-flow-image {
    height: 14.0277777778vw;
  }
  .c-estimate-flow--1 .c-estimate-flow-image img {
    width: 9.1666666667vw;
  }
  .c-estimate-flow--2 .c-estimate-flow-image img {
    width: 12.2916666667vw;
  }
  .c-estimate-flow--3:after {
    content: none;
  }
  .c-estimate-flow--3 .c-estimate-flow-image img {
    width: 5.8333333333vw;
  }
  .c-estimate-flow--4 .c-estimate-flow-image img {
    width: 7.0138888889vw;
  }
  .c-estimate-flow--5 .c-estimate-flow-image img {
    width: 12.5vw;
  }
  .c-estimate-flow--6:after {
    content: none;
  }
  .c-estimate-flow--6 .c-estimate-flow-image img {
    width: 10.2777777778vw;
  }
  .c-estimate-flow-head {
    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: 1.3888888889vw;
  }
  .c-estimate-flow-num {
    font-size: 1.0416666667vw;
  }
  .c-estimate-flow-num span {
    display: inline-block;
    margin-top: 0.2em;
    font-size: 2.2222222222vw;
  }
  .c-estimate-flow-ttl {
    width: calc(100% - 3.8194444444vw);
    font-size: 1.5277777778vw;
  }
  .c-estimate-flow-text {
    margin-top: 1em;
  }
  .c-estimate-flow-text p {
    letter-spacing: 0.03em;
  }
}
@media screen and (min-width: 1441px) {
  .estimate-flow {
    padding: 100px 0 80px 0;
  }
  .estimate-flow .heading {
    margin-bottom: 50px;
  }
  .estimate-flow .heading-ja {
    padding: 0 72px;
  }
  .estimate-flow .heading-ja span {
    font-size: 4rem;
  }
  .estimate-flow .heading-ja:before, .estimate-flow .heading-ja:after {
    bottom: 10px;
    width: 47px;
    height: 87px;
  }
  .estimate-flow-slide .swiper-wrapper {
    gap: 40px;
  }
  .c-estimate-flow {
    padding: 20px 37px;
    width: 340px;
    border-width: 1px;
    border-radius: 20px;
  }
  .c-estimate-flow:after {
    border-width: 38px 0px 38px 32px;
  }
  .c-estimate-flow-image {
    height: 202px;
  }
  .c-estimate-flow--1 .c-estimate-flow-image img {
    width: 132px;
  }
  .c-estimate-flow--2 .c-estimate-flow-image img {
    width: 177px;
  }
  .c-estimate-flow--3 .c-estimate-flow-image img {
    width: 84px;
  }
  .c-estimate-flow--4 .c-estimate-flow-image img {
    width: 101px;
  }
  .c-estimate-flow--5 .c-estimate-flow-image img {
    width: 180px;
  }
  .c-estimate-flow--6 .c-estimate-flow-image img {
    width: 148px;
  }
  .c-estimate-flow-head {
    margin-top: 20px;
  }
  .c-estimate-flow-num {
    font-size: 1.5rem;
  }
  .c-estimate-flow-num span {
    font-size: 3.2rem;
  }
  .c-estimate-flow-ttl {
    width: calc(100% - 55px);
    font-size: 2.2rem;
  }
}
/* sub --> simulation
-------------------------------------------------------------------------------*/
.sub--simulation {
  padding-top: 1.3333333333vw;
}
@media screen and (min-width: 751px) {
  .sub--simulation {
    padding-top: 0 !important;
  }
}

/* ------------------------------------------- confirmation - */
.form-confirmation {
  position: relative;
  margin-bottom: 6.6666666667vw;
  padding: 6.6666666667vw 4vw;
  background-color: #ffffff;
}
@media screen and (max-width: 750px) {
  .form-confirmation {
    margin-left: auto;
    margin-right: auto;
    width: 94.6666666667vw;
    border-color: #C4302B;
    border-style: solid;
    border-width: 0.5333333333vw;
    border-radius: 2.1333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .form-confirmation {
    margin-bottom: 3.4722222222vw;
    padding: 4.1666666667vw 4.8611111111vw;
    border-color: #C4302B;
    border-style: solid;
    border-width: 0.2083333333vw;
    border-radius: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-confirmation {
    margin-bottom: 50px;
    padding: 60px 70px;
    border-width: 3px;
    border-radius: 16px;
  }
}

.float-estimate-subsidy {
  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;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1.1em;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2vw;
  margin-top: 2vw;
}
@media screen and (min-width: 751px) {
  .float-estimate-subsidy {
    font-size: 0.8333333333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.6944444444vw;
    margin-top: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .float-estimate-subsidy {
    font-size: 1.2rem;
    gap: 10px;
    margin-top: 10px;
  }
}
.float-estimate-subsidy .c-item-subsidy {
  padding: 0 0.5em 0.1em 0.5em;
  height: 5.0666666667vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  padding: 10px;
  border: 1px solid #ff6f19;
  background-color: transparent;
  color: #ff6f19;
}
@media screen and (min-width: 751px) {
  .float-estimate-subsidy .c-item-subsidy {
    height: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .float-estimate-subsidy .c-item-subsidy {
    height: 18px;
  }
}

/* ------------------------------------------- pref - */
.form-pref {
  position: relative;
  margin-bottom: 6.6666666667vw;
  padding: 6.6666666667vw 2.6666666667vw;
  background-color: #f3f3f3;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .form-pref {
    margin-left: auto;
    margin-right: auto;
    width: 94.6666666667vw;
    border-radius: 2.1333333333vw;
  }
}
@media screen and (min-width: 751px) {
  .form-pref {
    margin-bottom: 3.4722222222vw;
    padding: 4.1666666667vw 4.8611111111vw;
    border-radius: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-pref {
    margin-bottom: 50px;
    padding: 60px 70px;
    border-radius: 16px;
  }
}

.form-pref .form-input {
  display: inline-block;
}
@media screen and (min-width: 751px) {
  .form-pref .form-input {
    max-width: 34.7222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-pref .form-input {
    max-width: 500px;
  }
}

.form-pref .form-input .wpcf7-radio {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.form-pref .form-input .wpcf7-radio .wpcf7-list-item {
  width: 100%;
  text-align: left;
}
@media screen and (min-width: 751px) {
  .form-pref .form-input .wpcf7-radio input[type=radio] + span {
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-pref .form-input .wpcf7-radio input[type=radio] + span {
    font-size: 2rem;
  }
}

.form-confirmation-heading,
.form-pref-heading {
  margin-bottom: 1.5em;
  color: #C4302B;
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .form-confirmation-heading,
  .form-pref-heading {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-confirmation-heading,
  .form-pref-heading {
    font-size: 2.4rem;
  }
}

.form-confirmation .form-agree-text {
  margin-top: 1em;
  color: #C4302B;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .form-confirmation .form-agree-text {
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-confirmation .form-agree-text {
    font-size: 2rem;
  }
}

.form-confirmation-check {
  counter-reset: cnt;
}

.form-confirmation-check > li:nth-child(n+2) {
  margin-top: 30px;
}
@media screen and (min-width: 751px) {
  .form-confirmation-check > li:nth-child(n+2) {
    margin-top: 2.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-confirmation-check > li:nth-child(n+2) {
    margin-top: 30px;
  }
}

.form-confirmation-check-heading {
  position: relative;
  margin-bottom: 0.7em;
  padding-left: 9.3333333333vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.6em;
}
@media screen and (min-width: 751px) {
  .form-confirmation-check-heading {
    padding-left: 3.125vw;
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-confirmation-check-heading {
    padding-left: 45px;
    font-size: 1.8rem;
  }
}

.form-confirmation-check > li .form-confirmation-check-heading:before {
  counter-increment: cnt;
  content: counter(cnt, decimal);
  position: absolute;
  top: 0;
  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: 6.6666666667vw;
  height: 6.6666666667vw;
  background-color: #C4302B;
  border-radius: 50%;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) {
  .form-confirmation-check > li .form-confirmation-check-heading:before {
    top: -0.2em;
    width: 2.4305555556vw;
    height: 2.4305555556vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-confirmation-check > li .form-confirmation-check-heading:before {
    width: 35px;
    height: 35px;
    font-size: 1.6rem;
  }
}

.form-confirmation-check > li > ul {
  margin-left: 9.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form-confirmation-check > li > ul {
    margin-left: 3.125vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-confirmation-check > li > ul {
    margin-left: 45px;
  }
}

.form-confirmation-check > li > ul > li {
  position: relative;
  padding-left: 1em;
  line-height: 1.6em;
}
.form-confirmation-check > li > ul > li:before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.6em;
  height: 0.6em;
  background-color: #565656;
  border-radius: 50%;
}
.form-confirmation-check > li > ul > li a {
  color: #004EAA;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
@media screen and (min-width: 751px) {
  .form-confirmation-check > li > ul > li a {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
}
@media screen and (min-width: 751px) {
  .form-confirmation-check > li > ul > li a:hover {
    color: #565656;
  }
}

.form-confirmation-check > li > ul > li:nth-child(n+2) {
  margin-top: 0.7em;
}

/* ------------------------------------------- window - */
.form-window-step .form-window-step-item:nth-child(n+2) {
  margin-top: 9.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form-window-step .form-window-step-item:nth-child(n+2) {
    margin-top: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-step .form-window-step-item:nth-child(n+2) {
    margin-top: 50px;
  }
}

/* ------------------------------------------- heading - */
.form-window-head {
  margin: 0 0 1.5em -4vw;
  padding: 0.7em 1em 0.8em 1em;
  width: 100vw;
  background-color: #ff6f19;
}
@media screen and (min-width: 751px) {
  .form-window-head {
    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: 0 0 1.7em -1.7361111111vw;
    width: 62.7777777778vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-head {
    margin-left: -25px;
    width: 904px;
    border-radius: 4px;
  }
}

.form-window-heading3 {
  position: relative;
  padding-left: 8vw;
  color: #ffffff;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-window-heading3 {
    padding-left: 3.4722222222vw;
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-heading3 {
    padding-left: 50px;
    font-size: 2rem;
  }
}
.form-window-heading3:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 6.4vw;
  height: 6.4vw;
  background-image: url(../img/simulation/icon.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .form-window-heading3:before {
    width: 2.6388888889vw;
    height: 2.6388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-heading3:before {
    width: 38px;
    height: 38px;
  }
}

.form-window-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2vw;
  width: 66vw;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 750px) {
  .form-window-control {
    margin: 2.6666666667vw 0 0 auto;
  }
}
@media screen and (min-width: 751px) {
  .form-window-control {
    gap: 0.6944444444vw;
    width: 20.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-control {
    gap: 10px;
    width: 290px;
  }
}

.form-window-confirm,
.form-window-delete {
  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: 1.5em;
  width: 32vw;
  height: 6.9333333333vw;
  border-radius: 0.6666666667vw;
  color: #2f2725;
  font-family: "Lato", sans-serif;
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .form-window-confirm,
  .form-window-delete {
    width: 9.7222222222vw;
    height: 2.2222222222vw;
    border-radius: 0.3472222222vw;
    font-size: 0.9027777778vw;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-confirm,
  .form-window-delete {
    width: 140px;
    height: 32px;
    border-radius: 5px;
    font-size: 1.3rem;
  }
}
.form-window-confirm:after,
.form-window-delete:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .form-window-confirm:after,
  .form-window-delete:after {
    right: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-confirm:after,
  .form-window-delete:after {
    right: 10px;
  }
}

.form-window-confirm {
  background-color: #ffffff;
}
.form-window-confirm:after {
  background-image: url(../img/simulation/down-og.svg);
}
@media screen and (min-width: 751px) {
  .form-window-confirm:hover {
    background-color: #fff0e8;
  }
}

.form-window-delete {
  background-color: #cfcfcf;
}
.form-window-delete:after {
  background-image: url(../img/simulation/delete-bk.svg);
}
@media screen and (min-width: 751px) {
  .form-window-delete:hover {
    background-color: #999;
  }
}

.form-window-heading4 {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  border-bottom-color: #ff6f19;
  border-bottom-style: solid;
  border-bottom-width: 0.5333333333vw;
  font-family: "Lato", sans-serif;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .form-window-heading4 {
    border-bottom-width: 0.1388888889vw;
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-heading4 {
    border-bottom-width: 2px;
    font-size: 2rem;
  }
}
.form-window-heading4 span {
  display: inline-block;
  margin-left: 0.25em;
  color: #ff6f19;
}

/* ------------------------------------------- btn - */
.form-step-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;
  padding-right: 2vw;
  width: 56vw;
  height: 12vw;
  background-color: #ff6f19;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 1.3333333333vw;
  color: #ffffff;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.4em;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .form-step-btn {
    margin-top: 2.7777777778vw;
    padding-right: 1.0416666667vw;
    width: 22.2222222222vw;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 0.6944444444vw;
    font-size: 1.25vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-step-btn {
    margin-top: 40px;
    padding-right: 15px;
    width: 320px;
    height: 60px;
    border-width: 2px;
    border-radius: 10px;
    font-size: 1.8rem;
  }
}
.form-step-btn:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4vw;
  display: inline-block;
  width: 4vw;
  height: 4vw;
  background-image: url(../img/simulation/next-wh.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .form-step-btn:after {
    right: 2.0833333333vw;
    width: 1.3888888889vw;
    height: 1.3888888889vw;
    -webkit-transition: background-image 0.3s;
    transition: background-image 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-step-btn:after {
    right: 30px;
    width: 20px;
    height: 20px;
  }
}
@media screen and (min-width: 751px) {
  .form-step-btn:hover {
    background-color: #ffffff;
    color: #ff6f19;
  }
}
@media screen and (min-width: 751px) {
  .form-step-btn:hover:after {
    background-image: url(../img/simulation/next-og.svg);
  }
}

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

.form-add-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: 5.3333333333vw auto 0 auto;
  padding-left: 2vw;
  width: 56vw;
  height: 12vw;
  background-color: #ff6f19;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 1.3333333333vw;
  color: #ffffff;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.4em;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .form-add-btn {
    margin: 2.0833333333vw 0 0 auto;
    padding-left: 1.0416666667vw;
    width: 22.2222222222vw;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 0.6944444444vw;
    font-size: 1.25vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-add-btn {
    margin-top: 30px;
    padding-left: 15px;
    width: 320px;
    height: 60px;
    border-width: 2px;
    border-radius: 10px;
    font-size: 1.8rem;
  }
}
.form-add-btn:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4vw;
  display: inline-block;
  width: 4vw;
  height: 4vw;
  background-image: url(../img/simulation/plus-wh.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .form-add-btn:after {
    left: 2.0833333333vw;
    width: 1.3888888889vw;
    height: 1.3888888889vw;
    -webkit-transition: background-image 0.3s;
    transition: background-image 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-add-btn:after {
    left: 30px;
    width: 20px;
    height: 20px;
  }
}
@media screen and (min-width: 751px) {
  .form-add-btn:hover {
    background-color: #ffffff;
    color: #ff6f19;
  }
}
@media screen and (min-width: 751px) {
  .form-add-btn:hover:after {
    background-image: url(../img/simulation/plus-og.svg);
  }
}

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

/* ------------------------------------------- size - */
.form-window-size {
  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;
}

.form-window-size-image {
  width: 42.6666666667vw;
}

.form-window-size-content {
  width: 46.6666666667vw;
}
.form-window-size-content dl dt {
  position: relative;
  padding-left: 4.2666666667vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
  margin-bottom: 0.5em;
}
.form-window-size-content dl dt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.3333333333vw 0px 1.3333333333vw 2.1333333333vw;
  border-color: transparent transparent transparent #ff6f19;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form-window-size-content dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form-window-size-content dl dd span.unit {
  display: inline-block;
  margin-left: 0.5em;
  font-family: "Lato", sans-serif;
  font-weight: 700;
}
.form-window-size-content dl:nth-child(n+2) {
  margin-top: 1em;
}

@media screen and (min-width: 751px) {
  .form-window-size input[type=number] {
    height: 12vw;
  }
}
@media screen and (min-width: 751px) {
  .form-window-size-image {
    width: 27.7777777778vw;
  }
  .form-window-size-content {
    width: 26.3888888889vw;
  }
  .form-window-size-content dl dt {
    padding-left: 1.3888888889vw;
    font-size: 1.25vw;
  }
  .form-window-size-content dl dt:before {
    border-width: 0.4166666667vw 0px 0.4166666667vw 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-window-size-image {
    width: 400px;
  }
  .form-window-size-content {
    width: 380px;
  }
  .form-window-size-content dl dt {
    padding-left: 20px;
    font-size: 1.8rem;
  }
  .form-window-size-content dl dt:before {
    border-width: 6px 0px 6px 10px;
  }
}
/* ------------------------------------------- const - */
.form-const .form-const-item:nth-child(n+2) {
  margin-top: 8vw;
}

.form-const-head {
  padding: 1em;
  border-radius: 1.3333333333vw 1.3333333333vw 0 0;
}

.form-const-name {
  color: #ffffff;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}

.form-const-point {
  margin-top: 2.6666666667vw;
  padding: 0.3em 1em;
  background-color: #ffffff;
  border-radius: 1.3333333333vw;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

.form-const-content {
  border-style: solid;
  border-width: 0.2666666667vw;
  border-top: none;
  border-radius: 0 0 1.3333333333vw 1.3333333333vw;
}

.form-const-item--bl .form-const-head {
  background-color: #004EAA;
}
.form-const-item--bl .form-const-content {
  border-color: #004EAA;
}

.form-const-item--ye .form-const-head {
  background-color: #E09B00;
}
.form-const-item--ye .form-const-content {
  border-color: #E09B00;
}

.form-const-item--gr .form-const-head {
  background-color: #006F35;
}
.form-const-item--gr .form-const-content {
  border-color: #006F35;
}

@media screen and (min-width: 751px) {
  .form-const .form-const-item:nth-child(n+2) {
    margin-top: 3.4722222222vw;
  }
  .form-const-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1em 2.0833333333vw;
    border-radius: 0.6944444444vw 0.6944444444vw 0 0;
  }
  .form-const-name {
    font-size: 1.3888888889vw;
  }
  .form-const-point {
    margin: 0 0 0 1em;
    border-radius: 5em;
    font-size: 1.0416666667vw;
    text-align: left;
  }
  .form-const-content {
    border-width: 0.0694444444vw;
    border-radius: 0 0 0.6944444444vw 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-const .form-const-item:nth-child(n+2) {
    margin-top: 50px;
  }
  .form-const-head {
    padding: 1em 30px;
    border-radius: 10px 10px 0 0;
  }
  .form-const-name {
    font-size: 2rem;
  }
  .form-const-point {
    font-size: 1.5rem;
  }
  .form-const-content {
    border-width: 1px;
    border-radius: 0 0 10px 10px;
  }
}
/* ------------------------------------------- product - */
.form-product {
  padding: 4vw 4vw 5.3333333333vw 4vw;
}

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

.form-product-ttl {
  margin-bottom: 1em;
  font-size: 4.2666666667vw;
  line-height: 1.5em;
}

.form-product-btn {
  margin: 4.6666666667vw auto 0 auto;
  width: 61.3333333333vw;
}

@media screen and (min-width: 751px) {
  .form-product {
    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.3888888889vw;
  }
  .form-product-image {
    margin: 0;
    width: 26.3888888889vw;
    border-radius: 0.2777777778vw;
  }
  .form-product-content {
    width: 27.7777777778vw;
  }
  .form-product-ttl {
    font-size: 1.3888888889vw;
  }
  .form-product-btn {
    margin: 1.7361111111vw auto 0 auto;
    width: 22.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-product {
    padding: 20px;
  }
  .form-product-image {
    width: 380px;
    border-radius: 4px;
  }
  .form-product-content {
    width: 400px;
  }
  .form-product-ttl {
    font-size: 2rem;
  }
  .form-product-btn {
    margin: 25px auto 0 auto;
    width: 320px;
  }
}
/* ------------------------------------------- plan - */
.form-plan {
  position: relative;
}

.form-plan-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border-top-color: #004EAA;
  border-top-style: solid;
  border-top-width: 0.2666666667vw;
}
.form-plan-item > div {
  border-left-color: #004EAA;
  border-left-style: solid;
  border-left-width: 0.2666666667vw;
}
.form-plan-item > div:first-child {
  border-left: none;
}

.form-plan-heads {
  padding: 2.6666666667vw 2vw;
}

.form-plan-head {
  position: relative;
}

.form-plan-label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2vw;
  padding-left: 8vw;
  cursor: pointer;
}
.form-plan-label .form-radio-icon {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.form-plan-cat {
  padding: 0.5em;
  background-color: #FFCE00;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  white-space: nowrap;
}

.form-plan-btn {
  margin: 2.6666666667vw 0 0 auto;
  width: 24vw;
}
.form-plan-btn .btn-external {
  height: 6.1333333333vw;
  border-width: 0.2666666667vw;
  border-radius: 0.6666666667vw;
  font-size: 3.2vw;
}

.form-plan-content {
  width: 86.6666666667vw;
}
.form-plan-content .form-numbers {
  margin: 0;
  padding: 0 2.6666666667vw 2.6666666667vw 10.6666666667vw;
}

.form-plan-price {
  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: 32vw;
  text-align: center;
}
.form-plan-price p {
  text-align: center;
  line-height: 1.5em;
}

.form-plan-dis {
  display: inline-block;
  margin-bottom: 0.2em;
  padding: 0.3em 0.5em;
  background-color: #C4302B;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 3.0666666667vw;
  font-weight: 700;
}

.form-plan-maker {
  color: #C4302B;
  font-size: 3.3333333333vw;
}
.form-plan-maker span.num {
  font-family: "Lato", sans-serif;
  font-weight: 700;
}

.form-plan-taxout {
  font-family: "Lato", sans-serif;
  font-size: 4vw;
  font-weight: 700;
}

.form-plan-taxin {
  font-size: 2.9333333333vw;
}
.form-plan-taxin span.num {
  font-family: "Lato", sans-serif;
  font-weight: 700;
}

.form-plan-nationwide {
  width: 32vw;
  text-align: center;
}

.form-plan-tokyo {
  width: 32vw;
  text-align: center;
}

.form-plan-burden {
  width: 32vw;
  text-align: center;
}

.form-plan-nationwide-label,
.form-plan-tokyo-label,
.form-plan-burden-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;
  height: 6.4vw;
  color: #ffffff;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.4em;
  letter-spacing: 0;
}

.form-plan-nationwide-label {
  background-color: #707070;
}

.form-plan-tokyo-label {
  background-color: #007DBF;
}

.form-plan-burden-label {
  background-color: #ff6f19;
}

.form-plan-nationwide-content,
.form-plan-tokyo-content,
.form-plan-burden-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: calc(100% - 6.4vw);
}

.form-plan-nationwide-price,
.form-plan-tokyo-price,
.form-plan-burden-price {
  font-family: "Lato", sans-serif;
  font-size: 4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

.form-product-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2vw;
  padding: 0 4vw 4vw 4vw;
}
.form-product-open .form-open {
  margin: 0;
}

.form-plan-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2vw;
  padding: 0 4vw 4vw 4vw;
}
@media screen and (min-width: 751px) {
  .form-plan-filter {
    gap: 0.5555555556vw;
    padding: 0 1.3888888889vw 1.3888888889vw 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-plan-filter {
    gap: 8px;
    padding: 0 20px 20px 20px;
  }
}

.form-plan-filter-btn {
  padding: 0.8vw 3.6vw;
  background-color: #ffffff;
  color: #2f2725;
  border-radius: 0.6666666667vw;
  border: 1px solid #cfcfcf;
}
@media screen and (min-width: 751px) {
  .form-plan-filter-btn {
    padding: 0.3472222222vw 1.3888888889vw;
    border-radius: 0.3472222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-plan-filter-btn {
    padding: 5px 20px;
    border-radius: 5px;
  }
}

.form-plan-filter-btn.is-active {
  background-color: #ff6f19;
  color: #ffffff;
  border: none;
}

.form-plan-filter-btn.is-disabled {
  background-color: #e8e8e8;
  color: #c6c6c6;
  cursor: not-allowed;
}

@media screen and (max-width: 750px) {
  .form-plan > div {
    position: relative;
    overflow-x: scroll;
  }
  .form-plan .form-plan-item {
    width: 182.6666666667vw;
  }
  .form-plan > 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;
  }
  .form-plan > div .scroll-hint-text {
    display: none;
  }
  .form-plan > div .scroll-hint-icon:before {
    content: none;
  }
  .form-plan > 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) {
  .form-plan-item {
    border-top-width: 0.0694444444vw;
  }
  .form-plan-item > div {
    border-left-width: 0.0694444444vw;
  }
  .form-plan-heads {
    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.0416666667vw;
    height: 8.3333333333vw;
  }
  .form-plan-label {
    gap: 1.0416666667vw;
    padding-left: 2.7777777778vw;
    width: 25vw;
  }
  .form-plan-cat {
    font-size: 0.8333333333vw;
  }
  .form-plan-btn {
    margin: 0;
    width: 6.25vw;
  }
  .form-plan-btn .btn-external {
    height: 2.5vw;
    border-width: 0.0694444444vw;
    border-radius: 0.3472222222vw;
    font-size: 0.8333333333vw;
  }
  .form-plan-content {
    width: 34.1666666667vw;
  }
  .form-plan-content .form-numbers {
    padding: 0 1.0416666667vw 1.0416666667vw 0;
  }
  .form-plan-price {
    width: 8.3333333333vw;
    font-size: 1.0416666667vw;
  }
  .form-plan-dis {
    font-size: 0.7638888889vw;
  }
  .form-plan-maker {
    font-size: 0.9027777778vw;
  }
  .form-plan-taxout {
    font-size: 1.25vw;
  }
  .form-plan-taxin {
    font-size: 0.7638888889vw;
  }
  .form-plan-nationwide {
    width: 8.3333333333vw;
  }
  .form-plan-tokyo {
    width: 8.3333333333vw;
  }
  .form-plan-burden {
    width: 8.3333333333vw;
  }
  .form-plan-nationwide-label,
  .form-plan-tokyo-label,
  .form-plan-burden-label {
    height: 2.6388888889vw;
    font-size: 0.9027777778vw;
  }
  .form-plan-nationwide-content,
  .form-plan-tokyo-content,
  .form-plan-burden-content {
    height: calc(100% - 38px);
  }
  .form-plan-nationwide-price,
  .form-plan-tokyo-price,
  .form-plan-burden-price {
    font-size: 1.25vw;
  }
  .form-product-open {
    gap: 0.5555555556vw;
    padding: 0 1.3888888889vw 1.3888888889vw 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-plan-item {
    border-top-width: 1px;
  }
  .form-plan-item > div {
    border-left-width: 1px;
  }
  .form-plan-heads {
    padding: 15px;
    height: 120px;
  }
  .form-plan-label {
    gap: 15px;
    padding-left: 40px;
    width: 360px;
  }
  .form-plan-cat {
    font-size: 1.2rem;
  }
  .form-plan-btn {
    width: 90px;
  }
  .form-plan-btn .btn-external {
    height: 36px;
    border-width: 1px;
    border-radius: 5px;
    font-size: 1.2rem;
  }
  .form-plan-content {
    width: 492px;
  }
  .form-plan-content .form-numbers {
    padding: 0 15px 15px 0;
  }
  .form-plan-price {
    width: 120px;
    font-size: 1.5rem;
  }
  .form-plan-dis {
    font-size: 1.1rem;
  }
  .form-plan-maker {
    font-size: 1.3rem;
  }
  .form-plan-taxout {
    font-size: 1.8rem;
  }
  .form-plan-taxin {
    font-size: 1.1rem;
  }
  .form-plan-nationwide {
    width: 120px;
  }
  .form-plan-tokyo {
    width: 120px;
  }
  .form-plan-burden {
    width: 120px;
  }
  .form-plan-nationwide-label,
  .form-plan-tokyo-label,
  .form-plan-burden-label {
    height: 38px;
    font-size: 1.3rem;
  }
  .form-plan-nationwide-content,
  .form-plan-tokyo-content,
  .form-plan-burden-content {
    height: calc(100% - 38px);
  }
  .form-plan-nationwide-price,
  .form-plan-tokyo-price,
  .form-plan-burden-price {
    font-size: 1.8rem;
  }
  .form-product-open {
    gap: 8px;
    padding: 0 20px 20px 20px;
  }
}
/* ------------------------------------------- subsidy - */
.form-subsidy {
  margin-top: 5.3333333333vw;
  padding: 4vw;
  background-color: #333333;
}

.form-subsidy-heading {
  margin-bottom: 0.5em;
  color: #ffffff;
  font-size: 4.5333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

.form-subsidy-box {
  padding: 2vw;
  background-color: #ffffff;
}

.form-subsidy-estimate {
  text-align: center;
  font-size: 3.7333333333vw;
  margin-bottom: 2vw;
}
@media screen and (min-width: 751px) {
  .form-subsidy-estimate {
    font-size: 1.1111111111vw;
    margin-bottom: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-estimate {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
}

.form-subsidy-national,
.form-subsidy-tokyo {
  text-align: center;
  color: #C4302B;
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .form-subsidy-national,
  .form-subsidy-tokyo {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-national,
  .form-subsidy-tokyo {
    font-size: 2.4rem;
  }
}

.form-subsidy-tokyo {
  margin-bottom: 2vw;
}
@media screen and (min-width: 751px) {
  .form-subsidy-tokyo {
    margin-bottom: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-tokyo {
    margin-bottom: 10px;
  }
}

.form-subsidy-note {
  margin-top: 2vw;
  font-size: 2.9333333333vw;
}
@media screen and (min-width: 751px) {
  .form-subsidy-note {
    margin-top: 0.6944444444vw;
    font-size: 0.9722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-note {
    margin-top: 10px;
    font-size: 1.4rem;
  }
}

.form-subsidy-price {
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
.form-subsidy-price span {
  color: #C4302B;
}
.form-subsidy-price span.label {
  font-size: 4.2666666667vw;
}
.form-subsidy-price span.num {
  position: relative;
  display: inline-block;
  top: 0.05em;
  margin: 0 0.1em 0 0.2em;
  font-family: "Lato", sans-serif;
  font-size: 6.9333333333vw;
  font-weight: 900;
}
.form-subsidy-price span.unit {
  display: inline-block;
  margin-right: 0.2em;
  font-size: 4.5333333333vw;
}

.form-subsidy-comments {
  background-color: #ff6f19;
  color: #ffffff;
  padding: 2.6666666667vw;
  margin-top: 2.6666666667vw;
  border-radius: 1.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form-subsidy-comments {
    padding: 1.0416666667vw;
    margin-top: 1.0416666667vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-comments {
    padding: 15px;
    margin-top: 15px;
    border-radius: 6px;
  }
}

.form-subsidy-comment-item + .form-subsidy-comment-item {
  margin-top: 2.6666666667vw;
}
@media screen and (min-width: 751px) {
  .form-subsidy-comment-item + .form-subsidy-comment-item {
    margin-top: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-comment-item + .form-subsidy-comment-item {
    margin-top: 15px;
  }
}

.form-subsidy-comment-ttl {
  font-weight: bold;
  font-size: 3.7333333333vw;
}
@media screen and (min-width: 751px) {
  .form-subsidy-comment-ttl {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-comment-ttl {
    font-size: 1.8rem;
  }
}

.form-subsidy-comment-text {
  font-size: 3.2vw;
}
@media screen and (min-width: 751px) {
  .form-subsidy-comment-text {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy-comment-text {
    font-size: 1.5rem;
  }
}

.form-input .window-area-radio input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  margin: 0;
  background: transparent;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.form-input .window-area-radio input[type=radio] + span {
  padding-left: 6.6666666667vw;
}

@media screen and (max-width: 750px) {
  .form-input .window-area-radio .form-pref-option {
    display: block;
    width: 100%;
    text-align: left;
  }
  .form-input .window-area-radio .form-pref-option:nth-child(n+2) {
    margin-top: 4vw;
  }
}
@media screen and (min-width: 751px) {
  .form-subsidy {
    margin-top: 2.0833333333vw;
    padding: 1.3888888889vw 5.5555555556vw;
  }
  .form-subsidy-heading {
    font-size: 1.6666666667vw;
  }
  .form-subsidy-box {
    padding: 1.0416666667vw;
  }
  .form-subsidy-price {
    font-size: 1.25vw;
  }
  .form-subsidy-price span.label {
    font-size: 2.0833333333vw;
  }
  .form-subsidy-price span.num {
    font-size: 2.9861111111vw;
  }
  .form-subsidy-price span.unit {
    font-size: 1.6666666667vw;
  }
  .form-input .window-area-radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.0416666667vw;
  }
  .form-input .window-area-radio input[type=radio] + span {
    padding-left: 2.4305555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-subsidy {
    margin-top: 30px;
    padding: 20px 80px;
  }
  .form-subsidy-heading {
    font-size: 2.4rem;
  }
  .form-subsidy-box {
    padding: 1.5em;
  }
  .form-subsidy-price {
    font-size: 1.8rem;
  }
  .form-subsidy-price span.label {
    font-size: 3rem;
  }
  .form-subsidy-price span.num {
    font-size: 4.3rem;
  }
  .form-subsidy-price span.unit {
    font-size: 2.4rem;
  }
  .form-input .window-area-radio {
    gap: 15px;
  }
  .form-input .window-area-radio input[type=radio] + span {
    padding-left: 35px;
  }
}
/* ------------------------------------------- request - */
.form-request {
  position: relative;
  margin-top: 5.3333333333vw;
  padding-top: 8vw;
  font-size: 5.6vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-request {
    margin-top: 2.0833333333vw;
    padding-top: 3.4722222222vw;
    font-size: 2.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-request {
    margin-top: 30px;
    padding-top: 50px;
    font-size: 3.2rem;
  }
}
.form-request:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4vw 3.3333333333vw 0px 3.3333333333vw;
  border-color: #C4302B transparent transparent transparent;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 751px) {
  .form-request:before {
    border-width: 1.3888888889vw 1.0416666667vw 0px 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-request:before {
    border-width: 20px 15px 0px 15px;
  }
}

/* ------------------------------------------- float - */
.form-float {
  position: fixed;
  width: 66.6666666667vw;
  z-index: 9999;
}

.float-estimate {
  width: 100%;
}

.float-estimate 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;
  width: 100%;
  height: 6.6666666667vw;
  background-color: #C4302B;
  border-radius: 1.0666666667vw 1.0666666667vw 0 0;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 700;
}

.float-estimate dd {
  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: 2vw 2.6666666667vw 2.6666666667vw 2.6666666667vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #C4302B;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 0 0 1.0666666667vw 1.0666666667vw;
}

.float-estimate-label {
  margin-right: 1em;
  font-size: 2.9333333333vw;
  line-height: 1.2em;
}

.float-estimate-price {
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1em;
}
.float-estimate-price span {
  display: inline-block;
}
.float-estimate-price span.red {
  color: #C4302B;
  font-size: 3.4666666667vw;
  line-height: 1em;
}
.float-estimate-price span.num {
  margin-right: 0.1em;
  font-family: "Lato", sans-serif;
  font-size: 6.1333333333vw;
  line-height: 1em;
}

.float-subsidy {
  width: 100%;
  margin-top: 2vw;
}

.float-subsidy 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;
  width: 100%;
  height: 6.6666666667vw;
  background-color: #C4302B;
  border-radius: 1.0666666667vw 1.0666666667vw 0 0;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 700;
}

.float-subsidy dd {
  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: 2vw 2.6666666667vw 2.6666666667vw 2.6666666667vw;
  width: 100%;
  background-color: #ffffff;
  border-color: #C4302B;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 0 0 1.0666666667vw 1.0666666667vw;
}

.float-subsidy-label {
  margin-right: 1em;
  font-size: 2.9333333333vw;
  line-height: 1.2em;
}

.float-subsidy-price {
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1em;
}
.float-subsidy-price span {
  display: inline-block;
}
.float-subsidy-price span.red {
  color: #C4302B;
  font-size: 3.4666666667vw;
  line-height: 1em;
}
.float-subsidy-price span.num {
  margin-right: 0.1em;
  font-family: "Lato", sans-serif;
  font-size: 6.1333333333vw;
  line-height: 1em;
}

@media screen and (max-width: 750px) {
  .form-float {
    left: 50%;
    bottom: 1.3333333333vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .float-line {
    display: none;
  }
  .float-estimate dl dd > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .float-estimate-price {
    position: relative;
    top: 0.1em;
  }
  .float-subsidy dl dd > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .float-subsidy-price {
    position: relative;
    top: 0.1em;
  }
}
@media screen and (min-width: 751px) {
  .form-float {
    top: 50%;
    right: 0.6944444444vw;
    width: 13.8888888889vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .float-line {
    margin: 0 auto 0.6944444444vw auto;
    width: 10.4166666667vw;
    height: 8.3333333333vw;
  }
  .float-line 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-top: 2.7777777778vw;
    height: 8.3333333333vw;
    background-color: #06C755;
    border-color: #ffffff;
    border-style: solid;
    border-width: 0.1388888889vw;
    border-radius: 0.6944444444vw;
    -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
            box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
    -webkit-transition: background-color 0.3s, border-colo 0.3s;
    transition: background-color 0.3s, border-colo 0.3s;
  }
  .float-line a span {
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    line-height: 1.3em;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .float-line a:before {
    content: "";
    position: absolute;
    top: 1.0416666667vw;
    left: 50%;
    display: inline-block;
    width: 2.5vw;
    height: 2.5vw;
    background-image: url(../img/common/line-wh.svg);
    background-size: contain;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .float-line a:hover {
    background-color: #ffffff;
    border-color: #06C755;
  }
  .float-line a:hover span {
    color: #06C755;
  }
  .float-line a:hover:before {
    background-image: url(../img/common/line-gr.svg);
  }
  ::-webkit-full-page-media,
  :future,
  :root .float-line a:before {
    -webkit-transition: none;
    transition: none;
  }
  .float-estimate dt {
    height: 2.7777777778vw;
    border-radius: 0.5555555556vw 0.5555555556vw 0 0;
    font-size: 1.0416666667vw;
  }
  .float-estimate dd {
    padding: 1.0416666667vw 0.3472222222vw;
    border-width: 0.0694444444vw;
    border-radius: 0 0 0.5555555556vw 0.5555555556vw;
  }
  .float-estimate-label {
    margin: 0 0 0.3em 0;
    font-size: 1.0416666667vw;
  }
  .float-estimate-price {
    font-size: 0.8333333333vw;
  }
  .float-estimate-price span.red {
    font-size: 1.0416666667vw;
  }
  .float-estimate-price span.num {
    font-size: 1.8055555556vw;
  }
  .float-subsidy {
    margin-top: 0.6944444444vw;
  }
  .float-subsidy dt {
    height: 2.7777777778vw;
    border-radius: 0.5555555556vw 0.5555555556vw 0 0;
    font-size: 1.0416666667vw;
  }
  .float-subsidy dd {
    padding: 1.0416666667vw 0.3472222222vw;
    border-width: 0.0694444444vw;
    border-radius: 0 0 0.5555555556vw 0.5555555556vw;
  }
  .float-subsidy-label {
    margin: 0 0 0.3em 0;
    font-size: 1.0416666667vw;
  }
  .float-subsidy-price {
    font-size: 0.8333333333vw;
  }
  .float-subsidy-price span.red {
    font-size: 1.0416666667vw;
  }
  .float-subsidy-price span.num {
    font-size: 1.8055555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-float {
    right: 10px;
    width: 200px;
  }
  .float-line {
    margin: 0 auto 10px auto;
    width: 150px;
    height: 120px;
  }
  .float-line a {
    padding-top: 40px;
    height: 120px;
    border-width: 2px;
    border-radius: 10px;
  }
  .float-line a:before {
    top: 15px;
    width: 36px;
    height: 36px;
  }
  .float-estimate dt {
    height: 40px;
    border-radius: 8px 8px 0 0;
    font-size: 1.5rem;
  }
  .float-estimate dd {
    padding: 15px 5px;
    border-width: 1px;
    border-radius: 0 0 8px 8px;
  }
  .float-estimate-label {
    font-size: 1.5rem;
  }
  .float-estimate-price {
    font-size: 1.2rem;
  }
  .float-estimate-price span.red {
    font-size: 1.5rem;
  }
  .float-estimate-price span.num {
    font-size: 2.6rem;
  }
  .float-subsidy {
    margin-top: 10px;
  }
  .float-subsidy dt {
    height: 40px;
    border-radius: 8px 8px 0 0;
    font-size: 1.5rem;
  }
  .float-subsidy dd {
    padding: 15px 5px;
    border-width: 1px;
    border-radius: 0 0 8px 8px;
  }
  .float-subsidy-label {
    font-size: 1.5rem;
  }
  .float-subsidy-price {
    font-size: 1.2rem;
  }
  .float-subsidy-price span.red {
    font-size: 1.5rem;
  }
  .float-subsidy-price span.num {
    font-size: 2.6rem;
  }
}
/* ------------------------------------------- detail-links - */
.float-detail-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3333333333vw;
  margin-top: 2vw;
}

.float-detail-link {
  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;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 1.6vw 1.0666666667vw;
  background-color: #ffffff;
  border: 0.2666666667vw solid #ff6f19;
  border-radius: 1.0666666667vw;
  text-align: center;
  text-decoration: none;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
.float-detail-link span {
  color: #ff6f19;
  font-size: 2.6666666667vw;
  font-weight: 700;
  line-height: 1.3em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

@media screen and (min-width: 751px) {
  .float-detail-links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5555555556vw;
    margin-top: 0.6944444444vw;
  }
  .float-detail-link {
    padding: 0.6944444444vw 0.3472222222vw;
    border-width: 0.0694444444vw;
    border-radius: 0.4166666667vw;
  }
  .float-detail-link span {
    font-size: 0.8333333333vw;
  }
  .float-detail-link:hover {
    background-color: #ff6f19;
  }
  .float-detail-link:hover span {
    color: #ffffff;
  }
}
@media screen and (min-width: 1441px) {
  .float-detail-links {
    gap: 8px;
    margin-top: 10px;
  }
  .float-detail-link {
    padding: 10px 5px;
    border-width: 1px;
    border-radius: 6px;
  }
  .float-detail-link span {
    font-size: 1.2rem;
  }
}
/* ------------------------------------------- key-contents - */
.sub--door-item .form-key-contents .form-numbers-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  gap: 6.6666666667vw;
  width: 100%;
}
.sub--door-item .form-key-contents .form-numbers {
  position: static;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2.6666666667vw;
  width: 100%;
}
.sub--door-item .form-key-contents .form-grid-label {
  margin-bottom: 2.6666666667vw;
}
.sub--door-item .form-key-contents .form-key-content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 2.6666666667vw 1fr;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.6666666667vw;
  padding: 2.6666666667vw;
}
.sub--door-item .form-key-contents .form-key-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.sub--door-item .form-key-contents .form-grid-price-discount span:nth-child(2) {
  display: block;
}

@media screen and (min-width: 751px) {
  .sub--door-item .form-key-contents .form-key-content {
    gap: 1.0416666667vw;
    padding: 1.3888888889vw;
  }
  .sub--door-item .form-key-contents .form-numbers-wrapper {
    gap: 1.0416666667vw;
  }
  .sub--door-item .form-key-contents .form-numbers {
    gap: 0.6944444444vw;
  }
  .sub--door-item .form-key-contents .form-grid-label {
    margin-bottom: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--door-item .form-key-contents .form-key-content {
    gap: 15px;
    padding: 20px;
  }
  .sub--door-item .form-key-contents .form-numbers-wrapper {
    gap: 15px;
  }
  .sub--door-item .form-key-contents .form-numbers {
    gap: 10px;
  }
  .sub--door-item .form-key-contents .form-grid-label {
    margin-bottom: 10px;
  }
}
/* ------------------------------------------- recommend - */
.form-grid-label-recommend {
  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-right: 2vw;
  padding: 0.4em 1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #ff6f19;
  border-radius: 0.5333333333vw;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 500;
}

@media screen and (min-width: 751px) {
  .form-grid-label-recommend {
    margin-right: 1.0416666667vw;
    font-size: 0.8333333333vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-grid-label-recommend {
    margin-right: 15px;
    font-size: 1.2rem;
    border-radius: 4px;
  }
}
/* ------------------------------------------- price - */
.form-grid-price-original {
  text-decoration: line-through;
}

.form-grid-price-discount {
  color: #C4302B;
}

.form-grid-price-comment {
  font-size: 2.9333333333vw;
}

@media screen and (min-width: 751px) {
  .form-grid-price-comment {
    font-size: 0.9027777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-grid-price-comment {
    font-size: 1.3rem;
  }
}
/* ------------------------------------------- 概算見積り - */
.form-estimate-summary-item {
  line-height: 1.5;
}

/* ------------------------------------------- estimate export - */
.form-estimate-actions {
  margin-top: 5.3333333333vw;
}

.form-estimate-export {
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 12vw;
  min-width: 260px;
  background-color: #ff6f19;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 1.0666666667vw;
  -webkit-box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
          box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
  overflow: hidden;
}
.form-estimate-export:nth-child(n+2) {
  margin-top: 4vw;
}
.form-estimate-export:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.6666666667vw;
  display: inline-block;
  width: 2.6666666667vw;
  height: 4vw;
  background-image: url(../img/common/arrow-wh.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.form-estimate-export-text {
  position: relative;
  color: #ffffff;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.3em;
  text-align: center;
  z-index: 1;
}
.form-estimate-export-text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -8.6666666667vw;
  display: inline-block;
  width: 6.4vw;
  height: 6.4vw;
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.form-estimate-export--pdf .form-estimate-export-text::before {
  background-image: url(../img/simulation/pdf-wh.svg);
}

.form-estimate-export--excel .form-estimate-export-text::before {
  background-image: url(../img/simulation/excel-wh.svg);
}

@media screen and (min-width: 751px) {
  .form-estimate-actions {
    margin-top: 1.3888888889vw;
  }
  .form-estimate-export {
    height: 4.1666666667vw;
    min-width: 340px;
    border-width: 0.2777777778vw;
    border-radius: 0.5555555556vw;
    -webkit-transition: border-color background-color 0.3s;
    transition: border-color background-color 0.3s;
  }
  .form-estimate-export:nth-child(n+2) {
    margin-top: 1.0416666667vw;
  }
  .form-estimate-export:after {
    right: 1.3888888889vw;
    width: 0.5555555556vw;
    height: 0.8333333333vw;
    -webkit-transition: background-image 0.3s;
    transition: background-image 0.3s;
  }
  .form-estimate-export:hover {
    border-color: #ff6f19;
    background-color: #ffffff;
  }
  .form-estimate-export:hover:after {
    background-image: url(../img/common/arrow-og.svg);
  }
  .form-estimate-export:hover .form-estimate-export-text {
    color: #ff6f19;
  }
  .form-estimate-export-text {
    font-size: 1.25vw;
  }
  .form-estimate-export-text::before {
    left: -2.7777777778vw;
    width: 2.0833333333vw;
    height: 2.0833333333vw;
  }
  .form-estimate-export--pdf:hover .form-estimate-export-text::before {
    background-image: url(../img/simulation/pdf-og.svg);
  }
  .form-estimate-export--excel:hover .form-estimate-export-text::before {
    background-image: url(../img/simulation/excel-og.svg);
  }
}
@media screen and (min-width: 1441px) {
  .form-estimate-actions {
    margin-top: 20px;
  }
  .form-estimate-export {
    height: 60px;
    border-width: 4px;
    border-radius: 8px;
  }
  .form-estimate-export:nth-child(n+2) {
    margin-top: 15px;
  }
  .form-estimate-export:after {
    right: 20px;
    width: 8px;
    height: 12px;
  }
  .form-estimate-export-text {
    font-size: 1.8rem;
  }
  .form-estimate-export-text::before {
    left: -40px;
    width: 30px;
    height: 30px;
  }
}
/* sub --> line
-------------------------------------------------------------------------------*/
.sub--line {
  padding-top: 1.3333333333vw;
}
@media screen and (min-width: 751px) {
  .sub--line {
    padding-top: 0 !important;
  }
}

@media screen and (min-width: 751px) {
  .sub--line .inner {
    width: 69.4444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .sub--line .inner {
    width: 1000px;
  }
}

/* ------------------------------------------- mv - */
.line-mv {
  position: relative;
  margin: 0 auto 6.6666666667vw auto;
  width: 92vw;
}
@media screen and (min-width: 751px) {
  .line-mv {
    margin-bottom: 4.1666666667vw;
    width: 69.4444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-mv {
    margin-bottom: 60px;
    width: 1000px;
  }
}

/* ------------------------------------------- common - */
.line-heading {
  position: relative;
  margin-bottom: 6.6666666667vw;
  padding: 5.3333333333vw 4vw;
  background-color: #00b900;
}
@media screen and (max-width: 750px) {
  .line-heading {
    margin-left: -4vw;
    width: 100vw;
  }
}
@media screen and (min-width: 751px) {
  .line-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 2.0833333333vw;
    padding: 0.7em 1.7361111111vw;
    border-radius: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-heading {
    margin-bottom: 30px;
    padding: 0.7em 25px;
    border-radius: 10px;
  }
}

.line-heading-en {
  margin-bottom: 0.5em;
  color: #fede3b;
  font-family: "Lato", sans-serif;
  font-size: 4.2666666667vw;
  font-weight: 700;
}
@media screen and (min-width: 751px) {
  .line-heading-en {
    margin: 0 0.5em 0 0;
    font-size: 1.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-heading-en {
    font-size: 2.8rem;
  }
}
.line-heading-en span {
  margin-left: 0.25em;
}

.line-heading-ja {
  color: #ffffff;
  font-size: 5.6vw;
  font-weight: 700;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .line-heading-ja {
    font-size: 1.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-heading-ja {
    font-size: 2.8rem;
  }
}

.line-heading-1 {
  margin-bottom: 1em;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .line-heading-1 {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-heading-1 {
    font-size: 2.4rem;
  }
}

.line-heading-2 {
  margin-bottom: 1em;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
.line-heading-2 span {
  color: #00b900;
}
@media screen and (min-width: 751px) {
  .line-heading-2 {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-heading-2 {
    font-size: 2.4rem;
  }
}

.line-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 13.3333333333vw 0;
}
@media screen and (min-width: 751px) {
  .line-step {
    gap: 5.5555555556vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .line-step {
    gap: 80px 0;
  }
}

.line-step > li {
  width: 100%;
}

/* ------------------------------------------- step01 - */
.line-step01 {
  margin-top: 10.6666666667vw;
}

.line-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6.6666666667vw;
  margin-top: 9.3333333333vw;
}

.line-flow > li {
  width: 100%;
}

.line-flow-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;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background-color: #00b900;
  border-radius: 50%;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 5.3333333333vw;
  font-weight: 700;
  letter-spacing: 0;
}

.line-flow-ttl {
  font-size: 4.2666666667vw;
  line-height: 1.5em;
}
.line-flow-ttl span {
  color: #00b900;
}

.line-flow-image {
  width: 22.6666666667vw;
}

@media screen and (max-width: 750px) {
  .line-flow-contents {
    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;
  }
  .line-flow-content {
    width: 61.3333333333vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .line-flow-image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 751px) {
  .line-step01 {
    margin-top: 4.8611111111vw;
  }
  .line-flow {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.0833333333vw;
    margin-top: 2.7777777778vw;
  }
  .line-flow li {
    width: 19.4444444444vw;
  }
  .line-flow li:nth-child(n+2) {
    margin-left: 2.0833333333vw;
  }
  .line-flow-num {
    margin: 0 auto 0.6944444444vw auto;
    width: 3.4722222222vw;
    height: 3.4722222222vw;
    font-size: 2.0833333333vw;
  }
  .line-flow-heading {
    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: 1.7361111111vw;
    min-height: 6.25vw;
  }
  .line-flow-ttl {
    font-size: 1.25vw;
    text-align: center;
  }
  .line-flow-image {
    margin: 0 auto;
    width: 14.4444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-step01 {
    margin-top: 70px;
  }
  .line-flow {
    gap: 30px;
    margin-top: 40px;
  }
  .line-flow li {
    width: 280px;
  }
  .line-flow-num {
    margin-bottom: 10px;
    width: 50px;
    height: 50px;
    font-size: 3rem;
  }
  .line-flow-heading {
    margin-bottom: 25px;
    min-height: 90px;
  }
  .line-flow-ttl {
    font-size: 1.8rem;
  }
  .line-flow-image {
    width: 208px;
  }
}
/* ------------------------------------------- step02 - */
@media screen and (min-width: 751px) {
  .line-step02 {
    margin: 0 auto;
    width: 62.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-step02 {
    width: 900px;
  }
}

.line-step02-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4vw;
  margin-top: 6.6666666667vw;
}
@media screen and (min-width: 751px) {
  .line-step02-image {
    gap: 2.7777777778vw;
    margin-top: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-step02-image {
    gap: 40px;
    margin-top: 50px;
  }
}

.line-step02-image > div {
  width: 44vw;
}
@media screen and (min-width: 751px) {
  .line-step02-image > div {
    width: 22.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-step02-image > div {
    width: 320px;
  }
}

/* ------------------------------------------- step03 - */
@media screen and (min-width: 751px) {
  .line-step03 {
    margin: 0 auto;
    width: 62.5vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-step03 {
    width: 900px;
  }
}

.line-step03-image {
  margin: 6.6666666667vw auto 0 auto;
  width: 44vw;
}
@media screen and (min-width: 751px) {
  .line-step03-image {
    margin: 3.4722222222vw auto 0 auto;
    width: 22.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-step03-image {
    margin: 50px auto 0 auto;
    width: 320px;
  }
}

/* ------------------------------------------- method - */
.line-method {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 4vw;
  margin: 0 auto;
  width: 92vw;
}

.line-method > div {
  width: 44vw;
  background-color: #ffffff;
  border-color: #009800;
  border-style: solid;
  border-width: 0.4vw;
  border-radius: 1.0666666667vw;
  overflow: hidden;
}

.line-method-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;
  height: 12.8vw;
  background-color: rgba(0, 152, 0, 0.22);
  color: #009800;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
}

.line-method-contents {
  padding: 2.6666666667vw 3.7333333333vw 4.6666666667vw 3.7333333333vw;
}

.line-method-subttl {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 4vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
}
.line-method-subttl:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  background-color: #00b900;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.line-method-text p {
  text-align: left;
  line-height: 1.5em;
}

@media screen and (max-width: 750px) {
  .line-method-image {
    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 4vw auto;
    height: 25.3333333333vw;
  }
  .line-method > div:nth-child(1) .line-method-image {
    width: 25.3333333333vw;
  }
  .line-method > div:nth-child(2) .line-method-image {
    width: 26.9333333333vw;
  }
  .line-method-content {
    text-align: center;
  }
  .line-method-subttl {
    display: inline-block;
  }
}
@media screen and (min-width: 751px) {
  .line-method {
    gap: 2.5vw;
    width: 69.4444444444vw;
  }
  .line-method > div {
    width: 33.3333333333vw;
    border-width: 0.0694444444vw;
    border-radius: 0.5555555556vw;
  }
  .line-method-ttl {
    height: 3.1944444444vw;
    font-size: 1.3888888889vw;
  }
  .line-method-contents {
    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.1111111111vw 2.0833333333vw;
    min-height: 10.4166666667vw;
  }
  .line-method-image {
    width: 8.3333333333vw;
  }
  .line-method-content {
    width: 18.0555555556vw;
  }
  .line-method-subttl {
    padding-left: 1.0416666667vw;
    font-size: 1.25vw;
  }
  .line-method-subttl:before {
    width: 0.5555555556vw;
    height: 0.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-method {
    gap: 36px;
    width: 1000px;
  }
  .line-method > div {
    width: 480px;
    border-width: 1px;
    border-radius: 8px;
  }
  .line-method-ttl {
    height: 46px;
    font-size: 2rem;
  }
  .line-method-contents {
    padding: 16px 30px;
    min-height: 150px;
  }
  .line-method-image {
    width: 120px;
  }
  .line-method-content {
    width: 260px;
  }
  .line-method-subttl {
    padding-left: 15px;
    font-size: 1.8rem;
  }
  .line-method-subttl:before {
    width: 8px;
    height: 8px;
  }
}
/* ------------------------------------------- friend - */
.line-friend {
  position: relative;
  margin: 8vw auto 0 auto;
  width: 92vw;
}

.line-friend-label {
  position: absolute;
  top: -2.9333333333vw;
  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: 21.0666666667vw;
  height: 21.0666666667vw;
  background-image: url(../img/line/frame.svg);
  background-size: contain;
  -webkit-transform: rotate(20.23deg);
          transform: rotate(20.23deg);
  z-index: 1;
}
.line-friend-label p {
  color: #009800;
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.375em;
}

.line-friend-inner {
  position: relative;
  background-color: #00b900;
  border-color: #00b900;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 5.3333333333vw;
  overflow: hidden;
}
.line-friend-inner:before {
  content: "";
  position: absolute;
  top: 5.0666666667vw;
  left: 21.6vw;
  display: inline-block;
  width: 11.0666666667vw;
  height: 11.0666666667vw;
  background-image: url(../img/line/icon.svg);
  background-size: contain;
}
.line-friend-inner:after {
  content: "";
  position: absolute;
  top: 3.4666666667vw;
  left: -3.2vw;
  display: inline-block;
  width: 37.8666666667vw;
  height: 90.9333333333vw;
  background-image: url(../img/line/staff_sp.png);
  background-size: contain;
  z-index: 1;
}

.line-friend-content {
  position: relative;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 32.6666666667vw;
}
.line-friend-content:before, .line-friend-content:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 16.2666666667vw;
  height: 16.2666666667vw;
  background-image: url(../img/line/dot.png);
  background-size: contain;
  z-index: 1;
}
.line-friend-content:before {
  top: -5.7333333333vw;
  left: 0.6666666667vw;
}
.line-friend-content:after {
  top: 12.9333333333vw;
  left: 54vw;
}

.line-friend-heading {
  margin: 0 0 2.6666666667vw 3.7333333333vw;
  color: #ffffff;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.16em;
  letter-spacing: 0.05em;
}
.line-friend-heading span {
  color: #fede3b;
}

.line-friend-box {
  position: relative;
  padding: 2.4vw 1.3333333333vw 2.4vw 3.3333333333vw;
  width: 56.6666666667vw;
  background-color: #ffffff;
  border-radius: 2.1333333333vw;
}

.line-friend-point {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.6vw;
}

.line-friend-point > li {
  position: relative;
  padding-left: 5.0666666667vw;
  width: 100%;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 3.7333333333vw;
  letter-spacing: 0;
}
.line-friend-point > li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  background-image: url(../img/line/check.svg);
  background-size: contain;
}

@media screen and (min-width: 751px) {
  .line-friend {
    margin: 3.4722222222vw auto 0 auto;
    width: 61.1111111111vw;
  }
  .line-friend-label {
    top: 0.0694444444vw;
    right: 3.75vw;
    width: 7.7777777778vw;
    height: 7.7777777778vw;
  }
  .line-friend-label p {
    font-size: 1.1111111111vw;
  }
  .line-friend-inner {
    border-width: 0.2777777778vw;
    border-radius: 6.1458333333vw;
  }
  .line-friend-inner:before {
    top: 1.5277777778vw;
    left: 11.1111111111vw;
    width: 4.5833333333vw;
    height: 4.5833333333vw;
  }
  .line-friend-inner:after {
    top: 0.6944444444vw;
    left: 1.0416666667vw;
    width: 15.625vw;
    height: 37.4305555556vw;
    background-image: url(../img/line/staff.png);
    background-image: image-set(url(../img/line/staff.png) 1x, url(../img/line/staff-2x.png) 2x);
    background-image: -webkit-image-set(url(../img/line/staff.png) 1x, url(../img/line/staff-2x.png) 2x);
  }
  .line-friend-content {
    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.5277777778vw 4.8611111111vw 1.5277777778vw 18.75vw;
  }
  .line-friend-content:before, .line-friend-content:after {
    width: 8.4722222222vw;
    height: 8.4722222222vw;
  }
  .line-friend-content:before {
    top: -2.9861111111vw;
    left: 0.3472222222vw;
  }
  .line-friend-content:after {
    top: 6.7361111111vw;
    left: 28.125vw;
  }
  .line-friend-heading {
    margin: 0;
    font-size: 1.8055555556vw;
    line-height: 1.5em;
  }
  .line-friend-box {
    padding: 1.25vw 0.6944444444vw 1.25vw 1.9444444444vw;
    width: 21.875vw;
    border-radius: 1.1111111111vw;
  }
  .line-friend-point {
    gap: 0.4166666667vw;
  }
  .line-friend-point > li {
    padding-left: 2.6388888889vw;
    font-size: 1.1111111111vw;
    line-height: 1.9444444444vw;
  }
  .line-friend-point > li:before {
    width: 1.9444444444vw;
    height: 1.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .line-friend {
    margin: 50px auto 0 auto;
    width: 880px;
  }
  .line-friend-label {
    top: 1px;
    right: 54px;
    width: 112px;
    height: 112px;
  }
  .line-friend-label p {
    font-size: 1.6rem;
  }
  .line-friend-inner {
    border-width: 4px;
    border-radius: 88.5px;
  }
  .line-friend-inner:before {
    top: 22px;
    left: 160px;
    width: 66px;
    height: 66px;
  }
  .line-friend-inner:after {
    top: 10px;
    left: 15px;
    width: 225px;
    height: 539px;
  }
  .line-friend-content {
    padding: 22px 70px 22px 270px;
  }
  .line-friend-content:before, .line-friend-content:after {
    width: 122px;
    height: 122px;
  }
  .line-friend-content:before {
    top: -43px;
    left: 5px;
  }
  .line-friend-content:after {
    top: 97px;
    left: 405px;
  }
  .line-friend-heading {
    font-size: 2.6rem;
  }
  .line-friend-box {
    padding: 18px 10px 18px 28px;
    width: 315px;
    border-radius: 16px;
  }
  .line-friend-point {
    gap: 6px;
  }
  .line-friend-point > li {
    padding-left: 38px;
    font-size: 1.6rem;
    line-height: 28px;
  }
  .line-friend-point > li:before {
    width: 28px;
    height: 28px;
  }
}
/* sub --> area
-------------------------------------------------------------------------------*/
.sub--area {
  padding-top: 0 !important;
}

.area-sec {
  padding-top: 8vw;
}

.area-pref {
  margin-top: 8vw;
  padding: 5.3333333333vw;
  background-color: #f3f3f3;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.0666666667vw;
}

.area-pref-heading {
  color: #ff6f19;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}

.area-pref-map {
  margin-top: 5.3333333333vw;
  border-radius: 2.1333333333vw;
  overflow: hidden;
}

.area-pref-target {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 4vw;
}

.area-pref-target > li {
  font-size: 3.4666666667vw;
  line-height: 1.7em;
}

.area-pref-target > li:not(:last-child)::after {
  content: "、";
}

.area-pref-target > li a {
  display: inline-block;
  color: #004EAA;
  text-decoration: underline;
}

.area-pref-notes {
  margin-top: 4vw;
  color: #C4302B;
  font-size: 3.0666666667vw;
}

@media screen and (min-width: 751px) {
  .area-sec {
    padding-top: 50px;
  }
  .area-pref {
    margin-top: 3.4722222222vw;
    padding: 2.0833333333vw 2.4305555556vw;
    border-width: 0.0694444444vw;
    border-radius: 0.5555555556vw;
  }
  .area-pref-heading {
    font-size: 1.3888888889vw;
  }
  .area-pref-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;
  }
  .area-pref-contents:has(.area-pref-map) .area-pref-content {
    width: 42.3611111111vw;
  }
  .area-pref-map {
    margin: 0;
    width: 26.3888888889vw;
    border-radius: 1.1111111111vw;
  }
  .area-pref-target {
    margin-top: 1.3888888889vw;
  }
  .area-pref-target > li {
    font-size: 1.1111111111vw;
    line-height: 2em;
  }
  .area-pref-target > li a {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .area-pref-target > li a:hover {
    color: #ff6f19;
  }
  .area-pref-notes {
    margin-top: 1.3888888889vw;
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .area-sec {
    padding-top: 50px;
  }
  .area-pref {
    margin-top: 50px;
    padding: 30px 35px;
    border-width: 1px;
    border-radius: 8px;
  }
  .area-pref-heading {
    font-size: 2rem;
  }
  .area-pref-contents:has(.area-pref-map) .area-pref-content {
    width: 610px;
  }
  .area-pref-map {
    width: 380px;
    border-radius: 16px;
  }
  .area-pref-target {
    margin-top: 20px;
  }
  .area-pref-target > li {
    font-size: 1.6rem;
  }
  .area-pref-notes {
    margin-top: 20px;
    font-size: 1.5rem;
  }
}
/* 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: #ff6f19;
}

.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 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4vw 0;
  margin: 0 auto;
  width: 89.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 12vw 0 5.3333333333vw;
  width: 100%;
  height: 13.3333333333vw;
  background-color: #ffffff;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.4vw;
  border-radius: 0.5333333333vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.28em;
}
.sitemap-menu a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.3333333333vw;
  display: inline-block;
  width: 4.2666666667vw;
  height: 4.2666666667vw;
  background-image: url(../img/common/circle-arrow-cm.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}

@media screen and (min-width: 751px) {
  .sitemap .sitemap-box:nth-child(n+2) {
    margin-top: 5.5555555556vw;
  }
  .sitemap-menu {
    gap: 1.3888888889vw 2.1527777778vw;
    width: 72.2222222222vw;
  }
  .sitemap-menu a {
    padding: 0 4.1666666667vw 0 1.3888888889vw;
    width: 22.6388888889vw;
    height: 4.1666666667vw;
    border-width: 0.1388888889vw;
    border-radius: 0.2777777778vw;
    font-size: 1.1111111111vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
  .sitemap-menu a:after {
    right: 1.0416666667vw;
    width: 1.3888888889vw;
    height: 1.3888888889vw;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .sitemap-menu a:hover {
    background-color: #ff5f00;
    color: #ffffff;
  }
  .sitemap-menu a:hover:after {
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
}
@media screen and (min-width: 1441px) {
  .sitemap .sitemap-box:nth-child(n+2) {
    margin-top: 80px;
  }
  .sitemap-menu {
    gap: 20px 31px;
    width: 1040px;
  }
  .sitemap-menu a {
    padding: 0 60px 0 20px;
    width: 326px;
    height: 60px;
    border-width: 2px;
    border-radius: 4px;
    font-size: 1.6rem;
  }
  .sitemap-menu a:after {
    right: 15px;
    width: 24px;
    height: 24px;
  }
}
/*  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;
  font-weight: 500;
  line-height: 1.25em;
  letter-spacing: 0;
  white-space: nowrap;
}

.breadcrumb-list li:after {
  content: "";
  position: relative;
  top: 0;
  margin: 0 2vw;
  display: inline-block;
  width: 1.0666666667vw;
  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;
  color: #ff6f19;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

@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.0833333333vw 0 2.2222222222vw 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.3s;
    transition: color 0.3s;
  }
  .breadcrumb-list li a:hover {
    color: #c6c6c6;
  }
}
@media screen and (min-width: 1441px) {
  .breadcrumb-list {
    padding: 30px 0 32px 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-bottom: 8vw;
}

.carousel-main {
  position: relative;
  margin-bottom: 2.6666666667vw;
  overflow: hidden;
}

.carousel-main .swiper-slide img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  font-family: "object-fit: contain;";
  height: 68vw;
}

.carousel-thumb {
  position: relative;
  overflow: hidden;
}

.carousel-thumb .swiper-slide {
  margin-right: 1.3333333333vw;
  width: 17.3333333333vw;
  border-radius: 0.5333333333vw;
  opacity: 0.5;
  overflow: hidden;
  cursor: pointer;
}
.carousel-thumb .swiper-slide img {
  aspect-ratio: 124/94;
  width: 100%;
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  font-family: "object-fit: contain;";
}

.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) {
  .carousel-main {
    width: 100%;
  }
}
@media screen and (min-width: 751px) {
  .carousel {
    margin: 0 auto 5.5555555556vw auto;
    width: 69.4444444444vw;
  }
  .carousel-main {
    margin: 0 0 2.0833333333vw -4.4444444444vw;
    padding: 0 4.4444444444vw;
    width: 78.3333333333vw;
  }
  .carousel-main .swiper-slide img {
    height: 36.1111111111vw;
  }
  .carousel-thumb .swiper-slide {
    margin-right: 1.5277777778vw;
    width: 8.6111111111vw;
    border-radius: 0.2777777778vw;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .carousel-thumb .swiper-slide:hover {
    opacity: 0.8;
  }
  .item-main .carousel {
    margin-bottom: 0;
    width: 100% !important;
  }
  .item-main .carousel-main {
    margin: 0 0 1.3888888889vw 0;
    padding: 0 !important;
    width: 100% !important;
  }
  .item-main .carousel-main .swiper-slide img {
    height: 26.3888888889vw;
  }
  .item-main .carousel-thumb .swiper-slide {
    margin-right: 0.6944444444vw;
    width: 6.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .carousel {
    margin-bottom: 80px;
    width: 1000px;
  }
  .carousel-main {
    margin: 0 0 30px -64px;
    padding: 0 64px;
    width: 1128px;
  }
  .carousel-main .swiper-slide {
    width: 1000px;
  }
  .carousel-main .swiper-slide img {
    height: 520px;
  }
  .carousel-thumb .swiper-slide {
    margin-right: 22px;
    width: 124px;
    border-radius: 4px;
  }
  .item-main .carousel-main {
    margin: 0 0 20px 0;
  }
  .item-main .carousel-main .swiper-slide img {
    height: 380px;
  }
  .item-main .carousel-thumb .swiper-slide {
    margin-right: 10px;
    width: 100px;
  }
}
/* ------------------------------------------- disable - */
.carousel.is-single .swiper-wrapper {
  -webkit-transform: none !important;
          transform: none !important;
}

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

/* ------------------------------------------- btn - */
.slide-prev,
.slide-next {
  position: absolute;
  top: 50%;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background-size: contain;
  background-position: center;
  cursor: pointer;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
}

.slide-prev {
  left: 0.6666666667vw;
  background-image: url(../img/slide/prev.svg);
}

.slide-next {
  right: 0.6666666667vw;
  background-image: url(../img/slide/next.svg);
}

.carousel-main-disable .slide-prev,
.carousel-main-disable .slide-next {
  display: none;
}

@media screen and (max-width: 750px) {
  .slide-prev,
  .slide-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 2;
  }
}
@media screen and (min-width: 751px) {
  .slide-prev,
  .slide-next {
    width: 4.4444444444vw;
    height: 4.4444444444vw;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .slide-prev:hover,
  .slide-next:hover {
    opacity: 0.7;
  }
  .slide-prev {
    left: 2.2222222222vw;
  }
  .slide-prev:hover {
    -webkit-transform: translateX(-0.2em) translateY(-50%);
            transform: translateX(-0.2em) translateY(-50%);
  }
  .slide-next {
    right: 2.2222222222vw;
  }
  .slide-next:hover {
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
}
@media screen and (min-width: 1441px) {
  .slide-prev,
  .slide-next {
    width: 64px;
    height: 64px;
  }
  .slide-prev {
    left: 32px;
  }
  .slide-next {
    right: 32px;
  }
}
/* editor
-------------------------------------------------------------------------------*/
.editor {
  position: relative;
  width: 100%;
  font-family: "ZenKakuGothicNew", sans-serif;
}
.editor h2,
.editor h3,
.editor h4 {
  margin-top: 2.5em;
}
.editor p {
  line-height: 1.7em;
  letter-spacing: 0.02em;
}
.editor strong {
  font-weight: 700;
}
.editor img {
  max-width: 100%;
  height: auto;
}
.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.3s;
  transition: opacity 0.3s;
}
.editor a:not(.editor-lightbox):not(.wp-caption a):after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em;
  width: 100%;
  height: 0.4vw;
  background-color: #ff6f19;
}
.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: #cfcfcf;
  border-style: solid;
  border-width: 1px;
}
.editor table th,
.editor table td {
  padding: 0.35em 1em;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  line-height: 1.5em;
}
.editor table thead {
  background-color: #fff0e8;
}
.editor table thead th,
.editor table thead td {
  font-weight: 700;
}
.editor table tbody th {
  background-color: #fff0e8;
  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 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):not(.wp-caption a):after {
    height: 0.1388888889vw;
  }
  .editor a:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 1441px) {
  .editor table {
    border-width: 1px;
  }
  .editor table th,
  .editor table td {
    border-width: 1px;
  }
  .editor a:not(.editor-lightbox):not(.wp-caption a):after {
    height: 2px;
  }
}
/*  form
-------------------------------------------------------------------------------*/
.form {
  position: relative;
  margin: 0 auto;
  width: 100vw;
}
@media screen and (min-width: 751px) {
  .form {
    width: 69.4444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form {
    width: 1000px;
  }
}

.form--top {
  margin-top: 13.3333333333vw;
}
@media screen and (max-width: 750px) {
  .form--top {
    border: none;
  }
}
@media screen and (min-width: 751px) {
  .form--top {
    margin-top: 6.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form--top {
    margin-top: 100px;
  }
}

.form-box {
  position: relative;
  padding: 10.6666666667vw 4vw;
  background-color: #ffffff;
}
@media screen and (max-width: 750px) {
  .form-box {
    border-color: #ff6f19;
    border-style: solid;
    border-width: 0.5333333333vw;
    border-left: none;
    border-right: none;
  }
}
@media screen and (min-width: 751px) {
  .form-box {
    padding: 5.5555555556vw 4.8611111111vw 4.1666666667vw 4.8611111111vw;
    border-color: #ff6f19;
    border-style: solid;
    border-width: 0.2083333333vw;
    border-radius: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-box {
    padding: 80px 70px 60px 70px;
    border-width: 3px;
    border-radius: 16px;
  }
}

@media screen and (max-width: 750px) {
  .inner .form {
    margin-left: -4vw;
  }
}

.form-heading2 {
  position: relative;
  margin-bottom: 9.3333333333vw;
  padding-bottom: 0.7em;
  font-size: 6.1333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .form-heading2 {
    margin-bottom: 3.4722222222vw;
    font-size: 2.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-heading2 {
    margin-bottom: 50px;
    font-size: 3.2rem;
  }
}
.form-heading2:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 33.3333333333vw;
  height: 0.8vw;
  border-radius: 0.4vw;
  background-color: #ff6f19;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 751px) {
  .form-heading2:after {
    width: 10.4166666667vw;
    height: 0.2777777778vw;
    border-radius: 0.1388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-heading2:after {
    width: 150px;
    height: 4px;
    border-radius: 2px;
  }
}

.form-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8vw 0;
}
@media screen and (min-width: 751px) {
  .form-step {
    gap: 3.4722222222vw 0;
  }
}
@media screen and (min-width: 1441px) {
  .form-step {
    gap: 50px 0;
  }
}

.form-step > div {
  width: 100%;
}

.form-step-item > div:not(.form-head):not(.form-window-step):nth-of-type(n + 2) {
  margin-top: 8vw;
}
@media screen and (min-width: 751px) {
  .form-step-item > div:not(.form-head):not(.form-window-step):nth-of-type(n + 2) {
    margin-top: 3.4722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-step-item > div:not(.form-head):not(.form-window-step):nth-of-type(n + 2) {
    margin-top: 50px;
  }
}

.form-heading3 {
  margin: 0 0 1em -4vw;
  padding: 0.5em 1em 0.6em 1em;
  width: 100vw;
  background-color: #ff6f19;
  color: #ffffff;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-heading3 {
    margin-left: -1.7361111111vw;
    width: 62.7777777778vw;
    border-radius: 0.2777777778vw;
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-heading3 {
    margin-left: -25px;
    width: 904px;
    border-radius: 4px;
    font-size: 2rem;
  }
}

.form-heading3--gy {
  background-color: #707070 !important;
}

.form-heading3--rd {
  background-color: #c4302b !important;
}

.form-head {
  margin-bottom: 1.2em;
}
@media screen and (min-width: 751px) {
  .form-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1.5em;
  }
}

.form-heading4 {
  position: relative;
  padding-left: 1.2em;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-heading4 {
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-heading4 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 751px) {
  .form-heading4 span.small {
    font-size: 0.6em;
  }
}
.form-heading4:before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 0.6em;
  height: 0.6em;
  background-color: #ff6f19;
  border-radius: 50%;
}

.form-input dl:nth-child(n+2) {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form-input dl:nth-child(n+2) {
    margin-top: 1.7361111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input dl:nth-child(n+2) {
    margin-top: 25px;
  }
}

.form-input dt {
  position: relative;
  margin-bottom: 2vw;
  font-size: 4vw;
  font-weight: 500;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-input dt {
    margin-bottom: 0.6944444444vw;
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input dt {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
}

.form-input dd {
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 1.75em;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 751px) {
  .form-input dd {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input dd {
    font-size: 1.6rem;
  }
}

.form-input input[type=text],
.form-input input[type=email],
.form-input input[type=tel],
.form-input input[type=number],
.form-input select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0.75em;
  width: 100%;
  height: 13.3333333333vw;
  background-color: #f3f3f3;
  border-radius: 1.0666666667vw;
  color: #2f2725;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.4em;
}
@media screen and (max-width: 750px) {
  .form-input input[type=text] .form-input input[type=text],
  .form-input input[type=text] .form-input input[type=email],
  .form-input input[type=text] .form-input input[type=tel],
  .form-input input[type=text] .form-input input[type=number],
  .form-input input[type=text] .form-input select,
  .form-input input[type=text] .form-input textarea,
  .form-input input[type=email] .form-input input[type=text],
  .form-input input[type=email] .form-input input[type=email],
  .form-input input[type=email] .form-input input[type=tel],
  .form-input input[type=email] .form-input input[type=number],
  .form-input input[type=email] .form-input select,
  .form-input input[type=email] .form-input textarea,
  .form-input input[type=tel] .form-input input[type=text],
  .form-input input[type=tel] .form-input input[type=email],
  .form-input input[type=tel] .form-input input[type=tel],
  .form-input input[type=tel] .form-input input[type=number],
  .form-input input[type=tel] .form-input select,
  .form-input input[type=tel] .form-input textarea,
  .form-input input[type=number] .form-input input[type=text],
  .form-input input[type=number] .form-input input[type=email],
  .form-input input[type=number] .form-input input[type=tel],
  .form-input input[type=number] .form-input input[type=number],
  .form-input input[type=number] .form-input select,
  .form-input input[type=number] .form-input textarea,
  .form-input select .form-input input[type=text],
  .form-input select .form-input input[type=email],
  .form-input select .form-input input[type=tel],
  .form-input select .form-input input[type=number],
  .form-input select .form-input select,
  .form-input select .form-input textarea {
    font-size: max(3.5vw, 16px);
  }
}
@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=number],
  .form-input select {
    padding: 0 1.5em;
    height: 4.1666666667vw;
    border-radius: 0.5555555556vw;
    font-size: 1.1111111111vw;
  }
}
@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=number],
  .form-input select {
    height: 60px;
    border-radius: 8px;
    font-size: 1.6rem;
  }
}

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

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

.form-input .form-referrer {
  margin-top: 2vw;
  background-color: #fbf3ee !important;
}
@media screen and (min-width: 751px) {
  .form-input .form-referrer {
    margin-top: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input .form-referrer {
    margin-top: 10px;
  }
}

.form-input textarea {
  padding: 1em 0.75em;
  width: 100%;
  height: 40vw;
  background-color: #f3f3f3;
  border-radius: 1.0666666667vw;
  color: #2f2725;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-input textarea {
    padding: 1.5em;
    height: 13.8888888889vw;
    border-radius: 0.5555555556vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input textarea {
    height: 200px;
    border-radius: 8px;
    font-size: 1.6rem;
  }
}

.form-multi {
  font-size: 0.8125em;
}

.form-label {
  position: relative;
  top: -0.1em;
  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: 2vw;
  padding-bottom: 0.1em;
  width: 8.5333333333vw;
  height: 4vw;
  border-radius: 0.2666666667vw;
  color: #ffffff;
  font-size: 2.9333333333vw;
  line-height: 1em;
  letter-spacing: 0;
}
@media screen and (min-width: 751px) {
  .form-label {
    margin-left: 1.0416666667vw;
    width: 2.9166666667vw;
    height: 1.25vw;
    border-radius: 0.1388888889vw;
    font-size: 0.8333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-label {
    margin-left: 15px;
    width: 42px;
    height: 18px;
    border-radius: 2px;
    font-size: 1.2rem;
  }
}

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

.form-label--unreq {
  background-color: #2f2725;
}

.form-hosoku {
  margin-top: 0.8em;
  padding-left: 1em;
  font-size: 3.2vw;
  text-indent: -1em;
  line-height: 1.4em;
}
@media screen and (min-width: 751px) {
  .form-hosoku {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-hosoku {
    font-size: 1.5rem;
  }
}
.form-hosoku:before {
  content: "※";
}
.form-hosoku a {
  position: relative;
  color: #2f2725;
}
@media screen and (min-width: 751px) {
  .form-hosoku a {
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
.form-hosoku a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em;
  width: 100%;
  height: 1px;
  background-color: #2f2725;
}
@media screen and (min-width: 751px) {
  .form-hosoku a:after {
    height: 0.0694444444vw;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
@media screen and (min-width: 1441px) {
  .form-hosoku a:after {
    height: 1px;
  }
}
@media screen and (min-width: 751px) {
  .form-hosoku a:hover {
    color: #fff0e8;
  }
  .form-hosoku a:hover:after {
    background-color: #fff0e8;
  }
}

/* ------------------------------------------- placeholder - */
.form-input input::-webkit-input-placeholder,
.form-input select::-webkit-input-placeholder,
.form-input textarea::-webkit-input-placeholder {
  color: #ccc;
}

.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: #ccc;
}

.form-input input::-moz-placeholder,
.form-input select::-moz-placeholder,
.form-input textarea::-moz-placeholder {
  color: #ccc;
}

/* ---------------------------------- 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: #005bbb;
  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-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  border-radius: 50% !important;
}
@media screen and (min-width: 751px) {
  .form-input input[type=radio] + span::before {
    border-width: 0.0694444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-input input[type=radio] + span::before {
    border-width: 1px;
  }
}

.form-input input[type=radio]:checked + span::after {
  content: "";
  position: absolute;
  top: 0.8vw;
  left: 0.9333333333vw;
  width: 2.9333333333vw;
  height: 2.9333333333vw;
  background: #005bbb;
  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: 3.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 751px) {
  .form .wpcf7-checkbox {
    gap: 1.25vw 2.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .form .wpcf7-checkbox {
    gap: 18px 30px;
  }
}

.form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin: 0;
}

.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;
}

.visit-time-choices.form-req {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.3333333333vw 5.3333333333vw;
}
@media screen and (min-width: 751px) {
  .visit-time-choices.form-req {
    gap: 1.25vw 2.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .visit-time-choices.form-req {
    gap: 18px 30px;
  }
}

.visit-time-choice 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.7333333333vw;
  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.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .form input[type=checkbox] + span {
    padding-left: 43px;
    height: 32px;
    font-size: 1.6rem;
  }
}

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

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

.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:after {
  content: "";
  position: absolute;
  top: 5.4666666667vw;
  right: 4vw;
  display: inline-block;
  width: 3.7333333333vw;
  height: 2.4vw;
  background-image: url(../img/form/select.svg);
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .form-select:after {
    top: 1.7361111111vw;
    right: 1.3888888889vw;
    width: 1.1111111111vw;
    height: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-select:after {
    top: 25px;
    right: 20px;
    width: 16px;
    height: 10px;
  }
}

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

/* ------------------------------------------- dates - */
@media screen and (min-width: 751px) {
  .form-dates dl dd {
    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;
  }
}

.form-dates dl dd > div {
  width: 100%;
}
@media screen and (min-width: 751px) {
  .form-dates dl dd > div {
    width: calc(50% - 1rem);
  }
}
@media screen and (min-width: 751px) {
  .form-dates dl dd > div {
    width: calc(50% - 1rem);
  }
}

@media screen and (max-width: 750px) {
  .form-dates dl dd > div:nth-child(n+2) {
    margin-top: 2.6666666667vw;
  }
}

/* ------------------------------------------- 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: #ff6f19;
}
@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: #ff6f19;
}
@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: #cfcfcf;
  }
  .form-agree-text a:hover:after {
    background-color: #cfcfcf;
  }
}

.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: 8.6666666667vw auto 0 auto;
  width: 66.6666666667vw;
  height: 12vw;
  background-color: #ff6f19;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 6vw;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .form-btn {
    margin-top: 2.7777777778vw;
    width: 25vw;
    height: 4.8611111111vw;
    border-width: 0.2083333333vw;
    border-radius: 2.4305555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-btn {
    margin-top: 40px;
    width: 360px;
    height: 70px;
    border-width: 3px;
    border-radius: 35px;
  }
}
.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: 5.0666666667vw;
  display: inline-block;
  width: 4.8vw;
  height: 4.8vw;
  background-image: url(../img/common/circle-arrow-cm.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: 1.8055555556vw;
    height: 1.8055555556vw;
    -webkit-transition: background-image 0.3s;
    transition: background-image 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-btn:after {
    right: 30px;
    width: 26px;
    height: 26px;
  }
}

.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: "ZenKakuGothicNew", 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/circle-arrow-og.svg);
  }
}
@media screen and (min-width: 751px) {
  .form-btn:hover .form-submit {
    color: #ff6f19;
  }
}

::-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 #ff6f19 !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;
  }
}

/* ------------------------------------------- grid - */
.form-grid {
  display: -ms-grid;
  display: grid;
  gap: 2vw;
  width: 100%;
}

.form-grid--4 {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}

.form-grid--3 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}

.form-grid--2 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}

.form-grid--1 {
  -ms-grid-columns: (1fr)[1];
  grid-template-columns: repeat(1, 1fr);
}

.form-grid input[type=radio],
.form-plan input[type=radio] {
  display: none;
}

.form-grid-item {
  display: block;
  position: relative;
  background-color: #ffffff;
  border-color: #e0e0e0;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 1.3333333333vw;
  cursor: pointer;
}

.form-grid-item-wrap {
  position: relative;
}

.form-radio-icon {
  width: 4.5333333333vw;
  height: 4.5333333333vw;
  border-color: #005bbb;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 50%;
}

.form-grid input:checked + .form-grid-item {
  border-color: #005bbb;
}

.form-grid input:checked + .form-grid-item .form-radio-icon::after,
.form-plan-label input:checked + .form-radio-icon::after {
  content: "";
  position: absolute;
  inset: 0.5333333333vw;
  background: #005bbb;
  border-radius: 50%;
}

.form-grid-image {
  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 3.3333333333vw auto;
}
.form-grid-image img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.form-grid--4 .form-grid-image {
  width: 21.2vw;
}
.form-grid--4 .form-grid-image img {
  height: 20vw;
}

.form-grid--3 .form-grid-image {
  width: 21.2vw;
}
.form-grid--3 .form-grid-image img {
  height: 21.3333333333vw;
}

.form-grid--2 .form-grid-image {
  width: 36.6666666667vw;
}
.form-grid--2 .form-grid-image img {
  height: 20vw;
}

.form-grid-label {
  display: block;
  width: 100%;
  font-size: 2.9333333333vw;
  font-weight: 700;
  line-height: 1.4em;
}
.form-grid-label span.num {
  font-family: "Lato", sans-serif;
}

@media screen and (min-width: 751px) {
  .form-grid {
    gap: 1.3888888889vw;
  }
  .form-grid--4 {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
  .form-grid--3 {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
  .form-grid--2 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
  .form-grid--1 {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
  }
  .form-grid-item {
    border-width: 0.1388888889vw;
    border-radius: 0.6944444444vw;
  }
  .form-radio-icon {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
    border-width: 0.1388888889vw;
  }
  .form-grid input:checked + .form-grid-item .form-radio-icon::after,
  .form-plan-label input:checked + .form-radio-icon::after {
    inset: 0.2777777778vw;
  }
  .form-grid-image {
    margin: 0 auto 1.0416666667vw auto;
  }
  .form-grid--4 .form-grid-image {
    width: 11.0416666667vw;
  }
  .form-grid--4 .form-grid-image img {
    height: 10.4166666667vw;
  }
  .form-grid--3 .form-grid-image {
    width: 11.0416666667vw;
  }
  .form-grid--3 .form-grid-image img {
    height: 10.4166666667vw;
  }
  .form-grid--2 .form-grid-image {
    width: 19.0972222222vw;
  }
  .form-grid--2 .form-grid-image img {
    height: 10.4166666667vw;
  }
  .form-grid-label {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-grid {
    gap: 20px;
  }
  .form-grid-item {
    border-width: 2px;
    border-radius: 10px;
  }
  .form-radio-icon {
    width: 24px;
    height: 24px;
    border-width: 2px;
  }
  .form-grid input:checked + .form-grid-item .form-radio-icon::after,
  .form-plan-label input:checked + .form-radio-icon::after {
    inset: 4px;
  }
  .form-grid-image {
    margin: 0 auto 15px auto;
  }
  .form-grid--4 .form-grid-image {
    width: 159px;
  }
  .form-grid--4 .form-grid-image img {
    height: 150px;
  }
  .form-grid--3 .form-grid-image {
    width: 159px;
  }
  .form-grid--3 .form-grid-image img {
    height: 150px;
  }
  .form-grid--2 .form-grid-image {
    width: 275px;
  }
  .form-grid--2 .form-grid-image img {
    height: 150px;
  }
  .form-grid-label {
    font-size: 1.5rem;
  }
}
/* ------------------------------------------- card type - */
.form-grid-item--card {
  padding: 8.6666666667vw 2vw 2.6666666667vw 2vw;
  text-align: center;
}
.form-grid-item--card .form-radio-icon {
  position: absolute;
  top: 2.6666666667vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.form-grid-item--card .form-grid-label {
  margin: 0;
}

@media screen and (min-width: 751px) {
  .form-grid-item--card {
    padding: 3.8194444444vw 1.0416666667vw 1.0416666667vw 1.0416666667vw;
  }
  .form-grid-item--card .form-radio-icon {
    top: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-grid-item--card {
    padding: 55px 15px 15px 15px;
  }
  .form-grid-item--card .form-radio-icon {
    top: 15px;
  }
}
/* ------------------------------------------- box type - */
.form-step-item .form-radio-group:nth-of-type(n + 2) {
  margin-top: 8vw;
}

.form-grid-item--box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.6666666667vw;
  padding: 1.3333333333vw 2.6666666667vw 1.3333333333vw 10vw;
  font-weight: 700;
}
.form-grid-item--box .form-radio-icon {
  position: absolute;
  top: 50%;
  left: 2.6666666667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 751px) {
  .form-step-item .form-radio-group:nth-of-type(n + 2) {
    margin-top: 3.4722222222vw;
  }
  .form-grid-item--box {
    gap: 0.8333333333vw;
    min-width: 15.2777777778vw;
    padding: 0.4166666667vw 1.3888888889vw 0.4166666667vw 4.5138888889vw;
  }
  .form-grid-item--box .form-radio-icon {
    left: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-step-item .form-radio-group:nth-of-type(n + 2) {
    margin-top: 50px;
  }
  .form-grid-item--box {
    gap: 12px;
    min-width: 220px;
    padding: 6px 20px 6px 65px;
  }
  .form-grid-item--box .form-radio-icon {
    left: 20px;
  }
}
/* ------------------------------------------- key type - */
.form-grid-item--key {
  position: relative;
  display: block;
}
.form-grid-item--key .form-radio-icon {
  position: absolute;
  top: 50%;
  left: 2.6666666667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form-grid-item--key .form-grid-image {
  margin: 0;
  padding: 2.6666666667vw 0 2.6666666667vw 10.6666666667vw;
  width: 27.3333333333vw;
}
.form-grid-item--key .form-grid-image img {
  height: 16vw;
}

.form-key-contents {
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.form-key-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2.6666666667vw 2.6666666667vw 2.6666666667vw 0;
  width: calc(100% - 30.6666666667vw);
}

.form-key-price {
  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: 2vw 2.6666666667vw;
  background-color: #f3f3f3;
  border-radius: 0 0 1.3333333333vw 1.3333333333vw;
  width: 100%;
}
.form-key-price span {
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
}
.form-key-price span span.num {
  font-family: "Lato", sans-serif;
}

@media screen and (min-width: 751px) {
  .form-grid-item--key {
    padding-left: 4.0277777778vw;
  }
  .form-grid-item--key .form-radio-icon {
    position: absolute;
    top: 50%;
    left: 2.0833333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .form-grid-item--key .form-grid-image {
    margin: 0;
    padding: 1.3888888889vw 0;
    width: 11.1111111111vw;
  }
  .form-grid-item--key .form-grid-image img {
    height: 8.3333333333vw;
  }
  .form-key-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .form-key-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.3888888889vw;
    width: 32.6388888889vw;
  }
  .form-key-price {
    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: 1.3888888889vw 1.0416666667vw;
    border-radius: 0 0.6944444444vw 0.6944444444vw 0;
    width: 11.1111111111vw;
    min-height: 10.4166666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-grid-item--key {
    padding-left: 58px;
  }
  .form-grid-item--key .form-radio-icon {
    left: 30px;
  }
  .form-grid-item--key .form-grid-image {
    padding: 20px 0;
    width: 160px;
  }
  .form-grid-item--key .form-grid-image img {
    height: 120px;
  }
  .form-key-content {
    padding: 20px;
    width: 470px;
  }
  .form-key-price {
    padding: 20px 15px;
    border-radius: 0 10px 10px 0;
    width: 160px;
    min-height: 150px;
  }
}
/* ------------------------------------------- numbers - */
.form-numbers {
  display: block;
  margin-top: 2.6666666667vw;
  width: 100%;
}

.form-numbers-label {
  display: block;
  margin-bottom: 1em;
  font-size: 2.9333333333vw;
  line-height: 1.4em;
}
.form-numbers-label span.num {
  font-family: "Lato", sans-serif;
  font-weight: 700;
}

.form-quantity {
  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;
  gap: 1.0666666667vw;
}

.form-quantity input[type=number] {
  width: 16vw;
  height: 5.3333333333vw;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 0.2666666667vw;
  border-radius: 0.5333333333vw;
  font-family: "Lato", sans-serif;
  font-size: 3.7333333333vw;
  text-align: center;
  font-weight: 700;
}

/* + - ボタン */
.form-quantity-btn {
  width: 6.4vw;
  height: 5.3333333333vw;
  font-size: 2.6666666667vw;
  font-weight: 700;
  border: none;
  border-radius: 0.5333333333vw;
  background-color: #777;
  color: #ffffff;
  cursor: pointer;
}

.form-grid-item-wrap--numbers .form-key-content {
  padding-bottom: 20vw;
}
.form-grid-item-wrap--numbers .form-key-content > span {
  display: block;
  width: 100%;
}
.form-grid-item-wrap--numbers .form-numbers {
  position: absolute;
  right: 2.6666666667vw;
  bottom: 13.3333333333vw;
  margin: 0;
  width: 57.3333333333vw;
  z-index: 1;
}

@media screen and (max-width: 750px) {
  .form-grid-item-wrap .form-numbers-label {
    width: 57.6vw;
  }
}
@media screen and (min-width: 751px) {
  .form-numbers {
    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;
    gap: 1.0416666667vw;
    margin-top: 1.7361111111vw;
  }
  .form-numbers-label {
    margin: 0;
    font-size: 1.0416666667vw;
  }
  .form-quantity {
    gap: 0.5555555556vw;
  }
  .form-quantity input[type=number] {
    width: 5vw;
    height: 2.7777777778vw;
    border-width: 0.0694444444vw;
    border-radius: 0.2777777778vw;
    font-size: 1.1111111111vw;
  }
  /* + - ボタン */
  .form-quantity-btn {
    width: 3.3333333333vw;
    height: 2.7777777778vw;
    font-size: 1.3888888889vw;
    border-radius: 0.2777777778vw;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
  .form-quantity-btn:hover, .form-quantity-btn:active {
    background-color: #565656;
  }
  .form-grid-item-wrap--numbers .form-key-content {
    padding-bottom: 4.5138888889vw;
  }
  .form-grid-item-wrap--numbers .form-numbers {
    right: 12.5vw;
    bottom: 2.7777777778vw;
    width: 32.6388888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-numbers {
    gap: 15px;
    margin-top: 25px;
  }
  .form-numbers-label {
    font-size: 1.5rem;
  }
  .form-quantity {
    gap: 8px;
  }
  .form-quantity input[type=number] {
    width: 72px;
    height: 40px;
    border-width: 1px;
    border-radius: 4px;
    font-size: 16px;
  }
  /* + - ボタン */
  .form-quantity-btn {
    width: 48px;
    height: 40px;
    font-size: 20px;
    border-radius: 4px;
  }
  .form-grid-item-wrap--numbers .form-key-content {
    padding-bottom: 65px;
  }
  .form-grid-item-wrap--numbers .form-numbers {
    right: 180px;
    bottom: 40px;
    width: 470px;
  }
}
/* ------------------------------------------- hint - */
.form-hint {
  margin-bottom: 5.3333333333vw;
  padding: 4vw 3.3333333333vw;
  background-color: #fff0e8;
  border-radius: 0.5333333333vw;
}

.form-hint-heading {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 6vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
}
.form-hint-heading:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 3.2vw;
  height: 4.5333333333vw;
  background-image: url(../img/form/lightbulb.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.form-hint-text p {
  font-size: 3.2vw;
}

@media screen and (min-width: 751px) {
  .form-hint {
    margin-bottom: 2.0833333333vw;
    padding: 1.7361111111vw 2.0833333333vw;
    border-radius: 0.2777777778vw;
  }
  .form-hint-heading {
    padding-left: 2.4305555556vw;
    font-size: 1.25vw;
  }
  .form-hint-heading:before {
    width: 1.3888888889vw;
    height: 2.0833333333vw;
  }
  .form-hint-text p {
    font-size: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-hint {
    margin-bottom: 30px;
    padding: 25px 30px;
    border-radius: 4px;
  }
  .form-hint-heading {
    padding-left: 35px;
    font-size: 1.8rem;
  }
  .form-hint-heading:before {
    width: 20px;
    height: 30px;
  }
  .form-hint-text p {
    font-size: 1.5rem;
  }
}
/* ------------------------------------------- court - */
.form-court {
  margin-bottom: 5.3333333333vw;
  padding: 4vw 4.2666666667vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}

.form-court-heading {
  margin-bottom: 0.5em;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
}

.form-court-text p {
  font-size: 3.2vw;
}

.form-court-image {
  margin-top: 4.6666666667vw;
}

@media screen and (min-width: 751px) {
  .form-court {
    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-bottom: 2.0833333333vw;
    padding: 1.7361111111vw;
    border-radius: 0.2777777778vw;
  }
  .form-court-content {
    width: 30.5555555556vw;
  }
  .form-court-heading {
    font-size: 1.25vw;
  }
  .form-court-text p {
    font-size: 1.0416666667vw;
  }
  .form-court-image {
    margin: 0;
    width: 22.2222222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-court {
    margin-bottom: 30px;
    padding: 25px;
    border-radius: 4px;
  }
  .form-court-content {
    width: 440px;
  }
  .form-court-heading {
    font-size: 1.8rem;
  }
  .form-court-text p {
    font-size: 1.5rem;
  }
  .form-court-image {
    width: 320px;
  }
}
/* ------------------------------------------- estimate - */
.form-estimate {
  margin-top: 0 !important;
}

.form-estimate-total > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 3.3333333333vw 0 2vw 0;
}

.form-total-price {
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1em;
}
.form-total-price span.num {
  font-family: "Lato", sans-serif;
  font-size: 7.0666666667vw;
}
.form-total-price span.unit {
  font-size: 5.3333333333vw;
}

.form-total-taxin .form-total-price span {
  color: #c4302b;
}
.form-total-taxin .form-total-price span.num {
  font-size: 13.7333333333vw;
  line-height: 1em;
}
.form-total-taxin .form-total-price span.unit {
  font-size: 5.3333333333vw;
}

.form-estimate-text {
  margin-top: 3.3333333333vw;
  padding: 1.3em 1.4em;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}

.form-estimate-text.text p:nth-child(n+2) {
  margin-top: 0;
}

.form-estimate-text.text p {
  line-height: 1.5;
}

@media screen and (max-width: 750px) {
  .form-estimate-total > div:nth-child(n+2) {
    margin-top: 4vw;
    padding-top: 4vw;
    border-top-color: #cfcfcf;
    border-top-style: solid;
    border-top-width: 1px;
  }
  .form-estimate-total > div {
    padding-left: 4vw;
    padding-right: 4vw;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (min-width: 751px) {
  .form-estimate-total {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .form-estimate-total > div {
    padding: 1.0416666667vw 0 0.3472222222vw 0;
  }
  .form-estimate-total > div:nth-child(n+2) {
    margin-left: 1.3888888889vw;
    padding-left: 1.3888888889vw;
    border-left-color: #cfcfcf;
    border-left-style: solid;
    border-left-width: 0.0694444444vw;
  }
  .form-total-price {
    font-size: 1.1111111111vw;
  }
  .form-total-price span.num {
    font-size: 2.2916666667vw;
  }
  .form-total-price span.unit {
    font-size: 1.25vw;
  }
  .form-total-taxin .form-total-price span.num {
    font-size: 2.9861111111vw;
  }
  .form-total-taxin .form-total-price span.unit {
    font-size: 1.25vw;
  }
  .form-estimate-text {
    margin-top: 1.0416666667vw;
    padding: 1.3em 1.4em;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-estimate-total > div {
    padding: 15px 0 5px 0;
  }
  .form-estimate-total > div:nth-child(n+2) {
    margin-left: 20px;
    padding-left: 20px;
    border-left-width: 1px;
  }
  .form-total-price {
    font-size: 1.6rem;
  }
  .form-total-price span.num {
    font-size: 3.3rem;
  }
  .form-total-price span.unit {
    font-size: 1.8rem;
  }
  .form-total-taxin .form-total-price span.num {
    font-size: 4.3rem;
  }
  .form-total-taxin .form-total-price span.unit {
    font-size: 1.8rem;
  }
  .form-estimate-text {
    margin-top: 15px;
    border-radius: 4px;
  }
}
/* ------------------------------------------- open - */
.form-open {
  margin-top: 2.6666666667vw;
}
@media screen and (max-width: 750px) {
  .form-open {
    text-align: right;
  }
}
@media screen and (min-width: 751px) {
  .form-open {
    margin: 0 0 0 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .form-open {
    margin-left: 20px;
  }
}

.form-open a {
  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 8vw 0.1em 4vw;
  height: 6.1333333333vw;
  background-color: #ff6f19;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 0.6666666667vw;
  color: #ffffff;
  font-size: 3.0666666667vw;
  font-weight: 700;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .form-open a {
    padding: 0 2.7777777778vw 0.1em 1.3888888889vw;
    height: 2.5vw;
    border-width: 0.1388888889vw;
    border-radius: 0.3472222222vw;
    font-size: 1.0416666667vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-open a {
    padding: 0 40px 0.1em 20px;
    height: 36px;
    border-width: 2px;
    border-radius: 5px;
    font-size: 1.5rem;
  }
}
.form-open a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url(../img/search/question-wh.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 751px) {
  .form-open a:after {
    right: 0.8333333333vw;
    -webkit-transition: background-image 0.3s;
    transition: background-image 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .form-open a:after {
    right: 12px;
  }
}
@media screen and (min-width: 751px) {
  .form-open a:hover {
    background-color: #ffffff;
    color: #ff6f19;
  }
}
@media screen and (min-width: 751px) {
  .form-open a:hover:after {
    background-image: url(../img/search/question-og.svg);
  }
}

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

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

/* ------------------------------------------- heading-2 - */
.editor h2,
.heading-2 {
  position: relative;
  margin-bottom: 7.3333333333vw;
  padding: 2.6666666667vw 2vw 2.6666666667vw 5.3333333333vw;
  background-image: url(../img/common/pattern_sp.jpg);
  background-repeat: repeat;
  border-radius: 0.5333333333vw;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1.5em;
  overflow: hidden;
}
@media screen and (min-width: 751px) {
  .editor h2,
  .heading-2 {
    margin-bottom: 3.125vw;
    padding: 0.9722222222vw 1.3888888889vw 0.9722222222vw 2.4305555556vw;
    background-image: url(../img/common/pattern.jpg);
    background-image: image-set(url(../img/common/pattern.jpg) 1x, url(../img/common/pattern-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/pattern.jpg) 1x, url(../img/common/pattern-2x.jpg) 2x);
    border-radius: 0.2777777778vw;
    font-size: 1.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h2,
  .heading-2 {
    margin-bottom: 45px;
    padding: 14px 20px 14px 35px;
    border-radius: 4px;
    font-size: 2.8rem;
  }
}
.editor h2:before,
.heading-2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.1333333333vw;
  height: 100%;
  background-color: #ff6f19;
}
@media screen and (min-width: 751px) {
  .editor h2:before,
  .heading-2:before {
    width: 0.6944444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h2:before,
  .heading-2:before {
    width: 10px;
  }
}

/* ------------------------------------------- heading-3 - */
.editor h3,
.heading-3,
.sub--search-result .search h4 {
  position: relative;
  margin-bottom: 1em;
  padding-left: 4.6666666667vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .editor h3,
  .heading-3,
  .sub--search-result .search h4 {
    padding-left: 2.0833333333vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h3,
  .heading-3,
  .sub--search-result .search h4 {
    padding-left: 30px;
    font-size: 2.4rem;
  }
}
.editor h3:before,
.heading-3:before,
.sub--search-result .search h4:before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
  display: inline-block;
  width: 3.7333333333vw;
  height: 4.5333333333vw;
  background-image: url(../img/common/triangle.svg);
  background-size: contain;
}
@media screen and (min-width: 751px) {
  .editor h3:before,
  .heading-3:before,
  .sub--search-result .search h4:before {
    width: 1.25vw;
    width: 1.5277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h3:before,
  .heading-3:before,
  .sub--search-result .search h4:before {
    width: 18px;
    height: 22px;
  }
}

.sub--search-result .search h4 {
  padding-block: 0;
}

/* ------------------------------------------- heading-3 - */
.editor h4,
.heading-4 {
  position: relative;
  margin-bottom: 1em;
  padding: 0 0.5em 0.7em 0.5em;
  border-bottom-color: #cfcfcf;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  color: #ff6f19;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .editor h4,
  .heading-4 {
    border-bottom-width: 0.0694444444vw;
    font-size: 1.3888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .editor h4,
  .heading-4 {
    border-bottom-width: 1px;
    font-size: 2rem;
  }
}

/*  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: "Lato", 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: #fff0e8;
  border-radius: 0.5333333333vw;
  color: #ff6f19;
  font-family: "Lato", 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: #ff6f19;
  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: #fff0e8;
  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-og.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.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
  .pagenation-list li:not(.pagenation-prev):not(.pagenation-next) a:hover {
    background-color: #ff6f19;
    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.3s;
    transition: background-color 0.3s;
  }
  .pagenation-prev a:after,
  .pagenation-next a:after {
    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;
  }
  .pagenation-prev a:hover,
  .pagenation-next a:hover {
    background-color: #ff6f19;
  }
  .pagenation-prev a:hover:after,
  .pagenation-next a:hover:after {
    background-image: url(../img/common/arrow-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: 8vw 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: 12vw;
  background-color: #ff5f00;
  border-color: #ffffff;
  border-style: solid;
  border-width: 0.5333333333vw;
  border-radius: 1.0666666667vw;
  -webkit-box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
          box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
  color: #ffffff;
  font-size: 3.7333333333vw;
  font-weight: 700;
}

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

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

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

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

.pagenavi-back {
  margin: 0 auto;
  width: 36vw;
}

@media screen and (min-width: 751px) {
  .pagenavi {
    margin-top: 4.1666666667vw;
    width: 53.4722222222vw;
    height: 4.5138888889vw;
  }
  .pagenavi-prev a,
  .pagenavi-next a,
  .pagenavi-back a {
    height: 4.5138888889vw;
    border-width: 0.1388888889vw;
    border-radius: 0.5555555556vw;
    color: #ffffff;
    font-size: 1.25vw;
    font-weight: 700;
    -webkit-transition: background-color 0.3s, border-color 0.3s, color 0.3s;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
  }
  .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;
    border-color: #ff5f00;
    color: #ff6f19;
  }
  .pagenavi-prev a:after,
  .pagenavi-next a:after {
    width: 1.3888888889vw;
    height: 1.3888888889vw;
  }
  .pagenavi-prev a:hover:after,
  .pagenavi-next a:hover:after {
    background-image: url(../img/common/circle-arrow-og.svg);
  }
  .pagenavi-prev,
  .pagenavi-next {
    width: 12.5vw;
  }
  .pagenavi-prev a {
    padding-left: 1.0416666667vw;
  }
  .pagenavi-prev a:after {
    left: 2.0833333333vw;
  }
  .pagenavi-next a {
    padding-right: 1.0416666667vw;
  }
  .pagenavi-next a:after {
    right: 2.0833333333vw;
  }
  .pagenavi-back {
    width: 21.5277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .pagenavi {
    margin-top: 60px;
    width: 770px;
    height: 65px;
  }
  .pagenavi-prev a,
  .pagenavi-next a,
  .pagenavi-back a {
    height: 65px;
    border-width: 2px;
    border-radius: 8px;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 700;
  }
  .pagenavi-prev a:after,
  .pagenavi-next a:after {
    width: 20px;
    height: 20px;
  }
  .pagenavi-prev,
  .pagenavi-next {
    width: 178px;
  }
  .pagenavi-prev a {
    padding-left: 15px;
  }
  .pagenavi-prev a:after {
    left: 30px;
  }
  .pagenavi-next a {
    padding-right: 15px;
  }
  .pagenavi-next a:after {
    right: 30px;
  }
  .pagenavi-back {
    width: 310px;
  }
}
/*  post
-------------------------------------------------------------------------------*/
.post {
  position: relative;
}

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

.post-image {
  margin-bottom: 7.3333333333vw;
  border-radius: 1.0666666667vw;
  overflow: hidden;
}

.post-data {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.post-cat {
  display: inline-block;
  margin-bottom: 1.5em;
  padding: 0.3em 0.5em 0.4em 0.5em;
  background-color: #ff6f19;
  border-radius: 0.2666666667vw;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 500;
}

.post-data .post-cat {
  margin: 0 0 0 1em;
}

.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;
}

.post-date p {
  position: relative;
  padding-left: 4.9333333333vw;
  color: #565656;
  font-size: 3.7333333333vw;
}

.post-date p:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  margin-top: 0.05em;
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  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-intro {
  margin-top: 6.6666666667vw;
}
.post-intro p {
  line-height: 1.7em;
  letter-spacing: 0.02em;
}

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

.post .inquiry {
  margin-top: 13.3333333333vw;
}

@media screen and (min-width: 751px) {
  .post > section {
    margin-top: 5.5555555556vw;
  }
  .post-image {
    margin-bottom: 3.4722222222vw;
    border-radius: 0.5555555556vw;
  }
  .post-date p {
    padding-left: 1.3888888889vw;
    font-size: 0.9722222222vw;
  }
  .post-date p:before {
    width: 0.9722222222vw;
    height: 0.9722222222vw;
  }
  .post-date p:nth-child(n+2) {
    margin-left: 1.3888888889vw;
  }
  .post-cat {
    border-radius: 0.2083333333vw;
    font-size: 0.8333333333vw;
  }
  .post-intro {
    margin-top: 2.7777777778vw;
  }
  .post .editor {
    margin-top: 2.7777777778vw;
  }
  .post .inquiry {
    margin-top: 6.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .post > section {
    margin-top: 80px;
  }
  .post-image {
    margin-bottom: 50px;
    border-radius: 8px;
  }
  .post-date p {
    padding-left: 20px;
    font-size: 1.4rem;
  }
  .post-date p:before {
    width: 14px;
    height: 14px;
  }
  .post-date p:nth-child(n+2) {
    margin-left: 20px;
  }
  .post-cat {
    border-radius: 3px;
    font-size: 1.2rem;
  }
  .post-intro {
    margin-top: 40px;
  }
  .post .editor {
    margin-top: 40px;
  }
  .post .inquiry {
    margin-top: 100px;
  }
}
/*  ttl
-------------------------------------------------------------------------------*/
.ttl {
  position: relative;
  background-color: #fff3e8;
  overflow: hidden;
}

.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: 29.3333333333vw;
}
@media screen and (min-width: 751px) {
  .ttl .inner {
    height: 13.8888888889vw;
  }
}
@media screen and (min-width: 1441px) {
  .ttl .inner {
    height: 200px;
  }
}
.ttl .inner:before, .ttl .inner:after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(../img/common/dot.png);
  background-size: contain;
}
.ttl .inner:before {
  top: 17.3333333333vw;
  left: -3.3333333333vw;
  width: 21.0666666667vw;
  height: 21.0666666667vw;
}
@media screen and (min-width: 751px) {
  .ttl .inner:before {
    top: -2.4305555556vw;
    left: 18.4027777778vw;
    width: 8.3333333333vw;
    height: 8.3333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .ttl .inner:before {
    top: -35px;
    left: 265px;
    width: 120px;
    height: 120px;
  }
}
.ttl .inner:after {
  right: -15.3333333333vw;
  bottom: 3.3333333333vw;
  width: 28.5333333333vw;
  height: 28.5333333333vw;
}
@media screen and (min-width: 751px) {
  .ttl .inner:after {
    right: 16.6666666667vw;
    bottom: -1.3888888889vw;
    width: 8.3333333333vw;
    height: 8.3333333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .ttl .inner:after {
    right: 240px;
    bottom: -20px;
    width: 120px;
    height: 120px;
  }
}

.ttl-jp {
  position: relative;
  color: #ff5f00;
  font-size: 6.4vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.24em;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .ttl-jp {
    font-size: 2.7777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .ttl-jp {
    font-size: 4rem;
  }
}

/*  lead
-------------------------------------------------------------------------------*/
.lead {
  position: relative;
  margin-bottom: 8vw;
  padding: 4vw 6vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}
@media screen and (min-width: 751px) {
  .lead {
    margin-bottom: 3.4722222222vw;
    padding: 1.7361111111vw 2.5vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .lead {
    margin-bottom: 50px;
    padding: 25px 36px;
    border-radius: 4px;
  }
}
.lead p {
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.7em;
}
@media screen and (min-width: 751px) {
  .lead p {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .lead p {
    font-size: 1.6rem;
  }
}

/*  term
-------------------------------------------------------------------------------*/
.term {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4vw 0;
  margin-bottom: 8vw;
}

.term dl {
  width: 100%;
}

.term dt {
  position: relative;
  font-size: 4.5333333333vw;
  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;
  padding: 0.1em 6vw 0 2.4vw;
  height: 11.2vw;
  background-color: #f9f9f9;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.3333333333vw;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.18em;
}
.term-menu a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  width: 2.1333333333vw;
  height: 3.2vw;
  background-image: url(../img/common/arrow-og.svg);
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
  .term--normal dt {
    margin-bottom: 1em;
    padding: 0 0 0.1em 4.6666666667vw;
  }
  .term--normal dt:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 1.6vw;
    height: 100%;
    background-color: #ff6f19;
    border-radius: 0.4vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .term--open dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 16vw 0 4vw;
    background-color: #fff0e8;
    height: 14.6666666667vw;
    border-radius: 0.5333333333vw;
    cursor: pointer;
  }
  .term--open dt:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 4vw;
    display: inline-block;
    width: 4.8vw;
    height: 4.8vw;
    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: 2.7777777778vw 0;
    margin-bottom: 5.5555555556vw;
  }
  .term dt {
    margin-bottom: 1em;
    padding: 0 0 0.1em 1.7361111111vw;
    font-size: 1.6666666667vw;
  }
  .term dt:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 0.4166666667vw;
    height: 100%;
    background-color: #ff6f19;
    border-radius: 0.2083333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .term-menu {
    gap: 1.0416666667vw;
    margin: 0;
  }
  .term-menu > li {
    width: 14.4444444444vw;
  }
  .area-sec .term-menu {
    gap: 1.0416666667vw 1.1111111111vw;
  }
  .area-sec .term-menu > li {
    width: 11.8055555556vw;
  }
  .term-menu a {
    padding: 0.1em 2.0833333333vw 0 0.9027777778vw;
    height: 3.4722222222vw;
    border-width: 0.1388888889vw;
    border-radius: 0.3472222222vw;
    font-size: 1.0416666667vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
  .term-menu a:after {
    right: 0.6944444444vw;
    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;
  }
  .term-menu a:hover {
    background-color: #cfcfcf;
  }
  .term-menu a:hover:after {
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
}
@media screen and (min-width: 1441px) {
  .term {
    gap: 40px 0;
    margin-bottom: 80px;
  }
  .term dt {
    padding-left: 25px;
    font-size: 2.4rem;
  }
  .term dt:before {
    width: 6px;
    border-radius: 3px;
  }
  .term-menu {
    gap: 15px;
  }
  .term-menu > li {
    width: 208px;
  }
  .area-sec .term-menu {
    gap: 15px 16px;
  }
  .area-sec .term-menu > li {
    width: 170px;
  }
  .term-menu a {
    padding: 0.1em 30px 0 13px;
    height: 50px;
    border-width: 1px;
    border-radius: 5px;
    font-size: 1.5rem;
  }
  .term-menu a:after {
    right: 10px;
    width: 8px;
    height: 12px;
  }
}
/* modal
-------------------------------------------------------------------------------*/
.remodal-overlay {
  background: rgba(0, 0, 0, 0.7);
}

.remodal {
  position: relative;
  padding: 6.6666666667vw 4vw 8vw 4vw;
  width: 90.6666666667vw;
  max-width: 100%;
  background-color: #ffffff;
  border-radius: 2.1333333333vw;
}

.remodal-close {
  position: absolute;
  top: -2vw;
  right: -2vw;
  width: 8vw;
  height: 8vw;
  background-image: url(../img/modal/close.svg);
  background-size: contain;
  cursor: pointer;
}

::-webkit-full-page-media,
:future,
:root .remodal-close {
  -webkit-transition: none;
  transition: none;
}

@media screen and (min-width: 751px) {
  .remodal {
    padding: 3.4722222222vw 3.4722222222vw 4.1666666667vw 3.4722222222vw;
    width: 44.4444444444vw;
    border-radius: 1.1111111111vw;
  }
  .remodal-close {
    top: -0.6944444444vw;
    right: -0.6944444444vw;
    width: 2.5vw;
    height: 2.5vw;
    -webkit-transition: background-image 0.3s;
    transition: background-image 0.3s;
  }
  .remodal-close:hover {
    background-image: url(../img/modal/close-on.svg);
  }
}
@media screen and (min-width: 1441px) {
  .remodal {
    padding: 50px 50px 60px 50px;
    width: 640px;
    border-radius: 16px;
  }
  .remodal-close {
    top: -10px;
    right: -10px;
    width: 36px;
    height: 36px;
  }
}
/*  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 .c-works {
  width: 100%;
}

@media screen and (min-width: 751px) {
  .works-post {
    gap: 2.7777777778vw 2.1527777778vw;
  }
  .works-post .c-works {
    width: 24.0277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-post {
    gap: 40px 31px;
  }
  .works-post .c-works {
    width: 346px;
  }
}
/* ------------------------------------------- search - */
.works-search {
  position: relative;
  margin-bottom: 8vw;
}

.works-search .sf-input-checkbox {
  display: none;
}

.works-search .searchandfilter ul li {
  padding: 0 !important;
}

.works-search h4 {
  position: relative;
  margin-bottom: 1em;
  padding: 0 0 0.1em 4.6666666667vw;
  font-size: 4.5333333333vw;
  font-weight: 700;
  line-height: 1.25em;
}
.works-search h4:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 1.6vw;
  height: 100%;
  background-color: #ff6f19;
  border-radius: 0.4vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.works-search form > ul > li {
  margin-bottom: 5.3333333333vw !important;
}

.works-search form > ul > li > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 4vw;
  gap: 2vw 2.1333333333vw;
}

.works-search form > ul > li > ul > li {
  width: 44.9333333333vw;
}

.works-search form > ul > li > ul > li label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 !important;
  padding: 0.1em 6vw 0 2.4vw;
  height: 11.2vw;
  background-color: #f9f9f9;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.3333333333vw;
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1.18em;
}
.works-search form > ul > li > ul > li label:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  width: 2.1333333333vw;
  height: 3.2vw;
  background-image: url(../img/common/arrow-og.svg);
  background-size: cover;
  background-position: center;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.works-search form > ul > li > ul > li label {
  cursor: pointer;
}

.works-search .sf-option-active label {
  background-color: #ff6f19;
  color: #ffffff;
}

@media screen and (min-width: 751px) {
  .works-search {
    margin-bottom: 5.5555555556vw;
  }
  .works-search h4 {
    margin-bottom: 1em;
    padding: 0 0 0.1em 1.7361111111vw;
    font-size: 1.6666666667vw;
  }
  .works-search h4:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 0.4166666667vw;
    height: 100%;
    background-color: #ff6f19;
    border-radius: 0.2083333333vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .works-search form > ul > li {
    margin-bottom: 2.7777777778vw !important;
  }
  .works-search form > ul > li > ul {
    gap: 1.0416666667vw;
    margin: 0;
  }
  .works-search form > ul > li > ul > li {
    width: 14.4444444444vw;
  }
  .works-search form > ul > li > ul > li label {
    padding: 0.1em 2.4305555556vw 0 1.0416666667vw;
    height: 3.4722222222vw;
    border-width: 0.1388888889vw;
    border-radius: 0.3472222222vw;
    font-size: 1.0416666667vw;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
  .works-search form > ul > li > ul > li label:after {
    right: 0.6944444444vw;
    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;
  }
  .works-search form > ul > li > ul > li label:hover {
    background-color: #cfcfcf;
  }
  .works-search form > ul > li > ul > li label:hover:after {
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
}
@media screen and (min-width: 1441px) {
  .works-search {
    margin-bottom: 80px;
  }
  .works-search h4 {
    padding-left: 25px;
    font-size: 2.4rem;
  }
  .works-search h4:before {
    width: 6px;
    border-radius: 3px;
  }
  .worksー form > ul > li {
    margin-bottom: 40px !important;
  }
  .works-search form > ul > li > ul {
    gap: 15px;
  }
  .works-search form > ul > li > ul > li {
    width: 208px;
  }
  .works-search form > ul > li > ul > li label {
    padding: 0.1em 35px 0 15px;
    height: 50px;
    border-width: 1px;
    border-radius: 5px;
    font-size: 1.5rem;
  }
  .works-search form > ul > li > ul > li label:after {
    right: 10px;
    width: 8px;
    height: 12px;
  }
}
/* ------------------------------------------- pull-down - */
.sf-field-taxonomy-model-number label {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 751px) {
  .sf-field-taxonomy-model-number label {
    width: 31.9444444444vw;
  }
}
@media screen and (min-width: 1441px) {
  .sf-field-taxonomy-model-number label {
    width: 460px;
  }
}
.sf-field-taxonomy-model-number label:after {
  content: "";
  position: absolute;
  top: 5.4666666667vw;
  right: 4vw;
  display: inline-block;
  width: 3.2vw;
  height: 2.1333333333vw;
  background-image: url(../img/form/select.svg);
  background-size: contain;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .sf-field-taxonomy-model-number label:after {
    top: 1.7361111111vw;
    right: 1.3888888889vw;
    width: 0.8333333333vw;
    height: 0.5555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .sf-field-taxonomy-model-number label:after {
    top: 25px;
    right: 20px;
    width: 12px;
    height: 8px;
  }
}

.works-search select {
  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 1em;
  width: 100%;
  height: 13.3333333333vw;
  background-color: #f9f9f9;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  border-radius: 0.5333333333vw;
  color: #2f2725;
  font-family: "ZenKakuGothicNew", sans-serif;
  font-size: 3.4666666667vw;
  font-weight: 700;
  line-height: 1.2em;
}
@media screen and (min-width: 751px) {
  .works-search select {
    padding: 0 1.5em;
    height: 4.1666666667vw;
    border-width: 0.0694444444vw;
    border-radius: 0.3472222222vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-search select {
    height: 60px;
    border-width: 1px;
    border-radius: 5px;
    font-size: 16px;
  }
}

/*  works --> single
-------------------------------------------------------------------------------*/
/* ------------------------------------------- bf - */
.works-bf {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4vw;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 2.6666666667vw;
}
.works-bf .works-bf-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 0.5333333333vw;
}

.works-bf-slider-main {
  overflow: hidden;
}

.works-bf-slider-main .swiper-slide {
  height: auto;
}

.works-bf-slider-pagination {
  margin-top: 2.6666666667vw;
}

.works-bf-slider-thumb {
  margin-top: 2.6666666667vw;
  overflow: hidden;
}

.works-bf-slider-thumb .swiper-slide {
  margin-right: 1.3333333333vw;
  width: 16vw;
  border-radius: 0.5333333333vw;
  opacity: 0.5;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

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

.works-bf-slider-thumb .swiper-slide-thumb-active {
  opacity: 1;
}

.works-bf-thumb-slide img {
  display: block;
  width: 100%;
  aspect-ratio: 160/100;
  -o-object-fit: cover;
     object-fit: cover;
}

.works-bf-label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
  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: 14.9333333333vw;
  height: 5.0666666667vw;
  border-radius: 0.5333333333vw 0 0.5333333333vw 0;
  color: #ffffff;
  font-family: "Lato", sans-serif;
  font-size: 2.6666666667vw;
  font-weight: 700;
}

.works-bf-before {
  position: relative;
  width: 100%;
}
.works-bf-before .works-bf-image img {
  aspect-ratio: 170/170;
}
.works-bf-before .works-bf-label {
  background-color: #7e7e7e;
}

.works-bf-after {
  position: relative;
  width: 100%;
}
.works-bf-after .works-bf-image img {
  aspect-ratio: 390/250;
}
.works-bf-after .works-bf-label {
  background-color: #ff6f19;
}

.works-bf:has(.works-bf-before):has(.works-bf-after) .works-bf-before {
  width: 43.5%;
}
.works-bf:has(.works-bf-before):has(.works-bf-after) .works-bf-before:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -11.3333333333vw;
  display: inline-block;
  width: 13.3333333333vw;
  height: 12.2666666667vw;
  background-image: url(../img/works/arrow.svg);
  background-size: contain;
  z-index: 1;
}
.works-bf:has(.works-bf-before):has(.works-bf-after) .works-bf-after {
  width: 52.3%;
}
.works-bf:has(.works-bf-before):has(.works-bf-after) .works-bf-after .works-bf-image img {
  aspect-ratio: 204/250;
}

@media screen and (min-width: 751px) {
  .works-bf {
    margin-bottom: 1.0416666667vw;
    gap: 1.3888888889vw;
  }
  .works-bf .works-bf-image img {
    border-radius: 0.2777777778vw;
  }
  .works-bf-slider-pagination {
    margin-top: 1.3888888889vw;
  }
  .works-bf-slider-thumb {
    margin-top: 1.1111111111vw;
  }
  .works-bf-slider-thumb .swiper-slide {
    margin-right: 0.6944444444vw;
    width: 6.25vw;
    border-radius: 0.2777777778vw;
  }
  .works-bf-label {
    width: 6.3888888889vw;
    height: 1.9444444444vw;
    border-radius: 0.2777777778vw 0 0.2777777778vw 0;
    font-size: 1.1111111111vw;
  }
  .works-bf:has(.works-bf-before):has(.works-bf-after) .works-bf-before:after {
    bottom: -4.8611111111vw;
    width: 5.7638888889vw;
    height: 5.3472222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-bf {
    margin-bottom: 15px;
    gap: 20px;
  }
  .works-bf .works-bf-image img {
    border-radius: 4px;
  }
  .works-bf-slider-pagination {
    margin-top: 20px;
  }
  .works-bf-slider-thumb {
    margin-top: 16px;
  }
  .works-bf-slider-thumb .swiper-slide {
    margin-right: 10px;
    width: 90px;
    border-radius: 4px;
  }
  .works-bf-label {
    width: 92px;
    height: 28px;
    border-radius: 4px 0 4px 0;
    font-size: 1.6rem;
  }
  .works-bf:has(.works-bf-before):has(.works-bf-after) .works-bf-before:after {
    bottom: -70px;
    width: 83px;
    height: 77px;
  }
}
/* ------------------------------------------- data - */
.works-data {
  position: relative;
  margin-top: 8vw;
  border-top-color: #cfcfcf;
  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: #cfcfcf;
  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: 8.5333333333vw;
  background-color: #ff6f19;
  border-radius: 0.5333333333vw;
  color: #ffffff;
  font-weight: 500;
}

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

.works-data-text a {
  color: #ff6f19;
}
.works-data-text a span {
  position: relative;
  padding: 0.2em;
  line-height: 1.5em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.works-data-text a span:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #ff6f19;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

@media screen and (max-width: 750px) {
  .works-data dt {
    width: 24vw;
  }
  .works-data dd {
    width: calc(100% - 28vw);
  }
}
@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;
    border-radius: 0.2777777778vw;
  }
  .works-data dd {
    padding-top: 0.5em;
    width: calc(100% - 11.8055555556vw);
  }
  .works-data-harf {
    width: 37.1527777778vw;
  }
  .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;
    border-radius: 4px;
  }
  .works-data dd {
    width: calc(100% - 170px);
  }
  .works-data-harf {
    width: 535px;
  }
}
/* ------------------------------------------- desc - */
.works-desc {
  margin-top: 6.6666666667vw;
  padding: 4.6666666667vw 4.8vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}
@media screen and (min-width: 751px) {
  .works-desc {
    margin-top: 2.7777777778vw;
    padding: 1.7361111111vw 2.5vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-desc {
    margin-top: 40px;
    padding: 25px 36px;
    border-radius: 4px;
  }
}
.works-desc p {
  font-weight: 500;
  line-height: 1.7em;
}

/* ------------------------------------------- works-meister - */
.works-meister {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8vw 4vw;
}
.works-meister .c-meister {
  width: 44vw;
}
.works-meister .c-meister-image img {
  aspect-ratio: 330/330;
}

@media screen and (min-width: 751px) {
  .works-meister {
    gap: 3.4722222222vw 2.2222222222vw;
  }
  .works-meister .c-meister {
    width: 17.4305555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-meister {
    gap: 50px 32px;
  }
  .works-meister .c-meister {
    width: 251px;
  }
}
/* ------------------------------------------- point - */
.works-point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 9.3333333333vw 0;
}

.works-point > li {
  width: 100%;
}

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

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

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

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

@media screen and (min-width: 751px) {
  .works-point {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 3.4722222222vw 2.7777777778vw;
  }
  .works-point > li {
    width: 23.6111111111vw;
  }
  .works-point-image {
    margin-bottom: 1.0416666667vw;
    border-radius: 0.2777777778vw;
  }
  .works-point-content p {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-point {
    gap: 50px 40px;
  }
  .works-point > li {
    width: 340px;
  }
  .works-point-image {
    margin-bottom: 15px;
    border-radius: 4px;
  }
  .works-point-content p {
    font-size: 1.6rem;
  }
}
/* ------------------------------------------- speech - */
.works-speech {
  margin-top: 13.3333333333vw;
}

.works-speech > div:nth-of-type(n + 2) {
  margin-top: 13.3333333333vw;
}

.works-speech-meister {
  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;
}

.works-speech-author {
  width: 20vw;
}

.works-speech-author-image {
  border-radius: 50%;
  overflow: hidden;
}
.works-speech-author-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  aspect-ratio: 200/200;
}

.works-speech-author-name {
  margin-top: 0.8em;
  font-size: 2.9333333333vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

.works-speech-comment {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3.3333333333vw 3.7333333333vw;
  width: 66.6666666667vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}
.works-speech-comment:before {
  content: "";
  position: absolute;
  top: 7.3333333333vw;
  right: 99.99999%;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.6666666667vw 4vw 2.6666666667vw 0px;
  border-color: transparent #f3f3f3 transparent transparent;
}

.works-speech .wp-caption {
  max-width: 100%;
}
.works-speech .wp-caption.alignleft {
  display: block;
}
.works-speech .wp-caption.alignright {
  display: block;
}
.works-speech .wp-caption.aligncenter {
  display: block;
  margin-top: 1.5em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
  text-align: center;
}
.works-speech .wp-caption-text {
  margin-top: 0.5em;
  color: #565656;
  font-size: 3.2vw;
  line-height: 1.2em;
}

@media screen and (max-width: 750px) {
  .wp-caption.alignleft {
    margin: 1.5em auto;
    text-align: center;
  }
  .wp-caption.alignright {
    margin: 1.5em auto;
    text-align: center;
  }
}
@media screen and (min-width: 751px) {
  .works-speech {
    margin-top: 5.5555555556vw;
  }
  .works-speech > div:nth-of-type(n + 2) {
    margin-top: 5.5555555556vw;
  }
  .works-speech-author {
    width: 13.8888888889vw;
  }
  .works-speech-author-name {
    font-size: 1.1111111111vw;
  }
  .works-speech-comment {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.7361111111vw 2.4305555556vw;
    width: 57.6388888889vw;
    border-radius: 0.2777777778vw;
  }
  .works-speech-comment:before {
    top: 5.5555555556vw;
    border-width: 1.3888888889vw 2.0833333333vw 1.3888888889vw 0;
  }
  .works-speech .wp-caption.alignleft {
    display: inline;
    margin-top: 1em;
    margin-right: 1em;
    margin-bottom: 1em;
    float: left;
  }
  .works-speech .wp-caption.alignright {
    display: inline;
    margin-top: 1em;
    margin-left: 1em;
    margin-bottom: 1em;
    float: right;
  }
  .works-speech .wp-caption.aligncenter {
    margin-top: 1em;
    margin-bottom: 1em;
    text-align: center;
  }
  .works-speech .wp-caption-text {
    font-size: 0.9722222222vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-speech {
    margin-top: 80px;
  }
  .works-speech > div:nth-of-type(n + 2) {
    margin-top: 80px;
  }
  .works-speech-meister {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .works-speech-author {
    width: 200px;
  }
  .works-speech-author-name {
    font-size: 1.6rem;
  }
  .works-speech-comment {
    padding: 25px 35px;
    width: 830px;
    border-radius: 4px;
  }
  .works-speech-comment:before {
    top: 80px;
    border-width: 20px 30px 20px 0px;
  }
  .works-speech .wp-caption-text {
    font-size: 1.4rem;
  }
}
/* ------------------------------------------- author - */
.works-author {
  position: relative;
  padding: 6.6666666667vw;
  background-image: url(../img/common/pattern_sp.jpg);
  background-repeat: repeat;
  border-radius: 0.5333333333vw;
}

.works-author-image {
  margin: 0 auto 5.3333333333vw auto;
  width: 66.6666666667vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}
.works-author-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 240/240;
}

.works-author-heading {
  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: 4vw;
}

.works-author-position {
  margin-right: 1em;
  color: #ff6f19;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
}

.works-author-name {
  font-size: 5.3333333333vw;
  font-weight: 700;
  line-height: 1.5em;
}

@media screen and (min-width: 751px) {
  .works-author {
    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: 2.0833333333vw;
    background-image: url(../img/common/pattern.jpg);
    background-image: image-set(url(../img/common/pattern.jpg) 1x, url(../img/common/pattern-2x.jpg) 2x);
    background-image: -webkit-image-set(url(../img/common/pattern.jpg) 1x, url(../img/common/pattern-2x.jpg) 2x);
    border-radius: 0.2777777778vw;
  }
  .works-author-image {
    margin: 0;
    width: 16.6666666667vw;
    border-radius: 0.2777777778vw;
  }
  .works-author-image img {
    aspect-ratio: 240/240;
  }
  .works-author-heading {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 1.0416666667vw;
  }
  .works-author-position {
    font-size: 1.25vw;
  }
  .works-author-name {
    font-size: 1.9444444444vw;
  }
  .works-author:has(.works-author-image) .works-author-content {
    padding-top: 1.0416666667vw;
    width: 52.0833333333vw;
  }
}
@media screen and (min-width: 1441px) {
  .works-author {
    padding: 30px;
    border-radius: 4px;
  }
  .works-author-image {
    width: 240px;
    border-radius: 4px;
  }
  .works-author-heading {
    margin-bottom: 15px;
  }
  .works-author-position {
    font-size: 1.8rem;
  }
  .works-author-name {
    font-size: 2.8rem;
  }
  .works-author:has(.works-author-image) .works-author-content {
    padding-top: 15px;
    width: 750px;
  }
}
/*  blog --> archive
-------------------------------------------------------------------------------*/
.blog-archive {
  position: relative;
}

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

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

.blog-side {
  margin-top: 16vw;
}

.blog-side .blog-side-box:nth-child(n+2) {
  margin-top: 9.3333333333vw;
}

.blog-side-ttl {
  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: 0.1em 1em 0 1em;
  height: 12vw;
  background-color: #ff6f19;
  border-radius: 0.5333333333vw 0.5333333333vw 0 0;
  color: #ffffff;
  font-size: 4.2666666667vw;
  font-weight: 700;
}

.blog-side-content {
  padding: 2vw 4.2666666667vw;
  background-color: #ffffff;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  border-top: none !important;
  border-radius: 0 0 0.5333333333vw 0.5333333333vw;
}

@media screen and (min-width: 751px) {
  .blog-archive {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .blog-archive-content {
    width: 53.4722222222vw;
  }
  .blog-post {
    gap: 2.0833333333vw;
  }
  .blog-post .c-blog {
    width: 25.6944444444vw;
  }
  .blog-side {
    margin: 0;
    width: 18.0555555556vw;
  }
  .blog-side .blog-side-box:nth-child(n+2) {
    margin-top: 3.4722222222vw;
  }
  .blog-side-ttl {
    height: 3.1944444444vw;
    border-radius: 0.2777777778vw 0.2777777778vw 0 0;
    font-size: 1.25vw;
  }
  .blog-side-content {
    padding: 0.3472222222vw 1.0416666667vw 0.6944444444vw 1.0416666667vw;
    border-width: 0.0694444444vw;
    border-radius: 0 0 0.2777777778vw 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .blog-archive-content {
    width: 770px;
  }
  .blog-post {
    gap: 30px;
  }
  .blog-post .c-blog {
    width: 370px;
  }
  .blog-side {
    width: 260px;
  }
  .blog-side .blog-side-box:nth-child(n+2) {
    margin-top: 40px;
  }
  .blog-side-ttl {
    height: 46px;
    border-radius: 4px 4px 0 0;
    font-size: 1.8rem;
  }
  .blog-side-content {
    padding: 5px 15px 10px 15px;
    border-width: 1px;
    border-radius: 0 0 4px 4px;
  }
}
/* ------------------------------------------- cat - */
/* ------------------------------------------- cat - */
.blog-side-cat > ul > li {
  position: relative;
  border-bottom-color: #cfcfcf;
  border-bottom-style: dashed;
  border-bottom-width: 1px;
}

.blog-side-cat li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1em 10.6666666667vw 1em 0;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.28em;
}
.blog-side-cat li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.3333333333vw;
  display: inline-block;
  width: 2.1333333333vw;
  height: 3.2vw;
  background-image: url(../img/common/arrow-og.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.blog-side-cat > ul > li > ul {
  margin-left: 1em;
  padding-bottom: 0.8em;
}

.blog-side-cat > ul > li > ul > li {
  position: relative;
  padding-left: 1em;
}
.blog-side-cat > ul > li > ul > li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.4em;
  height: 0.4em;
  background-color: #cfcfcf;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.blog-side-cat > ul > li > ul > li a {
  padding-top: 0.3em;
  padding-bottom: 0.3em;
}

@media screen and (min-width: 751px) {
  .blog-side-cat > ul > li {
    border-bottom-width: 0.0694444444vw;
  }
  .blog-side-cat li a {
    padding: 0.6em 2.7777777778vw 0.6em 0;
    font-size: 1.1111111111vw;
  }
  .blog-side-cat li a:after {
    right: 0;
    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;
  }
  .blog-side-cat li a:hover:after {
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
  .blog-side-cat > ul > li > ul {
    padding-bottom: 0.5em;
  }
  .blog-side-cat > ul > li > ul > li a {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
  }
}
@media screen and (min-width: 1441px) {
  .blog-side-cat > ul > li {
    border-bottom-width: 1px;
  }
  .blog-side-cat li a {
    padding: 0.6em 40px 0.6em 0;
    font-size: 1.5rem;
  }
  .blog-side-cat li a:after {
    width: 8px;
    height: 12px;
  }
}
/* ------------------------------------------- recommend - */
.blog-latest-post 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: 4vw 0;
  border-bottom-color: #cfcfcf;
  border-bottom-style: dashed;
  border-bottom-width: 1px;
}

.blog-latest .blog-latest-post:last-child a {
  border-bottom: none !important;
}

.blog-latest-image {
  width: 29.3333333333vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}
.blog-latest-image img {
  aspect-ratio: 220/140;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.blog-latest-content {
  width: 49.3333333333vw;
}

.blog-latest-date {
  margin-bottom: 0.5em;
  color: #565656;
  font-size: 3.4666666667vw;
}

.blog-latest-ttl {
  max-height: 3.06em;
  font-size: 3.7333333333vw;
  font-weight: 700;
  line-height: 1.53em;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
}

@media screen and (min-width: 751px) {
  .blog-latest {
    margin-top: 1.0416666667vw;
  }
  .blog-latest-post a {
    padding: 1.0416666667vw 0;
    border-bottom-width: 0.0694444444vw;
  }
  .blog-latest .blog-latest-post:first-child a {
    padding-top: 0 !important;
  }
  .blog-latest-image {
    width: 4.1666666667vw;
    border-radius: 0.2777777778vw;
  }
  .blog-latest-image img {
    aspect-ratio: 60/60;
  }
  .blog-latest-post a:hover .blog-latest-image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    cursor: pointer;
  }
  .blog-latest-content {
    width: 10.4166666667vw;
  }
  .blog-latest-date {
    margin-bottom: 0.3em;
    font-size: 0.8333333333vw;
  }
  .blog-latest-ttl {
    max-height: 2.84em;
    font-size: 0.9722222222vw;
    line-height: 1.42em;
  }
}
@media screen and (min-width: 1441px) {
  .blog-latest {
    margin-top: 15px;
  }
  .blog-latest-post a {
    padding: 15px 0;
    border-bottom-width: 1px;
  }
  .blog-latest-image {
    width: 60px;
    border-radius: 4px;
  }
  .blog-latest-content {
    width: 150px;
  }
  .blog-latest-date {
    font-size: 1.2rem;
  }
  .blog-latest-ttl {
    font-size: 1.4rem;
  }
}
/*  blog --> single
-------------------------------------------------------------------------------*/
/* ------------------------------------------- mokuji - */
.blog-mokuji {
  position: relative;
  margin-top: 10.6666666667vw;
  padding: 8vw 5.3333333333vw;
  background-color: #f6efe6;
  border-radius: 1.0666666667vw;
}

.blog-mokuji dt {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1em;
  padding-left: 13.3333333333vw;
  height: 9.0666666667vw;
  font-size: 4.8vw;
  font-weight: 700;
}
.blog-mokuji dt:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 9.0666666667vw;
  height: 9.0666666667vw;
  background-image: url(../img/blog/menu.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.blog-mokuji ul li:nth-child(n+2) {
  margin-top: 1em;
}

.blog-mokuji a {
  position: relative;
  display: block;
}

.blog-mokuji > dd > div {
  counter-reset: cnt;
}

.blog-mokuji > dd > div > a {
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: 0;
}
.blog-mokuji > dd > div > a:before {
  position: relative;
  top: 0.01em;
  counter-increment: cnt;
  content: counter(cnt, decimal);
  margin-right: 2.6666666667vw;
  color: #ff6f19;
  font-family: "Lato", sans-serif;
  font-size: 4.8vw;
}

.blog-mokuji > dd > div > a:nth-of-type(n + 2) {
  margin-top: 1em;
}

.blog-mokuji > dd > div > div {
  margin-top: 0.5em;
  padding-left: 5.7333333333vw;
}

.blog-mokuji > dd > div > div > a {
  font-size: 3.7333333333vw;
  font-weight: 500;
  line-height: 1.6em;
}

.blog-mokuji > dd > div > div > div {
  margin-top: 0.5em;
}

.blog-mokuji > dd > div > div > div > a {
  padding-left: 1.5em;
  font-size: 3.7333333333vw;
  line-height: 1.6em;
}
.blog-mokuji > dd > div > div > div > a:before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0;
  width: 0.8em;
  height: 1px;
  background-color: #ff6f19;
}

@media screen and (min-width: 751px) {
  .blog-mokuji {
    margin-top: 2.7777777778vw;
    padding: 2.4305555556vw 2.7777777778vw;
    border-radius: 0.5555555556vw;
  }
  .blog-mokuji dt {
    margin-bottom: 1.3888888889vw;
    padding-left: 4.1666666667vw;
    height: 3.3333333333vw;
    font-size: 1.3888888889vw;
  }
  .blog-mokuji dt:after {
    width: 3.3333333333vw;
    height: 3.3333333333vw;
  }
  .blog-mokuji > dd > div {
    padding-left: 4.8611111111vw;
  }
  .blog-mokuji > dd > div a {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .blog-mokuji > dd > div a:hover {
    color: #ff6f19;
  }
  .blog-mokuji > dd > div > a {
    font-size: 1.25vw;
  }
  .blog-mokuji > dd > div > a:before {
    margin-right: 0.6944444444vw;
    font-size: 1.3888888889vw;
  }
  .blog-mokuji > dd > div > div {
    margin-top: 0.8em;
    padding-left: 1.5277777778vw;
  }
  .blog-mokuji > dd > div > div > a {
    font-size: 1.1111111111vw;
  }
  .blog-mokuji > dd > div > div > div {
    margin-top: 0.8em;
  }
  .blog-mokuji > dd > div > div > div > a {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .blog-mokuji {
    margin-top: 40px;
    padding: 35px 40px;
    border-radius: 8px;
  }
  .blog-mokuji dt {
    margin-bottom: 20px;
    padding-left: 60px;
    height: 48px;
    font-size: 2rem;
  }
  .blog-mokuji dt:after {
    width: 48px;
    height: 48px;
  }
  .blog-mokuji > dd > div {
    padding-left: 70px;
  }
  .blog-mokuji > dd > div > a {
    font-size: 1.8rem;
  }
  .blog-mokuji > dd > div > a:before {
    margin-right: 10px;
    font-size: 2rem;
  }
  .blog-mokuji > dd > div > div {
    padding-left: 22px;
  }
  .blog-mokuji > dd > div > div > a {
    font-size: 1.6rem;
  }
  .blog-mokuji > dd > div > div > div > a {
    font-size: 1.6rem;
  }
}
/*  item --> archive
-------------------------------------------------------------------------------*/
.item {
  position: relative;
  margin-top: 10.6666666667vw;
}

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

.item-post .c-item {
  width: 44vw;
}

@media screen and (min-width: 751px) {
  .item {
    margin-top: 5.5555555556vw;
  }
  .item-post {
    gap: 2.7777777778vw 2.1527777778vw;
  }
  .item-post .c-item {
    width: 24.0277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .item {
    margin-top: 80px;
  }
  .item-post {
    gap: 40px 31px;
  }
  .item-post .c-item {
    width: 346px;
  }
}
/*  item --> single
-------------------------------------------------------------------------------*/
.item-main-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2vw 0;
  margin-bottom: 4vw;
}
.item-main-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;
  width: 100%;
}
.item-main-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;
  width: 24vw;
  height: 6.6666666667vw;
  background-color: #ff6f19;
  border-radius: 0.4vw;
  color: #ffffff;
  font-size: 3.4666666667vw;
  font-weight: 700;
}
.item-main-data dd {
  padding-top: 0.25em;
  width: calc(100% - 28vw);
  font-size: 3.7333333333vw;
  line-height: 1.5em;
}

.item-maker-logo {
  height: 5.3333333333vw;
  width: auto;
}
@media screen and (min-width: 751px) {
  .item-maker-logo {
    height: 1.7361111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .item-maker-logo {
    height: 25px;
  }
}

.item-main .c-item-cat {
  position: relative;
  bottom: auto;
  right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.3333333333vw;
  width: 100%;
  margin-bottom: 4vw;
}
.item-main .c-item-cat > li {
  width: 22vw;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
}

.item-main .heading-1 {
  font-size: 4.5333333333vw;
}

@media screen and (max-width: 750px) {
  .item-main .c-item-cat > li {
    padding-left: 9.0666666667vw;
    height: 7.2vw;
    font-size: 3.4666666667vw;
  }
  .item-main .c-item-cat > li:before {
    left: 2.1333333333vw;
    width: 4.6666666667vw;
    height: 4.6666666667vw;
  }
}
@media screen and (min-width: 751px) {
  .item-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;
  }
  .item-main-image {
    width: 37.5vw;
  }
  .item-main-content {
    width: 34.7222222222vw;
  }
  .item-main-data {
    gap: 0.6944444444vw 0;
    margin-bottom: 1.0416666667vw;
  }
  .item-main-data dt {
    width: 7.6388888889vw;
    height: 2.2222222222vw;
    border-radius: 0.2083333333vw;
    font-size: 1.0416666667vw;
  }
  .item-main-data dd {
    width: calc(100% - 9.0277777778vw);
    font-size: 1.1111111111vw;
  }
  .item-main .c-item-cat {
    gap: 0.4861111111vw;
    margin-bottom: 1.0416666667vw;
  }
  .item-main .c-item-cat > li {
    width: 5.5555555556vw;
    border-width: 0.0694444444vw;
  }
  .item-main .heading-1 {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .item-main-image {
    width: 540px;
  }
  .item-main-content {
    width: 500px;
  }
  .item-main-data {
    gap: 10px 0;
    margin-bottom: 15px;
  }
  .item-main-data dt {
    width: 110px;
    height: 32px;
    border-radius: 3px;
    font-size: 1.5rem;
  }
  .item-main-data dd {
    width: calc(100% - 130px);
    font-size: 1.6rem;
  }
  .item-main .c-item-cat {
    gap: 7px;
    margin-bottom: 15px;
  }
  .item-main .c-item-cat > li {
    width: 80px;
    border-width: 1px;
  }
  .item-main .heading-1 {
    font-size: 2.4rem;
  }
}
/* ------------------------------------------- desc - */
.item-desc {
  margin-top: 6.6666666667vw;
  padding: 4.6666666667vw 4.8vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}
@media screen and (min-width: 751px) {
  .item-desc {
    margin-top: 2.7777777778vw;
    padding: 1.7361111111vw 2.5vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .item-desc {
    margin-top: 40px;
    padding: 25px 36px;
    border-radius: 4px;
  }
}
.item-desc p {
  font-weight: 500;
  line-height: 1.7em;
}

/*  catalog --> archive
-------------------------------------------------------------------------------*/
.catalog-section:nth-of-type(n + 2) {
  margin-top: 10.6666666667vw;
}

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

.c-catalog {
  width: 44.6666666667vw;
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 1px;
  border-radius: 1.0666666667vw;
}

.c-catalog a {
  position: relative;
  display: block;
  background-color: #ffffff;
  border-radius: 1.0666666667vw;
}

.c-catalog-image {
  position: relative;
  overflow: hidden;
  border-radius: 1.0666666667vw 1.0666666667vw 0 0;
}
.c-catalog-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 251/300;
}

.c-catalog-content {
  padding: 2.6666666667vw 2.4vw;
}

.c-catalog-ttl {
  max-height: 3em;
  font-weight: 500;
  line-height: 1.5em;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.c-catalog-btn {
  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-top: 2.6666666667vw;
  padding-bottom: 0.1em;
  height: 8.5333333333vw;
  background-color: #ff6f19;
  border-radius: 4.2666666667vw;
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: 0;
}

@media screen and (min-width: 751px) {
  .catalog-section:nth-of-type(n + 2) {
    margin-top: 5.5555555556vw;
  }
  .catalog-post {
    gap: 2.7777777778vw 2.2222222222vw;
  }
  .c-catalog {
    width: 17.4305555556vw;
    border-width: 0.0694444444vw;
    border-radius: 0.5555555556vw;
  }
  .c-catalog-image {
    border-radius: 0.5555555556vw 0.5555555556vw 0 0;
  }
  .c-catalog a:hover .c-catalog-image img {
    -webkit-transform: scale(1.05, 1.05);
            transform: scale(1.05, 1.05);
    cursor: pointer;
  }
  .c-catalog-content {
    padding: 1.0416666667vw 1.5972222222vw;
  }
  .c-catalog-btn {
    margin-top: 1.0416666667vw;
    height: 2.7777777778vw;
    border-radius: 1.3888888889vw;
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .catalog-section:nth-of-type(n + 2) {
    margin-top: 80px;
  }
  .catalog-post {
    gap: 40px 32px;
  }
  .c-catalog {
    width: 251px;
    border-width: 1px;
    border-radius: 8px;
  }
  .c-catalog-image {
    border-radius: 8px 8px 0 0;
  }
  .c-catalog-content {
    padding: 15px 23px;
  }
  .c-catalog-btn {
    margin-top: 15px;
    height: 40px;
    border-radius: 20px;
    font-size: 1.6rem;
  }
}
/*  catalog --> single
-------------------------------------------------------------------------------*/
/* ------------------------------------------- desc - */
.catalog-desc {
  margin-top: 6.6666666667vw;
  padding: 4.6666666667vw 4.8vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}
@media screen and (min-width: 751px) {
  .catalog-desc {
    margin-top: 2.7777777778vw;
    padding: 1.7361111111vw 2.5vw;
    border-radius: 0.2777777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .catalog-desc {
    margin-top: 40px;
    padding: 25px 36px;
    border-radius: 4px;
  }
}
.catalog-desc p {
  font-weight: 500;
  line-height: 1.7em;
}

/* ------------------------------------------- mokuji - */
.catalog-mokuji {
  margin-top: 10.6666666667vw;
}

.catalog-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: 13.3333333333vw;
  background-color: #ff6f19;
  border-radius: 2.1333333333vw 2.1333333333vw 0 0;
  color: #ffffff;
  font-size: 4.5333333333vw;
  font-weight: 800;
  letter-spacing: 0.2em;
}

.catalog-mokuji dd {
  padding: 4vw;
  background-color: #fff0e8;
  border-radius: 0 0 2.1333333333vw 2.1333333333vw;
}

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

.catalog-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 0.5em;
  width: calc(50% - 2vw);
  height: 9.3333333333vw;
  background-color: #ffffff;
  border-color: #ff6f19;
  border-style: solid;
  border-width: 0.4vw;
  border-radius: 1.3333333333vw;
}
.catalog-mokuji-menu a span {
  font-size: 3.2vw;
  max-height: 1.5em;
  font-weight: 700;
  line-height: 1.5em;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.catalog-mokuji-menu a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2vw;
  display: inline-block;
  width: 1.3333333333vw;
  height: 2.1333333333vw;
  background-image: url(../img/common/arrow-og.svg);
  background-size: contain;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 750px) {
  .catalog-mokuji-menu a:nth-child(n+3) {
    margin-top: 2vw;
  }
}
@media screen and (min-width: 751px) {
  .catalog-mokuji {
    margin-top: 4.8611111111vw;
  }
  .catalog-mokuji dt {
    height: 4.1666666667vw;
    border-radius: 1.1111111111vw 1.1111111111vw 0 0;
    font-size: 1.6666666667vw;
  }
  .catalog-mokuji dd {
    padding: 1.3888888889vw 2.0833333333vw;
    border-radius: 0 0 1.1111111111vw 1.1111111111vw;
  }
  .catalog-mokuji-menu {
    margin-left: -1.0416666667vw;
  }
  .catalog-mokuji-menu a {
    margin-left: 1.0416666667vw;
    padding: 0 2.7777777778vw 0 1em;
    width: calc(33.33333% - 1.0416666667vw);
    height: 3.1944444444vw;
    border-width: 0.1388888889vw;
    border-radius: 0.6944444444vw;
    -webkit-transition: background-color 0.3s;
    transition: background-color 0.3s;
  }
  .catalog-mokuji-menu a span {
    font-size: 1.1111111111vw;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .catalog-mokuji-menu a:after {
    right: 1.0416666667vw;
    width: 0.4166666667vw;
    height: 0.6944444444vw;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .catalog-mokuji-menu a:hover {
    background-color: #ff6f19;
  }
  .catalog-mokuji-menu a:hover span {
    color: #ffffff;
  }
  .catalog-mokuji-menu a:hover:after {
    background-image: url(../img/common/arrow-wh.svg);
    -webkit-transform: translateX(0.2em) translateY(-50%);
            transform: translateX(0.2em) translateY(-50%);
  }
  .catalog-mokuji-menu a:nth-child(n+4) {
    margin-top: 1.0416666667vw;
  }
}
@media screen and (min-width: 1441px) {
  .catalog-mokuji {
    margin-top: 70px;
  }
  .catalog-mokuji dt {
    height: 60px;
    border-radius: 16px 16px 0 0;
    font-size: 2.4rem;
  }
  .catalog-mokuji dd {
    padding: 20px 30px;
    border-radius: 0 0 16px 16px;
  }
  .catalog-mokuji-menu {
    margin-left: -15px;
  }
  .catalog-mokuji-menu a {
    margin-left: 15px;
    padding: 0 40px 0 1em;
    width: calc(33.33333% - 15px);
    height: 46px;
    border-width: 2px;
    border-radius: 10px;
  }
  .catalog-mokuji-menu a span {
    font-size: 1.6rem;
  }
  .catalog-mokuji-menu a:after {
    right: 15px;
    width: 6px;
    height: 10px;
  }
  .catalog-mokuji-menu a:nth-child(n+4) {
    margin-top: 15px;
  }
}
/* ------------------------------------------- float - */
.catalog-float {
  position: fixed;
  left: 0;
  bottom: 14.6666666667vw;
  width: 100%;
  z-index: 9999;
}
@media screen and (min-width: 751px) {
  .catalog-float {
    top: 50%;
    left: auto;
    bottom: auto;
    right: 0;
    width: 4.1666666667vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (min-width: 1441px) {
  .catalog-float {
    width: 60px;
  }
}

.catalog-float a {
  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: 14.6666666667vw;
  background-color: #ff6f19;
}
@media screen and (min-width: 751px) {
  .catalog-float a {
    height: 10.4166666667vw;
    border-color: #ffffff;
    border-style: solid;
    border-width: 0.1388888889vw;
    border-right: none;
    border-radius: 0.5555555556vw 0 0 0.5555555556vw;
    -webkit-box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
            box-shadow: -2.817px 5.298px 10px 0px rgba(64, 64, 64, 0.25);
    -webkit-transition: background-color 0.3s, border-color 0.3s, color 0.3s;
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
  }
}
@media screen and (min-width: 1441px) {
  .catalog-float a {
    height: 150px;
    border-width: 2px;
    border-radius: 8px 0 0 8px;
  }
}
.catalog-float a span {
  color: #ffffff;
  font-size: 3.4666666667vw;
  line-height: 1.5em;
}
@media screen and (min-width: 751px) {
  .catalog-float a span {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 1.1111111111vw;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}
@media screen and (min-width: 1441px) {
  .catalog-float a span {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 751px) {
  .catalog-float a:hover {
    background-color: #ffffff;
    border-color: #ff6f19;
  }
  .catalog-float a:hover span {
    color: #ff6f19;
  }
}

/*  meister --> archive
-------------------------------------------------------------------------------*/
.meister-post {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5.3333333333vw 0;
}

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

@media screen and (min-width: 751px) {
  .meister-post {
    gap: 4.1666666667vw 1.3888888889vw;
  }
  .meister-post .c-meister {
    width: 18.0555555556vw;
  }
}
@media screen and (min-width: 1441px) {
  .meister-post {
    gap: 60px 20px;
  }
  .meister-post .c-meister {
    width: 260px;
  }
}
/*  meister --> single
-------------------------------------------------------------------------------*/
.meister-article {
  position: relative;
}

.meister-article-post {
  position: relative;
  padding: 9.3333333333vw 4vw 5.3333333333vw 4vw;
  background-color: #ffffff;
  border: 1px solid #e9e9e9;
  -webkit-box-shadow: 0px 4px 1.6px 0.4px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 4px 1.6px 0.4px rgba(0, 0, 0, 0.1);
}

.meister-article-image {
  position: relative;
  margin: 0 auto 5.3333333333vw auto;
  width: 56vw;
  border-radius: 0.5333333333vw;
  overflow: hidden;
}
.meister-article-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  aspect-ratio: 420/460;
}

.meister-article-content {
  text-align: center;
}

.meister-article .post-cat {
  margin-bottom: 2vw;
  font-size: 3.4666666667vw;
}

.meister-article-name {
  position: relative;
  margin-bottom: 2.6666666667vw;
}

.meister-article-jp {
  position: relative;
  font-size: 7.4666666667vw;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: 0.1em;
}

.meister-article-en {
  margin-top: 0.5em;
  color: #ff6f19;
  font-size: 2.9333333333vw;
}

.meister-article-data {
  text-align: left;
}

.meister-article-data dl {
  padding: 3.3333333333vw 2.6666666667vw;
  border-bottom-color: #cfcfcf;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.meister-article-data dl:first-child {
  border-top-color: #cfcfcf;
  border-top-style: solid;
  border-top-width: 1px;
}

.meister-article-data dt {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 4.6666666667vw;
  font-size: 4.2666666667vw;
  font-weight: 700;
  line-height: 1.5em;
}
.meister-article-data dt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.4vw;
  height: 2.4vw;
  background-color: #ff6f19;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.meister-article-data dd {
  font-size: 3.7333333333vw;
  line-height: 1.5em;
}

.meister-article-message {
  position: relative;
  margin-top: 6.6666666667vw;
  padding: 4.6666666667vw;
  background-color: #f3f3f3;
  border-radius: 0.5333333333vw;
}

.meister-article-message dt {
  position: relative;
  margin-bottom: 0.7em;
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.35em;
}

.meister-article-message dd {
  font-size: 3.7333333333vw;
  text-align: left;
  line-height: 1.5em;
}

@media screen and (min-width: 751px) {
  .meister-article {
    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;
  }
  .meister-article-image {
    margin: 0;
    width: 26.3888888889vw;
    border-radius: 0.2777777778vw;
  }
  .meister-article-image img {
    aspect-ratio: 380/460;
  }
  .meister-article-content {
    width: 45.1388888889vw;
    text-align: left;
  }
  .meister-article .post-cat {
    margin-bottom: 1.3888888889vw;
    font-size: 1.1111111111vw;
  }
  .meister-article-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1.3888888889vw;
  }
  .meister-article-jp {
    font-size: 2.5vw;
  }
  .meister-article-en {
    margin: 0 0 0 1em;
    font-size: 1.1111111111vw;
  }
  .meister-article-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.6944444444vw;
    border-bottom-width: 0.0694444444vw;
  }
  .meister-article-data dl:first-child {
    border-top-width: 0.0694444444vw;
  }
  .meister-article-data dt {
    margin-bottom: 0;
    padding-left: 1.3888888889vw;
    width: 9.7222222222vw;
    font-size: 1.25vw;
  }
  .meister-article-data dt:before {
    width: 0.6944444444vw;
    height: 0.6944444444vw;
  }
  .meister-article-data dd {
    width: calc(100% - 10.4166666667vw);
    font-size: 1.1111111111vw;
  }
  .meister-article-message {
    margin-top: 1.7361111111vw;
    padding: 1.7361111111vw;
  }
  .meister-article-message dt {
    font-size: 1.25vw;
    text-align: left;
  }
  .meister-article-message dd {
    font-size: 1.1111111111vw;
  }
}
@media screen and (min-width: 1441px) {
  .meister-article-post {
    padding: 40px 30px 30px 30px;
  }
  .meister .meister-article-post:nth-child(n+2) {
    margin-top: 60px;
  }
  .meister-article-image {
    width: 380px;
    border-radius: 4px;
  }
  .meister-article-content {
    width: 650px;
  }
  .meister-article .post-cat {
    margin-bottom: 20px;
    font-size: 1.6rem;
  }
  .meister-article-name {
    margin-bottom: 20px;
  }
  .meister-article-jp {
    font-size: 3.6rem;
  }
  .meister-article-en {
    font-size: 1.6rem;
  }
  .meister-article-data dl {
    padding: 17px 10px;
    border-bottom-width: 1px;
  }
  .meister-article-data dl:first-child {
    border-top-width: 1px;
  }
  .meister-article-data dt {
    padding-left: 20px;
    width: 140px;
    font-size: 1.8rem;
  }
  .meister-article-data dt:before {
    width: 10px;
    height: 10px;
  }
  .meister-article-data dd {
    width: calc(100% - 150px);
    font-size: 1.6rem;
  }
  .meister-article-message {
    margin-top: 25px;
    padding: 25px;
    border-radius: 4px;
  }
  .meister-article-message dt {
    font-size: 1.8rem;
  }
  .meister-article-message dd {
    font-size: 1.6rem;
  }
}
/*  movie --> archive
-------------------------------------------------------------------------------*/
.movie-section:nth-of-type(n + 2) {
  margin-top: 10.6666666667vw;
}

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

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

@media screen and (min-width: 751px) {
  .movie-section:nth-of-type(n + 2) {
    margin-top: 5.5555555556vw;
  }
  .movie-post {
    gap: 2.7777777778vw 2.1527777778vw;
  }
  .movie-post .c-movie {
    width: 24.0277777778vw;
  }
}
@media screen and (min-width: 1441px) {
  .movie-section:nth-of-type(n + 2) {
    margin-top: 80px;
  }
  .movie-post {
    gap: 40px 31px;
  }
  .movie-post .c-movie {
    width: 346px;
  }
}