@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
  v2.0 | 20110126
  License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

@font-face {
  font-family: "Montserrat-Regular";
  src: url("../../../font/Montserrat-Regular.otf");
  src: local("Montserrat Medium"), url("../../../font/Montserrat-Regular.woff") format("woff"), url("../../../font/Montserrat-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Montserrat-Medium";
  src: url("../../../font/Montserrat-Medium.otf");
  src: local("Montserrat Medium"), url("../../../font/Montserrat-Medium.woff") format("woff"), url("../../../font/Montserrat-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Montserrat-SemiBold";
  src: url("../../../font/Montserrat-SemiBold.otf");
  src: local("Montserrat SemiBold"), url("../../../font/Montserrat-SemiBold.woff") format("woff"), url("../../../font/Montserrat-SemiBold.ttf") format("truetype");
}
body {
  font-family: "游ゴシック", YuGothic, "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

.container {
  position: relative;
  width: 100vw;
  min-width: 1200px;
  overflow: hidden;
  margin: auto;
}
@media (max-width: 768px) {
  .container {
    min-width: inherit;
  }
}

.logo {
  position: fixed;
  top: 50px;
  left: 50px;
  width: 186px;
  height: 38px;
  background-image: url(../img/logo_wh.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  z-index: 999;
  transition: 1s opacity ease, 1s transform ease;
  opacity: 0;
  transform: translateY(-10px);
}
@media (max-width: 768px) {
  .logo {
    top: 22px;
    left: 5%;
    width: 118px;
    height: 24px;
  }
}
.logo.is-bk {
  background-image: url(../img/logo.png);
}
.logo.is-menu {
  background-image: url(../img/logo_wh.png) !important;
}
.logo.is-show {
  opacity: 1;
  transform: translateY(0);
}

.spmenu__btn {
  position: fixed;
  top: 50px;
  right: 45px;
  width: 46px;
  height: 21px;
  cursor: pointer;
  z-index: 999;
  transition: 1s opacity ease, 1s transform ease;
  opacity: 0;
  transform: translateY(-10px);
}
@media (max-width: 768px) {
  .spmenu__btn {
    top: 22px;
    right: 5%;
    width: 34px;
    height: 15px;
  }
}
.spmenu__btn span, .spmenu__btn::before, .spmenu__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: 0.3s all ease;
}
.spmenu__btn::before {
  margin-top: -8px;
}
.spmenu__btn::after {
  margin-top: 8px;
}
.spmenu__btn.is-show span {
  opacity: 0;
}
.spmenu__btn.is-show::before {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(25deg);
}
.spmenu__btn.is-show::after {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(-25deg);
}
.spmenu__btn.is-bk span, .spmenu__btn.is-bk::before, .spmenu__btn.is-bk::after {
  background: #000;
}
.spmenu__btn.is-start {
  opacity: 1;
  transform: translateY(0);
}
.spmenu__body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 64, 180, 0.9);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s all ease;
}
.spmenu__body.is-show {
  opacity: 1;
  visibility: visible;
}
.spmenu__wrap {
  overflow-y: auto;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  .spmenu__wrap {
    margin-top: 64px;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
  }
}
.spmenu__inner {
  position: relative;
  height: auto;
  width: 100%;
  max-width: 420px;
  margin: 100px auto;
}
@media (max-width: 768px) {
  .spmenu__inner {
    margin: 30px auto 100px;
  }
}
.spmenu__inner ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.spmenu__inner ul li a {
  position: relative;
  display: block;
  font-family: "Montserrat-SemiBold";
  font-size: 12px;
  font-weight: bold;
  line-height: 1em;
  color: #fff;
  padding: 30px;
  letter-spacing: 0.12em;
}
@media (max-width: 768px) {
  .spmenu__inner ul li a {
    padding: 20px 5%;
  }
}
.spmenu__inner ul li a img {
  position: absolute;
  width: 34px;
  height: 34px;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}
@media (max-width: 768px) {
  .spmenu__inner ul li a img {
    right: 5%;
  }
}
.spmenu__inner ul li:last-child {
  border-bottom: none;
}
.spmenu__inner ul li.is-blank {
  height: 74px;
}
@media (max-width: 768px) {
  .spmenu__inner ul li.is-blank {
    height: 54px;
  }
}

.mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  transition: all 1.2s cubic-bezier(0.32, 0.94, 0.6, 1);
}
.mask.is-show {
  opacity: 0;
  visibility: hidden;
}

