@charset "UTF-8";
/**
* Foundation
* ========================== */
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

img {
  width: 100%;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

*:focus {
  outline: none;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
レスポンシブ ---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
フォント
---------------------------------------------------*/
@font-face {
  font-family: "avenir-next";
  src: url("../../font/AvenirNext-DemiBold-03.woff") format("woff"), url("../../font/AvenirNext-DemiBold-03.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "avenir-next";
  src: url("../../font/AvenirNext-Medium-06.woff") format("woff"), url("../../font/AvenirNext-Medium-06.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "avenir-next";
  src: url("../../font/AvenirNext-Regular-08.woff") format("woff"), url("../../font/AvenirNext-Regular-08.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "avenir-next";
  src: url("../../font/AvenirNext-UltraLight-11.woff") format("woff"), url("../../font/AvenirNext-UltraLight-11.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}
body {
  font-family: "avenir-next", "Zen Kaku Gothic New", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

/*---------------------------------------------------
カラー
---------------------------------------------------*/
/*---------------------------------------------------
固定値
---------------------------------------------------*/
/* スクロールバーの幅 */
/* 下層ページのヘッダーの高さ */
/*---------------------------------------------------
テキスト選択時の色
---------------------------------------------------*/
#stage-air ::-moz-selection {
  background: #E0F4FF;
}
#stage-air ::selection {
  background: #E0F4FF;
}

#stage-shallow ::-moz-selection {
  background: white;
}

#stage-shallow ::selection {
  background: white;
}

#stage-shallow {
  position: relative;
}

#stage-middle ::-moz-selection {
  background: #98C1D2;
}

#stage-middle ::selection {
  background: #98C1D2;
}

#stage-deep ::-moz-selection {
  background: #81AEC4;
}

#stage-deep ::selection {
  background: #81AEC4;
}

/*---------------------------------------------------
文字サイズ・太さ・行の高さ・字間
---------------------------------------------------*/
html {
  font-size: 100%;
  height: 100%;
  margin: 0;
  font-size: 100%;
}
@media (max-width: 900px) {
  html {
    font-size: 3.8647342995vw;
  }
}

body {
  font-size: 1rem;
  line-height: 2;
  font-weight: 400;
  color: #333;
  height: 100%;
  margin: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  width: 100vw; /* 追加 */
}
@media (max-width: 900px) {
  body {
    width: initial;
    font-size: 0.875rem;
    overflow-y: initial;
  }
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.main {
  position: relative;
  height: 100%;
}

.box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}
.box img {
  max-width: 300px;
  width: 80%;
  margin-bottom: 30px;
}
.box p {
  letter-spacing: 0.1rem;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.slide-fade-enter-active, .slide-fade-leave-active {
  transition: all 2s ease;
}

.fade3-enter-active, .fade3-leave-active {
  transition: all 3s ease;
}

.fade05-enter-active, .fade05-leave-active {
  transition: all 0.5s ease;
}

.fade05-enter, .fade05-leave-to, .fade3-enter, .fade3-leave-to {
  opacity: 0;
}

.slide-fade-enter, .slide-fade-leave-to {
  transform: translate(0, 10px);
  opacity: 0;
}

.fadein-box__outer {
  min-height: 95px;
  height: 100%;
}
.fadein-box__inner {
  height: 100%;
}

.fadein-enter-active, .fadein-leave-active {
  transition-duration: 320ms, 640ms;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94), cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fadein-enter, .fadein-leave-to {
  transform: translate(0, 15px);
  opacity: 0;
}

/**
* Layout
* ========================== */
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.l-footer {
  padding-top: 78px;
  text-align: center;
  background: transparent;
}
@media (max-width: 900px) {
  .l-footer {
    padding-top: 21.2560386473vw;
  }
}

.l-footer__copyright__box {
  padding-top: 6.2em;
  padding-bottom: 16px;
  display: block;
  width: 100%;
  background: linear-gradient(rgba(0, 92, 135, 0), rgba(4, 65, 93, 0.99));
}
@media (max-width: 900px) {
  .l-footer__copyright__box {
    padding-bottom: 3.8647342995vw;
  }
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.l-header {
  width: 100%;
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.l-main.-sub {
  padding-top: 194px;
}
@media (max-width: 900px) {
  .l-main.-sub {
    padding-top: 28.2608695652vw;
  }
}

.l-container {
  width: 100%;
  max-width: 944px;
  padding-left: 72px;
  padding-right: 72px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 959px) {
  .l-container {
    padding-left: calc((100vw - 815px) / 2);
    padding-right: calc((100vw - 815px) / 2);
  }
}
@media (max-width: 900px) {
  .l-container {
    padding-left: 4.8309178744vw;
    padding-right: 4.8309178744vw;
  }
}
@media (max-width: 900px) {
  .l-container.-slim {
    padding-left: 7.2463768116vw;
    padding-right: 7.2463768116vw;
  }
}
@media (max-width: 900px) {
  .l-container.-sub {
    padding-left: 7.2463768116vw;
    padding-right: 7.2463768116vw;
  }
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.l-mv-note {
  position: relative;
  padding-top: 124px;
  padding-bottom: 109px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .l-mv-note {
    padding-top: 13.5265700483vw;
    padding-bottom: 26.5700483092vw;
  }
}

.l-news {
  position: relative;
  padding-top: 84px;
  padding-bottom: 128px;
  text-align: center;
}
@media (max-width: 900px) {
  .l-news {
    padding-top: 24.3961352657vw;
    padding-bottom: 0;
  }
}

.l-featured-books {
  position: relative;
}

.l-featured-books.-top {
  margin-top: -2px;
  text-align: center;
  padding-top: 192px;
  padding-bottom: 110px;
  position: relative;
  vertical-align: middle;
}
@media (max-width: 900px) {
  .l-featured-books.-top {
    padding-top: 23.1884057971vw;
    padding-bottom: 8.4541062802vw;
  }
}

.l-featured-books.-top::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  background-color: #E0F4FF;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: 1s background-color;
}
@media (max-width: 900px) {
  .l-featured-books.-top::before {
    transition: 0.3s background-color;
  }
}

.v-home.-middle .l-featured-books.-top::before,
.v-home.-deep .l-featured-books.-top::before {
  background-color: transparent;
}

.l-instagram {
  text-align: center;
  padding-top: 110px;
  padding-bottom: 110px;
  position: relative;
  vertical-align: middle;
}
@media (max-width: 900px) {
  .l-instagram {
    padding-top: 19.3236714976vw;
  }
}

.l-instagram::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  background-color: #E0F4FF;
  mix-blend-mode: multiply;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: 1s background-color;
}
@media (max-width: 900px) {
  .l-instagram::before {
    transition: 0.3s background-color;
  }
}

.v-home.-middle .l-instagram::before,
.v-home.-deep .l-instagram::before {
  background-color: transparent;
}

.l-fooddrink {
  padding-top: 110px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 900px) {
  .l-fooddrink {
    padding-top: 36.231884058vw;
    padding-bottom: 9.6618357488vw;
  }
}

.l-fooddrink::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  background-color: #E0F4FF;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  transition: 1s background-color;
}
@media (max-width: 900px) {
  .l-fooddrink::before {
    transition: 0.3s background-color;
  }
}

.v-home.-middle .l-fooddrink::before,
.v-home.-deep .l-fooddrink::before {
  background-color: transparent;
}

.l-pleasure {
  position: relative;
  padding-top: 84px;
  padding-bottom: 131px;
}
@media (max-width: 900px) {
  .l-pleasure {
    padding-top: 10.6280193237vw;
    padding-bottom: 26.5700483092vw;
  }
}

.l-access {
  position: relative;
  padding-top: 131px;
  padding-bottom: 131px;
  overflow-x: hidden;
  overflow-y: auto;
}
@media (max-width: 900px) {
  .l-access {
    padding-top: 26.5700483092vw;
    padding-bottom: 25.3623188406vw;
  }
}

.l-contact {
  position: relative;
  padding-top: 131px;
  padding-bottom: 88px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .l-contact {
    padding-top: 25.3623188406vw;
    padding-bottom: 21.2560386473vw;
  }
}

.p-bg-books {
  z-index: 0;
  position: fixed;
  width: 60px;
  top: -10px;
  left: 144px;
  opacity: 0;
}
.p-bg-books.-air {
  fill: #E9F5F2;
}
.p-bg-books.-shallow {
  fill: #D9EEF3;
}
.p-bg-books.-middle {
  fill: #3D8CA6;
}
.p-bg-books.-deep {
  fill: #156C8D;
}
.p-bg-books.-top {
  transition: 1s opacity;
}
@media (max-width: 1440px) {
  .p-bg-books {
    left: 10vw;
  }
}
@media (max-width: 1020px) {
  .p-bg-books {
    left: calc((100vw - 800px) / 2 - 30px);
  }
}
@media (max-width: 900px) {
  .p-bg-books {
    width: 8.6956521739vw;
    left: 2.8985507246vw;
  }
}
.p-bg-books.-sub {
  z-index: -1;
  mix-blend-mode: multiply;
}

.v-home {
  opacity: 0;
  transition: 1s background-image, 1s background-color, 0.5s opacity;
  height: auto;
}
@media (max-width: 900px) {
  .v-home {
    transition: 1s background-image, 0.4s background-color, 0.5s opacity;
  }
}
.v-home.-sub {
  opacity: 1;
}
.v-home.-loaded {
  opacity: 1;
}

.v-home.-air .p-bg-books.-air {
  opacity: 1;
}

@-webkit-keyframes balloon {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0.8;
  }
  80% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}

@keyframes balloon {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 0.8;
  }
  80% {
    opacity: 0.8;
  }
  100% {
    opacity: 0;
  }
}
.v-home.-shallow .p-bg-books.-shallow {
  opacity: 1;
}

.v-home.-middle .p-bg-books.-middle {
  opacity: 1;
}
.v-home.-middle .p-header__omori__rope__balloon__img.-middle {
  -webkit-animation: balloon 2s ease-in 1;
          animation: balloon 2s ease-in 1;
}

.v-home.-deep .p-bg-books.-deep {
  opacity: 1;
}
.v-home.-deep .p-header__omori__rope__balloon__img.-deep {
  -webkit-animation: balloon 2s ease-in 1;
          animation: balloon 2s ease-in 1;
}

.p-header__omori__rope__balloon__img.-footer {
  transition: opacity 1s;
  transform: translate(-24%, 0);
}

.p-header__omori__rope__balloon__img.-footer.-foot {
  opacity: 0.9;
}

.p-bg {
  opacity: 0;
  position: fixed;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1s;
}
.p-bg.-middle {
  background-color: #3282A5;
}
.p-bg.-deep {
  background-color: #005C87;
}

.v-home.-middle {
  color: white;
}
.v-home.-middle .p-bg.-middle {
  opacity: 1;
}
.v-home.-middle .p-bg-books {
  fill: #3D8CA6;
}

.v-home.-deep {
  color: white;
}
.v-home.-deep .p-bg.-deep {
  opacity: 1;
}
.v-home.-deep .p-bg-books {
  fill: #156C8D;
}

.l-sub-sec {
  margin-bottom: 120px;
}
@media (max-width: 900px) {
  .l-sub-sec {
    margin-bottom: 11.5942028986vw;
  }
}

