@charset "UTF-8";
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none; }

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin: 0;
  padding: 0;
  margin-block-end: 0; }

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0; }

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5; }

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1; }

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance; }

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor; }

/* Make images easier to work with */
img,
picture {
  max-width: 100%; }

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit; }

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em; }

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex; }

.t_en {
  font-family: 'Fjalla One', sans-serif; }

.t_min {
  font-family: "Noto Serif JP", serif;
  font-weight: 500; }

.t_gothic {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500; }

/* ALL COMMON CSS
------------------------------------------------------
------------------------------------------------------
----------------------------------------------------*/
body {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  letter-spacing: 0.075em; }

img {
  max-width: 100%;
  vertical-align: bottom; }

a {
  text-decoration: none; }

.global-header .global-nav {
  box-sizing: border-box;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  padding: 0 20px;
  background-color: #000; }
  @media (max-width: 769px) {
    .global-header .global-nav {
      background-color: transparent; } }
  .global-header .global-nav .sp-menu {
    display: none;
    position: fixed;
    z-index: 1;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: solid 1px rgba(255, 255, 255, 0.5);
    background-color: transparent; }
    @media (max-width: 769px) {
      .global-header .global-nav .sp-menu {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #000;
        transition: all 0.3s ease; } }
    .global-header .global-nav .sp-menu._active {
      background-color: #fff; }
      .global-header .global-nav .sp-menu._active .bar {
        width: 0; }
        .global-header .global-nav .sp-menu._active .bar::before {
          transform: rotate(45deg);
          top: 0;
          background-color: #000; }
        .global-header .global-nav .sp-menu._active .bar::after {
          transform: rotate(-45deg);
          bottom: 0;
          background-color: #000; }
    .global-header .global-nav .sp-menu .bar {
      display: block;
      position: relative;
      width: 20px;
      height: 1px;
      background-color: #fff;
      transition: all 0.3s ease; }
      .global-header .global-nav .sp-menu .bar::before, .global-header .global-nav .sp-menu .bar::after {
        content: '';
        display: block;
        position: absolute;
        left: calc(50% - 10px);
        width: 20px;
        height: 1px;
        background-color: #fff;
        transition: all 0.3s ease; }
      .global-header .global-nav .sp-menu .bar::before {
        top: -8px; }
      .global-header .global-nav .sp-menu .bar::after {
        bottom: -8px; }
    .global-header .global-nav .sp-menu .text {
      display: none; }
  .global-header .global-nav .nav_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px; }
    @media (max-width: 769px) {
      .global-header .global-nav .nav_wrap {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: #000; } }
  .global-header .global-nav .navi {
    display: flex;
    align-items: center; }
    @media (max-width: 769px) {
      .global-header .global-nav .navi {
        display: block;
        border-bottom: solid 1px rgba(255, 255, 255, 0.5);
        padding-top: 60px; } }
    .global-header .global-nav .navi li {
      position: relative; }
      @media (max-width: 769px) {
        .global-header .global-nav .navi li {
          border-top: solid 1px rgba(255, 255, 255, 0.5); } }
      .global-header .global-nav .navi li + li {
        margin-left: 2em; }
        @media (max-width: 769px) {
          .global-header .global-nav .navi li + li {
            margin-left: 0; } }
        .global-header .global-nav .navi li + li::before {
          content: "/";
          display: block;
          position: absolute;
          left: -1.3em;
          color: rgba(255, 255, 255, 0.5); }
          @media (max-width: 769px) {
            .global-header .global-nav .navi li + li::before {
              display: none; } }
      .global-header .global-nav .navi li a {
        color: #fff;
        transition: all 0.3s ease; }
        @media (max-width: 769px) {
          .global-header .global-nav .navi li a {
            display: block;
            padding: 10px 20px; } }
        .global-header .global-nav .navi li a:hover {
          opacity: .5; }
  .global-header .global-nav .social-btn {
    display: flex;
    align-items: center; }
    @media (max-width: 769px) {
      .global-header .global-nav .social-btn {
        flex-wrap: wrap;
        justify-content: center;
        max-width: 120px;
        margin: 30px auto 0; } }
    .global-header .global-nav .social-btn li {
      position: relative;
      font-size: 14px;
      font-weight: 400; }
      .global-header .global-nav .social-btn li + li {
        margin-left: 20px; }
        .global-header .global-nav .social-btn li + li::after {
          content: '';
          display: block;
          position: absolute;
          left: -10px;
          top: 50%;
          width: 2px;
          height: 2px;
          border-radius: 50%;
          background-color: #fff;
          color: #fff; }
      @media (max-width: 769px) {
        .global-header .global-nav .social-btn li.lang {
          margin: 20px 0 0; } }
      .global-header .global-nav .social-btn li.lang::after {
        display: none; }
      .global-header .global-nav .social-btn li.lang a {
        padding: .3em 1em;
        border: solid 1px rgba(255, 255, 255, 0.3);
        transition: all 0.3s ease; }
        .global-header .global-nav .social-btn li.lang a:hover {
          background-color: #fff;
          border: solid 1px #fff;
          color: #000; }
      .global-header .global-nav .social-btn li a {
        display: block;
        color: #fff; }
        .global-header .global-nav .social-btn li a:hover img {
          opacity: .5; }
      .global-header .global-nav .social-btn li img {
        max-width: 24px;
        max-height: 24px;
        vertical-align: middle;
        transition: all 0.3s ease; }
.global-header .mainvisual {
  padding: 59px 0;
  background-color: #000; }
  @media (max-width: 769px) {
    .global-header .mainvisual {
      padding: 0 0 30px; } }
.global-header .mainvisual-mv {
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
  width: 100%;
  background-color: #000; }
  .global-header .mainvisual-mv::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .global-header .mainvisual-mv #yt_player {
    width: 100%;
    height: 100%; }

.ytp-show-cards-title {
  display: none !important; }

.wrap_bg {
  overflow: hidden;
  position: relative;
  background: url("../images/common/bg_pc.webp") no-repeat top center;
  background-attachment: fixed;
  background-size: cover;
  background-position: top center; }
  @media (max-width: 769px) {
    .wrap_bg {
      background-image: none; }
      .wrap_bg::before {
        content: '';
        display: block;
        position: fixed;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: url("../images/common/bg_sp.webp") no-repeat top center;
        background-size: cover;
        background-position: top center; } }

.wrap_bg-bottom {
  background-color: #fff; }

.relativeBlock {
  position: relative; }

.pcObject {
  display: block; }
  @media (max-width: 769px) {
    .pcObject {
      display: none; } }

.smpObject {
  display: none; }
  @media (max-width: 769px) {
    .smpObject {
      display: block; } }

#concept {
  padding: 150px 0 0; }
  @media (max-width: 769px) {
    #concept {
      padding-top: calc( 100% * 105 / 768 ); } }
  #concept .concept_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative; }
    #concept .concept_inner .schedule {
      margin: 70px auto;
      color: #fff;
      text-align: center; }
      #concept .concept_inner .schedule h3 {
        font-family: "Noto Serif JP", serif;
        font-weight: 500;
        font-size: 40px;
        letter-spacing: .2em;
        text-shadow: none; }
        @media (max-width: 769px) {
          #concept .concept_inner .schedule h3 {
            font-size: 5vw; } }
      #concept .concept_inner .schedule p {
        margin: .5em 0 0;
        font-family: "Noto Serif JP", serif;
        font-weight: 500;
        font-size: 33px;
        text-shadow: none; }
        @media (max-width: 769px) {
          #concept .concept_inner .schedule p {
            margin-top: .5em;
            font-size: 4.7vw;
            line-height: 1.3; } }

#performance {
  padding: 150px 25px 70px; }
  @media (max-width: 769px) {
    #performance {
      padding: 50px 25px 100px; } }
  #performance h2 {
    position: relative; }
    #performance h2::before, #performance h2::after {
      content: '';
      display: block;
      position: absolute;
      top: calc(50% - (3px / 2));
      width: 100%;
      height: 3px;
      border-top: solid 1px rgba(255, 255, 255, 0.5);
      border-bottom: solid 1px rgba(255, 255, 255, 0.5); }
    #performance h2::before {
      right: calc(50% + (790px / 2)); }
      @media (max-width: 769px) {
        #performance h2::before {
          right: 78vw; } }
    #performance h2::after {
      left: calc(50% + (790px / 2)); }
      @media (max-width: 769px) {
        #performance h2::after {
          left: 78vw; } }
    #performance h2 img {
      margin: 0 auto; }
      @media (max-width: 769px) {
        #performance h2 img {
          max-width: 75%;
          min-width: calc(483px / 2); } }
  #performance #dolphin {
    display: flex;
    justify-content: space-between;
    position: relative;
    max-width: 992px;
    margin: 70px auto 0; }
    @media (max-width: 769px) {
      #performance #dolphin {
        display: block;
        margin-top: 0; } }
    #performance #dolphin > section {
      position: relative;
      width: calc( 50% - 20px ); }
      @media (max-width: 769px) {
        #performance #dolphin > section {
          width: 100%;
          margin-top: calc( 100% * 100 / 768 ); } }
      #performance #dolphin > section .open {
        position: absolute;
        top: -30px;
        width: 190px;
        height: 60px;
        background-color: #00152a;
        color: #fff;
        font-family: "Noto Serif JP", serif;
        font-weight: 500;
        font-size: 30px;
        line-height: 60px;
        text-shadow: none;
        text-align: center; }
        @media (max-width: 769px) {
          #performance #dolphin > section .open {
            width: 6em;
            height: auto;
            line-height: 2.5;
            font-size: 5vw; } }
      #performance #dolphin > section .wrap {
        border-radius: 10px;
        background: #fff;
        -moz-box-shadow: 0px 0px 10px 5px #fff;
        -webkit-box-shadow: 0px 0px 10px 5px #fff;
        box-shadow: 0px 0px 10px 5px #fff; }
        #performance #dolphin > section .wrap .ph {
          overflow: hidden;
          border-radius: 10px; }
          #performance #dolphin > section .wrap .ph img {
            width: 100%; }
        #performance #dolphin > section .wrap .txt {
          line-height: calc( 36 / 20 );
          padding: 30px;
          text-align: center;
          letter-spacing: 0;
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: 18px; }
          @media (max-width: 769px) {
            #performance #dolphin > section .wrap .txt {
              font-size: 16px;
              padding: 30px 20px; } }
          #performance #dolphin > section .wrap .txt h3 {
            font-family: "Noto Serif JP", serif;
            font-weight: 600;
            font-size: 26px;
            color: #092b75; }
            @media (max-width: 769px) {
              #performance #dolphin > section .wrap .txt h3 {
                font-size: 6vw;
                line-height: 1.3; } }
          #performance #dolphin > section .wrap .txt p {
            margin: 1em 0; }
            @media (max-width: 769px) {
              #performance #dolphin > section .wrap .txt p {
                font-size: 4vw; } }
          #performance #dolphin > section .wrap .txt .btn {
            width: calc( 560px / 2 );
            margin: 15px auto 0;
            text-align: center; }
            @media (max-width: 769px) {
              #performance #dolphin > section .wrap .txt .btn {
                width: auto;
                max-width: 320px;
                margin: 15px auto 0; } }
            #performance #dolphin > section .wrap .txt .btn img {
              height: 60px;
              transition: all 0.3s ease; }
            #performance #dolphin > section .wrap .txt .btn a:hover img {
              opacity: .7; }
      #performance #dolphin > section.day .open {
        left: -50px; }
        @media (max-width: 769px) {
          #performance #dolphin > section.day .open {
            left: -25px; } }
      #performance #dolphin > section.night .open {
        right: -50px; }
        @media (max-width: 769px) {
          #performance #dolphin > section.night .open {
            right: auto;
            left: -25px; } }

