@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@600;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&display=swap");
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var, optgroup {
  font-style: inherit;
  font-weight: inherit;
}

del, ins {
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 700;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: super;
}

sub {
  vertical-align: baseline;
}

a:focus {
  outline: none;
}

input, button, textarea, select, optgroup, option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  vertical-align: middle;
  outline: 0;
}

input, button, textarea, select {
  *font-size: 100%;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  border: 0;
}

/*----------------------------------------------------
common
--------------------------------------------------- */
:root {
  --vw: 1vw;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* wrap, block */
html {
  font-size: 62.5%; /* 10px / 16px */
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  height: -webkit-fill-available;
  overflow-y: scroll;
}

body {
  min-width: 1200px;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  font-size: 1.6em;
  line-height: 1.75;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  opacity: 0;
}
body.bg {
  background-color: #F5F5F5;
}
body.show {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  body {
    word-wrap: break-word;
    font-size: 4.2666666667vw;
    min-width: 320px;
  }
}

strong, .bold {
  font-weight: 700;
}

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

main {
  min-width: 1200px;
}
@media screen and (max-width: 767px) {
  main {
    min-width: 320px;
  }
}

.active-pc {
  display: initial;
}
@media screen and (max-width: 767px) {
  .active-pc {
    display: none;
  }
}
.active-pc--block {
  display: block;
}
@media screen and (max-width: 767px) {
  .active-pc--block {
    display: none;
  }
}

.active-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .active-sp {
    display: inline;
  }
}
.active-sp--block {
  display: none;
}
@media screen and (max-width: 767px) {
  .active-sp--block {
    display: block;
  }
}