/**
* Object
* ========================== */
/* Component ------------ */
.c-loading {
  width: 100vw;
  height: 100%;
  z-index: 1000;
  position: absolute;
  background-color: #E0F4FF;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.c-button {
  display: inline-block;
  min-width: 240px;
  padding-top: 1em;
  padding-bottom: 1em;
  padding-left: 2em;
  padding-right: 2em;
  line-height: 1.4;
  border-radius: 100px;
  text-decoration: none;
  transition: 0.25s all;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  color: white;
  background-color: #005C87;
  border: solid 1px #005C87;
  position: relative;
}
@media (max-width: 900px) {
  .c-button {
    min-width: 48.309178744vw;
    font-size: 0.8125rem;
    padding-top: 1em;
    padding-bottom: 1em;
    border: solid 0.2415458937vw #005C87;
  }
}
@media (min-width: 900px) {
  .c-button.-more:hover {
    color: white;
    background-color: #3199CB;
    border: solid 1px #3199CB;
  }
  .c-button.-more:hover::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" preserveAspectRatio="none"><path fill="%23fff" d="M0,10c0,5.52,4.48,10,10,10s10-4.48,10-10S15.52,0,10,0,0,4.48,0,10Zm11.76,0l-3.94-3.9c-.34-.38-.3-.97,.08-1.31,.35-.31,.87-.31,1.22,0l4.59,4.6c.35,.35,.36,.91,.03,1.28l-4.52,4.53c-.36,.36-.95,.36-1.31,0-.36-.36-.36-.95,0-1.31l3.84-3.89Z" /></svg>');
  }
}
.c-button.-more::before {
  transition: 0.25s all;
  position: absolute;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" preserveAspectRatio="none"><path fill="%23fff" d="M0,10c0,5.52,4.48,10,10,10s10-4.48,10-10S15.52,0,10,0,0,4.48,0,10Zm11.76,0l-3.94-3.9c-.34-.38-.3-.97,.08-1.31,.35-.31,.87-.31,1.22,0l4.59,4.6c.35,.35,.36,.91,.03,1.28l-4.52,4.53c-.36,.36-.95,.36-1.31,0-.36-.36-.36-.95,0-1.31l3.84-3.89Z" /></svg>');
  right: 0;
  top: 50%;
  transform: translate(-70%, -50%);
}
@media (max-width: 900px) {
  .c-button.-more::before {
    width: 4.8309178744vw;
    height: 4.8309178744vw;
    background-size: 4.8309178744vw 4.8309178744vw;
  }
}
@media (min-width: 900px) {
  .c-button.-instagram:hover {
    background-color: #3199CB;
    border: solid 1px #3199CB;
  }
}
.c-button.-instagram::before {
  position: absolute;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 14.997" preserveAspectRatio="none"><path fill="%23fff" d="M7.5,5.891a3.845,3.845,0,1,0,3.845,3.845A3.839,3.839,0,0,0,7.5,5.891Zm0,6.345a2.5,2.5,0,1,1,2.5-2.5A2.5,2.5,0,0,1,7.5,12.236Zm4.9-6.5a.9.9,0,1,1-.9-.9A.895.895,0,0,1,12.4,5.734Zm2.547.91A4.438,4.438,0,0,0,13.731,3.5,4.467,4.467,0,0,0,10.588,2.29c-1.238-.07-4.949-.07-6.187,0A4.461,4.461,0,0,0,1.259,3.5,4.453,4.453,0,0,0,.047,6.641c-.07,1.238-.07,4.949,0,6.187A4.438,4.438,0,0,0,1.259,15.97,4.473,4.473,0,0,0,4.4,17.182c1.238.07,4.949.07,6.187,0a4.438,4.438,0,0,0,3.142-1.211,4.467,4.467,0,0,0,1.211-3.142c.07-1.238.07-4.946,0-6.184Zm-1.6,7.513a2.531,2.531,0,0,1-1.426,1.426,16.527,16.527,0,0,1-4.421.3,16.656,16.656,0,0,1-4.421-.3A2.531,2.531,0,0,1,1.65,14.157a16.527,16.527,0,0,1-.3-4.421,16.656,16.656,0,0,1,.3-4.421A2.531,2.531,0,0,1,3.076,3.89a16.528,16.528,0,0,1,4.421-.3,16.656,16.656,0,0,1,4.421.3,2.531,2.531,0,0,1,1.426,1.426,16.528,16.528,0,0,1,.3,4.421A16.518,16.518,0,0,1,13.342,14.157Z" transform="translate(0.006 -2.238)" /></svg>');
  right: 0;
  top: 50%;
  transform: translate(-110%, -50%);
}
@media (max-width: 900px) {
  .c-button.-instagram::before {
    width: 3.6231884058vw;
    height: 3.6231884058vw;
    background-size: 3.6231884058vw 3.6231884058vw;
  }
}
.c-button.-close {
  min-width: 120px;
  color: #333;
  background-color: #EBEBEB;
  border: solid 1px #EBEBEB;
  cursor: pointer;
}
@media (max-width: 900px) {
  .c-button.-close {
    min-width: 28.9855072464vw;
  }
}
@media (min-width: 900px) {
  .c-button.-close:hover {
    background-color: #dfdfdf;
  }
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.inquiry {
  width: 100%;
  max-width: 640px;
  margin: auto;
}

.inquiry th {
  text-align: left;
  padding-right: 5px;
  width: 30%;
  padding: 20px 0;
  font-weight: 500;
}
@media (max-width: 599px) {
  .inquiry th {
    padding: 0;
  }
}

.inquiry td {
  padding: 20px 0;
}
@media (max-width: 599px) {
  .inquiry td {
    padding: 10px 0 30px;
  }
}

.inquiry input,
.inquiry textarea {
  border: 1px solid #dedede;
  width: 100%;
  padding: 5px 10px;
  border-radius: 4px;
  text-align: left;
  background: white;
  -webkit-text-decoration-color: white;
          text-decoration-color: white;
}

.haveto {
  font-size: 7px;
  padding: 4px;
  background: #ff6f6f;
  color: #fff;
  border-radius: 2px;
  margin-right: 5px;
  position: relative;
  bottom: 1px;
  margin-left: 20px;
}

.any {
  font-size: 7px;
  padding: 5px;
  background: #93c9ff;
  color: #fff;
  border-radius: 2px;
  margin-right: 5px;
  position: relative;
  bottom: 1px;
}

/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item {
  display: block;
}

.form-box {
  margin-top: 30px;
  position: relative;
  text-align: center;
  background: black;
  width: 100px;
  height: 100px;
  border-radius: 100px;
  margin: auto;
  color: white;
  margin-top: 30px;
}
.form-box input {
  width: 100px;
  height: 100px;
  font-weight: 500;
  font-size: 1.3rem;
}
.form-box:after {
  width: 100px;
  height: 100px;
  display: block;
  content: "";
  background-color: white;
  border-radius: 100px;
  position: absolute;
  top: 0;
  transform: scale(0);
  transition: 0.3s;
}
@media (min-width: 900px) {
  .form-box:hover {
    color: black;
    transition: 0.3s;
    z-index: 1;
    background-color: transparent;
  }
  .form-box:hover:after {
    transform: scale(1);
    transition: 0.3s;
    z-index: -1;
  }
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7 .ajax-loader {
  display: none;
}

/*スマホContact Form 7カスタマイズ*/
@media (max-width: 599px) {
  .inquiry th,
.inquiry td {
    display: block !important;
    width: 100% !important;
    border-top: none !important;
    box-sizing: border-box !important;
  }
  /* 必須・任意のサイズ調整 */
  .inquiry .haveto,
.inquiry .any {
    font-size: 10px;
  }
}
input[type=submit] {
  display: inline-block;
  border-radius: 4px; /* 角丸       */
  font-size: 1rem; /* 文字サイズ */
  text-align: center; /* 文字位置   */
  cursor: pointer; /* カーソル   */
  padding: 1.2em 1em; /* 余白       */
  background-color: #04415D; /* 背景色     */
  color: #ffffff; /* 文字色     */
  line-height: 1em; /* 1行の高さ  */
  transition: 0.25s; /* なめらか変化 */
  border: 1px solid #04415D; /* 枠の指定 */
  min-width: 374px;
}
@media (min-width: 900px) {
  input[type=submit]:hover {
    background-color: #3199CB; /* 背景色     */
    border: 1px solid #3199CB; /* 枠の指定 */
  }
}
@media (max-width: 900px) {
  input[type=submit] {
    border-radius: 0.9661835749vw; /* 角丸       */
    border: 0.2415458937vw solid #04415D; /* 枠の指定 */
    width: 100%;
    min-width: initial;
  }
}

input[type=date] {
  position: relative;
}

/* create a new arrow, because we are going to mess up the native one
see "List of symbols" below if you want another, you could also try to add a font-awesome icon.. */
input[type=date]:after {
  font-family: FontAwesome;
  content: "\f073"; /* FontAwesome Webアイコンここに設定 */
  color: white;
  padding: 0 5px;
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translate(0, -50%);
}

/* change color of symbol on hover */
input[type=date]:hover:after {
  color: #005C87;
}

/* make the native arrow invisible and stretch it over the whole field so you can click anywhere in the input field to trigger the native datepicker*/
input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  color: transparent;
  background: transparent;
  z-index: 100;
}

/* adjust increase/decrease button */
input[type=date]::-webkit-inner-spin-button {
  z-index: 1;
}

/* adjust clear button */
input[type=date]::-webkit-clear-button {
  z-index: 1;
}

input[type=date]::-moz-placeholder {
  color: white;
}

input[type=date]:-ms-input-placeholder {
  color: white;
}

input[type=date]::placeholder {
  color: white;
}

input::-webkit-datetime-edit-fields-wrapper {
  display: inline-block;
  color: white;
  white-space: pre;
  -webkit-user-modify: read-only !important;
  padding: 1px 0px;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
#g-nav {
  position: fixed;
  z-index: 999;
  top: 0;
  right: -120%;
  width: 80%;
  height: 100%;
  background: #f2f2f2;
  transition: all 0.5s;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  max-width: 340px;
}

#g-nav.panelactive {
  right: 0;
}

.c-g-nav__wrapper {
  padding: 80px 20px 50px 20px;
  overflow: scroll;
  height: 100%;
}
.c-g-nav__logo {
  width: 170px;
}
.c-g-nav__tagline {
  margin-top: 10px;
  line-height: 1.6;
  font-size: 1.2rem;
  font-weight: 500;
}
.c-g-nav__title {
  font-size: 1.5rem;
  margin-top: 30px;
  margin-bottom: 5px;
}
.c-g-nav__list__items {
  list-style: none;
}
.c-g-nav__list__items__img {
  width: 10px;
  position: absolute;
  left: 6px;
  top: 18px;
}
.c-g-nav__list__items a {
  font-family: "avenir-next", sans-serif;
  color: #333;
  font-size: 1.4rem;
  text-decoration: none;
  padding: 15px 30px;
  font-weight: bold;
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  position: relative;
}
.c-g-nav__list__items:last-child a {
  border-bottom: 1px solid rgb(0, 0, 0);
}

.openbtn {
  position: fixed;
  z-index: 1000;
  top: 24px;
  right: 30px;
  cursor: pointer;
  width: 60px;
  height: 50px;
  border-radius: 100%;
}
@media (max-width: 599px) {
  .openbtn {
    top: 15px;
    right: 10px;
  }
}

.openbtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 100px;
  background-color: black;
}

.openbtn span:nth-of-type(1) {
  top: 15px;
  width: 50%;
}

.openbtn span:nth-of-type(2) {
  top: 23px;
  width: 45%;
  margin-left: 5%;
}

.openbtn span:nth-of-type(3) {
  top: 31px;
  width: 40%;
  margin-left: 10%;
}

.openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 19px;
  transform: translateY(6px) rotate(-45deg);
  width: 50%;
}

.openbtn.active span:nth-of-type(2) {
  width: 0;
  opacity: 0;
  margin-left: 50%;
}

.openbtn.active span:nth-of-type(3) {
  top: 30px;
  left: 13px;
  transform: translateY(-6px) rotate(45deg);
  width: 50%;
}

.bg {
  position: fixed;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 100;
  display: none;
}

.p-nav-vertical {
  position: fixed;
  z-index: 800;
  top: 40px;
  left: calc(72px - 1em);
  transition: opacity 0.3s;
  opacity: 0;
  pointer-events: none;
}
.p-nav-vertical.-active {
  opacity: 1;
  pointer-events: initial;
}
@media (max-width: 1080px) {
  .p-nav-vertical {
    display: none;
  }
}
@media (max-height: 900px) {
  .p-nav-vertical {
    top: 24px;
  }
}

.p-nav-vertical__list.-sub {
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.p-nav-vertical__list.-sub.-white a {
  text-shadow: none;
  color: #fff;
}

.p-nav-vertical__list__item {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  font-size: 0.875rem;
  color: #555;
  transition: border 0.1s;
  position: relative;
}
@media (max-height: 900px) {
  .p-nav-vertical__list__item {
    font-size: 0.8125rem;
  }
}
.p-nav-vertical__list__item::after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #7AC4B2;
  top: 0;
  right: 0;
  opacity: 0;
  transition: opacity 0.3s;
}
.p-nav-vertical__list__item.-active::after {
  opacity: 1;
}
@media (max-height: 770px) {
  .p-nav-vertical__list__item .-short {
    display: none;
  }
}

.v-home.-middle .p-nav-vertical__list__item {
  color: #fff;
}

.v-home.-deep .p-nav-vertical__list__item {
  color: #fff;
}