#content {
  box-sizing: border-box;
  max-width: 1290px;
  margin: 0 auto;
  padding: 100px 25px 170px; }
  @media (max-width: 769px) {
    #content {
      padding: 50px 25px 170px; } }
  #content h2 {
    position: relative;
    margin-bottom: 20px;
    text-align: center; }
    @media (max-width: 769px) {
      #content h2 {
        margin-bottom: 0; } }
    #content h2::before, #content h2::after {
      content: '';
      display: block;
      position: absolute;
      top: calc(50% - (3px / 2));
      width: 100%;
      height: 3px;
      border-top: solid 1px rgba(255, 255, 255, 0.5);
      border-bottom: solid 1px rgba(255, 255, 255, 0.5); }
    #content h2::before {
      right: calc(50% + (383px / 2)); }
      @media (max-width: 769px) {
        #content h2::before {
          right: 70vw; } }
    #content h2::after {
      left: calc(50% + (383px / 2)); }
      @media (max-width: 769px) {
        #content h2::after {
          left: 70vw; } }
    @media (max-width: 769px) {
      #content h2 img {
        max-width: 50vw;
        min-width: calc(360px / 2); } }
  #content section {
    position: relative;
    padding: 80px 0 70px;
    /* .article_inner */ }
    @media (max-width: 769px) {
      #content section {
        padding: 50px 0 30px; } }
    #content section .article_inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      z-index: 1; }
      @media (max-width: 769px) {
        #content section .article_inner {
          flex-direction: column-reverse; } }
      #content section .article_inner.row-reverse {
        flex-direction: row-reverse; }
        @media (max-width: 769px) {
          #content section .article_inner.row-reverse {
            flex-direction: column-reverse; } }
        #content section .article_inner.row-reverse::before {
          left: auto;
          right: 0; }
          @media (max-width: 769px) {
            #content section .article_inner.row-reverse::before {
              border-radius: 20px; } }
        @media (max-width: 769px) {
          #content section .article_inner.row-reverse .txt {
            margin: 20px 10px; } }
      #content section .article_inner::before {
        content: '';
        display: block;
        position: absolute;
        z-index: -1;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        aspect-ratio: 1/1;
        width: 40%;
        border-radius: 50%;
        background-color: rgba(255, 255, 255, 0.9);
        box-shadow: 0px 0px 30px 30px #f2e4c0, inset  0px 0px 60px 20px #f2e4c0; }
        @media (max-width: 769px) {
          #content section .article_inner::before {
            aspect-ratio: inherit;
            transform: translateY(0);
            top: 0;
            width: 100%;
            height: 100%;
            border-radius: 20px;
            box-shadow: 0px 0px 10px 10px #f2e4c0, inset  0px 0px 60px 20px #f2e4c0; } }
      #content section .article_inner .txt {
        width: 40%;
        text-shadow: none;
        text-align: center; }
        @media (max-width: 769px) {
          #content section .article_inner .txt {
            width: calc(100% - 20px);
            margin: 20px 10px; } }
        #content section .article_inner .txt h3 {
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: 32px;
          line-height: 1.3;
          color: #092b75; }
          @media (max-width: 769px) {
            #content section .article_inner .txt h3 {
              font-size: 5.5vw; } }
        #content section .article_inner .txt p {
          margin: 1em 0 0;
          font-family: "Noto Serif JP", serif;
          font-weight: 600;
          font-size: 18px;
          line-height: 1.8; }
          @media (max-width: 769px) {
            #content section .article_inner .txt p {
              font-size: 3.8vw; } }
      #content section .article_inner .ph {
        position: relative;
        overflow: hidden;
        width: 55%;
        border: solid 1px #fff;
        border-radius: 6px;
        box-shadow: 0 0 10px 5px #fff; }
        @media (max-width: 769px) {
          #content section .article_inner .ph {
            width: 100%;
            border: none;
            border-radius: 20px;
            border-bottom-left-radius: 0;
            border-bottom-right-radius: 0;
            box-shadow: none; } }
    #content section#c-cafe {
      /* .seasonalmenu */ }
      #content section#c-cafe .seasonalmenu {
        margin: 70px 0 0;
        padding: 30px 20px;
        background-color: rgba(8, 16, 49, 0.7); }
        @media (max-width: 769px) {
          #content section#c-cafe .seasonalmenu {
            margin: 50px 0 0; } }
        #content section#c-cafe .seasonalmenu h4 {
          line-height: 1;
          font-family: 'Fjalla One', sans-serif;
          font-size: 50px;
          color: #fff;
          text-align: center;
          text-shadow: 0 0 5px #092b75; }
          @media (max-width: 769px) {
            #content section#c-cafe .seasonalmenu h4 {
              font-size: 34px; } }
        #content section#c-cafe .seasonalmenu .wrap {
          display: flex;
          justify-content: center;
          align-items: flex-end;
          margin: 30px 0 0;
          text-shadow: none;
          color: #fff; }
          @media (max-width: 769px) {
            #content section#c-cafe .seasonalmenu .wrap {
              flex-wrap: wrap;
              justify-content: space-between;
              margin: 0; } }
          #content section#c-cafe .seasonalmenu .wrap li {
            width: calc( ( 100% / 4 ) - 30px );
            max-width: 260px;
            margin: 0 15px; }
            @media (max-width: 769px) {
              #content section#c-cafe .seasonalmenu .wrap li {
                max-width: none;
                width: 48%;
                margin: 25px 0 0; } }
            #content section#c-cafe .seasonalmenu .wrap li .item {
              max-width: 260px;
              margin: 0 auto; }
        #content section#c-cafe .seasonalmenu .attention {
          display: flex;
          justify-content: flex-end;
          text-shadow: none;
          margin: 1.5em 0 0; }
          #content section#c-cafe .seasonalmenu .attention li {
            font-size: 14px;
            font-weight: 400;
            color: #fff; }
            @media (max-width: 769px) {
              #content section#c-cafe .seasonalmenu .attention li {
                font-size: 12px; } }

