@charset "UTF-8";
body {
  background: #e9e9e9;
}

.bg {
  position: relative;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(50%, rgb(243, 243, 243)), to(rgb(233, 233, 233)));
  background-image: linear-gradient(0deg, rgb(243, 243, 243) 50%, rgb(233, 233, 233) 100%);
}
.bg .bg_line {
  position: absolute;
  top: -210px;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f3f3f3;
  clip-path: polygon(0% 100%, 100% 100%, 100% 0%, 0% 32%);
  z-index: 2;
}
@media screen and (max-width: 1440px) {
  .bg .bg_line {
    top: min(-13.125vw, -210px);
    left: 0;
    clip-path: polygon(0% 100%, 100% 100%, 100% 0%, 0% 32%);
  }
}
@media screen and (max-width: 768px) {
  .bg .bg_line {
    top: min(-26.6666666667vw, -100px);
    left: 0;
    clip-path: polygon(0% 100%, 100% 100%, 100% 0%, 0% 12%);
  }
}

header {
  position: absolute;
}

footer {
  margin-top: 0;
}

section .inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1400px);
  max-width: 1400px;
  padding: 100px;
}
section .inner p {
  font-family: "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 1440px) {
  section .inner {
    width: min(100%, 1400px);
    max-width: 1400px;
    padding: min(6.25vw, 100px);
  }
}
@media screen and (max-width: 768px) {
  section .inner {
    width: 100%;
    max-width: 1400px;
    padding: min(16vw, 60px) min(5.3333333333vw, 20px) 0;
  }
}

hgroup {
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
hgroup.center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
hgroup .en.tag {
  position: relative;
  font-family: "GoogleSans-Regular", sans-serif;
  font-weight: 400;
  color: #43A349;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: 0.03em;
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
hgroup .en.tag::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  -webkit-mask: url(../img/common/ico_asuhirac.svg);
          mask: url(../img/common/ico_asuhirac.svg);
  -webkit-mask-size: 100%;
          mask-size: 100%;
  margin-right: 4px;
}
@media screen and (max-width: 1440px) {
  hgroup .en.tag::before {
    width: min(1.25vw, 20px);
    height: min(1.25vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  hgroup .en.tag::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
  }
}
hgroup .en.tag::before {
  background-color: #43A349;
}
hgroup .ttl {
  color: #1A3D58;
  font-size: 40px;
  line-height: 2;
  letter-spacing: normal;
}
@media screen and (max-width: 1440px) {
  hgroup .en.tag {
    font-size: min(1.25vw, 20px);
  }
  hgroup .en.tag::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    -webkit-mask: url(../img/common/ico_asuhirac.svg);
            mask: url(../img/common/ico_asuhirac.svg);
    -webkit-mask-size: 100%;
            mask-size: 100%;
    margin-right: 4px;
  }
}
@media screen and (max-width: 1440px) and (max-width: 1440px) {
  hgroup .en.tag::before {
    width: min(1.25vw, 20px);
    height: min(1.25vw, 20px);
  }
}
@media screen and (max-width: 1440px) and (max-width: 768px) {
  hgroup .en.tag::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
  }
}
@media screen and (max-width: 1440px) {
  hgroup .ttl {
    font-size: min(2.5vw, 40px);
  }
}
@media screen and (max-width: 768px) {
  hgroup .en.tag {
    font-size: min(3.7333333333vw, 14px);
  }
  hgroup .en.tag::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    -webkit-mask: url(../img/common/ico_asuhirac.svg);
            mask: url(../img/common/ico_asuhirac.svg);
    -webkit-mask-size: 100%;
            mask-size: 100%;
    margin-right: 4px;
  }
}
@media screen and (max-width: 768px) and (max-width: 1440px) {
  hgroup .en.tag::before {
    width: min(1.25vw, 20px);
    height: min(1.25vw, 20px);
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  hgroup .en.tag::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
  }
}
@media screen and (max-width: 768px) {
  hgroup .ttl {
    font-size: min(7.4666666667vw, 28px);
  }
}

.btn a {
  width: 100%;
  height: 60px;
  font-size: 18px;
  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;
}
.btn a::after {
  content: "";
  display: inline-block;
  -webkit-mask: url(../img/common/icon_arrow.svg);
          mask: url(../img/common/icon_arrow.svg);
  background-color: #43A349;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  vertical-align: middle;
  width: 16px;
  height: 16px;
  background-color: #fff;
  position: absolute;
  right: 22px;
}