.p-nav-vertical__list__item + .p-nav-vertical__list__item {
  margin-top: 1.8em;
}
@media (max-height: 900px) {
  .p-nav-vertical__list__item + .p-nav-vertical__list__item {
    margin-top: 1.5em;
  }
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.c-spacer {
  padding-top: 0px;
}
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.c-title {
  color: #005C87;
  text-align: left;
}

.c-title-en {
  display: block;
  font-family: "avenir-next", sans-serif;
  font-size: 44px;
  line-height: 1;
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  margin-bottom: 0.26em;
  font-weight: 600;
}
@media (max-width: 900px) {
  .c-title-en {
    font-size: 2rem;
  }
}

.c-title-jp {
  font-weight: 500;
  display: block;
  font-size: 20px;
  line-height: 1;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
}
@media (max-width: 900px) {
  .c-title-jp {
    font-size: 0.9375rem;
  }
}

.c-title.-modal {
  text-align: center;
}
.c-title.-modal .c-title-en {
  font-size: 0.75rem;
  margin-bottom: 0.7em;
  font-weight: 600;
}
.c-title.-modal .c-title-jp {
  font-size: 1.25rem;
  color: #333;
  font-weight: 500;
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.c-wave {
  z-index: -1;
  position: relative;
  width: 100%;
  height: 200px; /*何も表示されない場合は各波の親要素に高さを持たせましょう。*/
  background: transparent; /*背景を塗りつぶして重ねた波を表現したい場合は、波を描画する親要素に波と同じ背景色を設定しましょう。*/
  border-bottom: #E0F4FF;
  font-size: 0;
  list-style: none;
}
@media (max-width: 900px) {
  .c-wave {
    height: 33.8164251208vw;
  }
}
.c-wave.-sub {
  z-index: 0;
  mix-blend-mode: initial;
  transform: translateY(1px);
}
.c-wave.-loading {
  height: 20vh;
}
@media (max-width: 900px) {
  .c-wave.-loading {
    height: 40vh;
  }
}

.c-canvas {
  list-style: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.modal {
  display: none;
}

.fancybox-slide {
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (max-width: 900px) {
  .fancybox-slide {
    padding-top: 7.2463768116vw;
    padding-bottom: 7.2463768116vw;
    padding-left: 4.8309178744vw;
    padding-right: 4.8309178744vw;
  }
}

.fancybox-content {
  max-width: 800px;
  border-radius: 10px;
  padding: 62px 80px;
}
@media (max-width: 900px) {
  .fancybox-content {
    padding-top: 14.4927536232vw;
    padding-bottom: 7.2463768116vw;
    padding-left: 3.8647342995vw;
    padding-right: 3.8647342995vw;
  }
}

.fancybox-close-small svg {
  display: none;
}

.fancybox-close-small {
  opacity: 1;
  background-color: #EBEBEB;
  border-radius: 100%;
  width: 30px;
  height: 30px;
  transition: 0.25s all;
  transform: translate(0, 100%);
}
@media (max-width: 900px) {
  .fancybox-close-small {
    width: 7.2463768116vw;
    height: 7.2463768116vw;
  }
}

.fancybox-close-small::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../../img/icon_btn-close.svg);
  background-size: 11px 11px;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 900px) {
  .fancybox-close-small::before {
    background-size: 2.6570048309vw 2.6570048309vw;
  }
}

.fancybox-content.modal .fancybox-close-small {
  transform: translate(-15px, 15px);
}
@media (max-width: 900px) {
  .fancybox-content.modal .fancybox-close-small {
    transform: translate(-3.6231884058vw, 3.6231884058vw);
  }
}

.fancybox-image {
  border-radius: 10px;
}

.fancybox-close-small {
  right: 0px !important;
  transform: none !important;
  background-color: transparent !important;
  top: -40px !important;
  width: 40px !important;
  height: 40px !important;
  top: -48px !important;
}

.fancybox-close-small::before {
  background-size: 24px !important;
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.l-modal-common {
  text-align: center;
  font-size: 1rem;
}
@media (max-width: 900px) {
  .l-modal-common {
    font-size: 0.875rem;
  }
}
.l-modal-common h2 {
  font-weight: 500;
  color: #005C87;
  font-size: 1.125rem;
  padding-bottom: 1.22em;
  background-image: url(../../img/modal-title-line.svg);
  background-size: 38px auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  margin-bottom: 1.5em;
}
@media (max-width: 900px) {
  .l-modal-common h2 {
    background-size: 7.9710144928vw auto;
    margin-bottom: 1.1em;
  }
}
.l-modal-common h2 .-upper {
  display: block;
  line-height: 1.5;
}
.l-modal-common h2 .-lower {
  display: block;
}
.l-modal-common h2 .-small {
  font-size: 0.8125rem;
}
.l-modal-common p:not([class]) {
  text-align: left;
}
.l-modal-common p + p {
  margin-top: 2em;
}
.l-modal-common p + figure {
  margin-top: 1.8em;
}
.l-modal-common figure {
  margin-left: 80px;
  margin-right: 80px;
}
@media (max-width: 900px) {
  .l-modal-common figure {
    margin-left: 0;
    margin-right: 0;
  }
}
.l-modal-common figure + h2 {
  margin-top: 5.2em;
}
@media (max-width: 900px) {
  .l-modal-common figure + h2 {
    margin-top: 3.8em;
  }
}
.l-modal-common img {
  border-radius: 10px !important;
}
@media (max-width: 900px) {
  .l-modal-common img {
    border-radius: 2.4154589372vw !important;
  }
}
.l-modal-common .c-combi-img {
  position: relative;
}
.l-modal-common .c-combi-img.-large {
  max-width: 421px;
  height: auto;
}
@media (max-width: 900px) {
  .l-modal-common .c-combi-img.-large {
    max-width: initial;
    width: 72.4637681159vw;
  }
}
.l-modal-common .c-combi-img.-small {
  max-width: 260px;
  height: auto;
  margin-top: -5.5em;
  margin-left: 0;
  margin-right: 0;
  transform: translate(119%, 0);
}
@media (max-width: 900px) {
  .l-modal-common .c-combi-img.-small {
    max-width: initial;
    margin-left: auto;
    margin-top: -4.5em;
    transform: translate(0, 0);
    width: 44.6859903382vw;
  }
}

.l-modal-btn {
  margin-top: 60px;
  text-align: center;
}
@media (max-width: 900px) {
  .l-modal-btn {
    margin-top: 14.4927536232vw;
  }
}

img.c-modal-icon {
  margin-bottom: 22px;
  border-radius: 0 !important;
}

.c-title.-modal + .l-modal-content {
  margin-top: 3.33em;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-numbers span,
.page-numbers a {
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background-color: #E5EEF3;
  color: #005C87;
  font-size: 1rem;
  transition: 0.25s background-color;
}
@media (max-width: 900px) {
  .page-numbers span,
.page-numbers a {
    width: 7.2463768116vw;
    height: 7.2463768116vw;
  }
}

@media (min-width: 900px) {
  .page-numbers a:hover {
    background-color: #C6DAE3;
  }
}
.page-numbers span.current {
  background-color: #005C87;
  color: #E5EEF3;
}

.page-numbers span.dots,
.page-numbers a.next,
.page-numbers a.prev {
  background-color: transparent;
}

.page-numbers a.next,
.page-numbers a.prev {
  transition: 0.25s transform;
}

@media (min-width: 900px) {
  .page-numbers a.next:hover {
    transform: translate(10%, 0);
  }
}
@media (min-width: 900px) {
  .page-numbers a.prev:hover {
    transform: translate(-10%, 0);
  }
}
.page-numbers li + li {
  margin-left: 1.25em;
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.c-icon {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background-size: 8px 14px;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 900px) {
  .c-icon {
    width: 1.9323671498vw;
    height: 3.3816425121vw;
    background-size: 1.9323671498vw 3.3816425121vw;
  }
}
.c-icon.-prev {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512" preserveAspectRatio="none"><path fill="%23005C87" d="M192 448c-8.188 0-16.38-3.125-22.62-9.375l-160-160c-12.5-12.5-12.5-32.75 0-45.25l160-160c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l137.4 137.4c12.5 12.5 12.5 32.75 0 45.25C208.4 444.9 200.2 448 192 448z" /></svg>');
}
.c-icon.-next {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512" preserveAspectRatio="none"><path fill="%23005C87" d="M64 448c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L178.8 256L41.38 118.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l160 160c12.5 12.5 12.5 32.75 0 45.25l-160 160C80.38 444.9 72.19 448 64 448z" /></svg>');
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/* Project ------------ */
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.p-footer {
  position: relative;
}
.p-footer.-sub {
  z-index: 0;
  background-color: #005C87;
  color: white;
}

.p-footer__logo__link {
  display: inline-block;
  margin-bottom: 1.8em;
}

.p-footer__logo__img {
  width: 336px;
  height: auto;
}
@media (max-width: 900px) {
  .p-footer__logo__img {
    width: 62.8019323671vw;
  }
}

.p-footer__info {
  font-size: 15px;
  margin-bottom: 1.2em;
}
@media (max-width: 900px) {
  .p-footer__info {
    font-size: 0.8125rem;
    margin-bottom: 1.5em;
  }
}

.p-footer__info__line.-address-en {
  line-height: 1.5;
  margin-bottom: 0.8em;
}

.p-footer__instagram__link {
  position: relative;
  display: block;
  width: 32px;
  height: 32px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.5em;
}
@media (max-width: 900px) {
  .p-footer__instagram__link {
    width: 5.7971014493vw;
    height: 5.7971014493vw;
  }
}

.p-footer__instagram__img {
  position: absolute;
  width: 24px;
  height: 24px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 900px) {
  .p-footer__instagram__img {
    width: 5.7971014493vw;
    height: 5.7971014493vw;
  }
}

.p-footer__nav__list {
  font-size: 0.9375rem;
  line-height: 2;
  margin-bottom: 6em;
}

.p-footer__nav__list__item + .p-footer__nav__list__item {
  margin-top: 1em;
}

.p-footer__nav__list__item__link {
  padding-bottom: 0.3em;
}
@media (min-width: 900px) {
  .p-footer__nav__list__item__link:hover {
    border-bottom: solid 1px #81AEC4;
  }
}

@media (max-width: 900px) {
  .p-footer__message {
    font-size: 0.8125rem;
  }
}

@media (max-width: 900px) {
  .p-footer__copyright {
    font-size: 0.625rem;
  }
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.bubbles {
  position: absolute;
  width: 100%;
  height: 1280px;
  z-index: 0;
  overflow: hidden;
  bottom: 0;
  right: 0;
  pointer-events: none;
}
.bubbles.-sub {
  height: 800px;
  width: 50%;
}
@media (max-width: 900px) {
  .bubbles.-sub {
    height: 144.9275362319vw;
  }
}
@media (max-width: 900px) {
  .bubbles {
    height: 217.3913043478vw;
    width: 60%;
  }
}

.bubble {
  position: absolute;
  bottom: -40px;
  width: 40px;
  height: 40px;
  background-color: rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  -webkit-animation: bubble 10s ease-in infinite;
          animation: bubble 10s ease-in infinite;
}
.bubble.-sub {
  -webkit-animation: bubble2 10s ease-in infinite;
          animation: bubble2 10s ease-in infinite;
}
@media (max-width: 900px) {
  .bubble.-sub {
    -webkit-animation: bubbleSP2 10s ease-in infinite;
            animation: bubbleSP2 10s ease-in infinite;
  }
}
@media (max-width: 900px) {
  .bubble {
    -webkit-animation: bubbleSP 10s ease-in infinite;
            animation: bubbleSP 10s ease-in infinite;
  }
}

.bubble:nth-child(1) {
  width: 20px;
  height: 20px;
  left: 30%;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
}
@media (max-width: 900px) {
  .bubble:nth-child(1) {
    width: 5.3140096618vw;
    height: 5.3140096618vw;
  }
}

.bubble:nth-child(2) {
  left: 20%;
  -webkit-animation-duration: 3.5s;
          animation-duration: 3.5s;
}
@media (max-width: 900px) {
  .bubble:nth-child(2) {
    width: 8.6956521739vw;
    height: 8.6956521739vw;
  }
}

.bubble:nth-child(3) {
  width: 30px;
  height: 30px;
  left: 30%;
  -webkit-animation-duration: 7s;
          animation-duration: 7s;
}
@media (max-width: 900px) {
  .bubble:nth-child(3) {
    width: 3.1400966184vw;
    height: 3.1400966184vw;
  }
}

.bubble:nth-child(4) {
  width: 50px;
  height: 50px;
  left: 67%;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
}
@media (max-width: 900px) {
  .bubble:nth-child(4) {
    display: none;
  }
}

.bubble:nth-child(5) {
  width: 20px;
  height: 20px;
  left: 70%;
  -webkit-animation-duration: 4.5s;
          animation-duration: 4.5s;
}
@media (max-width: 900px) {
  .bubble:nth-child(5) {
    width: 3.8647342995vw;
    height: 3.8647342995vw;
  }
}

@-webkit-keyframes bubble {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 1210px;
    opacity: 0;
  }
}

@keyframes bubble {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 1210px;
    opacity: 0;
  }
}
@-webkit-keyframes bubble2 {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 740px;
    opacity: 0;
  }
}
@keyframes bubble2 {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 740px;
    opacity: 0;
  }
}
@-webkit-keyframes bubbleSP {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 205.3140096618vw;
    opacity: 0;
  }
}
@keyframes bubbleSP {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 205.3140096618vw;
    opacity: 0;
  }
}
@-webkit-keyframes bubbleSP2 {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 135.2657004831vw;
    opacity: 0;
  }
}
@keyframes bubbleSP2 {
  0% {
    bottom: -100px;
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  99% {
    opacity: 1;
  }
  100% {
    bottom: 135.2657004831vw;
    opacity: 0;
  }
}
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.p-mv {
  width: 100%;
  position: relative;
  height: 65vw;
  min-height: 700px;
  max-height: 95vh;
}
@media (max-width: 900px) {
  .p-mv {
    height: calc(135.9903381643vw + 105px);
    max-height: initial;
    min-height: initial;
  }
}

.p-mv__wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media (max-width: 900px) {
  .p-mv__wrap {
    height: calc(135.9903381643vw + 105px);
  }
}

.p-mv__list {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 126vw;
  transform: translate(-50%, 0);
  border-radius: 50%;
  margin-bottom: 0 !important;
  background-color: #fff;
}
@media (max-width: 900px) {
  .p-mv__list {
    top: 104px;
    bottom: auto;
    width: 100%;
    width: 189.3719806763vw;
  }
}

.p-mv__list__item img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 82vw;
}
@media (max-width: 900px) {
  .p-mv__list__item img {
    height: 123.4299516908vw;
  }
}

.p-mv__copy img {
  position: absolute;
  width: 470px;
  height: auto;
  left: 144px;
  bottom: 13.1944444444vw;
}
@media (max-width: 1440px) {
  .p-mv__copy img {
    width: 32.6388888889vw;
    left: 10vw;
    bottom: 13.1944444444vw;
  }
}
@media (max-width: 900px) {
  .p-mv__copy img {
    width: 55.3140096618vw;
    left: 4.8309178744vw;
    bottom: 42.0289855072vw;
  }
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.p-mv__message__wrap {
  position: absolute;
  width: 205px;
  height: 137px;
  bottom: -1vw;
  right: 50%;
  transform: translate(620px, 0);
  overflow-y: visible;
}
@media (max-width: 1440px) {
  .p-mv__message__wrap {
    transform: translate(43.0555555556vw, 0);
  }
}
@media (max-width: 900px) {
  .p-mv__message__wrap {
    bottom: 0;
    right: 50%;
    width: 40.8212560386vw;
    height: 20.7729468599vw;
  }
}

.p-mv__message {
  z-index: 200;
  background-color: #fff;
  border-radius: 14px;
  border: solid 1px #F0F0F0;
  font-size: 1.125rem;
  padding: 0.94em 0.94em 1.2em;
  width: 100%;
}
@media (max-width: 900px) {
  .p-mv__message {
    border: solid 0.2415458937vw #F0F0F0;
    border-radius: 3.3816425121vw;
    padding: 0.85em 1em 0.95em;
    height: 16.9082125604vw;
  }
}

.p-mv__message__ttl {
  text-align: center;
}

.p-mv__message__ttl__en {
  display: block;
  font-weight: 600;
  font-size: 0.8125rem;
  font-family: "avenir-next", sans-serif;
  color: #005C87;
  line-height: 1;
  margin-bottom: 0.77em;
}
@media (max-width: 900px) {
  .p-mv__message__ttl__en {
    font-size: 2.8985507246vw;
    margin-bottom: 0.5em;
  }
}

.p-mv__message__ttl__jp {
  font-weight: 500;
  display: block;
  line-height: 1;
}

.p-mv__message__btn_old {
  position: absolute;
  z-index: 210;
  width: 45px;
  height: 46px;
  left: 0;
  top: 0;
  transform: translate(36%, -31%);
}

.p-mv__message__btn {
  position: absolute;
  z-index: 210;
  width: 45px;
  height: 26px;
  left: 0;
  top: 0;
  transform: translate(36%, -57%);
  background-color: #005C87;
  border-radius: 100px;
  transition: 0.25s;
}
@media (max-width: 900px) {
  .p-mv__message__btn {
    width: 9.4202898551vw;
    height: 5.5555555556vw;
  }
}
.p-mv__message__btn::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: #005C87;
  position: absolute;
  border-radius: 100px;
  left: 5%;
  bottom: -45%;
}
@media (max-width: 900px) {
  .p-mv__message__btn::before {
    width: 2.1739130435vw;
    height: 2.1739130435vw;
  }
}
.p-mv__message__btn::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background-color: #005C87;
  position: absolute;
  border-radius: 100px;
  left: 0;
  bottom: -75%;
}
@media (max-width: 900px) {
  .p-mv__message__btn::after {
    width: 1.2077294686vw;
    height: 1.2077294686vw;
  }
}