.nextBtn {
  position: fixed;
  display: block;
  z-index: 990;
  bottom: 5%;
  right: 30px;
  width: 48px;
  height: 48px;
  border: 0.5px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.5s all ease;
}
@media (max-width: 768px) {
  .nextBtn {
    width: 42px;
    height: 42px;
    right: 5%;
  }
}
.nextBtn svg {
  width: 13px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.5s all ease;
}
.nextBtn:hover {
  background: #fff;
}
.nextBtn:hover svg .cls-1 {
  stroke: #000;
}
.nextBtn.is-show {
  opacity: 1;
  transform: translateY(0);
}
.nextBtn.is-bk {
  border: 1px solid rgba(0, 0, 0, 0.8);
}
.nextBtn.is-bk svg .cls-1 {
  stroke: #000;
}
.nextBtn.is-bk:hover {
  background: #000;
}
.nextBtn.is-bk:hover svg .cls-1 {
  stroke: #fff;
}

.title {
  position: absolute;
  top: 50%;
  color: #fff;
  text-align: center;
  width: 100%;
  margin: auto;
  left: 0;
  right: 0;
  opacity: 0;
  transform: translateY(-30%);
  transition: all 1.2s cubic-bezier(0.32, 0.94, 0.6, 1);
}
.title-1 {
  width: 1420px;
}
@media (max-width: 1500px) {
  .title-1 {
    width: 743px;
  }
}
@media (max-width: 768px) {
  .title-1 {
    width: 95%;
  }
}
.title.is-show {
  opacity: 1;
  transform: translateY(-50%);
}

.scroll {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 90px;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
  opacity: 0;
  transform: translateY(-10px);
  transition: 1s opacity ease, 1s transform ease;
}
.scroll p {
  position: absolute;
  top: -30px;
  left: -24px;
  font-family: "Montserrat-Medium";
  font-size: 11px;
  letter-spacing: 0.1em;
  color: #fff;
  transform: rotate(-90deg);
  transform-origin: center top;
}
.scroll::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: 30px;
  background: #eee;
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
.scroll.is-show {
  opacity: 1;
  transform: translateY(0);
}