#c-modelplan {
  padding-left: 25px;
  padding-right: 25px; }

.c-modelplan {
  max-width: 1290px;
  margin: 0 auto; }
  .c-modelplan .btn_modelplan {
    width: 50%;
    margin: 0 auto;
    border: solid 1px #fff;
    border-radius: 60px;
    box-shadow: 0 0 10px 5px #fff; }
    @media (max-width: 769px) {
      .c-modelplan .btn_modelplan {
        width: 100%; } }
    .c-modelplan .btn_modelplan a:hover img {
      opacity: .7; }
    .c-modelplan .btn_modelplan img {
      transition: all 0.3s ease; }

#ticket {
  padding: 120px 20px 0;
  text-align: center;
  background-color: #fff;
  /* .ticket_inner */ }
  @media (max-width: 769px) {
    #ticket {
      padding-top: 100px; } }
  #ticket h2 img {
    max-width: 100%; }
  #ticket .ticket_inner {
    max-width: 940px;
    margin: 0 auto;
    text-align: left; }
    #ticket .ticket_inner section {
      margin: 70px 0 0; }
      #ticket .ticket_inner section + section {
        margin-top: 45px; }
      #ticket .ticket_inner section h3 {
        font-size: 20px; }
      #ticket .ticket_inner section .wrap {
        margin: 10px 0 0;
        padding: 10px 0 0;
        border-top: solid 1px #ccc; }
        @media (max-width: 769px) {
          #ticket .ticket_inner section .wrap {
            display: block; } }
        #ticket .ticket_inner section .wrap + .wrap {
          border-top: none; }
        #ticket .ticket_inner section .wrap .object {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          @media (max-width: 769px) {
            #ticket .ticket_inner section .wrap .object {
              display: block; } }
          #ticket .ticket_inner section .wrap .object h4 {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            width: 100%;
            font-weight: bold; }
            #ticket .ticket_inner section .wrap .object h4 .icon {
              min-width: 18px;
              max-width: 18px;
              margin-right: 0.3em; }
          #ticket .ticket_inner section .wrap .object .txt {
            width: calc( 100% - ( 560px / 2 ) - 15px ); }
            #ticket .ticket_inner section .wrap .object .txt .detail_txt {
              padding-left: 1em;
              text-indent: -1em; }
              #ticket .ticket_inner section .wrap .object .txt .detail_txt em {
                font-style: normal;
                color: #1c75b8; }
              @media (max-width: 769px) {
                #ticket .ticket_inner section .wrap .object .txt .detail_txt td {
                  padding-bottom: 16px; }
                  .en #ticket .ticket_inner section .wrap .object .txt .detail_txt td {
                    width: 50%; } }
              #ticket .ticket_inner section .wrap .object .txt .detail_txt td + td {
                padding-left: 16px;
                width: 66%; }
                .en #ticket .ticket_inner section .wrap .object .txt .detail_txt td + td {
                  width: 50%; }
            @media (max-width: 769px) {
              #ticket .ticket_inner section .wrap .object .txt {
                width: 100%; } }
            #ticket .ticket_inner section .wrap .object .txt .attention {
              margin: 0.5em 0 0; }
              #ticket .ticket_inner section .wrap .object .txt .attention li {
                line-height: 1.3;
                padding-left: 1em;
                text-indent: -1em;
                font-size: 13px; }
          #ticket .ticket_inner section .wrap .object .btn {
            width: calc( 560px / 2 ); }
            @media (max-width: 769px) {
              #ticket .ticket_inner section .wrap .object .btn {
                margin: 1em auto 0; } }
            #ticket .ticket_inner section .wrap .object .btn img {
              max-width: 100%;
              transition: all 0.3s ease; }
              #ticket .ticket_inner section .wrap .object .btn img:hover {
                opacity: .7; }