.p-mv__message__link:hover .p-mv__message__btn {
  background-color: #3199CB;
}
.p-mv__message__link:hover .p-mv__message__btn::before {
  background-color: #3199CB;
}
.p-mv__message__link:hover .p-mv__message__btn::after {
  background-color: #3199CB;
}
.p-mv__message__link:hover .p-mv__message__ttl__en {
  color: #3199CB;
}
.p-mv__message__link:hover .p-mv__message__ttl__jp {
  opacity: 0.8;
}
.p-mv__message__link:hover .p-mv__message__btn__circle.-circle1 {
  -webkit-animation-name: message__btn__circle__anime1;
          animation-name: message__btn__circle__anime1;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}
.p-mv__message__link:hover .p-mv__message__btn__circle.-circle2 {
  -webkit-animation-name: message__btn__circle__anime2;
          animation-name: message__btn__circle__anime2;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}
.p-mv__message__link:hover .p-mv__message__btn__circle.-circle3 {
  -webkit-animation-name: message__btn__circle__anime3;
          animation-name: message__btn__circle__anime3;
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
}

@-webkit-keyframes message__btn__circle__anime1 {
  0% {
    opacity: 0;
  }
  19% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
}

@keyframes message__btn__circle__anime1 {
  0% {
    opacity: 0;
  }
  19% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
}
@-webkit-keyframes message__btn__circle__anime2 {
  0% {
    opacity: 0;
  }
  39% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}
@keyframes message__btn__circle__anime2 {
  0% {
    opacity: 0;
  }
  39% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}
@-webkit-keyframes message__btn__circle__anime3 {
  0% {
    opacity: 0;
  }
  59% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
}
@keyframes message__btn__circle__anime3 {
  0% {
    opacity: 0;
  }
  59% {
    opacity: 0;
  }
  60% {
    opacity: 1;
  }
}
.p-mv__message__btn__circle {
  display: block;
  width: 5px;
  height: 5px;
  background-color: white;
  position: absolute;
  border-radius: 100px;
  left: 50%;
  top: 50%;
}
.p-mv__message__btn__circle.-circle1 {
  transform: translate(-225%, -50%);
}
.p-mv__message__btn__circle.-circle2 {
  transform: translate(-50%, -50%);
}
.p-mv__message__btn__circle.-circle3 {
  transform: translate(125%, -50%);
}
@media (max-width: 900px) {
  .p-mv__message__btn__circle {
    width: 0.9661835749vw;
    height: 0.9661835749vw;
  }
}

.p-mv__message__people {
  position: absolute;
  z-index: 210;
  width: 72px;
  height: auto;
  right: 0;
  bottom: 0;
  transform: translate(40%, 0);
}
@media (max-width: 900px) {
  .p-mv__message__people {
    width: 12.077294686vw;
    transform: translate(33%, 0);
  }
}

.p-mv-note__txt {
  text-align: center;
  line-height: 2.5;
}

.p-mv-note__txt__line {
  line-height: 2.2;
  display: inline-block;
  padding-bottom: 0;
  padding-left: 0.2em;
  background-image: radial-gradient(circle at 1px center, #ccc, #ccc 1px, transparent 1px, transparent 100%);
  background-position: center bottom;
  background-repeat: repeat-x;
  background-size: 6px 6px;
}
@media (max-width: 900px) {
  .p-mv-note__txt__line {
    background-image: radial-gradient(circle at 0.2415458937vw center, #ccc, #ccc 0.2415458937vw, transparent 0.2415458937vw, transparent 100%);
    background-size: 1.4492753623vw 1.4492753623vw;
  }
}

.p-mv-note__illust01 {
  position: absolute;
  width: 102px;
  height: auto;
  left: calc(50% - 163px);
  bottom: 0;
  transform: translate(-100%, 0);
}
@media (max-width: 900px) {
  .p-mv-note__illust01 {
    width: 18.8405797101vw;
    left: calc(50% - 8.4541062802vw);
  }
}

.p-mv-note__illust02 {
  position: absolute;
  width: 118px;
  height: auto;
  right: calc(50% - 138px);
  bottom: 11px;
  transform: translate(100%, 0);
}
@media (max-width: 900px) {
  .p-mv-note__illust02 {
    width: 20.2898550725vw;
    left: calc(50% - 15.9420289855vw);
  }
}

.p-news__title {
  margin-bottom: 28px;
}
@media (max-width: 900px) {
  .p-news__title {
    margin-bottom: 6.7632850242vw;
  }
}
@media (max-width: 900px) {
  .p-news__title.-archive {
    padding-left: 2.4154589372vw;
    padding-right: 2.4154589372vw;
  }
}

.p-news__list {
  margin-bottom: 60px;
  text-align: left;
}
@media (max-width: 900px) {
  .p-news__list {
    margin-bottom: 9.1787439614vw;
    padding-left: 2.4154589372vw;
    padding-right: 2.4154589372vw;
  }
}

.p-news__list.-archive {
  margin-bottom: 70px;
}
@media (max-width: 900px) {
  .p-news__list.-archive {
    margin-bottom: 19.3236714976vw;
  }
}

.p-news__list__item__title {
  margin-bottom: 1.8em;
}

.p-news__list__item__title__date {
  display: block;
  font-size: 14px;
  opacity: 0.6;
  margin-bottom: 0.2em;
}
@media (max-width: 900px) {
  .p-news__list__item__title__date {
    font-size: 0.8125rem;
  }
}

.p-news__list__item__title__name {
  display: block;
}
.p-news__list__item__title__name a {
  text-decoration: underline;
}

.p-featured-books__title {
  margin-bottom: 72px;
}
@media (max-width: 900px) {
  .p-featured-books__title {
    margin-bottom: 10.8695652174vw;
  }
}

.p-featured-books__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  text-align: left;
  max-width: 944px;
  padding-left: 72px;
  padding-right: 72px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 900px) {
  .p-featured-books__list {
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    width: 100%;
  }
}
@media (max-width: 900px) {
  .p-featured-books__list.-archive {
    margin-bottom: 2.4154589372vw;
  }
}

.p-featured-books__list__item {
  border-radius: 10px;
  width: 44.25%;
  height: auto;
  list-style: none;
  margin-bottom: 80px;
  position: relative;
}
@media (max-width: 900px) {
  .p-featured-books__list__item {
    border-radius: 2.4154589372vw;
    width: 100%;
    margin-bottom: 14.4927536232vw;
  }
  .p-featured-books__list__item.-finished {
    margin-top: 7.2463768116vw;
  }
}
.p-featured-books__list__item.-archive {
  margin-bottom: 80px;
}
@media (max-width: 900px) {
  .p-featured-books__list__item.-archive {
    margin-bottom: 21.7391304348vw;
  }
}

.p-featured-books__list__item.-top:nth-child(n+3) {
  margin-bottom: 0;
}
@media (max-width: 900px) {
  .p-featured-books__list__item.-top:nth-child(n+3) {
    margin-bottom: 14.4927536232vw;
  }
}

.p-featured-books__list__item:nth-child(2n) {
  margin-left: 11.5%;
}
@media (max-width: 900px) {
  .p-featured-books__list__item:nth-child(2n) {
    margin-left: 0;
  }
}

.p-featured-books__list__item.-next {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-featured-books__list__item__finished {
  width: 60px;
  height: 60px;
  font-size: 0.875rem;
  background-color: #333;
  color: white;
  line-height: 1.42;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 100%;
  z-index: 100;
  transform: translate(-50%, -50%);
}
@media (max-width: 900px) {
  .p-featured-books__list__item__finished {
    width: 14.4927536232vw;
    height: 14.4927536232vw;
    transform: translate(4.8309178744vw, -50%);
  }
}

.p-featured-books__list__item__thumb__list {
  margin-bottom: 8.47%;
}

@media (max-width: 900px) {
  .p-featured-books__list__item__thumb__list .slick-list {
    padding-left: 7.2463768116vw;
    padding-right: 4.8309178744vw;
  }
}

.p-featured-books__list__item__thumb__list__item {
  background: rgba(255, 255, 255, 0.5);
  display: block;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .p-featured-books__list__item__thumb__list__item {
    margin-right: 2.4154589372vw;
  }
}

.p-featured-books__list__item__thumb__list__item::before {
  content: "";
  display: block;
  padding-top: 67%;
  margin-bottom: 16px;
}

.p-featured-books__list__item__thumb__list__item__img {
  opacity: 0.85;
  filter: brightness(115%);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 900px) {
  .p-featured-books__list__item__box {
    padding-right: 7.2463768116vw;
    padding-left: 7.2463768116vw;
  }
}

.slick02 .slick-dotted.slick-slider {
  margin-bottom: 26px;
}
@media (max-width: 900px) {
  .slick02 .slick-dotted.slick-slider {
    margin-bottom: 6.2801932367vw;
  }
}

@media (max-width: 900px) {
  .slick02 .slick-dots {
    bottom: -6.038647343vw;
  }
}

@media (max-width: 900px) {
  .slick02.slick-dotted.slick-slider {
    margin-bottom: 7.2463768116vw;
  }
}

.slick02 .slick-dots li {
  width: 10px;
  height: 10px;
}
@media (max-width: 900px) {
  .slick02 .slick-dots li {
    width: 2.4154589372vw;
    height: 2.4154589372vw;
  }
}

.slick02 .slick-dots > li:first-child:last-child {
  display: none;
}

.slick02 .slick-dots li button {
  width: 10px;
  height: 10px;
}
@media (max-width: 900px) {
  .slick02 .slick-dots li button {
    width: 2.4154589372vw;
    height: 2.4154589372vw;
  }
}

.slick02 .slick-dots li button:before {
  line-height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  content: "";
  opacity: 0.25;
  border-radius: 100px;
  background-color: #005C87;
}
@media (max-width: 900px) {
  .slick02 .slick-dots li button:before {
    line-height: 2.4154589372vw;
    width: 1.4492753623vw;
    height: 1.4492753623vw;
  }
}

.slick02 .slick-dots li.slick-active button:before {
  opacity: 1;
}

.p-featured-books__list__item__title {
  color: #005C87;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 0.5em;
}

.v-home.-middle .p-featured-books__list__item__title {
  color: white;
}

.p-featured-books__list__item__period {
  font-size: 0.8125rem;
  margin-bottom: 0.5em;
}

.p-featured-books__next__wrap {
  width: 100%;
  position: relative;
}
.p-featured-books__next {
  width: 100%;
}

.p-featured-books__next__box {
  margin-bottom: 44px;
}
@media (max-width: 900px) {
  .p-featured-books__next__box {
    margin-bottom: 9.6618357488vw;
  }
}

.p-featured-books__next__ttl {
  font-weight: 500;
  color: #333;
  display: inline-block;
  min-width: 140px;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
  padding-left: 1em;
  padding-right: 1em;
  line-height: 1.4;
  border-radius: 50px;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  background-color: white;
  border: solid 1px white;
  margin-top: 0.4em;
  margin-bottom: 0.4em;
  font-size: 1rem;
}
@media (max-width: 900px) {
  .p-featured-books__next__ttl {
    min-width: 33.8164251208vw;
    max-width: 85.5072463768vw;
  }
}

.p-featured-books__next__ttl + .p-featured-books__next__ttl {
  margin-left: 0.6em;
}

.p-featured-books__next__txt {
  font-weight: 500;
  font-size: 0.875rem;
  display: block;
}

.p-featured-books__next__period {
  font-weight: 500;
  font-size: 0.8125rem;
  display: block;
}

.p-instagram__title {
  margin-bottom: 50px;
}
@media (max-width: 900px) {
  .p-instagram__title {
    margin-bottom: 9.6618357488vw;
  }
}

.v-home.-middle .p-instagram__title {
  color: white;
}

.p-instagram__list__box__wrap {
  position: relative;
  width: 100%;
}

.p-instagram__list__box {
  width: 100%;
}

.p-instagram__list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 22px;
}
@media (max-width: 900px) {
  .p-instagram__list {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 11.5942028986vw;
  }
}

.p-instagram__list__item {
  background-color: rgba(255, 255, 255, 0.4);
  margin-left: 20px;
  margin-bottom: 20px;
  width: 180px;
  height: 180px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.p-instagram__list__item:nth-child(4n+1) {
  margin-left: 0;
}
@media (max-width: 900px) {
  .p-instagram__list__item {
    margin-left: 3.3816425121vw;
    margin-bottom: 3.3816425121vw;
    width: 39.3719806763vw;
    height: 39.3719806763vw;
    border-radius: 2.4154589372vw;
  }
  .p-instagram__list__item:nth-child(2n+1) {
    margin-left: 0;
  }
}
.p-instagram__list__item.-carousel::before {
  position: absolute;
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background-size: 17px 17px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" role="img" preserveAspectRatio="none"><path fill="%23fff" d="M34.8 29.7V11c0-2.9-2.3-5.2-5.2-5.2H11c-2.9 0-5.2 2.3-5.2 5.2v18.7c0 2.9 2.3 5.2 5.2 5.2h18.7c2.8-.1 5.1-2.4 5.1-5.2zM39.2 15v16.1c0 4.5-3.7 8.2-8.2 8.2H14.9c-.6 0-.9.7-.5 1.1 1 1.1 2.4 1.8 4.1 1.8h13.4c5.7 0 10.3-4.6 10.3-10.3V18.5c0-1.6-.7-3.1-1.8-4.1-.5-.4-1.2 0-1.2.6z" /></svg>');
  right: 0.5em;
  top: 0.5em;
  z-index: 1;
}
@media (max-width: 900px) {
  .p-instagram__list__item.-carousel::before {
    width: 4.1062801932vw;
    height: 4.1062801932vw;
    background-size: 4.1062801932vw 4.1062801932vw;
  }
}
.p-instagram__list__item a {
  display: block;
}
@media (min-width: 900px) {
  .p-instagram__list__item a:hover img {
    transform: scale(1.05) translate(-50%, -50%);
  }
}
.p-instagram__list__item img {
  opacity: 0.85;
  filter: brightness(115%);
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  position: absolute;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 900px) {
  .p-instagram__list__item:nth-child(n+7) {
    display: none;
  }
}

.p-fooddrink__pickup {
  text-align: center;
}

.p-fooddrink__pickup__line {
  margin-bottom: 44px;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__line {
    margin-bottom: 3.8647342995vw;
  }
}

.p-fooddrink__pickup__ttl {
  font-size: 1.25rem;
  font-weight: 500;
  display: block;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__ttl {
    font-size: 1.125rem;
  }
}

.p-fooddrink__pickup__data {
  font-size: 15px;
  display: block;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__data {
    font-size: 0.8125rem;
  }
}

.p-fooddrink__title {
  margin-bottom: 44px;
}
@media (max-width: 900px) {
  .p-fooddrink__title {
    margin-bottom: 7.729468599vw;
  }
}

.v-home.-middle .p-fooddrink__title {
  color: white;
}

.p-fooddrink__pickup__desc {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 100px;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__desc {
    display: block;
    margin-bottom: 18.3574879227vw;
    padding-left: 2.4154589372vw;
    padding-right: 2.4154589372vw;
  }
}

.p-fooddrink__btn__wrap {
  position: relative;
  width: 100%;
}
@media (max-width: 900px) {
  .p-fooddrink__btn__wrap {
    height: 11.3526570048vw;
  }
}

.p-fooddrink__btn {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 100%);
}
@media (max-width: 900px) {
  .p-fooddrink__btn {
    transform: translate(-50%, 0);
  }
}

.p-fooddrink__pickup__img__wrap {
  width: 42.75%;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.4);
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__img__wrap {
    border-radius: 2.4154589372vw;
    margin-bottom: 5.5555555556vw;
    width: 100%;
  }
}

