@charset "UTF-8";
/***********************************************************************
media queries setting
**********************************************************************/
/****************** responsive ******************/
/****************** responsive ******************/
/***********************************************************************
reset
**********************************************************************/
* {
  margin: 0;
  padding: 0;
}

html, body {
  -webkit-text-size-adjust: 100%;
}

body {
  color: #251605;
  margin: min(6.2857142857vw, 88px) 0 0;
  padding: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(1.1428571429vw, 16px);
  font-weight: 500;
}
@media (max-width: 768px) {
  body {
    font-size: min(3.7333333333vw, 14px);
    margin-top: min(18.4vw, 69px);
  }
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, table, th, td, img,
article, footer, header, nav, section {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  list-style-type: none;
}

th {
  font-weight: normal;
  text-align: inherit;
}

select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 100%;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  outline: none;
}

*:focus {
  outline: none;
}

img[src$=".svg"] {
  width: 100%;
}

hr {
  display: none;
}

a {
  color: #251605;
  text-decoration: none;
  outline: none;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

/* set html5 elements to block */
article, footer, header, nav, section {
  display: block;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.pc {
  display: block;
}
@media (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 768px) {
  .sp {
    display: block;
  }
}

@media (max-width: 768px) {
  br.sp {
    display: inline-block !important;
  }
}

ul {
  font-size: 0;
}
ul li {
  font-size: min(1.1428571429vw, 16px);
}
@media (max-width: 768px) {
  ul li {
    font-size: min(3.7333333333vw, 14px);
  }
}

/********************************************************************************
header
********************************************************************************/
header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border-radius: 0 0 15px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: min(6.2857142857vw, 88px);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-left: min(3.5714285714vw, 50px);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100;
}
@media (max-width: 768px) {
  header {
    background: transparent;
    height: min(18.4vw, 69px);
    padding: 0 min(2.6666666667vw, 10px);
  }
}
@media screen and (min-width: 769px) {
  header {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  header.is-hidden {
    opacity: 0;
    visibility: hidden;
  }
}
header #logo {
  line-height: 0;
  position: relative;
  width: min(14.6428571429vw, 205px);
  z-index: 1000;
}
@media (max-width: 768px) {
  header #logo {
    width: min(45.3333333333vw, 170px);
  }
}
@media (hover: hover) and (pointer: fine) {
  header #logo a:hover {
    opacity: 0.75;
  }
}
header {
  /* sp nav */
}
header #nav-btn {
  display: none;
}
@media (max-width: 768px) {
  header #nav-btn {
    background: #1d2088;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    height: min(13.3333333333vw, 50px);
    position: relative;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    width: min(13.3333333333vw, 50px);
    z-index: 1000;
  }
  header #nav-btn span {
    background: #fff;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    height: 2px;
    position: absolute;
    left: calc(50% - min(3.4666666667vw, 13px));
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    width: min(6.9333333333vw, 26px);
  }
  header #nav-btn span:nth-of-type(1) {
    top: min(4.2666666667vw, 16px);
  }
  header #nav-btn span:nth-of-type(2) {
    top: min(6.4vw, 24px);
  }
  header #nav-btn span:nth-of-type(3) {
    top: min(8.5333333333vw, 32px);
  }
  header #nav-btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(min(2.1333333333vw, 8px)) rotate(35deg);
            transform: translateY(min(2.1333333333vw, 8px)) rotate(35deg);
  }
  header #nav-btn.active span:nth-of-type(2) {
    opacity: 0;
  }
  header #nav-btn.active span:nth-of-type(3) {
    -webkit-transform: translateY(max(-2.1333333333vw, -8px)) rotate(-35deg);
            transform: translateY(max(-2.1333333333vw, -8px)) rotate(-35deg);
  }
}
header .gnav {
  padding-right: min(22.2857142857vw, 312px);
  z-index: 100;
}
@media (max-width: 768px) {
  header .gnav {
    background: #fff;
    border-radius: 0px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    height: 100vh;
    min-height: 100vh;
    overflow-y: auto;
    opacity: 0;
    padding: min(21.3333333333vw, 80px) 5%;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    text-align: center;
    visibility: hidden;
    width: 100%;
    z-index: 999;
  }
  header .gnav.active {
    visibility: visible;
    opacity: 1;
  }
  header .gnav nav {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
  }
}
header .gnav nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  header .gnav nav ul {
    display: block;
    margin-bottom: min(8vw, 30px);
  }
}
header .gnav nav ul li {
  padding: 0 min(0.7857142857vw, 11px);
}
@media (max-width: 768px) {
  header .gnav nav ul li {
    padding: 0;
  }
  header .gnav nav ul li:not(:last-child) {
    margin-bottom: min(5.3333333333vw, 20px);
  }
}
header .gnav nav ul a {
  display: inline-block;
  font-size: min(1.2857142857vw, 18px);
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 0 min(0.7857142857vw, 11px);
  position: relative;
}
@media (max-width: 768px) {
  header .gnav nav ul a {
    font-size: min(4.2666666667vw, 16px);
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: min(2.1333333333vw, 8px) 0;
    width: 100%;
  }
}
header .gnav nav ul a::before {
  border-bottom: 2px solid #1d2088;
  content: "";
  height: 0;
  opacity: 0;
  position: absolute;
  bottom: max(-0.7142857143vw, -10px);
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.5714285714vw, 22px);
}
header .gnav nav ul a:hover {
  opacity: 0.5;
}
header .gnav nav ul a:hover::before {
  opacity: 1;
}
@media (max-width: 768px) {
  header .gnav nav ul a:hover {
    opacity: 1;
  }
}
header .gnav .btn-list {
  position: absolute;
  right: 0;
  top: 0;
}
@media (max-width: 768px) {
  header .gnav .btn-list {
    position: static;
  }
}
header .gnav .btn-list li {
  width: min(19.9285714286vw, 279px);
}
@media (max-width: 768px) {
  header .gnav .btn-list li {
    margin: 0 auto;
    width: min(69.3333333333vw, 260px);
  }
}
header .gnav .btn-list li a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: min(1.2857142857vw, 18px);
  font-weight: 700;
  height: min(6.2857142857vw, 88px);
  letter-spacing: 0.1em;
  padding-left: min(3.5714285714vw, 50px);
  position: relative;
}
@media (max-width: 768px) {
  header .gnav .btn-list li a {
    border-radius: 30px;
    font-size: min(4.8vw, 18px);
    height: min(16vw, 60px);
    padding-left: min(13.3333333333vw, 50px);
  }
}
header .gnav .btn-list li a img {
  margin-right: min(0.5714285714vw, 8px);
  width: min(1.5357142857vw, 21.5px);
}
@media (max-width: 768px) {
  header .gnav .btn-list li a img {
    margin-right: min(2.1333333333vw, 8px);
    width: min(5.7333333333vw, 21.5px);
  }
}
header .gnav .btn-list li a::before {
  background: url(../images/common/btn-arrow-blue.svg) no-repeat center/contain;
  content: "";
  height: min(0.9285714286vw, 13px);
  position: absolute;
  right: min(1.7142857143vw, 24px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.5714285714vw, 22px);
}
@media (max-width: 768px) {
  header .gnav .btn-list li a::before {
    height: min(3.4666666667vw, 13px);
    right: min(6.4vw, 24px);
    width: min(5.8666666667vw, 22px);
  }
}
@media (hover: hover) and (pointer: fine) {
  header .gnav .btn-list li a:hover {
    opacity: 0.75;
  }
  header .gnav .btn-list li a:hover::before {
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
}
@media (max-width: 768px) {
  header .gnav .btn-list li.contact {
    margin-bottom: min(2.6666666667vw, 10px);
  }
}
header .gnav .btn-list li.contact a {
  background: #1d2088;
  color: #fff;
}
header .gnav .btn-list li.contact a img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
header .gnav .btn-list li.contact a::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
header .gnav .btn-list li.rental a {
  background: #f7f052;
}
header .gnav .btn-list li.rental a::before {
  -webkit-filter: brightness(0) invert(0);
          filter: brightness(0) invert(0);
}
header {
  /* sp nav */
}

/********************************************************************************
footer
********************************************************************************/
.contact-wrapper {
  background: #dcdcdc;
  padding: min(6.5vw, 91px) 0 calc(min(7.1428571429vw, 100px) + 12.25vw);
}
@media (max-width: 768px) {
  .contact-wrapper {
    padding: min(9.3333333333vw, 35px) 0 calc(min(9.3333333333vw, 35px) + 12vw);
  }
}
.contact-wrapper .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  .contact-wrapper .inner {
    display: block;
  }
}
.contact-wrapper .contact-box {
  background: #fff;
  border-radius: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: min(2.1428571429vw, 30px) min(2.5vw, 35px) min(7.8571428571vw, 110px);
  position: relative;
  width: 47.5%;
}
@media (max-width: 768px) {
  .contact-wrapper .contact-box {
    padding: min(6.1333333333vw, 23px) min(6.1333333333vw, 23px) min(22.1333333333vw, 83px);
    width: 100%;
  }
}
@media (max-width: 768px) {
  .contact-wrapper .contact-box:last-child {
    margin-top: min(6.6666666667vw, 25px);
  }
}
.contact-wrapper .contact-box:last-child .more-btn a::before {
  right: min(1.4285714286vw, 20px);
  -webkit-transform: rotate(90deg) translate(-30%, 0);
          transform: rotate(90deg) translate(-30%, 0);
}
.contact-wrapper .head {
  font-size: min(2.8571428571vw, 40px);
  letter-spacing: 0.025em;
  line-height: 1;
  margin-bottom: min(0.5vw, 7px);
}
@media (max-width: 768px) {
  .contact-wrapper .head {
    font-size: min(8.5333333333vw, 32px);
    letter-spacing: 0.075em;
    margin-bottom: min(1.3333333333vw, 5px);
  }
}
.contact-wrapper .en {
  border-bottom: 1px solid #b5b6b6;
  color: #1d2088;
  font-size: min(0.9285714286vw, 13px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: min(0.9285714286vw, 13px);
  padding-bottom: min(1.1428571429vw, 16px);
}
@media (max-width: 768px) {
  .contact-wrapper .en {
    font-size: min(2.9333333333vw, 11px);
    margin-bottom: min(2.6666666667vw, 10px);
    padding-bottom: min(4vw, 15px);
  }
}
.contact-wrapper .desc {
  font-size: min(1.2857142857vw, 18px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-bottom: min(0.3571428571vw, 5px);
}
@media (max-width: 768px) {
  .contact-wrapper .desc {
    font-size: min(4.2666666667vw, 16px);
    letter-spacing: 0.01em;
    line-height: 1.7;
  }
}
.contact-wrapper .note {
  color: #b5b6b6;
  font-size: min(1vw, 14px);
  letter-spacing: 0.05em;
  padding-left: 1em;
  position: relative;
}
@media (max-width: 768px) {
  .contact-wrapper .note {
    font-size: min(3.2vw, 12px);
    letter-spacing: 0.025em;
    line-height: 1.7;
  }
}
.contact-wrapper .note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.contact-wrapper .more-btn {
  position: absolute;
  bottom: min(2.5vw, 35px);
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: min(21.4285714286vw, 300px);
}
@media (max-width: 768px) {
  .contact-wrapper .more-btn {
    bottom: min(6.6666666667vw, 25px);
    width: min(80vw, 300px);
  }
}
.contact-wrapper .more-btn a {
  padding: min(0.5714285714vw, 8px) 0;
}
@media (max-width: 768px) {
  .contact-wrapper .more-btn a {
    padding: min(1.8666666667vw, 7px) 0;
  }
}

footer {
  background: #1d2088;
  padding: 1px 0 min(2.2857142857vw, 32px);
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  footer {
    padding-bottom: min(15.2vw, 57px);
  }
}
footer .office-contact-box {
  margin: max(-1.7857142857vw, -25px) 0 min(6vw, 84px);
}
@media (max-width: 768px) {
  footer .office-contact-box {
    margin: min(8vw, 30px) 0 min(10.1333333333vw, 38px);
  }
}
footer .office-contact-box .head {
  color: #fff;
  font-size: min(1.5vw, 21px);
  letter-spacing: 0.05em;
  margin-bottom: min(0.4285714286vw, 6px);
}
@media (max-width: 768px) {
  footer .office-contact-box .head {
    font-size: min(4vw, 15px);
    margin-bottom: min(0.8vw, 3px);
  }
}
footer .office-contact-box ul {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: min(1.2142857143vw, 17px) 0;
}
@media (max-width: 768px) {
  footer .office-contact-box ul {
    border: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
footer .office-contact-box li {
  padding: min(0.5714285714vw, 8px) 0 min(0.5vw, 7px);
}
@media (max-width: 768px) {
  footer .office-contact-box li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: min(2.1333333333vw, 8px) 0;
    position: relative;
    width: 50%;
  }
}
footer .office-contact-box li:not(:last-child) {
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  margin-right: min(2vw, 28px);
  padding-right: min(2vw, 28px);
}
@media (max-width: 768px) {
  footer .office-contact-box li:not(:last-child) {
    border-right: none;
    margin-right: 0;
    padding-right: 0;
  }
}
@media (max-width: 768px) {
  footer .office-contact-box li:nth-child(odd)::before {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    content: "";
    height: min(12.8vw, 48px);
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    width: 0;
  }
}
@media (max-width: 768px) {
  footer .office-contact-box li:nth-child(even) {
    padding-left: min(5.3333333333vw, 20px);
  }
}
@media (max-width: 768px) {
  footer .office-contact-box li:first-child, footer .office-contact-box li:nth-child(2) {
    border-top: 1px solid rgba(255, 255, 255, 0.5);
  }
}
footer .office-contact-box .name {
  color: #fff;
  font-size: min(1.1428571429vw, 16px);
  letter-spacing: 0.05em;
  margin-bottom: min(0.2142857143vw, 3px);
}
@media (max-width: 768px) {
  footer .office-contact-box .name {
    font-size: min(3.2vw, 12px);
    margin-bottom: min(0.5333333333vw, 2px);
  }
}
footer .office-contact-box .tel {
  color: #fff;
  font-size: min(1.7142857143vw, 24px);
  font-weight: 700;
  letter-spacing: 0.09em;
  padding-left: min(2.5vw, 35px);
  position: relative;
}
@media (max-width: 768px) {
  footer .office-contact-box .tel {
    font-size: min(4.8vw, 18px);
    padding-left: min(6.9333333333vw, 26px);
  }
}
footer .office-contact-box .tel::before {
  background: url(../images/common/icon-tel.svg) no-repeat center/contain;
  content: "";
  height: min(1.4285714286vw, 20px);
  position: absolute;
  left: min(0.2857142857vw, 4px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: min(1.4285714286vw, 20px);
}
@media (max-width: 768px) {
  footer .office-contact-box .tel::before {
    height: min(4vw, 15px);
    left: min(0.8vw, 3px);
    width: min(4vw, 15px);
  }
}
footer .office-contact-box .tel a {
  color: #fff;
}
footer .flex-box {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 768px) {
  footer .flex-box {
    display: block;
  }
}
footer .footer-info {
  width: min(20.1428571429vw, 282px);
}
@media (max-width: 768px) {
  footer .footer-info {
    margin: 0 auto min(8vw, 30px);
    width: min(61.3333333333vw, 230px);
  }
}
footer .footer-info .logo {
  margin-bottom: min(1.2142857143vw, 17px);
}
@media (max-width: 768px) {
  footer .footer-info .logo {
    margin-bottom: min(2.4vw, 9px);
  }
}
@media (hover: hover) and (pointer: fine) {
  footer .footer-info .logo a:hover {
    opacity: 0.75;
  }
}
footer .footer-info .address-head {
  color: #fff;
  font-size: min(1.1428571429vw, 16px);
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: min(0.5vw, 7px);
}
@media (max-width: 768px) {
  footer .footer-info .address-head {
    font-size: min(3.4666666667vw, 13px);
    margin-bottom: 0;
    text-align: center;
  }
}
footer .footer-info .address {
  color: #fff;
  font-size: min(0.9285714286vw, 13px);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: min(1.1428571429vw, 16px);
}
@media (max-width: 768px) {
  footer .footer-info .address {
    font-size: min(2.9333333333vw, 11px);
    letter-spacing: 0.025em;
    line-height: 1.5;
  }
}
footer .sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  footer .sns-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: min(7.4666666667vw, 28px);
  }
}
footer .sns-list li {
  margin: 0 min(0.4285714286vw, 6px);
  width: min(2.1428571429vw, 30px);
}
@media (max-width: 768px) {
  footer .sns-list li {
    margin-bottom: min(1.3333333333vw, 5px);
    width: min(6.4vw, 24px);
  }
}
@media (hover: hover) and (pointer: fine) {
  footer .sns-list a:hover {
    opacity: 0.75;
  }
}
footer .sns-list.sp {
  display: none;
}
@media (max-width: 768px) {
  footer .sns-list.sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 768px) {
  footer .sns-list.pc {
    display: none;
  }
}
footer .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: min(2vw, 28px);
}
@media (max-width: 768px) {
  footer .nav-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: min(6.6666666667vw, 25px);
  }
}
footer .nav-list li:not(:last-child) {
  margin-right: min(2.8571428571vw, 40px);
}
@media (max-width: 768px) {
  footer .nav-list li:not(:last-child) {
    margin: 0 min(2.6666666667vw, 10px);
  }
}
footer .nav-list a {
  color: #fff;
  font-size: min(1.2857142857vw, 18px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  footer .nav-list a {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  footer .nav-list a:hover {
    opacity: 0.75;
  }
}
footer .btn-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: min(3.5714285714vw, 50px);
}
@media (max-width: 768px) {
  footer .btn-list {
    display: none;
  }
}
footer .btn-list li {
  width: min(18.5714285714vw, 260px);
}
footer .btn-list a {
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  font-size: min(1.2857142857vw, 18px);
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: min(1vw, 14px) min(3.2857142857vw, 46px) min(1vw, 14px) 0;
  position: relative;
  text-align: center;
  width: 100%;
}
footer .btn-list a img {
  margin-right: min(0.5714285714vw, 8px);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.5714285714vw, 22px);
}
footer .btn-list a::before {
  background: url(../images/common/btn-arrow-blue.svg) no-repeat center/contain;
  content: "";
  height: min(1vw, 14px);
  position: absolute;
  right: min(1.6428571429vw, 23px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.7142857143vw, 24px);
}
@media (hover: hover) and (pointer: fine) {
  footer .btn-list a:hover::before {
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
}
footer .btn-list .contact {
  margin-right: min(2.2857142857vw, 32px);
}
footer .btn-list .contact a {
  background: #fff;
  border: 3px solid #fff;
  color: #1d2088;
}
@media (hover: hover) and (pointer: fine) {
  footer .btn-list .contact a:hover {
    background: #1d2088;
    color: #fff;
  }
  footer .btn-list .contact a:hover img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  footer .btn-list .contact a:hover::before {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
}
footer .btn-list .rental a {
  background: #f7f052;
  border: 3px solid #f7f052;
}
footer .btn-list .rental a::before {
  -webkit-filter: brightness(0) invert(0);
          filter: brightness(0) invert(0);
}
@media (hover: hover) and (pointer: fine) {
  footer .btn-list .rental a:hover {
    background: #fff;
  }
}
footer .copyright {
  color: #b5b6b6;
  font-size: min(0.8571428571vw, 12px);
  letter-spacing: 0.05em;
  text-align: right;
}
@media (max-width: 768px) {
  footer .copyright {
    font-size: min(2.6666666667vw, 10px);
    letter-spacing: 0.1em;
    text-align: center;
  }
}
footer::before {
  background: url(../images/common/footer-deco.png) no-repeat center bottom/100% 100%;
  content: "";
  height: 12.25vw;
  position: absolute;
  left: 0;
  top: calc(-12.25vw + 1px);
  width: 100%;
  z-index: -1;
}

@media (max-width: 768px) {
  .sp-fixed-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 15;
  }
  .sp-fixed-nav li {
    width: 50%;
  }
  .sp-fixed-nav a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: min(4vw, 15px);
    font-weight: 700;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    letter-spacing: 0.1em;
    padding: min(4vw, 15px) min(8.5333333333vw, 32px) min(4vw, 15px) 0;
    position: relative;
    width: 100%;
  }
  .sp-fixed-nav a img {
    margin-right: min(1.8666666667vw, 7px);
    width: min(4.8vw, 18px);
  }
  .sp-fixed-nav a::before {
    background: url(../images/common/btn-arrow-blue.svg) no-repeat center/contain;
    content: "";
    height: min(3.7333333333vw, 14px);
    position: absolute;
    right: min(3.7333333333vw, 14px);
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    width: min(4.8vw, 18px);
  }
  .sp-fixed-nav .contact a {
    background: #1d2088;
    color: #fff;
  }
  .sp-fixed-nav .contact a img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .sp-fixed-nav .contact a::before {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
  }
  .sp-fixed-nav .rental a {
    background: #f7f052;
  }
  .sp-fixed-nav .rental a::before {
    -webkit-filter: brightness(0) invert(0);
            filter: brightness(0) invert(0);
  }
}