.sidenavi {
  position: fixed;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) translateX(10px);
  z-index: 990;
  transition: 0.5s opacity ease;
  opacity: 0;
  transition: 0.5s opacity ease, 0.5s transform ease;
}
@media (max-width: 768px) {
  .sidenavi {
    opacity: 0;
  }
  .sidenavi.is-show {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}
.sidenavi.is-start {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
.sidenavi__cell {
  display: block;
  width: 8px;
  height: 8px;
  border: 1px solid #fff;
  border-radius: 50%;
  margin: 20px 0;
  transition: 0.5s all ease;
}
.sidenavi__cell.is-current {
  background: #fff;
}
.is-bk .sidenavi__cell {
  border: 1px solid #000;
}
.is-bk .sidenavi__cell.is-current {
  background: #000;
}
@media (max-width: 768px) {
  .sidenavi {
    right: 3%;
  }
  .sidenavi__cell {
    width: 6px;
    height: 6px;
    margin: 16px 0;
  }
}

.block {
  position: relative;
  height: auto;
  box-sizing: border-box;
  overflow: hidden;
}
@media (max-width: 768px) {
  .block {
    padding: 150px 0;
  }
}
.block__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 1200px;
  height: 100%;
  z-index: -1;
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  background-repeat: no-repeat;
  transition: transform 20s ease;
}
@media (max-width: 768px) {
  .block__bg {
    min-width: inherit;
    background-attachment: inherit;
  }
}
.block__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.block__bg.is-show {
  transform: scale(1.2);
}
.block__wrap {
  width: 100%;
  height: auto;
  min-height: 100vh;
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .block__wrap {
    min-height: inherit;
  }
}
.block__inner {
  color: #fff;
  padding: 0 0 0 260px;
}
@media (max-width: 768px) {
  .block__inner {
    padding: 0 8% 0 5%;
  }
}
.block__inner-title {
  font-family: "Montserrat-SemiBold";
  font-size: 14px;
  letter-spacing: 0.12em;
  line-height: 1em;
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 1.2s cubic-bezier(0.32, 0.94, 0.6, 1), transform 1.2s cubic-bezier(0.32, 0.94, 0.6, 1);
}
@media (max-width: 768px) {
  .block__inner-title {
    font-size: 11px;
  }
}
.block__inner-copy {
  margin-top: 60px;
  font-size: 26px;
  font-weight: bold;
  line-height: 100%;
  letter-spacing: 0.22em;
  vertical-align: middle;
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 1.2s cubic-bezier(0.32, 0.94, 0.6, 1) 1.2s, transform 1.2s cubic-bezier(0.32, 0.94, 0.6, 1) 1.2s;
}
@media (max-width: 768px) {
  .block__inner-copy {
    margin-top: 48px;
    font-size: 5vw;
  }
}
.block__inner-copy small {
  display: block;
  font-size: 16px;
  margin: 10px 0 0 -8px;
}
@media (max-width: 768px) {
  .block__inner-copy small {
    margin: 10px 0 0 -1.5vw;
    font-size: 3.2vw;
    line-height: 1;
  }
}
.block__inner-text {
  margin-top: 60px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 230%;
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 1.2s cubic-bezier(0.32, 0.94, 0.6, 1) 2s, transform 1.2s cubic-bezier(0.32, 0.94, 0.6, 1) 2s;
}
@media (max-width: 768px) {
  .block__inner-text {
    margin-top: 48px;
    font-size: 3vw;
  }
}
.block__inner-icon {
  position: relative;
  width: 120px;
  height: 120px;
  margin-top: 80px;
}
.block__inner-icon img {
  width: 100%;
  position: absolute;
}
.block__inner-icon-0, .block__inner-icon-on {
  opacity: 0;
  transition: all 1.2s cubic-bezier(0.32, 0.94, 0.6, 1) 2s;
}
.block__inner-icon-on {
  transition-delay: 2.5s;
}
@media (max-width: 768px) {
  .block__inner-icon {
    display: none;
  }
}
.block__inner.is-show .block__inner-title,
.block__inner.is-show .block__inner-copy,
.block__inner.is-show .block__inner-text,
.block__inner.is-show .block__inner-icon-0,
.block__inner.is-show .block__inner-icon-on {
  opacity: 1;
  transform: translateX(0);
}
.block__img {
  position: absolute;
  top: 50%;
  right: 15%;
  opacity: 0;
  transition: 1s opacity ease 2.8s, 1s transform ease 2.8s;
  width: 600px;
  transform: translateY(-50%) scale(0.95);
}
.block__img.is-show {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
@media (max-width: 1700px) {
  .block__img {
    right: 10%;
    width: 500px;
  }
}
@media (max-width: 1300px) {
  .block__img {
    right: 5%;
    width: 400px;
  }
}
@media (max-width: 768px) {
  .block__img {
    position: relative;
    top: inherit;
    right: inherit;
    transform: none;
    width: 40%;
    margin-top: 40px;
    transition-delay: 0s;
  }
  .block__img.is-show {
    transform: none;
  }
}
.block_0 .block__bg {
  background-image: url(../img/bg0.jpg);
}
.block_1 .block__bg {
  background-image: url(../img/bg1.jpg);
}
@media (max-width: 768px) {
  .block_1 .block__bg {
    background-image: url(../img/bg1_sp.jpg);
  }
}
.block_2 .block__bg {
  background-image: url(../img/bg2.jpg);
}
@media (max-width: 768px) {
  .block_2 .block__bg {
    background-image: url(../img/bg2_sp.jpg);
    background-position: center bottom;
  }
}
.block_3 .block__bg {
  background-image: url(../img/bg3.jpg);
}
@media (max-width: 768px) {
  .block_3 .block__bg {
    background-image: url(../img/bg3_sp.jpg);
  }
}
.block_4 .block__bg {
  background-image: url(../img/bg4.jpg);
}
.block_5 .block__bg {
  background-image: url(../img/bg5.jpg);
}
@media (max-width: 768px) {
  .block_5 .block__bg {
    background-image: url(../img/bg5_sp.jpg);
  }
}
.block_6 .block__bg {
  background-image: url(../img/bg6.jpg);
}
@media (max-width: 768px) {
  .block_6 .block__bg {
    background-image: url(../img/bg6_sp.jpg);
  }
}
.block_7 .block__bg {
  background-image: url(../img/bg7.jpg);
}
@media (max-width: 768px) {
  .block_7 .block__bg {
    background-image: url(../img/bg7_sp.jpg);
  }
}
.block_8 .block__bg {
  background-image: url(../img/bg8.jpg);
}
@media (max-width: 768px) {
  .block_8 .block__bg {
    background-image: url(../img/bg8_sp.jpg);
  }
}

.block_0 {
  min-height: 100vh;
}

.block_1 .block__inner-copy {
  line-height: 200%;
}
@media (max-width: 768px) {
  .block_1 .block__inner-copy {
    font-size: 5vw;
  }
}

@media (max-width: 768px) {
  .block_2 {
    padding-bottom: 250px;
  }
}
.block_2 .block__inner-copy {
  font-size: 50px;
  line-height: 140%;
}
@media (max-width: 768px) {
  .block_2 .block__inner-copy {
    font-size: 7.5vw;
  }
}
@media (max-width: 768px) {
  .block_2 .block__inner-text {
    font-size: 3.3vw;
  }
}
.block_2 .block__img {
  width: 520px;
}
@media (max-width: 1500px) {
  .block_2 .block__img {
    right: 8%;
    width: 400px;
  }
}
@media (max-width: 1400px) {
  .block_2 .block__img {
    right: 10%;
    width: 300px;
    margin: 130px auto 0;
  }
}
@media (max-width: 768px) {
  .block_2 .block__img {
    display: block;
    width: 80%;
    margin: 40px auto 0;
    right: inherit;
  }
}

.block_9 {
  min-height: 100vh;
}
.block_9 .block__wrap {
  justify-content: center;
}
.block_9__title {
  width: 1100px;
  opacity: 0;
  transition: opacity 1s ease 1s;
}
@media (min-width: 1500px) {
  .block_9__title {
    width: 1355px;
  }
}
@media (max-width: 768px) {
  .block_9__title {
    width: 95%;
  }
}
.block_9__title img {
  width: 100%;
}
.block_9__titlejp {
  margin-top: 40px;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.17em;
  line-height: 150%;
  color: #000;
  text-align: center;
  opacity: 0;
  transition: opacity 1s ease 1s;
}
@media (max-width: 768px) {
  .block_9__titlejp {
    font-size: 20px;
    margin-top: 30px;
  }
}
.block_9__img {
  display: block;
  width: 348px;
  margin: 90px auto 0;
  opacity: 0;
  transition: opacity 1s ease 1.5s;
}
@media (max-width: 768px) {
  .block_9__img {
    margin: 40px auto 0;
    width: 260px;
  }
}
.block_9 .block__inner {
  padding: 0;
}
@media (max-width: 768px) {
  .block_9 .block__inner {
    padding: 0 5% 0 8%;
  }
}
.block_9 .block__inner.is-show .block_9__title,
.block_9 .block__inner.is-show .block_9__titlejp,
.block_9 .block__inner.is-show .block_9__img {
  opacity: 1;
}
.block_9 .block__bg {
  background: #f8f8f8;
}
.block_9 .block__bg img {
  opacity: 0;
  transform: scale(0.95);
  transition: all 1s cubic-bezier(0.32, 0.94, 0.6, 1) 0.5s;
}
.block_9 .block__bg.is-show img {
  opacity: 1;
  transform: scale(1);
}

.block_10 {
  background: #f8f8f8;
  padding: 90px 0;
}
.block_10 .block__inner {
  color: #000;
  padding: 0;
}
@media (max-width: 768px) {
  .block_10 .block__inner {
    padding: 0 5% 0 8%;
  }
}
.block_10 .block__inner-title {
  text-align: center;
}
@media (max-width: 768px) {
  .block_10 .block__inner-title {
    text-align: left;
  }
}
.block_10 .block__inner-copy {
  text-align: center;
  font-size: 34px;
}
@media (max-width: 768px) {
  .block_10 .block__inner-copy {
    text-align: left;
    font-size: 32px;
    line-height: 150%;
  }
}
.block_10 .block__inner-text {
  text-align: center;
}
@media (max-width: 768px) {
  .block_10 .block__inner-text {
    text-align: left;
    margin-bottom: 80px;
  }
}

.block_11 {
  display: block;
  min-height: inherit;
  padding: 0 0 30px;
  background: #fff;
}

.footer {
  margin: 0;
  text-align: center;
}
@media (max-width: 768px) {
  .footer {
    margin: 0;
  }
}
.footer__logo {
  width: 250px;
}
@media (max-width: 768px) {
  .footer__logo {
    width: 200px;
  }
}
.footer__copyright {
  margin: 50px 0 0;
  font-family: "Montserrat-Regular";
  font-size: 11px;
  letter-spacing: 0.12em;
  line-height: 20px;
}
@media (max-width: 768px) {
  .footer__copyright {
    margin: 20px 0 0;
  }
}

.is-pc {
  display: block;
}

.is-sp {
  display: none;
}

@media (max-width: 768px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}
[class*=swiper]:focus {
  outline: none;
}

.slide-media {
  position: relative;
  overflow: hidden;
}
.slide-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.block__slide {
  overflow: hidden;
}
.block__slide-inner {
  position: relative;
  box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 0;
}
.block__slide-inner .swiper {
  overflow: visible;
}
.block__slide-inner .swiper-slide {
  width: -moz-max-content;
  width: max-content;
}
.block__slide .slide {
  overflow: hidden;
  width: 30rem;
}
.block__slide .slide-media {
  padding-top: 62.5%;
}
.block__slide .slide-media img {
  height: calc(100% + 16px);
}
.block__slide .slide-content {
  margin-top: 14px;
  display: flex;
  gap: 14px;
}
.block__slide .slide-content img {
  width: 48px;
}

@media only screen and (max-width: 599px) {
  .block__slide .slide {
    width: 20rem;
  }
}
@media only screen and (min-width: 1025px) {
  .block__slide .slide {
    transition: 0.3s all ease;
  }
  .block__slide .swiper:hover .slide:not(:hover) {
    opacity: 0.3;
  }
}
.swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  justify-content: center;
  margin-top: 3.2rem;
  text-align: center;
}
.swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  transition: 0.3s all ease;
  vertical-align: top;
  border: 1px solid #000;
  width: 20px;
  height: 10px;
  box-sizing: border-box;
}
.swiper-pagination-bullet-active {
  background-color: #000;
}