.p-fooddrink__pickup__img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__img {
    border-radius: 2.4154589372vw;
  }
}

.p-fooddrink__pickup__detail {
  position: relative;
  width: 50%;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__detail {
    width: 100%;
    margin-bottom: 5.5555555556vw;
  }
}

.p-fooddrink__pickup__txt {
  text-align: left;
  margin-bottom: 1.9em;
  line-height: 2.125;
  background-size: 100% 2.5em; /* 行の高さ */
  line-height: 2.5em; /* 文字の高さ */
  padding-bottom: 1px; /* 最終行の下にも罫線を引く */
}

.p-fooddrink__pickup__txt__line {
  display: block;
  border-bottom: solid 1px #98C1D2;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__txt__line {
    font-size: 0.84375rem;
  }
}
@media (max-width: 340px) {
  .p-fooddrink__pickup__txt__line {
    font-size: 0.8125rem;
  }
}

.p-fooddrink__pickup__instagram {
  position: relative;
  margin-bottom: 96px;
  display: none;
}
.p-fooddrink__pickup__instagram.-active {
  display: block;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__instagram {
    margin-bottom: 27.5362318841vw;
  }
}

.p-fooddrink__pickup__instagram__ttl {
  display: inline-block;
  min-width: 240px;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
  padding-left: 1.5em;
  padding-right: 1.5em;
  line-height: 1.4;
  border-radius: 100px;
  text-align: center;
  font-feature-settings: "palt";
  font-weight: 500;
  letter-spacing: 0.05em;
  background-color: white;
  margin-top: 0.4em;
  margin-bottom: 0.4em;
  font-size: 0.8125rem;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  z-index: 10;
  color: #3282A5;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__instagram__ttl {
    min-width: 62.8019323671vw;
  }
}

.p-fooddrink__pickup__instagram__list {
  width: 245px;
  height: 245px;
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  border: solid 5px rgba(255, 255, 255, 0.5);
  border-radius: 100%;
  margin-bottom: 38px !important;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__instagram__list {
    width: 59.1787439614vw;
    height: 59.1787439614vw;
    border: solid 1.2077294686vw rgba(255, 255, 255, 0.5);
    margin-bottom: 9.1787439614vw !important;
  }
}

.p-fooddrink__pickup__instagram__list__item {
  position: relative;
  overflow: hidden;
  border-radius: 100%;
}

.p-fooddrink__pickup__instagram__list__item a:hover .p-fooddrink__pickup__instagram__list__item__img {
  transform: scale(1.05);
}

.p-fooddrink__pickup__instagram__list__item__img {
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 100%;
  width: 245px;
  height: 245px;
}
@media (max-width: 900px) {
  .p-fooddrink__pickup__instagram__list__item__img {
    width: 59.1787439614vw;
    height: 59.1787439614vw;
  }
}

.slick03 .slick-dotted.slick-slider {
  margin-bottom: 26px;
}

.slick03 .slick-dots > li:first-child:last-child {
  display: none;
}

.slick03 .slick-dots {
  bottom: -36px;
}
@media (max-width: 900px) {
  .slick03 .slick-dots {
    height: 8.6956521739vw;
    bottom: -8.6956521739vw;
  }
}

.slick03 .slick-dots li {
  width: 10px;
  height: 10px;
}
@media (max-width: 900px) {
  .slick03 .slick-dots li {
    width: 2.4154589372vw;
    height: 2.4154589372vw;
    margin: 0 1.2077294686vw;
  }
}

.slick03 .slick-dots li button {
  width: 10px;
  height: 10px;
}
@media (max-width: 900px) {
  .slick03 .slick-dots li button {
    width: 2.4154589372vw;
    height: 2.4154589372vw;
  }
}

.slick03 .slick-dots li button:before {
  line-height: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  content: "";
  opacity: 0.25;
  border-radius: 100px;
  background-color: white;
}
@media (max-width: 900px) {
  .slick03 .slick-dots li button:before {
    line-height: 2.4154589372vw;
    width: 1.4492753623vw;
    height: 1.4492753623vw;
  }
}

.slick03 .slick-dots li.slick-active button:before {
  opacity: 1;
}

.fooddrink__pickup__instagram__link {
  position: relative;
  display: inline-block;
  padding-left: 0.2em;
  padding-right: 2.4em;
  font-size: 0.8125rem;
  padding-bottom: 0.4em;
  border-bottom: solid 1px #98C1D2;
}
@media (max-width: 900px) {
  .fooddrink__pickup__instagram__link {
    border-bottom: solid 0.2415458937vw #98C1D2;
  }
}

.fooddrink__pickup__instagram__link::before {
  position: absolute;
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background-size: 17px 17px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 14.997" preserveAspectRatio="none"><path fill="%23fff" d="M7.5,5.891a3.845,3.845,0,1,0,3.845,3.845A3.839,3.839,0,0,0,7.5,5.891Zm0,6.345a2.5,2.5,0,1,1,2.5-2.5A2.5,2.5,0,0,1,7.5,12.236Zm4.9-6.5a.9.9,0,1,1-.9-.9A.895.895,0,0,1,12.4,5.734Zm2.547.91A4.438,4.438,0,0,0,13.731,3.5,4.467,4.467,0,0,0,10.588,2.29c-1.238-.07-4.949-.07-6.187,0A4.461,4.461,0,0,0,1.259,3.5,4.453,4.453,0,0,0,.047,6.641c-.07,1.238-.07,4.949,0,6.187A4.438,4.438,0,0,0,1.259,15.97,4.473,4.473,0,0,0,4.4,17.182c1.238.07,4.949.07,6.187,0a4.438,4.438,0,0,0,3.142-1.211,4.467,4.467,0,0,0,1.211-3.142c.07-1.238.07-4.946,0-6.184Zm-1.6,7.513a2.531,2.531,0,0,1-1.426,1.426,16.527,16.527,0,0,1-4.421.3,16.656,16.656,0,0,1-4.421-.3A2.531,2.531,0,0,1,1.65,14.157a16.527,16.527,0,0,1-.3-4.421,16.656,16.656,0,0,1,.3-4.421A2.531,2.531,0,0,1,3.076,3.89a16.528,16.528,0,0,1,4.421-.3,16.656,16.656,0,0,1,4.421.3,2.531,2.531,0,0,1,1.426,1.426,16.528,16.528,0,0,1,.3,4.421A16.518,16.518,0,0,1,13.342,14.157Z" transform="translate(0.006 -2.238)" /></svg>');
  right: 0.2em;
  top: calc(50% - 0.2em);
  transform: translate(0, -50%);
}
@media (max-width: 900px) {
  .fooddrink__pickup__instagram__link::before {
    width: 4.1062801932vw;
    height: 4.1062801932vw;
    background-size: 4.1062801932vw 4.1062801932vw;
  }
}

.p-fooddrink__menu__title {
  font-size: 1.25rem;
}

.p-fooddrink__note {
  text-align: center;
  font-size: 0.9375rem;
  opacity: 0.8;
  font-weight: 300;
  margin-bottom: 28px;
}
@media (max-width: 900px) {
  .p-fooddrink__note {
    margin-bottom: 8.2125603865vw;
  }
}

.p-fooddrink__menu__nav {
  margin-bottom: 76px;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__nav {
    margin-bottom: 11.3526570048vw;
  }
}

.p-fooddrink__menu__nav__list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-fooddrink__menu__nav__list__item + .p-fooddrink__menu__nav__list__item {
  margin-left: 14px;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__nav__list__item + .p-fooddrink__menu__nav__list__item {
    margin-left: 14px;
  }
}

.p-fooddrink__menu__nav__list.-all .p-fooddrink__menu__nav__list__item.-all, .p-fooddrink__menu__nav__list.-food .p-fooddrink__menu__nav__list__item.-food, .p-fooddrink__menu__nav__list.-drink .p-fooddrink__menu__nav__list__item.-drink {
  background-color: white;
  color: #005C87;
}

.p-fooddrink__menu__nav__list__item {
  background-color: #3A92B2;
  transition: background-color 0.25s, color 0.25s;
  color: white;
  line-height: 2.6;
  font-size: 0.8125rem;
  padding-left: 2em;
  padding-right: 2em;
  border-radius: 4px;
  cursor: pointer;
  transition: color 0.25s, background-color 0.25s;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__nav__list__item {
    border-radius: 0.9661835749vw;
  }
}
@media (min-width: 900px) {
  .p-fooddrink__menu__nav__list__item:hover {
    background-color: white;
    color: #3A92B2;
  }
}

.p-fooddrink__menu__nav__list__item.-active {
  background-color: white;
  color: #005C87;
}

.p-fooddrink__menu__wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__wrap {
    display: block;
    padding-left: 3.1400966184vw;
    padding-right: 3.1400966184vw;
  }
}

.p-fooddrink__menu__food {
  width: 340px;
  display: none;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__food {
    width: 100%;
    margin-bottom: 15.4589371981vw;
  }
}
.p-fooddrink__menu__food.-all, .p-fooddrink__menu__food.-food {
  display: block;
}
@-webkit-keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-fooddrink__menu__drink {
  width: 340px;
  display: none;
  margin-left: calc(100% - 680px);
}
@media (max-width: 900px) {
  .p-fooddrink__menu__drink {
    margin-left: 0;
    width: 100%;
  }
}
.p-fooddrink__menu__drink.-all, .p-fooddrink__menu__drink.-drink {
  display: block;
}
.p-fooddrink__menu__drink.-drink {
  margin-left: 0;
}
.p-fooddrink__menu__drink.-drink .p-fooddrink__menu__drink__more {
  display: none;
}

.p-fooddrink__menu__food__ttl,
.p-fooddrink__menu__drink__ttl {
  text-align: left;
  font-weight: 500;
  font-size: 1.125rem;
  border-bottom: solid 1px #98C1D2;
  margin-bottom: 1.8em;
  position: relative;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__food__ttl,
.p-fooddrink__menu__drink__ttl {
    border-bottom: solid 0.2415458937vw #98C1D2;
  }
}

.p-fooddrink__menu__drink__ttl__small {
  text-align: left;
  font-weight: 500;
  font-size: 1.0625rem;
  border-bottom: solid 1px #98C1D2;
  margin-bottom: 1.2em;
  margin-top: 1.6em;
  position: relative;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__drink__ttl__small {
    border-bottom: solid 0.2415458937vw #98C1D2;
  }
}

.p-fooddrink__menu__food__ttl::before {
  content: "";
  position: absolute;
  right: 6px;
  top: -20px;
  display: block;
  width: 84px;
  height: 72px;
  background: url(../../img/illust_cake.png);
  background-size: 84px 72px;
  background-repeat: no-repeat;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__food__ttl::before {
    width: 20.2898550725vw;
    height: 17.3913043478vw;
    background-size: 20.2898550725vw 17.3913043478vw;
    right: 0;
    top: -4.8309178744vw;
  }
}

.p-fooddrink__menu__drink__ttl::before {
  content: "";
  position: absolute;
  right: 6px;
  top: -34px;
  display: block;
  width: 78px;
  height: 96px;
  background: url(../../img/illust_coffee.png);
  background-size: 78px 96px;
  background-repeat: no-repeat;
  transform: rotate(13deg);
}
@media (max-width: 900px) {
  .p-fooddrink__menu__drink__ttl::before {
    width: 18.8405797101vw;
    height: 23.1884057971vw;
    background-size: 18.8405797101vw 23.1884057971vw;
    right: 0;
    top: -7.2463768116vw;
  }
}

.p-fooddrink__menu__drink__note {
  text-align: left;
  width: 341px;
  padding-left: 1.7em;
  padding-right: 1.7em;
  padding-top: 0.7em;
  padding-bottom: 0.7em;
  background-color: #3A92B2;
  font-weight: 300;
  font-size: 0.75rem;
  border-radius: 100px;
  line-height: 1.4;
  margin-left: auto;
  margin-right: 4.5em;
  margin-bottom: 2em;
  position: relative;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__drink__note {
    width: 56.5217391304vw;
    display: block;
  }
}
.p-fooddrink__menu__drink__note::before {
  content: "";
  position: absolute;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23.223 26.54" preserveAspectRatio="none"><path fill="%233A92B2" d="M7.638.064a47.575,47.575,0,0,1,6.179,11.048,32.146,32.146,0,0,1,1.647,11.1L.189,22.088A58.86,58.86,0,0,0,5.032,11.7,67.162,67.162,0,0,0,7.638.064Z" /></svg>');
  display: block;
  width: 15px;
  height: 22px;
  right: 0;
  bottom: 0;
  transform: translate(-6.5em, 70%) rotate(155deg);
}
@media (max-width: 900px) {
  .p-fooddrink__menu__drink__note::before {
    transform: translate(-1.82em, 70%) rotate(155deg);
    width: 3.6231884058vw;
    height: 5.3140096618vw;
  }
}

.p-fooddrink__menu__drink__list + .p-fooddrink__menu__drink__list {
  margin-top: 1.5em;
}

.p-fooddrink__menu__food__list,
.p-fooddrink__menu__drink__list {
  position: relative;
  text-align: left;
  font-size: 0.8125rem;
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.2em;
}

.p-fooddrink__menu__food__list__ttl,
.p-fooddrink__menu__drink__list__ttl {
  padding-right: 0.4em;
  z-index: 10;
  font-weight: 500;
}

