@charset "UTF-8";
/*  reset
-------------------------------------------------------*/
* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

*,
::before,
::after {
 background-repeat: no-repeat;
 zoom: 1;
}

::before,
::after {
 text-decoration: inherit;
 vertical-align: inherit;
}

html, body {
 font-size: 62.5%;
 -webkit-overflow-scrolling: touch;
}

html {
 overflow-y: scroll;
 cursor: default;
}

body {
 line-height: 1;
 -webkit-text-size-adjust: 100%;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 -webkit-print-color-adjust: exact;
}

h1, h2, h3, h4, h5, h6 {
 font-size: 1em;
 font-weight: 400;
 line-height: 1em;
}

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

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

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

th {
 font-weight: normal;
}

td, th {
 padding: 0;
}

blockquote {
 quotes: none;
}

blockquote:before, blockquote:after {
 content: '';
 content: none;
}

a {
 color: inherit;
 background-color: transparent;
 text-decoration: none;
 -webkit-text-decoration-skip: objects;
 cursor: pointer;
}

a:active, a:hover {
 outline-width: 0;
}

a:focus, *:focus {
 outline: none;
}

img {
 border-style: none;
 vertical-align: bottom;
 image-rendering: -webkit-optimize-contrast;
}

[type="text"],
[type="tel"],
[type="email"],
[type="date"],
[type="number"],
[type="submit"],
[type="button"],
button, textarea, select {
 margin: 0;
 padding: 0;
 background: none;
 border: none;
 border-radius: 0;
 outline: none;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
 -webkit-appearance: none;
 margin: 0;
}

input[type="number"] {
 -moz-appearance: textfield;
}

input, select {
 vertical-align: middle;
}

select {
 border: none;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
}

select::-ms-expand {
 display: none;
}

button, select {
 text-transform: none;
}

button, [type="button"], [type="reset"], [type="submit"], [role="button"] {
 cursor: pointer;
}

/* IEのinput要素に出てくるマークを消去 */
input::-ms-clear {
 visibility: hidden;
}

/* IEのinput要素に出てくるマークを消去 */
input::-ms-reveal {
 visibility: hidden;
}

/*  html / body
-------------------------------------------------------*/
html {
 font-size: 62.5%;
}

body {
 width: 100%;
 height: 100%;
 color: #222222;
 background-color: #fff;
 font-family: "Noto Sans JP", sans-serif;
 font-size: 3.73333vw;
 font-weight: 400;
 line-height: 1;
 letter-spacing: .2em;
 word-wrap: break-word;
 overflow-wrap: break-word;
 overflow-x: hidden;
}

@media all and (-ms-high-contrast: none) {
 body {
  font-family: sans-serif;
 }
}

@media screen and (min-width: 751px) {
 body {
  font-size: 1.04167vw;
 }
}

@media screen and (min-width: 1401px) {
 body {
  font-size: 1.5em;
 }
}

/*  リンク
-------------------------------------------------------*/
a {
 transition: all .4s;
}

a.on--opa {
 display: inline-block;
}

a.on--opa:hover {
 opacity: 0.7;
}

.blank {
 opacity: 0.5 !important;
}

/*  header
-------------------------------------------------------*/
.header {
 position: relative;
 width: 100%;
 background-color: #fff;
 z-index: 9999;
}

.header-logo {
 width: 55.6vw;
}

.header-logo a {
 display: block;
}

@media screen and (max-width: 750px) {
 .header-logos {
  display: flex;
  align-items: center;
  padding-left: 1.33333vw;
  height: 24vw;
 }
 .header.is-open .header-logo {
  display: none;
 }
}

@media screen and (min-width: 751px) {
 .header-logos {
  padding: 3.81944vw 0 1.73611vw 0;
 }
 .header-logo {
  margin: 0 auto;
  width: 12.08333vw;
 }
 .header-content {
  padding: 1.73611vw 0;
 }
 .header-content.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  padding: 1.73611vw 0 4.16667vw 0;
  width: 100%;
  height: 9.02778vw;
  background-color: #fff;
  z-index: 9999;
 }
 .header-content-box {
  width: 100%;
 }
 .header-content__in {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
 }
}

@media screen and (min-width: 1401px) {
 .header-logos {
  padding: 55px 0 25px 0;
 }
 .header-logo {
  width: 174px;
 }
 .header-content {
  padding: 25px 0;
 }
 .header-content.is-fixed {
  padding: 25px 0 60px 0;
  height: 130px;
 }
}

@media screen and (max-width: 750px) {
 .header-content {
  position: fixed;
  top: 0;
  left: 0;
  padding-top: 23.33333vw;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: visibility 0.3s;
  overflow: hidden;
  z-index: 999;
 }
 .header-content:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
  background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
  background: linear-gradient(to right, #dac3fc, #8ec5fc);
  opacity: 0.1;
 }
 .header-content.is-open {
  width: 100%;
  height: 100%;
  opacity: 1;
  visibility: visible;
 }
 .header-content-box {
  position: relative;
  margin-top: 4vw;
  height: 100%;
  overflow-x: scroll;
  z-index: 999;
 }
 .header-content__in {
  position: relative;
  margin: 0 auto 21.33333vw auto;
  width: 92vw;
 }
}

/* ------------------------------------------- header-socail - */
.header-social {
 display: flex;
 justify-content: center;
 align-items: center;
 flex-wrap: wrap;
 margin: 0 auto;
 width: 55.33333vw;
}

.header-social a {
 display: block;
}

.header-social a.instagram {
 width: 6.13333vw;
}

.header-social a.facebook {
 width: 6.93333vw;
}

.header-social a.line {
 width: 6.66667vw;
}

.header-social a.youtube {
 width: 17.86667vw;
}

.header-social a.twitter {
 width: 6.93333vw;
}

.header-social a.note {
 width: 14.53333vw;
}

/* ------------------------------------------- head link - */
.header-link {
 margin-bottom: 12.66667vw;
 text-align: center;
}

.header-access a {
 position: relative;
 display: inline-block;
 padding-left: 5.33333vw;
 font-family: baskerville-urw, serif;
 font-size: 3.46667vw;
}

.header-access a span {
 position: relative;
 display: inline-block;
 padding: 0 0 0.3em 0.2em;
 border-bottom: 1px solid #222222;
}

.header-access a:before {
 content: '';
 position: absolute;
 top: 50%;
 left: 0;
 display: inline-block;
 width: 3.73333vw;
 height: 5.33333vw;
 background-image: url(../img/common/access.png);
 background-size: contain;
 background-repeat: no-repeat;
 transform: translateY(-50%);
}

.header-btn {
 margin: 0 auto 8vw auto;
 width: 62.66667vw;
}

@media screen and (max-width: 750px) {
 .header-social a {
  margin-right: 8vw;
 }
 .header-social a:nth-child(n + 4) {
  margin-top: 8vw;
 }
 .header-social a:nth-child(3),
 .header-social a:last-child {
  margin-right: 0;
 }
}

@media screen and (min-width: 751px) {
 .header-social {
  position: absolute;
  top: 2.43056vw;
  left: 1.38889vw;
  justify-content: space-between;
  margin: 0;
  width: 21.875vw;
 }
 .header-content.is-fixed .header-social {
  top: 6.11111vw;
  left: auto;
  right: 1.38889vw;
 }
 .header-social a.instagram {
  width: 1.59722vw;
 }
 .header-social a.facebook {
  width: 1.80556vw;
 }
 .header-social a.line {
  width: 1.73611vw;
 }
 .header-social a.youtube {
  width: 4.65278vw;
 }
 .header-social a.twitter {
  width: 1.80556vw;
 }
 .header-social a.note {
  width: 3.81944vw;
 }
 .header-link {
  position: absolute;
  top: 1.38889vw;
  right: 1.38889vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  width: 24.30556vw;
  height: 3.47222vw;
 }
 .header-access {
  order: 1;
 }
 .header-access a {
  padding-left: 1.38889vw;
  font-size: 0.90278vw;
 }
 .header-access a:before {
  width: 0.97222vw;
  height: 1.38889vw;
 }
 .header-btn {
  margin: 0;
  width: 16.31944vw;
  order: 2;
 }
}

@media screen and (min-width: 1401px) {
 .header-social {
  top: 35px;
  left: 20px;
  width: 315px;
 }
 .header-content.is-fixed .header-social {
  top: 88px;
  right: 20px;
 }
 .header-social a.instagram {
  width: 23px;
 }
 .header-social a.facebook {
  width: 26px;
 }
 .header-social a.line {
  width: 25px;
 }
 .header-social a.youtube {
  width: 67px;
 }
 .header-social a.twitter {
  width: 26px;
 }
 .header-social a.note {
  width: 55px;
 }
 .header-link {
  top: 20px;
  right: 20px;
  width: 350px;
  height: 50px;
 }
 .header-access a {
  padding-left: 20px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .header-access a:before {
  width: 14px;
  height: 20px;
 }
 .header-btn {
  width: 235px;
 }
}

/*  メニュー
-------------------------------------------------------*/
.navi > li {
 cursor: pointer;
}

.navi-menu-jp {
 position: relative;
 display: block;
 margin-bottom: .7em;
 font-family: "Noto Serif JP", serif;
 font-size: 4.8vw;
 font-weight: 600;
 letter-spacing: .2em;
}

.navi-menu-en {
 position: relative;
 display: block;
 width: 100%;
 font-family: baskerville-urw, serif;
 font-size: 3.46667vw;
 text-transform: uppercase;
 letter-spacing: .2em;
}

/* ----------------- グローバルナビ (SP) - */
@media screen and (max-width: 750px) {
 .navi {
  margin: 0 auto 8vw auto;
  width: 100%;
 }
 .navi > li > div {
  position: relative;
 }
 .navi > li > .navi-parent:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 7.2vw;
  display: inline-block;
  width: 3.73333vw;
  height: 3.73333vw;
  background-image: url(../img/common/plus.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
 }
 .navi > li > .navi-parent.is-open:after {
  background-image: url(../img/common/minus.png);
 }
 .navi-menu {
  position: relative;
  padding: 4.66667vw 17.33333vw 4.66667vw 9.33333vw;
  width: 100%;
  border-top: 0.26667vw solid #cccccc;
 }
 .navi > li:last-child .navi-menu {
  border-bottom: 0.26667vw solid #cccccc;
 }
 .navi > li > div:not(.navi-submenu) a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
 }
 .navi-submenu {
  display: none;
  position: relative;
  margin: 0 0 4vw auto;
  width: 76.66667vw;
  overflow: hidden;
 }
 .navi-submenu:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  z-index: -1;
 }
 .navi-submenu-list a {
  position: relative;
  padding: 0 6.66667vw 0 4.66667vw;
  display: flex;
  align-items: center;
  width: 100%;
  height: 10.66667vw;
  font-family: "Noto Serif JP", serif;
  font-size: 4vw;
  font-weight: 600;
 }
 .navi-submenu-list a:before {
  content: '-';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
 }
}

/* ----------------- グローバルナビ (PC) - */
@media screen and (min-width: 751px) {
 .navi {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 74.30556vw;
 }
 .header-content.is-fixed .navi {
  margin: 0;
 }
 .navi > li {
  position: relative;
  padding: 0 1.38889vw;
  display: block;
  border-right: 1px solid #cccccc;
 }
 .navi > li:last-child {
  border-right: none;
 }
 .navi-menu {
  position: relative;
  height: 3.125vw;
  text-align: center;
  transition: .3s;
 }
 .navi-menu-jp {
  display: inline-block;
  font-size: 1.25vw;
  text-align: center;
 }
 .navi-menu-en {
  font-size: 0.90278vw;
  text-align: center;
 }
 .navi > li:hover .navi-menu-jp {
  color: #98a0aa;
 }
 .navi-menu-jp:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 0%;
  height: 1px;
  background-color: #98a0aa;
  transform: translate(-50%, -50%);
  transition: .3s;
 }
 .navi > li:hover .navi-menu-jp:after {
  width: 100%;
 }
 .navi-submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  display: none !important;
  padding: 1.04167vw 2.08333vw;
  height: auto;
  background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
  background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
  background: linear-gradient(to right, #dac3fc, #8ec5fc);
  transform: translateX(-50%);
  z-index: 9999;
 }
 .navi > li:hover .navi-submenu {
  display: block !important;
 }
 .navi-submenu-list {
  width: 100%;
 }
 .navi-submenu-list a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 .5em 0 1.5em;
  height: 3.125vw;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 1.04167vw;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.6em;
  letter-spacing: .05em;
 }
 .navi-submenu-list a:before {
  content: '-';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
 }
 .navi-submenu-list a:hover {
  opacity: .7;
 }
}

@media screen and (min-width: 1401px) {
 .navi {
  width: 1070px;
 }
 .navi > li {
  padding: 0 25px;
 }
 .navi-menu {
  height: 45px;
 }
 .navi-menu-jp {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .navi-menu-en {
  font-size: 13px;
  font-size: 1.3rem;
 }
 .navi-submenu {
  padding: 15px 30px;
 }
 .navi-submenu-list a {
  height: 45px;
  font-size: 15px;
  font-size: 1.5rem;
 }
}

/* ------------------------------------------- toggle - */
.toggle {
 position: absolute;
 top: 0;
 right: 0;
 width: 26vw;
 height: 24vw;
 background-color: #fff;
 transition: opacity 0.25s ease;
 cursor: pointer;
 z-index: 9999;
}

.header.is-open .toggle {
 position: fixed;
 background-color: transparent;
}

.toggle span {
 position: absolute;
 height: 0.8vw;
 background-color: #222222;
 border-radius: 0.4vw;
 transition: .3s;
}

.toggle span:nth-of-type(1) {
 top: 5.33333vw;
 left: 4.4vw;
 width: 16vw;
}

.toggle span:nth-of-type(2) {
 top: 11.06667vw;
 left: 7.06667vw;
 width: 13.33333vw;
}

.toggle.is-active span:nth-of-type(1) {
 top: 8.53333vw;
 left: 50%;
 width: 13.33333vw;
 transform: translateX(-50%) rotate(45deg);
}

.toggle.is-active span:nth-of-type(2) {
 top: 8.53333vw;
 left: 50%;
 width: 13.33333vw;
 transform: translateX(-50%) rotate(-45deg);
}

.toggle-text {
 position: absolute;
 left: 50%;
 bottom: 4.4vw;
 font-family: baskerville-urw, serif;
 font-size: 4.8vw;
 text-align: center;
 line-height: 1em;
 letter-spacing: .1em;
 transform: translateX(-50%);
}

@media screen and (min-width: 751px) {
 .toggle {
  display: none;
 }
}

/*  footer
-------------------------------------------------------*/
/* ------------------------------------------- footer first - */
.footer-first {
 position: relative;
 display: none;
}

@media screen and (min-width: 751px) {
 .footer-first {
  position: relative;
  display: block;
  padding: 5.55556vw 0 4.86111vw 0;
 }
 .footer-first:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
  background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
  background: linear-gradient(to right, #dac3fc, #8ec5fc);
  opacity: 0.1;
  z-index: -1;
 }
 .footer-navi {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 69.44444vw;
 }
 .footer-navi-head {
  position: relative;
  padding-bottom: .5em;
  font-family: "Noto Serif JP", serif;
  font-size: 0.90278vw;
  font-weight: 600;
  letter-spacing: .2em;
 }
 .footer-navi-head a {
  display: block;
 }
 .footer-navi-head a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: #222222;
  transition: .3s;
 }
 .footer-navi-head a:hover:after {
  width: 100%;
 }
 .footer-navi-list {
  margin-top: 1.38889vw;
 }
 .footer-navi-list > li a {
  position: relative;
  display: block;
  color: #888888;
  font-family: "Noto Serif JP", serif;
  font-size: 0.76389vw;
  font-weight: 600;
  line-height: 3.27em;
  letter-spacing: .1em;
 }
 .footer-navi-list > li a:hover {
  color: #222222;
 }
 .footer-navi-list > li a:before {
  content: '-';
  margin-right: .5em;
 }
}