.area-kv {
  background: url("../img/top/mv_img.webp") no-repeat center top;
  background-size: cover;
  height: 940px;
  padding: 380px 0 20px;
  color: #fff;
}
.area-kv .inner {
  width: min(100%, 1600px);
  max-width: 1600px;
}
.area-kv .ttl {
  width: 856px;
}
.area-kv .tit_sub {
  margin-top: min(1.75vw, 28px);
  font-family: "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  font-size: 22px;
}
@media screen and (max-width: 1440px) {
  .area-kv {
    height: min(58.75vw, 940px);
    padding: min(23.75vw, 380px) 0 min(1.25vw, 20px);
  }
  .area-kv .ttl {
    width: min(53.5vw, 856px);
  }
  .area-kv .tit_sub {
    margin-top: min(1.75vw, 28px);
    font-size: min(1.375vw, 22px);
  }
}
@media screen and (max-width: 768px) {
  .area-kv {
    background: url("../img/top/mv_img_sp.webp") no-repeat center top;
    background-size: cover;
    height: 100vh;
    margin-top: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .area-kv .ttl {
    width: min(89.3333333333vw, 335px);
  }
  .area-kv .tit_sub {
    margin-top: min(3.7333333333vw, 14px);
    font-size: min(4.2666666667vw, 16px);
  }
}

.area-topics {
  width: min(26.875vw, 430px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  z-index: 10;
  border-left: solid rgba(255, 255, 255, 0.2) 2px;
}
.area-topics a {
  color: #fff;
}
.area-topics dl {
  position: relative;
  width: min(22.5vw, 360px);
  padding: 0 min(2.1875vw, 35px);
}
.area-topics dl dt {
  color: #43A349;
}
.area-topics dl dt .en {
  font-size: min(1vw, 16px);
}
.area-topics dl dt .tag {
  font-size: min(0.875vw, 14px);
  border: solid 1px #43A349;
  padding: min(0.625vw, 10px) min(1.25vw, 20px);
  border-radius: 20px;
}
.area-topics dl dd {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.area-topics dl::after {
  content: "";
  display: inline-block;
  -webkit-mask: url(../img/common/icon_arrow.svg);
          mask: url(../img/common/icon_arrow.svg);
  background-color: #43A349;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  vertical-align: middle;
  width: 10px;
  height: 10px;
}

.area-our {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-bottom: 200px;
}
.area-our .bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.area-our .bg-layer.bg-1 {
  clip-path: polygon(0% 100%, 100% 100%, 100% 0%, -26% 100%);
  z-index: 1;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), color-stop(50%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0));
}
.area-our .bg-layer.bg-2 {
  background: #F3F3F3;
  clip-path: polygon(100% 100%, 0% 30%, 0% 0%, 100% 0%);
}
.area-our .flex_wrap {
  margin-top: 45px;
}
.area-our .flex_wrap .img {
  width: 374px;
}
.area-our .flex_wrap dl {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 53px;
  margin-top: 35px;
}
.area-our .flex_wrap dl div {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-left: 248px;
}
.area-our .flex_wrap dl div dt {
  color: #43A349;
  font-size: 56px;
  line-height: 1.25;
  margin-top: -21.2px;
  margin-right: 20px;
  padding-left: 110px;
  background: radial-gradient(circle at 80.5px 50%, rgb(67, 163, 73) 0px, rgb(67, 163, 73) 4.5px, rgba(67, 163, 73, 0.21) 4.5px, rgba(67, 163, 73, 0.21) 8.5px, transparent 8.5px), -webkit-gradient(linear, left top, right top, from(#43A349), to(#43A349));
  background: radial-gradient(circle at 80.5px 50%, rgb(67, 163, 73) 0px, rgb(67, 163, 73) 4.5px, rgba(67, 163, 73, 0.21) 4.5px, rgba(67, 163, 73, 0.21) 8.5px, transparent 8.5px), linear-gradient(to right, #43A349, #43A349);
  background-size: 100% 100%, 76px 1px;
  background-position: 0 0, 0 center;
  background-repeat: no-repeat;
}
.area-our .flex_wrap dl div dd {
  font-size: 24px;
  line-height: 1.45;
}
.area-our .flex_wrap dl div dd p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.area-our .flex_wrap dl div dd p small {
  color: #ABABAB;
  font-size: 16px;
  letter-spacing: 0.03em;
  margin-left: 14px;
}
.area-our .flex_wrap dl div dd p + p {
  margin-top: 20px;
  line-height: 1;
}
.area-our .flex_wrap dl div:nth-child(2n) {
  margin-left: 310px;
}
.area-our .flex_wrap dl div:nth-child(3n) {
  margin-left: 360px;
}
@media screen and (max-width: 1440px) {
  .area-our {
    padding-bottom: min(12.5vw, 200px);
  }
  .area-our .bg-layer.bg-1 {
    clip-path: polygon(0% 100%, 100% 100%, 100% 0%, -26% 100%);
    z-index: 1;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.05)), color-stop(50%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0));
  }
  .area-our .bg-layer.bg-2 {
    clip-path: polygon(100% 100%, 0% 30%, 0% 0%, 100% 0%);
  }
  .area-our .flex_wrap {
    margin-top: min(2.8125vw, 45px);
  }
  .area-our .flex_wrap .img {
    width: min(23.375vw, 374px);
  }
  .area-our .flex_wrap dl {
    gap: min(3.3125vw, 53px);
    margin-top: min(2.1875vw, 35px);
  }
  .area-our .flex_wrap dl div {
    margin-left: min(15.5vw, 248px);
  }
  .area-our .flex_wrap dl div dt {
    font-size: min(3.5vw, 56px);
    margin-top: calc((min(1.5vw, 24px) * 1.45 - min(3.5vw, 56px)) / 1);
    margin-right: min(1.25vw, 20px);
  }
  .area-our .flex_wrap dl div dd {
    font-size: min(1.5vw, 24px);
  }
  .area-our .flex_wrap dl div dd p small {
    font-size: min(1vw, 16px);
    margin-left: min(0.875vw, 14px);
  }
  .area-our .flex_wrap dl div dd p + p {
    margin-top: min(1.25vw, 20px);
  }
  .area-our .flex_wrap dl div:nth-child(2n) {
    margin-left: min(19.375vw, 310px);
  }
  .area-our .flex_wrap dl div:nth-child(3n) {
    margin-left: min(22.5vw, 360px);
  }
}
@media screen and (max-width: 768px) {
  .area-our {
    padding-bottom: 0;
    margin-top: 0;
  }
  .area-our .bg-layer.bg-1 {
    clip-path: polygon(0% 100%, 100% 100%, 100% 28%, 0 52%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(30%, rgba(255, 255, 255, 0.05)), color-stop(50%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 30%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0));
  }
  .area-our .bg-layer.bg-2 {
    clip-path: polygon(100% 55%, 0% 34%, 0% 0%, 100% 0%);
  }
  .area-our .flex_wrap {
    margin-top: min(1.3333333333vw, 5px);
    display: block;
  }
  .area-our .flex_wrap .img {
    display: block;
    width: 222px;
    margin: 0 auto;
  }
  .area-our .flex_wrap dl {
    position: relative;
    gap: min(5.3333333333vw, 20px);
    margin-top: min(8vw, 30px);
  }
  .area-our .flex_wrap dl div {
    margin-left: 0;
  }
  .area-our .flex_wrap dl div dt {
    font-size: min(7.4666666667vw, 28px);
    margin-right: min(5.3333333333vw, 20px);
    padding-left: 0;
    background: none;
    width: min(27.4666666667vw, 103px);
  }
  .area-our .flex_wrap dl div dd {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.75;
  }
  .area-our .flex_wrap dl div dd p {
    -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;
    line-height: 1.5;
  }
  .area-our .flex_wrap dl div dd p small {
    font-size: min(3.2vw, 12px);
    margin-left: 0;
  }
  .area-our .flex_wrap dl div dd p + p {
    margin-top: min(5.3333333333vw, 20px);
    line-height: 1.5;
  }
  .area-our .flex_wrap dl div:nth-child(2n), .area-our .flex_wrap dl div:nth-child(3n) {
    margin-left: 0;
  }
}

.area-business {
  position: relative;
  margin-top: -100px;
  padding-top: 0;
  z-index: 2;
}
.area-business::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: max(0px, (100vw - 1740px) / 2);
  height: 100%;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(9%, rgb(51, 120, 72)), color-stop(13%, rgb(48, 110, 64)), to(rgb(44, 108, 64)));
  background-image: linear-gradient(0deg, rgb(51, 120, 72) 9%, rgb(48, 110, 64) 13%, rgb(44, 108, 64) 100%);
}
.area-business::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 0;
  top: 0;
  left: max(0px, (100vw - 1740px) / 2);
  margin-left: -22px;
  width: 100%;
  height: 100%;
  max-width: 1740px;
  background: url("../img/top/business_bg.webp") no-repeat left top;
  background-size: 100% 100%;
  border-radius: 0px 16px 16px 0px;
}
.area-business .flex_wrap {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.area-business .flex_wrap hgroup .en.tag {
  color: #fff;
}
.area-business .flex_wrap hgroup .en.tag::before {
  background-color: #fff;
}
.area-business .flex_wrap hgroup .ttl {
  color: #fff;
}
.area-business .flex_wrap .txt {
  width: 446px;
  color: #fff;
  margin-top: 20px;
}
.area-business .flex_wrap .txt > p {
  margin-top: 20px;
  font-size: 20px;
  line-height: 2.2;
}
.area-business .flex_wrap .txt .btn {
  width: 296px;
  margin-top: 42px;
}
.area-business .flex_wrap .img {
  width: 672px;
  position: relative;
  left: 10px;
}
@media screen and (max-width: 1440px) {
  .area-business {
    margin-top: min(-6.25vw, -100px);
  }
  .area-business .inner {
    padding: min(6.25vw, 100px);
  }
  .area-business::before {
    display: none;
  }
  .area-business .flex_wrap .txt {
    width: min(27.875vw, 446px);
    width: 37.1666666667%;
    margin-top: min(1.25vw, 20px);
  }
  .area-business .flex_wrap .txt > p {
    margin-top: min(1.25vw, 20px);
    font-size: min(1.25vw, 20px);
  }
  .area-business .flex_wrap .txt .btn {
    width: min(18.5vw, 296px);
    margin-top: min(2.625vw, 42px);
  }
  .area-business .flex_wrap .img {
    width: min(42vw, 672px);
    width: 56%;
    left: min(0.625vw, 10px);
  }
}
@media screen and (max-width: 768px) {
  .area-business {
    margin-top: min(16vw, 60px);
  }
  .area-business::before {
    display: none;
  }
  .area-business::after {
    left: 0;
    margin-left: min(-3.2vw, -12px);
    width: 100%;
    height: 100%;
    background: url("../img/top/business_bg_sp.webp") no-repeat left top;
    background-size: cover;
    border-radius: 0px 16px 16px 0px;
  }
  .area-business .inner {
    padding: min(16vw, 60px) min(3.2vw, 12px) min(16vw, 60px) min(0vw, 0px);
  }
  .area-business .flex_wrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .area-business .flex_wrap .txt {
    width: 89.3333333333%;
    margin-top: 0;
  }
  .area-business .flex_wrap .txt hgroup {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .area-business .flex_wrap .txt > p {
    margin: min(5.3333333333vw, 20px) auto 0;
    font-size: min(4.2666666667vw, 16px);
  }
  .area-business .flex_wrap .txt .btn {
    width: min(68.2666666667vw, 256px);
    margin: min(8vw, 30px) auto 0;
  }
  .area-business .flex_wrap .img {
    width: 89.3333333333%;
    left: 0;
    margin: min(4vw, 15px) auto 0;
  }
}

.area-products {
  position: relative;
  z-index: 2;
  margin-left: 20px;
  margin-top: 80px;
  overflow-x: hidden;
}
.area-products::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -50%;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
}
.area-products .inner {
  background: #fff;
  padding: 100px 80px;
  border-radius: 16px 0 0 16px;
}
.area-products .maker-list {
  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;
  gap: 32px;
  margin-top: 25px;
}
.area-products .maker-list li {
  width: 272px;
  min-width: 0;
}
.area-products .maker-list li a {
  display: block;
  width: 100%;
  border-bottom: solid 1px #E5E5E5;
  padding-bottom: 5px;
}
.area-products .maker-list li a .img {
  width: auto;
  height: 150px;
  background: #fff;
  border: solid 1px #E5E5E5;
  border-radius: 8px;
  padding: 28px;
  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;
}
.area-products .maker-list li a .img img {
  display: block;
  max-width: 100%;
  height: auto;
}
.area-products .maker-list li a .txt {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 20px;
}
.area-products .maker-list li a .txt .maker-name {
  font-size: 20px;
  letter-spacing: -0.03em;
}
.area-products .maker-list li a .txt .maker-kana {
  color: #ABABAB;
  font-size: 16px;
}
.area-products .maker-list li a .txt .arrow {
  margin-left: 20px;
}
.area-products .maker-list.slick-slider {
  position: relative;
  display: block;
  width: 100%;
}
.area-products .maker-list.slick-slider .slick-list {
  width: 100%;
  overflow: hidden;
  margin: 0;
}
.area-products .maker-list.slick-slider .slick-list .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.area-products .maker-list.slick-slider .slick-list .slick-track .slick-slide {
  float: none;
  height: auto;
  margin: 0 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.area-products .maker-list.slick-slider .slick-list .slick-track .slick-slide > div {
  height: 100%;
}
.area-products .maker-list.slick-slider .slick-list .slick-track .slick-slide li {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.area-products .maker-list.slick-slider .slick-prev,
.area-products .maker-list.slick-slider .slick-next {
  position: absolute;
  z-index: 2;
  top: 37%;
  width: 52px;
  height: 52px;
  margin: 0;
  padding: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: 0;
  border-radius: 50%;
  background-color: #fff;
  border: solid 1px gray3;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.area-products .maker-list.slick-slider .slick-prev::before,
.area-products .maker-list.slick-slider .slick-next::before {
  display: block;
  width: 16px;
  height: 16px;
  margin: auto;
  background-color: #43A349;
  -webkit-mask-image: url("../img/common/icon_arrow.svg");
          mask-image: url("../img/common/icon_arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  content: "";
  opacity: 1;
}
.area-products .maker-list.slick-slider .slick-prev:hover,
.area-products .maker-list.slick-slider .slick-next:hover {
  border: solid 2px #43A349;
}
.area-products .maker-list.slick-slider .slick-prev {
  left: -8px;
}
.area-products .maker-list.slick-slider .slick-prev::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.area-products .maker-list.slick-slider .slick-next {
  right: -4px;
}
.area-products .maker-list.slick-slider .slick-dots {
  position: static;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
  width: 100%;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}
.area-products .maker-list.slick-slider .slick-dots li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 0;
}
.area-products .maker-list.slick-slider .slick-dots li button {
  display: block;
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ABABAB;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  cursor: pointer;
}
.area-products .maker-list.slick-slider .slick-dots li.slick-active button {
  background: #43A349;
}
.area-products .btn {
  width: 296px;
  margin: 50px auto 0;
}
@media screen and (max-width: 1440px) {
  .area-products {
    margin-top: min(6.25vw, 100px);
  }
  .area-products::after {
    right: -50%;
    width: 100%;
    height: 100%;
  }
  .area-products .inner {
    padding: min(6.25vw, 100px) min(5vw, 80px);
    border-radius: min(1vw, 16px) 0 0 min(1vw, 16px);
  }
  .area-products .maker-list {
    gap: min(2vw, 32px);
    margin-top: min(1.5625vw, 25px);
  }
  .area-products .maker-list li {
    width: min(17vw, 272px);
  }
  .area-products .maker-list li a {
    padding-bottom: min(0.3125vw, 5px);
  }
  .area-products .maker-list li a .img {
    height: min(9.375vw, 150px);
    border-radius: min(0.5vw, 8px);
    padding: min(1.75vw, 28px);
  }
  .area-products .maker-list li a .txt {
    margin-top: min(1.25vw, 20px);
  }
  .area-products .maker-list li a .txt .maker-name {
    font-size: min(1.25vw, 20px);
  }
  .area-products .maker-list li a .txt .maker-kana {
    font-size: min(1vw, 16px);
  }
  .area-products .maker-list li a .txt .arrow {
    margin-left: min(1.25vw, 20px);
  }
  .area-products .maker-list.slick-slider .slick-list .slick-track .slick-slide {
    margin: 0 min(1vw, 16px);
  }
  .area-products .maker-list.slick-slider .slick-prev,
  .area-products .maker-list.slick-slider .slick-next {
    top: 37%;
    width: min(3.25vw, 52px);
    height: min(3.25vw, 52px);
    -webkit-box-shadow: 0 min(0.1875vw, 3px) min(0.375vw, 6px) rgba(0, 0, 0, 0.16);
            box-shadow: 0 min(0.1875vw, 3px) min(0.375vw, 6px) rgba(0, 0, 0, 0.16);
  }
  .area-products .maker-list.slick-slider .slick-prev::before,
  .area-products .maker-list.slick-slider .slick-next::before {
    width: min(1vw, 16px);
    height: min(1vw, 16px);
  }
  .area-products .maker-list.slick-slider .slick-prev {
    left: min(-0.5vw, -8px);
  }
  .area-products .maker-list.slick-slider .slick-next {
    right: min(-0.25vw, -4px);
  }
  .area-products .maker-list.slick-slider .slick-dots {
    gap: min(1.75vw, 28px);
    margin: min(2.375vw, 38px) 0 0;
  }
  .area-products .maker-list.slick-slider .slick-dots li {
    width: min(0.75vw, 12px);
    height: min(0.75vw, 12px);
  }
  .area-products .maker-list.slick-slider .slick-dots li button {
    width: min(0.75vw, 12px);
    height: min(0.75vw, 12px);
  }
  .area-products .btn {
    width: min(18.5vw, 296px);
    margin: min(3.125vw, 50px) auto 0;
  }
}
@media screen and (max-width: 768px) {
  .area-products {
    margin-top: min(26.6666666667vw, 100px);
  }
  .area-products::after {
    right: -50%;
    width: 100%;
    height: 100%;
  }
  .area-products .inner {
    width: 96.8%;
    padding: min(16vw, 60px) min(5.3333333333vw, 20px);
    border-radius: min(4.2666666667vw, 16px) 0 0 min(4.2666666667vw, 16px);
  }
  .area-products .maker-slide {
    width: 100%;
    margin: 0;
  }
  .area-products .maker-slide > ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .area-products .maker-slide > ul > li {
    width: 100%;
  }
  .area-products .maker-list {
    gap: 0;
    margin-top: min(6.6666666667vw, 25px);
  }
  .area-products .maker-list li {
    width: 100%;
  }
  .area-products .maker-list li a {
    padding: min(4vw, 15px) 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(4vw, 15px);
  }
  .area-products .maker-list li a .img {
    width: min(32vw, 120px);
    height: min(17.6vw, 66px);
    border-radius: min(2.1333333333vw, 8px);
    padding: min(2.6666666667vw, 10px);
  }
  .area-products .maker-list li a .txt {
    width: 49.8666666667%;
    width: -webkit-fill-available;
    width: -moz-available;
    width: stretch;
    width: 100%;
    margin-top: 0;
  }
  .area-products .maker-list li a .txt hgroup {
    width: 70%;
  }
  .area-products .maker-list li a .txt .maker-name {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.5;
  }
  .area-products .maker-list li a .txt .maker-kana {
    font-size: min(3.2vw, 12px);
    line-height: 1.6;
  }
  .area-products .maker-list li a .txt .arrow {
    margin-left: min(5.3333333333vw, 20px);
  }
  .area-products .maker-list li + li {
    margin-top: 0;
  }
  .area-products .maker-list.slick-slider .slick-list {
    width: 100%;
    overflow: hidden;
  }
  .area-products .maker-list.slick-slider .slick-list .slick-track .slick-slide {
    margin: 0 min(4.2666666667vw, 16px);
    float: none;
    height: auto;
    margin: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .area-products .maker-list.slick-slider .slick-list .slick-track .slick-slide > div {
    height: 100%;
  }
  .area-products .maker-list.slick-slider .slick-prev,
  .area-products .maker-list.slick-slider .slick-next {
    top: 37%;
    width: min(13.8666666667vw, 52px);
    height: min(13.8666666667vw, 52px);
    -webkit-box-shadow: 0 min(0.8vw, 3px) min(1.6vw, 6px) rgba(0, 0, 0, 0.16);
            box-shadow: 0 min(0.8vw, 3px) min(1.6vw, 6px) rgba(0, 0, 0, 0.16);
  }
  .area-products .maker-list.slick-slider .slick-prev::before,
  .area-products .maker-list.slick-slider .slick-next::before {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
  }
  .area-products .maker-list.slick-slider .slick-prev {
    left: min(-2.1333333333vw, -8px);
  }
  .area-products .maker-list.slick-slider .slick-next {
    right: min(-1.0666666667vw, -4px);
  }
  .area-products .maker-list.slick-slider .slick-dots {
    gap: min(7.4666666667vw, 28px);
    margin: min(10.1333333333vw, 38px) 0 0;
  }
  .area-products .maker-list.slick-slider .slick-dots li {
    width: min(3.2vw, 12px);
    height: min(3.2vw, 12px);
  }
  .area-products .maker-list.slick-slider .slick-dots li button {
    width: min(3.2vw, 12px);
    height: min(3.2vw, 12px);
  }
  .area-products .btn {
    width: min(78.9333333333vw, 296px);
    margin: min(13.3333333333vw, 50px) auto 0;
  }
}
.area-moip {
  position: relative;
}
.area-moip::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("../img/top/moip_bg.webp") no-repeat center bottom #e9e9e9;
  background-size: max(1920px, 100%) auto;
  width: 100%;
  height: 100%;
}
.area-moip .inner {
  padding: 100px 100px 420px;
}
.area-moip p {
  font-size: 20px;
  letter-spacing: -0.02em;
  text-align: center;
  margin-top: 25px;
}
.area-moip .img {
  margin-top: 53px;
}
@media screen and (max-width: 1440px) {
  .area-moip p {
    font-size: min(1.25vw, 20px);
    margin-top: min(1.5625vw, 25px);
  }
  .area-moip .img {
    margin-top: min(3.3125vw, 53px);
  }
}
@media screen and (max-width: 768px) {
  .area-moip {
    margin-top: 0;
    padding-bottom: min(45.3333333333vw, 170px);
  }
  .area-moip::before {
    background: url("../img/top/moip_bg_sp.webp") no-repeat bottom #e9e9e9;
    background-size: 100% auto;
    width: 100%;
    height: 100%;
  }
  .area-moip .inner {
    padding: min(16vw, 60px) min(5.3333333333vw, 20px) 0;
  }
  .area-moip p {
    font-size: min(4.2666666667vw, 16px);
    text-align: left;
    margin-top: min(5.3333333333vw, 20px);
  }
  .area-moip .img {
    margin-top: min(8vw, 30px);
  }
}

.area-solution {
  background: #e9e9e9;
}
.area-solution .inner {
  position: relative;
  z-index: 3;
  padding-top: 20px;
}
.area-solution .solution-list {
  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;
  gap: 47px;
  margin-top: 28px;
}
.area-solution .solution-list li {
  background: #fff;
  width: 368px;
  border-radius: 8px;
}
.area-solution .solution-list li a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.area-solution .solution-list li a .thumb {
  position: relative;
  width: 368px;
  height: 245px;
  background: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
}
.area-solution .solution-list li a .thumb img {
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.area-solution .solution-list li a .txt {
  position: relative;
  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;
  padding: 20px 30px 30px;
  gap: 6px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-bottom: 0px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.area-solution .solution-list li a .txt h3 {
  font-size: 20px;
}
.area-solution .solution-list li a .txt .client-name {
  color: #ABABAB;
  font-size: 16px;
  margin-bottom: 10px;
}
.area-solution .solution-list li a .txt .more {
  margin-left: auto;
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
}
.area-solution .btn {
  width: 320px;
  margin: 50px auto 0;
}
@media screen and (max-width: 1440px) {
  .area-solution .inner {
    padding-top: min(1.25vw, 20px);
  }
  .area-solution .solution-list {
    gap: min(2.9375vw, 47px);
    margin-top: min(1.75vw, 28px);
  }
  .area-solution .solution-list li {
    width: min(23vw, 368px);
    border-radius: min(0.5vw, 8px);
  }
  .area-solution .solution-list li a .thumb {
    width: min(23vw, 368px);
    height: min(15.3125vw, 245px);
    border-radius: min(0.5vw, 8px) min(0.5vw, 8px) 0 0;
  }
  .area-solution .solution-list li a .txt {
    padding: min(1.25vw, 20px) min(1.875vw, 30px) min(1.875vw, 30px);
    gap: min(0.375vw, 6px);
  }
  .area-solution .solution-list li a .txt h3 {
    font-size: min(1.25vw, 20px);
  }
  .area-solution .solution-list li a .txt .client-name {
    font-size: min(1vw, 16px);
    margin-bottom: min(0.625vw, 10px);
  }
  .area-solution .solution-list li a .txt .more {
    gap: min(0.375vw, 6px);
  }
  .area-solution .btn {
    width: min(20vw, 320px);
    margin: min(3.125vw, 50px) auto 0;
  }
}
@media screen and (max-width: 768px) {
  .area-solution {
    margin-top: 0;
  }
  .area-solution .inner {
    padding-top: min(5.3333333333vw, 20px);
  }
  .area-solution .solution-list {
    gap: min(5.3333333333vw, 20px);
    margin-top: min(5.3333333333vw, 20px);
  }
  .area-solution .solution-list li {
    width: 100%;
    border-radius: min(2.1333333333vw, 8px);
  }
  .area-solution .solution-list li a .thumb {
    width: 100%;
    aspect-ratio: 335/223;
    height: auto;
    border-radius: min(2.1333333333vw, 8px) min(2.1333333333vw, 8px) 0 0;
  }
  .area-solution .solution-list li a .txt {
    padding: min(5.3333333333vw, 20px) min(5.3333333333vw, 20px) min(5.3333333333vw, 20px);
    gap: min(1.6vw, 6px);
  }
  .area-solution .solution-list li a .txt h3 {
    font-size: min(4.2666666667vw, 16px);
  }
  .area-solution .solution-list li a .txt .client-name {
    font-size: min(3.2vw, 12px);
    margin-bottom: min(2.6666666667vw, 10px);
  }
  .area-solution .solution-list li a .txt .more {
    gap: min(1.6vw, 6px);
    font-size: min(3.2vw, 12px);
  }
  .area-solution .btn {
    width: min(67.2vw, 252px);
    margin: min(8vw, 30px) auto 0;
  }
}

.area-about {
  position: relative;
  z-index: 2;
  padding-bottom: 100px;
}
.area-about .inner {
  width: min(100%, 1440px);
  max-width: 1440px;
  padding: 0 20px;
}
.area-about .flex_wrap {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 100px;
}
.area-about .flex_wrap .txt {
  width: 460px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin-top: 15px;
  position: relative;
}
.area-about .flex_wrap .txt::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../img/top/about_shape.webp") no-repeat;
  background-size: contain;
  width: 150px;
  height: 444px;
  top: -50px;
  left: 400px;
  z-index: -1;
}
.area-about .flex_wrap .txt p {
  font-size: 20px;
  line-height: 2.2;
}
.area-about .flex_wrap .txt .ttl {
  line-height: 1.7;
}
.area-about .flex_wrap .img {
  width: 740px;
}
.area-about .flex_wrap .btn {
  width: 320px;
  margin-top: 28px;
}
@media screen and (max-width: 1440px) {
  .area-about .inner {
    padding: 0 min(1.25vw, 20px);
  }
  .area-about .flex_wrap {
    gap: min(6.25vw, 100px);
  }
  .area-about .flex_wrap .txt {
    width: min(28.75vw, 460px);
    gap: min(0.9375vw, 15px);
    margin-top: min(0.9375vw, 15px);
  }
  .area-about .flex_wrap .txt::after {
    width: min(9.375vw, 150px);
    height: min(27.75vw, 444px);
    top: min(-3.125vw, -50px);
    left: min(25vw, 400px);
  }
  .area-about .flex_wrap .txt p {
    font-size: min(1.25vw, 20px);
  }
  .area-about .flex_wrap .img {
    width: min(46.25vw, 740px);
    width: 52.8571428571%;
  }
  .area-about .flex_wrap .btn {
    width: min(20vw, 320px);
    margin-top: min(1.75vw, 28px);
  }
}
@media screen and (max-width: 768px) {
  .area-about {
    margin-top: 0;
    padding-bottom: min(13.3333333333vw, 50px);
  }
  .area-about .inner {
    padding: 0 min(5.3333333333vw, 20px);
  }
  .area-about .inner::after {
    width: min(15.2vw, 57px);
    height: min(45.0666666667vw, 169px);
    top: min(-9.3333333333vw, -35px);
    right: min(5.8666666667vw, 22px);
  }
  .area-about .flex_wrap {
    gap: min(5.3333333333vw, 20px);
  }
  .area-about .flex_wrap .txt {
    width: 100%;
    gap: min(4vw, 15px);
    margin-top: min(4vw, 15px);
    z-index: 2;
  }
  .area-about .flex_wrap .txt::after {
    width: min(15.2vw, 57px);
    height: min(45.0666666667vw, 169px);
    top: min(2.6666666667vw, 10px);
    left: inherit;
    right: 0;
  }
  .area-about .flex_wrap .txt p {
    font-size: min(4.2666666667vw, 16px);
  }
  .area-about .flex_wrap .img {
    width: 100%;
  }
  .area-about .flex_wrap .btn {
    width: min(67.2vw, 252px);
    margin: min(5.3333333333vw, 20px) auto 0;
  }
}

.area-news {
  position: relative;
  z-index: 2;
}
.area-news .flex_wrap {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.area-news .txt {
  margin-top: 20px;
}
.area-news .ul_news {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  margin-top: 20px;
  width: 900px;
}
.area-news .ul_news li {
  position: relative;
  background: #fff;
  border: solid 1px #E5E5E5;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.area-news .ul_news li a {
  width: 100%;
  padding: 22px 60px 22px 26px;
}
.area-news .ul_news li a .box_status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #43A349;
}
.area-news .ul_news li a .box_status .time {
  font-size: 18px;
}
.area-news .ul_news li a .box_status .news-category {
  position: relative;
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 30px;
}
.area-news .ul_news li a .box_status .news-category::before {
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  -webkit-mask: url("../img/common/icon_tag.svg");
          mask: url("../img/common/icon_tag.svg");
  background-color: #43A349;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  margin-right: 6px;
}
.area-news .ul_news li a .title {
  font-size: 20px;
  margin-top: 7px;
}
.area-news .ul_news li .arrow {
  position: absolute;
  right: 30px;
}
.area-news .btn {
  width: 200px;
  margin-top: 40px;
}
.area-news .btn.sp {
  display: none;
}
@media screen and (max-width: 1440px) {
  .area-news .txt {
    margin-top: min(1.25vw, 20px);
  }
  .area-news .ul_news {
    gap: min(1.25vw, 20px);
    margin-top: min(1.25vw, 20px);
    width: min(56.25vw, 900px);
  }
  .area-news .ul_news li {
    border-radius: min(0.5vw, 8px);
  }
  .area-news .ul_news li a {
    padding: min(1.375vw, 22px) min(3.75vw, 60px) min(1.375vw, 22px) min(1.625vw, 26px);
  }
  .area-news .ul_news li a .box_status .time {
    font-size: min(1.125vw, 18px);
  }
  .area-news .ul_news li a .box_status .news-category {
    font-size: min(1vw, 16px);
    margin-left: min(1.875vw, 30px);
  }
  .area-news .ul_news li a .box_status .news-category::before {
    width: min(0.75vw, 12px);
    height: min(0.75vw, 12px);
    margin-right: min(0.375vw, 6px);
  }
  .area-news .ul_news li a .title {
    font-size: min(1.25vw, 20px);
    margin-top: min(0.4375vw, 7px);
  }
  .area-news .ul_news li .arrow {
    right: min(1.875vw, 30px);
  }
  .area-news .btn {
    width: min(12.5vw, 200px);
    margin-top: min(2.5vw, 40px);
  }
}
@media screen and (max-width: 768px) {
  .area-news .txt {
    margin: 0 auto;
  }
  .area-news .ul_news {
    gap: min(4vw, 15px);
    margin-top: min(5.3333333333vw, 20px);
    width: 100%;
  }
  .area-news .ul_news li {
    border-radius: min(2.1333333333vw, 8px);
  }
  .area-news .ul_news li a {
    padding: min(5.3333333333vw, 20px) min(16vw, 60px) min(5.3333333333vw, 20px) min(5.3333333333vw, 20px);
  }
  .area-news .ul_news li a .box_status .time {
    font-size: min(3.7333333333vw, 14px);
  }
  .area-news .ul_news li a .box_status .news-category {
    font-size: min(3.2vw, 12px);
    margin-left: min(5.3333333333vw, 20px);
  }
  .area-news .ul_news li a .box_status .news-category::before {
    width: min(3.2vw, 12px);
    height: min(3.2vw, 12px);
    margin-right: min(1.6vw, 6px);
  }
  .area-news .ul_news li a .title {
    font-size: min(4.2666666667vw, 16px);
    margin-top: min(1.8666666667vw, 7px);
  }
  .area-news .ul_news li .arrow {
    right: min(8vw, 30px);
  }
  .area-news .btn {
    width: min(67.2vw, 252px);
    margin: min(5.3333333333vw, 20px) auto 0;
  }
  .area-news .btn.pc {
    display: none;
  }
}

.area-contact {
  background: #f3f3f3;
  margin-top: 100px;
  padding-bottom: 100px;
  position: relative;
  z-index: 2;
}
.area-contact .inner {
  width: min(100%, 1440px);
  max-width: 1440px;
  padding: 0 20px;
  position: relative;
}
.area-contact .flex_wrap {
  gap: 100px;
  background: url("../img/common/contact_bg.png") no-repeat;
  padding: 60px 100px 73px;
  color: #fff;
}
.area-contact .flex_wrap .txt {
  width: 445px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.area-contact .flex_wrap .txt .en.tag {
  color: #fff;
}
.area-contact .flex_wrap .txt .en.tag::before {
  background-color: #fff;
}
.area-contact .flex_wrap .txt .ttl {
  color: #fff;
  font-size: 36px;
  letter-spacing: normal;
}
.area-contact .flex_wrap .txt p {
  font-size: 18px;
  line-height: 2.2;
  margin-top: 10px;
}
.area-contact .flex_wrap .txt_btn {
  font-size: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  margin-top: 20px;
}
.area-contact .flex_wrap .txt_btn .arrow {
  width: 80px;
  height: 80px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0.4)));
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4));
}
.area-contact .flex_wrap .txt_btn .arrow::after {
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 1440px) {
  .area-contact {
    margin-top: min(6.25vw, 100px);
    padding-bottom: min(6.25vw, 100px);
  }
  .area-contact .inner {
    width: min(100%, 1440px);
    max-width: 1440px;
    padding: 0 min(1.25vw, 20px);
  }
  .area-contact .flex_wrap {
    gap: min(6.25vw, 100px);
    padding: min(3.75vw, 60px) min(6.25vw, 100px) min(4.5625vw, 73px);
  }
  .area-contact .flex_wrap .txt {
    width: min(27.8125vw, 445px);
  }
  .area-contact .flex_wrap .txt .ttl {
    font-size: min(2.25vw, 36px);
  }
  .area-contact .flex_wrap .txt p {
    font-size: min(1.125vw, 18px);
    margin-top: min(0.625vw, 10px);
  }
  .area-contact .flex_wrap .txt_btn {
    font-size: min(1.25vw, 20px);
    gap: min(1.25vw, 20px);
    margin-top: min(1.25vw, 20px);
  }
  .area-contact .flex_wrap .txt_btn .arrow {
    width: min(5vw, 80px);
    height: min(5vw, 80px);
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0.4)));
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4));
  }
  .area-contact .flex_wrap .txt_btn .arrow::after {
    width: min(1.25vw, 20px);
    height: min(1.25vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .area-contact {
    margin-top: min(16vw, 60px);
    padding-bottom: min(16vw, 60px);
  }
  .area-contact .inner {
    width: 100%;
    padding: 0 min(5.3333333333vw, 20px);
  }
  .area-contact .flex_wrap {
    gap: min(2.6666666667vw, 10px);
    background: url("../img/common/contact_bg_sp.png") no-repeat;
    background-size: 100% 100%;
    padding: min(8vw, 30px) min(5.3333333333vw, 20px);
  }
  .area-contact .flex_wrap .txt {
    width: min(61.3333333333vw, 230px);
  }
  .area-contact .flex_wrap .txt .ttl {
    font-size: min(5.3333333333vw, 20px);
  }
  .area-contact .flex_wrap .txt p {
    font-size: min(3.7333333333vw, 14px);
    line-height: 2;
    margin-top: min(2.6666666667vw, 10px);
  }
  .area-contact .flex_wrap .txt_btn {
    font-size: min(5.3333333333vw, 20px);
    gap: min(5.3333333333vw, 20px);
    margin-top: min(5.3333333333vw, 20px);
  }
  .area-contact .flex_wrap .txt_btn .arrow {
    width: min(11.7333333333vw, 44px);
    height: min(11.7333333333vw, 44px);
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0.4)));
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4));
  }
  .area-contact .flex_wrap .txt_btn .arrow::after {
    width: min(5.3333333333vw, 20px);
    height: min(5.3333333333vw, 20px);
  }
}
/*# sourceMappingURL=top.css.map */