.v-home.-middle .p-fooddrink__menu__food__list__ttl,
.v-home.-middle .p-fooddrink__menu__drink__list__ttl {
  background: #3282A5;
}

.v-home.-deep .p-fooddrink__menu__food__list__ttl,
.v-home.-deep .p-fooddrink__menu__drink__list__ttl {
  background: #005C87;
}

.v-home.-middle .p-fooddrink__menu__food__list__data,
.v-home.-middle .p-fooddrink__menu__drink__list__data {
  background: #3282A5;
}

.v-home.-deep .p-fooddrink__menu__food__list__data,
.v-home.-deep .p-fooddrink__menu__drink__list__data {
  background: #005C87;
}

.p-fooddrink__menu__food__list__dots,
.p-fooddrink__menu__drink__list__dots {
  display: inline-block;
  padding-bottom: 0;
  background-image: radial-gradient(circle at 1px center, #98C1D2, #98C1D2 1px, transparent 1px, transparent 100%);
  background-position: center;
  background-repeat: repeat-x;
  background-size: 6px 6px;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1em;
  transform: translate(0, -50%);
}
@media (max-width: 900px) {
  .p-fooddrink__menu__food__list__dots,
.p-fooddrink__menu__drink__list__dots {
    background-image: radial-gradient(circle at 0.2415458937vw center, #98C1D2, #98C1D2 0.2415458937vw, transparent 0.2415458937vw, transparent 100%);
    background-size: 1.4492753623vw 1.4492753623vw;
  }
}

.p-fooddrink__menu__food__list__data,
.p-fooddrink__menu__drink__list__data {
  font-weight: 500;
  width: 50px;
  padding-right: 0.5em;
  text-align: right;
  background: #3282A5;
  z-index: 10;
  transition: 1s background;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__food__list__data,
.p-fooddrink__menu__drink__list__data {
    width: 11.5942028986vw;
  }
}

.p-fooddrink__menu__food__list__desc,
.p-fooddrink__menu__drink__list__desc {
  font-weight: 300;
  text-align: left;
  font-size: 0.8125rem;
  margin-bottom: 1.5em;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__food__list__desc,
.p-fooddrink__menu__drink__list__desc {
    padding-right: 1em;
    margin-bottom: 1.7em;
  }
}

.p-fooddrink__menu__drink__note-end {
  font-weight: 300;
  text-align: left;
  font-size: 0.8125rem;
  margin-top: 2.6em;
}

.p-fooddrink__menu__drink__note-end + .p-fooddrink__menu__drink__note-end {
  margin-top: 1em;
}

.p-fooddrink__menu__drink__note-end__point {
  font-size: 0.875rem;
  font-weight: 400;
  -webkit-text-decoration-color: #7AC4B2;
          text-decoration-color: #7AC4B2;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  -webkit-text-decoration-style: double;
          text-decoration-style: double;
}

.p-fooddrink__menu__drink__more {
  width: 120px;
  height: 30px;
  margin: 20px auto;
  display: block;
  background-color: #3A92B2;
  color: #fff;
  border: none;
  outline: 0;
  transition: background-color 0.1s, color 0.1s;
  font-size: 0.75rem;
  border-radius: 100px;
  position: relative;
}
@media (max-width: 900px) {
  .p-fooddrink__menu__drink__more {
    width: 28.9855072464vw;
    height: 7.2463768116vw;
  }
}
.p-fooddrink__menu__drink__more::before {
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  font-weight: 600;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 0.625rem;
  transition: 0.2s;
}
.p-fooddrink__menu__drink__more.-open::before {
  transform: translate(0, -50%) rotate(180deg);
}
.p-fooddrink__menu__drink__more::after {
  content: "さらに見る";
  transition: 0.2s;
}
.p-fooddrink__menu__drink__more.-open::after {
  content: "閉じる";
}
@media (min-width: 900px) {
  .p-fooddrink__menu__drink__more:hover {
    background-color: white;
    color: #3A92B2;
  }
}

.p-fooddrink__menu__drink__hidden {
  display: none;
  padding-bottom: 0.6em;
}

.p-pleasure__title {
  margin-bottom: 54px;
}
@media (max-width: 900px) {
  .p-pleasure__title {
    margin-bottom: 11.8357487923vw;
  }
}

.v-home.-middle .p-pleasure__title,
.v-home.-deep .p-pleasure__title {
  color: white;
}

.p-pleasure__list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 900px) {
  .p-pleasure__list {
    display: block;
    padding-left: 2.4154589372vw;
    padding-right: 2.4154589372vw;
  }
}

.p-pleasure__list__item {
  width: 41.75%;
}
@media (max-width: 900px) {
  .p-pleasure__list__item {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .p-pleasure__list__item + .p-pleasure__list__item {
    margin-top: 15.9420289855vw;
  }
}

@media (min-width: 900px) {
  .p-pleasure__list__item__link:hover .p-pleasure__list__item__img {
    transform: scale(1.05);
  }
}
.p-pleasure__list__item__img {
  width: 100.2%;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) !important;
}

.p-pleasure__list__item__img__wrap {
  background: rgba(255, 255, 255, 0.6);
  border: solid 5px rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 0.5em;
  width: 100%;
  height: auto;
}
@media (max-width: 900px) {
  .p-pleasure__list__item__img__wrap {
    border: solid 1.2077294686vw rgba(255, 255, 255, 0.5);
    border-radius: 2.4154589372vw;
  }
}

.p-pleasure__list__item__ttl {
  position: relative;
  font-size: 1rem;
  transition: 0.25s;
}
.p-pleasure__list__item__ttl::before {
  content: "";
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" preserveAspectRatio="none"><path fill="%23fff" d="M12,1c-6.08,0-11,4.93-11,11,0,2.92,1.16,5.71,3.22,7.78,4.32,4.27,11.29,4.22,15.56-.1,4.23-4.28,4.23-11.17,0-15.45-2.06-2.07-4.86-3.23-7.78-3.22m0-1c6.63,0,12,5.37,12,12s-5.37,12-12,12S0,18.63,0,12,5.37,0,12,0Zm-1.95,17.4c-.2-.2-.2-.51,0-.71h0l4.69-4.69-4.69-4.69c-.18-.21-.17-.52,.04-.71,.19-.17,.48-.17,.67,0l5.02,5.02,.02,.02c.2,.2,.2,.51,0,.71h0l-.02,.02-5.02,5.02c-.2,.19-.51,.19-.71,0Z" /></svg>');
  position: absolute;
  width: 24px;
  height: 24px;
  right: 0;
  top: 50%;
  transform: translate(-5px, -50%);
  background-size: 24px 24px;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 900px) {
  .p-pleasure__list__item__ttl::before {
    transform: translate(-1.2077294686vw, -50%);
    width: 5.7971014493vw;
    height: 5.7971014493vw;
    background-size: 5.7971014493vw 5.7971014493vw;
  }
}

.p-access__title {
  margin-bottom: 33px;
  color: white;
}
@media (max-width: 900px) {
  .p-access__title {
    margin-bottom: 13.5265700483vw;
  }
}

.p-access__flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
@media (max-width: 900px) {
  .p-access__flex {
    display: block;
  }
}

.p-access__list__title {
  font-weight: 500;
  margin-bottom: 0.6em;
}
@media (max-width: 900px) {
  .p-access__list__title {
    margin-bottom: 0.2em;
  }
}

.p-access__list__data {
  font-size: 0.875rem;
}
@media (max-width: 900px) {
  .p-access__list__data {
    font-size: 0.8125rem;
  }
}

.p-access__list__data__address__en {
  font-family: "avenir-next", sans-serif;
  font-weight: 400;
}
@media (max-width: 900px) {
  .p-access__list__data__address__en {
    margin-bottom: 0.2em;
  }
}

.p-access__list__data__ul {
  list-style: none;
  padding-left: 1em;
}
@media (max-width: 900px) {
  .p-access__list__data__ul {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }
}

.p-access__list__data__ul li {
  position: relative;
}

.p-access__list__data__ul li:before {
  position: relative;
  top: -0.23em;
  left: -0.6em;
  display: inline-block;
  width: 3px;
  height: 3px;
  content: "";
  border-radius: 100%;
  background: white;
}
@media (max-width: 900px) {
  .p-access__list__data__ul li:before {
    width: 0.7246376812vw;
    height: 0.7246376812vw;
  }
}

.p-access__btn__wrap {
  margin-top: 1.2em;
  margin-bottom: 2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-access__btn {
  cursor: pointer;
  background-color: #fff;
  border: solid 1px #fff;
  color: #005C87;
  min-width: 190px;
  font-size: 0.75rem;
  transition: 0.25s all;
}
@media (max-width: 900px) {
  .p-access__btn {
    padding-left: 1.7em;
    padding-right: 2.3em;
    font-size: 0.6875rem;
    min-width: 41.0628019324vw;
  }
}
@media (min-width: 900px) {
  .p-access__btn:hover {
    color: white;
    background-color: #3199CB;
    border: solid 1px #3199CB;
  }
}
.p-access__btn.-more::before {
  width: 14px;
  height: 14px;
  background-size: 14px 14px;
  transform: translate(-80%, -50%);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" preserveAspectRatio="none"><path fill="%23005C87" d="M0,10c0,5.52,4.48,10,10,10s10-4.48,10-10S15.52,0,10,0,0,4.48,0,10Zm11.76,0l-3.94-3.9c-.34-.38-.3-.97,.08-1.31,.35-.31,.87-.31,1.22,0l4.59,4.6c.35,.35,.36,.91,.03,1.28l-4.52,4.53c-.36,.36-.95,.36-1.31,0-.36-.36-.36-.95,0-1.31l3.84-3.89Z" /></svg>');
}
@media (max-width: 900px) {
  .p-access__btn.-more::before {
    width: 3.3816425121vw;
    height: 3.3816425121vw;
    background-size: 3.3816425121vw 3.3816425121vw;
  }
}
@media (min-width: 900px) {
  .p-access__btn.-more:hover::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" preserveAspectRatio="none"><path fill="%23fff" d="M0,10c0,5.52,4.48,10,10,10s10-4.48,10-10S15.52,0,10,0,0,4.48,0,10Zm11.76,0l-3.94-3.9c-.34-.38-.3-.97,.08-1.31,.35-.31,.87-.31,1.22,0l4.59,4.6c.35,.35,.36,.91,.03,1.28l-4.52,4.53c-.36,.36-.95,.36-1.31,0-.36-.36-.36-.95,0-1.31l3.84-3.89Z" /></svg>');
  }
}
.p-access__btn.-gmap::before {
  transition: 0.05s all;
  font-family: "Font Awesome 5 Free";
  content: "\f3c5";
  font-weight: 600;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 0.875rem;
}

.p-access__list__data__gmaplink {
  position: relative;
  display: inline-block;
}

.p-access__list__data__gmaplink a {
  display: block;
  text-decoration: none;
  line-height: 1.7;
  padding-bottom: 0;
  margin-bottom: 0.5em;
  border-bottom: solid 1px #81AEC4;
}
@media (max-width: 900px) {
  .p-access__list__data__gmaplink a {
    border-bottom: solid 0.2415458937vw #81AEC4;
  }
}

.p-access__list__title.-line {
  margin-top: 1em;
  padding-top: 1em;
  display: block;
  padding-bottom: 0;
  background-image: radial-gradient(circle at 1px center, #81AEC4, #81AEC4 1px, transparent 1px, transparent 100%);
  background-position: center top;
  background-repeat: repeat-x;
  background-size: 6px 6px;
}
@media (max-width: 900px) {
  .p-access__list__title.-line {
    background-size: 1.4492753623vw 1.4492753623vw;
    background-image: radial-gradient(circle at 0.2415458937vw center, #81AEC4, #81AEC4 0.2415458937vw, transparent 0.2415458937vw, transparent 100%);
    padding-top: 1.5em;
  }
}

.p-access__list {
  width: 50%;
}
@media (max-width: 900px) {
  .p-access__list {
    font-size: 0.8125rem;
    width: 100%;
    padding-left: 2.4154589372vw;
    padding-right: 2.4154589372vw;
  }
}

.p-access__img__wrap {
  position: absolute;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.4);
  width: 539px;
  height: 359px;
  top: 2em;
  left: 2.5em;
  border-radius: 10px;
}
@media (max-width: 900px) {
  .p-access__img__wrap {
    left: initial;
    border: solid 1.2077294686vw rgba(255, 255, 255, 0.5);
    border-radius: 2.4154589372vw 0 0 2.4154589372vw;
    right: -50vw;
    width: 80.6763285024vw;
    height: 53.6231884058vw;
  }
}

.p-access__img-box {
  width: 50%;
  position: relative;
}
@media (max-width: 900px) {
  .p-access__img-box {
    height: 60.38647343vw;
  }
}

.p-access_illust {
  z-index: 10;
  position: absolute;
  width: 143px;
  height: auto;
  top: 359px;
  left: 0;
  transform: translate(10%, -20%);
}
@media (max-width: 900px) {
  .p-access_illust {
    width: 23.1884057971vw;
    top: 50.7246376812vw;
  }
}

.p-contact__note {
  font-size: 0.9375rem;
  margin-bottom: 94px;
}
@media (max-width: 900px) {
  .p-contact__note {
    font-size: 0.8125rem;
    margin-bottom: 11.1111111111vw;
  }
}

.p-contact__title {
  margin-bottom: 31px;
  color: white;
}
@media (max-width: 900px) {
  .p-contact__title {
    margin-bottom: 5.5555555556vw;
  }
}

.p-contact__form-wrap {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  font-size: 15px;
}
@media (max-width: 900px) {
  .p-contact__form-wrap {
    font-size: 0.8125rem;
    max-width: 900px;
  }
}

.p-contact__form-wrap .wpcf7-not-valid-tip {
  padding-left: 2em;
}

.p-contact__form__list__item__title {
  font-size: 0.9375rem;
  font-weight: 400;
  margin-bottom: 0.8em;
}
.p-contact__form__list__item__title p {
  display: inline-block;
}
@media (max-width: 900px) {
  .p-contact__form__list__item__title {
    font-size: 0.8125rem;
  }
}

.p-contact__form__list__item__column {
  margin-bottom: 2.2em;
}

.p-contact__form__list__item__column select {
  color: white;
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 4px;
  padding: 0.6em 1.5em;
  width: 100%;
}
@media (max-width: 900px) {
  .p-contact__form__list__item__column select {
    padding: 0.6em 1em;
    background-color: rgba(102, 157, 183, 0.9);
    border-radius: 0.9661835749vw;
  }
}

.p-contact__form__list__item__column option {
  color: #333;
}

.p-contact__form__list__item__column input {
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 4px;
  padding: 0.6em 1.5em;
  width: 100%;
}
@media (max-width: 900px) {
  .p-contact__form__list__item__column input {
    padding: 0.6em 1em;
    background-color: rgba(102, 157, 183, 0.9);
    border-radius: 0.9661835749vw;
  }
}

.p-contact__form__list__item__column input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.p-contact__form__list__item__column input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.p-contact__form__list__item__column input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* 旧Edge対応 */
.p-contact__form__list__item__column input::-ms-input-placeholder {
  color: #fff;
}

.p-contact__form__list__item__column input[type=date] {
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: 4px;
  padding: 0.6em 1.5em;
  width: 100%;
}
@media (max-width: 900px) {
  .p-contact__form__list__item__column input[type=date] {
    padding: 0.6em 1.5em;
    background-color: rgba(102, 157, 183, 0.9);
    border-radius: 0.9661835749vw;
  }
}

.p-contact__form__list__item__column textarea {
  background-color: rgba(255, 255, 255, 0.4);
  color: white;
  border-radius: 4px;
  padding: 0.6em 1.5em;
  width: 100%;
  height: 16.2em;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .p-contact__form__list__item__column textarea {
    background-color: rgba(102, 157, 183, 0.9);
    padding: 0.6em 1em;
    border-radius: 0.9661835749vw;
  }
}

.p-contact__form__list__item__column textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.p-contact__form__list__item__column textarea:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.p-contact__form__list__item__column textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

/* 旧Edge対応 */
.p-contact__form__list__item__column textarea::-ms-input-placeholder {
  color: #fff;
}

.p-contact__form__list__item__date::-webkit-calendar-picker-indicator {
  color: #fff;
}

.p-contact__form__submit-wrap {
  text-align: center;
}
@media (max-width: 900px) {
  .p-contact__form__submit-wrap {
    margin-top: 9.6618357488vw;
  }
}

.p-contact__form__recaptcha-txt {
  margin-top: 2em;
  text-align: center;
  font-size: 0.6875rem;
}
.p-contact__form__recaptcha-txt a {
  text-decoration: underline;
}
@media (max-width: 900px) {
  .p-contact__form__recaptcha-txt {
    text-align: left;
  }
}

/* reCAPTCHA非表示対応 */
.grecaptcha-badge {
  visibility: hidden;
}

/***  曜日設定 ***/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.p-header {
  position: fixed;
  top: 0;
  left: 0;
  height: 240px;
  pointer-events: none;
  width: 100vw;
  z-index: 700;
}
@media (max-width: 900px) {
  .p-header {
    position: fixed;
    width: 100vw;
    height: 16.6666666667vw;
  }
}
.p-header.-sub {
  height: 130px;
}
@media (max-width: 900px) {
  .p-header.-sub {
    height: 16.6666666667vw;
  }
}
.p-header.-ismodal {
  margin-right: 16px;
}
.p-header.-ismenu {
  z-index: 1000;
}

.p-header__logo-sub {
  z-index: 800;
  position: absolute;
  width: 530px;
  height: 130px;
  border-radius: 100%;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  transition: transform 2s;
  transition: box-shadow 0.25s;
}
@media (max-width: 1440px) {
  .p-header__logo-sub {
    width: 36.8055555556vw;
  }
}
@media (max-width: 900px) {
  .p-header__logo-sub {
    top: 2.8985507246vw;
    background-color: transparent;
    width: 53.1400966184vw;
    border-radius: 0;
    height: 9.6618357488vw;
    transform: translate(-50%, 0);
  }
}

.p-header__logo-sub__link {
  display: block;
  height: 100%;
  width: 100%;
}

.p-header__logo-sub__img {
  position: absolute;
  display: block;
  width: 320px;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 900px) {
  .p-header__logo-sub__img {
    width: 50.7246376812vw;
    height: auto;
    top: 50%;
    transform: translate(-52%, -50%);
  }
}

.p-header__logo {
  position: absolute;
  width: 530px;
  height: 530px;
  border-radius: 100%;
  left: 50%;
}
@media (max-width: 1440px) {
  .p-header__logo {
    width: 36.8055555556vw;
    height: 36.8055555556vw;
  }
}
@media (max-width: 900px) {
  .p-header__logo {
    width: 60.38647343vw;
    height: 60.38647343vw;
  }
}
.p-header__logo {
  transition: box-shadow 0.25s, transform 1.5s;
}

.p-header__logo__wrap {
  width: 100vw;
  position: absolute;
  height: 530px;
}
@media (max-width: 1440px) {
  .p-header__logo__wrap {
    height: 36.8055555556vw;
  }
}
@media (max-width: 900px) {
  .p-header__logo__wrap {
    width: 100vw;
    height: 60.38647343vw;
  }
}

.p-header__logo {
  z-index: 900;
  background-color: white;
  top: -290px;
  transform: translate(-50%, 0);
}
@media (max-width: 1440px) {
  .p-header__logo {
    top: -20.1388888889vw;
  }
}
@media (max-width: 900px) {
  .p-header__logo {
    top: -18.75vw;
  }
}
.p-header__logo.-nav {
  opacity: 1;
  transform: translate(-50%, -20px);
  transition: 0.5s;
  visibility: hidden;
}
.p-header__logo.-nav.-open {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
}

.p-header__logo__img,
.p-loading__logo__img {
  position: absolute;
  display: block;
  width: 164px;
  height: 163px;
  bottom: 59px;
  left: 50%;
  transform: translate(-50%, 0);
}
@media (max-width: 1440px) {
  .p-header__logo__img,
.p-loading__logo__img {
    width: 11.3888888889vw;
    height: 11.3194444444vw;
    bottom: 4.0972222222vw;
  }
}
@media (max-width: 900px) {
  .p-header__logo__img,
.p-loading__logo__img {
    width: 26.5700483092vw;
    height: 26.5700483092vw;
    bottom: 8.6956521739vw;
  }
}

.p-loading__logo__img {
  position: absolute;
  display: block;
  width: 164px;
  height: auto;
  bottom: 59px;
  left: 50%;
  transform: translate(-50%, 0);
}
@media (max-width: 1440px) {
  .p-loading__logo__img {
    width: 11.3888888889vw;
    bottom: 4.0972222222vw;
  }
}
@media (max-width: 900px) {
  .p-loading__logo__img {
    width: 39.61352657vw;
    bottom: 8.6956521739vw;
  }
}

.p-loading {
  -webkit-transform-style: preserve-3d;
  position: fixed;
  width: 100vw;
  opacity: 1;
  perspective: 1000;
}
@media (max-width: 900px) {
  .p-loading {
    width: 100vw;
  }
}

.p-loading__sea__wrap {
  -webkit-transform-style: preserve-3d;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}

.p-loading__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -70%);
  z-index: 100;
  background-color: transparent;
}