.modal {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s all ease;
}
.modal.is-show {
  opacity: 1;
  visibility: visible;
}
.modal__bk {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.95);
}
.modal__inner {
  display: none;
  position: absolute;
  align-items: center;
  justify-content: center;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  padding: 0 10%;
  box-sizing: border-box;
  transform: translateY(-50%);
  width: 90%;
  height: 90vh;
  background: rgba(248, 248, 248, 0.94);
  border-radius: 80px;
  box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .modal__inner {
    width: 90%;
    height: 90vh;
    padding: 20% 5%;
    box-sizing: border-box;
    overflow-y: auto;
    border-radius: 20px;
  }
}
.modal__inner.is-show {
  display: flex;
}
@media (max-width: 768px) {
  .modal__inner.is-show {
    display: block;
  }
}
.modal__inner-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .modal__inner-wrap {
    display: block;
  }
}
.modal__inner-info, .modal__inner-img, .modal__inner-imgs {
  width: 48%;
}
@media (max-width: 768px) {
  .modal__inner-info, .modal__inner-img, .modal__inner-imgs {
    width: 100%;
  }
}
.modal__inner-img {
  border-radius: 10px;
}
.modal__inner-imgs img {
  width: 100%;
  margin: 0 0 30px;
  border-radius: 10px;
}
.modal__inner-imgs__wrap {
  display: flex;
  justify-content: space-between;
}
.modal__inner-imgs__wrap img {
  width: 48%;
}
.modal__inner-title {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 0.22em;
  line-height: 130%;
}
@media (max-width: 768px) {
  .modal__inner-title {
    font-size: 22px;
    margin-top: 50px;
  }
}
.modal__inner-text {
  margin-top: 60px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 200%;
}
@media (max-width: 768px) {
  .modal__inner-text {
    font-size: 13px;
    margin-top: 30px;
  }
}
.modal__inner-icon {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
}
.modal__inner-icon img {
  width: 110px;
  margin: 0 12px 12px 0;
}
@media (max-width: 768px) {
  .modal__inner-icon img {
    width: 80px;
  }
}
.modal__close {
  position: fixed;
  display: flex;
  align-items: center;
  top: 50px;
  right: 45px;
  cursor: pointer;
  z-index: 999;
  font-family: "Montserrat-Regular";
  font-size: 16px;
  letter-spacing: 0.25em;
}
@media (max-width: 768px) {
  .modal__close {
    top: 22px;
    right: 5%;
    font-size: 10px;
  }
}
.modal__close span {
  position: relative;
  width: 64px;
  height: 64px;
  margin: 0 0 0 6px;
}
@media (max-width: 768px) {
  .modal__close span {
    width: 32px;
    height: 32px;
  }
}
.modal__close span::before, .modal__close span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background: #000;
}
.modal__close span::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal__close span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.cardsp .swiper-wrapper,
.cardsp_reverse .swiper-wrapper {
  transition-timing-function: linear !important;
}