/********************************************************************************
common
********************************************************************************/
.wrapper {
  overflow-x: hidden;
}

.inner {
  margin: 0 auto;
  width: min(85.7142857143vw, 1200px);
}
@media (max-width: 768px) {
  .inner {
    width: 90%;
  }
}

/* head */
.section-head-box {
  padding-top: min(2.5714285714vw, 36px);
  position: relative;
  text-align: center;
}
@media (max-width: 768px) {
  .section-head-box {
    padding-top: min(7.2vw, 27px);
  }
}
.section-head-box h3 {
  font-size: min(3.4285714286vw, 48px);
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 1;
  margin-bottom: min(0.3571428571vw, 5px);
}
@media (max-width: 768px) {
  .section-head-box h3 {
    font-size: min(8.5333333333vw, 32px);
    margin-bottom: min(1.3333333333vw, 5px);
  }
}
.section-head-box .head-en {
  color: #1d2088;
  font-size: min(0.9285714286vw, 13px);
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .section-head-box .head-en {
    font-size: min(2.9333333333vw, 11px);
  }
}
.section-head-box::before {
  background: url(../images/common/section-head-icon.svg) no-repeat center/contain;
  content: "";
  height: min(1.3571428571vw, 19px);
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: min(2.8571428571vw, 40px);
}
@media (max-width: 768px) {
  .section-head-box::before {
    height: min(4vw, 15px);
    width: min(8.5333333333vw, 32px);
  }
}