.p-loading__logo__txt {
  position: absolute;
  bottom: 0em;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100px;
  height: auto;
}
@media (max-width: 900px) {
  .p-loading__logo__txt {
    width: 24.154589372vw;
  }
}

.p-header__toggle {
  pointer-events: initial;
  position: absolute;
  top: 34px;
  right: 64px;
  border-radius: 100%;
  background-color: #7AC4B2;
  width: 60px;
  height: 60px;
  cursor: pointer;
  z-index: 1200;
  transition: 0.25s;
}
@media (max-width: 900px) {
  .p-header__toggle {
    width: 10.8695652174vw;
    height: 10.8695652174vw;
    top: 2.8985507246vw;
    right: 2.8985507246vw;
  }
}

@media (min-width: 900px) {
  .p-header__toggle:hover {
    background-color: #8AD5C2;
  }
}
.p-header__toggle__bar {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 45%;
  height: 2px;
  border-radius: 50px;
  background: white;
  transition: all 0.2s ease-in-out;
}
.p-header__toggle__bar.-bar1 {
  transform: translate(-50%, -550%);
}
.p-header__toggle__bar.-bar2 {
  transform: translate(-50%, -50%);
}
.p-header__toggle__bar.-bar3 {
  transform: translate(-50%, 450%);
}
@media (max-width: 900px) {
  .p-header__toggle__bar {
    height: 0.4830917874vw;
  }
  .p-header__toggle__bar.-bar1 {
    transform: translate(-50%, 1.690821256vw);
  }
  .p-header__toggle__bar.-bar2 {
    transform: translate(-50%, -50%);
  }
  .p-header__toggle__bar.-bar3 {
    transform: translate(-50%, -2.1739130435vw);
  }
}

.p-header__toggle.-open .p-header__toggle__bar.-bar1 {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}
.p-header__toggle.-open .p-header__toggle__bar.-bar2 {
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}
.p-header__toggle.-open .p-header__toggle__bar.-bar3 {
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}

.p-header__btn {
  pointer-events: initial;
  z-index: 1200;
  position: absolute;
  top: 34px;
  right: 154px;
  width: 60px;
  height: 60px;
}
@media (max-width: 900px) {
  .p-header__btn {
    top: 2.8985507246vw;
    left: 2.8985507246vw;
    width: 10.8695652174vw;
    height: 10.8695652174vw;
  }
}

.p-header__btn__link {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  transition: all 0.25s;
}
@media (min-width: 900px) {
  .p-header__btn__link:hover {
    background-color: white;
  }
}

.p-header__btn__img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  fill: #005C87;
  transition: all 0.2s;
}
@media (max-width: 900px) {
  .p-header__btn__img {
    width: 5.7971014493vw;
    height: 5.7971014493vw;
  }
}