@media screen and (min-width: 1401px) {
 .footer-first {
  padding: 80px 0 70px 0;
 }
 .footer-navi {
  width: 1000px;
 }
 .footer-navi-head {
  font-size: 13px;
  font-size: 1.3rem;
 }
 .footer-navi-list {
  margin-top: 20px;
 }
 .footer-navi-list > li a {
  font-size: 11px;
  font-size: 1.1rem;
 }
}

/* ------------------------------------------- footer second - */
.footer-second {
 position: relative;
 padding: 18.66667vw 0 13.33333vw 0;
 background-color: #fff;
}

.footer-logo {
 margin: 0 auto 17.33333vw auto;
 width: 46.26667vw;
}

.footer-copy {
 font-family: baskerville-urw, serif;
 font-size: 2.93333vw;
 text-align: center;
 letter-spacing: .2em;
}

.fooder-catch {
 display: none;
}

@media screen and (min-width: 751px) {
 .footer-second {
  padding: 5.55556vw 0 4.86111vw 0;
  overflow: hidden;
 }
 .footer-logo {
  margin: 0 auto 4.16667vw auto;
  width: 12.08333vw;
 }
 .footer-copy {
  font-size: 0.76389vw;
 }
 .fooder-catch {
  position: absolute;
  right: 0;
  bottom: -.1em;
  display: block;
  font-family: baskerville-urw, serif;
  font-size: 3.33333vw;
  background: linear-gradient(to right, #b997d5 25%, #2b97ae 75%);
  color: transparent;
  text-transform: uppercase;
  letter-spacing: .2em;
  -webkit-background-clip: text;
  opacity: 0.3;
 }
}

@media screen and (min-width: 1401px) {
 .footer-second {
  padding: 80px 0 70px 0;
 }
 .footer-logo {
  margin: 0 auto 60px auto;
  width: 174px;
 }
 .footer-copy {
  font-size: 11px;
  font-size: 1.1rem;
 }
 .fooder-catch {
  font-size: 48px;
  font-size: 4.8rem;
 }
}

/*  content
-------------------------------------------------------*/
.content {
 position: relative;
}

.sec {
 position: relative;
}

.sec__in {
 position: relative;
 margin: 0 auto;
 width: 92vw;
}

@media screen and (min-width: 751px) {
 .sec__in {
  width: 83.33333vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec__in {
  width: 1200px;
 }
}

/*  #hero
-------------------------------------------------------*/
.hero {
 position: relative;
 margin: 0 auto;
 width: 100%;
}

.hero-slide {
 position: relative;
 width: 100%;
}

.hero-image {
 position: relative;
 overflow: hidden;
}

.hero-image:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.1);
 z-index: 2;
}

.hero .swiper-slide .hero-image.is-play img {
 animation-name: zoom;
 animation-duration: 10s;
 animation-fill-mode: forwards;
}

.hero-content {
 position: absolute;
 top: 126.93333vw;
 left: 50%;
 width: 92vw;
 transform: translateX(-50%);
 z-index: 3;
}

.hero-catch {
 margin-bottom: 7.33333vw;
}

.hero-catch p {
 font-family: "Noto Serif JP", serif;
}

.hero-catch p:nth-child(1) {
 margin-bottom: .57em;
 font-size: 9.6vw;
}

.hero-catch p:nth-child(1) span.en {
 font-family: baskerville-urw, serif;
 font-weight: 400;
}

.hero-catch p:nth-child(2) {
 font-size: 6.4vw;
}

.hero-btn {
 width: 56vw;
}

.hero-control {
 display: none;
}

.hero-bar {
 position: absolute;
 left: 50%;
 bottom: -12.66667vw;
 width: 1px;
 height: 25.33333vw;
 z-index: 3;
}

.hero-bar:after {
 content: '';
 position: absolute;
 top: 0;
 width: 1px;
 height: 25.33333vw;
 background-color: #222222;
 animation: pathmove 1.4s ease-in-out infinite;
 opacity: 0;
}

@keyframes zoom {
 from {
  transform: scale(1);
 }
 to {
  transform: scale(1.1);
 }
}

@keyframes pathmove {
 0% {
  height: 0;
  opacity: 0;
 }
 30% {
  height: 50%;
  opacity: 1;
 }
 100% {
  top: 80%;
  height: 0;
  opacity: 0;
 }
}

@media screen and (max-width: 750px) {
 .hero {
  height: 194.66667vw;
 }
 .hero-catch p:nth-child(1) {
  display: flex;
  align-items: center;
  height: 9.86667vw;
 }
 .hero-catch p:nth-child(2) {
  display: flex;
  align-items: center;
  height: 6.66667vw;
 }
 .hero-slide02 .hero-catch p:nth-child(2) {
  font-size: 4.66667vw;
 }
 .hero-slide06 .hero-catch p:nth-child(2) {
  font-size: 6.13333vw;
 }
}

@media screen and (min-width: 751px) {
 .hero-content {
  top: 50%;
  width: 83.33333vw;
  transform: translate(-50%, -50%);
 }
 .hero-catch {
  display: flex;
  align-items: center;
  margin-bottom: 3.125vw;
 }
 .hero-slide02 .hero-catch p {
  color: #fff !important;
 }
 .hero-catch p:nth-child(1) {
  margin: 0 1em 0 0;
  font-size: 2.5vw;
 }
 .hero-catch p:nth-child(2) {
  font-size: 1.66667vw;
 }
 .hero-btn {
  width: 14.58333vw;
 }
 .hero-slide02 .hero-btn .btn {
  border: 1px solid #fff;
  color: #fff;
 }
 .hero-slide02 .hero-btn .btn:hover {
  background-color: #fff;
  color: #222222;
 }
 .hero-slide02 .hero-btn .btn:after {
  background-color: #fff;
 }
 .hero-slide02 .hero-btn .btn:hover:after {
  background-color: #222222;
 }
 .hero-control {
  position: absolute;
  right: 1.38889vw;
  bottom: -2.77778vw;
  display: block;
  z-index: 1;
 }
 .hero-bar {
  bottom: -5.55556vw;
  height: 11.11111vw;
 }
 .hero-bar:after {
  height: 11.11111vw;
 }
}

@media screen and (min-width: 1401px) {
 .hero-content {
  width: 1200px;
 }
 .hero-catch {
  margin-bottom: 45px;
 }
 .hero-catch p:nth-child(1) {
  font-size: 36px;
  font-size: 3.6rem;
 }
 .hero-catch p:nth-child(2) {
  font-size: 24px;
  font-size: 2.4rem;
 }
 .hero-btn {
  width: 210px;
 }
 .hero-control {
  right: 20px;
  bottom: -40px;
 }
 .hero-bar {
  bottom: -80px;
  height: 160px;
 }
 .hero-bar:after {
  height: 160px;
 }
}

/* ------------------------------------------- slide btn - */
.slide-pagination {
 display: flex;
 justify-content: center;
 align-items: center;
}

.slide-pagination .swiper-pagination-bullet {
 margin-right: 2.66667vw;
 width: 13.33333vw;
 height: 0.53333vw;
 background-color: #cccccc;
 border-radius: 0;
 opacity: 1;
}

.slide-pagination .swiper-pagination-bullet-active {
 background-color: #333333;
}

.slide-pagination .swiper-pagination-bullet:last-child {
 margin-right: 0;
}

@media screen and (min-width: 751px) {
 .slide-pagination .swiper-pagination-bullet {
  margin-right: 0.69444vw;
  width: 3.47222vw;
  height: 0.13889vw;
 }
}

@media screen and (min-width: 1401px) {
 .slide-pagination .swiper-pagination-bullet {
  margin-right: 10px;
  width: 50px;
  height: 2px;
 }
}

/* #news
-------------------------------------------------------------------------------*/
.sec--news {
 padding: 21.33333vw 0 20.66667vw 0;
}

.sec--news:before,
.sec--news:after {
 content: '';
 position: absolute;
 width: 85.33333vw;
 height: 82.66667vw;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.1;
 z-index: -1;
}

.sec--news:before {
 top: 0;
 left: 0;
 height: 82.66667vw;
}

.sec--news:after {
 right: 0;
 bottom: 25.33333vw;
 height: 82.66667vw;
}

.news-btn {
 margin: 13.33333vw auto 0 auto;
 width: 42vw;
}

@media screen and (min-width: 751px) {
 .sec--news {
  padding: 11.80556vw 0 17.36111vw 0;
 }
 .sec--news:before,
 .sec--news:after {
  width: 46.52778vw;
 }
 .sec--news:before {
  height: 32.29167vw;
 }
 .sec--news:after {
  bottom: 0;
  height: 37.15278vw;
 }
 .news-btn {
  position: absolute;
  top: 1.18056vw;
  right: 0;
  margin: 0;
  width: 11.11111vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--news {
  padding: 170px 0 250px 0;
 }
 .sec--news:before,
 .sec--news:after {
  width: 670px;
 }
 .sec--news:before {
  height: 465px;
 }
 .sec--news:after {
  height: 535px;
 }
 .news-btn {
  top: 17px;
  width: 160px;
 }
}

/* #service
-------------------------------------------------------------------------------*/
.sec--service {
 padding: 22.66667vw 0 31.33333vw 0;
}

.sec--service:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 z-index: -1;
}

.service {
 display: none;
}

@media screen and (max-width: 750px) {
 .service-sp {
  margin: 0 auto;
  width: 92vw;
 }
 .service-sp-in {
  margin-top: 10.66667vw;
 }
 .service-sp-in a {
  display: flex;
  justify-content: space-between;
 }
 .service-sp-in a:nth-child(n + 2) {
  margin-top: 13.33333vw;
 }
 .service-sp-image {
  width: 37.33333vw;
 }
 .service-sp a:hover .service-sp-image img {
  transform: scale(1.1, 1.1);
  cursor: pointer;
 }
 .service-sp-content {
  width: 49.33333vw;
 }
 .service-sp-head {
  margin-bottom: 1.5em;
  color: #fff;
  font-family: baskerville-urw, serif;
  font-size: 4vw;
  text-transform: uppercase;
 }
 .service-sp-desc {
  margin-bottom: 5.33333vw;
 }
 .service-sp-desc p {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 3.73333vw;
  font-weight: 600;
  line-height: 1.65em;
  letter-spacing: .15em;
 }
 .service-sp-more {
  position: relative;
  padding-left: 12.66667vw;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 6.4vw;
  font-weight: 600;
 }
 .service-sp-more:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 8vw;
  height: 0.26667vw;
  background-color: #fff;
 }
}

@media screen and (min-width: 751px) {
 .sec--service {
  padding: 0 0 10.41667vw 0;
 }
 .sec--service:before {
  content: none;
 }
 .service-sp {
  display: none;
 }
 .service {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
 }
 .service-galleys {
  position: relative;
  top: -3.47222vw;
  width: 50%;
 }
 .service-gallery {
  display: none;
  position: relative;
 }
 .service-gallery.is-show {
  display: block;
  position: relative;
  width: 100%;
 }
 .service-gallery-image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  height: 52.08333vw;
 }
 .service-gallery-content {
  position: absolute;
  left: 5.20833vw;
  bottom: 3.47222vw;
  width: 38.19444vw;
  z-index: 2;
 }
 .service-gallery-en {
  margin-bottom: 1em;
  color: #fff;
  font-family: baskerville-urw, serif;
  font-size: 0.90278vw;
  text-transform: uppercase;
 }
 .service-gallery-jp {
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 1.25vw;
  font-weight: 600;
  line-height: 1.5em;
 }
 #service-content {
  position: relative;
  margin-left: auto;
  width: 50%;
  height: 52.08333vw;
  background-position: center;
  background-size: cover;
  transition: background-image 0.3s;
 }
 #service-content.bg1 {
  background-image: url(../img/service/hananingen.jpg);
 }
 #service-content.bg2 {
  background-image: url(../img/service/gift.jpg);
 }
 #service-content.bg3 {
  background-image: url(../img/service/lesson.jpg);
 }
 #service-content.bg4 {
  background-image: url(../img/service/display.jpg);
 }
 #service-content:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
  background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
  background: linear-gradient(to right, #dac3fc, #8ec5fc);
  z-index: 2;
 }
 #service-content:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
  background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
  background: linear-gradient(to right, #dac3fc, #8ec5fc);
 }
 .service-heads {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 6.25vw;
  height: 25vw;
  z-index: 2;
 }
 .service-navis {
  position: relative;
  display: flex;
  align-items: center;
  padding: 2.08333vw 6.25vw 0 6.25vw;
  height: 27.08333vw;
  z-index: 2;
 }
 .service-navi > li a {
  position: relative;
  padding-left: 4.16667vw;
  display: flex;
  align-items: center;
  height: 4.86111vw;
 }
 .service-navi > li a:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 2.08333vw;
  height: 1px;
  background-color: #fff;
  transform: translateY(-50%);
 }
 .service-navi-jp {
  position: relative;
  margin-right: 1em;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 1.66667vw;
  font-weight: 600;
 }
 .service-navi > li:hover .service-navi-jp:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform: translateY(-50%);
 }
 .service-navi > li:hover .service-navi-en:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform: translateY(-50%);
  transition: .3s;
 }
 .service-navi-en {
  position: relative;
  color: #fff;
  font-family: baskerville-urw, serif;
  font-size: 0.90278vw;
  text-transform: uppercase;
  transition: .3s;
 }
}

