@charset "UTF-8";
*, *::before, *::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  border: none;
  position: relative;
}

a, a:link, a:visited, a:hover, a:active {
  -webkit-text-decoration-skip: objects;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

:focus {
  outline: 0;
}

ol, ul, li {
  list-style: none;
  list-style-type: none;
}

table, tr, th, td {
  border-collapse: separate;
  border-spacing: 0;
}

header, footer, main, section, nav, menu, article, aside, details, figcaption, figure {
  display: block;
}

h1, h2, h3, h4, h5, h6, h7 {
  font-size: inherit;
  font-weight: inherit;
}

strong, em {
  font-weight: inherit;
  font-style: normal;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=password],
input[type=file],
input[type=submit],
input[type=image],
input[type=reset],
input[type=button],
button,
textarea,
select {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  border-radius: 0;
  overflow: visible;
  text-transform: none;
}

button {
  color: inherit;
  text-align: left;
}

html {
  width: 100%;
  height: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 62.5%;
  position: relative;
  background: #fff;
}

body {
  padding: 0;
  position: relative;
  height: 100%;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #333;
  font-style: normal;
  letter-spacing: 0.04em;
  word-break: normal;
}
@media screen and (max-width: 1366px) {
  body {
    font-size: 1.1713030747vw;
  }
}
@media screen and (max-width: 828px) {
  body {
    font-size: 3.8647342995vw;
    letter-spacing: 0.04em;
  }
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
  -webkit-user-select: none; /* Chrome, Safari, Opera */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* 標準の方法 */
}

a {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 829px) {
  a {
    transition: 0.8s;
  }
}

@media screen and (min-width: 829px) {
  .marginTop-8 {
    margin-top: 8px !important;
  }
  .marginTop-16 {
    margin-top: 16px !important;
  }
  .marginTop-24 {
    margin-top: 24px !important;
  }
  .marginTop-32 {
    margin-top: 32px !important;
  }
  .marginTop-40 {
    margin-top: 40px !important;
  }
  .marginTop-48 {
    margin-top: 48px !important;
  }
  .marginTop-56 {
    margin-top: 56px !important;
  }
  .marginTop-64 {
    margin-top: 64px !important;
  }
  .marginTop-72 {
    margin-top: 72px !important;
  }
  .marginTop-80 {
    margin-top: 80px !important;
  }
  .marginTop-88 {
    margin-top: 88px !important;
  }
  .marginTop-96 {
    margin-top: 96px !important;
  }
  .marginTop-104 {
    margin-top: 104px !important;
  }
  .marginTop-112 {
    margin-top: 112px !important;
  }
  .marginTop-120 {
    margin-top: 120px !important;
  }
}
@media screen and (min-width: 829px) and (max-width: 1366px) {
  .marginTop-8 {
    margin-top: 0.5856515373vw !important;
  }
  .marginTop-16 {
    margin-top: 1.1713030747vw !important;
  }
  .marginTop-24 {
    margin-top: 1.756954612vw !important;
  }
  .marginTop-32 {
    margin-top: 2.3426061493vw !important;
  }
  .marginTop-40 {
    margin-top: 2.9282576867vw !important;
  }
  .marginTop-48 {
    margin-top: 3.513909224vw !important;
  }
  .marginTop-56 {
    margin-top: 4.0995607613vw !important;
  }
  .marginTop-64 {
    margin-top: 4.6852122987vw !important;
  }
  .marginTop-72 {
    margin-top: 5.270863836vw !important;
  }
  .marginTop-80 {
    margin-top: 5.8565153734vw !important;
  }
  .marginTop-88 {
    margin-top: 6.4421669107vw !important;
  }
  .marginTop-96 {
    margin-top: 7.027818448vw !important;
  }
  .marginTop-104 {
    margin-top: 7.6134699854vw !important;
  }
  .marginTop-112 {
    margin-top: 8.1991215227vw !important;
  }
  .marginTop-120 {
    margin-top: 8.78477306vw !important;
  }
}
@media screen and (max-width: 828px) {
  .marginTop-8 {
    margin-top: 1.9323671498vw !important;
  }
  .marginTop-16 {
    margin-top: 3.8647342995vw !important;
  }
  .marginTop-24 {
    margin-top: 5.7971014493vw !important;
  }
  .marginTop-32 {
    margin-top: 7.729468599vw !important;
  }
  .marginTop-40 {
    margin-top: 9.6618357488vw !important;
  }
  .marginTop-48 {
    margin-top: 11.5942028986vw !important;
  }
  .marginTop-56 {
    margin-top: 13.5265700483vw !important;
  }
  .marginTop-64 {
    margin-top: 15.4589371981vw !important;
  }
  .marginTop-72 {
    margin-top: 17.3913043478vw !important;
  }
  .marginTop-80 {
    margin-top: 19.3236714976vw !important;
  }
  .marginTop-88 {
    margin-top: 21.2560386473vw !important;
  }
  .marginTop-96 {
    margin-top: 23.1884057971vw !important;
  }
  .marginTop-104 {
    margin-top: 25.1207729469vw !important;
  }
  .marginTop-112 {
    margin-top: 27.0531400966vw !important;
  }
  .marginTop-120 {
    margin-top: 28.9855072464vw !important;
  }
}
@media screen and (min-width: 829px) {
  .marginTopPC-8 {
    margin-top: 8px !important;
  }
  .marginTopPC-16 {
    margin-top: 16px !important;
  }
  .marginTopPC-24 {
    margin-top: 24px !important;
  }
  .marginTopPC-32 {
    margin-top: 32px !important;
  }
  .marginTopPC-40 {
    margin-top: 40px !important;
  }
  .marginTopPC-48 {
    margin-top: 48px !important;
  }
  .marginTopPC-56 {
    margin-top: 56px !important;
  }
  .marginTopPC-64 {
    margin-top: 64px !important;
  }
  .marginTopPC-72 {
    margin-top: 72px !important;
  }
  .marginTopPC-80 {
    margin-top: 80px !important;
  }
  .marginTopPC-88 {
    margin-top: 88px !important;
  }
  .marginTopPC-96 {
    margin-top: 96px !important;
  }
  .marginTopPC-104 {
    margin-top: 104px !important;
  }
  .marginTopPC-112 {
    margin-top: 112px !important;
  }
  .marginTopPC-120 {
    margin-top: 120px !important;
  }
}
@media screen and (min-width: 829px) and (max-width: 1366px) {
  .marginTopPC-8 {
    margin-top: 0.5856515373vw !important;
  }
  .marginTopPC-16 {
    margin-top: 1.1713030747vw !important;
  }
  .marginTopPC-24 {
    margin-top: 1.756954612vw !important;
  }
  .marginTopPC-32 {
    margin-top: 2.3426061493vw !important;
  }
  .marginTopPC-40 {
    margin-top: 2.9282576867vw !important;
  }
  .marginTopPC-48 {
    margin-top: 3.513909224vw !important;
  }
  .marginTopPC-56 {
    margin-top: 4.0995607613vw !important;
  }
  .marginTopPC-64 {
    margin-top: 4.6852122987vw !important;
  }
  .marginTopPC-72 {
    margin-top: 5.270863836vw !important;
  }
  .marginTopPC-80 {
    margin-top: 5.8565153734vw !important;
  }
  .marginTopPC-88 {
    margin-top: 6.4421669107vw !important;
  }
  .marginTopPC-96 {
    margin-top: 7.027818448vw !important;
  }
  .marginTopPC-104 {
    margin-top: 7.6134699854vw !important;
  }
  .marginTopPC-112 {
    margin-top: 8.1991215227vw !important;
  }
  .marginTopPC-120 {
    margin-top: 8.78477306vw !important;
  }
}
@media screen and (max-width: 828px) {
  .marginTopSP-8 {
    margin-top: 1.9323671498vw !important;
  }
  .marginTopSP-16 {
    margin-top: 3.8647342995vw !important;
  }
  .marginTopSP-24 {
    margin-top: 5.7971014493vw !important;
  }
  .marginTopSP-32 {
    margin-top: 7.729468599vw !important;
  }
  .marginTopSP-40 {
    margin-top: 9.6618357488vw !important;
  }
  .marginTopSP-48 {
    margin-top: 11.5942028986vw !important;
  }
  .marginTopSP-56 {
    margin-top: 13.5265700483vw !important;
  }
  .marginTopSP-64 {
    margin-top: 15.4589371981vw !important;
  }
  .marginTopSP-72 {
    margin-top: 17.3913043478vw !important;
  }
  .marginTopSP-80 {
    margin-top: 19.3236714976vw !important;
  }
  .marginTopSP-88 {
    margin-top: 21.2560386473vw !important;
  }
  .marginTopSP-96 {
    margin-top: 23.1884057971vw !important;
  }
  .marginTopSP-104 {
    margin-top: 25.1207729469vw !important;
  }
  .marginTopSP-112 {
    margin-top: 27.0531400966vw !important;
  }
  .marginTopSP-120 {
    margin-top: 28.9855072464vw !important;
  }
}
.bold {
  font-weight: 700;
}

.underline {
  text-decoration: underline;
}

.show {
  display: block;
}
@media screen and (max-width: 828px) {
  .show-pc {
    display: none !important;
  }
}
.show-sp {
  display: none !important;
}
@media screen and (max-width: 828px) {
  .show-sp {
    display: block !important;
  }
}

.header {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: 0.3s;
  z-index: 100;
}
.header_wrapper {
  display: flex;
  align-items: center;
  width: 100%;
  height: 80px;
  padding: 0 32px;
}
@media screen and (max-width: 1366px) {
  .header_wrapper {
    height: 5.8565153734vw;
    padding: 0 2.3426061493vw;
  }
}
@media screen and (max-width: 828px) {
  .header_wrapper {
    width: 100%;
    height: 15.9420289855vw;
    padding: 0 0 0 3.8647342995vw;
  }
}
.header.is-scroll {
  transform: translate(0, -100%) !important;
}
.header_logo {
  z-index: 103;
  margin-right: auto;
  width: 213px;
  min-width: 213px;
}
@media screen and (max-width: 1366px) {
  .header_logo {
    width: 15.5929721816vw;
  }
}
@media screen and (max-width: 828px) {
  .header_logo {
    width: 51.4492753623vw;
  }
}
.header_globalNavi {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  z-index: 103;
}
@media screen and (max-width: 828px) {
  .header_globalNavi {
    display: none;
    width: 84.5410628019%;
    margin: 0vw auto 0;
  }
}
.header_globalNavi.is-active {
  display: block;
}
.header_globalNavi_block {
  width: 100%;
  order: 1;
}
@media screen and (min-width: 829px) {
  .header_globalNavi_block {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}
.header_globalNavi_list {
  margin-top: 8px;
  order: 2;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 1366px) {
  .header_globalNavi_list {
    margin-top: 0.5856515373vw;
  }
}
@media screen and (max-width: 828px) {
  .header_globalNavi_list {
    margin-top: 0vw;
  }
}
@media screen and (max-width: 828px) {
  .header_globalNavi_list {
    display: block;
  }
}
.header_globalNavi_list_item:not(:first-child) {
  margin-left: 24px;
}
@media screen and (max-width: 1366px) {
  .header_globalNavi_list_item:not(:first-child) {
    margin-left: 1.756954612vw;
  }
}
@media screen and (max-width: 828px) {
  .header_globalNavi_list_item:not(:first-child) {
    margin: 3.8647342995vw 0 0 0;
  }
}
@media screen and (max-width: 828px) {
  .header_globalNavi_list_item:not(:last-child) {
    /*
    &:before {
      content: "";
        width: vw_sp( 30 );
        height: vw_sp( 20 );
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        // left: 0;
        margin: auto;
        transition: .3s;
        background: url(../img/common/icon_arrow.svg) no-repeat center center / contain;
    }
    */
  }
}
.header_globalNavi_list_item > a,
.header_globalNavi_list_item > button {
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
}
@media screen and (max-width: 1366px) {
  .header_globalNavi_list_item > a,
  .header_globalNavi_list_item > button {
    line-height: 1.3;
    height: 2.3426061493vw;
  }
}
@media screen and (max-width: 828px) {
  .header_globalNavi_list_item > a,
  .header_globalNavi_list_item > button {
    width: 100%;
    height: 13.5265700483vw;
    justify-content: flex-start;
    align-items: center;
  }
}
@media screen and (min-width: 829px) {
  .header_globalNavi_list_item > a:hover .header_globalNavi_text,
  .header_globalNavi_list_item > button:hover .header_globalNavi_text {
    color: #1E51A2;
  }
}
@media screen and (min-width: 829px) {
  .header_globalNavi_list_item.megaMenu > a:hover::before,
  .header_globalNavi_list_item.megaMenu > button:hover::before {
    opacity: 1;
  }
  .header_globalNavi_list_item.megaMenu > a::before,
  .header_globalNavi_list_item.megaMenu > button::before {
    transition: 0.8s;
    opacity: 0;
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    margin: auto;
    z-index: 1;
    border-right: 8px solid transparent;
    border-bottom: 10px solid #1E51A2;
    border-left: 8px solid transparent;
    top: auto;
    left: 0;
    right: 0;
    margin: auto;
  }
}
@media screen and (min-width: 829px) and (max-width: 1366px) {
  .header_globalNavi_list_item.megaMenu > a::before,
  .header_globalNavi_list_item.megaMenu > button::before {
    border-right-width: 0.5856515373vw;
    border-bottom-width: 0.7320644217vw;
    border-left-width: 0.5856515373vw;
  }
}
@media screen and (min-width: 829px) and (max-width: 828px) {
  .header_globalNavi_list_item.megaMenu > a::before,
  .header_globalNavi_list_item.megaMenu > button::before {
    border-right-width: 1.9323671498vw;
    border-bottom-width: 2.4154589372vw;
    border-left-width: 1.9323671498vw;
  }
}
@media screen and (min-width: 829px) and (min-width: 829px) {
  .header_globalNavi_list_item.megaMenu > a::before,
  .header_globalNavi_list_item.megaMenu > button::before {
    bottom: 0;
  }
}
@media screen and (min-width: 829px) and (max-width: 828px) {
  .header_globalNavi_list_item.megaMenu > a::before,
  .header_globalNavi_list_item.megaMenu > button::before {
    content: none;
  }
}
.header_globalNavi_text {
  font-size: 1.4rem;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  white-space: nowrap;
  transition: 0.8s;
}
@media screen and (max-width: 1366px) {
  .header_globalNavi_text {
    font-size: 1.0248901903vw;
  }
}
@media screen and (max-width: 828px) {
  .header_globalNavi_text {
    font-size: 5.7971014493vw;
    font-weight: 700;
  }
}
.header_globalNavi_text-button {
  border: 1px #333 solid;
  padding: 8px 10px;
  text-align: center;
}
@media screen and (max-width: 828px) {
  .header_globalNavi_text-button {
    margin: 0 auto;
    width: 100%;
    padding: 4.8309178744vw 0;
    margin-top: 9.6618357488vw;
  }
}
@media screen and (min-width: 829px) {
  .header_globalNavi_text-button:hover {
    background-color: #75daff;
    color: #fff !important;
  }
}
.header_toggleButton {
  display: none;
  z-index: 103;
}
@media screen and (max-width: 828px) {
  .header_toggleButton {
    display: block;
    cursor: pointer;
    position: fixed;
    top: 0vw;
    right: 0vw;
    width: 15.9420289855vw;
    height: 15.9420289855vw;
    /*
    &:before {
      content: 'MENU';
      width: 100%;
      position: absolute;
      right: 0;
      bottom: vw_sp( 10 );
      left: 0;
      display: block;
      margin: auto;
      font-size: vw_sp( 10 );
      line-height: 1;
      text-align: center;
      white-space: nowrap;
      letter-spacing: ls( 0 );
      color: #FFF;
      font-weight: 700;
    }
    */
  }
  .header_toggleButton.typeBgImage::before, .header_toggleButton.typeBgImage::after {
    content: "";
    width: 7.2463768116vw;
    height: 4.8309178744vw;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    transition: 0.3s;
  }
  .header_toggleButton.typeBgImage::before {
    background: url(../img/common/globalnavi_icon_default.svg) no-repeat center center/contain;
  }
  .header_toggleButton.typeBgImage::after {
    background: url(../img/common/globalnavi_icon_active.svg) no-repeat center center/contain;
    opacity: 0;
  }
  .header_toggleButton-icon .toggleButtonIcon {
    width: 40%;
    margin: 0;
    transition: margin 0.3s;
    position: absolute;
    bottom: 50%;
    right: 50%;
    transform: translate(50%, 50%);
  }
  .header_toggleButton-icon .toggleButtonIcon_item {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 100%;
    height: 0.4830917874vw;
    background: #1D1D1F;
  }
  .header_toggleButton-icon .toggleButtonIcon_item-middle {
    width: 100%;
    margin: 1.4492753623vw 0;
    transition: transform 0.3s 0.1s, margin 0.3s;
  }
  .header_toggleButton-icon .toggleButtonIcon_item-bottom {
    width: 100%;
  }
}
@media screen and (max-width: 828px) {
  .header_toggleButton.is-active {
    /*
    &:before {
      content: 'CLOSE';
    }
    */
  }
  .header_toggleButton.is-active.typeBgImage::before {
    opacity: 0;
  }
  .header_toggleButton.is-active.typeBgImage::after {
    opacity: 1;
  }
  .header_toggleButton.is-active.header_toggleButton-icon .toggleButtonIcon_item-top {
    transition: transform 0.3s 0s, margin-bottom 0.3s;
    transform: rotate(-45deg);
  }
  .header_toggleButton.is-active.header_toggleButton-icon .toggleButtonIcon_item-middle {
    margin: -0.4830917874vw auto;
    transform: scaleX(0);
  }
  .header_toggleButton.is-active.header_toggleButton-icon .toggleButtonIcon_item-bottom {
    width: 100%;
    transition: transform 0.3s 0s, margin-top 0.3s;
    transform: rotate(45deg);
  }
}
.header_toggleBg {
  display: none;
  background: #fff;
  z-index: 101;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transform: translate(0, -100%);
  transition: 0.5s;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.header_toggleBg::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none;
}
@media screen and (max-width: 828px) {
  .header_toggleBg {
    padding: 19.3236714976vw 0 9.6618357488vw;
    display: block;
  }
  @-moz-document url-prefix() {
    .header_toggleBg::after {
      content: "";
      display: block;
      width: 1px;
      height: 9.6618357488vw;
    }
  }
}
@media screen and (max-width: 828px) and (-ms-high-contrast: none) {
  .header_toggleBg::after {
    content: "";
    display: block;
    width: 1px;
    height: 9.6618357488vw;
  }
}
@media screen and (max-width: 828px) {
  .header_toggleBg.is-active {
    display: block;
    transform: translate(0);
  }
}
.header_mask {
  display: none;
  z-index: 102;
}
@media screen and (max-width: 828px) {
  .header_mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 15.9420289855vw;
  }
}
@media screen and (min-width: 829px) {
  .header .megaMenu.is-active > a {
    background: #fff;
  }
}
@media screen and (min-width: 829px) {
  .header .megaMenu.--modelCource .megaMenuContainer {
    border-radius: 16px;
  }
}
@media screen and (min-width: 829px) and (max-width: 1366px) {
  .header .megaMenu.--modelCource .megaMenuContainer {
    border-radius: 1.1713030747vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenu.--modelCource .megaMenuContainer {
    margin-top: 3.8647342995vw;
  }
}
.header .megaMenuContainer {
  display: none;
  position: fixed;
  top: 88px;
  right: 0;
  left: 0;
}
@media screen and (min-width: 829px) {
  .header .megaMenuContainer {
    background: #1E51A2;
    padding: 24px 32px;
  }
}
@media screen and (min-width: 829px) and (max-width: 1366px) {
  .header .megaMenuContainer {
    top: 6.4421669107vw;
    padding: 1.756954612vw 2.3426061493vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuContainer {
    position: relative;
    top: 0;
    padding: 0;
  }
}
.header .megaMenuList.--text {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 829px) {
  .header .megaMenuList.--text {
    margin: -32px 0 0 -32px;
  }
}
@media screen and (min-width: 829px) and (max-width: 1366px) {
  .header .megaMenuList.--text {
    margin: -2.3426061493vw 0 0 -2.3426061493vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--text {
    width: 100%;
    display: block;
    margin-bottom: 3.8647342995vw;
  }
}
@media screen and (min-width: 829px) {
  .header .megaMenuList.--text .megaMenuList_item {
    width: 200px;
    margin: 32px 0 0 32px;
  }
}
@media screen and (min-width: 829px) and (max-width: 1366px) {
  .header .megaMenuList.--text .megaMenuList_item {
    width: 14.6412884334vw;
    margin: 2.3426061493vw 0 0 2.3426061493vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--text .megaMenuList_item {
    width: 100%;
  }
}
.header .megaMenuList.--text .megaMenuList_item a {
  display: flex;
  align-items: center;
  padding: 0 32px 8px 0;
  color: #fff;
  border-bottom: 1px solid #fff;
  font-size: 1.4rem;
}
@media screen and (min-width: 829px) {
  .header .megaMenuList.--text .megaMenuList_item a:hover::before {
    opacity: 0;
  }
  .header .megaMenuList.--text .megaMenuList_item a:hover::after {
    opacity: 1;
  }
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--text .megaMenuList_item a {
    height: 2.3426061493vw;
    padding: 0 2.3426061493vw 0.5856515373vw 0;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--text .megaMenuList_item a {
    height: 15.4589371981vw;
    font-size: 3.3816425121vw;
    color: #333;
    border-bottom-color: #333;
    padding: 0 7.729468599vw 1.9323671498vw 0;
  }
}
.header .megaMenuList.--text .megaMenuList_item a::before, .header .megaMenuList.--text .megaMenuList_item a::after {
  transition: 0.8s;
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--text .megaMenuList_item a::before, .header .megaMenuList.--text .megaMenuList_item a::after {
    width: 1.4641288433vw;
    height: 1.4641288433vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--text .megaMenuList_item a::before, .header .megaMenuList.--text .megaMenuList_item a::after {
    width: 4.347826087vw;
    height: 4.347826087vw;
    right: 1.4492753623vw;
  }
}
.header .megaMenuList.--text .megaMenuList_item a::before {
  background: url(../img/common/arrow_border_white.svg) no-repeat center center/contain;
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--text .megaMenuList_item a::before {
    background: url(../img/common/arrow_border_black.svg) no-repeat center center/contain;
  }
}
.header .megaMenuList.--text .megaMenuList_item a::after {
  opacity: 0;
  background: url(../img/common/arrow_circle_white.svg) no-repeat center center/contain;
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--text .megaMenuList_item a::after {
    background: url(../img/common/arrow_circle_black.svg) no-repeat center center/contain;
  }
}
.header .megaMenuList.--thumb {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb {
    gap: 1.4641288433vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.8647342995vw;
  }
}
.header .megaMenuList.--thumb .megaMenuList_item a .hoverImage {
  overflow: hidden;
}
.header .megaMenuList.--thumb .megaMenuList_item a .hoverImage img {
  transition: 0.8s;
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-height: 100%;
  min-width: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center;
}
@media screen and (min-width: 829px) {
  .header .megaMenuList.--thumb .megaMenuList_item a:hover .hoverImage img {
    transform: translate(-50%, -50%) scale(1.07, 1.07);
  }
}
.header .megaMenuList.--thumb .megaMenuList_item a > .image {
  width: 211px;
  height: 141px;
  overflow: hidden;
  border-radius: 4px;
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a > .image {
    width: 15.4465592972vw;
    height: 10.3221083455vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a > .image {
    width: 100%;
    height: 28.7439613527vw;
  }
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a > .image {
    border-radius: 0.2928257687vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a > .image {
    border-radius: 0.9661835749vw;
  }
}
.header .megaMenuList.--thumb .megaMenuList_item a .subTitle {
  font-family: "futura-pt-bold", sans-serif;
  font-size: 1.2rem;
  margin-top: 8px;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .subTitle {
    font-size: 0.878477306vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .subTitle {
    font-size: 2.8985507246vw;
  }
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .subTitle {
    margin-top: 0.5856515373vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .subTitle {
    margin-top: 0.9661835749vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .subTitle {
    color: #333;
  }
}
.header .megaMenuList.--thumb .megaMenuList_item a .mainTitle {
  display: flex;
  color: #fff;
  margin-top: 4px;
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle {
    margin-top: 0.2928257687vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle {
    margin-top: 0.9661835749vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle {
    color: #333;
  }
}
.header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_num, .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_text {
  display: block;
}
.header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_num {
  width: 23px;
  height: 25px;
  margin-right: 8px;
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_num {
    width: 1.6837481698vw;
    height: 1.8301610542vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_num {
    width: 4.5893719807vw;
    height: 4.8309178744vw;
  }
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_num {
    margin-right: 0.5856515373vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_num {
    margin-right: 1.9323671498vw;
  }
}
.header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_text {
  font-size: 1.2rem;
  font-weight: 700;
}
@media screen and (max-width: 1366px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_text {
    font-size: 0.878477306vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenuList.--thumb .megaMenuList_item a .mainTitle_text {
    font-size: 2.8985507246vw;
  }
}
@media screen and (max-width: 828px) {
  .header .megaMenu_button {
    border-bottom: 1px solid #333;
  }
  .header .megaMenu_button span {
    cursor: pointer;
    width: 100%;
    height: 13.0434782609vw;
    display: flex;
    align-items: center;
    font-weight: 700;
    padding-left: 7.729468599vw;
    /*
    &::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      margin: auto;
      border-top: solid vw_sp( 2 ) $black;
      border-right: solid vw_sp( 2 ) $black;
      transform: rotate(135deg);
      transition: 0.3s;
      width: vw_sp( 8 );
      height: vw_sp( 8 );
      top: 0;
      bottom: vw_sp( 0 );
      right: vw_sp( 10 );
      border-top-width: vw_sp( 2 );
      border-right-width: vw_sp( 2 );
    }
    */
  }
  .header .megaMenu_button span::before {
    content: "";
    background: url(../img/common/icon_plus.svg) no-repeat center center/contain;
    width: 4.8309178744vw;
    height: 4.8309178744vw;
    position: absolute;
    top: 0;
    right: 0.9661835749vw;
    bottom: 0;
    margin: auto;
  }
  .header .megaMenu_button span::after {
    content: "";
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    width: 5.7971014493vw;
    height: 5.7971014493vw;
    z-index: 100;
  }
  .header .megaMenu.is-active .megaMenu_button span::before {
    background-image: url(../img/common/icon_minus.svg);
  }
}

body {
  padding-top: 80px;
}
@media screen and (max-width: 1366px) {
  body {
    padding-top: 5.8565153734vw;
  }
}
@media screen and (max-width: 828px) {
  body {
    padding-top: 15.9420289855vw;
  }
}
body.nonHeader {
  padding-top: 0;
}
body.nonHeader .header {
  background: rgba(255, 255, 255, 0.8);
}

.banner {
  margin-top: 80px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
@media screen and (max-width: 1366px) {
  .banner {
    margin-top: 5.8565153734vw;
  }
}
@media screen and (max-width: 828px) {
  .banner {
    margin-top: 15.4589371981vw;
  }
}
.banner_item {
  width: 300px;
}
@media screen and (max-width: 1366px) {
  .banner_item {
    width: 21.9619326501vw;
  }
}
@media screen and (max-width: 828px) {
  .banner_item {
    width: 100%;
    margin-bottom: 5.7971014493vw;
  }
}
@media screen and (min-width: 829px) {
  .banner_item a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 828px) {
  .banner_item:last-child {
    margin-bottom: 0;
  }
}

.footer {
  padding: 80px 0 80px;
}
@media screen and (max-width: 1366px) {
  .footer {
    padding: 5.8565153734vw 0 5.8565153734vw;
  }
}
@media screen and (max-width: 828px) {
  .footer {
    padding: 0vw 0 11.5942028986vw;
  }
}
.footer_main .text {
  font-size: 1rem;
  letter-spacing: 0;
  text-indent: -6px;
}
@media screen and (max-width: 1366px) {
  .footer_main .text {
    font-size: 0.7320644217vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_main .text {
    font-size: 2.4154589372vw;
  }
}
@media screen and (max-width: 1366px) {
  .footer_main .text {
    text-indent: -0.439238653vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_main .text {
    text-indent: -0.9661835749vw;
  }
}
.footer_main .logo {
  width: 256px;
  margin-top: 16px;
}
@media screen and (max-width: 1366px) {
  .footer_main .logo {
    width: 18.7408491947vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_main .logo {
    width: 61.8357487923vw;
  }
}
@media screen and (max-width: 1366px) {
  .footer_main .logo {
    margin-top: 1.1713030747vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_main .logo {
    margin-top: 3.8647342995vw;
  }
}
.footer_main .japhic {
  width: 64px;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 1366px) {
  .footer_main .japhic {
    width: 4.6852122987vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_main .japhic {
    width: 15.4589371981vw;
  }
}
.footer_bottom {
  margin-top: 48px;
}
@media screen and (max-width: 1366px) {
  .footer_bottom {
    margin-top: 3.513909224vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_bottom {
    margin-top: 11.5942028986vw;
  }
}
@media screen and (min-width: 829px) {
  .footer_bottom {
    display: flex;
    justify-content: space-between;
  }
}
.footer_bottom .footerNavi {
  order: 2;
  display: flex;
  align-items: center;
  margin-left: auto;
}
@media screen and (max-width: 828px) {
  .footer_bottom .footerNavi {
    justify-content: center;
  }
}
.footer_bottom .footerNavi_item:not(:first-child) {
  margin-left: 24px;
}
.footer_bottom .footerNavi_item a {
  font-size: 1.4rem;
  white-space: nowrap;
}
@media screen and (max-width: 1366px) {
  .footer_bottom .footerNavi_item a {
    font-size: 1.0248901903vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_bottom .footerNavi_item a {
    font-size: 3.3816425121vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_bottom .footerNavi_item a {
    text-decoration: underline;
  }
}
.footer_bottom .copyright {
  order: 1;
  font-size: 1.4rem;
}
@media screen and (max-width: 1366px) {
  .footer_bottom .copyright {
    font-size: 1.0248901903vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_bottom .copyright {
    font-size: 3.3816425121vw;
  }
}
@media screen and (max-width: 828px) {
  .footer_bottom .copyright {
    margin-top: 11.5942028986vw;
    text-align: center;
  }
}

.pagetop {
  position: fixed;
  bottom: 100px;
  right: 48px;
  opacity: 0;
  width: 50px;
  z-index: 20;
  transition: 0.3s;
  /*
  &.is-bottom {
    position: absolute;
    top: calc( -127px - 56px ); // ボタン高さ86px + 画面下部からの位置30px
    right: 48px;
    @include bp( max, 1366px ) {
      top: vw_pc( -183 );
      right: vw_pc( 48 );
    }
    @include bp( max, 828px ) {
      top: vw_sp( -116 );
      right: vw_sp( 16 );
    }
  }
  */
}
@media screen and (max-width: 1366px) {
  .pagetop {
    width: 3.6603221083vw;
    bottom: 7.3206442167vw;
    right: 3.513909224vw;
  }
}
@media screen and (max-width: 828px) {
  .pagetop {
    width: 12.077294686vw;
    bottom: 11.5942028986vw;
    right: 2.4154589372vw;
  }
}
.pagetop.is-active {
  transition: 0.3s;
  opacity: 1;
}

.inner-wide {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 1366px;
}
@media screen and (max-width: 1366px) {
  .inner-wide {
    max-width: 329.9516908213vw;
  }
}
@media screen and (max-width: 828px) {
  .inner-wide {
    max-width: 100%;
  }
}
.inner-medium {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: 1160px;
}
@media screen and (max-width: 1366px) {
  .inner-medium {
    max-width: 84.9194729136vw;
  }
}
@media screen and (max-width: 828px) {
  .inner-medium {
    max-width: 92.270531401vw;
  }
}
.inner-regular {
  margin-right: auto;
  margin-left: auto;
  width: 960px;
}
@media screen and (max-width: 1366px) {
  .inner-regular {
    width: 70.2781844802vw;
  }
}
@media screen and (max-width: 828px) {
  .inner-regular {
    width: 92.270531401vw;
  }
}
.inner-narrow {
  margin-right: auto;
  margin-left: auto;
  max-width: 800px;
}
@media screen and (max-width: 1366px) {
  .inner-narrow {
    max-width: 58.5651537335vw;
  }
}
@media screen and (max-width: 828px) {
  .inner-narrow {
    max-width: 92.270531401vw;
  }
}
.inner-small {
  margin-right: auto;
  margin-left: auto;
  max-width: 600px;
}
@media screen and (max-width: 1366px) {
  .inner-small {
    max-width: 43.9238653001vw;
  }
}
@media screen and (max-width: 828px) {
  .inner-small {
    max-width: 92.270531401vw;
  }
}