@charset "UTF-8";
:root {
  --header-height: 112px;
}

@media screen and (max-width: 768px) {
  :root {
    --header-height: min(17.0666666667vw, 64px);
    --header-height: 17.0666666667vw;
  }
}
header {
  position: relative;
}

.wrap {
  margin-top: calc(var(--header-height) * -1);
}

:root {
  --mv-height: 768;
}

.arrow-icon {
  width: 36px;
  height: 36px;
  position: absolute;
  color: #2d2a2a;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .arrow-icon {
    width: min(7.4666666667vw, 36px);
    height: min(7.4666666667vw, 36px);
  }
}

#mainvisual {
  padding-top: calc(50px + var(--header-height));
  height: calc(var(--mv-height) + var(--header-height));
  background: linear-gradient(45deg, #e6e6e6 0%, #f6f6f6 37%, #ffffff 52%, #f6f6f6 69%, #e6e6e6 100%);
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: relative;
}
@media screen and (max-width: 1023px) {
  #mainvisual {
    padding-top: calc(28px + var(--header-height));
  }
}
@media screen and (max-width: 768px) {
  #mainvisual {
    padding-top: var(--header-height);
  }
}
#mainvisual .mv_img {
  width: min(59.5833333333vw, 1144px);
  height: var(--mv-height);
  position: relative;
}
#mainvisual .mv_img::before {
  content: "";
  display: block;
  position: absolute;
  width: 102%;
  height: 110.3%;
  background: url(../img/top/mainvisual_deco.png) no-repeat center top;
  background-size: 100%;
  left: -1.3em;
  top: 0;
  z-index: 1;
}
#mainvisual .box_text {
  width: calc(100% - min(59.5833333333vw, 1144px));
}
#mainvisual .box_text::before {
  content: "";
  display: block;
  position: absolute;
  width: min(4.0104166667vw, 77px);
  height: min(27.1875vw, 522px);
  background: url(../img/top/mainvisual_title.png) no-repeat center top;
  background-size: 100%;
}
#mainvisual .box_text .inbox {
  width: 496px;
  height: 100%;
  margin-inline: auto;
}
#mainvisual .box_text hgroup {
  font-family: "inter", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
  line-height: 1;
}
#mainvisual .box_text hgroup .catch {
  color: #B90101;
  font-size: 25px;
}
#mainvisual .box_text hgroup .title {
  margin-top: 0.32em;
  font-size: 76px;
  color: #2D2A2A;
}
#mainvisual .box_text .link {
  margin-top: 0.4em;
  line-height: 2.2;
}
#mainvisual .box_text .link a {
  display: block;
  text-align: center;
}
#mainvisual .box_text .link a span {
  padding-bottom: 0.2em;
  font-size: 22px;
  position: relative;
}
#mainvisual .box_text .link a span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAAXNSR0IArs4c6QAAABpJREFUGFdjnDdv3v+kpCRGBgYGBjABAygcAI3ZBAQVheorAAAAAElFTkSuQmCC) repeat;
  position: absolute;
  bottom: 0;
  left: 0;
}
#mainvisual .box_text .link a span:first-of-type {
  padding-left: 26px;
}
#mainvisual .box_text .link a span:first-of-type::before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  background: url(../img/common/icon_search.png) no-repeat center top;
  background-size: 100%;
  bottom: 6px;
  left: 0;
}
@media screen and (min-width: 769px) {
  #mainvisual .box_text .link a:hover {
    color: #B90101;
  }
}
#mainvisual .box_text .box_product {
  margin-top: 2em;
}
#mainvisual .box_text .box_product .bg {
  width: 100%;
  position: relative;
  background: linear-gradient(45deg, #d8d5d5 0%, #e9e9e9 17%, #ffffff 50%, #e9e9e9 83%, #d8d5d5 100%);
}
#mainvisual .box_text .box_product .bg .text {
  margin-right: 6%;
  padding-right: 14%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#mainvisual .box_text .box_product .bg .text .arrow-icon {
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
#mainvisual .box_text .box_product .bg .text span {
  display: block;
}
#mainvisual .box_text .box_product .bg .text .en {
  font-size: 24px;
  font-weight: 700;
}
#mainvisual .box_text .box_product a {
  width: 100%;
  height: 100%;
  padding-top: 2.5em;
  display: block;
  position: relative;
}
@media screen and (min-width: 769px) {
  #mainvisual .box_text .box_product a:hover {
    color: #B90101;
  }
  #mainvisual .box_text .box_product a:hover .arrow-icon {
    color: #B90101;
  }
  #mainvisual .box_text .box_product a:hover .img {
    opacity: 0.7;
  }
}
#mainvisual .box_text .box_product .img {
  width: 43.5483870968%;
  position: absolute;
  top: 0;
  left: 6%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 1500px) {
  #mainvisual .box_text::before {
    width: min(5.1333333333vw, 77px);
    height: min(34.8vw, 522px);
  }
  #mainvisual .box_text .inbox {
    width: min(90%, 496px);
  }
  #mainvisual .box_text hgroup .catch {
    font-size: min(1.6666666667vw, 25px);
  }
  #mainvisual .box_text hgroup .title {
    font-size: min(5.0666666667vw, 76px);
    color: #2D2A2A;
  }
  #mainvisual .box_text .link a span {
    font-size: min(1.4666666667vw, 22px);
  }
  #mainvisual .box_text .box_product {
    margin-top: 2em;
  }
  #mainvisual .box_text .box_product .bg .text .en {
    font-size: min(1.6vw, 24px);
  }
}
@media screen and (max-width: 1023px) {
  #mainvisual {
    height: auto;
    display: block;
  }
  #mainvisual .mv_img {
    width: 100%;
    height: auto;
    max-height: 577px;
  }
  #mainvisual .mv_img .img {
    height: 100%;
    max-height: 477px;
    overflow: hidden;
    position: relative;
  }
  #mainvisual .mv_img .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  #mainvisual .mv_img .img img {
    max-height: 477px;
  }
  #mainvisual .mv_img::before {
    width: 100%;
    height: min(15.1515151515vw, 155px);
    background: url(../img/top/mainvisual_deco01_tab.png) no-repeat center top;
    background-size: 100%;
    left: 0;
    top: 0;
  }
  #mainvisual .mv_img::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: min(20.7233626588vw, 212px);
    background: url(../img/top/mainvisual_deco02_tab.png) no-repeat center bottom;
    background-size: 100%;
    left: 0;
    bottom: calc(min(9.7751710655vw, 100px) * -1);
    z-index: 1;
  }
  #mainvisual .box_text {
    width: 100%;
    padding: 4em 0 4em;
    background: linear-gradient(45deg, #e6e6e6 0%, #f6f6f6 37%, #ffffff 52%, #f6f6f6 69%, #e6e6e6 100%);
  }
  #mainvisual .box_text::before {
    width: min(7.5268817204vw, 77px);
    height: min(51.0263929619vw, 522px);
  }
  #mainvisual .box_text .inbox {
    width: 64.5833333333%;
  }
  #mainvisual .box_text hgroup .catch {
    font-size: min(2.4437927664vw, 25px);
  }
  #mainvisual .box_text hgroup .title {
    margin-top: 0.32em;
    font-size: min(7.4291300098vw, 76px);
  }
  #mainvisual .box_text .link a span {
    font-size: min(2.1505376344vw, 22px);
  }
  #mainvisual .box_text .link a span:first-of-type {
    padding-left: 1.2em;
  }
  #mainvisual .box_text .link a span:first-of-type::before {
    width: min(1.9550342131vw, 20px);
    height: min(1.9550342131vw, 20px);
    bottom: 0.3em;
  }
  #mainvisual .box_text .box_product {
    margin-top: 2em;
  }
  #mainvisual .box_text .box_product a {
    padding-top: 4.8em;
  }
  #mainvisual .box_text .box_product .bg img {
    opacity: 0;
  }
  #mainvisual .box_text .box_product .bg .text .en {
    font-size: min(2.3460410557vw, 24px);
  }
}
@media screen and (max-width: 768px) {
  #mainvisual .mv_img {
    width: 100%;
    height: auto;
  }
  #mainvisual .mv_img::before {
    width: 100%;
    height: 120%;
    background: url(../img/top/mainvisual_deco_sp.png) no-repeat center top;
    background-size: 100%;
    left: 0;
    top: -0.5em;
  }
  #mainvisual .mv_img::after {
    content: none;
  }
  #mainvisual .box_text {
    width: 100%;
    padding: 2.4em 0 2.5em;
    background: linear-gradient(45deg, #e6e6e6 0%, #f6f6f6 37%, #ffffff 52%, #f6f6f6 69%, #e6e6e6 100%);
    position: relative;
  }
  #mainvisual .box_text::before {
    width: min(8.5333333333vw, 77px);
    height: min(57.6vw, 522px);
    margin: auto;
    top: 0;
    bottom: 0.4em;
  }
  #mainvisual .box_text .inbox {
    width: 75%;
  }
  #mainvisual .box_text hgroup .catch {
    font-size: min(4.2666666667vw, 25px);
  }
  #mainvisual .box_text hgroup .title {
    font-size: min(11.7333333333vw, 76px);
  }
  #mainvisual .box_text .link {
    margin-top: 0.1em;
    line-height: 2;
  }
  #mainvisual .box_text .link a span {
    padding-bottom: 0.4em;
    font-size: min(3.7333333333vw, 22px);
  }
  #mainvisual .box_text .link a span:first-of-type {
    padding-left: 1.4em;
  }
  #mainvisual .box_text .link a span:first-of-type::before {
    width: min(4.2666666667vw, 20px);
    height: min(4.2666666667vw, 20px);
  }
  #mainvisual .box_text .box_product {
    margin-top: 1.2em;
  }
  #mainvisual .box_text .box_product a {
    padding-top: 1.2em;
  }
  #mainvisual .box_text .box_product .bg {
    height: 29vw;
    overflow: hidden;
  }
  #mainvisual .box_text .box_product .bg img {
    opacity: 0;
  }
  #mainvisual .box_text .box_product .bg .text {
    padding-right: 19%;
    line-height: 1;
  }
  #mainvisual .box_text .box_product .bg .text .en {
    font-size: min(4.8vw, 24px);
  }
  #mainvisual .box_text .box_product .bg .text .jp {
    margin-top: 0.8em;
    font-size: min(3.7333333333vw, 16px);
  }
  #mainvisual .box_text .box_product .img {
    width: 30.7692307692%;
    left: 6.8%;
  }
}

