@import url(https://fonts.googleapis.com/css?family=Montserrat&display=swap);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,500,700&display=swap);
@charset "UTF-8";
@-webkit-keyframes slide {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); } }
@keyframes slide {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); } }

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400;
  src: local("Montserrat-Regular"), url("https://fonts.gstatic.com/s/montserrat/v6/zhcz-_WihjSQC0oHJ9TCYC3USBnSvpkopQaUR-2r7iU.ttf") format("truetype"); }

@font-face {
  font-family: Montserrat;
  font-style: bold;
  font-weight: 700;
  src: local("Montserrat-Bold"), url("https://fonts.gstatic.com/s/montserrat/v6/IQHow_FEYlDC4Gzy_m8fcvEr6Hm6RMS0v1dtXsGir4g.ttf") format("truetype"); }

* {
  margin: 0;
  padding: 0; }
  @media (max-width: 767px) {
    * {
      -webkit-box-sizing: border-box;
              box-sizing: border-box; } }

body {
  background: #f9f9f9;
  height: 100%; }

html {
  font-family: "Montserrat";
  font-size: 62.5%;
  color: #000;
  height: 100%; }
  @media screen and (max-width: 1200px) {
    html {
      min-width: 1200px; } }
  @media screen and (max-width: 767px) {
    html {
      min-width: 100%; } }

ul {
  list-style-type: none; }

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer; }

h1 {
  font-size: 2.4rem;
  font-weight: 700; }
  @media screen and (max-width: 900px) {
    h1 {
      font-size: 4rem; } }
  @media screen and (max-width: 600px) {
    h1 {
      font-size: 3.7rem; } }

.animate {
  opacity: 0;
  -webkit-transition: ease 0.3s;
  -o-transition: ease 0.3s;
  transition: ease 0.3s; }
  .animate__slide {
    opacity: 1;
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    position: relative;
    overflow: hidden; }
    .animate__slide::before {
      background: #000819;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 2;
      -webkit-animation: slide 1s;
              animation: slide 1s;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1); }
  .animate__slide-image {
    opacity: 1;
    -webkit-transition-delay: 0.2s;
         -o-transition-delay: 0.2s;
            transition-delay: 0.2s;
    overflow: hidden; }

.start {
  opacity: 1; }

.button {
  border: 1px solid #fff;
  font-size: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  -webkit-transition: 0.5s ease;
  -o-transition: 0.5s ease;
  transition: 0.5s ease; }
  @media (max-width: 767px) {
    .button {
      -webkit-box-sizing: border-box;
              box-sizing: border-box; } }
  .button--normal {
    width: 10rem;
    padding: 2.5rem 3rem; }
    @media (max-width: 767px) {
      .button--normal {
        width: 100%;
        height: 2rem;
        margin: 0 auto; } }
    .button--normal:hover {
      background: #fff;
      color: #000819; }
    .button--normal::after {
      content: "";
      position: absolute;
      background-image: url("./src/img/right-line.png");
      width: 100%;
      height: 1rem;
      -webkit-background-size: contain;
              background-size: contain;
      background-repeat: no-repeat;
      right: -15rem; }
      @media (max-width: 428px) {
        .button--normal::after {
          right: -1rem;
          top: 2.2rem;
          width: 13rem;
          height: 1.5rem; } }
      @media (max-width: 320px) {
        .button--normal::after {
          right: -1rem;
          width: 11rem;
          height: 0.5rem; } }
  .button--large {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    border-color: #000;
    width: 57rem;
    padding: 5rem; }
    @media (max-width: 767px) {
      .button--large {
        width: 100%;
        padding: 2rem 5rem;
        margin: auto; }
        .button--large::after {
          display: none; } }
  .button__text {
    font-weight: 700;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    .button__text--large {
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
      font-size: 2.4rem;
      margin-right: 4rem; }
    .button__text--small {
      font-size: 1.2rem; }
      @media (max-width: 767px) {
        .button__text--small {
          display: none; } }

.header {
  height: 100vh;
  -webkit-box-shadow: 0 0 0 100rem inset;
          box-shadow: 0 0 0 100rem inset;
  color: rgba(100, 185, 183, 0); }
  @media (max-width: 767px) {
    .header {
      height: 100vh;
      color: rgba(100, 185, 183, 0.3); } }
  @media (max-width: 320px) {
    .header {
      color: rgba(100, 185, 183, 0.3); } }
  .header__bars {
    visibility: hidden;
    font-size: 2rem;
    color: #fff;
    padding-right: 1.5rem; }
    @media (max-width: 767px) {
      .header__bars {
        visibility: visible;
        z-index: 999; } }
  .header__overlay {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh; }
    @media (max-width: 767px) {
      .header__overlay {
        height: 100vh; } }
  .header__title {
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    color: #fff;
    margin-top: 5rem;
    letter-spacing: 0.2rem; }
    @media (max-width: 767px) {
      .header__title {
        font-weight: 400;
        margin-top: 1rem; } }
    @media (max-width: 428px) {
      .header__title {
        font-size: 2rem; } }
    @media (max-width: 320px) {
      .header__title {
        font-size: 1.8rem; } }
  .header__subtitle {
    color: #fff;
    margin-top: 1rem;
    letter-spacing: 0.1rem; }
    @media (max-width: 428px) {
      .header__subtitle {
        font-size: 1.2rem; } }
    @media (max-width: 320px) {
      .header__subtitle {
        font-size: 1rem;
        font-weight: 400;
        margin-top: 0.5rem; } }
  .header__scroll-text {
    color: #fff;
    font-size: 1.2rem;
    position: relative;
    top: 7rem;
    cursor: pointer; }
    @media (max-width: 320px) {
      .header__scroll-text {
        font-size: 1rem; } }
    .header__scroll-text::after {
      content: "";
      position: absolute;
      left: 1.5rem;
      top: 2rem;
      background-image: url("./src/img/line-down.png");
      background-repeat: no-repeat;
      -webkit-background-size: cover;
              background-size: cover;
      background-position: center bottom;
      width: 0.5rem;
      height: 44vh;
      z-index: 997; }
      @media (max-width: 428px) {
        .header__scroll-text::after {
          height: 19rem; } }
      @media (max-width: 375px) {
        .header__scroll-text::after {
          height: 15rem; } }
      @media (max-width: 320px) {
        .header__scroll-text::after {
          height: 11rem;
          left: 1.2rem; } }
      @media (height: 812px) {
        .header__scroll-text::after {
          height: 23rem; } }
  .header__down-line {
    position: absolute;
    top: 0;
    left: 0; }
  .header__container {
    z-index: 999;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    position: fixed;
    top: 0;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background: rgba(0, 0, 0, 0);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease; }
    @media (max-width: 767px) {
      .header__container {
        position: fixed;
        background: transparent;
        padding: 1rem 0; } }
    .header__container--active,
    .header__container--bg {
      background: rgba(0, 0, 0, 0.3); }
  .header__logo {
    width: 7rem;
    padding-left: 2.5rem; }
    @media (max-width: 767px) {
      .header__logo {
        width: 8rem;
        padding-left: 1.5rem;
        z-index: 999; } }
  .header__main-logo {
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    width: 25rem; }
    @media (max-width: 428px) {
      .header__main-logo {
        width: 18rem; } }
    @media (max-width: 320px) {
      .header__main-logo {
        width: 15rem; } }
  .header__navigation {
    z-index: 999; }
    @media (max-width: 767px) {
      .header__navigation {
        display: none; } }
  .header__sub-navigation {
    position: absolute;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    visibility: hidden;
    left: 0;
    top: 8.6rem;
    width: 100%;
    height: 10.5rem;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
    text-shadow: none; }
    .header__sub-navigation--about {
      opacity: 0;
      height: 20rem; }
  .header__navigation-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .header__sub-navigation-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 120rem;
    margin: 0 auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .header__sub-navigation-container--vision {
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .header__sub-navigation-about-container {
    width: 30%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .header__sub-navigation-about-label {
    color: #fff;
    font-size: 3rem; }
  .header__sub-navigation-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    width: 70%;
    height: 100%;
    z-index: 999;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-left: 21.7rem; }
  .header__navigation-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 2.5rem;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      .header__navigation-item {
        font-weight: 600;
      }
   }   
    .header__navigation-item:hover {
      text-shadow: 1px 2px 5px #000; }
    .header__navigation-item::after {
      content: "";
      position: absolute;
      top: -3rem;
      width: 6rem;
      height: 5rem;
      opacity: 0;
      -webkit-transition: 0.5s ease;
      -o-transition: 0.5s ease;
      transition: 0.5s ease;
      background: -webkit-radial-gradient(center, ellipse, white 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
      background: -o-radial-gradient(center, ellipse, white 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
      background: radial-gradient(ellipse at center, white 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%); }
    .header__navigation-item:hover::after {
      opacity: 1; }
    .header__navigation-item--vision:hover .header__sub-navigation, .header__navigation-item--about:hover .header__sub-navigation {
      opacity: 1;
      visibility: visible;
      -webkit-transition: 0.5s ease;
      -o-transition: 0.5s ease;
      transition: 0.5s ease; }
  .header__navigation-item-language {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 1rem;
    padding: 1.3rem 1rem;
    background: #000;
    -webkit-border-radius: 3px;
            border-radius: 3px;
    cursor: pointer; }
  .header__lang-icon {
    padding-right: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    -o-object-fit: cover;
       object-fit: cover; }
  .header__lang-text {
    padding-right: 0.5rem;
    color: #fff; }
  .header__language-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    background-color: #000;
    -webkit-border-bottom-left-radius: 5px;
            border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
            border-bottom-right-radius: 5px;
    padding: 2.3rem;
    top: 6rem;
    opacity: 0;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
    .header__language-list--visible {
      opacity: 1; }
    .header__language-list.en {
      padding: 2.3rem 3rem;
    }
  .header__down {
    width: 1rem;
    -o-object-fit: cover;
       object-fit: cover; }
  .header__sub-navigation-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: 2rem; }
  .header__sub-navigation-item-image {
    width: 20rem;
    height: 5rem;
    -o-object-position: center -2.5rem;
       object-position: center -2.5rem;
    -o-object-fit: cover;
       object-fit: cover; }
    .header__sub-navigation-item-image--pic3 {
      -o-object-position: center -3.5rem;
         object-position: center -3.5rem; }
    .header__sub-navigation-item-image--pic5 {
      -o-object-fit: contain;
        object-fit: contain;
      -o-object-position: center;
         object-position: center; }
    .header__sub-navigation-item-image--vision {
      -o-object-position: center -7rem;
         object-position: center -7rem; }
    .header__sub-navigation-item-image--top-message {
      -o-object-position: center -5rem;
         object-position: center -5rem; }
  .header__sub-navigation-item-label {
    position: relative;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    margin-top: 0.2rem;
    letter-spacing: 0.2rem;
    padding-left: 1.4rem; }
    .header__sub-navigation-item-label::before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0.2rem;
      width: 0.5rem;
      height: 1.1rem;
      background-image: url("./src/img/nav-arrow.png");
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      background-repeat: no-repeat; }
  .header__sub-navigation-button {
    background: rgba(0, 0, 0, 0.3);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 15rem;
    height: 4rem;
    color: #fff;
    padding-left: 2rem; }
  .header__main-image-container {
    position: relative;
    width: 100%;
    height: 116vh; }
  .header__main-image-container::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(100, 185, 183, 0.2);
  }
  .header__main-image {
    position: fixed;
    display: block;
    /* background-image: url("./src/img/banner-image.png");
    -webkit-background-size: cover;
            background-size: cover; */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center bottom;
    z-index: -2; }
  @media screen and (max-width: 767px) {
    .section--top {
    overflow: hidden;
  }}
  .carousel {
    height: 116vh; }
  @media screen and (max-width: 767px) {
    .carousel {
      height: 100%; } }
  .carousel::after {
    content: 'flickity';
    display: none; }
  .carousel__slide {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    left: 0 !important;
    opacity: 0;
    -webkit-transition: opacity 2s;
    -o-transition: opacity 2s;
    transition: opacity 2s;
    z-index: -1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (max-width: 767px) {
      .carousel__slide {
        width: 100%;
        height: 100%; } }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .carousel__slide {
        width: auto; } }
  .carousel__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
    .carousel__image--sp {
      display: none; }
      @media screen and (max-width: 900px) {
        .carousel__image--sp {
          display: block;
          width: 100%;
          height: auto; } }
  .flickity-button {
  background: transparent;
  display: none; }
  @media screen and (max-width: 767px) {
    .flickity-button {
      display: none; } }
  .flickity-button:hover {
    background: transparent; }

.flickity-slider {
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
      overflow: hidden !important; }

.flickity-prev-next-button {
  width: 90px;
  height: 108px; }

.flickity-button-icon {
  fill: #2357a7; }

.flickity-page-dots {
  bottom: 1rem;
  display: none; }
  @media screen and (max-width: 767px) {
    .flickity-page-dots {
      bottom: -2rem; } }
.flickity-viewport {
  height: 100% !important;
}
@media screen and (max-width: 767px) {
  .flickity-viewport {
    height: 100% !important; } }

.flickity-page-dots .dot {
  width: 1rem;
  height: 1rem;
  opacity: 1;
  background: #fff; }

.flickity-page-dots .dot.is-selected {
  background: #2357a7; }

.carousel__slide.is-selected {
  opacity: 1;
  z-index: -1; }

.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0; }

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1; }

  .header__main-image-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.sp-navigation {
  display: none; }
  @media (max-width: 767px) {
    .sp-navigation {
      display: block;
      visibility: hidden;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.9);
      position: fixed;
      top: 0;
      z-index: 998;
      opacity: 0;
      -webkit-transition: 0.5s ease;
      -o-transition: 0.5s ease;
      transition: 0.5s ease;
      overflow: auto; }
      .sp-navigation--visible {
        visibility: visible;
        opacity: 1; } }
  .sp-navigation__list {
    list-style-type: none;
    position: relative;
    color: #fff;
    top: 8rem;
    left: 0;
    padding: 0;
    margin: 0; }
  .sp-navigation__list-item {
    position: relative;
    padding: 1.5rem;
    font-size: 1.8rem;
    font-weight: 700; }
    .sp-navigation__list-item::after {
      position: absolute;
      font-weight: 400;
      content: "+";
      right: 1rem;
      top: 1.3rem; }
    .sp-navigation__list-item::before {
      position: absolute;
      content: "";
      width: 20rem;
      height: 1rem;
      border-top: 1px solid #fff;
      top: 2.5rem;
      right: 5rem;
      overflow: hidden; }
    .sp-navigation__list-item--about::before, .sp-navigation__list-item--vision::before {
      width: 23rem; }
      @media (max-width: 428px) {
        .sp-navigation__list-item--about::before, .sp-navigation__list-item--vision::before {
          width: 27rem; } }
      @media (max-width: 375px) {
        .sp-navigation__list-item--about::before, .sp-navigation__list-item--vision::before {
          width: 24rem; } }
      @media (max-width: 360px) {
        .sp-navigation__list-item--about::before, .sp-navigation__list-item--vision::before {
          width: 23rem; } }
      @media (max-width: 320px) {
        .sp-navigation__list-item--about::before, .sp-navigation__list-item--vision::before {
          width: 19rem; } }
    .sp-navigation__list-item--about::after, .sp-navigation__list-item--vision::after {
      content: "+"; }
    .sp-navigation__list-item--location::after, .sp-navigation__list-item--event::after, .sp-navigation__list-item--contact::after {
      content: ""; }
    .sp-navigation__list-item--location::before {
      right: 2rem;
      width: 23rem; }
      @media (max-width: 428px) {
        .sp-navigation__list-item--location::before {
          width: 28rem; } }
      @media (max-width: 375px) {
        .sp-navigation__list-item--location::before {
          width: 25rem; } }
      @media (max-width: 360px) {
        .sp-navigation__list-item--location::before {
          width: 24rem; } }
      @media (max-width: 320px) {
        .sp-navigation__list-item--location::before {
          width: 19rem; } }
    .sp-navigation__list-item--event::before {
      right: 2rem;
      width: 25rem; }
      @media (max-width: 428px) {
        .sp-navigation__list-item--event::before {
          width: 30rem; } }
      @media (max-width: 375px) {
        .sp-navigation__list-item--event::before {
          width: 27rem; } }
      @media (max-width: 360px) {
        .sp-navigation__list-item--event::before {
          width: 26rem; } }
      @media (max-width: 320px) {
        .sp-navigation__list-item--event::before {
          width: 22rem; } }
    .sp-navigation__list-item--contact::before {
      right: 2rem;
      width: 23rem; }
      @media (max-width: 428px) {
        .sp-navigation__list-item--contact::before {
          width: 29rem; } }
      @media (max-width: 375px) {
        .sp-navigation__list-item--contact::before {
          width: 25rem; } }
      @media (max-width: 360px) {
        .sp-navigation__list-item--contact::before {
          width: 24rem; } }
      @media (max-width: 320px) {
        .sp-navigation__list-item--contact::before {
          width: 20rem; } }
  .sp-navigation__language-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto;
    border: none;
    width: 80%;
    height: 12rem;
    font-size: 1.8rem;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.2);
    margin-bottom: 2rem; }
  .sp-navigation__language-selection {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    display: flex;
    margin-top: 1rem;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 400; }
  .sp-navigation__language-selection li a {
  }
  .sp-navigation__language-selection li a::after {
    content: '/';
    display: inline-block;
    margin: 0 10px;
  }

  .sp-navigation__language-selection li:last-child a::after {
    display: none;
  }

.sp-sub-navigation__list {
  list-style-type: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.sp-sub-navigation__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1rem 1rem 1rem 0; }

.sp-sub-navigation__button-cover {
  background: #000;
  width: 100%;
  height: 6rem;
  font-size: 1.4rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.sp-sub-navigation__image {
  width: 100%;
  height: 6rem;
  -o-object-fit: cover;
     object-fit: cover; }
.sp-sub-navigation__image--pic5 {
  -o-object-fit: contain;
      object-fit: contain; }

.sp-sub-navigation__description {
  position: relative;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  padding-left: 1.4rem; }
  .sp-sub-navigation__description--english {
    font-family: "Montserrat"; }
  .sp-sub-navigation__description::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0.4rem;
    width: 0.6rem;
    height: 1.2rem;
    background-image: url("./src/img/nav-arrow.png");
    -webkit-background-size: 100% 100%;
            background-size: 100%;
    background-repeat: no-repeat; }

.about {
  width: 100%;
  height: 100vh;
  margin-top: 0;
  position: relative; }
  @media (max-width: 767px) {
    .about {
      width: 100%;
      height: auto;
      margin-top: 0;
      left: 0; } }
  .about::before {
    display: block;
    position: absolute;
    bottom: 0;
    background: #fff;
    content: "";
    width: 100%;
    height: 84vh; }
    @media (max-width: 767px) {
      .about::before {
        height: 100%; } }
  .about__container {
    z-index: 1;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 0 auto;
    width: 94%;
    height: 100vh;
    background: rgba(0, 8, 25, 0.85); }
    @media (max-width: 767px) {
      .about__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 0;
        width: 100%;
        height: auto; } }
  .about__info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 60%;
    padding: 7.5rem 5rem 5rem 7rem;
    color: #fff; }
    @media (max-width: 767px) {
      .about__info {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 10rem 1rem 1rem;
        width: 100%;
        height: auto; } }
    @media (max-width: 428px) {
      .about__info {
        padding: 10rem 2rem 1rem; } }
  .about__head {
    -webkit-animation-duration: 1s;
            animation-duration: 1s; }
  .about__description {
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    margin-top: 0; }
    @media (max-width: 320px) {
      .about__description {
        height: auto; } }
  .about__title {
    font-size: 6rem;
    font-weight: 700;
    color: #000819; }
    @media (max-width: 320px) {
      .about__title {
        font-size: 4rem; } }
    @media (max-width: 428px) {
      .about__title {
        font-size: 5rem; } }
  .about__subtitle {
    margin-top: -3rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.4rem;
    letter-spacing: 0.2rem; }
    @media (max-width: 320px) {
      .about__subtitle {
        font-size: 1.8rem;
        margin-top: -2.5rem; } }
    @media (max-width: 428px) {
      .about__subtitle {
        font-size: 2.2rem; } }
  .about__text-container {
    width: 55%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (max-width: 767px) {
      .about__text-container {
        width: 100%;
        height: auto; } }
  .about__text {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
    letter-spacing: 0.1rem; }
    @media (max-width: 767px) {
      .about__text--web {
        display: none; } }
    .about__text--web:nth-last-child(4) {
      margin-bottom: 4rem; }
    .about__text--sp {
      display: none; }
      @media (max-width: 767px) {
        .about__text--sp {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column;
          font-size: 1rem;
          line-height: 2rem; } }
      @media (max-width: 428px) {
        .about__text--sp {
          font-size: 1.2rem; } }
      @media (max-width: 320px) {
        .about__text--sp {
          font-size: 1rem; } }
    .about__text--large {
      font-size: 2rem;
      line-height: 4rem;
      margin-bottom: 5rem; }
      @media (max-width: 767px) {
        .about__text--large {
          display: none; } }
      .about__text--large.en {
        font-size: 1.8rem;
        margin-bottom: 3rem;
      }
  .about__text-sp {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.1rem;
    line-height: 2.5rem; }
    @media (max-width: 767px) {
      .about__text-sp {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        margin: 2rem 0 30rem; } }
    @media (max-width: 428px) {
      .about__text-sp {
        font-size: 1.8rem;
        line-height: 3rem; } }
  .about__image-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 45%; }
    @media (max-width: 767px) {
      .about__image-container {
        position: absolute;
        top: 9rem;
        left: 10rem; } }
    @media (max-width: 320px) {
      .about__image-container {
        top: 20rem;
        left: 9rem; } }
  .about__cycle-image {
    width: 27rem;
    margin-top: 10rem;
    -o-object-fit: contain;
       object-fit: contain; }
    @media (max-width: 767px) {
      .about__cycle-image {
        margin-left: 2rem;
        margin-top: 30vh; } }
    @media (max-width: 320px) {
      .about__cycle-image {
        width: 24rem;
        margin-top: 18vh;
        margin-left: 0; } }
        @media (max-width: 767px) {
          .about__cycle-image.en {
            margin-left: 2rem;
            margin-top: 30vh; } }
        @media (max-width: 425px) {
          .about__cycle-image.en {
            width: 24rem;
            margin-top: 42vh;
            margin-left: 0; } }
        @media (max-width: 320px) {
          .about__cycle-image.en {
            width: 24rem;
            margin-top: 30vh;
            margin-left: 0; } }
  .about__gallery {
    background: #333;
    width: 40%;
    height: 100%; }
    @media (max-width: 767px) {
      .about__gallery {
        width: 100vw;
        height: 50rem; } }
  .about__gallery-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    list-style-type: none;
    width: 100%;
    height: 100%; }
  .about__gallery-container {
    width: 50%;
    overflow: hidden; }
  .about__gallery-item {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
    .about__gallery-item:hover {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); }
      .about__gallery-item:hover::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.2); }
    @media (max-width: 320px) {
      .about__gallery-item {
        font-size: 1.6rem;
        font-weight: 500; } }
    .about__gallery-item--one {
      background: url("./src/img/pic1.png");
      -webkit-background-size: cover;
              background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    .about__gallery-item--two {
      background: url("./src/img/pic2.png");
      -webkit-background-size: cover;
              background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    .about__gallery-item--three {
      background: url("./src/img/pic3.png");
      -webkit-background-size: cover;
              background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    .about__gallery-item--four {
      background: url("./src/img/pic4.png");
      -webkit-background-size: cover;
              background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    .about__gallery-item--five {
      background: url("./src/img/restaurant.jpg");
      -webkit-background-size: cover;
              background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }
    .about__gallery-item--six {
      background: url("./src/img/pic6.png");
      -webkit-background-size: cover;
              background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-transition: 0.5s;
      -o-transition: 0.5s;
      transition: 0.5s; }

.vision {
  width: 100%;
  padding-top: 5rem;
  background: #fff; }
  @media (max-width: 320px) {
    .vision {
      margin-top: 0;
      padding: 1rem; } }
  .vision__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative; }
  .vision__image-container {
    width: 67rem;
    height: 25rem;
    -webkit-box-shadow: 0.5rem 1rem 2rem rgba(187, 255, 122, 0.5), 0.5rem 0.5rem 2rem rgba(152, 152, 152, 0.4);
            box-shadow: 0.5rem 1rem 2rem rgba(187, 255, 122, 0.5), 0.5rem 0.5rem 2rem rgba(152, 152, 152, 0.4); }
    @media (max-width: 767px) {
      .vision__image-container {
        width: 100%;
        height: 15rem;
        -o-object-position: center;
           object-position: center; } }
  .vision__image {
    width: 100%;
    height: 100%;
    -o-object-position: center -15rem;
       object-position: center -15rem;
    -o-object-fit: cover;
       object-fit: cover; }
    @media (max-width: 767px) {
      .vision__image {
        -o-object-position: center;
           object-position: center; } }
  .vision__button {
    position: absolute;
    margin: 1rem;
    top: 7rem;
    left: 35rem; }
    @media (max-width: 767px) {
      .vision__button {
        position: relative;
        margin: 0;
        top: -5rem;
        left: 0; } }
    .vision__button::after {
      content: "";
      position: absolute;
      background-image: url("./src/img/right-line-black.png");
      background-repeat: no-repeat;
      -webkit-background-size: contain;
              background-size: contain;
      width: 20rem;
      height: 0.5rem;
      left: 63rem; }
  .vision__button-div-sp {
    margin: 1rem;
    height: 2rem; }
    @media (max-width: 428px) {
      .vision__button-div-sp {
        margin: 2rem; } }

.event {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding-top: 5rem;
  background: #f9f9f9; }
  .event__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 120rem; }
    @media (max-width: 767px) {
      .event__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 100%; } }
  .event__image-container {
    position: relative;
    width: 18rem; }
    @media (max-width: 767px) {
      .event__image-container {
        width: 100%; } }
  .event__title-vertical {
    width: 14rem;
    height: 61rem;
    -o-object-fit: contain;
       object-fit: contain; }
    @media (max-width: 767px) {
      .event__title-vertical {
        display: none; } }
  .event__title-horizontal {
    display: none; }
    @media (max-width: 767px) {
      .event__title-horizontal {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 85%; } }
  .event__title {
    position: absolute;
    left: 6rem;
    top: 5rem;
    width: 1rem;
    font-size: 3rem;
    font-weight: 700;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    z-index: 999; }
    @media (max-width: 767px) {
      .event__title {
        width: auto;
        left: 4rem;
        top: 2rem;
        font-size: 2rem; } }
    .event__title.en {
      writing-mode: vertical-lr;
      text-orientation: upright;
      font-size: 3rem;
      letter-spacing: 1px;
    }
    @media screen and (max-width: 767px) {
      .event__title.en {
        writing-mode: horizontal-tb;
        text-orientation: unset;
        font-size: 3rem;
        letter-spacing: 1px;
      }
    }
  .event__more-text {
    position: absolute;
    left: 6rem;
    top: 38rem;
    font-size: 1.2rem;
    font-weight: 700;
    z-index: 1; }
    @media (max-width: 767px) {
      .event__more-text {
        top: 3rem; } }
    @media (max-width: 428px) {
      .event__more-text {
        left: 32rem; } }
    @media (max-width: 320px) {
      .event__more-text {
        left: 26rem; } }
    .event__more-text::after {
      content: "";
      position: absolute;
      border-top: 1px solid #000;
      right: 5rem;
      top: 0.8rem;
      width: 100rem; }
      @media (max-width: 767px) {
        .event__more-text::after {
          display: none; } }
  .event__main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 67rem;
    height: inherit;
    padding-top: 6rem; }
    @media (max-width: 767px) {
      .event__main {
        width: 100%;
        padding: 2rem; } }
    @media (max-width: 428px) {
      .event__main {
        padding: 2rem;
        margin: 0; } }
  .event__sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 35rem;
    padding-top: 6rem; }
    @media (max-width: 767px) {
      .event__sub {
        width: 100%;
        padding: 2rem;
        margin-top: 2rem; } }
    @media (max-width: 428px) {
      .event__sub {
        padding: 2rem;
        margin: 0; } }
  .event__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media (max-width: 767px) {
      .event__row {
        width: 100%; } }
  .event__flag {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    width: 7.5rem;
    height: 5rem;
    background: #5d9daf;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff; }
    .event__flag::before {
      position: absolute;
      content: "";
      height: 0;
      border-right: 1.5rem solid transparent;
      border-top: 1.5rem solid #5d9daf;
      left: 0;
      top: 5rem; }
  .event__date {
    color: #909090;
    font-size: 1.6rem;
    font-weight: 700;
    margin-left: 2rem; }
    .event__date--small {
      margin: 0;
      font-weight: 500; }
      @media (max-width: 767px) {
        .event__date--small {
          font-size: 1.2rem; } }
  .event__image {
    position: absolute;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
    z-index: 1; }
  .event__main-container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 3rem;
    width: 100%;
    height: 41rem;
    overflow: hidden; }
    @media (max-width: 767px) {
      .event__main-container {
        width: 100%;
        height: 35rem; } }
    .event__main-container:hover .event__image {
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1); }
  .event__sub-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 31.4rem; }
    @media (max-width: 767px) {
      .event__sub-list {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-flow: row wrap;
            -ms-flex-flow: row wrap;
                flex-flow: row wrap;
        width: 100%; } }
  .event__sub-container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 2rem;
    width: 31rem;
    height: 19rem;
    overflow: hidden; }
    @media (max-width: 767px) {
      .event__sub-container {
        margin-top: 0.5rem;
        width: 100%;
        height: 21rem; } }
    .event__sub-container:hover .event__image {
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1); }
  .event__category {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 12rem;
    height: 6rem;
    background: #277bae;
    font-size: 2.4rem;
    font-weight: 500;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff;
    z-index: 1; }
    .event__category.en {
      width: 17rem;
      font-size: 2rem;
    }
    .event__category--small {
      width: 8rem;
      height: 4rem;
      background: #8d664f;
      font-size: 1.4rem;
      letter-spacing: 0.2rem;
      z-index: 1; }
    @media (max-width: 767px) {
      .event__category {
        display: none; } }
    .event__category--small.en {
      width: 11rem;
      font-size: 1.4rem;
    }
  .event__description {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    height: 6rem;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.5);
    bottom: 0;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.4rem;
    color: #fff;
    padding-left: 1rem;
    padding-right: 3rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    z-index: 1; }
    @media (max-width: 767px) {
      .event__description {
        width: 100%;
        background-color: #7c8089;
        -o-text-overflow: ellipsis;
           text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        padding-right: 0; } }
    .event__description--small {
      height: 9.5rem;
      z-index: 1; }
      @media (max-width: 767px) {
        .event__description--small {
          padding-top: 1.5rem;
          padding-bottom: 1.5rem;
          height: 5rem;
          -o-text-overflow: ellipsis;
             text-overflow: ellipsis;
          overflow: hidden;
          white-space: nowrap;
          display: block; } }
  .event__description-ellipsis {
    width: 100%;
    -o-text-overflow: ellipsis;
       text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    display: block;
    padding: 0; }
  @media (max-width: 767px) {
    .event__sub-list-item {
      width: 48%; } }
  .event__sub-list-item:not(:last-child) {
    margin-bottom: 3.3rem; }
  .event__excerpt {
    font-size: 1.5rem;
    margin-top: 2.7rem;
    line-height: 2em;
    height: 5.4rem;
    overflow: hidden; }
    .event__excerpt--small {
      margin-top: 1.5rem; }