@media screen and (min-width: 1401px) {
 .sec--service {
  padding: 0 0 150px 0;
 }
 .service-galleys {
  top: -50px;
 }
 .service-gallery-image img {
  height: 750px;
 }
 .service-gallery-content {
  left: 75px;
  bottom: 50px;
  width: 550px;
 }
 .service-gallery-en {
  font-size: 13px;
  font-size: 1.3rem;
 }
 .service-gallery-jp {
  font-size: 18px;
  font-size: 1.8rem;
 }
 #service-content {
  height: 750px;
 }
 .service-heads {
  padding: 0 90px;
  height: 360px;
 }
 .service-navis {
  padding: 30px 90px 0 90px;
  height: 390px;
 }
 .service-navi > li a {
  padding-left: 60px;
  height: 70px;
 }
 .service-navi > li a:before {
  width: 30px;
 }
 .service-navi-jp {
  font-size: 24px;
  font-size: 2.4rem;
 }
 .service-navi-en {
  font-size: 13px;
  font-size: 1.3rem;
 }
}

/* #movie
-------------------------------------------------------------------------------*/
.sec--movie {
 padding: 26.66667vw 0;
 z-index: 2;
}

.sec--movie:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.2;
 z-index: -1;
}

.movie {
 margin: 12vw 0 0 -4vw;
 width: 100vw;
}

.movie-frame {
 position: relative;
 padding-bottom: 56.25%;
 height: 0;
 overflow: hidden;
}

.movie-frame iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 border: none;
}

@media screen and (min-width: 751px) {
 .sec--movie {
  padding: 9.02778vw 0 10.41667vw 0;
 }
 .sec--movie:before {
  height: 45.13889vw;
 }
 .movie {
  margin: 3.81944vw auto 0 auto;
  width: 55.55556vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--movie {
  padding: 130px 0 150px 0;
 }
 .sec--movie:before {
  height: 650px;
 }
 .movie {
  margin: 55px auto 0 auto;
  width: 800px;
 }
}

/* #instagram
-------------------------------------------------------------------------------*/
.sec--insta {
 padding: 13.33333vw 0 17.33333vw 0;
}

.sec--insta:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 z-index: -1;
}

.insta {
 margin: 12vw auto 0 auto;
 width: 92vw;
}

@media screen and (max-width: 750px) {
 .insta #sbi_images .sbi_item:last-child {
  display: none !important;
 }
}

@media screen and (min-width: 751px) {
 .sec--insta {
  padding: 4.51389vw 0 6.94444vw 0;
 }
 .insta {
  margin: 2.43056vw auto 0 auto;
  width: 97.22222vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--insta {
  padding: 65px 0 100px 0;
 }
 .insta {
  margin: 35px auto 0 auto;
  width: 1400px;
 }
}

/*  news
-------------------------------------------------------*/
/* ------------------------------------------- post - */
.news a {
 position: relative;
 display: block;
}

.news--front {
 margin-top: 11.33333vw;
}

.news-image {
 position: relative;
}

.news-image img {
 width: 100%;
 -o-object-fit: cover;
 object-fit: cover;
 font-family: 'object-fit: cover;';
 height: 36vw;
}

.news a:hover .news-image img {
 transform: scale(1.1, 1.1);
 cursor: pointer;
}

.news-cat {
 position: absolute;
 top: 0;
 left: 0;
 padding: .5em .5em .6em .5em;
 background-color: #222222;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 2.66667vw;
 font-weight: 600;
 z-index: 2;
}

.news-title {
 margin-bottom: .8em;
 font-family: "Noto Serif JP", serif;
 font-size: 4vw;
 font-weight: 600;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.news-date {
 color: #617d98;
 font-family: "Noto Serif JP", serif;
 font-size: 4vw;
 letter-spacing: .2em;
}

@media screen and (max-width: 750px) {
 .news a {
  display: flex;
  justify-content: space-between;
 }
 .news a:nth-child(n + 2) {
  margin-top: 9.33333vw;
 }
 .news-image {
  width: 36vw;
 }
 .news-content {
  width: 50.66667vw;
 }
 .news-cat {
  max-width: 36vw;
  letter-spacing: .1em;
 }
}

@media screen and (min-width: 751px) {
 .news {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.90278vw;
 }
 .news--front {
  margin-top: 3.47222vw;
 }
 .news a {
  display: block;
  margin-left: 0.90278vw;
  width: calc(25% - 0.90278vw);
 }
 .news a:nth-child(n + 5) {
  margin-top: 4.86111vw;
 }
 .news-image {
  margin-bottom: 1.04167vw;
 }
 .news-image img {
  height: 18.75vw;
 }
 .news-cat {
  padding: .5em 1em .6em 1em;
  font-size: 0.90278vw;
 }
 .news-title {
  margin-bottom: .7em;
  font-size: 1.04167vw;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
 }
 .news-date {
  font-size: 1.04167vw;
 }
}

@media screen and (min-width: 1401px) {
 .news {
  margin-left: -13px;
 }
 .news--front {
  margin-top: 50px;
 }
 .news a {
  margin-left: 13px;
  width: calc(25% - 13px);
 }
 .news a:nth-child(n + 5) {
  margin-top: 70px;
 }
 .news-image {
  margin-bottom: 15px;
 }
 .news-image img {
  height: 270px;
 }
 .news-cat {
  font-size: 13px;
  font-size: 1.3rem;
 }
 .news-title {
  font-size: 15px;
  font-size: 1.5rem;
 }
 .news-date {
  font-size: 15px;
  font-size: 1.5rem;
 }
}

/* ------------------------------------------- category - */
.news-category {
 margin-bottom: 10.66667vw;
}

.news-category .sec-head-en {
 text-transform: uppercase;
}

.news-menu {
 position: relative;
 margin: 8.66667vw auto 0 auto;
 padding: 6vw 2.66667vw;
 width: 100%;
 border-color: #ecf1f5;
 border-style: solid;
 border-width: 1.6vw;
}

.news-menu-list {
 display: flex;
 justify-content: center;
 align-items: center;
 flex-wrap: wrap;
}

.news-menu-list li {
 position: relative;
}

.news-menu-list li a {
 display: block;
 font-size: 4vw;
 font-family: "Noto Serif JP", serif;
 font-weight: 600;
 text-align: center;
 text-transform: uppercase;
}

.news-menu-list li a:hover {
 color: #ecf1f5;
}

@media screen and (max-width: 750px) {
 .news-category .sec-head-en {
  font-size: 6.93333vw;
 }
 .news-menu-list li {
  width: 100%;
  text-align: center;
 }
 .news-menu-list li:nth-child(n + 2) {
  margin-top: 4vw;
 }
}

@media screen and (min-width: 751px) {
 .news-category {
  margin-bottom: 3.47222vw;
 }
 .news-menu {
  margin: 3.125vw auto 0 auto;
  padding: 3.125vw 1.04167vw;
  width: 69.44444vw;
  border-width: 0.41667vw;
 }
 .news-menu-list li {
  padding: 0 1.5em;
 }
 .news-menu-list li:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #222222;
 }
 .news-menu-list li:last-child:before {
  content: none;
 }
 .news-menu-list li a {
  font-size: 1.25vw;
 }
}

@media screen and (min-width: 1401px) {
 .news-menu {
  margin: 45px auto 0 auto;
  padding: 45px 15px;
  width: 1000px;
  border-width: 6px;
 }
 .news-menu-list li a {
  font-size: 18px;
  font-size: 1.8rem;
 }
}

/* page -- > common
-------------------------------------------------------------------------------*/
/* ------------------------------------------- page content - */
.page-content {
 position: relative;
 padding: 12vw 0 13.33333vw 0;
}

@media screen and (min-width: 751px) {
 .page-content {
  padding: 6.25vw 0 6.94444vw 0;
 }
}

@media screen and (min-width: 1401px) {
 .page-content {
  padding: 90px 0 100px 0;
 }
}

/* ------------------------------------------- page title - */
.page-title {
 position: relative;
 margin: 0 auto;
 width: 92vw;
}

.page-title:before {
 content: '';
 position: absolute;
 left: 50%;
 width: 100vw;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 transform: translateX(-50%);
}

.page-title-content {
 position: relative;
 width: 100%;
 z-index: 3;
}

.page-title-date {
 margin-bottom: 2em;
 color: #eaeaff;
 font-family: baskerville-urw, serif;
 font-weight: 600;
}

.page-title-en {
 margin-bottom: .5em;
 color: #fff;
 font-family: baskerville-urw, serif;
 font-size: 7.46667vw;
 text-transform: uppercase;
 letter-spacing: .2em;
 white-space: nowrap;
}

.page-title-jp {
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 6.4vw;
 letter-spacing: .2em;
 white-space: nowrap;
}

.page-title-head {
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 4.8vw;
 font-weight: 600;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.page-title-cat {
 display: flex;
 align-items: center;
 margin-top: 1.3em;
}

.page-title-cat li {
 margin-top: .3em;
}

.page-title-cat li:nth-child(n + 2) {
 margin-left: 1em;
}

.page-title-cat li a {
 display: flex;
 justify-content: center;
 align-items: center;
 padding: 0 1em .1em 1em;
 height: 8vw;
 border: 1px solid #fff;
 border-radius: 1.33333vw;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 2.93333vw;
 font-weight: 600;
}

.page-title-cat li a:hover {
 opacity: 0.7;
}

.page-title-cat li span:before {
 content: '#';
}

@media screen and (max-width: 750px) {
 .page-title-content {
  padding: 8.66667vw 0;
 }
}

@media screen and (min-width: 751px) {
 .page-title {
  width: 83.33333vw;
  height: 15.27778vw;
 }
 .page-title-content {
  position: absolute;
  left: 0;
  bottom: 3.125vw;
  display: flex;
  align-items: center;
 }
 .page-title-en {
  margin-bottom: 0;
  font-size: 3.33333vw;
 }
 .page-title-jp {
  margin-left: 1em;
  font-size: 2.5vw;
 }
 .page-title-head {
  font-size: 1.66667vw;
 }
 .page-title-cat li a {
  height: 2.08333vw;
  border-radius: 0.34722vw;
  font-size: 0.90278vw;
 }
}

@media screen and (min-width: 1401px) {
 .page-title {
  width: 1200px;
  height: 220px;
 }
 .page-title-content {
  bottom: 45px;
 }
 .page-title-en {
  font-size: 48px;
  font-size: 4.8rem;
 }
 .page-title-jp {
  font-size: 36px;
  font-size: 3.6rem;
 }
 .page-title-head {
  font-size: 24px;
  font-size: 2.4rem;
 }
 .page-title-cat li a {
  height: 30px;
  border-radius: 5px;
  font-size: 13px;
  font-size: 1.3rem;
 }
}

/* ------------------------------------------- application - */
.sec--apply {
 padding: 16vw 0 0 0;
}

.sec--apply:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.4;
 z-index: -1;
}

.apply {
 padding: 11.33333vw 6.66667vw 0 6.66667vw;
 background-color: #fff;
}

.apply-in {
 margin: 10vw 0;
}

.apply-content {
 margin-bottom: 12vw;
}

.apply-content p {
 font-family: "Noto Serif JP", serif;
 font-weight: 600;
 line-height: 2em;
}

.apply-content p:first-child {
 font-size: 4.13333vw;
}

.apply-content p.gray {
 color: #888888;
}

.apply-btn {
 position: relative;
 width: 100%;
}

.apply-btn:before {
 content: '';
 position: absolute;
 top: -8.66667vw;
 left: 50%;
 width: 1px;
 height: 6vw;
 background-color: #8fa2b4;
 transform: translateX(-50%);
}

.apply-btn a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 13.33333vw;
 background-color: #06c755;
 border: 1px solid #06c755;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 letter-spacing: .2em;
 transition: .3s;
}

.apply-btn a:hover {
 background-color: #fff;
 color: #06c755;
}

.apply-btn a span {
 position: relative;
 display: inline-block;
 padding-left: 8.66667vw;
}

.apply-btn a span:before {
 content: '';
 position: absolute;
 top: 50%;
 left: 0;
 display: inline-block;
 width: 6.13333vw;
 height: 5.73333vw;
 background-image: url(../img/common/line-btn.png);
 background-size: contain;
 background-repeat: no-repeat;
 transform: translateY(-50%);
}

.apply-btn a:hover span:before {
 background-image: url(../img/common/line-btn_on.png);
}

.shop-in {
 margin: 10vw 0 0 0;
}

.shop-content {
 margin-bottom: 12vw;
}

.shop-content p {
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 line-height: 2em;
}

.shop-btn {
 position: relative;
 width: 100%;
}

.shop-btn:before {
 content: '';
 position: absolute;
 top: -8.66667vw;
 left: 50%;
 width: 1px;
 height: 6vw;
 background-color: #8fa2b4;
 transform: translateX(-50%);
}

.shop-btn a {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 13.33333vw;
 background-color: #fff;
 border: 1px solid #222222;
 font-family: baskerville-urw, serif;
 font-size: 4.13333vw;
 letter-spacing: .2em;
 transition: .3s;
}

.shop-btn a:hover {
 background-color: #222222;
 color: #fff;
}

.cta {
 padding: 8.66667vw 4vw;
 border-color: #ecf1f5;
 border-style: solid;
 border-width: 1.6vw;
 text-align: center;
}

.cta-num a {
 display: inline-block;
 margin-bottom: 8vw;
 padding-bottom: .3em;
 border-bottom: 0.53333vw solid #222222;
 font-family: baskerville-urw, serif;
 font-size: 4.8vw;
 letter-spacing: .2em;
}

.cta-num a span {
 font-size: 1.5em;
}

.cta-time {
 margin-bottom: 1.2em;
 font-size: 3.73333vw;
 font-weight: 500;
}