.area_building {
  padding: 80px 0;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .area_building {
    padding: 3.75em 0 3.3em;
  }
}

.bnr_building {
  height: 220px;
  background: #fff;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
}
.bnr_building a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: url(../img/top/bnr_building_bg_pc.jpg) no-repeat center;
  background-size: auto 220px;
  text-align: center;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.bnr_building a:hover {
  opacity: 0.6;
}
.bnr_building a .arrow-icon {
  right: 8px;
  bottom: 8px;
}
.bnr_building .txt {
  font-size: min(1.5151515152vw, 20px);
  color: #fff;
  font-family: "inter", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.bnr_building .img {
  width: min(23.5606060606vw, 311px);
  margin: 1em auto 0;
}
@media screen and (max-width: 768px) {
  .bnr_building {
    height: min(58.6666666667vw, 220px);
  }
  .bnr_building a {
    background: url(../img/top/bnr_building_bg_sp.jpg) no-repeat center;
    background-size: 100%;
  }
  .bnr_building a .arrow-icon {
    right: min(2.6666666667vw, 8px);
    bottom: min(2.6666666667vw, 8px);
  }
  .bnr_building .txt {
    font-size: min(4.2666666667vw, 20px);
  }
  .bnr_building .img {
    width: min(70%, 311px);
    margin: 2em auto 0;
    position: relative;
    top: -1.1em;
  }
}

.area_feature {
  padding-bottom: 100px;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0 8.3333333333%;
  background: #fff;
}
@media screen and (max-width: 1023px) {
  .area_feature {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px 0;
  }
}
@media screen and (max-width: 768px) {
  .area_feature {
    padding-bottom: 3.4em;
  }
}

.movie .text {
  margin-top: 0.4em;
  text-align: center;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .movie .text {
    font-size: min(3.7333333333vw, 16px);
  }
}

#feature {
  width: calc(100% - 420px - min(7.5757575758vw, 100px));
}
@media screen and (max-width: 1280px) {
  #feature {
    width: calc(100% - 420px - min(4.5454545455vw, 60px));
  }
}
@media screen and (max-width: 1023px) {
  #feature {
    max-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #feature .tit_content {
    text-align: center;
  }
  #feature .tit_content .en, #feature .tit_content .jp {
    display: block;
    line-height: 1;
  }
  #feature .tit_content .en {
    font-size: min(9.6vw, 44px);
  }
  #feature .tit_content .jp {
    margin: 5vw 0 0;
    font-size: min(4.2666666667vw, 18px);
  }
}
#feature .ul_feature {
  margin-top: 5px;
}
#feature .ul_feature li {
  padding: 1.1em 0 1em;
  border-bottom: 1px solid #EFEFEF;
}
#feature .ul_feature li .category {
  padding-left: 0.7em;
  font-size: 12px;
  color: #9E9E9E;
  position: relative;
}
#feature .ul_feature li .category::before {
  content: "";
  display: block;
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #9E9E9E;
  position: absolute;
  top: calc(1em - 1px);
  left: 0;
}
#feature .ul_feature li a {
  margin-top: 0;
  padding: 0 0 0 1.2em;
  display: block;
  line-height: 2;
}
#feature .ul_feature li a span {
  font-size: 16px;
}
#feature .ul_feature li a span::before {
  content: "";
  display: inline-block;
  width: min(0.9848484848vw, 13px);
  height: min(0.5303030303vw, 7px);
  -webkit-mask: url(../img/common/icon_chevron.svg);
          mask: url(../img/common/icon_chevron.svg);
  background-color: #B90101;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  vertical-align: middle;
  position: absolute;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  background-color: #9E9E9E;
  top: 0.7em;
  left: 0;
}
@media screen and (max-width: 1023px) {
  #feature .ul_feature li a span::before {
    width: min(1.2707722385vw, 13px);
    height: min(0.6842619746vw, 7px);
  }
}
@media screen and (max-width: 768px) {
  #feature .ul_feature li a span::before {
    width: min(9vw, 9px);
    height: min(5vw, 5px);
  }
}
#feature .ul_feature li a span, #feature .ul_feature li a span::before {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
#feature .ul_feature li a:hover span {
  color: #B90101;
}
#feature .ul_feature li a:hover span::before {
  background-color: #B90101;
}
@media screen and (max-width: 768px) {
  #feature .ul_feature {
    margin-top: 0;
  }
  #feature .ul_feature li {
    padding: 0.95em 0;
  }
  #feature .ul_feature li .category {
    font-size: min(3.2vw, 12px);
  }
  #feature .ul_feature li a {
    padding-left: 0.9em;
    line-height: 1.7;
  }
  #feature .ul_feature li a span {
    font-size: min(3.7333333333vw, 16px);
  }
  #feature .ul_feature li a span::before {
    width: min(2.1333333333vw, 9px);
    height: min(1.2533333333vw, 5px);
    top: 0.85em;
    left: 0.2em;
  }
}
#feature .viewmore {
  margin-top: 1.6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#feature .viewmore a::before {
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  height: 1px;
  background: #B90101;
  position: absolute;
  left: 0;
  bottom: -1px;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