.cardsp .block__slide-inner,
.cardsp_reverse .block__slide-inner {
  padding: 5px 0;
}

.pc-only {
  display: block;
}
@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

.p-library {
  position: relative;
  background: #F2F2F2;
  overflow-x: hidden;
}
.p-library-header {
  background: #081B91;
  width: 100%;
  height: 130px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
.p-library-header.is-menu-show {
  background: #081B91;
}
@media (max-width: 768px) {
  .p-library-header {
    height: 70px;
  }
}
.p-library-header .spmenu__body {
  background: rgba(0, 64, 180, 0.9);
}
.p-library-contents {
  margin: 130px 0 0 0;
}
@media (max-width: 768px) {
  .p-library-contents {
    margin: 70px 0 0 0;
  }
}
.p-library-contents__inner {
  margin: 60px auto 0;
}
@media (max-width: 768px) {
  .p-library-contents__inner {
    margin: 40px auto 0;
  }
}
.p-library .visual_M {
  background: url("../img/img_main.jpg") center center;
  background-size: auto;
  background-size: cover;
}
.p-library .visual_M .page_title {
  width: 25%;
}
@media (max-width: 768px) {
  .p-library .visual_M .page_title {
    top: 50%;
    transform: translateY(-50%);
  }
}
.p-library-title {
  border-left: 5px solid #081B91;
  font-size: 30px;
  color: #081B91;
  padding: 0 0 0 10px;
  font-weight: bold;
  margin: 0 0 30px 0;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .p-library-title {
    font-size: 20px;
    margin: 0 0 20px 0;
  }
}
.p-library-text {
  font-size: 16px;
  line-height: 1.75;
}
@media (max-width: 768px) {
  .p-library-text {
    font-size: 15px;
  }
}
.p-library-column {
  display: flex;
  justify-content: space-between;
  margin: 0 0 60px 0;
}
@media (max-width: 768px) {
  .p-library-column {
    flex-direction: column;
  }
}
.p-library-column__text {
  width: 55%;
}
@media (max-width: 768px) {
  .p-library-column__text {
    width: 100%;
    margin: 10px 0;
  }
}
.p-library-column__figure {
  width: 40%;
}
@media (max-width: 768px) {
  .p-library-column__figure {
    width: 100%;
    margin: 10px 0;
  }
}
.p-library-column__figure a {
  display: block;
  width: 100%;
  height: 100%;
}
.p-library-column__figure a img {
  width: 100%;
}
.p-library__sdgs {
  display: flex;
  justify-content: space-between;
}
.p-library__sdgs__item {
  width: 30%;
}
.p-library__sdgs__item img {
  width: 100%;
}
.p-library-address {
  background: #F2F3F9;
  padding: 20px;
  margin: 30px 0 0 0;
}
.p-library-address ul li {
  line-height: 2;
}
.p-library-address ul li::before {
  content: "●";
  color: #081B91;
  margin: 0 10px 0 0;
}
.p-library-address ul li a {
  text-decoration: underline !important;
  display: inline-block;
}
.p-library-history {
  position: relative;
}
.p-library-history::before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  left: 50px;
  top: 0;
  background: #081B91;
}
@media (max-width: 768px) {
  .p-library-history::before {
    left: 25px;
  }
}
.p-library-history__item {
  display: flex;
  padding: 0 0 0 120px;
  margin: 0 0 60px 0;
  position: relative;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .p-library-history__item {
    padding: 0 0 0 80px;
  }
}
.p-library-history__item::before {
  content: "";
  background: url(../img/icon_book.svg) center/contain no-repeat;
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 768px) {
  .p-library-history__item::before {
    width: 50px;
    height: 50px;
  }
}
.p-library-history__item__date {
  font-size: 19px;
  color: #081B91;
  padding: 37px 0 0 0;
  font-weight: bold;
}
@media (max-width: 768px) {
  .p-library-history__item__date {
    font-size: 18px;
    padding: 10px 0 0 0;
  }
}
.p-library-history__item__date span {
  font-size: 24px;
}
@media (max-width: 768px) {
  .p-library-history__item__date span {
    font-size: 22px;
  }
}
.p-library-history__item__figure {
  width: 300px;
}
@media (max-width: 768px) {
  .p-library-history__item__figure {
    width: 100%;
    margin: 10px 0;
  }
}
.p-library-history__item__figure img {
  width: 100%;
  height: auto;
}
.p-library-history__item .p-library-text {
  width: 380px;
}
@media (max-width: 768px) {
  .p-library-history__item .p-library-text {
    width: 100%;
  }
}
.p-library-banner {
  max-width: 750px;
  width: 100%;
  margin: 80px auto;
}
.p-library-banner img {
  width: 100%;
  height: auto;
}
.p-library #FOOTER {
  padding: 80px 0 30px;
}
.p-library .footer__logo2 {
  margin-top: 20px;
  width: 225px;
}
.p-library .fancybox-content {
  height: 100vh !important;
  width: 90% !important;
  background: none !important;
}
@media (max-width: 768px) {
  .p-library .fancybox-content {
    height: auto !important;
  }
}
.p-library .fancybox-iframe {
  background: none !important;
}
.p-library :host(audio), .p-library :host(video.media-document.audio), .p-library * {
  --inline-controls-bar-height: 31px;
}/*# sourceMappingURL=library.css.map */