#sns_buttons {
  padding-top: 130px;
  background-color: #fff;
  /* .sns_buttons_inner */ }
  #sns_buttons .sns_buttons_inner {
    margin: 0 5%;
    /* ul */ }
    #sns_buttons .sns_buttons_inner ul {
      display: flex;
      justify-content: center; }
      @media (max-width: 769px) {
        #sns_buttons .sns_buttons_inner ul li {
          width: 20%; } }
      #sns_buttons .sns_buttons_inner ul li + li {
        margin-left: 15px; }
        @media (max-width: 769px) {
          #sns_buttons .sns_buttons_inner ul li + li {
            margin-left: 2%; } }
      #sns_buttons .sns_buttons_inner ul li a img {
        max-width: 100%; }
      #sns_buttons .sns_buttons_inner ul li a:hover img {
        opacity: 0.8; }

.sns_page_post {
  overflow: hidden;
  display: flex;
  position: relative;
  margin: 80px 0 0;
  background-image: url("../images/common/sns_bg.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  text-align: center; }
  .sns_page_post .post_sns {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc((100% - 370px)/2);
    background-repeat: no-repeat;
    background-size: 1141px auto; }
    @media (max-width: 769px) {
      .sns_page_post .post_sns {
        width: 50%;
        padding: 40px 0; } }
    .sns_page_post .post_sns.instagram {
      background-image: url("../images/common/sns_page-is.svg");
      background-position: right center; }
      @media (max-width: 769px) {
        .sns_page_post .post_sns.instagram {
          background-color: #db4b61; } }
    .sns_page_post .post_sns.twitter {
      background-image: url("../images/common/sns_page-tw.svg");
      background-position: left center; }
      @media (max-width: 769px) {
        .sns_page_post .post_sns.twitter {
          background-color: #000; } }
    .sns_page_post .post_sns h3 {
      margin: 0 0 40px;
      font-weight: lighter;
      letter-spacing: 3px;
      font-size: 30px; }
      @media (max-width: 769px) {
        .sns_page_post .post_sns h3 {
          font-size: 4vw; } }
    .sns_page_post .post_sns figure img {
      width: auto;
      height: 62px; }
      @media (max-width: 769px) {
        .sns_page_post .post_sns figure img {
          width: 8.3vw;
          height: auto; } }
    .sns_page_post .post_sns .btn-post {
      width: 130px;
      margin: 40px auto 0; }
      .sns_page_post .post_sns .btn-post a {
        display: block;
        border: solid 2px #fff;
        border-radius: 45px;
        font-size: 15px;
        color: #fff;
        line-height: 45px;
        transition: all 0.3s ease; }
        .sns_page_post .post_sns .btn-post a:hover {
          opacity: .7; }
  .sns_page_post .sns_tag {
    width: 840px;
    padding: 70px 0;
    font-size: 17px;
    line-height: 1.7647058824; }
    @media (max-width: 769px) {
      .sns_page_post .sns_tag {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: auto;
        padding: 0;
        font-size: 2.3vw;
        line-height: 1.2; } }
    .sns_page_post .sns_tag dl dt {
      margin: 0 0 1em;
      font-weight: 700; }

#access {
  padding: 120px 20px; }
  #access h2 {
    text-align: center; }
  #access .mapnav {
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    max-width: 940px;
    margin: 30px auto 0; }
    @media (max-width: 769px) {
      #access .mapnav {
        display: block;
        width: auto; } }
    #access .mapnav .left {
      width: 300px; }
      @media (max-width: 769px) {
        #access .mapnav .left {
          width: auto;
          text-align: center; } }
      body.en #access .mapnav .left {
        width: 400px; }
        @media (max-width: 769px) {
          body.en #access .mapnav .left {
            width: auto; } }
      #access .mapnav .left .logo-f {
        width: 190px; }
        @media (max-width: 769px) {
          #access .mapnav .left .logo-f {
            width: 24.47vw; } }
      #access .mapnav .left p {
        margin: 20px 0 0;
        font-size: 14px;
        letter-spacing: 0; }
        @media (max-width: 769px) {
          #access .mapnav .left p {
            margin-top: 4vw;
            font-size: 2.2vw; } }
        #access .mapnav .left p a {
          transition: all 0.3s ease; }
          #access .mapnav .left p a:hover {
            opacity: .5; }
          #access .mapnav .left p a::after {
            content: '＞';
            margin: 0 0 0 .5em; }
    #access .mapnav .right {
      width: calc(100% - 320px); }
      @media (max-width: 769px) {
        #access .mapnav .right {
          width: 100%;
          margin: 20px 0 0; } }
      #access .mapnav .right iframe {
        width: 100%;
        height: 200px; }
      #access .mapnav .right .btn-map {
        margin: 25px 0 0;
        text-align: center; }
        #access .mapnav .right .btn-map a {
          display: inline-block;
          width: 120px;
          line-height: 30px;
          border-radius: 6px;
          background-color: #f1891c;
          font-family: 'Fjalla One', sans-serif;
          color: #fff;
          transition: all 0.3s ease; }
          #access .mapnav .right .btn-map a:hover {
            opacity: .5; }
  #access .access-content {
    aspect-ratio: 1191/517;
    position: relative;
    max-width: 1191px;
    margin: 70px auto 0;
    text-align: center; }
    @media (max-width: 769px) {
      #access .access-content {
        aspect-ratio: auto;
        margin-top: 50px; } }
    @media (max-width: 769px) {
      #access .access-content .bg_img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%; } }
    #access .access-content .inner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%; }
      @media (max-width: 769px) {
        #access .access-content .inner {
          position: static;
          transform: translate(0, 0); } }
      #access .access-content .inner p {
        font-size: 14px; }
        @media (max-width: 769px) {
          #access .access-content .inner p {
            font-size: 2.2vw; } }

footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background-image: url("../images/common/bg_footer.webp");
  background-size: cover;
  color: #fff; }
  @media (max-width: 769px) {
    footer {

      padding: 20vw 0;
      background-image: url("../images/common/bg_footer_sp.webp");
      background-size: cover;
      font-size: 12px; } }
  footer h3 {
    margin: 0 0 55px;
    font-size: 24px;
    font-weight: 700;
    color: #f1891c; }
    @media (max-width: 769px) {
      footer h3 {
        margin-bottom: 4vw;
        font-size: 16px; } }
  footer .about-owner {
    max-width: 750px;
    margin: 0 auto; }
    @media (max-width: 769px) {
      footer .about-owner {
        width: 90%; } }
  footer .owner-pic {
    display: block;
    width: 190px;
    margin: 0 auto 40px; }
    @media (max-width: 769px) {
      footer .owner-pic {
        width: 24.74vw;
        margin-bottom: 5vw;
        min-width: 120px; } }
    footer .owner-pic svg {
      fill: #fff; }
  footer .officialbox {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 60px 0 0; }
    @media (max-width: 769px) {
      footer .officialbox {
        flex-direction: column;
        margin-top: 5vw; } }
    @media (max-width: 769px) {
      footer .officialbox .official_go {
        margin: 0 0 3vw;
        font-size: .9rem; } }
    footer .officialbox .official-pages {
      display: flex;
      align-items: center; }
      @media (max-width: 769px) {
        footer .officialbox .official-pages {
          margin-right: 15px; } }
      footer .officialbox .official-pages li {
        margin: 0 0 0 15px; }
        footer .officialbox .official-pages li.youtube img {
          height: auto; }
        footer .officialbox .official-pages li img {
          height: 30px; }
        footer .officialbox .official-pages li a {
          transition: all 0.3s ease; }
          footer .officialbox .official-pages li a:hover {
            opacity: .5; }
  footer .widget {
    margin: 100px 0 0; }
    @media (max-width: 769px) {
      footer .widget {
        margin-top: 5vw; } }
    footer .widget .sharebutton-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      line-height: 1; }
      footer .widget .sharebutton-wrap li {
        height: 20px; }

.page-top p {
  cursor: pointer;
  position: fixed;
  z-index: 998;
  bottom: 40px;
  right: 60px;
  width: 65px;
  height: 65px;
  background-image: url("../images/common/back.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  transition: all 0.3s ease;
  text-indent: -9999px; }
  @media (max-width: 769px) {
    .page-top p {
      right: 20px;
      bottom: 20px;
      width: 30px;
      height: 30px; } }
.page-top.act p {
  opacity: .5; }
  .page-top.act p:hover {
    opacity: 1; }

/*# sourceMappingURL=common.css.map */