#feature .viewmore a:hover {
  color: #B90101;
}
#feature .viewmore a:hover::before {
  width: 100%;
}

.area_aside {
  width: 420px;
}
@media screen and (max-width: 1023px) {
  .area_aside {
    margin: 5em auto 0;
  }
}
@media screen and (max-width: 768px) {
  .area_aside {
    margin-top: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .area_aside .area_tel,
  .area_aside .ul_bnr {
    width: 100%;
  }
}
.area_aside .ul_bnr li + li {
  margin-top: 28px;
}
.area_aside .ul_bnr li a {
  display: block;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.area_aside .ul_bnr li a:hover {
  opacity: 0.5;
}
.area_aside .ul_bnr li .youtube {
  position: relative;
}
.area_aside .ul_bnr li .youtube::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.area_aside .ul_bnr li iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.area_aside .ul_bnr li .txt {
  margin-top: 0.4em;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .area_aside .ul_bnr {
    margin-top: 0;
  }
  .area_aside .ul_bnr li + li {
    margin-top: 28px;
  }
}
@media screen and (max-width: 768px) {
  .area_aside .ul_bnr {
    margin-top: 3.5em;
  }
  .area_aside .ul_bnr li + li {
    margin-top: 5.2vw;
  }
  .area_aside .ul_bnr li .txt {
    font-size: min(3.7333333333vw, 16px);
  }
}

#what {
  padding-top: 6.2em;
  padding-bottom: 9em;
}
@media screen and (max-width: 768px) {
  #what {
    padding: 3.8em 0 5.6em;
  }
  #what .box_lead {
    padding: 0 5.4%;
  }
}
#what .tit_what {
  padding-top: 80px;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  position: relative;
}
#what .tit_what::before {
  content: "";
  display: block;
  width: 100px;
  height: 63px;
  background: url(../img/top/logo_title.png) no-repeat center top;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  #what .tit_what {
    font-size: min(6.9333333333vw, 32px);
  }
  #what .tit_what::before {
    width: min(23.4666666667vw, 100px);
    height: min(14.6666666667vw, 63px);
  }
}
#what .catch {
  margin-top: 1.15em;
  padding: 0.2em 0 0.15em;
  color: #B90101;
  border: 2px solid #B90101;
  font-size: min(2.1212121212vw, 28px);
  font-family: "inter", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  #what .catch {
    font-size: min(2.7370478983vw, 28px);
  }
}
@media screen and (max-width: 768px) {
  #what .catch {
    margin-top: 0.85em;
    padding: 0.5em 0 0.35em;
    font-size: min(6.4vw, 28px);
    line-height: 1.6;
  }
}
#what .ul_point {
  width: 100%;
  margin-top: 2.4em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}