/* --------------------
keyframe
-------------------- */
@-webkit-keyframes scroll {
  0% {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
  15% {
    clip-path: inset(100% 0 0 0);
    -webkit-clip-path: inset(100% 0 0 0);
  }
  20% {
    clip-path: inset(0 0 100% 0);
    -webkit-clip-path: inset(0 0 100% 0);
  }
  35% {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
@keyframes scroll {
  0% {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
  15% {
    clip-path: inset(100% 0 0 0);
    -webkit-clip-path: inset(100% 0 0 0);
  }
  20% {
    clip-path: inset(0 0 100% 0);
    -webkit-clip-path: inset(0 0 100% 0);
  }
  35% {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
    -webkit-clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes arrow {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(-45deg);
            transform: translateX(0) rotate(-45deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translateX(1rem) rotate(-45deg);
            transform: translateX(1rem) rotate(-45deg);
  }
  50.1% {
    opacity: 0;
    -webkit-transform: translateX(-1rem) rotate(-45deg);
            transform: translateX(-1rem) rotate(-45deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(-45deg);
            transform: translateX(0) rotate(-45deg);
  }
}
@keyframes arrow {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(-45deg);
            transform: translateX(0) rotate(-45deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translateX(1rem) rotate(-45deg);
            transform: translateX(1rem) rotate(-45deg);
  }
  50.1% {
    opacity: 0;
    -webkit-transform: translateX(-1rem) rotate(-45deg);
            transform: translateX(-1rem) rotate(-45deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(-45deg);
            transform: translateX(0) rotate(-45deg);
  }
}
@-webkit-keyframes wave {
  0% {
    -webkit-transform: translate3d(-1260px, 0, 0);
            transform: translate3d(-1260px, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes wave {
  0% {
    -webkit-transform: translate3d(-1260px, 0, 0);
            transform: translate3d(-1260px, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
/*----------------------------------------------------
 link
--------------------------------------------------- */
a {
  color: #333;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
a.fade {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  a.fade:hover {
    opacity: 0.4;
  }
}
a.color-link {
  color: #325F96;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  a.color-link:hover {
    text-decoration: none;
  }
}

/*----------------------------------------------------
 btn
--------------------------------------------------- */
.btn-text {
  color: #325F96;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  display: inline-block;
  position: relative;
  padding-right: 44px;
}
.btn-text--ja {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
@media screen and (max-width: 767px) {
  .btn-text {
    font-size: 4.2666666667vw;
    padding-right: 9.6vw;
  }
}
.btn-text::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid #325F96;
  overflow: hidden;
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
@media screen and (max-width: 767px) {
  .btn-text::before {
    width: 6.9333333333vw;
    height: 6.9333333333vw;
    border: 0.5333333333vw solid #325F96;
  }
}
.btn-text::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 11px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #325F96;
  border-bottom: 2px solid #325F96;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: border-color 0.4s;
  transition: border-color 0.4s;
}
@media screen and (max-width: 767px) {
  .btn-text::after {
    right: 3.2vw;
    top: 2.6666666667vw;
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    border-right: 0.5333333333vw solid #325F96;
    border-bottom: 0.5333333333vw solid #325F96;
  }
}
.btn-text__line {
  display: inline-block;
  line-height: 30px;
  position: relative;
}
.btn-text__line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: #325F96;
  -webkit-transition: width 0.4s;
  transition: width 0.4s;
}
@media screen and (min-width: 768px) {
  .btn-text:hover::before {
    background-color: #325F96;
  }
  .btn-text:hover::after {
    border-color: #fff;
    -webkit-animation: arrow 0.8s ease-in-out 0s;
            animation: arrow 0.8s ease-in-out 0s;
  }
  .btn-text:hover .btn-text__line::after {
    width: 100%;
  }
}
.btn-blank {
  display: block;
  padding: 13px 0;
  border: 1px solid #333;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .btn-blank {
    padding: 3.4666666667vw 0;
  }
}
.btn-blank__text {
  font-size: 1.4rem;
  font-weight: 500;
  position: relative;
  display: inline-block;
  padding-right: 30px;
}
@media screen and (max-width: 767px) {
  .btn-blank__text {
    padding-right: 7.4666666667vw;
    font-size: 3.7333333333vw;
  }
}
.btn-blank__text::before {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #325f96;
}
@media screen and (max-width: 767px) {
  .btn-blank__text::before {
    top: calc(50% - 2.6666666667vw);
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.btn-blank__text::after {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  right: 7px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .btn-blank__text::after {
    top: calc(50% - 1.0666666667vw);
    right: 1.8666666667vw;
    width: 1.6vw;
    height: 1.6vw;
    border-top: 0.5333333333vw solid #fff;
    border-right: 0.5333333333vw solid #fff;
  }
}
.btn-blue {
  background-color: #325F96;
  color: #fff;
  display: block;
  text-align: center;
  font-size: 1.4rem;
  line-height: 2.8571428571;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .btn-blue {
    font-size: 3.7333333333vw;
  }
}

/*----------------------------------------------------
 header
--------------------------------------------------- */
.header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 1000;
}
.header__layout-column {
  min-height: 92px;
  display: -ms-grid;
  display: grid;
  place-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .header__layout-column {
    min-height: 16.8vw;
  }
}
.header__layout-column .logo {
  opacity: 0;
  position: absolute;
  top: 30px;
  left: 48px;
  width: 55px;
  height: 87px;
  background-color: #fff;
  -webkit-mask-image: url(../images/common/logo.svg);
          mask-image: url(../images/common/logo.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media screen and (max-width: 767px) {
  .header__layout-column .logo {
    top: 5.3333333333vw;
    left: 5.3333333333vw;
    width: 10.1333333333vw;
    height: 16vw;
  }
}
.header__layout-column .logo img {
  opacity: 0;
}
.header__layout-column .logo--show {
  opacity: 1;
}
.header__layout-column .logo--second {
  opacity: 1;
  top: 22px;
  height: 48px;
}
@media screen and (max-width: 767px) {
  .header__layout-column .logo--second {
    top: 5.3333333333vw;
    height: 8.8vw;
  }
}
.header__layout-column--blue {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(245, 245, 245, 0)), to(rgb(245, 245, 245)));
  background-image: linear-gradient(0deg, rgba(245, 245, 245, 0), rgb(245, 245, 245));
}
.header__layout-column--blue .logo {
  background-color: transparent;
  -webkit-mask-image: none;
          mask-image: none;
}
.header__layout-column--blue .logo img {
  opacity: 1;
}
.header__layout-column--blue .logo__link {
  display: block;
}
.header__layout-column--blue .menu__list-link {
  color: #325F96;
}
.header__layout-column--blue .menu__list-link--blank::after {
  background-color: #325F96;
}
.header__layout-column--blue .menu__list-link::before {
  background-color: #325F96;
}
.header__layout-column--blue .hbgButton {
  background-color: #325F96;
  /* &__fig {
    svg {
  	path {
  		fill: v.$gc_blue;
  		//stroke: #0375b4;
  		//stroke-width: 2px;
  	}
    }
  }*/
}

.menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
}
@media screen and (max-width: 999px) {
  .menu {
    gap: 30px;
  }
}
@media screen and (max-width: 850px) {
  .menu {
    gap: 15px;
  }
}
@media screen and (max-width: 767px) {
  .menu {
    display: none;
  }
}
.menu__list {
  /*margin-right: 56px;
  &:last-child {
  	margin-right: 0;
  }*/
}
.menu__list-link {
  font-family: "Poppins", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.5555555556;
  position: relative;
}
.menu__list-link--blank::after {
  content: "";
  display: inline-block;
  margin-left: 10px;
  width: 17px;
  height: 13px;
  background-color: #fff;
  -webkit-mask-image: url(../images/common/icon_blank.svg);
          mask-image: url(../images/common/icon_blank.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.menu__list-link::before {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  bottom: -2px;
  left: 0;
  background-color: #fff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.menu__list-link:hover::before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.hbg-menu {
  position: fixed;
  top: 32px;
  right: 48px;
  width: 66px;
  height: 30px;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .hbg-menu {
    top: 5.3333333333vw;
    right: 5.3333333333vw;
    width: 10.1333333333vw;
    height: 6.1333333333vw;
  }
}

.hbgButton {
  position: relative;
  display: block;
  width: 66px;
  height: 30px;
  cursor: pointer;
  overflow: hidden;
  background-color: #fff;
  -webkit-mask-image: url(../images/common/menu_pc.svg);
          mask-image: url(../images/common/menu_pc.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media screen and (max-width: 767px) {
  .hbgButton {
    width: 10.1333333333vw;
    height: 6.1333333333vw;
    -webkit-mask-image: url(../images/common/menu_sp.svg);
            mask-image: url(../images/common/menu_sp.svg);
  }
}
.hbgButton {
  /*&__fig {
    position: absolute;
    display: block;
    width: 100%;
    height: 6px;
    left: 0;
    font-size: 0;
    @include m.mq-down() {
  	height: m.calcvw(5.38);
  	svg {
  		width: m.calcvw(38);
  		height: m.calcvw(5.38);
  	}
    }

    &--01 {
  	top: 0;
  	transition: top .3s .3s, transform .3s 0s;
    }
    &--02 {
  	top: 13px;
  	opacity: 1;
  	transition: opacity .3s .3s;
  	@include m.mq-down() {
  		top: m.calcvw(8.81);
  	}
    }
    &--03 {
  	top: 26px;
  	transition: top .3s .3s, transform .3s 0s;
  	@include m.mq-down() {
  		top: m.calcvw(17.62);
  	}
    }
    svg {
  	path {
  		fill: #fff;
  		//stroke: #0375b4;
  		//stroke-width: 2px;
  	}
    }
  }*/
}
.hbgButton.is-open {
  background-color: #325F96;
  -webkit-mask-image: url(../images/common/menu_close.svg);
          mask-image: url(../images/common/menu_close.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  /*
   .hbgButton__fig {
  height: 2px;
  @include m.mq-down() {
  	height: m.calcvw(2);
  }
  svg {
  	path {
  		fill: v.$gc_blue;
  	}
    }
  &--01 {
    top: 15px;
    transform: rotate(45deg);
    transition: top .3s .2s, transform .3s .5s;
    @include m.mq-down() {
  	top: m.calcvw(11);
  	}
  }
  &--02 {
    top: 15px;
    opacity: 0;
    transition: top .3s .2s,opacity .3s .3s;
    @include m.mq-down() {
  	top: m.calcvw(11);
  	}
  }
  &--03 {
    top: 15px;
    transform: rotate(-45deg);
    transition: top .3s .2s, transform .3s .5s;
    @include m.mq-down() {
  	top: m.calcvw(11);
  	}
  }
   }*/
}

.main-nav {
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: #F5F5F5;
  left: 0;
  top: 0;
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 900;
  padding-bottom: 90px;
  overscroll-behavior-y: contain;
}
@media screen and (max-width: 767px) {
  .main-nav {
    padding-bottom: 24vw;
  }
}
.main-nav--show {
  opacity: 1;
  pointer-events: auto;
}
.main-nav__wrap {
  max-width: 860px;
  margin: 100px auto 0;
}
@media screen and (max-width: 767px) {
  .main-nav__wrap {
    width: 100%;
    margin-top: 21.3333333333vw;
    padding: 0 5.3333333333vw;
  }
}
.main-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main-nav__list {
    display: block;
  }
}
.main-nav__list > li {
  width: 350px;
}
@media screen and (max-width: 767px) {
  .main-nav__list > li {
    width: 100%;
  }
}
.main-nav__list--sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .main-nav__list--sub {
    display: block;
    margin-top: 21.3333333333vw;
    text-align: center;
  }
}
.main-nav__list--sub > li {
  margin-right: 120px;
}
@media screen and (max-width: 767px) {
  .main-nav__list--sub > li {
    margin-right: 0;
    margin-bottom: 10.6666666667vw;
  }
}
.main-nav__list--sub > li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .main-nav__list--sub > li:last-child {
    margin-bottom: 0;
  }
}
.main-nav__list--sub .main-nav__list-link {
  font-family: "Poppins", sans-serif;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.3928571429;
  position: relative;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .main-nav__list--sub .main-nav__list-link {
    font-size: 7.4666666667vw;
  }
}
.main-nav__list--sub .main-nav__list-link--blank::after {
  content: "";
  display: inline-block;
  margin-left: 16px;
  width: 22px;
  height: 16px;
  background-color: #333;
  -webkit-mask-image: url(../images/common/icon_blank.svg);
          mask-image: url(../images/common/icon_blank.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (max-width: 767px) {
  .main-nav__list--sub .main-nav__list-link--blank::after {
    margin-left: 4.2666666667vw;
    width: 5.3333333333vw;
    height: 3.7333333333vw;
  }
}
.main-nav .about__title {
  font-size: 2.8rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main-nav .about__title {
    font-size: 7.4666666667vw;
    text-align: center;
  }
}
.main-nav .about__title-sub {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .main-nav .about__title-sub {
    margin-top: 16vw;
  }
}
.main-nav .about__title-sub .text__main {
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main-nav .about__title-sub .text__main {
    font-size: 3.2vw;
  }
}
.main-nav .about__title-sub .text__sub {
  margin-left: 1.2em;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .main-nav .about__title-sub .text__sub {
    font-size: 2.6666666667vw;
  }
}
.main-nav .about__wrap {
  text-align: center;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .main-nav .about__wrap {
    margin-top: 6.4vw;
  }
}
.main-nav .about__link {
  display: block;
  background-color: #fff;
  min-height: 174px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 60px 16px 1fr;
  grid-template-columns: 60px 1fr;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 49px;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link {
    min-height: 41.6vw;
    -ms-grid-columns: 14.9333333333vw 4.2666666667vw 1fr;
    grid-template-columns: 14.9333333333vw 1fr;
    -webkit-column-gap: 4.2666666667vw;
       -moz-column-gap: 4.2666666667vw;
            column-gap: 4.2666666667vw;
    padding-inline: 11.7333333333vw;
  }
}
.main-nav .about__link-title {
  font-weight: 700;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link-title {
    font-size: 4.2666666667vw;
  }
}
.main-nav .about__link img {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (min-width: 768px) {
  .main-nav .about__link:hover .about__link-title {
    opacity: 0.4;
  }
  .main-nav .about__link:hover img {
    opacity: 0.4;
  }
}
.main-nav .about__link-list {
  margin-top: 0.8em;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link-list {
    margin-top: 1em;
  }
}
.main-nav .about__link-list a {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  line-height: 1.5;
}
.main-nav .about__link-list a::before {
  content: "";
  width: 10px;
  height: 2px;
  background-color: #325F96;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1px;
}
.main-nav .about__link-list a .text {
  display: inline-block;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link-list a .text__main--learnmore {
    font-size: 4vw;
  }
}
.main-nav .about__link-list a .text__sub {
  margin-left: 1em;
  font-size: 1rem;
  vertical-align: 0.2em;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link-list a .text__sub {
    font-size: 2.6666666667vw;
  }
}
.main-nav .about__link-list a .text__sub--history {
  display: block;
  margin-left: 0;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link-list a .text__sub--history {
    font-size: 2.9333333333vw;
  }
}
.main-nav .about__link-list a .text__term {
  font-size: 1.2rem;
  display: block;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .main-nav .about__link-list a:hover .text {
    opacity: 0.4;
  }
}
.main-nav .about__link-p {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link-p {
    margin-top: 2.5em;
  }
}
.main-nav .about__link-p a {
  position: relative;
  display: inline-block;
}
.main-nav .about__link-p a .text {
  display: inline-block;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .main-nav .about__link-p a .text {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .main-nav .about__link-p a:hover .text {
    opacity: 0.4;
  }
}
@media screen and (max-width: 767px) {
  .main-nav .stories {
    margin-top: 21.3333333333vw;
  }
}
.main-nav .stories__title {
  font-size: 2.8rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main-nav .stories__title {
    font-size: 7.4666666667vw;
    text-align: center;
  }
}
.main-nav .stories__title-sub {
  margin-top: 40px;
  font-size: 1.2rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main-nav .stories__title-sub {
    margin-top: 16vw;
    font-size: 3.2vw;
    text-align: center;
  }
}
.main-nav .stories__wrap {
  text-align: center;
  margin-top: 32px;
  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 screen and (max-width: 767px) {
  .main-nav .stories__wrap {
    margin-top: 6.4vw;
  }
}
.main-nav .stories__link {
  display: block;
  background-color: #fff;
  display: block;
  min-height: 174px;
  display: -ms-grid;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .main-nav .stories__link {
    min-height: 0;
    aspect-ratio: 1/1;
  }
}
.main-nav .stories__link--sm {
  min-height: 115px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories__link--sm {
    min-height: 0;
  }
}
.main-nav .stories__link .ja {
  display: block;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .main-nav .stories__link .ja {
    font-size: 2.9333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .main-nav .stories__link:hover .stories_icon {
    opacity: 0.4;
  }
  .main-nav .stories__link:hover img {
    opacity: 0.4;
  }
}
.main-nav .stories__link-list {
  width: 174px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories__link-list {
    width: calc(50% - 1px);
  }
}
.main-nav .stories__link-list:nth-child(n+3) {
  margin-top: 2px;
}
.main-nav .stories__link-list--sm {
  width: 115.3333333333px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories__link-list--sm {
    width: calc((100% - 4px) / 3);
  }
}
.main-nav .stories-tag {
  text-align: center;
  margin-top: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .main-nav .stories-tag {
    margin-top: 4.8vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.main-nav .stories-tag__list {
  background-color: #fff;
  border-radius: 15px;
  margin-right: 10px;
  margin-bottom: 12px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .main-nav .stories-tag__list {
    border-radius: 4vw;
    margin-right: 3.7333333333vw;
    margin-bottom: 3.2vw;
  }
}
.main-nav .stories-tag__list:last-child {
  margin-right: 0;
}
.main-nav .stories-tag-link {
  font-size: 1.4rem;
  color: #325F96;
  line-height: 2;
  padding: 0 18px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories-tag-link {
    font-size: 3.7333333333vw;
    padding: 0 4.8vw;
  }
}
.main-nav .stories_icon {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  position: relative;
  padding-top: 78px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon {
    font-size: 4.5333333333vw;
    padding-top: 20vw;
  }
}
.main-nav .stories_icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 65px;
  height: 64px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon::before {
    width: 16.2666666667vw;
    height: 16.2666666667vw;
  }
}
.main-nav .stories_icon--sustainable {
  color: #40967B;
}
.main-nav .stories_icon--sustainable::before {
  background: url(../images/common/icon_sustainable.png) no-repeat center center;
  background-size: contain;
}
.main-nav .stories_icon--co-creation {
  color: #4F8CC6;
}
.main-nav .stories_icon--co-creation::before {
  background: url(../images/common/icon_co-creation.png) no-repeat center center;
  background-size: contain;
}
.main-nav .stories_icon--originality {
  color: #D3A81B;
}
.main-nav .stories_icon--originality::before {
  background: url(../images/common/icon_originality.png) no-repeat center center;
  background-size: contain;
}
.main-nav .stories_icon--diversity {
  color: #7D629F;
}
.main-nav .stories_icon--diversity::before {
  background: url(../images/common/icon_diversity.png) no-repeat center center;
  background-size: contain;
}
.main-nav .stories_icon--vision {
  padding-top: 41px;
  color: #DB7E41;
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon--vision {
    padding-top: 10.6666666667vw;
  }
}
.main-nav .stories_icon--vision::before {
  background: url(../images/common/icon_vision.png) no-repeat center center;
  background-size: contain;
  width: 34px;
  height: 33px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon--vision::before {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
.main-nav .stories_icon--learning {
  color: #D3768D;
  padding-top: 41px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon--learning {
    padding-top: 10.6666666667vw;
  }
}
.main-nav .stories_icon--learning::before {
  background: url(../images/common/icon_learning.png) no-repeat center center;
  background-size: contain;
  width: 34px;
  height: 33px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon--learning::before {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
.main-nav .stories_icon--history {
  color: #8E774E;
  padding-top: 41px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon--history {
    padding-top: 10.6666666667vw;
  }
}
.main-nav .stories_icon--history::before {
  background: url(../images/common/icon_history.png) no-repeat center center;
  background-size: contain;
  width: 34px;
  height: 33px;
}
@media screen and (max-width: 767px) {
  .main-nav .stories_icon--history::before {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}
.main-nav .search {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .main-nav .search {
    margin-top: 8vw;
  }
}
.main-nav .search-form {
  border-bottom: 2px solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .main-nav .search-form {
    padding-bottom: 1.3333333333vw;
  }
}
.main-nav .search-form label {
  width: calc(100% - 20px);
}
@media screen and (max-width: 767px) {
  .main-nav .search-form label {
    width: calc(100% - 5.3333333333vw);
  }
}
.main-nav .search-form input {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none transparent;
  background-clip: padding-box;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.main-nav .search-form input::-ms-clear {
  display: none;
}
.main-nav .search-form input::-ms-reveal {
  display: none;
}
.main-nav .search-form input::-ms-expand {
  display: none;
}
.main-nav .search-form input.search-field {
  width: 100%;
}
.main-nav .search-form input.search-field::-webkit-input-placeholder {
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
}
.main-nav .search-form input.search-field::-moz-placeholder {
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
}
.main-nav .search-form input.search-field:-ms-input-placeholder {
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
}
.main-nav .search-form input.search-field::-ms-input-placeholder {
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
}
.main-nav .search-form input.search-field::placeholder {
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .main-nav .search-form input.search-field::-webkit-input-placeholder {
    font-size: 3.2vw;
  }
  .main-nav .search-form input.search-field::-moz-placeholder {
    font-size: 3.2vw;
  }
  .main-nav .search-form input.search-field:-ms-input-placeholder {
    font-size: 3.2vw;
  }
  .main-nav .search-form input.search-field::-ms-input-placeholder {
    font-size: 3.2vw;
  }
  .main-nav .search-form input.search-field::placeholder {
    font-size: 3.2vw;
  }
}
.main-nav .search-form input.search-submit {
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  width: 18px;
  height: 18px;
  background: url(../images/common/icon_search.svg) no-repeat center center;
  background-size: contain;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .main-nav .search-form input.search-submit {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}

/* relation */
/*.issue-relation{
	margin: 100px auto 0;
	@include m.mq-down() {
		margin-top: m.calcvw(60);
		padding: 0 m.calcvw(20);
	}
	.inner{
		@include m.mq-down() {
		}
	}
	h2{
		max-width: 1000px;
		width: 100%;
		margin: 0 auto;
		text-align: center;
		font-family: 'Cormorant Garamond', serif;
		font-size: 3.4rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		line-height: (41/34);
		padding-bottom: 10px;
		@include m.mq-down() {
			font-size: m.calcvw(28);
			padding-bottom: m.calcvw(8);
		}

	}
	ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: left;
		margin: 0 auto;
		padding-top: 60px;
		border-top: 2px solid #666;
		max-width: 1000px;
		width: 100%;
		@include m.mq-down() {
			padding-top: m.calcvw(30);
		}
		li{
			width: (304%/1000) * 100;
			margin-right: (44%/1000) * 100;
			&:nth-child(3n) {
				margin-right: 0;
			}
			&:last-child {
				margin-right: 0;
			}
			&:nth-child(n+ 4) {
				margin-top: 40px;
			}
			@include m.mq-down() {
				width: m.calcvw(150);
				margin-right: m.calcvw(35);
				&:nth-child(3n) {
					margin-right: m.calcvw(35);
				}
				&:nth-child(n+ 4) {
					margin-top: 0;
				}
				&:nth-child(2n) {
					margin-right: 0;
				}
				&:last-child {
					margin-right: 0;
				}
				&:nth-child(n+ 3) {
					margin-top: m.calcvw(30);
				}
			}
			a{
				display:block;
				transition: opacity 0.3s;
				@include m.mq-up() {
					&:hover {
						opacity: 0.75;
					}
				}
			}
			.txt-box{
				padding-top: 16px;
				@include m.mq-down() {
					padding-top: m.calcvw(12);
				}
				.cat {
					font-size: 1.4rem;
					font-family: 'Hind';
					font-weight: 600;
					line-height: (20/14);
					margin-bottom: 4px;
					@include m.mq-down() {
						font-size: m.calcvw(12);
						margin-bottom: m.calcvw(4);
					}
				}
				.txt {
					font-weight: 500;
					line-height: (26/16);
					@include m.mq-down() {
						font-size: m.calcvw(14);
					}
				}
			}
		}
	}
}*/
.map {
  margin: 94px auto 0;
}
@media screen and (max-width: 767px) {
  .map {
    margin-top: 19.7333333333vw;
  }
}
.map__inner {
  width: 100%;
  max-width: 1200px;
  background-color: #DDDDDD;
  margin: auto;
}
.map__fig {
  height: 600px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .map__fig {
    height: 160vw;
  }
}

/* special-book */
.special-book {
  min-width: 1200px;
  margin: 0 auto;
  padding: 5.7142857143vw 0 4.2857142857vw;
  background: #F8FAFA;
  background-image: url(../images/common/special_book_pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  height: 82.7142857143vw;
}
@media screen and (max-width: 1200px) {
  .special-book {
    height: 992.5714285714px;
  }
}
@media screen and (max-width: 767px) {
  .special-book {
    min-width: 320px;
    background-image: url(../images/common/special_book_sp.jpg);
    width: 100%;
    height: 172.5333333333vw;
    padding: 10.6666666667vw 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 319px) {
  .special-book {
    height: 552.1066666667px;
  }
}
.special-book__wrap {
  width: 758px;
  height: 100%;
  margin: 0 auto;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .special-book__wrap {
    width: 100%;
  }
}
.special-book__title {
  font-family: "Poppins", sans-serif;
  font-size: 4.6rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3913043478;
}
@media screen and (max-width: 767px) {
  .special-book__title {
    font-size: 8vw;
    line-height: 1.4333333333;
  }
}
.special-book__sub {
  font-size: 3rem;
  font-weight: 700;
  max-width: 393px;
  margin: 1.6428571429vw auto 0;
}
@media screen and (min-width: 768px) {
  .special-book__sub {
    line-height: 1.0714285714;
    padding-bottom: 1vw;
    border-bottom: solid 1px #333;
  }
}
@media screen and (max-width: 767px) {
  .special-book__sub {
    margin-top: 2.6666666667vw;
    font-size: 8vw;
  }
}
.special-book__text {
  font-weight: 500;
  margin-top: 1vw;
}
@media screen and (max-width: 767px) {
  .special-book__text {
    margin-top: 1.6vw;
  }
}
.special-book__btn {
  display: inline-block;
  margin: 2.8571428571vw auto 0;
  width: 260px;
}
@media screen and (max-width: 767px) {
  .special-book__btn {
    margin-top: 8.8vw;
    width: 69.3333333333vw;
  }
}

/* online-store */
.online-store {
  min-width: 1200px;
  margin: 0 auto;
  padding: 5.7142857143vw 0 4.2857142857vw;
  background: #E2EBEF;
}
@media screen and (max-width: 767px) {
  .online-store {
    min-width: 320px;
    padding: 10.6666666667vw 0 10.6666666667vw;
  }
}
.online-store__wrap {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .online-store__wrap {
    width: 100%;
  }
}
.online-store__title {
  font-family: "Poppins", sans-serif;
  font-size: 4.6rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.3913043478;
}
@media screen and (max-width: 767px) {
  .online-store__title {
    font-size: 8vw;
    line-height: 1.4333333333;
  }
}
.online-store__sub {
  max-width: 482px;
  margin: 2.2857142857vw auto 0;
}
@media screen and (min-width: 768px) {
  .online-store__sub {
    padding-bottom: 1vw;
    border-bottom: solid 1px #333;
  }
}
@media screen and (max-width: 767px) {
  .online-store__sub {
    max-width: 59.2vw;
    margin-top: 8vw;
  }
}
.online-store__text {
  font-weight: 500;
  margin-top: 1vw;
}
@media screen and (max-width: 767px) {
  .online-store__text {
    margin-top: 5.3333333333vw;
  }
}
.online-store .infiniteslide {
  display: none;
  margin-top: 2.8571428571vw;
}
@media screen and (max-width: 767px) {
  .online-store .infiniteslide {
    margin-top: 8vw;
  }
}
.online-store .infiniteslide li {
  width: 368px;
}
@media screen and (max-width: 767px) {
  .online-store .infiniteslide li {
    width: 54.1333333333vw;
  }
}
.online-store__btn {
  display: inline-block;
  margin: 2.8571428571vw auto 0;
  width: 260px;
}
@media screen and (max-width: 767px) {
  .online-store__btn {
    margin-top: 8.8vw;
    width: 69.3333333333vw;
  }
}

/*----------------------------------------------------
 .sns-box
--------------------------------------------------- */
.sns-box {
  background-color: #fff;
  margin: 0 auto;
  padding: 60px 0 52px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .sns-box {
    width: 100%;
    padding: 16vw 0 18.6666666667vw;
  }
}
.sns-box--stories-post {
  background-color: transparent;
}
.sns-box--stories-post + .comments {
  margin-top: 0;
}
.sns-box__title {
  width: 100%;
  text-align: center;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .sns-box__title {
    margin-bottom: 5.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
.sns-box__title-wrap {
  padding: 0 18px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sns-box__title-wrap {
    padding: 0 4.8vw;
  }
}
.sns-box__title-wrap::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 100%;
  background-color: #333;
  top: 0;
  left: 0;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}
.sns-box__title-wrap::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 100%;
  background-color: #333;
  top: 0;
  right: 0;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.sns-box__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sns-box__item {
  margin: 0 10px;
  width: 48px;
  height: 48px;
}
@media screen and (max-width: 767px) {
  .sns-box__item {
    margin: 0 2.6666666667vw;
    width: 12.8vw;
    height: 12.8vw;
  }
}
.sns-box__link {
  color: #000;
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
@media screen and (max-width: 767px) {
  .sns-box__link {
    width: 12.8vw;
    height: 12.8vw;
  }
}
.sns-box__link--facebook .sns-box__icon {
  display: block;
  width: 48px;
  height: 48px;
  background-color: #333;
  -webkit-mask-image: url("../images/common/icon_fb.svg");
          mask-image: url("../images/common/icon_fb.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .sns-box__link--facebook .sns-box__icon {
    width: 12.8vw;
    height: 12.8vw;
    -webkit-mask-size: 3.064vw 5.8666666667vw;
            mask-size: 3.064vw 5.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sns-box__link--facebook:hover {
    background-color: #2677DD;
  }
  .sns-box__link--facebook:hover .sns-box__icon {
    background-color: #fff;
  }
}
.sns-box__link--twitter .sns-box__icon {
  display: block;
  width: 48px;
  height: 48px;
  background-color: #333;
  -webkit-mask-image: url("../images/common/icon_tw.svg");
          mask-image: url("../images/common/icon_tw.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .sns-box__link--twitter .sns-box__icon {
    width: 12.8vw;
    height: 12.8vw;
    -webkit-mask-size: 5.8666666667vw 5.8666666667vw;
            mask-size: 5.8666666667vw 5.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sns-box__link--twitter:hover {
    background-color: #000;
  }
  .sns-box__link--twitter:hover .sns-box__icon {
    background-color: #fff;
  }
}
.sns-box__link--line .sns-box__icon {
  display: block;
  width: 48px;
  height: 48px;
  background-color: #333;
  -webkit-mask-image: url("../images/common/icon_line.svg");
          mask-image: url("../images/common/icon_line.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .sns-box__link--line .sns-box__icon {
    width: 12.8vw;
    height: 12.8vw;
    -webkit-mask-size: 6.1573333333vw 5.8666666667vw;
            mask-size: 6.1573333333vw 5.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .sns-box__link--line:hover {
    background-color: #22BA4F;
  }
  .sns-box__link--line:hover .sns-box__icon {
    background-color: #fff;
  }
}

/*----------------------------------------------------
 footer
--------------------------------------------------- */
footer {
  position: relative;
  z-index: 1;
  background-color: #325F96;
  margin: auto;
  position: relative;
}
footer::before {
  content: "";
  width: calc(100% + 1260px);
  height: 8px;
  background-color: #325F96;
  -webkit-mask-image: url(../images/common/bg_wave.svg);
          mask-image: url(../images/common/bg_wave.svg);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  top: -6px;
  left: 0;
  -webkit-animation: wave 60s linear infinite;
          animation: wave 60s linear infinite;
}
footer .footer-inner {
  position: relative;
  width: 1200px;
  margin: auto;
  padding: 50px 0 40px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  footer .footer-inner {
    width: 100%;
    padding: 9.3333333333vw 0 10.6666666667vw;
  }
}
footer .footer-inner .footer__title {
  font-weight: 400;
  text-align: center;
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  footer .footer-inner .footer__title {
    font-size: 3.4666666667vw;
  }
}
footer .footer-inner .footer__title span {
  display: inline-block;
  padding-bottom: 9px;
  border-bottom: 1px solid #D6DFEA;
}
@media screen and (max-width: 767px) {
  footer .footer-inner .footer__title span {
    padding-bottom: 2.4vw;
  }
}
footer .footer-inner .footer__address {
  text-align: center;
  font-size: 1.2rem;
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  footer .footer-inner .footer__address {
    font-size: 3.2vw;
  }
}
footer .footer-inner .footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.2rem;
  margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
  footer .footer-inner .footer__list {
    display: block;
    font-size: 3.2vw;
    text-align: center;
  }
}
footer .footer-inner .footer__list li {
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  footer .footer-inner .footer__list li {
    margin-right: 0;
  }
  footer .footer-inner .footer__list li ~ li {
    margin-top: 1.2em;
  }
}
footer .footer-inner .footer__list li:last-child {
  margin-right: 0;
}
footer .footer-inner .footer__list li .footer__tel-icon {
  background: url(../images/common/icon_tel.svg) no-repeat left center;
  background-size: 14px;
  display: inline-block;
  padding-left: 22px;
}
footer .footer-inner .footer__list li .footer__fax-icon {
  background: url(../images/common/icon_fax.svg) no-repeat left center;
  background-size: 14px;
  display: inline-block;
  padding-left: 22px;
}
footer .footer-inner .footer__list li .footer__mail-icon {
  background: url(../images/common/icon_mail.svg) no-repeat left center;
  background-size: 14px;
  display: inline-block;
  padding-left: 22px;
}
footer .footer-inner .footer__list li .footer__insta-icon {
  background: url(../images/common/icon_insta.svg) no-repeat left center;
  background-size: 14px;
  display: inline-block;
  padding-left: 22px;
}
footer .footer-inner .footer__list li a {
  color: #fff;
}
footer .copyright {
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
  padding: 15px 0;
  background-color: #8AA0BC;
}
@media screen and (max-width: 767px) {
  footer .copyright {
    font-size: 3.2vw;
    padding: 4vw 0;
  }
}

/*----------------------------------------------------
 Google Map
--------------------------------------------------- */
/* Google Map APIのデフォルトスタイル上書き */
.gm-style-iw {
  padding: 0 !important;
  max-height: none !important;
}

.gm-style-iw-c {
  border-radius: 0 !important;
}

.gm-style-iw-d {
  overflow: hidden !important;
  padding: 0 !important;
  max-height: none !important;
}

.gm-style-iw-tc {
  display: none !important;
}

.gm-ui-hover-effect {
  display: none !important;
}

.infoWindow {
  width: 316px;
  padding: 20px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .infoWindow {
    width: 66.1333333333vw;
    padding: 3.7333333333vw;
    gap: 2.6666666667vw;
  }
}
.infoWindow__fig {
  width: 100%;
}
.infoWindow__fig img {
  width: 100%;
}
.infoWindow__title {
  color: #E19A1F;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .infoWindow__title {
    margin-top: 2.1333333333vw;
  }
}
.infoWindow__title--bluepartner {
  color: #325F96;
}
.infoWindow__title--sustainable {
  color: #40967B;
}
.infoWindow__title--co-creation {
  color: #4F8CC6;
}
.infoWindow__title--originality {
  color: #D3A81B;
}
.infoWindow__title--diversity {
  color: #7D629F;
}
.infoWindow__title--vision {
  color: #DB7E41;
}
.infoWindow__title--learning {
  color: #D3768D;
}
.infoWindow__title--history {
  color: #8E774E;
}
.infoWindow__title .en {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .infoWindow__title .en {
    font-size: 4.2666666667vw;
  }
}
.infoWindow__title .ja {
  font-weight: 100;
  font-size: 1.4rem;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  margin-left: 0.5em;
  vertical-align: 0.1em;
}
@media screen and (max-width: 767px) {
  .infoWindow__title .ja {
    font-size: 3.2vw;
  }
}
.infoWindow__title .ja.--bluepartner {
  font-weight: 500;
  font-size: 1.8rem;
  margin-left: 0;
  margin-bottom: 0.2em;
}
.infoWindow__txt {
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  max-height: 3em;
}
@media screen and (max-width: 767px) {
  .infoWindow__txt {
    font-size: 4.2666666667vw;
  }
}
.infoWindow__link {
  margin-top: 25px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .infoWindow__link {
    margin-top: 3.7333333333vw;
  }
}
.infoWindow__link a {
  position: relative;
  display: inline-block;
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #325F96;
  padding-right: 35px;
}
@media screen and (max-width: 767px) {
  .infoWindow__link a {
    font-size: 4.2666666667vw;
    padding-right: 9.3333333333vw;
  }
}
.infoWindow__link a::after {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background: url(../images/common/icon_link.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .infoWindow__link a::after {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
.infoWindow__link a.--bluepartner::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.report-catalog {
  background-color: #D6DFEA;
  padding-block: 100px;
}
@media screen and (max-width: 767px) {
  .report-catalog {
    padding: 16vw 5.3333333333vw;
  }
}
.report-catalog__wrap {
  max-width: 1200px;
  margin-inline: auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 40px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .report-catalog__wrap {
    width: 100%;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}
.report-catalog__item {
  background-color: #fff;
}
.report-catalog__item a {
  padding: 26px 40px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 140px;
  grid-template-columns: 1fr 140px;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .report-catalog__item a {
    padding: 5.3333333333vw 4.2666666667vw;
    -ms-grid-columns: 1fr 24vw;
    grid-template-columns: 1fr 24vw;
  }
}
.report-catalog__item__body {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr 10px auto;
  grid-template-rows: 1fr auto;
  gap: 10px;
}
.report-catalog__item__title {
  width: 280px;
  margin-top: 22px;
}
@media screen and (max-width: 767px) {
  .report-catalog__item__title {
    width: 48vw;
    margin-top: 2.6666666667vw;
  }
}
.report-catalog__item__sub-title {
  font-size: 2rem;
  font-weight: 500;
  color: #325F96;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .report-catalog__item__sub-title {
    font-size: 4.2666666667vw;
    margin-top: 2.1333333333vw;
  }
}
.report-catalog__item__text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #325F96;
}
@media screen and (max-width: 767px) {
  .report-catalog__item__text {
    font-size: 3.7333333333vw;
  }
}
.report-catalog__item__text span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.report-catalog__item__text span::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/common/report-catalog_arrow.png) no-repeat center/contain;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .report-catalog__item__text span::after {
    width: 4.8vw;
    height: 4.8vw;
    margin-left: 1.6vw;
  }
}