/* head */
/* btn */
.more-btn {
  width: min(23.4285714286vw, 328px);
}
@media (max-width: 768px) {
  .more-btn {
    width: min(80vw, 300px);
  }
}
.more-btn a {
  border: 3px solid #1d2088;
  border-radius: 40px;
  color: #1d2088;
  display: block;
  font-weight: 700;
  letter-spacing: 0.15em;
  padding: min(1.6428571429vw, 23px) 0;
  position: relative;
  text-align: center;
  width: 100%;
}
@media (max-width: 768px) {
  .more-btn a {
    font-size: min(4vw, 15px);
    letter-spacing: 0.1em;
    padding: min(3.2vw, 12px) 0;
  }
}
.more-btn a::before {
  background: url(../images/common/btn-arrow-blue.svg) no-repeat center/contain;
  content: "";
  height: min(0.9285714286vw, 13px);
  position: absolute;
  right: min(2.3571428571vw, 33px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.5714285714vw, 22px);
}
@media (max-width: 768px) {
  .more-btn a::before {
    height: min(3.2vw, 12px);
    right: min(5.3333333333vw, 20px);
    width: min(5.3333333333vw, 20px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .more-btn a:hover {
    background: #1d2088;
    color: #fff;
  }
  .more-btn a:hover::before {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
}

/* btn */
/* anim */
.fi {
  opacity: 0;
}
.fi.active {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-filter: blur(0.8rem);
            filter: blur(0.8rem);
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0rem);
            filter: blur(0rem);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-filter: blur(0.8rem);
            filter: blur(0.8rem);
    -webkit-transform: translate3d(0, 10%, 0);
            transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0rem);
            filter: blur(0rem);
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
/* anim */
/********************************************************************************
top
********************************************************************************/
#home {
  /* main */
}
#home #main {
  height: calc(100lvh - min(9.8571428571vw, 138px));
  margin: 0 auto min(10.5vw, 147px);
  position: relative;
  width: calc(100% - min(7.1428571429vw, 100px));
}
@media (max-width: 768px) {
  #home #main {
    height: calc(100lvh - 79px);
    margin-bottom: min(12vw, 45px);
    width: calc(100% - min(5.3333333333vw, 20px));
  }
}
#home #main .main-image-slider {
  height: 100%;
  width: 100%;
}
#home #main .main-image-slider img {
  border-radius: 10px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
