.top .btn__type01 a, .top .btn__type01 span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #333;
}
.top .mv {
  margin: 0 auto min(8.784vw, 130px);
  padding-left: min(11.486vw, 170px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top .mv {
    padding-left: 0;
    padding-bottom: 15.385vw;
    margin-bottom: 20.513vw;
  }
}
.top .mv .slick-list {
  padding: 0 min(26.824vw, 397px) 0 0 !important;
}
@media only screen and (max-width: 767px) {
  .top .mv .slick-list {
    padding: 0 !important;
  }
}
.top .mv__slider {
  margin: 0 min(1.081vw, 16px) 0 0;
}
@media only screen and (max-width: 767px) {
  .top .mv__slider {
    margin: 0 auto;
  }
}
.top .mv__slider a {
  position: relative;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .top .mv__slider a:hover img {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
    opacity: 0.8;
    -webkit-filter: brightness(110%);
            filter: brightness(110%);
  }
}
.top .mv__slider a img {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .top .mv__slider a img {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
}
.top .mv__slider__img {
  overflow: hidden;
  border-radius: min(1.622vw, 24px);
}
@media only screen and (max-width: 767px) {
  .top .mv__slider__img {
    border-radius: 0;
  }
}
.top .mv__slider__ttl {
  position: absolute;
  color: #fff;
  font-size: min(4.324vw, 64px);
  bottom: min(6.419vw, 95px);
  right: min(2.703vw, 40px);
  letter-spacing: 0.07em;
}
@media only screen and (max-width: 767px) {
  .top .mv__slider__ttl {
    font-size: 9.744vw;
    bottom: auto;
    top: 73.718vw;
    right: 5.128vw;
  }
}
.top .mv__slider__caption {
  opacity: 0;
  visibility: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: min(2.703vw, 40px);
  padding-left: min(1.351vw, 20px);
}
@media only screen and (max-width: 767px) {
  .top .mv__slider__caption {
    font-size: 7.179vw;
    display: block;
    padding: 3.846vw 7.692vw 0;
  }
}
.top .mv__slider__caption span {
  padding-left: min(1.824vw, 27px);
}
@media only screen and (max-width: 767px) {
  .top .mv__slider__caption span {
    display: block;
    padding-top: 1em;
    padding-left: 0;
    line-height: 1.6;
  }
}
.top .mv__slider__count {
  letter-spacing: 0;
  font-size: clamp(12px, 1.622vw, 24px);
  position: absolute;
  bottom: min(0.541vw, 8px);
  left: min(79.459vw, 1176px);
}
@media only screen and (max-width: 767px) {
  .top .mv__slider__count {
    font-size: 5.385vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 3.077vw;
  }
}
.top .mv__slider__count .all {
  font-size: clamp(12px, 1.081vw, 16px);
}
@media only screen and (max-width: 767px) {
  .top .mv__slider__count .all {
    font-size: 3.59vw;
  }
}
.top .mv__arrow {
  position: absolute;
  bottom: 0;
  cursor: pointer;
  z-index: 2;
  width: min(2.568vw, 38px);
}
@media print, screen and (min-width: 768px) {
  .top .mv__arrow {
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
  }
  .top .mv__arrow:hover {
    opacity: 0.75;
  }
}
@media only screen and (max-width: 767px) {
  .top .mv__arrow {
    width: 12.308vw;
    height: 12.308vw;
  }
}
.top .mv__arrow.prev {
  left: min(75.541vw, 1118px);
}
@media only screen and (max-width: 767px) {
  .top .mv__arrow.prev {
    left: 7.692vw;
  }
}
.top .mv__arrow.next {
  left: min(83.581vw, 1237px);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media only screen and (max-width: 767px) {
  .top .mv__arrow.next {
    left: auto;
    right: 7.692vw;
  }
}
.top .mv .slick-active .mv__slider__caption {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity ease 0.1s;
  transition: opacity ease 0.1s;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.top__company {
  margin-bottom: min(11.959vw, 177px);
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .top__company {
    padding: 0 7.692vw 64.103vw;
    margin-bottom: 0;
  }
}
.top__company__contents {
  height: min(23.649vw, 350px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  max-width: min(100vw, 1480px);
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .top__company__contents {
    display: block;
    height: auto;
    position: static;
  }
}
.top__company__contents__left {
  position: absolute;
  right: min(65.27vw, 966px);
  bottom: 0;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__left {
    position: static;
  }
}
.top__company__contents__left h2 {
  font-size: min(4.054vw, 60px);
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__left h2 {
    font-size: 14.359vw;
    letter-spacing: 0.05em;
  }
}
.top__company__contents__left h3 {
  font-size: min(1.622vw, 24px);
  padding-top: min(2.703vw, 40px);
  margin-bottom: min(3.649vw, 54px);
  padding-left: 1em;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__left h3 {
    font-size: 5.128vw;
    padding-top: 7.051vw;
    padding-left: 0.2em;
    margin-bottom: 10.256vw;
  }
}
@media only screen and (max-width: 767px) {
  .top__company__contents__left .btn {
    position: absolute;
    bottom: 25.641vw;
    left: 0;
    padding: 0 7.692vw;
    width: 100%;
  }
}
.top__company__contents__left .btn a {
  display: grid;
  place-content: center;
  width: min(14.189vw, 210px);
  height: min(4.595vw, 68px);
  text-align: center;
  font-size: clamp(12px, 1.216vw, 18px);
  border: 1px solid #333;
  border-radius: 60px;
  color: #333;
  background: #fff url(/assets/img/top/arrow_orange.svg) no-repeat right 1.2em center/min(1.081vw, 16px);
}
@media print, screen and (min-width: 768px) {
  .top__company__contents__left .btn a {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
  .top__company__contents__left .btn a:hover {
    background: #F47F2C url(/assets/img/top/arrow_white.svg) no-repeat right 1.2em center/min(1.081vw, 16px);
    color: #fff;
    border: 1px solid #F47F2C;
  }
}
@media only screen and (max-width: 767px) {
  .top__company__contents__left .btn a {
    width: 100%;
    font-size: 4.615vw;
    height: 17.436vw;
    border-radius: 10.256vw;
    background-size: 4.359vw;
  }
}
.top__company__contents__right {
  height: 100%;
  width: min(69.73vw, 1032px);
  background-color: #FAF7F4;
  position: relative;
  border-radius: 24px 0 0 24px;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right {
    width: 100%;
    height: auto;
    padding-bottom: 7.692vw;
    border-radius: 6.154vw;
    overflow: hidden;
  }
}
.top__company__contents__right:before {
  content: "";
  display: block;
  background-color: #FAF7F4;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100vw;
  border-radius: 24px 0 0 24px;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right:before {
    display: none;
  }
}
.top__company__contents__right a {
  display: block;
  height: 100%;
  padding: min(5.405vw, 80px) 0 0 min(30.405vw, 450px);
  border-radius: 18px 0 0 18px;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right a {
    padding: 0;
    height: auto;
    border-radius: none;
  }
}
.top__company__contents__right a:before {
  content: "";
  display: block;
  position: absolute;
  top: min(3.378vw, 50px);
  left: min(22.973vw, 340px);
  width: min(36.757vw, 544px);
  height: min(4.459vw, 66px);
  background: url(/assets/img/top/top_message_bg.png) no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right a:before {
    background: url(/assets/img/top/top_message_bg_sp.png) no-repeat;
    background-size: contain;
    top: 87.179vw;
    left: 0;
    height: 10.641vw;
    width: 100%;
  }
}
.top__company__contents__right a .img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: min(23.649vw, 350px);
  overflow: hidden;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right a .img {
    width: 100%;
    height: 84.615vw;
    position: static;
  }
}
.top__company__contents__right a .img img {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.top__company__contents__right a .message {
  line-height: 1.8;
  margin-bottom: min(1.014vw, 15px);
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right a .message {
    padding: 14.103vw 8.974vw 0;
    margin-bottom: 0;
  }
}
.top__company__contents__right a .message > span {
  display: block;
  padding-top: 1em;
}
.top__company__contents__right a .btn {
  padding-left: min(14.189vw, 210px);
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right a .btn {
    padding-left: 0;
    padding-right: 5.128vw;
    padding-top: 10.256vw;
  }
}
@media only screen and (max-width: 767px) {
  .top__company__contents__right a .btn span {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media print, screen and (min-width: 768px) {
  .top__company__contents__right:hover .img img {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.top__person .inner, .top__event .inner, .top__numbers .inner {
  max-width: min(77.027vw, 1140px);
  padding: 0 20px;
}
@media only screen and (max-width: 767px) {
  .top__person .inner, .top__event .inner, .top__numbers .inner {
    padding: 0 7.692vw;
    max-width: none;
  }
}
.top__person h2, .top__event h2, .top__numbers h2 {
  font-size: min(4.324vw, 64px);
  text-align: center;
  margin-bottom: min(2.703vw, 40px);
}
@media only screen and (max-width: 767px) {
  .top__person h2, .top__event h2, .top__numbers h2 {
    font-size: 14.359vw;
    margin-bottom: 11.538vw;
  }
}
.top__person h2 span, .top__event h2 span, .top__numbers h2 span {
  display: block;
  padding-top: min(2.027vw, 30px);
}
@media only screen and (max-width: 767px) {
  .top__person h2 span, .top__event h2 span, .top__numbers h2 span {
    font-size: 4.103vw;
    padding-top: 6.667vw;
  }
}
.top__person {
  margin-bottom: min(8.784vw, 130px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top__person {
    margin-bottom: 25.641vw;
  }
}
.top__person .bgWrap {
  position: absolute;
  top: min(3.243vw, 48px);
  left: 0;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .top__person .bgWrap {
    top: 2.564vw;
  }
}
.top__person .bg {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.top__person .bg:before, .top__person .bg:after {
  content: "";
  display: block;
  height: min(13.514vw, 200px);
}
@media only screen and (max-width: 767px) {
  .top__person .bg:before, .top__person .bg:after {
    height: 30.769vw;
  }
}
.top__person .bg:before {
  background-color: #FAF7F4;
  left: 0;
  width: calc(100% - min(81.081vw, 1200px));
}
@media only screen and (max-width: 767px) {
  .top__person .bg:before {
    width: 7.692vw;
  }
}
.top__person .bg:after {
  background-color: #F47F2C;
  opacity: 0.85;
  right: 0;
  width: calc(100% - min(81.081vw, 1200px));
}
@media only screen and (max-width: 767px) {
  .top__person .bg:after {
    width: 7.692vw;
  }
}
.top__person .bg__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: min(81.081vw, 1200px);
  z-index: -1;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .top__person .bg__inner {
    max-width: none;
  }
}
.top__person .bg__inner div {
  height: min(13.514vw, 200px);
}
@media only screen and (max-width: 767px) {
  .top__person .bg__inner div {
    height: 30.769vw;
  }
}
.top__person .bg__inner div:first-of-type {
  background-color: #FAF7F4;
  width: calc(100% - min(21.622vw, 320px));
  border-radius: 0 min(6.757vw, 100px) min(6.757vw, 100px) 0;
}
@media only screen and (max-width: 767px) {
  .top__person .bg__inner div:first-of-type {
    width: 30.769vw;
    border-radius: 0 25.641vw 25.641vw 0;
  }
}
.top__person .bg__inner div:last-of-type {
  background-color: #F47F2C;
  width: min(6.757vw, 100px);
  border-radius: min(6.757vw, 100px) 0 0 min(6.757vw, 100px);
  opacity: 0.85;
}
@media only screen and (max-width: 767px) {
  .top__person .bg__inner div:last-of-type {
    width: 21.154vw;
    border-radius: 25.641vw 0 0 25.641vw;
  }
}
.top__person h2 {
  font-size: min(5.135vw, 76px);
  text-align: right;
  padding-right: min(8.581vw, 127px);
  margin-bottom: min(5.405vw, 80px);
}
@media only screen and (max-width: 767px) {
  .top__person h2 {
    font-size: 14.359vw;
    text-align: left;
    margin-bottom: 17.949vw;
  }
}
@media only screen and (max-width: 767px) {
  .top__person h2 span {
    font-size: 4.615vw;
    padding-left: 38.462vw;
  }
}
.top__person .btn a {
  display: grid;
  place-content: center;
  width: min(18.919vw, 280px);
  height: min(4.595vw, 68px);
  text-align: center;
  font-size: clamp(12px, 1.216vw, 18px);
  border: 1px solid #333;
  border-radius: 60px;
  color: #333;
  background: #fff url(/assets/img/top/arrow_orange.svg) no-repeat right 1.2em center/min(1.081vw, 16px);
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .top__person .btn a {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
  .top__person .btn a:hover {
    background: #F47F2C url(/assets/img/top/arrow_white.svg) no-repeat right 1.2em center/min(1.081vw, 16px);
    color: #fff;
    border: 1px solid #F47F2C;
  }
}
@media only screen and (max-width: 767px) {
  .top__person .btn a {
    width: 100%;
    font-size: 4.615vw;
    height: 17.436vw;
    border-radius: 10.256vw;
    background-size: 4.359vw;
  }
}
@media only screen and (max-width: 767px) {
  .top__person .person__contents__list > li:last-child {
    margin-bottom: 10.256vw;
  }
}
.top__event {
  margin-bottom: min(8.378vw, 124px);
}
@media only screen and (max-width: 767px) {
  .top__event {
    margin-bottom: 28.205vw;
  }
}
.top__event .inner .btn {
  text-align: center;
}
.top__event .inner .btn a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(21.622vw, 320px);
  height: min(4.595vw, 68px);
  border: 1px solid #6A7481;
  border-radius: 50px;
  color: #333;
  background: url(/assets/img/top/arrow_orange.svg) no-repeat center right 1.5em;
}
@media print, screen and (min-width: 768px) {
  .top__event .inner .btn a {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
  .top__event .inner .btn a:hover {
    background: #F47F2C url(/assets/img/top/arrow_white.svg) no-repeat center right 1.5em;
    color: #fff;
    border: 1px solid #F47F2C;
  }
}
@media only screen and (max-width: 767px) {
  .top__event .inner .btn a {
    width: 100%;
    height: 17.436vw;
    border-radius: 8.974vw;
  }
}
.top__event .inner .btn__aco a {
  background: #fff url(/assets/img/top/arrow_down_orange.svg) no-repeat center right 1.2em;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  .top__event .inner .btn__aco a {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
  .top__event .inner .btn__aco a:hover {
    background: #F47F2C url(/assets/img/top/arrow_down_white.svg) no-repeat center right 1.2em;
  }
}
.top__event .inner .btn__aco.open a {
  background: #fff url(/assets/img/top/arrow_up_orange.svg) no-repeat center right 1.2em;
}
@media print, screen and (min-width: 768px) {
  .top__event .inner .btn__aco.open a {
    -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;
  }
  .top__event .inner .btn__aco.open a:hover {
    background: #F47F2C url(/assets/img/top/arrow_up_white.svg) no-repeat center right 1.2em;
  }
}
.top__numbers .beige {
  background-color: #FAF7F4;
  padding-top: min(4.054vw, 60px);
  padding-bottom: min(6.757vw, 100px);
}
@media only screen and (max-width: 767px) {
  .top__numbers .beige {
    padding-bottom: 20.513vw;
    padding-top: 12.821vw;
  }
}
@media print, screen and (min-width: 768px) {
  .top__numbers .beige a:hover figure span img {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transform-origin: center center;
            transform-origin: center center;
  }
}
.top__numbers .flex {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: min(2.703vw, 40px);
}
@media only screen and (max-width: 767px) {
  .top__numbers .flex {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.top__numbers .flex li {
  width: min(17.568vw, 260px);
}
@media only screen and (max-width: 767px) {
  .top__numbers .flex li {
    width: 50%;
    max-width: 40.513vw;
    margin-bottom: 5.128vw;
  }
}
.top__numbers .flex li figure span {
  border-radius: 12px;
  overflow: hidden;
  display: block;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .top__numbers .flex li figure span {
    border-radius: 3.077vw;
  }
}
.top__numbers .flex li figure span img {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.top__numbers .flex li figure figcaption {
  text-align: center;
  padding-top: 1em;
  color: #333;
}
.top__numbers .btn {
  text-align: right;
}
.top__numbers .btn > span {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}