#what .ul_point li {
  width: 25%;
  padding: 1.3em 2.4% 1em;
  background: #fff;
}
#what .ul_point li dl dt {
  color: #B90101;
  font-family: "inter", sans-serif;
  font-weight: 700;
  line-height: 1;
}
#what .ul_point li dl dt .num {
  font-size: min(1.8181818182vw, 24px);
  position: relative;
  left: 0.4em;
}
#what .ul_point li dl dd {
  margin-top: 0.9em;
}
#what .ul_point li dl dd .title {
  font-size: min(1.5151515152vw, 20px);
  font-family: "inter", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#what .ul_point li dl dd .text {
  margin-top: 0.2em;
}
@media screen and (max-width: 1023px) {
  #what .ul_point {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #what .ul_point li {
    width: calc((100% - 2px) / 2);
  }
  #what .ul_point li dl dt .num {
    font-size: min(2.3460410557vw, 24px);
  }
  #what .ul_point li dl dd .title {
    font-size: min(1.9550342131vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  #what .ul_point {
    margin-top: 1.8em;
  }
  #what .ul_point li {
    padding: 1em 4.5% 1em;
  }
  #what .ul_point li:nth-child(3), #what .ul_point li:nth-child(4) {
    padding-bottom: 2.4em;
  }
  #what .ul_point li dl dt {
    font-size: min(3.7333333333vw, 16px);
  }
  #what .ul_point li dl dt .num {
    font-size: min(5.3333333333vw, 24px);
  }
  #what .ul_point li dl dd {
    margin-top: 0.6em;
  }
  #what .ul_point li dl dd .title {
    font-size: min(4.2666666667vw, 20px);
  }
  #what .ul_point li dl dd .text {
    line-height: 1.7;
    font-size: min(3.7333333333vw, 16px);
  }
}
#what .box_what, #what .box_what .box_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#what .box_what .box_text .title {
  font-size: 24px;
}
#what .box_what .box_text .title small {
  font-size: 16px;
}
#what .box_what .box_text .txt {
  margin-top: 1.1em;
  line-height: 2;
  font-size: 16px;
}
#what .box_what.why {
  margin-top: 3.75em;
  padding: 2.4em 3.333% 2.6em;
  background: #EFEFEF;
}
#what .box_what.why .box_text {
  width: 49.4642857143%;
}
#what .box_what.why .box_img {
  width: 46.9642857143%;
  position: relative;
}
#what .box_what.why .box_img .img {
  width: 48.0988593156%;
}
#what .box_what.why .box_img .balloon {
  width: min(6.0606060606vw, 80px);
  position: absolute;
  top: -2.9em;
  right: -1.9em;
}
#what .box_what.slat {
  margin-top: 3.7em;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#what .box_what.slat .box_text {
  width: 38.3333333333%;
}
#what .box_what.slat .box_text .viewmore {
  width: 100%;
  margin-top: 1.4em;
  text-align: right;
  position: relative;
}
#what .box_what.slat .box_text .viewmore a::before {
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  height: 1px;
  background: #B90101;
  position: absolute;
  left: 0;
  bottom: -1px;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