#home #main .copy-box {
  position: absolute;
  bottom: min(11.4285714286vw, 160px);
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: min(85.7142857143vw, 1200px);
  z-index: 1;
}
@media (max-width: 768px) {
  #home #main .copy-box {
    bottom: unset;
    top: min(18.6666666667vw, 70px);
    width: 90%;
  }
}
#home #main .copy-box h2 {
  color: #fff;
  font-size: min(5.7142857143vw, 80px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-shadow: 0 0 8px rgba(29, 32, 136, 0.35);
}
@media (max-width: 768px) {
  #home #main .copy-box h2 {
    font-size: min(10.6666666667vw, 40px);
    letter-spacing: 0.05em;
  }
}
#home #main .copy-box h2 small {
  font-size: min(2.8571428571vw, 40px);
}
@media (max-width: 768px) {
  #home #main .copy-box h2 small {
    font-size: min(5.3333333333vw, 20px);
  }
}
#home #main .copy-box .subcopy {
  color: #fff;
  font-size: min(2.2857142857vw, 32px);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-shadow: 0 0 8px rgba(29, 32, 136, 0.35);
}
@media (max-width: 768px) {
  #home #main .copy-box .subcopy {
    font-size: min(4.2666666667vw, 16px);
  }
}
#home {
  /* main */
  /* company */
}
#home #company {
  margin-bottom: min(11.1428571429vw, 156px);
}
@media (max-width: 768px) {
  #home #company {
    margin-bottom: min(20vw, 75px);
  }
}
#home #company .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 768px) {
  #home #company .inner {
    display: block;
  }
}
#home #company .section-head-box {
  margin-bottom: min(1.9285714286vw, 27px);
  text-align: left;
}
@media (max-width: 768px) {
  #home #company .section-head-box {
    margin-bottom: min(4vw, 15px);
  }
}
#home #company .section-head-box::before {
  left: 0;
  -webkit-transform: none;
          transform: none;
}
#home #company .desc-box {
  width: 34%;
}
@media (max-width: 768px) {
  #home #company .desc-box {
    width: 100%;
  }
  #home #company .desc-box .image {
    height: min(53.3333333333vw, 200px);
    margin-bottom: min(2.6666666667vw, 10px);
    position: relative;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 100vw;
  }
  #home #company .desc-box .image img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
  #home #company .desc-box .more-btn {
    margin: 0 auto;
  }
}
#home #company .desc-box h4 {
  font-size: min(1.7142857143vw, 24px);
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.55;
  margin-bottom: min(1.7857142857vw, 25px);
}
@media (max-width: 768px) {
  #home #company .desc-box h4 {
    font-size: min(4.5333333333vw, 17px);
    line-height: 1.6;
    margin-bottom: min(2.1333333333vw, 8px);
  }
}
#home #company .desc-box .desc {
  letter-spacing: 0.05em;
  line-height: 1.65;
  margin-bottom: min(4.2857142857vw, 60px);
}
@media (max-width: 768px) {
  #home #company .desc-box .desc {
    margin-bottom: min(6.4vw, 24px);
  }
}
#home #company .image-box {
  width: 66%;
}
#home #company .image-box img {
  border-radius: 15px;
}
#home {
  /* company */
  /* business */
}
#home #business {
  margin-bottom: min(7.5vw, 105px);
}
@media (max-width: 768px) {
  #home #business {
    margin-bottom: min(14.6666666667vw, 55px);
  }
}
#home #business .section-head-box {
  margin-bottom: min(1.9285714286vw, 27px);
}
@media (max-width: 768px) {
  #home #business .section-head-box {
    margin-bottom: min(5.3333333333vw, 20px);
  }
}
#home #business .intro-desc {
  font-size: min(1.2857142857vw, 18px);
  letter-spacing: 0.05em;
  line-height: 1.7;
  margin-bottom: min(2.2857142857vw, 32px);
  text-align: center;
}
@media (max-width: 768px) {
  #home #business .intro-desc {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.75;
    margin-bottom: min(4.8vw, 18px);
  }
}
#home #business ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: min(5.2142857143vw, 73px);
}
@media (max-width: 768px) {
  #home #business ul {
    display: block;
    margin-bottom: min(5.3333333333vw, 20px);
  }
}
#home #business li {
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: min(28.5714285714vw, 400px);
  padding-top: min(7.6428571429vw, 107px);
  position: relative;
  width: 23%;
}
@media (max-width: 768px) {
  #home #business li {
    border-radius: 15px;
    height: min(47.7333333333vw, 179px);
    width: 100%;
  }
  #home #business li:not(:last-child) {
    margin-bottom: min(2.9333333333vw, 11px);
  }
}
#home #business li::before {
  background: rgba(29, 32, 136, 0.5);
  border-radius: 30px;
  content: "";
  height: 100%;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media (max-width: 768px) {
  #home #business li::before {
    border-radius: 15px;
  }
}
#home #business li .num {
  color: #fff;
  font-size: min(2.2857142857vw, 32px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  position: absolute;
  left: min(1vw, 14px);
  top: min(0.3571428571vw, 5px);
}
@media (max-width: 768px) {
  #home #business li .num {
    font-size: min(8.5333333333vw, 32px);
    left: min(2.1333333333vw, 8px);
    top: min(0.2666666667vw, 1px);
  }
}
#home #business li h4 {
  color: #fff;
  font-size: min(1.9285714286vw, 27px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: min(2.1428571429vw, 30px);
  padding-bottom: min(1.0714285714vw, 15px);
  position: relative;
  text-align: center;
}
@media (max-width: 768px) {
  #home #business li h4 {
    font-size: min(5.6vw, 21px);
    margin-bottom: min(3.4666666667vw, 13px);
    padding-bottom: min(4vw, 15px);
  }
}
#home #business li h4::before {
  border-bottom: 1px solid #fff;
  content: "";
  height: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: min(2.1428571429vw, 30px);
}
@media (max-width: 768px) {
  #home #business li h4::before {
    width: min(8vw, 30px);
  }
}
#home #business li .desc {
  color: #fff;
  font-size: min(1vw, 14px);
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin: 0 min(2.9285714286vw, 41px);
  position: relative;
  text-align: justify;
}
@media (max-width: 768px) {
  #home #business li .desc {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.5;
    margin: 0 min(4vw, 15px);
  }
}
#home #business li:nth-child(1) {
  background: url(../images/top/business-list1.jpg) no-repeat center/cover;
}
@media (max-width: 768px) {
  #home #business li:nth-child(1) {
    background: url(../images/top/business-list1-sp.jpg) no-repeat center/cover;
  }
}
#home #business li:nth-child(2) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  background: url(../images/top/business-list2.jpg) no-repeat center/cover;
}
@media (max-width: 768px) {
  #home #business li:nth-child(2) {
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    background: url(../images/top/business-list2-sp.jpg) no-repeat center/cover;
  }
}
#home #business li:nth-child(3) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
  background: url(../images/top/business-list3.jpg) no-repeat center/cover;
}
@media (max-width: 768px) {
  #home #business li:nth-child(3) {
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    background: url(../images/top/business-list3-sp.jpg) no-repeat center/cover;
  }
}
#home #business li:nth-child(4) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
  background: url(../images/top/business-list4.jpg) no-repeat center/cover;
}
@media (max-width: 768px) {
  #home #business li:nth-child(4) {
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    background: url(../images/top/business-list4-sp.jpg) no-repeat center/cover;
  }
}
#home #business .more-btn {
  margin: 0 auto;
}
#home {
  /* business */
  /* feature */
}
#home #feature {
  background: #e3eff8;
  margin-bottom: min(5.5vw, 77px);
  padding: min(5.7142857143vw, 80px) 0 min(3.2142857143vw, 45px);
}
@media (max-width: 768px) {
  #home #feature {
    margin-bottom: min(17.6vw, 66px);
    padding: min(15.2vw, 57px) 0 min(11.2vw, 42px);
  }
}
#home #feature .section-head-box {
  margin-bottom: min(5.7142857143vw, 80px);
}
#home #feature ul {
  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;
}
@media (max-width: 768px) {
  #home #feature ul {
    display: block;
  }
}
#home #feature li {
  margin-bottom: min(7.3571428571vw, 103px);
  width: 45%;
}
@media (max-width: 768px) {
  #home #feature li {
    margin-bottom: min(10.9333333333vw, 41px);
    width: 100%;
  }
}
#home #feature li .image {
  margin-bottom: min(0.7142857143vw, 10px);
}
@media (max-width: 768px) {
  #home #feature li .image {
    margin-bottom: min(2.1333333333vw, 8px);
  }
}
#home #feature li .desc-box {
  border-left: 2px solid #1d2088;
  margin-left: min(2.2857142857vw, 32px);
  padding-left: min(2.2857142857vw, 32px);
  padding-top: min(0.9285714286vw, 13px);
}
@media (max-width: 768px) {
  #home #feature li .desc-box {
    margin-left: min(2.9333333333vw, 11px);
    padding-left: min(2.9333333333vw, 11px);
    padding-top: min(1.8666666667vw, 7px);
  }
}
#home #feature li h4 {
  font-size: min(1.9285714286vw, 27px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: min(0.6428571429vw, 9px);
}
@media (max-width: 768px) {
  #home #feature li h4 {
    font-size: min(5.6vw, 21px);
    line-height: 1.55;
    margin-bottom: min(3.4666666667vw, 13px);
  }
}
#home #feature li p {
  font-size: min(1.2857142857vw, 18px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media (max-width: 768px) {
  #home #feature li p {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.5;
  }
}
#home #feature li:nth-child(2) {
  margin-top: min(11.0714285714vw, 155px);
}
@media (max-width: 768px) {
  #home #feature li:nth-child(2) {
    margin-top: 0;
  }
}
#home #feature li:nth-child(3) {
  margin-top: max(-11.0714285714vw, -155px);
}
@media (max-width: 768px) {
  #home #feature li:nth-child(3) {
    margin-top: 0;
  }
}
#home {
  /* feature */
  /* recommend */
}
#home #recommend {
  margin-bottom: min(11.4285714286vw, 160px);
}
@media (max-width: 768px) {
  #home #recommend {
    margin-bottom: min(26.6666666667vw, 100px);
  }
}
#home #recommend .section-head-box {
  margin-bottom: min(3.2142857143vw, 45px);
}
@media (max-width: 768px) {
  #home #recommend .section-head-box {
    margin-bottom: min(5.3333333333vw, 20px);
  }
}
#home #recommend .recommend-box {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  background: #f7f052;
  border-radius: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: min(4.6428571429vw, 65px);
}
@media (max-width: 768px) {
  #home #recommend .recommend-box {
    display: block;
    padding: min(4.2666666667vw, 16px);
  }
}
#home #recommend .recommend-box .image {
  width: 54%;
}
@media (max-width: 768px) {
  #home #recommend .recommend-box .image {
    margin-bottom: min(2.6666666667vw, 10px);
    width: 100%;
  }
}
#home #recommend .recommend-box .image img {
  border-radius: 30px;
}
@media (max-width: 768px) {
  #home #recommend .recommend-box .image img {
    border-radius: 15px;
  }
}
#home #recommend .recommend-box .desc-box {
  width: 42%;
}
@media (max-width: 768px) {
  #home #recommend .recommend-box .desc-box {
    width: 100%;
  }
}
#home #recommend .recommend-box h4 {
  border-bottom: 1px solid rgba(37, 22, 5, 0.5);
  font-size: min(1.9285714286vw, 27px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: min(3vw, 42px);
  padding-bottom: min(1.6428571429vw, 23px);
}
@media (max-width: 768px) {
  #home #recommend .recommend-box h4 {
    font-size: min(5.6vw, 21px);
    margin-bottom: min(3.7333333333vw, 14px);
    padding-bottom: min(1.6vw, 6px);
  }
}
#home #recommend .recommend-box p {
  font-size: min(1.2857142857vw, 18px);
  letter-spacing: 0.04em;
  line-height: 2.2;
  margin-bottom: min(5.3571428571vw, 75px);
  text-align: justify;
}
@media (max-width: 768px) {
  #home #recommend .recommend-box p {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.5;
    margin-bottom: min(7.4666666667vw, 28px);
  }
}
#home #recommend .recommend-box .catalog-btn {
  width: min(21.4285714286vw, 300px);
}
@media (max-width: 768px) {
  #home #recommend .recommend-box .catalog-btn {
    width: min(80vw, 300px);
  }
}
#home #recommend .recommend-box .catalog-btn a {
  background: #fff;
  border: 3px solid #251605;
  border-radius: 30px;
  display: block;
  font-weight: 700;
  letter-spacing: 0.15em;
  padding: min(0.5714285714vw, 8px) 0;
  position: relative;
  text-align: center;
  width: 100%;
}
@media (max-width: 768px) {
  #home #recommend .recommend-box .catalog-btn a {
    font-size: min(4vw, 15px);
    letter-spacing: 0.1em;
    padding: min(1.8666666667vw, 7px) 0;
  }
}
#home #recommend .recommend-box .catalog-btn a::before {
  background: url(../images/common/icon-file.svg) no-repeat center/contain;
  content: "";
  height: min(2vw, 28px);
  position: absolute;
  right: min(1.5714285714vw, 22px);
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.6428571429vw, 23px);
}
@media (max-width: 768px) {
  #home #recommend .recommend-box .catalog-btn a::before {
    height: min(6.6666666667vw, 25px);
    right: min(6.4vw, 24px);
    width: min(5.3333333333vw, 20px);
  }
}
@media (hover: hover) and (pointer: fine) {
  #home #recommend .recommend-box .catalog-btn a:hover {
    background: #251605;
    color: #fff;
  }
  #home #recommend .recommend-box .catalog-btn a:hover::before {
    -webkit-filter: invert(1);
            filter: invert(1);
  }
}
#home {
  /* recommend */
  /* recruit-banner */
}
#home .recruit-banner {
  background: #1d2088;
  height: min(35.7142857143vw, 500px);
  position: relative;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