.p-nav {
  max-height: 100vh;
  padding-top: 282px;
  background-image: linear-gradient(180deg, white 0%, white 120px, #E9F5F2 120px, #E9F5F2 100%);
  background-attachment: local;
  text-align: center;
  transform: translateY(-20px);
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  z-index: 900;
  position: fixed;
  width: 100vw;
  overflow-y: scroll;
}
@media (max-width: 900px) {
  .p-nav {
    overflow: scroll;
    background-image: linear-gradient(180deg, white 0%, white 16.9082125604vw, #E9F5F2 16.9082125604vw, #E9F5F2 100%);
    padding-top: 48.309178744vw;
    width: 100vw;
  }
}

.p-nav.-open {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: initial;
}

.p-nav-bg {
  transition: 0.5s;
  opacity: 0;
  top: 0;
  left: 0;
  z-index: 890;
  position: fixed;
  width: 100vw;
  height: 100%;
  display: block;
  background-color: black;
  pointer-events: none;
}
@media (max-width: 900px) {
  .p-nav-bg {
    width: 100vw;
  }
}

.p-nav-bg.-open {
  opacity: 0.7;
  pointer-events: initial;
}

.p-nav__list {
  max-width: 530px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 13px;
}
@media (max-width: 900px) {
  .p-nav__list {
    max-width: initial;
    margin-bottom: 0.7246376812vw;
  }
}

.p-nav__list__item {
  margin-left: 30px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 156px;
  height: 117px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  font-size: 0.9375rem;
}
.p-nav__list__item:nth-child(3n+1) {
  margin-left: 0;
}
.p-nav__list__item.-news {
  background-image: url(../../img/nav_news_photo-min.jpg);
}
.p-nav__list__item.-featured-books {
  background-image: url(../../img/nav_featured-books_photo-min.jpg);
}
.p-nav__list__item.-kinyokai {
  background-image: url(../../img/nav_kinyokai_photo-min.jpg);
}
.p-nav__list__item.-garaspen {
  background-image: url(../../img/nav_garaspen_photo-min.jpg);
}
.p-nav__list__item.-fooddrink {
  background-image: url(../../img/nav_fooddrink_photo-min.jpg);
}
.p-nav__list__item.-access {
  background-image: url(../../img/nav_access_photo-min.jpg);
}
.p-nav__list__item::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(0, 92, 135, 0.5);
  transition: 0.25s background-color;
}
@media (min-width: 900px) {
  .p-nav__list__item:hover::before {
    background-color: rgba(49, 153, 203, 0.5);
  }
}
@media (max-width: 900px) {
  .p-nav__list__item {
    margin-left: 30px;
    margin-bottom: 30px;
    width: 37.6811594203vw;
    height: 28.2608695652vw;
  }
  .p-nav__list__item:nth-child(3n+1) {
    margin-left: 30px;
  }
  .p-nav__list__item:nth-child(2n+1) {
    margin-left: 0;
  }
}

.p-nav__list__item__link {
  display: block;
  height: 100%;
  width: 100%;
  z-index: 1;
  color: #fff;
  line-height: 117px;
}
@media (max-width: 900px) {
  .p-nav__list__item__link {
    line-height: 28.2608695652vw;
  }
}

.p-nav__btn {
  min-width: 342px;
  margin-bottom: 63px;
  transition: background-color 0.25s border 0.25s;
}
@media (max-width: 900px) {
  .p-nav__btn {
    font-size: 0.9375rem;
    padding-top: 1.15em;
    padding-bottom: 1.15em;
    margin-bottom: 8.2125603865vw;
    min-width: 82.6086956522vw;
    margin-bottom: 8.2125603865vw;
  }
}

@media (min-width: 900px) {
  .p-nav__btn:hover {
    background-color: #3199CB;
    border: solid 1px #3199CB;
  }
}
.p-header__info {
  font-size: 0.8125rem;
  font-weight: 300;
  text-align: center;
  padding-left: 2em;
  padding-right: 2em;
  padding-top: 1.5em;
  padding-bottom: 1.6em;
  color: #fff;
  background-color: #005C87;
  transition: 1s background-color;
}

.p-header__omori__rope {
  position: absolute;
  background: #7AC4B2;
  width: 3px;
  height: 96px;
  right: 68px;
  top: 62px;
  overflow: visible;
}
@media (max-width: 900px) {
  .p-header__omori__rope {
    width: 0.4830917874vw;
    height: 15.4589371981vw;
    right: 4.8309178744vw;
    top: 9.6618357488vw;
  }
}

.p-header__omori__img {
  position: absolute;
  display: block;
  width: 34px;
  height: auto;
  bottom: 1px;
  left: 50%;
  transform: translate(-50%, 100%);
  transform-origin: center top 0;
  -webkit-animation: omori 2.5s ease-in-out infinite;
          animation: omori 2.5s ease-in-out infinite;
}
@media (max-width: 900px) {
  .p-header__omori__img {
    width: 5.0724637681vw;
  }
}

@-webkit-keyframes omori {
  0% {
    transform: translate(-50%, 100%) rotate(7deg);
  }
  50% {
    transform: translate(-50%, 100%) rotate(-7deg);
  }
  100% {
    transform: translate(-50%, 100%) rotate(7deg);
  }
}

@keyframes omori {
  0% {
    transform: translate(-50%, 100%) rotate(7deg);
  }
  50% {
    transform: translate(-50%, 100%) rotate(-7deg);
  }
  100% {
    transform: translate(-50%, 100%) rotate(7deg);
  }
}
.p-loading__wave {
  transform: translate(0, 2px);
  width: 100%;
}

.p-loading__wave__img {
  width: 100%;
  height: auto;
}

.p-loading__sea {
  height: 100px;
  background-color: #005C87;
}

.p-header__omori__rope__balloon {
  width: 123px;
  height: 50px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(-104%, 20%);
  z-index: 2000;
}
@media (max-width: 900px) {
  .p-header__omori__rope__balloon {
    width: 29.7101449275vw;
    height: 12.077294686vw;
  }
}

.p-header__omori__rope__balloon__img {
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: auto;
}
.p-header__omori__rope__balloon__img.-footer {
  width: 158px;
}
@media (max-width: 900px) {
  .p-header__omori__rope__balloon__img.-footer {
    width: 38.1642512077vw;
  }
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.p-message__title {
  margin-bottom: 28px;
}
@media (max-width: 900px) {
  .p-message__title {
    margin-bottom: 6.7632850242vw;
  }
}

.p-message__title-illust {
  width: 68px;
  height: auto;
  margin-bottom: 40px;
}
@media (max-width: 900px) {
  .p-message__title-illust {
    width: 16.4251207729vw;
    margin-bottom: 9.6618357488vw;
  }
}

@media (max-width: 900px) {
  .p-message__spacer01 {
    height: 5.7971014493vw !important;
  }
}

.p-glasspen__icon {
  width: 42px;
  height: auto;
}
@media (max-width: 900px) {
  .p-glasspen__icon {
    width: 10.1449275362vw;
  }
}

.p-kinyokai__icon {
  width: 42px;
  height: auto;
}
@media (max-width: 900px) {
  .p-kinyokai__icon {
    width: 10.1449275362vw;
  }
}

.p-guide__icon {
  width: 27px;
  height: auto;
}
@media (max-width: 900px) {
  .p-guide__icon {
    width: 6.5217391304vw;
  }
}

.p-glasspen__contact-btn {
  cursor: pointer;
  margin-top: 4.5em;
}

.p-kinyokai__contact-btn {
  cursor: pointer;
  margin-top: 0.6em;
}

.p-kinyokai__contact-btn__note {
  text-align: center;
  margin-top: 2.5em;
  font-size: 0.8125rem;
}

.p-message__spthx {
  position: relative;
  margin-top: 121px;
}
@media (max-width: 900px) {
  .p-message__spthx {
    margin-top: 19.3236714976vw;
  }
}

.p-message__spthx__img {
  width: 120px;
  height: 120px;
  margin-bottom: 32px;
}
@media (max-width: 900px) {
  .p-message__spthx__img {
    width: 28.9855072464vw;
    height: 28.9855072464vw;
    margin-bottom: 5.7971014493vw;
  }
}
.p-message__spthx__img.-ichie {
  margin-top: 26px;
  width: 244px;
  height: 26px;
}
@media (max-width: 900px) {
  .p-message__spthx__img.-ichie {
    margin-top: 6.2801932367vw;
    width: 58.9371980676vw;
    height: 6.2801932367vw;
  }
}
.p-message__spthx__img.-triman, .p-message__spthx__img.-monog {
  position: relative;
  margin-top: 26px;
  width: 200px;
  height: 45px;
}
@media (max-width: 900px) {
  .p-message__spthx__img.-triman, .p-message__spthx__img.-monog {
    margin-top: 6.2801932367vw;
    width: 48.309178744vw;
    height: 10.8695652174vw;
  }
}
@media (max-width: 900px) {
  .p-message__spthx__img.-triman {
    margin-bottom: 0;
  }
}
@media (max-width: 900px) {
  .p-message__spthx__img.-monog {
    margin-top: 0;
  }
}

.p-message__spthx__img__flex {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 900px) {
  .p-message__spthx__img__flex {
    display: block;
  }
}

.p-message__spthx__img-cross {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
@media (max-width: 900px) {
  .p-message__spthx__img-cross {
    z-index: 1;
    display: block;
    margin-left: auto;
    margin-right: auto;
    transform: translateY(40%);
  }
}
.p-message__spthx__img-cross::before, .p-message__spthx__img-cross::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 1em;
  border-radius: 100px;
  background: #999;
}
.p-message__spthx__img-cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-message__spthx__img-cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.p-message__spthx__list__item {
  padding-top: 42px;
  padding-bottom: 52px;
}
@media (max-width: 900px) {
  .p-message__spthx__list__item {
    padding-top: 10.1449275362vw;
    padding-bottom: 12.5603864734vw;
  }
}

.p-message__spthx__list__item + .p-message__spthx__list__item {
  background-image: url(../../img/modal-title-line.svg);
  background-size: 36px auto;
  background-position: center top;
  background-repeat: repeat-x;
  background-color: rgba(255, 255, 255, 0.5);
  background-blend-mode: lighten;
}
@media (max-width: 900px) {
  .p-message__spthx__list__item + .p-message__spthx__list__item {
    background-size: 8.6956521739vw auto;
  }
}

.p-message__spthx__note {
  color: #888;
  text-align: left;
}

.p-message__spthx__name {
  text-align: left;
  font-weight: 500;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  line-height: 1.8;
}

.p-message__spthx__desc {
  text-align: left;
  margin-bottom: 1.4em;
}
.p-message__spthx__desc.-enupper {
  margin-bottom: 0.5em;
}

.p-message__spthx__desc + .p-message__spthx__desc {
  margin-top: -0.5em !important;
}

.p-message__spthx__btn {
  min-width: 200px;
  font-size: 0.8125rem;
}
@media (max-width: 900px) {
  .p-message__spthx__btn {
    min-width: 48.309178744vw;
  }
}
.p-message__spthx__btn::before {
  transition: 0.25s all;
  position: absolute;
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" preserveAspectRatio="none"><path fill="%23fff" d="M256 64C256 46.33 270.3 32 288 32H415.1C415.1 32 415.1 32 415.1 32C420.3 32 424.5 32.86 428.2 34.43C431.1 35.98 435.5 38.27 438.6 41.3C438.6 41.35 438.6 41.4 438.7 41.44C444.9 47.66 447.1 55.78 448 63.9C448 63.94 448 63.97 448 64V192C448 209.7 433.7 224 416 224C398.3 224 384 209.7 384 192V141.3L214.6 310.6C202.1 323.1 181.9 323.1 169.4 310.6C156.9 298.1 156.9 277.9 169.4 265.4L338.7 96H288C270.3 96 256 81.67 256 64V64zM0 128C0 92.65 28.65 64 64 64H160C177.7 64 192 78.33 192 96C192 113.7 177.7 128 160 128H64V416H352V320C352 302.3 366.3 288 384 288C401.7 288 416 302.3 416 320V416C416 451.3 387.3 480 352 480H64C28.65 480 0 451.3 0 416V128z" /></svg>');
  right: 0;
  top: 50%;
  transform: translate(-100%, -50%);
}
@media (max-width: 900px) {
  .p-message__spthx__btn::before {
    width: 3.3816425121vw;
    height: 3.3816425121vw;
    background-size: 3.3816425121vw 3.3816425121vw;
  }
}
.p-message__spthx__btn.-two-stage {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
@media (min-width: 900px) {
  .p-message__spthx__btn:hover {
    color: white;
    background-color: #3199CB;
    border: solid 1px #3199CB;
  }
  .p-message__spthx__btn:hover::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" preserveAspectRatio="none"><path fill="%23fff" d="M256 64C256 46.33 270.3 32 288 32H415.1C415.1 32 415.1 32 415.1 32C420.3 32 424.5 32.86 428.2 34.43C431.1 35.98 435.5 38.27 438.6 41.3C438.6 41.35 438.6 41.4 438.7 41.44C444.9 47.66 447.1 55.78 448 63.9C448 63.94 448 63.97 448 64V192C448 209.7 433.7 224 416 224C398.3 224 384 209.7 384 192V141.3L214.6 310.6C202.1 323.1 181.9 323.1 169.4 310.6C156.9 298.1 156.9 277.9 169.4 265.4L338.7 96H288C270.3 96 256 81.67 256 64V64zM0 128C0 92.65 28.65 64 64 64H160C177.7 64 192 78.33 192 96C192 113.7 177.7 128 160 128H64V416H352V320C352 302.3 366.3 288 384 288C401.7 288 416 302.3 416 320V416C416 451.3 387.3 480 352 480H64C28.65 480 0 451.3 0 416V128z" /></svg>');
  }
}

.p-message__spthx__btn__txt-upper {
  display: block;
  font-size: 0.625rem;
}

.p-message__spthx__btn__txt-lower {
  display: block;
  font-size: 0.75rem;
}

.p-message__spthx__btn + .p-message__spthx__btn {
  margin-left: 1em;
}
@media (max-width: 900px) {
  .p-message__spthx__btn + .p-message__spthx__btn {
    margin-left: 0;
    margin-top: 1em;
  }
}

.p-message__spthx__desc__link {
  text-decoration: underline;
}

.p-message__linkclct {
  margin-top: 64px;
}
@media (max-width: 900px) {
  .p-message__linkclct {
    margin-top: 9.6618357488vw;
  }
}

.p-message__linkclct__title {
  margin-bottom: 2em !important;
}

.p-message__linkclct__list {
  text-align: left;
}

.p-message__linkclct__list__title {
  font-weight: 400;
}

.p-message__linkclct__list__data {
  margin-bottom: 0.8em;
}
.p-message__linkclct__list__data a {
  text-decoration: underline;
  color: #005C87;
}

.p-message-modal-btn {
  margin-top: 80px;
}
@media (max-width: 900px) {
  .p-message-modal-btn {
    margin-top: 19.3236714976vw;
  }
}

.p-message__dummy {
  font-size: 1px;
  color: white;
  line-height: 1px;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.p-thanks {
  height: 300px;
  padding-top: 64px;
  text-align: center;
}
@media (max-width: 900px) {
  .p-thanks {
    height: 106.2801932367vw;
    padding-top: 38.6473429952vw;
  }
}

.p-thanks__btn {
  margin-top: 2em;
}

.p-page__title {
  margin-bottom: 2.5em;
}

.p-page {
  position: relative;
  z-index: 1;
}
.p-page h2 {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.p-page p {
  margin-bottom: 0.5em;
}
.p-page a {
  text-decoration: underline;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.p-404 {
  height: 500px;
  padding-top: 64px;
  text-align: center;
}
@media (max-width: 900px) {
  .p-404 {
    height: 135.2657004831vw;
    padding-top: 24.154589372vw;
  }
}

.p-404__logo {
  margin-left: auto;
  margin-right: auto;
  width: 164px;
  height: 163px;
  margin-bottom: 1em;
}
@media (max-width: 1440px) {
  .p-404__logo {
    width: 11.3888888889vw;
    height: 11.3194444444vw;
  }
}
@media (max-width: 900px) {
  .p-404__logo {
    width: 26.5700483092vw;
    height: 26.5700483092vw;
  }
}

.p-404__title {
  font-weight: 800;
  text-align: center;
  font-size: 3.75rem;
}

.p-404__txt {
  margin-bottom: 2em;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.p-news.-archive {
  position: relative;
}

/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/* Utility ------------ */
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
/*---------------------------------------------------
PCのみで表示 ---------------------------------------------------*/
.u-display-pc {
  display: block;
}
@media (max-width: 900px) {
  .u-display-pc {
    display: none;
  }
}
@media (max-width: 599px) {
  .u-display-pc {
    display: none;
  }
}

/*---------------------------------------------------
TBのみで表示 ---------------------------------------------------*/
.u-display-tb {
  display: none;
}
@media (max-width: 900px) {
  .u-display-tb {
    display: block;
  }
}
@media (max-width: 599px) {
  .u-display-tb {
    display: none;
  }
}

/*---------------------------------------------------
SPのみで表示 ---------------------------------------------------*/
.u-display-sp {
  display: none;
}
@media (max-width: 599px) {
  .u-display-sp {
    display: block;
  }
}

.u-sp-inline {
  display: none;
}
@media (max-width: 599px) {
  .u-sp-inline {
    display: inline;
  }
}

/*---------------------------------------------------
PC&TBで表示 ---------------------------------------------------*/
.u-display-pc-tb {
  display: block;
}
@media (max-width: 599px) {
  .u-display-pc-tb {
    display: none;
  }
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
/*---------------------------------------------------
テンプレートパーツ
---------------------------------------------------*/
.u-text-center {
  text-align: center;
}

.u-must::after {
  content: "必須";
  font-size: 0.625rem;
  font-weight: 600;
  padding-left: 0.6em;
  padding-right: 0.6em;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  background-color: #fff;
  color: #005C87;
  border-radius: 2px;
  margin-left: 0.6em;
  display: inline-block;
  transform: translateY(-0.2em);
  line-height: 1.4;
}

.u-img-border img {
  border: solid 1px #F0F0F0;
}
@media (max-width: 900px) {
  .u-img-border img {
    border: solid 0.2415458937vw #F0F0F0;
  }
}

.u-en {
  font-family: "avenir-next", sans-serif;
}
.u-en.-regular {
  font-weight: 400;
}
.u-en.-bold {
  font-weight: 600;
}

/*---------------------------------------------------
オリジナルパーツ
---------------------------------------------------*/
.fade {
  opacity: 0;
  transform: translate(0, 20px);
  transition: all 0.4s ease-out;
}
@media (max-width: 900px) {
  .fade {
    transform: translate(0, 4.8309178744vw);
  }
}

.fade.-view {
  opacity: 1;
  transform: translate(0, 0);
}