#what .box_what.slat .box_text .viewmore a:hover {
  color: #B90101;
}
#what .box_what.slat .box_text .viewmore a:hover::before {
  width: 100%;
}
#what .box_what.slat .movie {
  width: 56.6666666667%;
}
#what .box_what.slat .movie video {
  width: 100%;
}
@media screen and (max-width: 1023px) {
  #what .box_what {
    display: block;
  }
  #what .box_what .box_text .txt {
    margin-top: 1.1em;
    line-height: 2;
  }
  #what .box_what.why {
    margin-top: 3.75em;
    padding: 2.4em 3.333% 2.6em;
  }
  #what .box_what.why .box_text {
    width: 100%;
  }
  #what .box_what.why .box_img {
    width: min(51.4173998045vw, 526px);
    margin: 2em auto 0;
  }
  #what .box_what.why .box_img .balloon {
    width: min(7.8201368524vw, 80px);
    top: -1em;
    right: -1em;
  }
  #what .box_what.slat {
    margin-top: 3.7em;
  }
  #what .box_what.slat .box_text {
    width: 100%;
  }
  #what .box_what.slat .movie {
    width: 80%;
    margin: 3em auto 0;
  }
}
@media screen and (max-width: 768px) {
  #what .box_what .box_text .title {
    font-size: min(5.3333333333vw, 24px);
  }
  #what .box_what .box_text .title small {
    font-size: min(3.7333333333vw, 16px);
  }
  #what .box_what .box_text .txt {
    margin-top: 0.75em;
    font-size: min(3.7333333333vw, 16px);
    line-height: 2;
  }
  #what .box_what.why {
    width: 90.4%;
    margin: 2.45em auto 0;
    padding: 1.5em 6% 1.9em;
  }
  #what .box_what.why .box_text,
  #what .box_what.why .box_img {
    width: 100%;
  }
  #what .box_what.why .box_img {
    width: 100%;
    margin-top: 1.9em;
  }
  #what .box_what.why .box_img .balloon {
    width: min(13.3333333333vw, 80px);
    top: -1.7em;
    right: -2em;
  }
  #what .box_what.slat {
    margin-top: 2.2em;
  }
  #what .box_what.slat .box_text {
    width: 90%;
    margin: 2.2em auto 0;
  }
  #what .box_what.slat .box_text .title,
  #what .box_what.slat .box_text .txt {
    padding: 0 6%;
  }
  #what .box_what.slat .box_text .viewmore {
    margin-top: 1.1em;
  }
  #what .box_what.slat .box_text .viewmore a {
    font-size: min(3.7333333333vw, 14px);
  }
  #what .box_what.slat .movie {
    width: 100%;
    margin: 2em auto 0;
  }
}
/*# sourceMappingURL=top.css.map */