@media (max-width: 768px) {
  #home .recruit-banner {
    height: auto;
  }
}
#home .recruit-banner a {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 3;
}
#home .recruit-banner .inner {
  height: 100%;
}
@media (max-width: 768px) {
  #home .recruit-banner .inner {
    height: auto;
  }
}
#home .recruit-banner .desc-box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  padding-top: min(2.7142857143vw, 38px);
  position: relative;
  width: 50%;
}
@media (max-width: 768px) {
  #home .recruit-banner .desc-box {
    padding: min(7.2vw, 27px) 0 min(7.4666666667vw, 28px);
    width: 100%;
  }
}
#home .recruit-banner h3 {
  color: #fff;
  font-size: min(0.9285714286vw, 13px);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: min(0.4285714286vw, 6px);
}
@media (max-width: 768px) {
  #home .recruit-banner h3 {
    font-size: min(2.9333333333vw, 11px);
    margin-bottom: min(2.9333333333vw, 11px);
  }
}
#home .recruit-banner h4 {
  color: #fff;
  font-size: min(3.4285714286vw, 48px);
  font-weight: 900;
  letter-spacing: 0.075em;
  line-height: 1.1;
  margin-bottom: min(3.5714285714vw, 50px);
  position: relative;
  text-shadow: 5px 5px 8px rgba(22, 25, 132, 0.4);
  z-index: 1;
}
@media (max-width: 768px) {
  #home .recruit-banner h4 {
    font-size: min(8.5333333333vw, 32px);
    line-height: 1.2;
    margin-bottom: min(7.2vw, 27px);
  }
}
#home .recruit-banner h4::before {
  background: #e3eff8;
  content: "";
  height: min(1.7142857143vw, 24px);
  position: absolute;
  bottom: max(-0.4285714286vw, -6px);
  left: 0;
  width: 100%;
  z-index: -1;
}
@media (max-width: 768px) {
  #home .recruit-banner h4::before {
    height: min(4.8vw, 18px);
    bottom: max(-0.8vw, -3px);
    width: calc(100% + 5vw);
  }
}
#home .recruit-banner .copy {
  color: #fff;
  font-size: min(1.7142857143vw, 24px);
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.5;
  margin-bottom: min(1.6428571429vw, 23px);
}
@media (max-width: 768px) {
  #home .recruit-banner .copy {
    font-size: min(5.6vw, 21px);
    margin-bottom: min(4.5333333333vw, 17px);
  }
}
#home .recruit-banner .desc {
  color: #fff;
  font-size: min(1.2857142857vw, 18px);
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media (max-width: 768px) {
  #home .recruit-banner .desc {
    font-size: min(4.2666666667vw, 16px);
    line-height: 1.7;
    margin-bottom: min(8.5333333333vw, 32px);
  }
}
#home .recruit-banner .more-text {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1;
  padding-right: min(5.1428571429vw, 72px);
  position: absolute;
  bottom: min(3vw, 42px);
  right: min(2.4285714286vw, 34px);
}
@media (max-width: 768px) {
  #home .recruit-banner .more-text {
    padding-right: min(10.9333333333vw, 41px);
    position: relative;
    bottom: unset;
    right: unset;
    text-align: right;
  }
}
#home .recruit-banner .more-text::before {
  background: url(../images/common/btn-arrow-blue.svg) no-repeat center/contain;
  content: "";
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  height: min(1.7142857143vw, 24px);
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: min(1.6428571429vw, 23px);
}
@media (max-width: 768px) {
  #home .recruit-banner .more-text::before {
    height: min(3.2vw, 12px);
    width: min(5.3333333333vw, 20px);
  }
}
#home .recruit-banner .image {
  height: 100%;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;
}
@media (max-width: 768px) {
  #home .recruit-banner .image {
    position: static;
    width: 100%;
  }
}
#home .recruit-banner .image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  #home .recruit-banner:hover {
    opacity: 0.85;
  }
  #home .recruit-banner:hover .more-text::before {
    -webkit-transform: translate(5px, -50%);
            transform: translate(5px, -50%);
  }
  #home .recruit-banner:hover .image img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