.cta-time span {
 margin-left: .2em;
 font-family: "Noto Serif JP", serif;
 font-size: 1.6em;
 font-weight: 600;
}

.cta-open {
 margin-bottom: 1em;
}

.cta-desc {
 text-align: left;
 line-height: 1.6em;
}

@media screen and (max-width: 750px) {
 .apply {
  margin-left: -4vw;
  width: 100vw;
 }
}

@media screen and (min-width: 751px) {
 .sec--apply {
  padding: 6.59722vw 0 0 0;
 }
 .apply {
  padding: 5.90278vw 6.94444vw 0 6.94444vw;
 }
 .apply-in {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 5.20833vw 0;
 }
 .apply-content {
  margin-bottom: 0;
  width: 36.11111vw;
 }
 .apply-content p:first-child {
  font-size: 1.25vw;
 }
 .apply-btn {
  width: 27.77778vw;
 }
 .apply-btn:before {
  top: 50%;
  left: -3.81944vw;
  width: 2.08333vw;
  height: 1px;
  transform: translateX(0) translateY(-50%);
 }
 .apply-btn a {
  height: 4.16667vw;
  font-size: 1.25vw;
 }
 .apply-btn a span {
  padding-left: 3.47222vw;
 }
 .apply-btn a span:before {
  width: 2.5vw;
  height: 2.36111vw;
 }
 .shop-in {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 4.16667vw 0 0 0;
  padding-bottom: 6.94444vw;
 }
 .shop-content {
  margin-bottom: 0;
  width: 48.61111vw;
 }
 .shop-content p {
  font-size: 1.25vw;
 }
 .shop-btn {
  width: 16.31944vw;
 }
 .shop-btn:before {
  top: 50%;
  left: -3.81944vw;
  width: 2.08333vw;
  height: 1px;
  transform: translateX(0) translateY(-50%);
 }
 .shop-btn a {
  height: 4.16667vw;
  font-size: 0.90278vw;
 }
 .cta {
  padding: 3.47222vw 2.08333vw;
  border-width: 0.41667vw;
 }
 .cta-num a {
  margin-bottom: 2.77778vw;
  border-bottom: 0.13889vw solid #222222;
  font-size: 1.66667vw;
 }
 .cta-num a[href^="tel:"] {
  pointer-events: none;
 }
 .cta-time {
  font-size: 1.04167vw;
 }
 .cta-desc {
  text-align: center;
 }
}