.location {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding-top: 5rem;
  background: #f9f9f9;
  width: 100%; }
  @media (max-width: 767px) {
    .location {
      padding-top: 1rem; } }
  .location::before {
    display: block;
    position: absolute;
    content: "";
    height: 50%;
    width: 100%;
    background: #f9f9f9;
    top: 0;
    z-index: 0; }
  .location::after {
    display: block;
    position: absolute;
    content: "";
    height: 50%;
    width: 100%;
    background-color: #eee;
    bottom: 0;
    left: 0;
    z-index: 0; }
    @media (max-width: 767px) {
      .location::after {
        background-color: #fff; } }
  .location__container {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 120rem; }
    @media (max-width: 767px) {
      .location__container {
        width: 100%; } }
  .location__head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    height: 16rem;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (max-width: 767px) {
      .location__head {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .location__title-image {
    position: absolute;
    right: 0;
    width: 91.5rem;
    height: 16rem;
    -o-object-fit: contain;
       object-fit: contain; }
    @media (max-width: 767px) {
      .location__title-image {
        width: 100%; } }
  .location__title {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.5rem;
    z-index: 9;
    color: #303030; }
  .location__logo {
    width: 17rem;
    z-index: 9;
    -o-object-fit: contain;
       object-fit: contain; }
    @media (max-width: 320px) {
      .location__logo {
        width: 13rem; } }
  .location__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 3rem;
    z-index: 1; }
    @media (max-width: 767px) {
      .location__list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 1rem; } }
  .location__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 58rem;
    cursor: pointer;
    transition: all 0.5s;
    height: 43rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    @media (max-width: 767px) {
      .location__item {
        width: 100%;
        height: auto;
        padding: 2.5rem; } }
    .location__item:hover {
      opacity: 0.8;
    }
  .location__image {
    width: 100%;
    height: 27rem;
    transition: all 0.5s;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-box-shadow: 0.5rem 0.5rem 2rem #989898;
            box-shadow: 0.5rem 0.5rem 2rem #989898; }
    @media (max-width: 320px) {
      .location__image {
        height: 14rem; } }
    @media (max-width: 767px) {
      .location__image {
        height: 17rem; } }
  .location__image-container {
    overflow: hidden;
  }
  .location__item:hover .location__image {
      transform: scale(1.1,1.1);
    }
  .location__description-container {
    margin-top: 3rem; }
  .location__item-title {
    color: #303030; }
    .location__item-title::before {
      content: "\7C\a0";
      margin-right: 0.5rem;
      color: #5d9daf;
      background-color: #5d9daf; }
  .location__item-subtitle {
    margin-top: 2rem;
    font-size: 1.4rem;
    color: #303030; }
    @media (max-width: 428px) {
      .location__item-subtitle {
        font-size: 1.6rem; } }
  .location__item-description {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0.5rem;
    font-size: 1.4rem;
    letter-spacing: 0.5rem;
    color: #303030; }
    @media (max-width: 767px) {
      .location__item-description {
        display: none; } }
    .location__item-description--sp {
      display: none; }
      @media (max-width: 767px) {
        .location__item-description--sp {
          font-size: 1rem;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; } }
      @media (max-width: 428px) {
        .location__item-description--sp {
          font-size: 1.6rem; } }
  .location__more-text {
    z-index: 1;
    margin: 6rem auto 1rem;
    font-size: 1.4rem;
    text-align: center;
    font-weight: 700; }
  .location__line {
    z-index: 1;
    border-left: 2px solid #000;
    width: 1px;
    height: 5rem;
    position: relative;
    margin: 0 auto; }

.footer {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .footer__return {
    width: 100%;
    background: #000; }
  @media (max-width: 767px) {
    .footer__wrapper.en {
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    justify-content: center;
    -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  } }
  .footer__return-container {
    width: 120rem;
    height: 6rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 767px) {
      .footer__return-container {
        width: 100%;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .footer__return-arrow {
    -o-object-fit: contain;
       object-fit: contain;
    margin-right: 1rem; }
  .footer__return-text {
    color: #fff;
    font-weight: 700; }
  .footer__main {
    width: 100%;
    height: 35rem;
    background: #000819;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (max-width: 767px) {
      .footer__main {
        display: none; } }
  .footer__main-container {
    width: 120rem;
    margin: 3rem auto 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .footer__logo {
    width: 15rem;
    -o-object-fit: contain;
       object-fit: contain; }
    @media (max-width: 767px) {
      .footer__logo {
        width: 10rem;
        padding: 1rem;
        margin: 0 auto; } }
  .footer__navigation {
    color: #fff;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    text-align: left; }
  .footer__td {
    width: 10.5rem;
    padding: 0.5rem;
    font-size: 1.2rem; }
    .footer__td--head {
      font-weight: 700; }
  .footer__copyright-container {
    background-color: #000819;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 767px) {
      .footer__copyright-container {
        width: 100vw;
        padding-top: 5rem; } }
  .footer__copyright-text {
    color: #fff;
    font-size: 1.2rem;
    padding: 0.5rem 0 2rem; }
    @media (max-width: 767px) {
      .footer__copyright-text {
        margin-top: 3rem; } }
    .footer__copyright-text--japanese {
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
      padding: 0.5rem 0; }
    .footer__copyright-text--japanese2 {
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
      padding: 0.5rem 0;
      margin-left: 40px; }
    @media (max-width: 767px) {
      .footer__copyright-text--japanese2.en {
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
      padding: 0.5rem 0;
      margin-left: 0;
      margin-top: 0;
      text-align: center; } }
    @media (max-width: 767px) {
      .footer__copyright-text--japanese2.en span {
        display: block;
    } }
  .footer__sp {
    display: none;
    background-color: #000819;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (max-width: 767px) {
      .footer__sp {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
  .footer__sp-sub-navigation {
    background-color: #000819; }
  .footer__sp-item {
    color: #fff;
    padding: 2rem 0;
    font-size: 1.8rem;
    background-color: #000819;
    border-bottom: 1px solid #4a505c; }
    .footer__sp-item--main {
      border-top: 3px solid #4a505c;
      position: relative; }
    .footer__sp-item--mark::after {
      content: "";
      border-top: 1px solid #4a505c;
      width: 2rem;
      position: absolute;
      top: 3rem;
      right: 3rem;
      font-weight: 400; }
    .footer__sp-item--mark-active::before {
      content: "";
      border-left: 1px solid #4a505c;
      height: 2rem;
      position: absolute;
      top: 2rem;
      right: 4rem;
      font-weight: 400; }
  .footer__sp-text {
    padding: 0 2rem; }
  .footer__sub-menu {
    padding: 0;
    margin: 0; }
  .footer__sp-sub-item {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    .footer__sp-sub-item:not(:last-child) {
      border-bottom: 1px solid #4a505c; }
    .footer__sp-sub-item:last-child {
      padding-bottom: 0; }
    .footer__sp-sub-item a {
      padding: 2rem 4rem;
      display: block;
    }

.page-header {
  position: relative;
  padding-top: 8.6rem;
  width: 100%;
  height: 35rem; }
  @media screen and (max-width: 767px) {
    .page-header {
      padding-top: 6rem; } }
  .page-header--event {
    height: 13rem;
  }
  .page-header--service-order-more {
    height: 17.5rem; }
  .page-header__image-container {
    position: absolute;
    width: 100%;
    top: 0;
    height: 100%;
    overflow: hidden;
    z-index: -1; }
  .page-header__image {
    position: absolute;
    top: 0;
    right: 50%;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
    height: 100%; }
  .page-header__breadcrumbs {
    max-width: 120rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    margin-top: 1.5rem; }
    @media screen and (max-width: 900px) {
      .page-header__breadcrumbs {
        padding: 0 1.5rem;
        margin-top: 1rem; } }
    .page-header__breadcrumbs--black {
      color: #000;
    }
  .page-header__breadcrumb {
    position: relative;
    padding-right: 4.7rem; }
    .page-header__breadcrumb:not(:last-child)::after {
      content: '';
      position: absolute;
      right: 2.1rem;
      bottom: 50%;
      -webkit-transform: translateY(50%);
          -ms-transform: translateY(50%);
              transform: translateY(50%);
      width: 0.4rem;
      height: 1rem;
      font-size: 1.4rem;
      background-image: url("./src/img/breadcrumb-arrow.png");
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      background-repeat: no-repeat; }
      .page-header__breadcrumbs--black .page-header__breadcrumb:not(:last-child)::after {
        content: '';
        position: absolute;
        background-image: url("./src/img/breadcrumb-arrow.png");
        -webkit-background-size: 100% 100%;
                background-size: 100%;
        background-repeat: no-repeat;
        filter: brightness(0);
        -webkit-filter: brightness(0%);
        -moz-filter: brightness(0%);
      }
  .page-header__title-container {
    position: absolute;
    text-align: center;
    bottom: -5.4rem;
    width: 100%;
    color: #01081a; }
  .page-header__title-en {
    font-size: 3.6rem;
    letter-spacing: 0.1em;
    font-weight: 700; }
  .page-header__title-ja {
    font-size: 1.8rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    margin-top: 0.5rem; }

.page-header-curved {
  position: relative;
  padding-top: 8.6rem;
  width: 100%;
  height: 93vh; }
  @media (min-width: 1921px) {
    .page-header-curved {
      height: 70rem; } }
  .page-header-curved__img-wrapper {
    position: absolute;
    width: 100%;
    top: 0;
    height: 100%;
    overflow: hidden;
    z-index: -1; }
  .page-header-curved__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: bottom;
       object-position: bottom; }
  .page-header-curved__breadcrumbs {
    max-width: 120rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
    margin-top: 1.5rem; }
    @media screen and (max-width: 767px) {
      .page-header-curved__breadcrumbs {
        padding: 0 2rem;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; } }
  .page-header-curved__breadcrumb {
    position: relative;
    padding-right: 4.7rem; }
    .page-header-curved__breadcrumb:not(:last-child)::after {
      content: '';
      position: absolute;
      right: 2.1rem;
      bottom: 50%;
      -webkit-transform: translateY(50%);
          -ms-transform: translateY(50%);
              transform: translateY(50%);
      width: 0.4rem;
      height: 1rem;
      font-size: 1.4rem;
      background-image: url("./src/img/breadcrumb-arrow.png");
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      background-repeat: no-repeat; }
  .page-header-curved__title-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    background: transparent;
    top: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .page-header-curved__title-box {
    width: 25rem;
    height: 25rem;
    border: 0.2rem solid #fff;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 4rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    @media (max-width: 767px) {
      .page-header-curved__title-box {
        width: 20rem;
        height: 20rem;
        margin: 0;
        padding-top: 2rem; } }
    @media (min-width: 1921px) {
      .page-header-curved__title-box {
        margin-bottom: 15rem; } }
    .page-header-curved__title-box-blur {
      position: absolute;
      width: 100%;
      height: 100%;
      -webkit-background-size: 540% 540%;
              background-size: 540%;
      background-position: center;
      background-repeat: no-repeat;
      -webkit-filter: blur(4px);
              filter: blur(4px);
      top: 0;
      z-index: -1; }
      @media (min-width: 1921px) {
        .page-header-curved__title-box-blur {
          -webkit-background-size: 100vw, 70rem, cover;
                  background-size: 100vw, 70rem, cover; } }
    .page-header-curved__title-box::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background: rgba(255, 255, 255, 0.1);
      z-index: -1; }
  .page-header-curved__text-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 2rem; }
  .page-header-curved__service {
    font-size: 2.5rem;
    font-family: "Montserrat";
    text-transform: uppercase;
    color: #fff;
    font-weight: 700; }
    @media (max-width: 767px) {
      .page-header-curved__service {
        font-size: 2.6rem; } }
  .page-header-curved__service-small {
    font-size: 1.5rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff; }
    @media (max-width: 767px) {
      .page-header-curved__service-small {
        font-size: 1.4rem; } }
  .page-header-curved__service-type {
    font-size: 2.5rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff; }
    @media (max-width: 767px) {
      .page-header-curved__service-type {
        font-size: 2rem; } }

.page-menu {
  width: 100%; }
  .page-menu__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
    @media (max-width: 767px) {
      .page-menu__list {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .page-menu__item {
    width: 20%;
    height: calc(100vw / 5);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    overflow: hidden;
    cursor: pointer; }
    @media (max-width: 767px) {
      .page-menu__item {
        width: calc(100vw / 3); }
        .page-menu__item:nth-child(-n+2) {
          width: calc(100vw / 2); } }
    .page-menu__item:hover .page-menu__img,
    .page-menu__item:hover .page-menu__text {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); }
  .page-menu__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    z-index: -1;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
  .page-menu__text {
    font-size: 2.4rem;
    color: #fff;
    font-family: "Montserrat";
    font-weight: 700;
    text-transform: capitalize;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
    @media (max-width: 767px) {
      .page-menu__text {
        font-size: 1.8rem; } }

.page-imagegrid {
  margin: 11rem auto;
  max-width: 120rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden; }
  .page-imagegrid__line {
    width: 0.2rem;
    height: 3rem;
    background: #000;
    margin: 2rem 0; }
  .page-imagegrid__list {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media (max-width: 767px) {
      .page-imagegrid__list {
        width: 100%; } }
  .page-imagegrid__item {
    width: calc((100% / 3) - 3rem);
    height: calc(((129rem / 0.8) / 3) - 30rem);
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 4rem;
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease; }
    .page-imagegrid__item:not(:nth-child(3n)) {
      margin-right: 45px; }
    @media (max-width: 767px) {
      .page-imagegrid__item {
        width: 100%;
        margin: 0 !important;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        .page-imagegrid__item::after {
          display: none; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .page-imagegrid__item {
        width: calc((100% / 3) - 2rem);
        height: calc((100vw / 3) - 12rem); } }
    .page-imagegrid__item::after {
      content: "";
      position: absolute;
      bottom: -3rem;
      width: 50%;
      height: 10rem;
      opacity: 1;
      z-index: -2;
      background: -webkit-radial-gradient(center, ellipse, #aeaeae 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
      background: -o-radial-gradient(center, ellipse, #aeaeae 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
      background: radial-gradient(ellipse at center, #aeaeae 0%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%); }
    .page-imagegrid__item:hover .page-imagegrid__img,
    .page-imagegrid__item:hover .page-imagegrid__text {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); }
  .page-imagegrid__img-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    z-index: -1; }
  .page-imagegrid__overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0; }
    .page-imagegrid__overlay.active {
      opacity: 1; }
  .page-imagegrid__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    position: absolute; }
  .page-imagegrid__text {
    position: relative;
    font-size: 2.4rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff;
    margin-bottom: 3rem;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease; }
    @media (max-width: 767px) {
      .page-imagegrid__text {
        font-size: 2rem; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .page-imagegrid__text {
        margin-bottom: 2rem;
        font-size: 2rem; } }

.about-page {
  margin: 11rem auto;
  max-width: 192rem; }
  .about-page__text-wrapper {
    width: 34%;
    margin: 0 auto; }
    @media (max-width: 767px) {
      .about-page__text-wrapper {
        width: 90%; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .about-page__text-wrapper {
        width: 50%; } }
  .about-page__text {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }

.about-us {
  width: 100%;
  overflow: hidden; }
  .about-us__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 90%;
    margin-left: auto;
    margin-top: 15rem; }
    @media (max-width: 767px) {
      .about-us__item {
        width: 100%;
        margin: 10rem auto 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse; } }
    .about-us__item:last-child {
      margin-bottom: 10%; }
    .about-us__item--right {
      margin-left: 0;
      margin-right: auto; }
      @media (max-width: 767px) {
        .about-us__item--right {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -webkit-flex-direction: column;
              -ms-flex-direction: column;
                  flex-direction: column; } }
  .about-us__text-wrapper {
    width: 30%; }
    @media (max-width: 767px) {
      .about-us__text-wrapper {
        width: 90%;
        margin: 0 auto; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .about-us__text-wrapper {
        width: 35%; } }
  .about-us__title {
    color: #303030;
    font-size: 3.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: normal;
    margin-bottom: 3rem; }
    @media (max-width: 767px) {
      .about-us__title {
        font-size: 2.6rem;
        margin: 2rem 0; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .about-us__title {
        font-size: 3rem; } }
    .about-us__title--small {
      font-size: 2.4rem;
      line-height: 5rem;
      margin-bottom: 2rem; }
      @media (max-width: 767px) {
        .about-us__title--small {
          font-size: 1.8rem;
          margin-bottom: 1rem; } }
      @media (min-width: 768px) and (max-width: 1024px) {
        .about-us__title--small {
          font-size: 2rem; } }
  .about-us__text {
    font-size: 1.4rem; }
  .about-us__img-wrapper {
    width: 65%;
    height: 38rem;
    position: relative; }
    @media (max-width: 767px) {
      .about-us__img-wrapper {
        width: 100%; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .about-us__img-wrapper {
        width: 60%;
        height: 28rem; } }
  .about-us__img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  .about-us__img-shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #eaecef;
    z-index: -1;
    left: -25%;
    bottom: -10%; }
    @media (max-width: 767px) {
      .about-us__img-shadow {
        left: 0; } }
    .about-us__img-shadow--right {
      left: unset;
      right: -25%; }
      @media (max-width: 767px) {
        .about-us__img-shadow--right {
          right: 0; } }
  .about-us__img-line {
    position: absolute;
    top: -2rem;
    left: -7rem;
    height: 0.05rem;
    width: 15rem;
    background: #000;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: right;
        -ms-transform-origin: right;
            transform-origin: right; }
    .about-us__img-line--right {
      left: unset;
      right: -7rem;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-transform-origin: left;
          -ms-transform-origin: left;
              transform-origin: left; }

.privacy-policy {
  margin: 11rem auto;
  max-width: 120rem;
  background: #fff;
  padding: 7rem 0; }
  @media (min-width: 768px) and (max-width: 1024px) {
    .privacy-policy {
      width: 90%; } }
  .privacy-policy__text-wrapper {
    margin: 0 15rem; }
    @media (max-width: 767px) {
      .privacy-policy__text-wrapper {
        margin: 0 auto;
        width: 90%; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .privacy-policy__text-wrapper {
        margin: 0 auto;
        width: 80%; } }
  .privacy-policy__title {
    font-size: 2rem;
    color: #5d9daf;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 0.2rem;
    margin-top: 2rem; }
    .privacy-policy__title::before {
      content: '—— '; }
    .privacy-policy__title:first-child {
      margin-top: 0; }
  .privacy-policy__text, .privacy-policy__list {
    font-size: 1.6rem;
    color: #303030;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 0.1rem;
    line-height: 3rem; }
  .privacy-policy__text--blue {
    color: #5d9daf; }
  .privacy-policy__list {
    list-style-type: disc;
    margin-left: 3rem;
    font-size: 1rem; }
  .privacy-policy__item {
    font-size: 1.6rem; }
  .privacy-policy__contact-wrapper {
    width: 100%;
    border-top: 0.3rem dotted #dadada;
    padding: 3rem;
    margin-top: 2rem; }
    @media (max-width: 767px) {
      .privacy-policy__contact-wrapper {
        padding: 3rem 0;
        width: 90%; } }
  .privacy-policy__btn {
    width: 30rem;
    height: 5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #5d9daf;
    border: 0;
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    margin-left: 3rem; }
    @media (max-width: 767px) {
      .privacy-policy__btn {
        width: 100%;
        margin: 0; } }
    .privacy-policy__btn:hover {
      background: #5090a2; }
    .privacy-policy__btn-text {
      color: #fff;
      font-size: 1.4rem;
      letter-spacing: 0.1rem; }

.service-grocery {
  background: transparent; }
  .service-grocery--gray {
    background: #e7e6e4;
    padding: 8rem 0; }
    @media (max-width: 767px) {
      .service-grocery--gray {
        padding: 5rem 0; } }
  .service-grocery-wrapper {
    max-width: 120rem;
    margin: 0 auto; }
    @media (max-width: 767px) {
      .service-grocery-wrapper {
        max-width: 100vw; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .service-grocery-wrapper {
        max-width: 100vw; } }
  .service-grocery__highlight {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 15rem 0 8rem; }
    @media (max-width: 767px) {
      .service-grocery__highlight {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start;
        padding: 15rem 0 5rem; } }
    @media (min-width: 768px) and (max-width: 1024px) {
      .service-grocery__highlight {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .service-grocery__highlight-img-wrapper {
      width: 70%;
      position: relative; }
    .service-grocery__highlight-img {
      width: 100%;
      height: auto; }
    .service-grocery__highlight-text-wrapper {
      width: 50%;
      margin: 0 0 5rem -20%;
      background: rgba(255, 255, 255, 0.9);
      z-index: 1; }
      @media (max-width: 767px) {
        .service-grocery__highlight-text-wrapper {
          width: 100%;
          margin: 0; } }
      @media (min-width: 768px) and (max-width: 1024px) {
        .service-grocery__highlight-text-wrapper {
          margin: 0 0 0 -30%;
          width: 60%; } }
    .service-grocery__highlight-line {
      width: 0.2rem;
      height: 4rem;
      margin: -2rem 0 0 40%;
      background: #a7b4b5; }
      @media (max-width: 767px) {
        .service-grocery__highlight-line {
          margin-left: 70%; } }
    .service-grocery__highlight-text {
      margin: 3rem 6rem 5rem;
      font-size: 1.8rem;
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
      color: #303030; }
      @media (max-width: 767px) {
        .service-grocery__highlight-text {
          margin: 1rem 2rem 3rem;
          font-size: 1.6rem; } }
      @media (min-width: 768px) and (max-width: 1024px) {
        .service-grocery__highlight-text {
          margin: 1rem 2rem 3rem; } }
    .service-grocery__highlight-handwriting-wrapper {
      position: absolute;
      width: auto;
      height: auto;
      top: -40%;
      right: -50%; }
      @media (max-width: 767px) {
        .service-grocery__highlight-handwriting-wrapper {
          right: -40%;
          top: unset;
          bottom: 105%; } }
    .service-grocery__highlight-handwriting {
      width: 40vw;
      height: auto; }
  .service-grocery__main {
    width: 100%;
    background: #f9f9f9; }
    .service-grocery__main-title-wrapper {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      text-align: center; }
    .service-grocery__main-vertical-line {
      width: 0.2rem;
      height: 8rem;
      margin: -4rem 0 2rem;
      background: #000; }
    .service-grocery__main-title {
      font-size: 3.6rem;
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
      color: #27a9c9; }
      @media (max-width: 767px) {
        .service-grocery__main-title {
          font-size: 3rem; } }
    .service-grocery__main-horizontal-line {
      height: 0.5rem;
      width: 3rem;
      background: #000;
      margin: 3rem 0 6rem; }
    .service-grocery__main-img-full {
      width: 100%;
      height: auto; }
    .service-grocery__main-wrapper {
      padding: 8rem 0;
      margin: 0 8rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
      @media (max-width: 767px) {
        .service-grocery__main-wrapper {
          -webkit-box-orient: vertical;
          -webkit-box-direction: reverse;
          -webkit-flex-direction: column-reverse;
              -ms-flex-direction: column-reverse;
                  flex-direction: column-reverse;
          width: 95%;
          margin: 0 auto; } }
      .service-grocery__main-wrapper:last-child {
        padding: 0 0 8rem; }
    .service-grocery__main-text-wrapper {
      width: 55%; }
      @media (max-width: 767px) {
        .service-grocery__main-text-wrapper {
          width: 100%; } }
    .service-grocery__main-text {
      font-size: 1.8rem;
      color: #303030;
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
      line-height: 4rem;
      margin-bottom: 5rem; }
      @media (max-width: 767px) {
        .service-grocery__main-text {
          font-size: 1.6rem; } }
      .service-grocery__main-text--small {
        margin-bottom: 0;
        font-size: 1.5rem;
        line-height: 3rem; }
        @media (max-width: 767px) {
          .service-grocery__main-text--small {
            font-size: 1.2rem; } }
      .service-grocery__main-text--blue {
        color: #27a9c9;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; }
        .service-grocery__main-text--blue::before {
          content: '…';
          color: #303030;
          margin: 0 0.2rem 0 1rem; }
          @media (max-width: 767px) {
            .service-grocery__main-text--blue::before {
              margin: 0 0.1rem 0 0.5rem; } }
    .service-grocery__main-btn {
      border: 0.1rem solid #01081a;
      background: transparent;
      width: 100%;
      padding: 3rem 0;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      margin-top: 5rem;
      position: relative;
      cursor: pointer;
      -webkit-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease; }
      .service-grocery__main-btn:hover {
        background: #01081a;
        border: 0.1rem solid #fff; }
      .service-grocery__main-btn:hover .service-grocery__main-btn-text {
        color: #fff; }
      .service-grocery__main-btn:hover .service-grocery__main-btn-line {
        background: #fff; }
      .service-grocery__main-btn-text {
        font-size: 1.8rem;
        font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
        color: #01081a;
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease; }
      .service-grocery__main-btn-line {
        height: 0.1rem;
        width: 6rem;
        background: #01081a;
        position: absolute;
        right: 0;
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease; }
    .service-grocery__main-img-wrapper {
      width: 45%;
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: end;
      -webkit-justify-content: flex-end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
      @media (max-width: 767px) {
        .service-grocery__main-img-wrapper {
          width: 95%;
          -webkit-box-pack: center;
          -webkit-justify-content: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
    .service-grocery__main-img {
      width: 80%;
      height: auto; }
.cart {
  margin: 11rem auto;
  max-width: 120rem; }
  @media screen and (max-width: 767px) {
    .cart {
      padding: 0 3%; } }
  .cart__container {
    background: #fff;
    padding: 10rem 8rem;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 767px) {
      .cart__container {
        padding: 10% 9%; } }
  .cart__line {
    width: 0.4rem;
    height: 5rem;
    background: #000;
    margin: 1.5rem auto;
    position: absolute;
    left: 0;
    right: 0;
    top: -4rem; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .cart__line {
        height: 7.5vh; } }
  .cart__steps {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .cart__step-number {
    font-size: 1.8rem;
    font-weight: 700;
    width: 35px;
    height: 35px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: 1px solid #000;
    background: #fff;
    margin: 0 50px; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .cart__step-number {
        margin: 0 4vw;
        font-size: 1.5rem;
        width: 30px;
        height: 30px; } }
    .cart__step-number::after {
      content: '';
      width: 100px;
      height: 1px;
      background: #000;
      display: inline-block;
      position: absolute;
      right: -50px; }
      @media screen and (max-width: 600px) and (min-width: 320px) {
        .cart__step-number::after {
          right: -4vw;
          width: 8vw; } }
    .cart__step-number--last::after {
      display: none; }
  .cart__step-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .cart__step-item--active .cart__step-number {
      background: #000;
      color: #fff; }
  .cart__step-text {
    font-size: 1.3rem;
    margin-top: 10px;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 2px;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      .cart__step-text {
        text-align: center; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .cart__step-text {
        font-size: 1rem; } }
    @media screen and (max-width: 767px) {
      .cart__step-text span {
        display: block; } }
  .cart__table {
    border-bottom: 3px solid #27a9c9;
    border-collapse: collapse;
    margin-top: 25px;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    width: 100%; }
    .cart__table td {
      padding: 20px 10px;
      font-size: 1.5rem; }
      @media screen and (max-width: 767px) {
        .cart__table td {
          padding: 2% 1%; } }
      @media screen and (max-width: 600px) and (min-width: 320px) {
        .cart__table td {
          font-size: 1.2rem;
          text-align: center; } }
      @media screen and (max-width: 424px) and (min-width: 320px) {
        .cart__table td {
          font-size: 0.9rem; } }
      .cart__table td.last {
        padding: 20px 0; }
      .cart__table td.number {
        font-family: "Montserrat";
        font-weight: 500;
        letter-spacing: 1px; }
    .cart__table tr {
      border-bottom: 2px dotted #d6d6d6; }
    .cart__table th {
      color: #27a9c9;
      font-weight: 700;
      padding: 5px 10px;
      text-align: left; }
      @media screen and (max-width: 767px) {
        .cart__table th {
          text-align: center;
          white-space: nowrap; } }
      @media screen and (max-width: 424px) and (min-width: 320px) {
        .cart__table th {
          font-size: 1rem; } }
      .cart__table th.center {
        text-align: center; }
  .cart__heading {
    font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', sans-serif;
    border-bottom: 2px dotted #27a9c9 !important;
    font-size: 1.5rem; }
  .cart__item-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .cart__item-container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
    @media screen and (max-width: 767px) {
      .cart__item-container p {
        font-size: 1.2rem;
        margin-top: 3%; } }
    @media screen and (max-width: 424px) and (min-width: 320px) {
      .cart__item-container p {
        font-size: 0.9rem; } }
  .cart__image-container {
    width: 180px;
    height: 80px;
    margin-right: 35px; }
    @media screen and (max-width: 767px) {
      .cart__image-container {
        width: 100%;
        height: 20vw;
        margin-right: 0; } }
    .cart__image-container img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
  .cart__item {
    width: 58.5rem;
    padding-left: 0 !important; }
    @media screen and (max-width: 767px) {
      .cart__item {
        width: 35%; } }
  .cart__dropdown {
    border: none;
    padding: 0.8rem 1.8rem;
    outline: none;
    background: #eee;
    font-size: 1.6rem; }
    @media screen and (max-width: 767px) {
      .cart__dropdown {
        padding: 10% 5%;
        font-size: 1.4rem; } }
    @media screen and (max-width: 424px) and (min-width: 320px) {
      .cart__dropdown {
        font-size: 1rem; } }
  .cart__remove {
    color: #bf4e4e;
    font-weight: 700;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.5rem;
    letter-spacing: 1px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media screen and (max-width: 767px) {
      .cart__remove {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    @media screen and (max-width: 424px) and (min-width: 320px) {
      .cart__remove {
        font-size: 0.9rem; } }
    .cart__remove::before {
      content: '';
      width: 13px;
      height: 13px;
      display: inline-block;
      background: url("./src/img/close-icon.png") no-repeat;
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      margin-right: 10px; }
      @media screen and (max-width: 767px) {
        .cart__remove::before {
          margin-right: 0; } }
      @media screen and (max-width: 424px) and (min-width: 320px) {
        .cart__remove::before {
          width: 10px;
          height: 10px; } }
  .cart__total-container {
    background: #f9f9f9;
    width: 100%;
    margin-top: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .cart__total {
    padding: 15px;
    width: 270px; }
  .cart__total-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: right;
    font-size: 1.3rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: 500;
    letter-spacing: 1px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    .cart__total-item:not(:last-child) {
      margin-bottom: 10px; }
  .cart__text {
    width: 60px;
    text-align: right; }
  .cart__price {
    font-family: "Montserrat"; }
    .cart__price span {
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
  .cart__total-amount {
    color: #bf4e4e;
    font-size: 3rem;
    font-weight: 700;
    font-family: "Montserrat"; }
    @media screen and (max-width: 424px) and (min-width: 320px) {
      .cart__total-amount {
        font-size: 2.5rem; } }
    .cart__total-amount span {
      font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
  .cart__button-container,
  .cart__button-container .send {
    margin-top: 35px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .cart__button-container,
      .cart__button-container .send {
        width: 100%;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        flex-direction: column; } }
  .cart__button {
    background: #27a9c9;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 1px;
    width: 250px;
    height: 80px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 20px;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    @media screen and (max-width: 767px) {
      .cart__button {
        width: 45%;
        height: 10vw;
        margin: 0; } }
    @media screen and (max-width: 424px) and (min-width: 320px) {
      .cart__button {
        font-size: 1.2rem;
        height: 15vw; } }
    .cart__button:hover {
      opacity: 0.8; }
    .cart__button--back {
      background: transparent;
      border: 2px solid #000;
      color: #000; }
      .cart__button--back:hover {
        background: #000;
        color: #fff;
        opacity: 1; }

.customer__title {
  color: #27a9c9;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  letter-spacing: 1px;
  width: 100%;
  padding-bottom: 5px;
  border-bottom: 3px solid #27a9c9;
  font-size: 1.5rem;
  margin-top: 35px; }

.customer__form-container {
  width: 840px;
  margin: 0 auto;
  margin-top: 40px; }

@media screen and (max-width: 767px) {
  .customer__form-container,
  .customer_delivery-form,
  .customer_delivery-form th {
    width: 100%;
  }

  .customer_delivery-form tr {
    display: flex;
    flex-direction: column;
  }

  .customer_delivery-form td {
    padding-right: 0 !important;
  }

  .customer_delivery-form textarea {
    width: 100% !important;
  }

  .customer_delivery-form th {
    margin-bottom: 20px;
  }

  .customer_delivery-form dd {
    width: 100% !important;
  }
}

.customer__form {
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media (max-width: 767px) {
    .customer__form {
      width: 100%; } }

.customer__tr {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 20px 0;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media (max-width: 767px) {
    .customer__tr {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: 5% 0; } }

.customer__form-label-td {
  width: 33vh;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
  @media (max-width: 767px) {
    .customer__form-label-td {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      width: auto;
      padding-right: 1rem; } }

.customer__form-label-text {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  color: #303030; }
  .customer__form-label-text--margin {
    margin-right: 12px; }
    @media (max-width: 767px) {
      .customer__form-label-text--margin {
        margin-right: 3%; } }
  .customer__form-label-text--margin2 {
    margin-right: 12px;
  white-space: nowrap; }
    @media (max-width: 767px) {
      .customer__form-label-text--margin2 {
        margin-right: 3%;
        width: 8vh; } }

.customer__form-flag-td {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
  @media (max-width: 767px) {
    .customer__form-flag-td {
      margin-right: 0; } }

.customer__form-flag {
  background: #bf4e4e;
  height: 3.5rem;
  width: 4.5rem;
  margin-right: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media (max-width: 767px) {
    .customer__form-flag {
      height: 2.5rem;
      width: 4rem; } }
  .customer__form-flag--gray {
    border-color: #c9c9c9; }

.customer__form-flag-text {
  color: #fff;
  font-size: 1rem;
  letter-spacing: 1px;
  font-weight: 700; }
  @media (max-width: 767px) {
    .customer__form-flag-text {
      font-size: 1rem; } }
  .customer__form-flag-text--gray {
    color: #c9c9c9; }

.customer__form-input-td {
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 70%;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
  @media (max-width: 767px) {
    .customer__form-input-td {
      width: 100%; } }

.customer__form-checkbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
  @media (max-width: 767px) {
    .customer__form-checkbox {
      width: 100%; } }

.customer__checkbox-text {
  font-size: 1.5rem;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  letter-spacing: 2px;
  font-weight: 500;
  color: #000;
  margin-left: 15px; }
  @media screen and (max-width: 900px) {
    .customer__checkbox-text {
      font-size: 1.5rem; } }

.customer__form-input {
  width: 51rem;
  height: 4rem;
  background: #eee;
  border-style: none;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  padding-left: 1rem;
  outline: none; }
  @media (max-width: 767px) {
    .customer__form-input {
      width: 100%; } }
  .customer__form-input--margin {
    margin-top: 30px; }
  .customer__form-input--medium {
    width: 200px; }
    @media (max-width: 767px) {
      .customer__form-input--medium {
        width: 90%; } }
  .customer__form-input--short {
    width: 16rem; }
    @media (max-width: 767px) {
      .customer__form-input--short {
        width: 80%; } }
  .customer__form-input::-webkit-input-placeholder {
    color: #c9c9c9; }
  .customer__form-input::-moz-placeholder {
    color: #c9c9c9; }
  .customer__form-input:-ms-input-placeholder {
    color: #c9c9c9; }
  .customer__form-input::-ms-input-placeholder {
    color: #c9c9c9; }
  .customer__form-input::placeholder {
    color: #c9c9c9; }

.customer__button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  color: #fff; }
  .customer__button--postal {
    font-size: 1.2rem;
    position: absolute;
    width: 5rem;
    height: 2rem;
    -webkit-border-radius: 5px;
            border-radius: 5px;
    top: 0.5rem;
    right: 20rem;
    background: #5d9daf;
    padding: 0.5rem 2rem; }
    @media (max-width: 767px) {
      .customer__button--postal {
        top: 0;
        right: 1rem;
        width: 10rem;
        height: 4rem; } }
  .customer__button--large {
    width: 49rem;
    height: 8rem;
    background: #01081a;
    font-size: 2rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 10rem;
    -webkit-border-radius: 0;
            border-radius: 0;
    margin-left: 15rem; }
    @media (max-width: 767px) {
      .customer__button--large {
        width: 100%;
        margin-left: 0; } }
  .customer__button--hidden {
    display: none; }

.customer__form-textarea {
  border-style: none;
  width: 51rem;
  height: 10rem;
  background: #eee;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 1.4rem;
  color: #303030;
  padding: 1rem;
  resize: none; }
  @media (max-width: 767px) {
    .customer__form-textarea {
      width: 100%; } }
  .customer__form-textarea::-webkit-input-placeholder {
    color: #c9c9c9; }
  .customer__form-textarea::-moz-placeholder {
    color: #c9c9c9; }
  .customer__form-textarea:-ms-input-placeholder {
    color: #c9c9c9; }
  .customer__form-textarea::-ms-input-placeholder {
    color: #c9c9c9; }
  .customer__form-textarea::placeholder {
    color: #c9c9c9; }

.customer__row-sp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  padding-bottom: 1rem;
  width: 40%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media (max-width: 767px) {
    .customer__row-sp {
      width: 100%; } }

.customer__form-input-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.customer__form-input-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .customer__form-input-container--dash {
    margin-left: 12px !important; }
    @media (max-width: 767px) {
      .customer__form-input-container--dash {
        margin-left: 2% !important; } }
  .customer__form-input-container:not(:first-child) {
    margin-left: 20px; }
    @media (max-width: 767px) {
      .customer__form-input-container:not(:first-child) {
        margin-left: 5%; } }

.customer__postal-button {
  background: #000;
  color: #fff;
  font-size: 1.3rem;
  cursor: pointer;
  width: 100px;
  padding: 10px 0;
  text-align: center;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 1px; }
  @media screen and (max-width: 767px) {
    .customer__postal-button {
      width: 12vh; } }

.customer__privacy-policy {
  width: 100%; }

.customer__policy-container {
  border: 1px solid #000;
  margin-top: 15px;
  height: 190px;
  width: 100%;
  overflow-y: scroll; }

.customer__policy {
  padding: 15px; }
  .customer__policy p {
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    .customer__policy p.bold {
      font-weight: 700; }

.customer__policy-text {
  margin-top: 15px;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 1px; }

[type="checkbox"]:checked,
[type="checkbox"]:not(:checked) {
  position: absolute;
  left: -9999px; }

[type="checkbox"]:checked + label,
[type="checkbox"]:not(:checked) + label {
  position: relative;
  padding-left: 40px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block; }

[type="checkbox"]:checked + label::before,
[type="checkbox"]:not(:checked) + label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  width: 15px;
  height: 15px;
  border: 1px solid #000;
  -webkit-border-radius: 2px;
          border-radius: 2px;
  background: #fff; }

[type="checkbox"]:checked + label::after,
[type="checkbox"]:not(:checked) + label::after {
  content: '';
  width: 12px;
  height: 12px;
  background: url("./src/img/check.png") no-repeat;
  -webkit-background-size: 100% 100%;
          background-size: 100%;
  position: absolute;
  top: 4px;
  left: 3px;
  -webkit-border-radius: 100%;
          border-radius: 100%;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease; }

[type="checkbox"]:not(:checked) + label::after {
  opacity: 0;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
      transform: scale(0); }

[type="checkbox"]:checked + label::after {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
      transform: scale(1); }

.sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding: 5rem 0 3rem;
  background: #f9f9f9; }
  .sns__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    max-width: 1200px;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (max-width: 767px) {
      .sns__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 100%; } }
  .sns__title-container {
    position: relative;
    width: 100%; }
    @media (max-width: 767px) {
      .sns__title-container {
        width: 100%; } }
  .sns__title {
    position: absolute;
    left: 0;
    top: 0; }
    @media (max-width: 600px) and (min-width: 320px) {
      .sns__title {
        width: 80%;
        top: 0;
        bottom: 0;
        margin: auto; } }
  .sns__main-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: 700;
    padding: 55px 0;
    width: 100%;
    letter-spacing: 1px; }
    .sns__main-title h1 {
      font-size: 3.6rem; }
      @media screen and (max-width: 767px) {
        .sns__main-title h1 {
          z-index: 1; } }
  .sns__line {
    width: 520px;
    height: 2px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: #000; }
    @media screen and (max-width: 767px) {
      .sns__line {
        width: 40vw;
        z-index: 1; } }
  .sns__heading {
    font-size: 2rem;
    font-family: Montserrat, sans-serif;
    letter-spacing: 1px;
    color: #230707;
    font-weight: 400;
    text-align: center; }
  .sns__column {
    margin-top: 55px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (max-width: 767px) {
      .sns__column {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .sns__column-1 {
    width: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 10px; }
    @media screen and (max-width: 767px) {
      .sns__column-1 {
        padding: 0;
        width: 100%;
        padding-top: 4%; } }
    .sns__column-1:last-child {
      padding-right: 0;
      padding-left: 10px; }
      @media screen and (max-width: 767px) {
        .sns__column-1:last-child {
          padding: 0;
          padding-top: 4%; } }
  .sns__wrapper {
    margin-top: 20px;
    width: 475px;
    max-height: 340px;
    height: 100%;
    overflow-y: scroll; }
    @media screen and (max-width: 767px) {
      .sns__wrapper {
        width: 100%; } }
    .sns__wrapper--noscroll {
      overflow: initial; }
  .sns__sns-container {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .sns__sns-container {
        padding: 0 3%; } }
  .sns__instagram {
    margin-top: 20px;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 767px) {
      .sns__instagram {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .sns__ig-col-wrapper {
    width: 50%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 10px;
    background: #fff;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-right: 5px; }
    @media screen and (max-width: 767px) {
      .sns__ig-col-wrapper {
        width: 100%;
        padding: 2%;
        padding-bottom: 1%; } }
    .sns__ig-col-wrapper:last-child {
      padding-left: 5px;
      padding-right: 10px; }
      @media screen and (max-width: 767px) {
        .sns__ig-col-wrapper:last-child {
          padding: 2% 2% 0; } }
  .sns__ig-col {
    width: 65%;
    height: 100%;
    padding-right: 10px; }
    .sns__ig-col a img {
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center; }
  .sns__ig-col-1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 35%; }
  .sns__ig-col-2 {
    width: 100%;
    height: 100%;
    padding-bottom: 10px; }
    .sns__ig-col-2 div {
      background: #18b3ce;
      width: 100%;
      height: 100%; }
    .sns__ig-col-2:last-child {
      padding-bottom: 0; }
  .sns__fb-container {
    width: 475px;
    height: 340px; }
    @media screen and (max-width: 767px) {
      .sns__fb-container {
        width: 100%;
        height: 100%; } }

.page-location {
  margin: 11rem auto;
  max-width: 120rem;
  overflow: hidden; }
  .page-location__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 767px) {
      .page-location__content {
        padding: 0 3%; } }
  .page-location__line {
    width: 0.2rem;
    height: 3rem;
    background: #000;
    margin: 1.5rem 0; }
    .page-location__line--2 {
      margin-top: 10rem; }
  .page-location__text-line {
    background: #5d9daf;
    width: 0.5rem;
    height: 2.3rem; }
  .page-location__title {
    font-size: 1.8rem;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", sans-serif; }
  .page-location__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 3.5rem;
    width: 100%; }
    @media screen and (max-width: 767px) {
      .page-location__container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .page-location__image-wrapper {
    padding-right: 3rem;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page-location__image-wrapper {
        padding: 0; } }
  .page-location__img-shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #eaecef;
    z-index: -1;
    left: -25%;
    bottom: -40%; }
    @media (max-width: 767px) {
      .page-location__img-shadow {
        left: -10vw;
        bottom: 0;
        height: 55vw; } }
  .page-location__image {
    width: 100%;
    height: auto; }
  .page-location__text-info {
    padding-left: 3rem;
    width: 50%; }
    @media screen and (max-width: 767px) {
      .page-location__text-info {
        padding: 0;
        width: 100%;
        margin-top: 10%; } }
  .page-location__text-item {
    padding: 1.5rem 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    border-bottom: 2px dotted #ddd; }
    .page-location__text-item:first-child {
      border-top: 2px dotted #ddd; }
    .page-location__text-item--last {
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; }
  .page-location__text-title-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 15rem; }
    .page-location__text-title-container--small {
      width: 2rem; }
  .page-location__text-title {
    color: #5d9daf;
    font-weight: 700;
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 1px;
    margin-left: 1rem; }
  .page-location__text {
    display: block;
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: 100;
    color: #303030;
    letter-spacing: 1px;
    line-height: 2; }
    .page-location__text--margin {
      margin-top: 1rem; }
      .page-location__text--margin2 {
      margin-top: 2rem; }
    .page-location__text--bold {
      font-weight: 700; }
  .page-location__map-container {
    margin-top: 6rem;
    width: 120rem;
    height: 30rem; }
  @media screen and (max-width: 767px) {
    .page-location__map-container {
      width: 100%;
      height: 30vh;  }
  }
  .page-location__text-container--order {
    width: 75%;
  }
  .page-location__wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (max-width: 767px) {
    .page-location__wrapper {
      width: 100%;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .page-location__company-title-container {
    position: absolute;
    text-align: center;
    top: -2.4rem;
    width: 100%;
    color: #01081a; }
  .page-location__company-title-en {
    font-size: 3.6rem;
    letter-spacing: 0.1em;
    font-weight: 700; }
  .page-location__company-title-jpn {
    font-size: 1.8rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    margin-top: 0.5rem; }
  .page-location__company-info {
    position: relative;
    background: #fff;
    width: 100%;
    margin-top: 10rem; }
  .page-location__company-text-info {
    margin: 10rem 20rem; }
    @media screen and (max-width: 767px) {
      .page-location__company-text-info {
        margin: 30% 10% 10%; } }

.event-page {
  padding: 15rem 0 12rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 120rem;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .event-page {
      padding: 10rem 1.5rem 5rem;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      width: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; } }
  .event-page__content {
    width: 92rem; }
    @media screen and (max-width: 767px) {
      .event-page__content {
        width: 100%; } }
  .event-page__categories {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .event-page__category-hover {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.2);
    opacity: 0;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
  .event-page__category {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 3.1rem;
    min-width: 10rem;
    height: 5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #163040;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: bold;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    color: #fff;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
    @media screen and (max-width: 767px) {
      .event-page__category {
        padding: 0 4%;
        margin-top: 5%; } }
    .event-page__category:hover .event-page__category-hover {
      opacity: 1; }
    .event-page__category:not(:last-child) {
      margin-right: 8rem; }
      @media screen and (max-width: 900px) {
        .event-page__category:not(:last-child) {
          margin-right: 10%; } }
    .event-page__category--skyblue {
      background: #277bae; }
      .event-page__category--skyblue:hover {
        background: #5d9daf; }
    .event-page__category--brown {
      background: #8d664f; }
      .event-page__category--brown:hover {
        background: #ab7c60; }
  .event-page__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-top: 10.8rem; }
  .event-page__item {
    position: relative;
    width: 43rem;
    height: 26rem; }
    @media screen and (max-width: 900px) {
      .event-page__item {
        width: 100%;
        margin-bottom: 10rem; } }
    .event-page__item:not(:nth-last-of-type(-n + 2)) {
      margin-bottom: 10rem; }
    .event-page__item::after {
      content: '';
      width: 37.8rem;
      height: 37.8rem;
      position: absolute;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      bottom: -12rem;
      background-image: url("./src/img/shadow.png");
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      background-repeat: no-repeat;
      z-index: -1; }
      @media screen and (max-width: 767px) {
        .event-page__item::after {
          width: 32rem;
          bottom: -16rem; } }
  .event-page__image {
    position: absolute;
    right: 50%;
    bottom: 50%;
    -webkit-transform: translate(50%, 50%);
        -ms-transform: translate(50%, 50%);
            transform: translate(50%, 50%);
    width: 100%;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
  .event-page__new {
    position: absolute;
    top: -4.5rem;
    width: 8.1rem;
    height: 6.1rem;
    padding: 1.6rem 0 0 2rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-weight: 700;
    font-size: 1.8rem;
    color: #fff;
    background-image: url("./src/img/new-bg.png");
    -webkit-background-size: 100% 100%;
            background-size: 100%;
    background-repeat: no-repeat; }
  .event-page__date {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    color: #909090;
    margin-bottom: 1.4rem;
    text-align: right; }
  .event-page__link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    .event-page__link:hover .event-page__image {
      width: 110%; }
  .event-page__category-item {
    position: absolute;
    left: 0;
    top: 0;
    min-width: 8rem;
    padding: 0 2.3rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 4rem;
    background: #277bae;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #fff;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    z-index: 1; }
    .event-page__category-item--brown {
      background: #8d664f; }
  .event-page__title {
    white-space: pre-wrap;
    position: absolute;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    bottom: 0;
    width: 100%;
    min-height: 9.97rem;
    padding: 0 2rem 0 4rem;
    background: rgba(0, 8, 25, 0.5);
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: 600; }
    @media screen and (max-width: 767px) {
      .event-page__title {
        padding: 0 1.1rem 0 2rem; } }
  .event-page__pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 8rem;
    position: relative;
    z-index: 9999; }
    @media screen and (max-width: 767px) {
      .event-page__pagination {
        margin-top: 0;
        margin-bottom: 6rem; } }
  .event-page__month {
    width: 19.9rem; }
    @media screen and (max-width: 767px) {
      .event-page__month {
        width: 100%; } }
  .event-page__month-title {
    position: relative;
    text-align: center;
    padding-bottom: 1.6rem;
    font-weight: bold;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2rem;
    letter-spacing: 0.05em; }
    .event-page__month-title::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 0.2rem;
      background: #000; }
  .event-page__month-list {
    padding: 0 0.7rem; }
    .event-page__month-list li {
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      padding: 0.8rem 0;
      border-bottom: 1px dashed #000;
      padding-left: 0.7rem;
      color: #303030; }
      .event-page__month-list li:hover {
        color: #000; }

.page-gallery {
  margin: 11rem auto;
  max-width: 100rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 767px) {
    .page-gallery {
      padding: 0 3%; } }
  .page-gallery__main {
    width: 100%;
    background: #fff;
    height: 55rem;
    position: relative; }
    @media screen and (max-width: 767px) {
      .page-gallery__main {
        height: 130vw; } }
  .page-gallery__main-title-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .page-gallery__main-vertical-line {
    width: 0.2rem;
    height: 8rem;
    margin: -4rem 0 2rem;
    background: #000; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .page-gallery__main-vertical-line {
        height: 20vw; } }
  .page-gallery__main-title {
    font-size: 3.6rem;
    color: #27a9c9;
    letter-spacing: 3px;
    font-weight: 400; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .page-gallery__main-title {
        font-size: 4.8vw; } }
  .page-gallery__main-horizontal-line {
    height: 0.5rem;
    width: 3rem;
    background: #000;
    margin: 3rem 0 6rem; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .page-gallery__main-horizontal-line {
        margin: 4% 0 7%; } }
  .page-gallery__images-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: absolute;
    left: -10rem; }
    @media screen and (max-width: 767px) {
      .page-gallery__images-container {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        left: 0;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; } }
  .page-gallery__image-wrapper {
    margin: 0 1rem;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .page-gallery__image-wrapper {
        width: 50%;
        margin: 1%; } }
  .page-gallery__image {
    cursor: pointer;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    @media screen and (max-width: 767px) {
      .page-gallery__image {
        width: 100%;
        height: auto; } }
    .page-gallery__image:hover {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); }
  .page-gallery__modal {
    display: none;
    position: fixed;
    z-index: 999;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9); }
  .page-gallery__modal-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 80rem;
    height: 45rem;
    position: relative;
    -webkit-animation-name: zoom;
            animation-name: zoom;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s; }
    @media screen and (max-width: 767px) {
      .page-gallery__modal-container {
        width: 80%;
        height: 50vw; } }
  .page-gallery__modal-content {
    margin: auto;
    display: block;
    width: 100%;
    height: 100%; }
  .page-gallery__close {
    position: absolute;
    top: -1rem;
    right: -4rem;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .page-gallery__close {
        font-size: 30px;
        right: -7vw; } }
    .page-gallery__close:hover, .page-gallery__close:focus {
      color: #bbb;
      text-decoration: none;
      cursor: pointer; }

@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes zoom {
  from {
    -webkit-transform: scale(0);
            transform: scale(0); }
  to {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.service-drone {
  margin: 14rem auto 20rem;
  max-width: 120rem; }
  @media screen and (max-width: 767px) {
    .service-drone {
      padding: 0 3%;
      margin: 14% auto 45%; } }
  .service-drone__content {
    position: relative; }
  .service-drone__image {
    width: 100%; }
  .service-drone__writing {
    width: 100%;
    height: auto; }
  .service-drone__writing-container {
    width: 85rem;
    position: absolute;
    top: -12rem; }
    @media screen and (max-width: 767px) {
      .service-drone__writing-container {
        width: 70%;
        top: -10vw; } }
  .service-drone__text-container {
    background: -webkit-linear-gradient(315deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 100%);
    background: -o-linear-gradient(315deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 100%);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 100%);
    width: 50.5rem;
    padding: 5rem;
    position: absolute;
    right: 3rem;
    bottom: -8rem; }
    @media screen and (max-width: 767px) {
      .service-drone__text-container {
        padding: 5%;
        bottom: -12vh;
        width: 70vw; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-drone__text-container {
        bottom: -10vh;
        width: 84vw;
        right: 3vw; } }
  .service-drone__text {
    display: block;
    font-size: 1.8rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    line-height: 1.8;
    letter-spacing: 1px; }
    @media screen and (max-width: 767px) {
      .service-drone__text {
        font-size: 2vw; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-drone__text {
        font-size: 2.5vw; } }

.event-details {
  margin: 8rem auto; }
  .event-details__content {
    max-width: 120rem;
    margin: 0 auto; }
  .event-details__title-container {
    border-bottom: 2px dotted #656565;
    padding: 3rem 5rem; }
    @media screen and (max-width: 767px) {
      .event-details__title-container {
        margin: 0 3%;
        padding: 3% 5%; } }
  .event-details__title {
    width: 100%;
    font-size: 2.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    @media screen and (max-width: 767px) {
      .event-details__title {
        font-size: 3.3vw; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__title {
        font-size: 3.8vw; } }
  .event-details__info {
    padding: 0 5rem; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__info {
        padding: 0 8%; } }
  .event-details__item-label-container {
    margin: 4rem 0; }
    @media screen and (max-width: 767px) {
      .event-details__item-label-container {
        margin: 5% 0; } }
  .event-details__item-label {
    background: #277bae;
    padding: 0.5rem 1.5rem;
    color: #fff;
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    @media screen and (max-width: 767px) {
      .event-details__item-label {
        font-size: 1.4rem; } }
  .event-details__item-date {
    font-size: 1.8rem;
    color: #909090;
    letter-spacing: 1px; }
    @media screen and (max-width: 767px) {
      .event-details__item-date {
        font-size: 1.4rem; } }
    .event-details__item-date--kozuka {
      font-family: "Kozuka Gothic Pro", sans-serif;
      margin-left: 2rem; }
      @media screen and (max-width: 767px) {
        .event-details__item-date--kozuka {
          font-size: 1.6rem; } }
  .event-details__item-title-container {
    margin-top: 2rem; }
    @media screen and (max-width: 767px) {
      .event-details__item-title-container {
        margin-top: 3%; } }
  .event-details__item-date-label {
    font-size: 2rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #277bae;
    letter-spacing: 1px;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      .event-details__item-date-label {
        font-size: 3.3vw; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__item-date-label {
        font-size: 1.7rem; } }
    .event-details__item-date-label::after {
      content: '';
      width: 1rem;
      height: 1.5rem;
      background: url("./src/img/arrow-icon.png") no-repeat;
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      display: inline-block;
      margin: 0 2rem; }
  .event-details__item-title {
    color: #277bae;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: lowercase; }
    @media screen and (max-width: 767px) {
      .event-details__item-title {
        font-size: 4vw; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__item-title {
        font-size: 2rem; } }
  .event-details__info-text-container {
    margin: 3rem 0; }
    @media screen and (max-width: 767px) {
      .event-details__info-text-container {
        margin: 4% 0; } }
    .event-details__info-text-container--2 {
      margin: 3rem 0 5rem; }
      @media screen and (max-width: 767px) {
        .event-details__info-text-container--2 {
          margin: 4% 0 6%; } }
  .event-details__info-text {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #303030;
    display: block;
    line-height: 1.8;
    letter-spacing: 1px; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__info-text {
        font-size: 1.4rem; } }
    .event-details__info-text--blue {
      color: #277bae;
      font-size: 2.2rem;
      margin-bottom: 2rem; }
      @media screen and (max-width: 600px) and (min-width: 320px) {
        .event-details__info-text--blue {
          font-size: 1.7rem;
          margin-bottom: 3%; } }
  .event-details__info-text-wrapper {
    margin-top: 4rem; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__info-text-wrapper {
        margin-top: 5%; } }
    .event-details__info-text-wrapper--nomargin {
      margin: 0; }
    .event-details__info-text-wrapper--last {
      margin-bottom: 4rem; }
      @media screen and (max-width: 600px) and (min-width: 320px) {
        .event-details__info-text-wrapper--last {
          margin-bottom: 5%; } }
  .event-details__images-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 3rem; }
    @media screen and (max-width: 767px) {
      .event-details__images-container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  @media screen and (max-width: 767px) {
    .event-details__image-container--margin {
      margin-top: 3%; } }
  .event-details__image {
    width: 100%;
    height: auto; }
  .event-details__pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 3rem 0;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 767px) {
      .event-details__pagination {
        padding: 0 3%; } }
  .event-details__prev a {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 1px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__prev a {
        font-size: 2.6vw; } }
    .event-details__prev a::before {
      content: '';
      width: 120px;
      height: 7px;
      background: url("./src/img/pagination-left.png") no-repeat;
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      display: inline-block;
      margin-right: 1rem; }
      @media screen and (max-width: 600px) and (min-width: 320px) {
        .event-details__prev a::before {
          width: 15vw; } }
  .event-details__next a {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 1px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__next a {
        font-size: 2.6vw; } }
    .event-details__next a::after {
      content: '';
      width: 120px;
      height: 7px;
      background: url("./src/img/pagination-right.png") no-repeat;
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      display: inline-block;
      margin-left: 1rem; }
      @media screen and (max-width: 600px) and (min-width: 320px) {
        .event-details__next a::after {
          width: 15vw; } }
  .event-details__index-text {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 1px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .event-details__index-text {
        font-size: 2.6vw; } }
    .event-details__index-text::before {
      content: '';
      width: 50px;
      height: 30px;
      background: url("./src/img/pagination-icon.png") no-repeat;
      -webkit-background-size: 100% 100%;
              background-size: 100%;
      display: block;
      margin-bottom: 1.3rem; }
      @media screen and (max-width: 600px) and (min-width: 320px) {
        .event-details__index-text::before {
          width: 8vw;
          margin-bottom: 1.5vh;
          height: 5vw; } }

.service-worker-dispatch {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  overflow: hidden; }
  .service-worker-dispatch__handwriting {
    width: 30%;
    height: auto; }
    @media (max-width: 767px) {
      .service-worker-dispatch__handwriting {
        width: 50%; } }
  .service-worker-dispatch__header {
    width: 100%;
    height: auto;
    z-index: -1;
    position: relative;
    margin: -10% 0; }
    @media (max-width: 767px) {
      .service-worker-dispatch__header {
        margin: -10% 0 0; } }
  .service-worker-dispatch__text-wrapper {
    width: 50%;
    background: rgba(255, 255, 255, 0.9);
    padding: 5rem 0;
    margin-left: auto; }
    @media (max-width: 767px) {
      .service-worker-dispatch__text-wrapper {
        width: 100%;
        padding: 2rem 0; } }
  .service-worker-dispatch__text {
    margin: 0 5rem;
    font-size: 1.8rem;
    color: #303030;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    @media (max-width: 767px) {
      .service-worker-dispatch__text {
        font-size: 1.6rem;
        margin: 0 2rem; } }

.service-school {
  max-width: 120rem;
  margin: 8rem auto 0; }
  .service-school--gallery {
    overflow: hidden;
    margin: 0 auto; }
  .service-school__header {
    width: 100%;
    height: auto;
    margin-bottom: -10%; }
  .service-school__header-wrapper {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (max-width: 767px) {
      .service-school__header-wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .service-school__handwriting {
    width: 43%;
    height: auto; }
    @media (max-width: 767px) {
      .service-school__handwriting {
        width: 50%; } }
  .service-school__text-wrapper {
    width: 50%;
    background: rgba(255, 255, 255, 0.9);
    padding: 5rem 0; }
    @media (max-width: 767px) {
      .service-school__text-wrapper {
        width: 100%;
        padding: 2rem 0; } }
  .service-school__text {
    margin: 0 5rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #303030;
    font-size: 1.8rem; }
    @media (max-width: 767px) {
      .service-school__text {
        margin: 0 2rem;
        font-size: 1.6rem; } }
  .service-school__title {
    margin: 0 5rem 3rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.4rem;
    color: #5d9daf; }
    @media (max-width: 767px) {
      .service-school__title {
        margin: 0 2rem 2rem;
        font-size: 2rem; } }
    .service-school__title::before {
      content: '—— ';
      margin-right: 1rem; }

.top-message {
  background: #f9f9f9; }
  @media (max-width: 767px) {
    .top-message {
      width: 100vw; } }
  .top-message__banner {
    width: 100%;
    height: 35rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center 85%;
       object-position: center 85%; }
    @media (max-width: 767px) {
      .top-message__banner {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center bottom;
           object-position: center bottom; } }
  .top-message__container {
    position: relative;
    width: 120rem;
    margin: 0 auto;
    padding: 5rem 0;
    margin-bottom: 5rem;
    background: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 767px) {
      .top-message__container {
        width: 100%; } }
  .top-message__title-container {
    margin-top: -2rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .top-message__main-title {
    font-size: 3rem;
    font-weight: 700;
    color: #303030; }
  .top-message__sub-title {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    color: #303030; }
  .top-message__line-vertical {
    border-left: 3px solid #5d9daf;
    position: relative;
    left: 49.5%;
    height: 3rem;
    width: 0;
    margin: 13rem 0 -2rem;
    z-index: 1; }
  .top-message__name-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .top-message__company-name-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 4rem; }
  .top-message__name-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #5d9daf;
    font-size: 2.4rem; }
  .top-message__name-text-subtitle {
    font-size: 1.2rem;
    color: #303030; }
  .top-message__company-name-text {
    font-size: 1.4rem;
    color: #303030; }
  .top-message__company-name-subtitle {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    color: #303030; }
  .top-message__line-horizontal {
    border-top: 3px solid #5d9daf;
    margin: 5rem auto;
    width: 3rem; }
  .top-message__description {
    width: 78rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    line-height: 2.5rem; }
    @media (max-width: 767px) {
      .top-message__description {
        width: 100%;
        text-align: justify;
        padding: 1rem; } }
  .top-message__signature {
    position: relative;
    width: 16rem;
    -o-object-fit: contain;
       object-fit: contain;
    top: 0;
    left: 30rem;
    margin-top: 2rem; }
    @media (max-width: 767px) {
      .top-message__signature {
        margin-left: 25%;
        left: 0; } }
  .top-message__kyosei-text-title {
    position: relative;
    margin: 4rem auto;
    color: #5d9daf;
    text-align: center;
    font-size: 1.8rem; }
    @media (max-width: 767px) {
      .top-message__kyosei-text-title {
        font-size: 1.6rem; } }
    .top-message__kyosei-text-title::before {
      position: absolute;
      content: '';
      width: 100%;
      border-top: 3px solid #5d9daf;
      right: 0;
      top: 1.5rem; }
    .top-message__kyosei-text-title::after {
      position: absolute;
      content: '';
      width: 43%;
      border-top: 3px solid #5d9daf;
      left: 0;
      top: 1.5rem; }
      @media (max-width: 767px) {
        .top-message__kyosei-text-title::after {
          width: 25%; } }
  .top-message__text-monsterrat {
    font-family: "Montserrat";
    letter-spacing: 0.3rem; }
  .top-message__text-hirakaku {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
  .top-message__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    list-style-type: none;
    width: 120rem;
    margin: 10rem auto;
    padding: 0; }
    @media (max-width: 767px) {
      .top-message__list {
        width: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-flow: column wrap;
            -ms-flex-flow: column wrap;
                flex-flow: column wrap; } }
  .top-message__list-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 3rem;
    position: relative; }
    @media (max-width: 767px) {
      .top-message__list-item {
        width: 100%;
        padding: 2rem 1rem; } }
  .top-message__item-number {
    font-size: 2.6rem;
    font-weight: 700;
    color: #303030;
    text-align: center; }
  .top-message__curve-line {
    width: 3rem;
    -o-object-fit: contain;
       object-fit: contain;
    padding-top: 0.5rem;
    margin: 0 auto; }
  .top-message__item-title {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #303030;
    padding-top: 2rem;
    text-align: justify; }
    .top-message__item-title::after {
      content: '';
      width: 100%;
      display: inline-block; }
  .top-message__image-container {
    position: relative; }
  .top-message__item-image {
    position: relative;
    -o-object-fit: cover;
       object-fit: cover;
    height: 27rem;
    width: 34rem;
    padding-top: 2rem;
    z-index: 10; }
    @media (max-width: 767px) {
      .top-message__item-image {
        width: 100%; } }
  .top-message__shadow {
    position: absolute;
    bottom: 1.5rem;
    width: 25%;
    height: 10rem;
    left: 11.5rem;
    z-index: 5;
    -webkit-box-shadow: 0 2px 40px #000;
            box-shadow: 0 2px 40px #000; }
  .top-message__item-description {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.2rem;
    color: #303030;
    font-weight: 700;
    line-height: 2.5rem;
    padding-top: 2rem; }

.thanks-page {
  background: #f9f9f9;
  margin: 10rem 0; }
  @media (max-width: 767px) {
    .thanks-page {
      width: 100%; } }
  .thanks-page__container {
    position: relative;
    width: 120rem;
    margin: 0 auto;
    padding: 6rem 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff; }
    @media (max-width: 767px) {
      .thanks-page__container {
        width: 100%;
        padding: 5rem 1rem 1rem; } }
  .thanks-page__progress-line {
    -o-object-fit: contain;
       object-fit: contain; }
    @media (max-width: 767px) {
      .thanks-page__progress-line {
        width: 100%; } }
  .thanks-page__line {
    border-top: 1px solid #000;
    width: 38rem; }
    @media (max-width: 767px) {
      .thanks-page__line {
        width: 100%; } }
  .thanks-page__phone-image {
    height: 4.5rem;
    -o-object-fit: contain;
       object-fit: contain; }
  .thanks-page__phone-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem; }
    .thanks-page__phone-text--large {
      font-family: "Montserrat";
      font-size: 2rem; }
  .thanks-page__contact-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 1.5rem 0; }
  .thanks-page__phone-text-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 2rem; }
  .thanks-page__progress-text-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-left: -4rem;
    padding-top: 1rem; }
    @media (max-width: 767px) {
      .thanks-page__progress-text-container {
        margin-left: -2rem; } }
    @media (max-width: 320px) {
      .thanks-page__progress-text-container {
        margin-left: -1rem; } }
  .thanks-page__progress-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #5d9daf;
    letter-spacing: 0.2rem; }
    @media (max-width: 320px) {
      .thanks-page__progress-text {
        font-size: 1rem; } }
    @media (max-width: 428px) {
      .thanks-page__progress-text {
        font-size: 1.4rem; } }
    @media (max-width: 320px) {
      .thanks-page__progress-text {
        font-size: 1rem; } }
    .thanks-page__progress-text:first-child {
      padding-right: 8rem; }
      @media (max-width: 428px) {
        .thanks-page__progress-text:first-child {
          padding-right: 6rem; } }
      @media (max-width: 320px) {
        .thanks-page__progress-text:first-child {
          padding-right: 7rem; } }
    .thanks-page__progress-text:nth-child(2) {
      padding-right: 10rem; }
  .thanks-page__text-container {
    padding: 9rem 0 6rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (max-width: 767px) {
      .thanks-page__text-container {
        padding: 5rem 0; } }
  .thanks-page__text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    color: #303030;
    line-height: 3.5rem; }
    .thanks-page__text--large {
      font-size: 2.4rem;
      font-weight: 700; }
      @media (max-width: 375px) {
        .thanks-page__text--large {
          font-size: 2rem; } }
      @media (max-width: 320px) {
        .thanks-page__text--large {
          font-size: 1.8rem; } }
  .thanks-page__button {
    margin: 10rem 0;
    width: 50rem;
    height: 8rem;
    border: 2px solid #5d9daf;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.2rem;
    color: #5d9daf;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media (max-width: 767px) {
      .thanks-page__button {
        width: 100%; } }
    .thanks-page__button::after {
      position: absolute;
      content: "";
      width: 40rem;
      border-top: 2px solid #5d9daf;
      right: 0; }
      @media (max-width: 767px) {
        .thanks-page__button::after {
          width: 10%; } }

.contact-page {
  background: #f9f9f9;
  padding: 11rem 0; }
  @media (max-width: 767px) {
    .contact-page {
      width: 100vw; } }
  .contact-page__banner {
    width: 100%;
    height: 35rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center -45rem;
       object-position: center -45rem; }
  .contact-page__container {
    position: relative;
    width: 120rem;
    margin: 0 auto;
    background: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 767px) {
      .contact-page__container {
        width: 100%;
        padding: 1rem; } }
    .contact-page__container--middle {
      padding: 5rem 0 2rem; }
  .contact-page__title-container {
    margin-top: -2rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .contact-page__main-title {
    font-size: 3rem;
    font-weight: 700; }
  .contact-page__sub-title {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem; }
  .contact-page__text-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 5rem 0; }
    .contact-page__text-container--bottom {
      padding: 5rem 0 5rem 15rem; }
      @media (max-width: 767px) {
        .contact-page__text-container--bottom {
          padding: 5rem 0; } }
  .contact-page__text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    color: #595757;
    line-height: 3rem;
    text-align: left; }
    .contact-page__text--blue {
      color: #5d9daf;
      text-decoration: underline;
      text-underline-position: under; }
  .contact-page__line {
    border-top: 1px solid #000;
    width: 38rem; }
    @media (max-width: 767px) {
      .contact-page__line {
        width: 100%; } }
  .contact-page__phone-image {
    height: 4.5rem;
    -o-object-fit: contain;
       object-fit: contain; }
  .contact-page__phone-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem; }
    .contact-page__phone-text--large {
      font-family: "Montserrat";
      font-size: 2rem; }
  .contact-page__contact-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 1rem 0; }
  .contact-page__phone-text-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 2rem; }
  .contact-page__progress-line-image {
    padding: 10rem 0 2rem; }
    @media (max-width: 428px) {
      .contact-page__progress-line-image {
        padding: 5rem 0 2rem 4.5rem; } }
    @media (max-width: 320px) {
      .contact-page__progress-line-image {
        padding: 5rem 0 2rem 1rem; } }
  .contact-page__progress-text-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-left: -5rem; }
    @media (max-width: 767px) {
      .contact-page__progress-text-container {
        margin-left: 0; } }
  .contact-page__progress-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #5d9daf; }
    @media (max-width: 320px) {
      .contact-page__progress-text {
        font-size: 1.2rem; } }
    .contact-page__progress-text:first-child {
      padding-right: 8rem; }
      @media (max-width: 320px) {
        .contact-page__progress-text:first-child {
          padding-right: 7rem; } }
    .contact-page__progress-text:nth-child(2) {
      padding-right: 10rem; }
  .contact-page__table {
    width: 80rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (max-width: 767px) {
      .contact-page__table {
        width: 100%; } }
  .contact-page__tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 1rem 0; }
    @media (max-width: 767px) {
      .contact-page__tr {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .contact-page__form-label-td {
    width: 60%;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    @media (max-width: 767px) {
      .contact-page__form-label-td {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        width: auto;
        padding-right: 1rem; } }
  .contact-page__form-label-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.1rem; }
  .contact-page__form-flag-td {
    width: 15%;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    margin-right: 5rem; }
    @media (max-width: 767px) {
      .contact-page__form-flag-td {
        margin-right: 0; } }
  .contact-page__form-flag {
    border: 2px solid #be0446;
    height: 2.5rem;
    width: 6rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media (max-width: 767px) {
      .contact-page__form-flag {
        height: 2.5rem;
        width: 4rem; } }
    .contact-page__form-flag--gray {
      border-color: #c9c9c9; }
  .contact-page__form-flag-text {
    color: #be0446;
    font-size: 1.4rem;
    font-weight: 700; }
    @media (max-width: 767px) {
      .contact-page__form-flag-text {
        font-size: 1rem; } }
    .contact-page__form-flag-text--gray {
      color: #c9c9c9; }
  .contact-page__form-input-td {
    position: relative;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 70%;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif; }
    @media (max-width: 767px) {
      .contact-page__form-input-td {
        width: 100%; } }
  .contact-page__form-input {
    width: 51rem;
    height: 4rem;
    background: #eee;
    border-style: none;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    padding-left: 1rem; }
    @media (max-width: 767px) {
      .contact-page__form-input {
        width: 100%; } }
    .contact-page__form-input--short {
      width: 25rem;
      margin-right: 2rem; }
      @media (max-width: 767px) {
        .contact-page__form-input--short {
          width: 60%;
          margin-right: 2rem; } }
    .contact-page__form-input::-webkit-input-placeholder {
      color: #c9c9c9; }
    .contact-page__form-input::-moz-placeholder {
      color: #c9c9c9; }
    .contact-page__form-input:-ms-input-placeholder {
      color: #c9c9c9; }
    .contact-page__form-input::-ms-input-placeholder {
      color: #c9c9c9; }
    .contact-page__form-input::placeholder {
      color: #c9c9c9; }
  .contact-page__button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff; }
    .contact-page__button--postal {
      font-size: 1.2rem;
      position: absolute;
      width: 5rem;
      height: 2rem;
      -webkit-border-radius: 5px;
              border-radius: 5px;
      top: 0.5rem;
      right: 20rem;
      background: #5d9daf;
      padding: 0.5rem 2rem; }
      @media (max-width: 767px) {
        .contact-page__button--postal {
          top: 0;
          right: 1rem;
          width: 10rem;
          height: 4rem; } }
    .contact-page__button--large {
      width: 49rem;
      height: 8rem;
      background: #01081a;
      font-size: 2rem;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-bottom: 10rem;
      -webkit-border-radius: 0;
              border-radius: 0;
      margin-left: 15rem; }
      @media (max-width: 767px) {
        .contact-page__button--large {
          width: 100%;
          margin-left: 0; } }
    .contact-page__button--hidden {
      display: none; }
  .contact-page__form-textarea {
    border-style: none;
    width: 51rem;
    height: 10rem;
    background: #eee;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.4rem;
    color: #303030;
    padding: 1rem;
    resize: none; }
    @media (max-width: 767px) {
      .contact-page__form-textarea {
        width: 100%; } }
    .contact-page__form-textarea::-webkit-input-placeholder {
      color: #c9c9c9; }
    .contact-page__form-textarea::-moz-placeholder {
      color: #c9c9c9; }
    .contact-page__form-textarea:-ms-input-placeholder {
      color: #c9c9c9; }
    .contact-page__form-textarea::-ms-input-placeholder {
      color: #c9c9c9; }
    .contact-page__form-textarea::placeholder {
      color: #c9c9c9; }
  .contact-page__row-sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-bottom: 1rem;
    width: 30%; }
    @media (max-width: 767px) {
      .contact-page__row-sp {
        width: 100%; } }

  @media screen and (max-width: 767px) {
    .tourism {
      margin-top: -100px; } }
  .tourism__introduction {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    max-width: 120rem;
    margin: 0 auto; }
  .tourism__handwriting-container {
    position: absolute;
    left: 5rem;
    top: -15.3rem;
    z-index: 1;
    width: 50.2rem; }
    @media screen and (max-width: 767px) {
      .tourism__handwriting-container {
        left: auto;
        top: -13rem;
        width: 90%; } }
  .tourism__introduction-handwriting-top {
    margin-left: 3rem; }
    @media screen and (max-width: 767px) {
      .tourism__introduction-handwriting-top {
        margin-left: 8%;
        width: 42%; } }
  .tourism__introduction-handwriting {
    position: absolute;
    top: 4rem;
    left: 0;
    width: 100%;
    -webkit-transform: rotate(-6deg);
        -ms-transform: rotate(-6deg);
            transform: rotate(-6deg); }
    @media screen and (max-width: 767px) {
      .tourism__introduction-handwriting {
        top: 6%; } }
  .tourism__introduction-image-container {
    width: 100%;
    height: 30rem;
    background: #eee; }
  .tourism__introduction-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  .tourism__introduction-text-container {
    position: absolute;
    right: 2.8rem;
    top: 17rem;
    width: 61rem;
    height: 24.3rem;
    background: rgba(255, 255, 255, 0.9);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 6rem; }
    @media screen and (max-width: 767px) {
      .tourism__introduction-text-container {
        right: auto;
        left: 5%;
        width: 90%;
        height: auto;
        padding: 10%; } }
    .tourism__introduction-text-container::before {
      content: '';
      position: absolute;
      top: -2.1rem;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      width: 0.2rem;
      height: 4.2rem;
      background: #5d9daf; }
  .tourism__introduction-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.8rem;
    line-height: 2em; }
  .tourism__example {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 26.9rem; }
    @media screen and (max-width: 767px) {
      .tourism__example {
        margin-top: 35rem;
        overflow: hidden; } }
  .tourism__example-title {
    position: relative;
    font-weight: bold;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    padding-bottom: 3.3rem;
    color: #5d9daf;
    text-align: center;
    display: inline-block; }
    @media screen and (max-width: 767px) {
      .tourism__example-title {
        padding: 2rem; } }
    .tourism__example-title::before {
      content: '';
      position: absolute;
      top: -9.9rem;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      width: 0.2rem;
      height: 6rem;
      background: #000; }
      @media screen and (max-width: 767px) {
        .tourism__example-title::before {
          top: -5.9rem; } }
    .tourism__example-title::after {
      content: '';
      position: absolute;
      bottom: 0;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      height: 0.4rem;
      width: 70rem;
      background: #5d9daf; }
      @media screen and (max-width: 767px) {
        .tourism__example-title::after {
          width: 95%; } }
  .tourism__example-enjoy {
    position: absolute;
    right: -18.9rem;
    bottom: -4.5rem;
    z-index: 1; }
    @media screen and (max-width: 767px) {
      .tourism__example-enjoy {
        right: 3%;
        bottom: -115%;
        width: 22%; } }
    @media screen and (max-width: 425px) {
      .tourism__example-enjoy {
        bottom: -34%; } }
  .tourism__gallery {
    margin-top: 7.7rem;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr; }
    @media screen and (max-width: 767px) {
      .tourism__gallery {
        grid-template-columns: 1fr; } }
  .tourism__gallery-group {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; }
  .tourism__image-container {
    width: 100%;
    position: relative; }
    .tourism__image-container--large {
      grid-area: span 2 / span 2 / span 2 / span 2; }
    .tourism__image-container--large-row {
      grid-row: 1/3; }
  .tourism__image {
    width: 100%; }
  .tourism__caption {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: bold;
    letter-spacing: 0.1em;
    position: absolute;
    right: 1.82vw;
    bottom: 2vw;
    color: #fff;
    font-size: 1.09vw; }
    @media screen and (max-width: 767px) {
      .tourism__caption {
        right: 2vw;
        bottom: 4vw;
        font-size: 3vw; } }

.service-order-more {
  margin: 11rem auto;
  max-width: 120rem; }
  @media screen and (max-width: 767px) {
    .service-order-more {
      padding: 0 3%; } }
  .service-order-more__container {
    background: #fff;
    padding: 10rem 8rem;
    position: relative; }
    @media screen and (max-width: 767px) {
      .service-order-more__container {
        padding: 10% 9%; } }
  .service-order-more__line {
    width: 0.4rem;
    height: 5rem;
    background: #000;
    margin: 1.5rem auto;
    position: absolute;
    left: 0;
    right: 0;
    top: -4rem; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__line {
        height: 7.5vh; } }
  .service-order-more__item-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .service-order-more__item-images-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1rem; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-images-container {
        margin-top: 1%;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .service-order-more__item-pricing {
    width: 40.5rem;
    height: auto; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-pricing {
        width: 100%; } }
  .service-order-more__item-label {
    font-size: 1.4rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #75726c;
    display: block; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-label {
        margin-top: 3%; } }
  .service-order-more__item-title {
    margin-top: 5rem;
    display: block;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 2.5px; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-title {
        margin-top: 4%;
        -moz-text-align-last: center;
             text-align-last: center; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__item-title {
        font-size: 3.5vw; } }
  .service-order-more__item-wrapper {
    width: 580px;
    overflow: hidden; }
    .service-order-more__item-wrapper--thumbnail {
      width: 186px;
      height: 115px; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-wrapper {
        margin: 1%;
        width: 100%; } }
    .service-order-more__item-wrapper:hover img {
      -webkit-transform: scale(1.1);
          -ms-transform: scale(1.1);
              transform: scale(1.1); }
  .service-order-more__item-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    cursor: pointer;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-wrapper img {
        width: 100%; } }
  .service-order-more__item-price-input {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: #bf4e4e;
    text-align: right;
    border: none;
    outline: none;
    width: 30rem;
    background: transparent; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-price-input {
        width: 40vw; } }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__item-price-input {
        font-size: 6vw; } }
  .service-order-more__item-price {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: #bf4e4e;
    text-align: right; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__item-price {
        font-size: 6vw; } }
    .service-order-more__item-price--label {
      color: #303030;
      display: inline;
      font-size: 1.4rem; }
  .service-order-more__item-number-container {
    background: #eee;
    padding: 2.5rem 5rem;
    margin-top: 5rem; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-number-container {
        margin-top: 6%; } }
  .service-order-more__item-number {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-number {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .service-order-more__item-number-label {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 1px; }
  .service-order-more__item-dropdown {
    border: none;
    padding: 0.8rem 1.8rem;
    margin-left: 1rem;
    outline: none;
    font-size: 1.6rem; }
  .skuquantity {
    opacity: 0; }
  .skubutton {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff;
    letter-spacing: 1px;
    background: #27a9c9;
    padding: 1rem 0;
    width: 100%;
    display: block;
    margin-top: 3rem;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    border: 0;
    outline: 0;
    cursor: pointer; }
    .skubutton:hover {
      background: #47b8d4; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .skubutton {
        font-size: 2.8vw; } }
  .service-order-more__item-text-container {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    margin-top: 5rem;
    font-size: 1.6rem; }
  .service-order-more__item-info {
    margin-top: 7.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-info {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .service-order-more__item-info-title-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .service-order-more__item-info-line {
    background: #5d9daf;
    width: 0.5rem;
    height: 2.3rem;
    display: inline-block; }
  .service-order-more__item-info-title {
    display: inline-block;
    font-size: 1.8rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: 700;
    margin-left: 1rem;
    letter-spacing: 1px; }
  .service-order-more__item-info-table {
    width: 88%; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-info-table {
        width: 100%;
        margin-top: 3%; } }
  .service-order-more__item-info-item {
    border-top: 2px dotted #d9d9d9;
    padding: 1.5rem 0; }
  .service-order-more__item-info-text {
    font-size: 1.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    letter-spacing: 1px;
    display: inline-block;
    margin-left: 3rem; }
    @media screen and (max-width: 767px) {
      .service-order-more__item-info-text {
        display: block;
        margin-top: 3%;
        margin-left: 0; } }
    .service-order-more__item-info-text--width {
      width: 12rem;
      margin: 0; }
  .service-order-more__other-items {
    margin-top: 5rem; }
  .service-order-more__other-items-title {
    font-size: 3.6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #5d9daf;
    font-weight: 700;
    letter-spacing: 1px; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__other-items-title {
        font-size: 7vw; } }
  @media screen and (max-width: 767px) {
    .service-order-more__other-item {
      margin-bottom: 3vw; } }
  .service-order-more__other-item:hover .service-order-more__other-image {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }
  .service-order-more__other-image {
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s; }
    @media screen and (max-width: 767px) {
      .service-order-more__other-image {
        width: 100%; } }
  .service-order-more__other-image-link {
    position: absolute;
    right: 0;
    bottom: 0; }
  .service-order-more__other-image-container {
    overflow: hidden;
    position: relative; }
  .service-order-more__other-items-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 3rem; }
    @media screen and (max-width: 767px) {
      .service-order-more__other-items-container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
  .service-order-more__other-text-container {
    margin-top: 1rem;
    line-height: 1.8; }
  .service-order-more__other-item-label {
    font-size: 1.4rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #75726c;
    display: block; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__other-item-label {
        text-align: center; } }
  .service-order-more__other-item-title {
    display: block;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 2.5px; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__other-item-title {
        font-size: 4vw;
        text-align: center; } }
  .service-order-more__other-item-price {
    display: block;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 2px;
    color: #bf4e4e;
    text-align: right; }
    @media screen and (max-width: 600px) and (min-width: 320px) {
      .service-order-more__other-item-price {
        font-size: 4vw;
        text-align: center; } }
    .service-order-more__other-item-price--label {
      color: #303030;
      display: inline;
      font-size: 1.4rem; }
  .order {
  margin: 11rem auto;
  max-width: 120rem;
  background: #fff;
  padding: 7rem 0; }
  .order__company-text-info {
    margin: 0 20rem; }
    @media screen and (max-width: 767px) {
      .order__company-text-info {
        margin: 0 10%; }
      }
  .order__text-title-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    width: 20rem; }
    .order__text-title-container--small {
      width: 2rem; }

.modal {
  display: none;
  position: fixed;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 999;
  background: -webkit-linear-gradient(315deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) 100%);
  background: -o-linear-gradient(315deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) 100%);
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) 100%); }

.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  width: 50%;
  max-width: 1200px; }
  @media screen and (max-width: 767px) {
    .modal-content {
      width: 90%; } }

.close {
  color: #fff;
  position: absolute;
  top: 10px;
  right: 25px;
  font-size: 35px;
  font-weight: bold; }

.close:hover,
.close:focus {
  color: #999;
  text-decoration: none;
  cursor: pointer; }

.mySlides {
  display: none; }

.cursor {
  cursor: pointer; }

.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  -webkit-transition: 0.6s ease;
  -o-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-border-radius: 0 3px 3px 0;
          border-radius: 0 3px 3px 0;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-user-select: none; }
  @media screen and (max-width: 767px) {
    .prev,
    .next {
      top: 60%; } }

.next {
  right: 0;
  -webkit-border-radius: 3px 0 0 3px;
          border-radius: 3px 0 0 3px; }

.prev:hover,
.next:hover {
  background-color: rgba(0, 0, 0, 0.8); }

.body-active {
  overflow: hidden; }

input:disabled {
  background: transparent; }

.order-service {
  padding-top: 7.3rem; }
  .order-service__introduction {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    max-width: 120rem;
    margin: 0 auto;
    padding-bottom: 12.7rem; }
    @media screen and (max-width: 767px) {
      .order-service__introduction {
        padding-bottom: 25rem; } }
  .order-service__introduction-handwriting {
    position: absolute;
    left: 5rem;
    top: -12rem;
    z-index: 1;
    width: 52.9rem; }
    @media screen and (max-width: 767px) {
      .order-service__introduction-handwriting {
        left: auto;
        top: -13rem;
        width: 90%; } }
  .order-service__introduction-image-container {
    width: 100%;
    height: 30rem;
    background: #eee; }
  .order-service__introduction-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
  .order-service__introduction-text-container {
    position: absolute;
    right: 2.8rem;
    top: 17rem;
    width: 61rem;
    height: 24.3rem;
    background: rgba(255, 255, 255, 0.9);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 6rem; }
    @media screen and (max-width: 767px) {
      .order-service__introduction-text-container {
        right: auto;
        left: 5%;
        width: 90%;
        height: auto;
        padding: 10%; } }
    .order-service__introduction-text-container::before {
      content: '';
      position: absolute;
      top: -2.1rem;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      width: 0.2rem;
      height: 4.2rem;
      background: #5d9daf; }
  .order-service__introduction-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.8rem;
    line-height: 2em; }
  .order-service__shopping {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    padding: 10.4rem 0 6rem; }
    @media screen and (max-width: 767px) {
      .order-service__shopping {
        width: 90%;
        margin: 0 auto;
        padding: 6.4rem 0 6rem; } }
  .order-service__title {
    position: relative;
    font-weight: bold;
    font-size: 3.6rem;
    letter-spacing: 0.1em;
    padding-bottom: 3.3rem;
    color: #27a9c9;
    text-align: center;
    display: inline-block; }
    @media screen and (max-width: 767px) {
      .order-service__title {
        padding: 2rem; } }
    .order-service__title::before {
      content: '';
      position: absolute;
      top: -11.2rem;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      width: 0.2rem;
      height: 8.2rem;
      background: #000; }
      @media screen and (max-width: 767px) {
        .order-service__title::before {
          top: -7.9rem; } }
    .order-service__title::after {
      content: '';
      position: absolute;
      bottom: 0;
      right: 50%;
      -webkit-transform: translateX(50%);
          -ms-transform: translateX(50%);
              transform: translateX(50%);
      height: 0.4rem;
      width: 3rem;
      background: #000; }
  .order-service__shopping-image-container {
    width: 120rem;
    height: 27.3rem;
    margin: 0 auto;
    margin-top: 6rem; }
    @media screen and (max-width: 767px) {
      .order-service__shopping-image-container {
        width: 100%; } }
  .order-service__shopping-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
    @media screen and (max-width: 767px) {
      .order-service__shopping-image {
        -o-object-position: left;
           object-position: left; } }
  .order-service__cart {
    margin-top: 4.9rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .order-service__cart-image {
    margin-right: 2.1rem; }
  .order-service__cart-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: 500;
    margin-right: 2rem; }
  .order-service__categories {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 5rem;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
  .order-service__category {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: 0.2rem solid #5d9daf;
    color: #5d9daf;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    min-width: 12rem;
    height: 4rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
    @media screen and (max-width: 767px) {
      .order-service__category {
        margin-bottom: 5%; } }
    .order-service__category:not(:last-child) {
      margin-right: 4rem; }
      @media screen and (max-width: 767px) {
        .order-service__category:not(:last-child) {
          margin-right: 5%; } }
    .order-service__category:hover {
      background: #5d9daf;
      color: #fff; }
    .order-service__category--active {
      background: #5d9daf;
      color: #fff; }
      .order-service__category--active::after {
        content: '';
        position: absolute;
        bottom: -1.2rem;
        left: -0.2rem;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 1.2rem 1rem 0 0;
        border-color: #5d9daf transparent transparent transparent; }
  .order-service__list {
    width: 120rem;
    margin: 0 auto;
    margin-top: 7.2rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      .order-service__list {
        width: 100%;
        padding: 0 2rem;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; } }
  .order-service__item {
    width: 34.6rem; }
    @media screen and (max-width: 767px) {
      .order-service__item {
        width: 100%; } }
    .order-service__item:not(:nth-child(3n)) {
      margin-right: 80px; }
      @media screen and (max-width: 767px) {
        .order-service__item:not(:nth-child(3n)) {
          margin-right: 0; } }
    .order-service__item:not(:nth-last-child(-n + 3)) {
      margin-bottom: 5rem; }
  .order-service__image-container {
    position: relative;
    width: 100%;
    height: 30rem;
    overflow: hidden; }
    @media screen and (max-width: 767px) {
      .order-service__image-container {
        height: 94vw; } }
    .order-service__image-container::after {
      content: '';
      position: absolute;
      right: 0;
      bottom: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 1rem 1rem;
      border-color: transparent transparent #569fd2; }
  .order-service__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
  .order-service__link:hover .order-service__image {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }
  .order-service__item-category {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: 300;
    font-size: 1.4rem;
    display: none;
    letter-spacing: 0.1em;
    margin-top: 1.6rem; }
  .order-service__item-title {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-weight: bold;
    font-size: 2rem;
    letter-spacing: 0.1em;
    margin-top: 0.7rem; }
    .order-service__item-title.hide {
      display: none;
    }
  .order-service__price {
    font-weight: bold;
    letter-spacing: 0.1em;
    visibility: hidden;
    text-align: right;
    margin-top: 0.9rem; }
  .order-service__price-text {
    font-size: 2.4rem;
    color: #bf4e4e; }
  .order-service__tax-text {
    font-size: 1.4rem; }
  .order-service__pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 9.6rem; }
  .order-service__pagination-item {
    margin: 0 1.5rem;
    font-weight: 500;
    font-size: 1.8rem;
    color: #5d9daf; }
  .order-service__pagination-number {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 4rem;
    height: 4rem;
    border: 0.1rem solid #5d9daf;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
    .order-service__pagination-number:hover, .order-service__pagination-number--active {
      background: #5d9daf;
      color: #fff; }

.vision-page {
  background: #f9f9f9;
  padding: 16rem 0 12rem;
  overflow: hidden; }
  @media (max-width: 767px) {
    .vision-page {
      width: 100%; } }
  .vision-page__banner-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative; }
  .vision-page__quote-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .vision-page__quote-container--circle {
      padding: 3rem 0 2rem; }
      @media (max-width: 428px) {
        .vision-page__quote-container--circle {
          padding: 1rem 0; } }
  .vision-page__quote-label {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 4rem;
    color: #3c414f; }
    @media (max-width: 767px) {
      .vision-page__quote-label {
        font-size: 1.4rem;
        padding: 0; } }
    .vision-page__quote-label--large {
      font-size: 8rem; }
  .vision-page__large-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 6rem;
    color: #303030; }
  .vision-page__banner-image {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 45rem; }
  .vision-page__circle-container {
    position: absolute;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 43rem;
    height: 43rem;
    background: rgba(0, 8, 25, 0.6);
    -webkit-border-radius: 50%;
            border-radius: 50%; }
    @media (max-width: 428px) {
      .vision-page__circle-container {
        width: 20rem;
        height: 20rem; } }
    @media (max-width: 320px) {
      .vision-page__circle-container {
        width: 17rem;
        height: 17rem; } }
    .vision-page__circle-container--circle-one {
      bottom: 6rem;
      left: 7rem; }
      @media (max-width: 428px) {
        .vision-page__circle-container--circle-one {
          bottom: 18rem;
          left: 10rem; } }
      @media (max-width: 375px) {
        .vision-page__circle-container--circle-one {
          bottom: 21rem;
          left: 8rem; } }
      @media (max-width: 320px) {
        .vision-page__circle-container--circle-one {
          bottom: 19rem;
          left: 7rem; } }
    .vision-page__circle-container--circle-two {
      bottom: -4rem; }
      @media (max-width: 428px) {
        .vision-page__circle-container--circle-two {
          bottom: 5rem;
          left: 0; } }
    .vision-page__circle-container--circle-three {
      bottom: 6rem;
      right: 7rem; }
      @media (max-width: 428px) {
        .vision-page__circle-container--circle-three {
          bottom: 6rem;
          right: 0; } }
  .vision-page__number-label {
    position: relative;
    font-size: 4rem;
    font-weight: 700;
    color: #fff;
    padding: 4rem 0; }
    @media (max-width: 428px) {
      .vision-page__number-label {
        font-size: 1.4rem;
        padding: 1rem 0;
        line-height: 1rem; } }
  .vision-page__bar {
    width: 4rem;
    border-top: 5px solid #d9d58f; }
  .vision-page__quote {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2.6rem;
    text-align: center;
    letter-spacing: 0.2rem;
    color: #fff; }
    @media (max-width: 767px) {
      .vision-page__quote {
        font-size: 1.4rem;
        padding: 0; } }
  .vision-page__circle-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    color: #fff;
    width: 30rem;
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
    line-height: 2.8rem; }
    @media (max-width: 767px) {
      .vision-page__circle-text {
        font-size: 0.85rem;
        padding: 0;
        width: 15rem;
        line-height: 1.5rem; } }
    @media (max-width: 320px) {
      .vision-page__circle-text {
        font-size: 0.7rem;
        width: 11rem; } }
    .vision-page__circle-text.en {
      text-align: center;
    }
  .vision-page__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90rem;
    margin: 0 auto;
    background: #fff;
    padding: 6rem 0; }
    @media (max-width: 767px) {
      .vision-page__container {
        width: 100%; } }
  .vision-page__title {
    text-align: center;
    padding: 10rem 0 6rem;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 2rem;
    letter-spacing: 0.2rem;
    color: #303030; }
  .vision-page__inner-content {
    width: 70rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (max-width: 767px) {
      .vision-page__inner-content {
        width: 100%;
        padding: 1rem; } }
  .vision-page__inner-content-row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .vision-page__inner-content-row:not(:first-child) {
      padding-top: 4rem; }
    .vision-page__inner-content-row:last-child {
      padding-top: 1rem; }
  .vision-page__inner-content-number-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 10%; }
  .vision-page__inner-content-number-label {
    position: relative;
    font-family: "Montserrat";
    font-size: 3rem;
    font-weight: 500;
    color: #5d9daf; }
  .vision-page__inner-content-bar {
    border-left: 5px solid #5d9daf;
    margin: 0.5rem 1.5rem 0 0;
    height: 3rem; }
    @media (max-width: 428px) {
      .vision-page__inner-content-bar {
        position: absolute;
        left: 4.5rem; } }
    @media (max-width: 375px) {
      .vision-page__inner-content-bar {
        position: absolute;
        left: 4.5rem; } }
    @media (max-width: 320px) {
      .vision-page__inner-content-bar {
        position: absolute;
        left: 4.5rem; } }
  .vision-page__inner-content-description {
    width: 90%;
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
    line-height: 3.5rem; }
    @media (max-width: 767px) {
      .vision-page__inner-content-description {
        font-size: 1.4rem;
        width: 80%;
        position: relative;
        left: 2rem; } }
    @media (max-width: 375px) {
      .vision-page__inner-content-description {
        font-size: 1.2rem; } }
    @media (max-width: 320px) {
      .vision-page__inner-content-description {
        font-size: 1.4rem;
        left: 3rem; } }
  .vision-page__button {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 7rem auto 0;
    width: 118rem;
    height: 18rem; }
    @media (max-width: 767px) {
      .vision-page__button {
        width: 95%;
        margin: 0 auto; } }
    .vision-page__button::after {
      position: absolute;
      display: block;
      content: "";
      border: 2px solid #3c414f;
      width: 118rem;
      height: 18rem;
      top: 2rem;
      left: 2rem; }
      @media screen {
        .vision-page__button::after {
          width: 100%;
          height: 18rem;
          top: 0.5rem;
          left: 0.5rem; } }
  .vision-page__button-text-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 50%;
    height: 100%;
    background: #000819;
    font-size: 2.6rem; }
  .vision-page__button-text {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
    color: #fff; }
    .vision-page__button-text--large {
      font-family: "Montserrat";
      font-size: 3rem;
      letter-spacing: 0; }
      @media (max-width: 767px) {
        .vision-page__button-text--large {
          font-size: 1.2rem; } }
  .vision-page__button-image-container {
    width: 50%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.fp-scroller {
  -webkit-transition-duration: 800ms !important;
       -o-transition-duration: 800ms !important;
          transition-duration: 800ms !important; }

.sp-navigation__list-item--active::after {
  content: "-" !important; }

.wp-pagenavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .wp-pagenavi .extend {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    color: #5d9daf; }
  .wp-pagenavi .page {
    font-size: 1.8rem;
    width: 4rem;
    height: 4rem;
    color: #5d9daf;
    border: 1px solid #5d9daf;
    margin: 0 1.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease; }
    .wp-pagenavi .page:hover {
      color: #fff;
      background: #5d9daf; }
  .wp-pagenavi .current {
    font-size: 1.8rem;
    color: #fff;
    background: #5d9daf;
    width: 4rem;
    height: 4rem;
    border: 1px solid #5d9daf;
    margin: 0 1.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }

  .modal-content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center; }

.form-padding {
  padding: 0 101px;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .form-padding {
    padding: 0;
  }
}

.customer_delivery-form,
.customer_form th {
  border-collapse: collapse;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
}

.customer_delivery-form th,
.customer_form th {
  width: 219px;
  font-size: 15px;
  letter-spacing: 0.1em;
  text-align: left;
  font-weight: 300;
  vertical-align: top;
}

.customer_delivery-form th.required-form {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .customer_delivery-form th.required-form {
    justify-content: flex-start;
  }
}

.customer_delivery-form td label,
.customer_form td label {
  font-size: 15px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.customer_delivery-form tr.no-margin,
.customer_form tr.no-margin {
  padding-bottom: 0;
}

.customer_delivery-form td,
.customer_form td {
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 1.54em;
  padding-right: 20px;
  padding-bottom: 30px;
}

.customer_delivery-form select,
.customer_form select {
  width: 300px;
  padding: 13px;
  box-sizing: border-box;
  font-size: 15px;
  letter-spacing: 0.1em;
  background: #eee;
  outline: 0;
  border: 0;
  -o-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url('./src/img/arrow-blue.png');
  background-repeat: no-repeat;
  background-position: 281px;
}

.customer_delivery-form textarea,
.customer_form textarea {
  width: 400px;
  height: 150px;
  resize: none;
  background: #eee;
  outline: none;
  border: 0;
  padding: 13px;
  box-sizing: border-box;
  font-family: "Montserrat";
  font-size: 15px;
  letter-spacing: 0.1em;
  line-height: 1.54em;
}

.customer_form.delivery {
  width: 86%;
}

.customer_form.delivery th {
  width: 230px !important;
}

.customer_delivery-form [type="radio"]:checked,
.customer_delivery-form [type="radio"]:not(:checked) {
  position: absolute;
  left: -9999px;
}

.customer_delivery-form [type="radio"]:checked + label,
.customer_delivery-form [type="radio"]:not(:checked) + label {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
  color: #000;
}

.customer_delivery-form [type="radio"]:checked + label:before,
.customer_delivery-form [type="radio"]:not(:checked) + label:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: #eee;
}

.customer_delivery-form [type="radio"]:checked + label:after,
.customer_delivery-form [type="radio"]:not(:checked) + label:after {
  content: '';
  width: 10px;
  height: 10px;
  background: #303030;
  position: absolute;
  top: 5px;
  left: 5px;
  border-radius: 100%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.customer_delivery-form [type="radio"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.customer_delivery-form [type="radio"]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.customer_delivery-form dt > label {
  font-weight: 600;
  margin-bottom: 16px;
}

.customer_delivery-form dd,
.customer_form dd {
  font-size: 13px;
  width: 400px;
  letter-spacing: 0.1em;
  line-height: 1.54em;
  margin-bottom: 22px;
}

.delButton {
  background: url('./src/img/close-icon.png') no-repeat;
  width: 45px;
  background-position: left;
  border: none;
  text-align: right;
  color: #bf4e4e;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
}

input.quantity {
  display: none;
}

.upbutton {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 20px;
  font-size: 1.5rem;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
}
@media screen and (max-width: 767px) {
  .upbutton {
    flex-direction: column;
  }
}

em.tax {
  font-size: 1.3rem !important;
}


.continue_shopping_button,
.back_cart_button,
.back_to_customer_button,
.back_to_delivery_button {
  background: transparent;
  border: 2px solid #000;
  color: #000;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  letter-spacing: 1px;
  width: 250px;
  height: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 20px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
      .continue_shopping_button,
      .back_cart_button,
      .back_to_customer_button,
      .back_to_delivery_button {
        width: 100%;
        height: 10vw;
        margin: 0; } }
    @media screen and (max-width: 424px) and (min-width: 320px) {
      .continue_shopping_button,
      .back_cart_button,
      .back_to_customer_button,
      .back_to_delivery_button {
        font-size: 1.2rem;
        height: 15vw; } }

.continue_shopping_button:hover,
.back_cart_button:hover,
.back_to_customer_button:hover,
.back_to_delivery_button:hover {
  background: #000;
  color: #fff;
  opacity: 1;
}

td.num,
td.stock {
  display: none;
}

td.aleft.productname {
  width: 100%;
}

td.thumbnail a img,
td.thumbnail > img {
  width: 130px;
  height: auto;
}

@media screen and (max-width: 767px) {
  td.thumbnail a img,
  td.thumbnail > img {
    width: 12vw;
  }
}

td.aright.unitprice,
td.aright.subtotal {
  font-family: "Montserrat";
  font-weight: 500;
  letter-spacing: 1px;
}

.to_customerinfo_button,
.to_deliveryinfo_button,
.to_confirm_button,
.checkout_button,
.upbutton input {
  background: #27a9c9;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: 700;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  letter-spacing: 1px;
  width: 250px;
  height: 80px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 20px;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }
  @media screen and (max-width: 767px) {
    .to_customerinfo_button,
    .to_deliveryinfo_button,
    .to_confirm_button,
    .checkout_button,
    .upbutton input {
      width: 100%;
      height: 10vw;
      margin: 0;
      margin-top: 10px; } }
  @media screen and (max-width: 424px) and (min-width: 320px) {
    .to_customerinfo_button,
    .to_deliveryinfo_button,
    .to_confirm_button,
    .checkout_button,
    .upbutton input {
      font-size: 1.2rem;
      height: 15vw; } }
  .to_customerinfo_button:hover,
  .to_deliveryinfo_button:hover,
  .to_confirm_button:hover,
  .checkout_button:hover,
  .upbutton input:hover {
    opacity: 0.8; }

  .upbutton input {
    width: 150px;
    height: 65px;
  }

.cart__heading--confirm {
  border-bottom: 2px solid #27a9c9 !important; }
  .cart__heading--confirm th {
    padding: 0; }

    @media screen and (max-width: 767px) {
      .cart__heading th:nth-child(2) {
        display: none;
      }

      .cart__heading--confirm th:nth-child(2) {
        display: block;
      }
    }

.cart__divide {
  font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', sans-serif;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 20px;
  margin-bottom: 18px; }

.cart__divide .ttl,
.cart__divide .ttl td {
  display: block;
}

.cart__divide .ttl h3 {
  color: #27a9c9;
  font-weight: 600;
  letter-spacing: 1px;
  width: 100%;
  padding-bottom: 5px;
  border-bottom: 3px solid #27a9c9;
  font-size: 1.5rem;
  margin-top: 35px;
}

.cart__divide tbody {
  width: 490px;
  color: #303030;
}

.cart__divide th {
  display: flex;
  align-items: center;
  position: relative;
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  padding-left: 16px;
  width: 220px;
  margin-top: 30px;
}

.cart__divide th::before {
  content: '';
  position: absolute;
  width: 5px;
  height: 20px;
  background: #27a9c9;
  left: 0;
  bottom: 50%;
  transform: translateY(50%);
}

.cart__divide tr {
  display: flex;
  align-items: center;
}

.cart__divide td {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: 2em;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .cart__divide {
    flex-direction: column;
  }

  .cart__divide tbody {
    width: 100%;
  }

  .cart__divide tr {
    align-items: flex-start;
    flex-direction: column;
  }

  .cart__divide th {
    width: auto;
  }

  .cart__divide td {
    margin-top: 10px;
  }
}

.customer_form td input {
	width: 100%;  /*changed*/
	height: 4rem;
	background: #eee;
	border-style: none;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
	padding-left: 1rem;
	outline: none;
}
@media screen and (max-width: 767px) {
  .customer_form td input,
  .customer_form select {
	margin-top: 3%;
  }

  .customer_form td {
    padding-right: 0;
  }
}
@media screen and (max-width: 350px) and (min-width: 320px) {
  .customer_form td input {
	width: 85%;
  }}
@media screen and (max-width: 375px) and (min-width: 320px) {
  .customer_form td select {
	background-position: 59vw;
	width: 85%;
  }
}

.customer_form th {
  width: 319px !important;
  display: flex;
  align-items: center;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
}

.customer_form th #text {
  width: 300px;
}

.customer_form {
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
    .customer_form {
	  width: 100%; } }

@media screen and (max-width: 767px) {
    .customer_form tr {
	  display: flex;
	  flex-direction: column; } }

.required {
  order: 2;
  background: #bf4e4e;
  height: 3.5rem;
  width: 6rem;
  font-size: 1.3rem;
  margin-right: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .required {
	margin-right: 0;
	margin-left: 3%;
	width: 4.5rem;
  } }

.search-zipcode {
  background: #000 !important;
  color: #fff;
  font-size: 1.3rem;
  width: 100px !important;
  padding: 10px 0 !important;
  text-align: center;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif !important;
  font-weight: 700;
  letter-spacing: 1px;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
    .search-zipcode {
      width: 13vh !important; } }

.name_container {
  display: flex;
  align-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
}

.name_container p {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
  color: #303030;
  margin-right: 12px;
}

.name_container .furikana {
  width: 7vh;
}

.td_title {
  width: 100%;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .td_title {
	width: unset;
  } }

.zipcode_container {
  display: flex;
  align-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
}

.zipcode_input {
  width: 16rem !important;
}

.disabled{
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
  }

h1.cart_page_title {
  font-size: 4rem;
  color: #27a9c9;
  text-align: center;
}

.cart_completion h3 {
  font-size: 2rem;
  margin-top: 30px;
}

.header_explanation {
  font-size: 1.5rem;
}

a.back_to_top_button {
  font-size: 2rem;
  text-align: center;
  width: 100%;
  color: #27a9c9;
  text-decoration: underline;
  display: block;
}

.cart__container .post {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
}

.error_message {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  width: 100%;
  color: #bf4e4e;
  font-size: 1.2rem;
  line-height: 1.7em;
}

.payment_image {
  width: 100%;
}

.order-service__text {
  font-size: 1.8rem;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  text-align: center;
}

.order-service__content {
  margin-top: 60px;
}

.order-service__image-page-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 30px 0;
}

.order-service__image-page-wrapper {
  width: 500px;
  height: 295px;
}

.order-service__image-page-wrapper--small {
  width: calc(100%/4);
  height: 200px;
}

.order-service__image-page-wrapper--big {
  width: 740px;
  height: 440px;
}

.order-service__image-page {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.order-service__shopping--no-padding {
  padding-top: 0;
}

.order-service__text--introduction {
  margin-bottom: 150px;
}

.order-service__text--introduction a {
  color: #27a9c9;
}

@media screen and (max-width: 767px) {
  .order-service__text {
    font-size: 14px;
  }

  .order-service__image-page-container {
    flex-direction: column;
  }

  .order-service__image-page-wrapper {
    width: 100%;
    height: 54.2vw;
  }

  .order-service__image-page-wrapper--small {
    height: 53.2vw;
  }

  .order-service__image-page-wrapper--big {
    height: 54.2vw;
  }
}