#home {
  /* recruit-banner */
}

/********************************************************************************
top
********************************************************************************/
#coming-soon-page {
  background: #1d2088;
}
@media (max-width: 768px) {
  #coming-soon-page {
    background: #fff;
  }
}
#coming-soon-page #coming-soon {
  margin: min(17vw, 238px) 0 min(14.2857142857vw, 200px);
}
@media (max-width: 768px) {
  #coming-soon-page #coming-soon {
    margin: min(34.6666666667vw, 130px) 0 min(20vw, 75px);
  }
}
#coming-soon-page #coming-soon .inner {
  background: #fff;
  border-radius: 15px;
  padding: min(5vw, 70px) 0;
  width: min(71.4285714286vw, 1000px);
}
@media (max-width: 768px) {
  #coming-soon-page #coming-soon .inner {
    padding: 0;
    width: 90%;
  }
}
#coming-soon-page #coming-soon .section-head-box {
  margin-bottom: min(4.2857142857vw, 60px);
}
@media (max-width: 768px) {
  #coming-soon-page #coming-soon .section-head-box {
    margin-bottom: min(9.3333333333vw, 35px);
  }
}
#coming-soon-page #coming-soon .desc {
  font-size: min(1.5vw, 21px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin-bottom: min(3.2142857143vw, 45px);
  text-align: center;
}
@media (max-width: 768px) {
  #coming-soon-page #coming-soon .desc {
    font-size: min(4.2666666667vw, 16px);
    margin-bottom: min(6.6666666667vw, 25px);
  }
}
#coming-soon-page #coming-soon .more-btn {
  margin: 0 auto;
}