@media screen and (min-width: 1401px) {
 .sec--apply {
  padding: 95px 0 0 0;
 }
 .apply {
  padding: 85px 100px 0 100px;
 }
 .apply-in {
  margin: 75px 0;
 }
 .apply-content {
  width: 520px;
 }
 .apply-content p:first-child {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .apply-btn {
  width: 400px;
 }
 .apply-btn:before {
  left: -55px;
  width: 30px;
 }
 .apply-btn a {
  height: 60px;
  font-size: 18px;
  font-size: 1.8rem;
 }
 .apply-btn a span {
  padding-left: 50px;
 }
 .apply-btn a span:before {
  width: 36px;
  height: 34px;
 }
 .shop-in {
  margin: 60px 0 0 0;
  padding-bottom: 100px;
 }
 .shop-content {
  width: 700px;
 }
 .shop-content p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .shop-btn {
  width: 235px;
 }
 .shop-btn:before {
  left: -55px;
  width: 30px;
 }
 .shop-btn a {
  height: 60px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .cta {
  padding: 50px 30px;
  border-width: 6px;
 }
 .cta-num a {
  margin-bottom: 40px;
  border-bottom: 2px solid #222222;
  font-size: 24px;
  font-size: 2.4rem;
 }
 .cta-time {
  font-size: 15px;
  font-size: 1.5rem;
 }
}

/* page -- > about
-------------------------------------------------------------------------------*/
/* ------------------------------------------- intro - */
.about-intro {
 position: relative;
 margin-bottom: 12.66667vw;
 z-index: 2;
}

.about-intro p {
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 text-align: center;
 line-height: 2em;
}

.about-intro:before {
 content: '';
 position: absolute;
 top: 50%;
 left: 50%;
 display: inline-block;
 width: 58.4vw;
 height: 58.4vw;
 background-image: url(../img/about/logo.png);
 background-size: contain;
 background-repeat: no-repeat;
 transform: translate(-50%, -50%);
 z-index: -1;
}

@media screen and (min-width: 751px) {
 .about-intro {
  margin-bottom: 6.59722vw;
  padding-left: 14.93056vw;
 }
 .about-intro p {
  font-size: 1.25vw;
  text-align: left;
 }
 .about-intro:before {
  left: -1.73611vw;
  width: 23.47222vw;
  height: 23.47222vw;
  transform: translateX(0) translateY(-50%);
 }
}

@media screen and (min-width: 1401px) {
 .about-intro {
  margin-bottom: 95px;
  padding-left: 215px;
 }
 .about-intro p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .about-intro:before {
  top: 50%;
  left: -25px;
  width: 338px;
  height: 338px;
 }
}

/* ------------------------------------------- message - */
.about-message {
 position: relative;
 margin-bottom: 50.66667vw;
 padding: 12vw 5.33333vw 12vw 5.33333vw;
 z-index: 2;
}

.about-message:before {
 content: '';
 position: absolute;
 top: 0;
 left: -4vw;
 width: 100vw;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.1;
 z-index: -1;
}

.about-message-en {
 position: absolute;
 top: -.1em;
 left: 0;
 color: #fff;
 font-family: baskerville-urw, serif;
 font-size: 11.46667vw;
 text-transform: uppercase;
 letter-spacing: .2em;
}

.about-message-content {
 margin-bottom: 5.33333vw;
}

.about-message-content p {
 line-height: 2.4em;
 letter-spacing: .075em;
}

.about-message-images {
 position: relative;
 margin-left: auto;
 width: 64.4vw;
}

.about-message-image {
 position: relative;
 z-index: 2;
}

.about-message-box {
 position: absolute;
 right: 0;
 bottom: -37.33333vw;
 padding: 13.33333vw 4vw 10.66667vw 4vw;
 width: 86.66667vw;
 background-color: #fff;
}

.about-position {
 margin-bottom: 1.5em;
 font-size: 3.46667vw;
 line-height: 1.8em;
 letter-spacing: .075em;
}

.about-name {
 display: flex;
 justify-content: flex-end;
 align-items: center;
}

.about-name-jp {
 margin-right: 1em;
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
}

.about-name-en {
 color: #888888;
 font-family: baskerville-urw, serif;
 font-size: 3.46667vw;
 text-transform: uppercase;
}

@media screen and (max-width: 750px) {
 .about-message-image {
  left: 4vw;
 }
}

@media screen and (min-width: 751px) {
 .about-message {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12.5vw;
  padding: 4.86111vw 6.94444vw;
 }
 .about-message:before {
  left: 0;
 }
 .about-message-en {
  top: -.2em;
  font-size: 5.55556vw;
 }
 .about-message-content {
  margin-bottom: 0;
  width: 40.27778vw;
 }
 .about-message-images {
  margin: 0;
  width: 26.59722vw;
 }
 .about-message-box {
  bottom: -11.80556vw;
  padding: 4.16667vw 2.08333vw;
  width: 31.25vw;
 }
 .about-position {
  font-size: 0.90278vw;
 }
 .about-name-jp {
  font-size: 1.25vw;
 }
 .about-name-en {
  font-size: 0.90278vw;
 }
}

@media screen and (min-width: 1401px) {
 .about-message {
  margin-bottom: 180px;
  padding: 70px 100px;
 }
 .about-message-en {
  font-size: 80px;
  font-size: 8.0rem;
 }
 .about-message-content {
  width: 580px;
 }
 .about-message-images {
  width: 383px;
 }
 .about-message-box {
  bottom: -170px;
  padding: 60px 30px;
  width: 450px;
 }
 .about-position {
  font-size: 13px;
  font-size: 1.3rem;
 }
 .about-name-jp {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .about-name-en {
  font-size: 13px;
  font-size: 1.3rem;
 }
}

/* ------------------------------------------- preference - */
.about-prefe {
 position: relative;
 padding: 16vw 0;
}

.about-prefe:before {
 content: '';
 position: absolute;
 top: 0;
 left: -4vw;
 width: 100vw;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 z-index: -1;
}

.about-prefe-jp {
 position: absolute;
 top: -2em;
 left: 0;
 font-family: "Noto Serif JP", serif;
 font-size: 6.4vw;
 font-weight: 600;
 white-space: nowrap;
 letter-spacing: .2em;
}

.about-prefe-en {
 position: absolute;
 top: -.1em;
 left: 0;
 color: #d8d9ff;
 font-family: baskerville-urw, serif;
 font-size: 10.66667vw;
 text-transform: uppercase;
 letter-spacing: .2em;
}

.about-prefe-list {
 position: relative;
 background-color: #fff;
 z-index: 2;
}

.about-prefe-list > li {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 padding: 8vw 4vw;
}

.about-prefe-list-content {
 width: 53.33333vw;
}

.about-prefe-list-head {
 margin-bottom: .5em;
 font-family: "Noto Serif JP", serif;
 font-size: 4.8vw;
 font-weight: 600;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.about-prefe-list-desc {
 position: relative;
 padding-left: 6.66667vw;
}

.about-prefe-list-desc p:before {
 content: '';
 position: absolute;
 top: 1em;
 left: -6.66667vw;
 width: 4vw;
 height: 1px;
 background-color: #cccccc;
}

.about-prefe-list-desc p {
 position: relative;
 font-size: 2.8vw;
 line-height: 2em;
 letter-spacing: .075em;
}

.about-prefe-list-image {
 position: relative;
 width: 24vw;
}

.about-prefe-list-image:before {
 content: '';
 position: absolute;
 top: 2.66667vw;
 left: -2.66667vw;
 width: 100%;
 height: 100%;
 background-color: #dbdff8;
 z-index: -1;
}

@media screen and (min-width: 751px) {
 .about-prefe {
  padding: 12.5vw 0;
 }
 .about-prefe:before {
  left: 0;
 }
 .about-prefe-jp {
  left: 6.94444vw;
  font-size: 2.5vw;
 }
 .about-prefe-en {
  left: 6.94444vw;
  font-size: 5.55556vw;
 }
 .about-prefe-list {
  padding: 0 6.94444vw;
 }
 .about-prefe-list > li {
  align-items: center;
  padding: 0;
 }
 .about-prefe-list > li:nth-child(n + 2) {
  margin-top: 1.38889vw;
 }
 .about-prefe-list-content {
  margin-bottom: 0;
  padding: 0 0 4.86111vw 3.47222vw;
  width: 46.875vw;
 }
 .about-prefe-list-head {
  font-size: 2.5vw;
 }
 .about-prefe-list-desc {
  padding-left: 4.51389vw;
 }
 .about-prefe-list-desc p:before {
  left: -4.51389vw;
  width: 2.08333vw;
 }
 .about-prefe-list-desc p {
  font-size: 1.25vw;
 }
 .about-prefe-list-image {
  top: -3.47222vw;
  width: 19.09722vw;
 }
 .about-prefe-list-image:before {
  top: 1.38889vw;
  left: -1.38889vw;
 }
 .about-prefe-list > li:nth-child(even) .about-prefe-list-content {
  order: 2;
 }
 .about-prefe-list > li:nth-child(even) .about-prefe-list-image {
  order: 1;
 }
}

@media screen and (min-width: 1401px) {
 .about-prefe {
  padding: 180px 0;
 }
 .about-prefe-jp {
  left: 100px;
  font-size: 36px;
  font-size: 3.6rem;
 }
 .about-prefe-en {
  top: -.2em;
  left: 100px;
  font-size: 80px;
  font-size: 8.0rem;
 }
 .about-prefe-list {
  padding: 0 100px;
 }
 .about-prefe-list > li:nth-child(n + 2) {
  margin-top: 20px;
 }
 .about-prefe-list-content {
  margin-bottom: 0;
  padding: 0 0 70px 50px;
  width: 675px;
 }
 .about-prefe-list-head {
  font-size: 36px;
  font-size: 3.6rem;
 }
 .about-prefe-list-desc {
  padding-left: 65px;
 }
 .about-prefe-list-desc p:before {
  left: -65px;
  width: 30px;
 }
 .about-prefe-list-desc p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .about-prefe-list-image {
  top: -50px;
  width: 275px;
 }
 .about-prefe-list-image:before {
  top: 20px;
  left: -20px;
 }
}

/* ------------------------------------------- contact - */
.sec--about-contact {
 padding: 16vw 0 9.33333vw 0;
}

.about-contact {
 display: flex;
 justify-content: space-between;
 align-items: stretch;
 flex-wrap: wrap;
 margin: 10.66667vw auto 0 auto;
 width: 100%;
}

.about-contact dt {
 padding: 2em 0 .7em 0;
 width: 100%;
}

.about-contact dd {
 padding: 0 0 2em 0;
 width: 100%;
 border-bottom: 1px solid #8fa2b4;
 font-weight: 500;
 line-height: 2em;
}

.about-contact dd:last-of-type {
 border-bottom: none;
}

.about-contact-in-content {
 width: 100%;
}

.about-contact-in-content p:last-child {
 padding-left: 1em;
 color: #ec0000;
 text-indent: -1em;
}

.about-contact-in-content p:last-child:before {
 content: '※';
}

.about-contact-in-image {
 margin: 5.33333vw auto 0 auto;
 width: 26.66667vw;
}

@media screen and (min-width: 751px) {
 .sec--about-contact {
  padding: 8.33333vw 0 4.86111vw 0;
 }
 .about-contact {
  margin: 4.16667vw auto 0 auto;
  width: 55.55556vw;
 }
 .about-contact dt {
  display: flex;
  align-items: center;
  padding: 2em 3em;
  width: 12.84722vw;
  border-bottom: 1px solid #8fa2b4;
 }
 .about-contact dd {
  padding: 2em 1.5em;
  width: calc(100% - 12.84722vw);
 }
 .about-contact dt:last-of-type {
  border-bottom: none;
 }
 .about-contact-in {
  display: flex;
  justify-content: space-between;
 }
 .about-contact-in-content {
  width: 33.68056vw;
 }
 .about-contact-in-image {
  margin: 0;
  width: 6.94444vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--about-contact {
  padding: 120px 0 70px 0;
 }
 .about-contact {
  margin: 60px auto 0 auto;
  width: 800px;
 }
 .about-contact dt {
  width: 185px;
 }
 .about-contact dd {
  width: calc(100% - 185px);
 }
 .about-contact-in-content {
  width: 485px;
 }
 .about-contact-in-image {
  width: 100px;
 }
}

/* ------------------------------------------- access - */
.sec--about-access {
 padding: 13.33333vw 0 0 0;
}

.sec--about-access:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 111.33333vw;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.1;
 z-index: -1;
}

.about-access {
 margin: 0 auto 9.33333vw auto;
 width: 100%;
}

.about-access-in {
 margin-top: 9.33333vw;
}

.about-access-image {
 margin: 0 auto 8vw auto;
 width: 58.66667vw;
}

.about-access-name {
 margin-bottom: 4.66667vw;
}

.about-access-name dt {
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 10.66667vw;
 background-color: #222222;
 color: #fff;
 font-weight: 500;
 line-height: 2em;
}

.about-access-name dd {
 padding: 1em 0;
 width: 100%;
 background-color: #fff;
 font-weight: 500;
 text-align: center;
 line-height: 2em;
}

.about-access-data {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 flex-wrap: wrap;
}

.about-access-data dt {
 position: relative;
 padding: 1em 5.33333vw 1em 0;
 width: 29.33333vw;
 line-height: 2em;
}

.about-access-data dt:after {
 content: '';
 position: absolute;
 top: 50%;
 right: 2.66667vw;
 width: 4vw;
 height: 1px;
 background-color: #8fa2b4;
 transform: translateY(-50%);
}

.about-access-data dd {
 padding: 1em 0;
 width: calc(100% - 29.33333vw);
 font-weight: 500;
 line-height: 2em;
}

.about-access-map {
 position: relative;
 padding-bottom: 50%;
 height: 0;
 overflow: hidden;
}

.about-access-map iframe,
.about-access-map object,
.about-access-map embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

@media screen and (min-width: 751px) {
 .sec--about-access {
  padding: 6.94444vw 0 0 0;
 }
 .sec--about-access:before {
  height: 57.98611vw;
 }
 .about-access {
  margin: 0 auto 3.81944vw auto;
  width: 69.44444vw;
 }
 .about-access-in {
  display: flex;
  justify-content: space-between;
  margin-top: 3.81944vw;
 }
 .about-access-image {
  margin: 0;
  width: 15.27778vw;
 }
 .about-access-content {
  width: 50.69444vw;
 }
 .about-access-name {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 1.73611vw;
 }
 .about-access-name dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 17.36111vw;
  height: auto;
 }
 .about-access-name dd {
  width: calc(100% - 17.36111vw);
 }
 .about-access-data dt {
  padding: 1em 2.77778vw 1em 0;
  width: 10.06944vw;
 }
 .about-access-data dt:after {
  right: 1.38889vw;
  width: 2.08333vw;
 }
 .about-access-data dd {
  width: calc(100% - 10.06944vw);
 }
}

@media screen and (min-width: 1401px) {
 .sec--about-access {
  padding: 100px 0 0 0;
 }
 .sec--about-access:before {
  height: 835px;
 }
 .about-access {
  margin: 0 auto 55px auto;
  width: 1000px;
 }
 .about-access-in {
  margin-top: 55px;
 }
 .about-access-image {
  width: 220px;
 }
 .about-access-content {
  width: 730px;
 }
 .about-access-name {
  margin-bottom: 25px;
 }
 .about-access-name dt {
  width: 250px;
 }
 .about-access-name dd {
  width: calc(100% - 250px);
 }
 .about-access-data dt {
  padding: 1em 40px 1em 0;
  width: 145px;
 }
 .about-access-data dt:after {
  right: 20px;
  width: 30px;
 }
 .about-access-data dd {
  width: calc(100% - 145px);
 }
}

/* page -- > hananingen
-------------------------------------------------------------------------------*/
/* ------------------------------------------- concept - */
.sec--hana-hananingen {
 padding-bottom: 13.33333vw;
}

.hana-concept {
 position: relative;
 padding: 11.33333vw 4vw 8.66667vw 4vw;
 z-index: 2;
}

.hana-concept:before {
 content: '';
 position: absolute;
 top: 0;
 left: -4vw;
 width: 100vw;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.1;
 z-index: -1;
}

.hana-concept-en {
 position: absolute;
 top: -.1em;
 left: 0;
 color: #fff;
 font-family: baskerville-urw, serif;
 font-size: 12.4vw;
 letter-spacing: .2em;
}

.hana-concept-head {
 position: absolute;
 top: 0;
 left: 4vw;
 display: flex;
 align-items: center;
 height: 9.33333vw;
 font-family: baskerville-urw, serif;
 font-weight: 600;
}

.hana-concept-content {
 margin-bottom: 5.33333vw;
}

.hana-concept-content p {
 line-height: 2.4em;
 letter-spacing: .075em;
}

.hana-concept-movie-frame {
 position: relative;
 padding-bottom: 56.25%;
 height: 0;
 overflow: hidden;
}

.hana-concept-movie-frame iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 border: none;
}

@media screen and (min-width: 751px) {
 .sec--hana-hananingen {
  padding-bottom: 6.94444vw;
 }
 .hana-concept {
  display: flex;
  justify-content: space-between;
  padding: 4.16667vw 6.94444vw;
 }
 .hana-concept:before {
  left: 0;
 }
 .hana-concept-en {
  top: -.2em;
  left: 0;
  font-size: 5.55556vw;
 }
 .hana-concept-head {
  left: 6.94444vw;
  height: 4.16667vw;
 }
 .hana-concept-content {
  margin-bottom: 0;
  width: 40.27778vw;
 }
 .hana-concept-movie {
  width: 26.73611vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--hana-hananingen {
  padding-bottom: 100px;
 }
 .hana-concept {
  padding: 60px 100px;
 }
 .hana-concept-en {
  font-size: 80px;
  font-size: 8.0rem;
 }
 .hana-concept-head {
  left: 100px;
  height: 60px;
 }
 .hana-concept-content {
  width: 580px;
 }
 .hana-concept-movie {
  width: 385px;
 }
}

/* ------------------------------------------- concept - */
.hana-prof {
 margin: 0 auto;
 width: 100%;
}

.hana-prof li:nth-child(1) {
 padding: 8.66667vw 0 10vw 0;
 border-bottom: 1px solid #8fa2b4;
}

.hana-prof li:nth-child(2) {
 padding-top: 10vw;
}

.hana-prof-image {
 position: relative;
 margin: 0 auto 5.33333vw auto;
 width: 66.66667vw;
}

.hana-prof-head {
 margin-bottom: 1em;
 display: flex;
 justify-content: center;
 align-items: center;
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 line-height: 2em;
 letter-spacing: .2em;
}

.hana-prof-head span {
 margin-left: 1em;
 font-size: 1.33em;
}

.hana-prof-desc p {
 line-height: 2.4em;
 letter-spacing: .075em;
}

.hana-messe {
 position: relative;
 margin-top: 8.66667vw;
 padding: 13.33333vw 4vw 6.66667vw 4vw;
}

.hana-messe:before {
 content: '';
 position: absolute;
 top: 0;
 left: -4vw;
 width: 100vw;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.1;
 z-index: -1;
}

.hana-messe-en {
 position: absolute;
 top: -.1em;
 left: 0;
 color: #fff;
 font-family: baskerville-urw, serif;
 font-size: 12.4vw;
 letter-spacing: .2em;
}

.hana-messe-head {
 position: absolute;
 top: 0;
 left: 4vw;
 display: flex;
 align-items: center;
 height: 9.33333vw;
 font-family: baskerville-urw, serif;
 font-weight: 600;
}

.hana-messe-content p {
 line-height: 2.4em;
 letter-spacing: .075em;
}

@media screen and (min-width: 751px) {
 .hana-prof {
  width: 69.44444vw;
 }
 .hana-prof li {
  display: flex;
  justify-content: space-between;
 }
 .hana-prof li:nth-child(1) {
  padding: 3.47222vw 0 5.20833vw 0;
 }
 .hana-prof li:nth-child(2) {
  padding-top: 5.20833vw;
 }
 .hana-prof-image {
  margin: 0;
 }
 .hana-prof li:nth-child(1) .hana-prof-content {
  width: 40.27778vw;
 }
 .hana-prof li:nth-child(1) .hana-prof-image {
  top: -5.20833vw;
  margin-bottom: -5.20833vw;
  width: 26.875vw;
 }
 .hana-prof li:nth-child(2) .hana-prof-content {
  width: 40.83333vw;
  order: 1;
 }
 .hana-prof li:nth-child(2) .hana-prof-image {
  width: 26.25vw;
  order: 2;
 }
 .hana-prof-head {
  justify-content: flex-start;
  font-size: 1.25vw;
 }
 .hana-messe {
  margin-top: 3.125vw;
  padding: 4.16667vw 3.47222vw 2.77778vw 3.47222vw;
 }
 .hana-messe:before {
  left: 0;
  width: 100%;
 }
 .hana-messe-en {
  top: -.2em;
  font-size: 5.55556vw;
 }
 .hana-messe-head {
  left: 3.47222vw;
  height: 4.16667vw;
 }
}

@media screen and (min-width: 1401px) {
 .hana-prof {
  width: 1000px;
 }
 .hana-prof li:nth-child(1) {
  padding: 50px 0 75px 0;
 }
 .hana-prof li:nth-child(2) {
  padding-top: 75px;
 }
 .hana-prof li:nth-child(1) .hana-prof-content {
  width: 580px;
 }
 .hana-prof li:nth-child(1) .hana-prof-image {
  top: -75px;
  margin-bottom: -75px;
  width: 387px;
 }
 .hana-prof li:nth-child(2) .hana-prof-content {
  width: 588px;
 }
 .hana-prof li:nth-child(2) .hana-prof-image {
  width: 378px;
 }
 .hana-prof-head {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .hana-messe {
  margin-top: 45px;
  padding: 60px 50px 40px 50px;
 }
 .hana-messe-en {
  font-size: 80px;
  font-size: 8.0rem;
 }
 .hana-messe-head {
  left: 50px;
  height: 60px;
 }
}

/* ------------------------------------------- menu - */
.sec--hana-menu {
 padding: 13.33333vw 0 0 0;
 z-index: 2;
}

.sec--hana-menu:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 85%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 z-index: -1;
}

.hana-menu {
 margin: 8.66667vw 0;
}

.hana-menu-image {
 margin-bottom: 4.66667vw;
}

.hana-menu-head {
 margin-bottom: 1em;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 5.33333vw;
 font-weight: 600;
 text-align: center;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.hana-menu-target {
 margin-bottom: 1.5em;
 text-align: center;
}

.hana-menu-target span {
 padding: .5em 1em;
 background-color: #8e9dcf;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-weight: 600;
}

.hana-menu-plan > li:nth-child(n + 2) {
 margin-top: 6vw;
}

.hana-menu-plan-name {
 position: relative;
 margin-bottom: 1.5em;
 padding-left: 6.66667vw;
 color: #fff;
 font-size: 3.46667vw;
 line-height: 1.8em;
 letter-spacing: .075em;
}

.hana-menu-plan-name:before {
 content: '';
 position: absolute;
 top: 3.2vw;
 left: 0;
 width: 4vw;
 height: 1px;
 background-color: #dbdff8;
}

.hana-menu-plan-price {
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-weight: 600;
 text-align: right;
}

.hana-menu-plan-price span.label {
 display: inline-block;
 position: relative;
 top: -.2em;
 margin-right: 1em;
 font-family: "Noto Sans JP", sans-serif;
 font-weight: 500;
}

.hana-menu-plan-price span.num {
 font-size: 1.6em;
}

.hana-menu-plan-price span.tax {
 font-size: 0.86em;
}

.hana-menu-caution {
 margin-bottom: 8.66667vw;
}

.hana-menu-caution li {
 padding-left: 1em;
 color: #fff;
 text-indent: -1em;
 line-height: 1.5em;
 letter-spacing: .075em;
}

.hana-menu-caution li:before {
 content: '※';
}

.hana-menu-caution li:nth-child(n + 2) {
 margin-top: .5em;
}

.hana-option {
 position: relative;
 padding: 13.33333vw 4vw 10.66667vw 4vw;
 z-index: 2;
}

.hana-option:before {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-color: #fff;
 z-index: -2;
}

.hana-option:after {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.1;
 z-index: -1;
}

.hana-option-head {
 position: absolute;
 top: -.1em;
 left: 0;
 color: #fff;
 font-family: baskerville-urw, serif;
 font-size: 12.4vw;
 letter-spacing: .2em;
}

.hana-option-list > li {
 padding: 4vw;
 width: 100%;
}

.hana-option-list > li:last-child {
 padding: 0 !important;
}

.hana-option-list--base {
 background-color: #fff;
}

.hana-option-list--color {
 background-color: #8e9dcf;
 color: #fff !important;
}

.hana-option-list-head {
 margin-bottom: .5em;
 font-family: "Noto Serif JP", serif;
 font-size: 4.8vw;
 font-weight: 600;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.hana-option-list-head span {
 font-size: 0.75em;
}

.hana-option-list-desc p {
 line-height: 1.8em;
 letter-spacing: .075em;
}

.hana-option-num > li {
 position: relative;
 padding-left: 1.2em;
 line-height: 1.8em;
 letter-spacing: .075em;
}

.hana-option-num > li span {
 position: absolute;
 top: 0;
 left: 0;
}

.hana-option-daiya > li {
 position: relative;
 padding-left: 1.2em;
 text-indent: -1.2em;
 line-height: 1.8em;
 letter-spacing: .075em;
}

.hana-option-daiya > li:before {
 content: '◆';
 margin-right: .2em;
}

@media screen and (max-width: 750px) {
 .hana-menu > li:nth-child(n + 2) {
  margin-top: 13.33333vw;
 }
 .hana-option-list > li:nth-child(n + 2) {
  margin-top: 4vw;
 }
}

@media screen and (min-width: 751px) {
 .sec--hana-menu {
  padding: 6.25vw 0 0 0;
 }
 .sec--hana-menu:before {
  height: 186.45833vw;
 }
 .hana-menu {
  display: flex;
  flex-wrap: wrap;
  margin: 4.86111vw 0 3.47222vw -1.73611vw;
 }
 .hana-menu > li {
  margin-left: 1.73611vw;
  width: calc(33.33333% - 1.73611vw);
 }
 .hana-menu > li:nth-child(n + 4) {
  margin-top: 2.77778vw;
 }
 .hana-menu-image {
  margin-bottom: 1.04167vw;
 }
 .hana-menu-head {
  margin-bottom: .7em;
  font-size: 1.66667vw;
 }
 .hana-menu-plan > li:nth-child(n + 2) {
  margin-top: 2.08333vw;
 }
 .hana-menu-plan-name {
  padding-left: 3.47222vw;
  font-size: 0.90278vw;
 }
 .hana-menu-plan-name:before {
  top: 0.83333vw;
  width: 2.08333vw;
 }
 .hana-menu-caution {
  margin-bottom: 3.125vw;
 }
 .hana-option {
  padding: 6.94444vw 6.94444vw 5.55556vw 6.94444vw;
 }
 .hana-option-head {
  top: -.2em;
  font-size: 5.55556vw;
 }
 .hana-option-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  align-content: space-between;
  flex-direction: column;
  flex-wrap: wrap;
  height: 63.88889vw;
 }
 .hana-option-list > li {
  margin-top: 1.38889vw;
  padding: 1.38889vw;
  width: 22.22222vw;
 }
 .hana-option-list > li:last-child {
  padding: 0;
 }
 .hana-option-list > li:nth-child(1) {
  order: 1;
 }
 .hana-option-list > li:nth-child(2) {
  order: 2;
 }
 .hana-option-list > li:nth-child(3) {
  order: 3;
 }
 .hana-option-list > li:nth-child(4) {
  order: 5;
 }
 .hana-option-list > li:nth-child(5) {
  order: 6;
 }
 .hana-option-list > li:nth-child(6) {
  order: 7;
 }
 .hana-option-list > li:nth-child(7) {
  order: 9;
 }
 .hana-option-list > li:nth-child(8) {
  order: 10;
 }
 .hana-option-list > li:nth-child(9) {
  order: 11;
 }
 .hana-option-list > li:nth-child(10) {
  order: 4;
 }
 .hana-option-list > li:nth-child(11) {
  order: 8;
 }
 .hana-option-list > li:nth-child(12) {
  order: 12;
 }
 .hana-option-list-head {
  font-size: 1.66667vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--hana-menu {
  padding: 90px 0 0 0;
 }
 .sec--hana-menu:before {
  height: 2685px;
 }
 .hana-menu {
  margin: 70px 0 50px -25px;
 }
 .hana-menu > li {
  margin-left: 25px;
  width: calc(33.33333% - 25px);
 }
 .hana-menu > li:nth-child(n + 4) {
  margin-top: 40px;
 }
 .hana-menu-image {
  margin-bottom: 15px;
 }
 .hana-menu-head {
  font-size: 24px;
  font-size: 2.4rem;
 }
 .hana-menu-plan > li:nth-child(n + 2) {
  margin-top: 30px;
 }
 .hana-menu-plan-name {
  padding-left: 50px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .hana-menu-plan-name:before {
  top: 12px;
  width: 30px;
 }
 .hana-menu-caution {
  margin-bottom: 45px;
 }
 .hana-option {
  padding: 100px 100px 80px 100px;
 }
 .hana-option-head {
  font-size: 80px;
  font-size: 8.0rem;
 }
 .hana-option-list {
  height: 890px;
 }
 .hana-option-list > li {
  margin-top: 20px;
  padding: 20px;
  width: 320px;
 }
 .hana-option-list-head {
  font-size: 24px;
  font-size: 2.4rem;
 }
}

/* ------------------------------------------- flow - */
.sec--hana-flow {
 padding: 16vw 0 13.33333vw 0;
}

.hana-flow {
 margin: 13.33333vw 0 0 0;
}

.hana-flow > li {
 position: relative;
}

.hana-flow-num {
 position: absolute;
 top: -5.33333vw;
 left: 0;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 10.66667vw;
 height: 10.66667vw;
 background-color: #222222;
 border-radius: 50%;
 color: #fff;
 font-family: baskerville-urw, serif;
 font-size: 4.13333vw;
 font-style: italic;
 font-weight: 600;
 z-index: 2;
}

.hana-flow-head {
 margin-bottom: .7em;
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.hana-flow-desc p {
 font-size: 3.46667vw;
 line-height: 1.65em;
}

@media screen and (max-width: 750px) {
 .hana-flow > li {
  display: flex;
  justify-content: space-between;
 }
 .hana-flow > li:nth-child(n + 2) {
  margin-top: 9.33333vw;
 }
 .hana-flow-image {
  width: 29.33333vw;
 }
 .hana-flow-content {
  width: 58.66667vw;
 }
}

@media screen and (min-width: 751px) {
 .sec--hana-flow {
  padding: 6.94444vw 0;
 }
 .hana-flow {
  display: flex;
  flex-wrap: wrap;
  margin: 4.51389vw 0 0 -1.73611vw;
 }
 .hana-flow > li {
  margin-left: 1.73611vw;
  width: calc(20% - 1.73611vw);
 }
 .hana-flow > li:nth-child(n + 6) {
  margin-top: 6.25vw;
 }
 .hana-flow-num {
  top: -1.73611vw;
  left: 1.04167vw;
  width: 3.47222vw;
  height: 3.47222vw;
  font-size: 1.25vw;
 }
 .hana-flow-image {
  margin-bottom: 1.04167vw;
 }
 .hana-flow-head {
  font-size: 1.25vw;
  text-align: center;
 }
 .hana-flow-desc p {
  font-size: 0.90278vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--hana-flow {
  padding: 100px 0;
 }
 .hana-flow {
  margin: 65px 0 0 -25px;
 }
 .hana-flow > li {
  margin-left: 25px;
  width: calc(20% - 25px);
 }
 .hana-flow > li:nth-child(n + 6) {
  margin-top: 90px;
 }
 .hana-flow-num {
  top: -25px;
  left: 15px;
  width: 50px;
  height: 50px;
  font-size: 18px;
  font-size: 1.8rem;
 }
 .hana-flow-image {
  margin-bottom: 15px;
 }
 .hana-flow-head {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .hana-flow-desc p {
  font-size: 13px;
  font-size: 1.3rem;
 }
}

/* page -- > gift
-------------------------------------------------------------------------------*/
/* ------------------------------------------- menu - */
.sec--gift-menu {
 padding: 0 0 13.33333vw 0;
 z-index: 2;
}

.gift-menu-box {
 margin: 8.66667vw 0 13.33333vw 0;
 padding: 8.66667vw 0;
 border-color: #ecf1f5;
 border-style: solid;
 border-width: 1.6vw;
}

.gift-menu-box p {
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 text-align: center;
 line-height: 2em;
}

.gift-menu {
 margin: 0 0 10.66667vw 0;
}

.gift-menu li {
 position: relative;
}

.gift-menu-rank {
 position: absolute;
 top: -4.8vw;
 left: 0;
 display: flex;
 justify-content: center;
 align-items: flex-end;
 padding-bottom: 2.66667vw;
 width: 28vw;
 height: 9.6vw;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 3.46667vw;
 font-weight: 600;
}

.gift-menu-rank span {
 font-size: 1.38em;
 opacity: 1;
}

.gift-menu li:nth-child(1) .gift-menu-rank {
 background: -moz-linear-gradient(left, #ffb482, #fd959a);
 background: -webkit-linear-gradient(left, #ffb482, #fd959a);
 background: linear-gradient(to right, #ffb482, #fd959a);
}

.gift-menu li:nth-child(2) .gift-menu-rank {
 background: -moz-linear-gradient(left, #cbbee4, #79a2d7);
 background: -webkit-linear-gradient(left, #cbbee4, #79a2d7);
 background: linear-gradient(to right, #cbbee4, #79a2d7);
}

.gift-menu li:nth-child(3) .gift-menu-rank {
 background: -moz-linear-gradient(left, #90b1c1, #b7dedd);
 background: -webkit-linear-gradient(left, #90b1c1, #b7dedd);
 background: linear-gradient(to right, #90b1c1, #b7dedd);
}

.gift-menu-image {
 margin-bottom: 5.33333vw;
}

.gift-menu-head {
 margin-bottom: 1em;
 font-family: "Noto Serif JP", serif;
 font-size: 5.33333vw;
 font-weight: 600;
 text-align: center;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.gift-menu-desc {
 position: relative;
 margin-bottom: 1.5em;
 padding-left: 6.66667vw;
 font-size: 3.46667vw;
 line-height: 1.8em;
 letter-spacing: .075em;
}

.gift-menu-desc:before {
 content: '';
 position: absolute;
 top: 3.2vw;
 left: 0;
 width: 4vw;
 height: 1px;
 background-color: #dbdff8;
}

.gift-menu-price {
 font-family: "Noto Serif JP", serif;
 font-weight: 600;
 text-align: right;
}

.gift-menu-price span.num {
 font-size: 1.6em;
}

.gift-menu-price span.tax {
 font-size: 0.86em;
}

.gift-menu-btn {
 margin: 0 auto;
 width: 100%;
}

.gift-menu-btn a {
 font-family: "Noto Serif JP", serif;
 font-size: 1.15em;
 font-weight: 600;
}

@media screen and (max-width: 750px) {
 .gift-menu > li:nth-child(n + 2) {
  margin-top: 13.33333vw;
 }
}

@media screen and (min-width: 751px) {
 .sec--gift-menu {
  padding: 0 0 6.94444vw 0;
 }
 .gift-menu-box {
  margin: 3.47222vw 0 4.86111vw 0;
  padding: 3.47222vw 0;
  border-width: 0.41667vw;
 }
 .gift-menu-box p {
  font-size: 1.25vw;
 }
 .gift-menu {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 3.47222vw -1.73611vw;
 }
 .gift-menu > li {
  margin-left: 1.73611vw;
  width: calc(33.33333% - 1.73611vw);
 }
 .gift-menu > li:nth-child(n + 4) {
  margin-top: 2.77778vw;
 }
 .gift-menu-rank {
  top: -1.25vw;
  padding-bottom: 0.69444vw;
  width: 7.29167vw;
  height: 2.5vw;
  font-size: 0.90278vw;
 }
 .gift-menu-image {
  margin-bottom: 1.04167vw;
 }
 .gift-menu-head {
  margin-bottom: .7em;
  font-size: 1.66667vw;
 }
 .gift-menu-desc {
  padding-left: 3.47222vw;
  font-size: 0.90278vw;
 }
 .gift-menu-desc:before {
  top: 0.83333vw;
  width: 2.08333vw;
 }
 .gift-menu-btn {
  width: 27.08333vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--gift-menu {
  padding: 0 0 100px 0;
 }
 .gift-menu-box {
  margin: 50px 0 70px 0;
  padding: 50px 0;
  border-width: 6px;
 }
 .gift-menu-box p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .gift-menu {
  margin: 0 0 50px -25px;
 }
 .gift-menu > li {
  margin-left: 25px;
  width: calc(33.33333% - 25px);
 }
 .gift-menu > li:nth-child(n + 4) {
  margin-top: 40px;
 }
 .gift-menu-rank {
  top: -18px;
  padding-bottom: 10px;
  width: 105px;
  height: 36px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .gift-menu-image {
  margin-bottom: 15px;
 }
 .gift-menu-head {
  font-size: 24px;
  font-size: 2.4rem;
 }
 .gift-menu-desc {
  padding-left: 50px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .gift-menu-desc:before {
  top: 12px;
  width: 30px;
 }
 .gift-menu-btn {
  width: 390px;
 }
}

/* ------------------------------------------- about - */
.sec--gift-about {
 padding: 13.33333vw 0;
 background-image: url(../img/gift/about-bg.jpg);
 background-size: cover;
 background-position: center;
}

.gift-about-heads {
 margin-bottom: 8.66667vw;
}

.gift-about-content {
 padding: 6.66667vw 4vw;
 background-color: #fff;
}

.gift-about-head {
 margin-bottom: 1.5em;
 font-size: 4.13333vw;
 font-weight: 500;
 text-align: center;
 line-height: 1.5em;
 letter-spacing: .075em;
}

.gift-about-desc p {
 line-height: 2.4em;
 letter-spacing: .075em;
}

.gift-about-desc p:last-child {
 margin-top: .5em;
 padding-left: 1em;
 text-indent: -1em;
}

.gift-about-desc p:last-child:before {
 content: '※';
}

@media screen and (max-width: 750px) {
 .gift-about-heads {
  text-align: center;
 }
}

@media screen and (min-width: 751px) {
 .sec--gift-about {
  padding: 5.55556vw 0;
 }
 .gift-about {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 69.44444vw;
 }
 .gift-about-heads {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  width: 17.01389vw;
 }
 .gift-about-content {
  padding: 2.77778vw 3.47222vw;
  width: 50vw;
 }
 .gift-about-head {
  margin-bottom: 1em;
  font-size: 1.25vw;
  text-align: left;
 }
}

@media screen and (min-width: 1401px) {
 .sec--gift-about {
  padding: 80px 0;
 }
 .gift-about {
  width: 1000px;
 }
 .gift-about-heads {
  width: 245px;
 }
 .gift-about-content {
  padding: 40px 50px;
  width: 720px;
 }
 .gift-about-head {
  font-size: 18px;
  font-size: 1.8rem;
 }
}

/* page -- > lesson
-------------------------------------------------------------------------------*/
/* ------------------------------------------- menu - */
.sec--lesson-menu {
 padding: 0 0 8.66667vw 0;
 z-index: 2;
}

.lesson-menu-box {
 margin: 8.66667vw 0 13.33333vw 0;
 padding: 8.66667vw 0;
 border-color: #ecf1f5;
 border-style: solid;
 border-width: 1.6vw;
}

.lesson-menu-box p {
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 text-align: center;
 line-height: 2em;
}

.lesson-menu {
 margin: 0 0 10.66667vw 0;
}

.lesson-menu li {
 position: relative;
 padding-top: 10.66667vw;
}

.lesson-menu-catch {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-bottom: 3.33333vw;
 width: 100%;
}

.lesson-menu-catch span {
 position: relative;
 padding: 0 1em;
 font-weight: 500;
 text-align: center;
 line-height: 1.35em;
}

.lesson-menu-catch span:before,
.lesson-menu-catch span:after {
 content: '';
 position: absolute;
 bottom: 0;
 width: 1px;
 height: 100%;
 background-color: #222222;
}

.lesson-menu-catch span:before {
 left: 0;
 transform: rotate(-25deg);
}

.lesson-menu-catch span:after {
 right: 0;
 transform: rotate(25deg);
}

.lesson-menu-image {
 margin-bottom: 5.33333vw;
}

.lesson-menu-head {
 margin-bottom: 1em;
 font-family: "Noto Serif JP", serif;
 font-size: 5.33333vw;
 font-weight: 600;
 text-align: center;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.lesson-menu-desc {
 position: relative;
 margin-bottom: 1.5em;
 padding-left: 6.66667vw;
 font-size: 3.46667vw;
 line-height: 1.8em;
 letter-spacing: .075em;
}

.lesson-menu-desc:before {
 content: '';
 position: absolute;
 top: 3.2vw;
 left: 0;
 width: 4vw;
 height: 1px;
 background-color: #dbdff8;
}

.lesson-menu-price {
 font-family: "Noto Serif JP", serif;
 font-weight: 600;
 text-align: right;
}

.lesson-menu-price span.label {
 display: inline-block;
 position: relative;
 top: -.2em;
 margin-right: 1em;
 font-family: "Noto Sans JP", sans-serif;
 font-weight: 500;
}

.lesson-menu-price span.num {
 font-size: 1.6em;
}

.lesson-menu-price span.tax {
 font-size: 0.86em;
}

.lesson-reserve {
 margin: 13.33333vw auto 0 auto;
 width: 100%;
}

.lesson-reserve dt {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-bottom: 3.33333vw;
 width: 100%;
 height: 20vw;
 background-color: #222222;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 4.26667vw;
 font-weight: 600;
}

.lesson-reserve-content li {
 position: relative;
}

.lesson-reserve-content li:last-child {
 margin-top: 6.66667vw;
}

.lesson-reserve-content li:last-child:before {
 content: '';
 position: absolute;
 top: -2.93333vw;
 left: 0;
 display: inline-block;
 width: 100%;
 height: 0.8vw;
 background-image: url(../img/lesson/line.png);
 background-size: auto 0.8vw;
 background-repeat: repeat-x;
}

.lesson-reserve dd p {
 line-height: 1.875em;
}

.lesson-reserve dd p a {
 display: inline-block;
 position: relative;
}

.lesson-reserve dd p a:after {
 content: '';
 position: absolute;
 left: 0;
 bottom: 0;
 width: 100%;
 height: 1px;
 background-color: #a9a9a9;
}

.lesson-reserve-head {
 margin-bottom: .5em;
 font-weight: 700;
 line-height: 1.875em;
}

@media screen and (max-width: 750px) {
 .lesson-menu > li:nth-child(n + 2) {
  margin-top: 13.33333vw;
 }
}

@media screen and (min-width: 751px) {
 .sec--lesson-menu {
  padding: 0 0 4.16667vw 0;
 }
 .lesson-menu-box {
  margin: 3.47222vw 0 4.86111vw 0;
  padding: 3.47222vw 0;
  border-width: 0.41667vw;
 }
 .lesson-menu-box p {
  font-size: 1.25vw;
 }
 .lesson-menu {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 3.47222vw -1.73611vw;
 }
 .lesson-menu > li {
  margin-left: 1.73611vw;
  padding-top: 2.77778vw;
  width: calc(33.33333% - 1.73611vw);
 }
 .lesson-menu > li:nth-child(n + 4) {
  margin-top: 2.77778vw;
 }
 .lesson-menu-catch {
  position: absolute;
  top: 0;
  left: 0;
  height: 2.77778vw;
  font-size: 1.04167vw;
 }
 .lesson-menu-image {
  margin-bottom: 1.04167vw;
 }
 .lesson-menu-head {
  margin-bottom: .7em;
  font-size: 1.66667vw;
 }
 .lesson-menu-desc {
  padding-left: 3.47222vw;
  font-size: 0.90278vw;
 }
 .lesson-menu-desc:before {
  top: 0.83333vw;
  width: 2.08333vw;
 }
 .lesson-reserve {
  display: flex;
  align-items: stretch;
  margin: 2.77778vw auto 0 auto;
  width: 69.44444vw;
 }
 .lesson-reserve dt {
  margin-bottom: 0;
  width: 20.83333vw;
  height: auto;
  font-size: 1.25vw;
 }
 .lesson-reserve dd {
  padding: 0 1.73611vw;
  width: 48.61111vw;
 }
 .lesson-reserve-content li:last-child {
  margin-top: 2.36111vw;
 }
 .lesson-reserve-content li:last-child:before {
  top: -1.18056vw;
  height: 0.27778vw;
  background-size: auto 0.27778vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--lesson-menu {
  padding: 0 0 60px 0;
 }
 .lesson-menu-box {
  margin: 50px 0 70px 0;
  padding: 50px 0;
  border-width: 6px;
 }
 .lesson-menu-box p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .lesson-menu {
  margin: 0 0 50px -25px;
 }
 .lesson-menu > li {
  margin-left: 25px;
  padding-top: 40px;
  width: calc(33.33333% - 25px);
 }
 .lesson-menu > li:nth-child(n + 4) {
  margin-top: 40px;
 }
 .lesson-menu-catch {
  height: 40px;
  font-size: 15px;
  font-size: 1.5rem;
 }
 .lesson-menu-image {
  margin-bottom: 15px;
 }
 .lesson-menu-head {
  font-size: 24px;
  font-size: 2.4rem;
 }
 .lesson-menu-desc {
  padding-left: 50px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .lesson-menu-desc:before {
  top: 12px;
  width: 30px;
 }
 .lesson-reserve {
  margin: 40px auto 0 auto;
  width: 1000px;
 }
 .lesson-reserve dt {
  width: 300px;
  font-size: 18px;
  font-size: 1.8rem;
 }
 .lesson-reserve dd {
  padding: 0 25px;
  width: 700px;
 }
 .lesson-reserve-content li:last-child {
  margin-top: 34px;
 }
 .lesson-reserve-content li:last-child:before {
  top: -17px;
  height: 4px;
  background-size: auto 4px;
 }
}

/* ------------------------------------------- workshop - */
.sec--lesson-workshop {
 padding: 8.66667vw 0 13.33333vw 0;
 z-index: 2;
}

.lesson-workshop-box {
 margin: 8.66667vw 0 6.66667vw 0;
 padding: 8.66667vw 0;
 border-color: #ecf1f5;
 border-style: solid;
 border-width: 1.6vw;
}

.lesson-workshop-box p {
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
 text-align: center;
 line-height: 2em;
}

.lesson-workshop-desc {
 margin-bottom: 10.66667vw;
 text-align: center;
 line-height: 1.875em;
 letter-spacing: .2em;
}

.lesson-workshop-image {
 margin-bottom: 5.33333vw;
}

.lesson-workshop-head {
 margin-bottom: 1em;
 font-family: "Noto Serif JP", serif;
 font-size: 5.33333vw;
 font-weight: 600;
 text-align: center;
 line-height: 1.5em;
 letter-spacing: .2em;
}

@media screen and (max-width: 750px) {
 .lesson-workshop > li:nth-child(n + 2) {
  margin-top: 13.33333vw;
 }
}

@media screen and (min-width: 751px) {
 .sec--lesson-workshop {
  padding: 4.16667vw 0 6.94444vw 0;
 }
 .lesson-workshop-box {
  margin: 3.47222vw 0 2.08333vw 0;
  padding: 3.47222vw 0;
  border-width: 0.41667vw;
 }
 .lesson-workshop-box p {
  font-size: 1.25vw;
 }
 .lesson-workshop-desc {
  margin-bottom: 2.08333vw;
 }
 .lesson-workshop {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 -1.73611vw;
 }
 .lesson-workshop > li {
  margin-left: 1.73611vw;
  width: calc(33.33333% - 1.73611vw);
 }
 .lesson-workshop-image {
  margin-bottom: 1.04167vw;
 }
 .lesson-workshop-head {
  margin-bottom: .7em;
  font-size: 1.66667vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--lesson-workshop {
  padding: 60px 0 100px 0;
 }
 .lesson-workshop-box {
  margin: 50px 0 30px 0;
  padding: 50px 0;
  border-width: 6px;
 }
 .lesson-workshop-box p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .lesson-workshop-desc {
  margin-bottom: 30px;
 }
 .lesson-workshop {
  margin: 0 0 0 -25px;
 }
 .lesson-workshop > li {
  margin-left: 25px;
  width: calc(33.33333% - 25px);
 }
 .lesson-workshop-image {
  margin-bottom: 15px;
 }
 .lesson-workshop-head {
  font-size: 24px;
  font-size: 2.4rem;
 }
}

/* page -- > display
-------------------------------------------------------------------------------*/
/* ------------------------------------------- cmn - */
.display-head {
 margin-bottom: 1em;
 font-family: "Noto Serif JP", serif;
 font-size: 6.13333vw;
 font-weight: 600;
 line-height: 1.5em;
 letter-spacing: .2em;
}

.display-desc {
 position: relative;
 padding-left: 6.66667vw;
}

.display-desc p:before {
 content: '';
 position: absolute;
 top: 1em;
 left: -6.66667vw;
 width: 4vw;
 height: 1px;
 background-color: #cccccc;
}

.display-desc p {
 position: relative;
 font-size: 4.13333vw;
 line-height: 2em;
 letter-spacing: .075em;
}

.display-photo {
 display: flex;
 margin: 8.66667vw 0 0 -2.66667vw;
}

.display-photo li {
 margin-left: 2.66667vw;
 width: calc(33.33333% - 2.66667vw);
}

@media screen and (min-width: 751px) {
 .display-head {
  font-size: 2.5vw;
 }
 .display-desc {
  padding-left: 4.51389vw;
 }
 .display-desc p:before {
  left: -4.51389vw;
  width: 2.08333vw;
 }
 .display-desc p {
  font-size: 1.25vw;
 }
 .display-photo {
  margin: 3.47222vw 0 0 -1.73611vw;
 }
 .display-photo li {
  margin-left: 1.73611vw;
  width: calc(33.33333% - 1.73611vw);
 }
}

@media screen and (min-width: 1401px) {
 .display-head {
  font-size: 36px;
  font-size: 3.6rem;
 }
 .display-desc {
  padding-left: 65px;
 }
 .display-desc p:before {
  left: -65px;
  width: 30px;
 }
 .display-desc p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .display-photo {
  margin: 50px 0 0 -25px;
 }
 .display-photo li {
  margin-left: 25px;
  width: calc(33.33333% - 25px);
 }
}

/* ------------------------------------------- rental - */
.sec--display-rental {
 padding: 0 0 16vw 0;
}

.display-rental {
 margin-bottom: 9.33333vw;
}

.display-rental-content {
 margin-bottom: 8vw;
}

.display-rental-image {
 display: flex;
 justify-content: space-between;
 margin: 0 auto;
 padding-bottom: 9.33333vw;
 width: 88vw;
}

.display-rental-image > div {
 position: relative;
 width: 42vw;
}

.display-rental-image > div:nth-child(1) {
 top: 9.33333vw;
}

.display-rental-price {
 position: relative;
 margin-top: 8.66667vw;
 padding: 13.33333vw 4vw 6.66667vw 4vw;
}

.display-rental-price:before {
 content: '';
 position: absolute;
 top: 0;
 left: -4vw;
 width: 100vw;
 height: 100%;
 background: -moz-linear-gradient(left, #dac3fc, #8ec5fc);
 background: -webkit-linear-gradient(left, #dac3fc, #8ec5fc);
 background: linear-gradient(to right, #dac3fc, #8ec5fc);
 opacity: 0.1;
 z-index: -1;
}

.display-rental-price-en {
 position: absolute;
 top: -.1em;
 left: 0;
 color: #fff;
 font-family: baskerville-urw, serif;
 font-size: 12.4vw;
 letter-spacing: .2em;
}

.display-rental-price-head {
 position: absolute;
 top: 0;
 left: 4vw;
 display: flex;
 align-items: center;
 height: 13.33333vw;
 font-family: baskerville-urw, serif;
 font-size: 4.93333vw;
 font-weight: 600;
}

.display-rental-price-desc p {
 font-size: 4.13333vw;
 line-height: 2.4em;
 letter-spacing: .075em;
}

.display-rental-datas {
 margin: 0 auto;
 width: 100%;
 border-top: 1px solid #222222;
}

.display-rental-data {
 display: flex;
 justify-content: space-between;
 align-items: stretch;
 flex-wrap: wrap;
 padding: 4vw 0;
 border-bottom: 1px solid #222222;
}

.display-rental-data dt {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-bottom: 3.33333vw;
 width: 100%;
 height: 10.66667vw;
 background-color: #222222;
 color: #fff;
 font-family: "Noto Serif JP", serif;
 font-size: 4.13333vw;
 font-weight: 600;
}

.display-rental-data dd {
 width: 100%;
 font-size: 4.13333vw;
 line-height: 1.6em;
}

@media screen and (min-width: 751px) {
 .sec--display-rental {
  padding: 0 0 6.94444vw 0;
 }
 .display-rental {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.86111vw;
 }
 .display-rental-content {
  margin-bottom: 0;
  width: 50vw;
 }
 .display-rental-image {
  margin: 0;
  padding-bottom: 0;
  width: 30.90278vw;
 }
 .display-rental-image > div {
  width: 14.93056vw;
 }
 .display-rental-image > div:nth-child(1) {
  top: 3.47222vw;
 }
 .display-rental-price {
  margin-top: 3.125vw;
  padding: 4.16667vw 3.47222vw 2.77778vw 3.47222vw;
 }
 .display-rental-price:before {
  left: 0;
  width: 100%;
 }
 .display-rental-price-en {
  top: -.2em;
  font-size: 5.55556vw;
 }
 .display-rental-price-head {
  left: 3.47222vw;
  height: 4.16667vw;
  font-size: 1.66667vw;
 }
 .display-rental-price-desc p {
  font-size: 1.25vw;
 }
 .display-rental-datas {
  width: 69.44444vw;
 }
 .display-rental-data {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding: 1.04167vw 0;
 }
 .display-rental-data dt {
  margin-bottom: 0;
  width: 16.45833vw;
  height: auto;
  font-size: 1.25vw;
 }
 .display-rental-data dd {
  width: 51.04167vw;
  font-size: 1.25vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--display-rental {
  padding: 0 0 100px 0;
 }
 .display-rental {
  margin-bottom: 70px;
 }
 .display-rental-content {
  width: 720px;
 }
 .display-rental-image {
  width: 445px;
 }
 .display-rental-image > div {
  width: 215px;
 }
 .display-rental-image > div:nth-child(1) {
  top: 50px;
 }
 .display-rental-price {
  margin-top: 45px;
  padding: 60px 50px 40px 50px;
 }
 .display-rental-price-en {
  font-size: 80px;
  font-size: 8.0rem;
 }
 .display-rental-price-head {
  left: 50px;
  height: 60px;
  font-size: 24px;
  font-size: 2.4rem;
 }
 .display-rental-price-desc p {
  font-size: 18px;
  font-size: 1.8rem;
 }
 .display-rental-datas {
  width: 1000px;
 }
 .display-rental-data {
  padding: 15px 0;
 }
 .display-rental-data dt {
  width: 237px;
  font-size: 18px;
  font-size: 1.8rem;
 }
 .display-rental-data dd {
  width: 735px;
  font-size: 18px;
  font-size: 1.8rem;
 }
}

/* ------------------------------------------- display - */
.sec--display-display {
 padding: 0 0 16vw 0;
}

@media screen and (min-width: 751px) {
 .sec--display-display {
  padding: 0 0 6.94444vw 0;
 }
}

@media screen and (min-width: 1401px) {
 .sec--display-display {
  padding: 0 0 100px 0;
 }
}

/* ------------------------------------------- garden - */
.sec--display-garden {
 padding: 0 0 16vw 0;
}

.display-garden-content {
 margin-bottom: 6.66667vw;
}

.display-garden-btn .btn {
 font-size: 3.73333vw;
}

@media screen and (min-width: 751px) {
 .sec--display-garden {
  padding: 0 0 6.94444vw 0;
 }
 .display-garden {
  display: flex;
  justify-content: space-between;
 }
 .display-garden-content {
  margin-bottom: 0;
  width: 57.63889vw;
 }
 .display-garden-btn {
  width: 24.30556vw;
 }
 .display-garden-btn .btn {
  font-size: 1.04167vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec--display-garden {
  padding: 0 0 100px 0;
 }
 .display-garden-content {
  width: 830px;
 }
 .display-garden-btn {
  width: 350px;
 }
 .display-garden-btn .btn {
  font-size: 15px;
  font-size: 1.5rem;
 }
}

/*  heading
-------------------------------------------------------*/
/* ------------------------------------------- cmn head - */
.sec-head {
 position: relative;
}

.sec-head--center {
 text-align: center;
}

.sec-head--base {
 color: #fff;
}

.sec-head-en {
 position: relative;
 margin-bottom: .5em;
 font-family: baskerville-urw, serif;
 font-size: 8.8vw;
 letter-spacing: .2em;
}

.sec-head-jp {
 position: relative;
 font-family: "Noto Serif JP", serif;
 font-size: 4.8vw;
 font-weight: 600;
 letter-spacing: .2em;
}

@media screen and (min-width: 751px) {
 .sec-head-en {
  margin-bottom: .3em;
  font-size: 3.33333vw;
 }
 .sec-head-jp {
  font-size: 1.25vw;
 }
}

@media screen and (min-width: 1401px) {
 .sec-head-en {
  font-size: 48px;
  font-size: 4.8rem;
 }
 .sec-head-jp {
  font-size: 18px;
  font-size: 1.8rem;
 }
}

/*  button
-------------------------------------------------------*/
.btn {
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 13.33333vw;
 border: 1px solid #222222;
 font-family: baskerville-urw, serif;
 font-size: 3.46667vw;
 letter-spacing: .2em;
 transition: .3s;
}

.btn span {
 display: inline-block;
 margin-left: -1em;
}

.btn:hover {
 background-color: #222222;
 color: #fff;
}

.btn:after {
 content: '';
 position: absolute;
 top: 50%;
 right: 5.33333vw;
 width: 8vw;
 height: 1px;
 background-color: #222222;
 transform: translateY(-50%);
 transition: .3s;
}

.btn:hover:after {
 background-color: #fff;
 transform: translateX(5.33333vw) translateY(-50%);
}

@media screen and (min-width: 751px) {
 .btn {
  height: 3.47222vw;
  font-size: 0.90278vw;
 }
 .btn:after {
  right: 1.38889vw;
  width: 2.08333vw;
 }
 .btn:hover:after {
  transform: translateX(1.38889vw) translateY(-50%);
 }
}

@media screen and (min-width: 1401px) {
 .btn {
  height: 50px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .btn:after {
  right: 20px;
  width: 30px;
 }
 .btn:hover:after {
  transform: translateX(20px) translateY(-50%);
 }
}

/*  pagenation
-------------------------------------------------------*/
.page-archive-navi {
 margin-top: 10vw;
}

.page-archive-navi .pagecount {
 color: #222222;
 font-family: "Noto Serif JP", serif;
 font-size: 3.46667vw;
 font-weight: 600;
 text-align: center;
 letter-spacing: .075em;
}

.pagenation-list {
 display: flex;
 justify-content: center;
 align-items: center;
 margin-bottom: 6.66667vw;
}

.pagenation-list li {
 margin-right: 4vw;
}

.pagenation-list li:last-child {
 margin-right: 0;
}

.pagenation-list li span,
.pagenation-list li a {
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
 padding-left: .2em;
 font-family: baskerville-urw, serif;
 color: #888888;
 font-size: 3.73333vw;
 font-weight: 600;
}

.pagenation-list li.is-active span {
 color: #222222;
}

.pagenation-list li.is-active span:after {
 content: '';
 position: absolute;
 left: 50%;
 bottom: -.3em;
 width: 100%;
 height: 1px;
 background-color: #222222;
 transform: translateX(-50%);
}

.pagenation-list li span:hover,
.pagenation-list li a:hover {
 color: #222222;
}

.pagenation-prev a:before,
.pagenation-next a:before {
 content: '…';
}

@media screen and (min-width: 751px) {
 .page-archive-navi {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 4.16667vw;
 }
 .page-archive-navi .pagecount {
  font-size: 0.90278vw;
 }
 .pagenation-list {
  margin: 0 3.47222vw 0 0;
 }
 .pagenation-list li {
  margin-right: 1.04167vw;
 }
 .pagenation-list li span,
 .pagenation-list li a {
  font-size: 1.04167vw;
 }
 .pagenation-prev a:before,
 .pagenation-next a:before {
  width: 0.48611vw;
  height: 0.83333vw;
 }
}

@media screen and (min-width: 1401px) {
 .page-archive-navi {
  margin-top: 60px;
 }
 .page-archive-navi .pagecount {
  font-size: 15px;
  font-size: 1.5rem;
 }
 .pagenation-list {
  margin: 0 50px 0 0;
 }
 .pagenation-list li {
  margin-right: 15px;
 }
 .pagenation-list li span,
 .pagenation-list li a {
  font-size: 15px;
  font-size: 1.5rem;
 }
 .pagenation-prev a:before,
 .pagenation-next a:before {
  width: 7px;
  height: 12px;
 }
}

/*  pagenavi
-------------------------------------------------------*/
.pagenavi {
 position: relative;
 margin: 10.66667vw auto 0 auto;
 width: 92vw;
 height: 33.33333vw;
}

.pagenavi a {
 margin: 0 auto;
 position: relative;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height: 13.33333vw;
 font-size: 3.73333vw;
 transition: .3s;
 letter-spacing: .2em;
}

.pagenavi-prev,
.pagenavi-next {
 position: absolute;
 top: 20vw;
 width: 36vw;
}

.pagenavi-prev a,
.pagenavi-next a {
 font-family: baskerville-urw, serif;
 text-transform: uppercase;
 letter-spacing: .2em;
}

.pagenavi-prev {
 left: 0;
}

.pagenavi-next {
 right: 0;
}

.pagenavi-prev a:after,
.pagenavi-next a:after {
 content: '';
 position: absolute;
 top: 50%;
 display: inline-block;
 width: 8vw;
 height: 1px;
 background-color: #222222;
 transform: translateY(-50%);
 transition: .3s;
}

.pagenavi-prev a:after {
 left: 0;
}

.pagenavi-next a:after {
 right: 0;
}

.pagenavi-prev a:hover:after {
 transform: translateX(-0.3em) translateY(-50%);
}

.pagenavi-next a:hover:after {
 transform: translateX(0.3em) translateY(-50%);
}

.pagenavi-back a {
 background-color: #fff;
 border: 1px solid #222222;
 font-family: "Noto Serif JP", serif;
 font-weight: 600;
}

.pagenavi-back a:hover {
 background-color: #222222;
 color: #fff;
}

@media screen and (max-width: 750px) {
 .pagenavi-back {
  top: 0;
  margin: 0 auto;
  width: 53.33333vw;
 }
}

@media screen and (min-width: 751px) {
 .pagenavi {
  margin: 3.47222vw auto 0 auto;
  width: 69.44444vw;
  height: 3.47222vw;
 }
 .pagenavi a {
  height: 3.47222vw;
  font-size: 0.90278vw;
 }
 .pagenavi-prev,
 .pagenavi-next {
  top: 50%;
  width: 10.41667vw;
  transform: translateY(-50%);
 }
 .pagenavi-prev a:after,
 .pagenavi-next a:after {
  width: 2.08333vw;
 }
 .pagenavi-back a {
  width: 11.11111vw;
 }
}

@media screen and (min-width: 1401px) {
 .pagenavi {
  margin: 50px auto 0 auto;
  width: 1000px;
  height: 50px;
 }
 .pagenavi a {
  height: 50px;
  font-size: 13px;
  font-size: 1.3rem;
 }
 .pagenavi-prev,
 .pagenavi-next {
  width: 150px;
 }
 .pagenavi-prev a:after,
 .pagenavi-next a:after {
  width: 30px;
 }
 .pagenavi-back a {
  width: 160px;
 }
}

/*  EDITOR
-------------------------------------------------------*/
.editor {
 margin: 0 auto;
 width: 100%;
 font-family: "Noto Sans JP", sans-serif;
 /*  リンク
  ------------------------------------*/
 /*  強調文字
  ------------------------------------*/
 /*  リスト
  ------------------------------------*/
 /*  数字リスト
  ------------------------------------*/
 /*  引用
  ------------------------------------*/
 /*  画像
  ------------------------------------*/
}

.editor p {
 font-size: 4vw;
 font-weight: 400;
 line-height: 2.13em;
 letter-spacing: .075em;
}

.editor a {
 font-weight: 700;
}

.editor a:hover {
 opacity: 0.7;
}

.editor strong {
 font-weight: 700;
}

.editor ul {
 margin: 1em 0 1.5em 0;
}

.editor ul li {
 margin-left: 1.5em;
 list-style-type: square;
 line-height: 2.13em;
}

.editor ol {
 margin: 1em 0 1.5em 0;
}

.editor ol li {
 margin-left: 2.5em;
 list-style-type: decimal-leading-zero;
 line-height: 2.13em;
}

.editor blockquote {
 margin: 1.5em 1em;
 padding: 1em;
 background-color: #f9f8f8;
 font-style: italic;
}

.editor .alignleft {
 margin-right: auto;
 text-align: left;
}

.editor .alignright {
 margin-left: auto;
 text-align: right;
}

.editor .aligncenter {
 margin: 0 auto;
 text-align: center;
}

.editor img {
 margin-top: 1em;
 margin-bottom: 1em;
 max-width: 100%;
 height: auto;
}

.editor img.alignright {
 float: right;
 display: block;
 margin: 1em 0 1em 1em;
}

.editor img.alignleft {
 float: left;
 display: block;
 margin: 1em 1em 1em 0;
}

.editor img.aligncenter {
 display: block;
 margin: 1em auto;
}

.editor .iframe-wrap {
 position: relative;
 padding-bottom: 56.25%;
 height: 0;
 overflow: hidden;
}

.editor .iframe-wrap iframe,
.editor .iframe-wrap object,
.editor .iframe-wrap embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}

@media screen and (min-width: 751px) {
 .editor {
  width: 55.55556vw;
 }
 .editor p {
  font-size: 1.04167vw;
 }
}

@media screen and (min-width: 1401px) {
 .editor {
  width: 800px;
 }
 .editor p {
  font-size: 15px;
  font-size: 1.5rem;
 }
}

/*  animation
------------------------------------------------------------------------------*/
.anim {
 opacity: 0;
}

.anim.is-show {
 opacity: 1;
 transition: transform 1s cubic-bezier(0.08, 0.92, 0.35, 1), opacity 1s;
}

.anim--top {
 transform: translateY(-50px);
}

.anim--top.is-show {
 transform: translateY(0);
}

.anim--bottom {
 transform: translateY(50px);
}

.anim--bottom.is-show {
 transform: translateY(0);
}

.anim--left {
 transform: translateX(-50px);
}

.anim--left.is-show {
 transform: translateX(0);
}

.anim--right {
 transform: translateY(50px);
}

.anim--right.is-show {
 transform: translateY(0);
}

@media all and (-ms-high-contrast: none) {
 .anim {
  opacity: 1;
 }
}

/*  配置
-------------------------------------------------------*/
.paragraph p {
 margin-bottom: 1.5em;
 line-height: 2em;
}

.paragraph p:last-child {
 margin-bottom: 0;
}

.bold {
 font-weight: 500;
}

.left {
 text-align: left;
}

.right {
 text-align: right;
}

.center {
 text-align: center;
}

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

@media screen and (min-width: 751px) {
 .none--pc {
  display: none  !important;
 }
 .br--pc {
  display: block;
 }
 .br--sp {
  display: none;
 }
}

@media screen and (min-width: 1929px) {
 .br--tb {
  display: block;
 }
}

@media screen and (min-width: 1930px) {
 .br--tb {
  display: none;
 }
}

/*  画像
-------------------------------------------------------*/
.img--fit {
 width: 100%;
 max-width: 100%;
 height: auto;
}

/* ---------------------------------- ホバー画像拡大 */
.img--scale {
 width: 100%;
 height: auto;
 overflow: hidden;
}

.img--scale img {
 width: 100%;
 transition-duration: 0.5s;
}

/* ---------------------------------- リスト */
.list li {
 padding-left: 1em;
 text-indent: -1em;
 line-height: 1.8em;
}

.list--dot li:before {
 content: '・';
}

.list--kome li:before {
 content: '※';
}

.size-auto,
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
 max-width: 100%;
 height: auto;
}
