@charset "UTF-8";
/* common
---------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box; }

body {
  -webkit-text-size-adjust: none;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 3.7333333333vw;
  line-height: 1.75; }
  @media screen and (min-width: 768px) {
    body {
      max-width: 1920px;
      font-size: 16px;
      margin: 0 auto; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    body {
      font-size: 1.4545454545vw; } }

a {
  text-decoration: none;
  overflow: hidden;
  outline: none;
  transition: all  0.3s ease; }
  @media (hover: hover) {
    a:hover {
      opacity: 0.7; } }
  @media (hover: none) {
    a:active {
      opacity: 0.7; } }

img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast; }
  @media screen and (min-width: 768px) {
    img {
      width: auto; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    img {
      width: 100%; } }

.sp {
  display: block; }
  @media screen and (min-width: 768px) {
    .sp {
      display: none; } }

.pc {
  display: none; }
  @media screen and (min-width: 768px) {
    .pc {
      display: block; } }

.center {
  text-align: center; }

.js-accordion dd,
.tab-contents,
.modal-contents {
  display: none; }

/* header
---------------------------------------------------- */
.header {
  height: 18.6666666667vw;
  padding: 0 0 0 5.3333333333vw;
  background: #fff;
  display: flex;
  align-items: center; }
  @media screen and (min-width: 768px) {
    .header {
      height: 144px;
      padding: 0;
      justify-content: center; } }
  .header__logo {
    width: 32vw; }
    @media screen and (min-width: 768px) {
      .header__logo {
        width: 149px; } }
    .header__logo img {
      width: 100%; }
  .header__nav {
    width: 18.6666666667vw;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .header__nav {
        width: 80px; } }
    .header__nav .close {
      display: none;
      width: 18.6666666667vw;
      position: absolute;
      top: 0;
      right: 0; }
      @media screen and (min-width: 768px) {
        .header__nav .close {
          width: 80px; } }
    .header__nav img {
      width: 100%; }
  .header nav {
    width: 100%;
    background: #422916;
    padding: 12.5333333333vw 5.3333333333vw;
    position: fixed;
    top: 0;
    /*top: calcVw(140px);*/
    right: -100%;
    z-index: 50;
    bottom: 0;
    /*overflow-y: scroll;*/
    transition: 0.5s ease-in-out; }
    @media screen and (min-width: 768px) {
      .header nav {
        width: 439px;
        /*top: 80px;*/
        padding: 58px 23px; } }
    .header nav.is-show {
      right: 0; }
    .header nav li:not(:first-child) {
      margin: 10.6666666667vw 0 0 0;
      position: relative; }
      @media screen and (min-width: 768px) {
        .header nav li:not(:first-child) {
          margin: 48px 0 0 0; } }
      .header nav li:not(:first-child)::after {
        content: '';
        display: block;
        width: 3.3333333333vw;
        height: 1px;
        background: #fff;
        position: absolute;
        top: -5.3333333333vw;
        left: 0; }
        @media screen and (min-width: 768px) {
          .header nav li:not(:first-child)::after {
            width: 28px;
            height: 2px;
            top: -25px; } }
    .header nav li:nth-child(1) a {
      background: url(../img/header-nav-img01.png) no-repeat;
      background-size: auto 8vw; }
      @media screen and (min-width: 768px) {
        .header nav li:nth-child(1) a {
          background-size: auto 34px; } }
    .header nav li:nth-child(2) a {
      background: url(../img/header-nav-img02.png) no-repeat;
      background-size: auto 8vw; }
      @media screen and (min-width: 768px) {
        .header nav li:nth-child(2) a {
          background-size: auto 34px; } }
    .header nav li:nth-child(3) a {
      background: url(../img/header-nav-img03.png) no-repeat;
      background-size: auto 8vw; }
      @media screen and (min-width: 768px) {
        .header nav li:nth-child(3) a {
          background-size: auto 34px; } }
    .header nav li:nth-child(4) a {
      background: url(../img/header-nav-img04.png) no-repeat;
      background-size: auto 8vw; }
      @media screen and (min-width: 768px) {
        .header nav li:nth-child(4) a {
          background-size: auto 34px; } }
    .header nav li:nth-child(5) a {
      background: url(../img/header-nav-img05.png) no-repeat;
      background-size: auto 8vw; }
      @media screen and (min-width: 768px) {
        .header nav li:nth-child(5) a {
          background-size: auto 34px; } }
    .header nav li a {
      display: block;
      color: #fff;
      line-height: 1;
      padding: 8vw 0 0 0; }
      @media screen and (min-width: 768px) {
        .header nav li a {
          padding: 35px 0 0 0; } }

/* fv
---------------------------------------------------- */
.fv__slide {
  height: 101.3333333333vw;
  position: relative;
  overflow: hidden;
  position: relative; }
  @media screen and (min-width: 768px) {
    .fv__slide {
      /*height: 1012px;*/
      height: calc(100vh - 144px); } }
  .fv__slide.is-show .fv__bg {
    opacity: 0.5; }
  .fv__slide.is-show .fv__line01 {
    animation: fvLine01 0.5s 0.5s forwards; }
  .fv__slide.is-show .fv__line02 {
    animation: fvLine02 0.5s 1s forwards; }
  .fv__slide.is-show h1 {
    animation: fvLogo 1s 2s forwards; }
  .fv__slide.is-show .fv__main {
    animation: fvLogo 2.5s 2.5s forwards; }
  .fv__slide::before, .fv__slide::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    z-index: 20; }
  .fv__slide::before {
    background: url(../img/fv-bg01.png) no-repeat 50% 0;
    background-size: 100% auto;
    top: 0; }
    @media screen and (min-width: 768px) {
      .fv__slide::before {
        background: url(../img/fv-bg01-pc.png) no-repeat 50% 0; } }
    @media screen and (min-width: 1920px) {
      .fv__slide::before {
        background-size: 100% auto; } }
  .fv__slide::after {
    background: url(../img/fv-bg02.png) no-repeat 50% 100%;
    background-size: 100% auto;
    bottom: -1px; }
    @media screen and (min-width: 768px) {
      .fv__slide::after {
        background: url(../img/fv-bg02-pc.png) no-repeat 50% 100%; } }
    @media screen and (min-width: 1920px) {
      .fv__slide::after {
        background-size: 100% auto; } }
.fv__photo {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1; }
.fv__photoItem {
  height: 101.3333333333vw; }
  @media screen and (min-width: 768px) {
    .fv__photoItem {
      /*height: 1012px;*/
      height: calc(100vh - 144px); } }
  .fv__photoItem.photo01 {
    background: url(../img/fv-photo01.jpg) no-repeat 50%;
    background-size: cover; }
    @media screen and (min-width: 768px) {
      .fv__photoItem.photo01 {
        background: url(../img/fv-photo01-pc.jpg) no-repeat 50%;
        background-size: cover; } }
  .fv__photoItem.photo02 {
    background: url(../img/fv-photo02.jpg) no-repeat 50%;
    background-size: cover; }
    @media screen and (min-width: 768px) {
      .fv__photoItem.photo02 {
        background: url(../img/fv-photo02-pc.jpg) no-repeat 50%;
        background-size: cover; } }
  .fv__photoItem.photo03 {
    background: url(../img/fv-photo03.jpg) no-repeat 50%;
    background-size: cover; }
    @media screen and (min-width: 768px) {
      .fv__photoItem.photo03 {
        background: url(../img/fv-photo03-pc.jpg) no-repeat 50%;
        background-size: cover; } }
  .fv__photoItem.photo04 {
    background: url(../img/fv-photo04.jpg) no-repeat 50%;
    background-size: cover; }
    @media screen and (min-width: 768px) {
      .fv__photoItem.photo04 {
        background: url(../img/fv-photo04-pc.jpg) no-repeat 50%;
        background-size: cover; } }
  .fv__photoItem.photo05 {
    background: url(../img/fv-photo05.jpg) no-repeat 50%;
    background-size: cover; }
    @media screen and (min-width: 768px) {
      .fv__photoItem.photo05 {
        background: url(../img/fv-photo05-pc.jpg) no-repeat 50%;
        background-size: cover; } }
.fv__bg {
  height: 100%;
  background: #3E3630;
  position: relative;
  opacity: 0.3;
  transition: opacity 1s ease;
  z-index: 15; }
.fv__line01 {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 25;
  opacity: 0; }
.fv__line02 {
  width: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 25;
  opacity: 0; }
.fv h1 {
  width: 40.4vw;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: 30; }
  @media screen and (min-width: 768px) {
    .fv h1 {
      width: 387px; } }
  .fv h1 img {
    width: 100%; }
.fv__main {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: 10;
  background: url(../img/fv-photo06.jpg) no-repeat 50%;
  background-size: cover; }
  @media screen and (min-width: 768px) {
    .fv__main {
      background: url(../img/fv-photo06-pc.jpg) no-repeat 50%;
      background-size: cover; } }
.fv .slick-animation {
  animation: fadezoom 5s 0s forwards; }

@keyframes fadezoom {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.1); } }
@keyframes fvLine01 {
  0% {
    right: -100%;
    opacity: 0; }
  100% {
    right: 0;
    opacity: 1; } }
@keyframes fvLine02 {
  0% {
    left: -100%;
    opacity: 0; }
  100% {
    left: 0;
    opacity: 1; } }
@keyframes fvLogo {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* introduction
---------------------------------------------------- */
.introduction {
  padding: 8.9333333333vw 0 19.3333333333vw 0; }
  @media screen and (min-width: 768px) {
    .introduction {
      padding: 47px 0 67px 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .introduction {
      padding: 4.2727272727vw 0 6.0909090909vw 0; } }
  .introduction__logo {
    width: 28.8vw;
    margin: 19.6vw auto 0 auto; }
    @media screen and (min-width: 768px) {
      .introduction__logo {
        width: 109px;
        margin: 70px auto 0 auto; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .introduction__logo {
        width: 9.9090909091vw;
        margin: 6.3636363636vw auto 0 auto; } }
    .introduction__logo img {
      width: 100%; }

/* message
---------------------------------------------------- */
.message {
  padding: 0 0 14.6666666667vw 0; }
  @media screen and (min-width: 768px) {
    .message {
      padding: 0 0 78px 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .message {
      padding: 0 0 7.0909090909vw 0; } }
  .message h2 {
    width: 42.9333333333vw;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .message h2 {
        width: auto; } }
  .message__txt {
    font-weight: 600;
    line-height: 2.14;
    letter-spacing: 0.04em;
    color: #654832;
    margin: 5.3333333333vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .message__txt {
        font-size: 16px;
        line-height: 3;
        margin: 14px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .message__txt {
        font-size: 1.4545454545vw;
        margin: 1.2727272727vw 0 0 0; } }

/* history
---------------------------------------------------- */
.history__bg01 {
  padding: 0 5.3333333333vw 4.2666666667vw 5.3333333333vw;
  background: url(../img/history-bg01.png) no-repeat, url(../img/history-bg02.png) no-repeat 0 100%, linear-gradient(to bottom, #AEE0FD, #F5E6B3);
  background-size: 100% auto, 100% auto, auto; }
  @media screen and (min-width: 768px) {
    .history__bg01 {
      padding: 0 0 87px 0;
      background: url(../img/history-bg01-pc.png) no-repeat 50% 0, url(../img/history-bg02-pc.png) no-repeat 50% 100%, linear-gradient(to bottom, #AEE0FD, #F5E6B3); } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history__bg01 {
      padding: 0 0 7.9090909091vw 0; } }
  @media screen and (min-width: 1920px) {
    .history__bg01 {
      background-size: 100% auto, 100% auto, auto; } }
.history h2 {
  margin: 0 0 8vw 0; }
  @media screen and (min-width: 768px) {
    .history h2 {
      position: relative;
      top: -10px;
      margin: 0 0 30px 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history h2 {
      top: -0.9090909091vw;
      margin: 0 0 2.7272727273vw 0; } }
.history__list {
  position: relative; }
  @media screen and (min-width: 768px) {
    .history__list {
      width: 1050px;
      margin: 0 auto; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history__list {
      width: 100%; } }
  .history__list::after {
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background: #586e7a;
    position: absolute;
    top: 0;
    left: 2vw;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      .history__list::after {
        width: 1px;
        left: 261px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .history__list::after {
        left: 23.1818181818vw; } }
  .history__list li {
    padding: 6vw 0 0 0;
    position: relative;
    z-index: 2; }
    @media screen and (min-width: 768px) {
      .history__list li {
        padding: 25px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .history__list li {
        padding: 2.2727272727vw 0 0 0; } }
    .history__list li:last-child {
      padding-bottom: 5.3333333333vw; }
      @media screen and (min-width: 768px) {
        .history__list li:last-child {
          padding-bottom: 15px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .history__list li:last-child {
          padding-bottom: 1.3636363636vw; } }
.history__listTxt {
  font-weight: 600;
  line-height: 1.85;
  color: #654832;
  padding: 2.6666666667vw 0 0 5.6vw; }
  @media screen and (min-width: 768px) {
    .history__listTxt {
      font-size: 12px;
      line-height: 1.875;
      padding: 6px 250px 0 270px; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history__listTxt {
      font-size: 1.0909090909vw;
      padding: 0.5454545455vw 22.7272727273vw 0 24.5454545455vw; } }
  @media screen and (min-width: 768px) {
    .history__listTxt.right {
      width: auto;
      padding: 0;
      position: absolute;
      top: 50px;
      left: 540px; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history__listTxt.right {
      top: 4.5454545455vw;
      left: 49.0909090909vw; } }
.history__txt01 {
  font-size: 4.2666666667vw;
  font-weight: 600;
  line-height: 1;
  color: #654832;
  opacity: 0.6;
  padding: 0 0 0 5.6vw;
  margin: 5.3333333333vw 0 0 0; }
  @media screen and (min-width: 768px) {
    .history__txt01 {
      font-size: 13px;
      padding: 0 0 0 270px;
      margin: 21px 0 0 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history__txt01 {
      font-size: 1.1818181818vw;
      padding: 0 0 0 24.5454545455vw;
      margin: 1.9090909091vw 0 0 0; } }
.history__more {
  margin: 5.0666666667vw 0 4.2666666667vw 0; }
  @media screen and (min-width: 768px) {
    .history__more {
      margin: 21px 0 28px 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history__more {
      margin: 1.9090909091vw 0 2.5454545455vw 0; } }
  .history__more dt {
    width: 89.3333333333vw;
    font-size: 4.2666666667vw;
    font-weight: 500;
    color: #654832;
    line-height: 9.0666666667vw;
    border: 0.5333333333vw solid #654832;
    background: #d5b445;
    padding: 0 0 0 2.4vw;
    margin: 0 auto;
    position: relative;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .history__more dt {
        width: 700px;
        font-size: 14px;
        line-height: 30px;
        border: 2px solid #654832;
        padding: 0 0 0 8px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .history__more dt {
        width: 63.6363636364vw;
        font-size: 1.2727272727vw;
        line-height: 2.7272727273vw;
        border: 0.1818181818vw solid #654832;
        padding: 0 0 0 0.7272727273vw; } }
    .history__more dt::after {
      content: '';
      display: block;
      width: 6.2666666667vw;
      height: 6.2666666667vw;
      background: #fff;
      position: absolute;
      right: 1.2vw;
      top: 50%;
      transform: translateY(-50%); }
      @media screen and (min-width: 768px) {
        .history__more dt::after {
          width: 21px;
          height: 21px;
          right: 6px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .history__more dt::after {
          width: 1.9090909091vw;
          height: 1.9090909091vw;
          right: 0.5454545455vw; } }
    .history__more dt span {
      display: block;
      width: 100%;
      height: 100%;
      position: relative; }
      .history__more dt span::before, .history__more dt span::after {
        content: '';
        display: block;
        width: 3.2vw;
        height: 0.5333333333vw;
        background: #654832;
        position: absolute;
        right: 2.6666666667vw;
        top: 50%;
        z-index: 2;
        margin: -0.2666666667vw 0 0 0; }
        @media screen and (min-width: 768px) {
          .history__more dt span::before, .history__more dt span::after {
            width: 10px;
            height: 2px;
            right: 11px;
            margin: -1px 0 0 0; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .history__more dt span::before, .history__more dt span::after {
            width: 0.9090909091vw;
            right: 1vw; } }
      .history__more dt span::before {
        transform: rotate(90deg);
        transition: all 0.3s ease; }
    .history__more dt.is-active span::before {
      transform: rotate(0deg); }
  .history__more dd {
    padding: 4vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .history__more dd {
        padding: 28px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .history__more dd {
        padding: 2.5454545455vw 0 0 0; } }
.history__bg02 {
  padding: 11.6vw 5.3333333333vw 17.3333333333vw 5.3333333333vw;
  background: url(../img/history-bg03.png) no-repeat, url(../img/history-bg04.png) no-repeat 0 100%, linear-gradient(to bottom, #EFE8D3, #f5dcc9);
  background-size: 100% auto, 100% auto, auto; }
  @media screen and (min-width: 768px) {
    .history__bg02 {
      padding: 55px 0 154px 0;
      background: url(../img/history-bg03-pc.png) no-repeat 50% 0, url(../img/history-bg04-pc.png) no-repeat 50% 100%, linear-gradient(to bottom, #EFE8D3, #f5dcc9); } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history__bg02 {
      padding: 5vw 0 14vw 0; } }
  @media screen and (min-width: 1920px) {
    .history__bg02 {
      background-size: 100% auto, 100% auto, auto; } }
.history .quiz-btn {
  width: 82.9333333333vw;
  margin: 5.3333333333vw 0 0 0;
  box-shadow: 0px 2.1333333333vw 2.1333333333vw 0px rgba(0, 0, 0, 0.16);
  cursor: pointer;
  transition: opacity 0.3 ease; }
  @media screen and (min-width: 768px) {
    .history .quiz-btn {
      width: 218px;
      margin: 23px 0 0 143px;
      box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.16); } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .history .quiz-btn {
      width: 19.8181818182vw;
      margin: 2.0909090909vw 0 0 13vw;
      box-shadow: 0px 0.7272727273vw 0.7272727273vw 0px rgba(0, 0, 0, 0.16); } }
  .history .quiz-btn:hover {
    opacity: 0.8; }
  .history .quiz-btn img {
    width: 100%; }

/* anniversary
---------------------------------------------------- */
.anniversary {
  padding: 8vw 0 0 0;
  background: url(../img/anniversary-bg.png) no-repeat 50% 0, linear-gradient(to bottom, transparent, transparent 10%, #00afdd 10%);
  background-size: 100% auto;
  margin: 2.6666666667vw 0 0 0; }
  @media screen and (min-width: 768px) {
    .anniversary {
      padding: 0;
      background: url(../img/anniversary-bg-pc.png) no-repeat 50% 0, linear-gradient(to bottom, transparent, transparent 10%, #00afdd 10%);
      margin: 31px 0 0 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .anniversary {
      margin: 2.8181818182vw 0 0 0; } }
  @media screen and (min-width: 1920px) {
    .anniversary {
      background-size: 100% auto; } }
  .anniversary__img01 {
    margin: 4.2666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .anniversary__img01 {
        margin: 11px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .anniversary__img01 {
        margin: 1vw 0 0 0; } }
  .anniversary__img02 {
    margin: 8.2666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .anniversary__img02 {
        margin: 8px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .anniversary__img02 {
        margin: 0.7272727273vw 0 0 0; } }

/* movie
---------------------------------------------------- */
.movie {
  min-height: 112vw;
  padding: 21.6vw 0 0 0;
  background: url(../img/movie-bg.png) no-repeat 50% 0;
  background-size: cover;
  margin: -16.2666666667vw 0 0 0; }
  @media screen and (min-width: 768px) {
    .movie {
      min-height: 783px;
      padding: 195px 0 0 0;
      background: url(../img/movie-bg01-pc.png) no-repeat 50% 0, url(../img/movie-bg02-pc.png) no-repeat 50% 100%, linear-gradient(to bottom, #00AFDD, #00AFDD 350px, #d5b345 350px);
      margin: -117px 0 0 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .movie {
      min-height: 71.1818181818vw;
      padding: 17.7272727273vw 0 0 0;
      background: url(../img/movie-bg01-pc.png) no-repeat 50% 0, url(../img/movie-bg02-pc.png) no-repeat 50% 100%, linear-gradient(to bottom, #00AFDD, #00AFDD 31.8181818182vw, #d5b345 31.8181818182vw);
      margin: -10.6363636364vw 0 0 0; } }
  @media screen and (min-width: 1920px) {
    .movie {
      background-size: 100% auto; } }
  .movie iframe {
    display: block;
    aspect-ratio: 16 / 9;
    width: 80vw;
    height: auto;
    margin: 8vw auto 0 auto; }
    @media screen and (min-width: 768px) {
      .movie iframe {
        width: 600px;
        margin: 60px auto 0 auto; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .movie iframe {
        width: 54.5454545455vw;
        margin: 5.4545454545vw auto 0 auto; } }

/* event
---------------------------------------------------- */
.event {
  padding: 12.6666666667vw 0 0 0;
  /*background: #05b0dd url(../img/event-bg01.png) no-repeat 50% 0;
  background-size: 100% auto;*/
  background: linear-gradient(to bottom, #fff, #00afdd 36.2666666667vw); }
  @media screen and (min-width: 768px) {
    .event {
      padding: 110px 0 0 0;
      /*background: #05b0dd url(../img/event-bg01-pc.png) repeat-x 50% 0;*/
      background: linear-gradient(to bottom, #fff, #00afdd 198px); } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .event {
      padding: 10vw 0 0 0;
      background: linear-gradient(to bottom, #fff, #00afdd 18vw); } }
  .event h2 {
    margin: 0 0 5.3333333333vw 0; }
    @media screen and (min-width: 768px) {
      .event h2 {
        margin: 0 0 10px 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .event h2 {
        margin: 0 0 0.9090909091vw 0; } }
  .event__bg {
    padding: 12.8vw 0 20vw 0;
    background: url(../img/event-bg02.png) no-repeat 50% 0, url(../img/event-bg03.png) no-repeat 50% 100%, #d5b445;
    background-size: 100% auto, 100% auto, auto; }
    @media screen and (min-width: 768px) {
      .event__bg {
        padding: 116px 0 120px 0;
        background: url(../img/event-bg02-pc.png) no-repeat 50% 0, url(../img/event-bg03-pc.png) no-repeat 50% 100%, #d5b445; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .event__bg {
        padding: 10.5454545455vw 0 10.9090909091vw 0; } }
    @media screen and (min-width: 1920px) {
      .event__bg {
        background-size: 100% auto; } }
  .event__bg02 {
    padding: 12.8vw 0 20vw 0;
    background: url(../img/event-bg02.png) no-repeat 50% 0, url(../img/event-bg04.png) no-repeat 50% 100%, #d5b445;
    background-size: 100% auto, 100% auto, auto; }
    @media screen and (min-width: 768px) {
      .event__bg02 {
        padding: 116px 0 120px 0;
        background: url(../img/event-bg02-pc.png) no-repeat 50% 0, url(../img/event-bg04-pc.png) no-repeat 50% 100%, #d5b445; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .event__bg02 {
        padding: 10.5454545455vw 0 10.9090909091vw 0; } }
    @media screen and (min-width: 1920px) {
      .event__bg02 {
        background-size: 100% auto; } }
  .event__slide {
    width: 89.3333333333vw;
    letter-spacing: 0.04em;
    line-height: 1.42;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .event__slide {
        width: 1200px; } }
    @media (min-width: 768px) and (max-width: 1250px) {
      .event__slide {
        width: 100%; } }
    .event__slide img {
      width: 100%; }
    .event__slide a {
      display: block;
      color: #654832; }
    .event__slide h3 {
      min-height: 2.76em;
      font-size: 4.8vw;
      font-weight: 700;
      line-height: 1.38;
      margin: 6.6666666667vw 0 5.3333333333vw 0;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (min-width: 768px) {
        .event__slide h3 {
          font-size: 21px;
          margin: 18px 0 10px 0; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .event__slide h3 {
          font-size: 1.9090909091vw;
          margin: 1.6363636364vw 0 0.9090909091vw 0; } }
  @media screen and (min-width: 768px) {
    .event .slick-slide {
      margin: 0 4px; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .event .slick-slide {
      margin: 0 0.3636363636vw; } }
  .event .slick-arrow {
    width: 8vw;
    position: absolute;
    top: 24.8vw;
    z-index: 5;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .event .slick-arrow {
        width: 36px;
        top: 108px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .event .slick-arrow {
        width: 3.2727272727vw;
        top: 9.8181818182vw; } }
    .event .slick-arrow.prev {
      left: 1.3333333333vw; }
      @media screen and (min-width: 768px) {
        .event .slick-arrow.prev {
          left: 410px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .event .slick-arrow.prev {
          left: 37.2727272727vw; } }
    .event .slick-arrow.next {
      right: 1.3333333333vw; }
      @media screen and (min-width: 768px) {
        .event .slick-arrow.next {
          right: 410px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .event .slick-arrow.next {
          right: 37.2727272727vw; } }
  .event .slick-dots {
    position: absolute;
    bottom: -10.6666666667vw;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    column-gap: 4vw; }
    @media screen and (min-width: 768px) {
      .event .slick-dots {
        bottom: -65px;
        column-gap: 23px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .event .slick-dots {
        bottom: -5.9090909091vw;
        column-gap: 2.0909090909vw; } }
    .event .slick-dots li {
      width: 2.6666666667vw; }
      @media screen and (min-width: 768px) {
        .event .slick-dots li {
          width: 15px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .event .slick-dots li {
          width: 1.3636363636vw; } }
    .event .slick-dots button {
      display: block;
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      width: 2.6666666667vw;
      height: 2.6666666667vw;
      background: transparent;
      border: 0.2666666667vw solid #fff; }
      @media screen and (min-width: 768px) {
        .event .slick-dots button {
          width: 15px;
          height: 15px;
          border: 1px solid #fff; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .event .slick-dots button {
          width: 1.3636363636vw;
          height: 1.3636363636vw; } }
    .event .slick-dots .slick-active button {
      background: #fff; }

/* campaign
---------------------------------------------------- */
.campaign {
  padding: 8vw 0 13.3333333333vw 0;
  background: url(../img/campaign-bg01.png) no-repeat 50% 0;
  background-size: 100% auto; }
  @media screen and (min-width: 768px) {
    .campaign {
      padding: 60px 0;
      background: url(../img/campaign-bg01-pc.png) repeat-x 50% 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .campaign {
      padding: 5.4545454545vw 0; } }
  .campaign h2 {
    margin: 0 0 8vw 0; }
    @media screen and (min-width: 768px) {
      .campaign h2 {
        margin: 0 0 42px 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .campaign h2 {
        margin: 0 0 3.8181818182vw 0; } }
  .campaign__photo {
    height: 82.1333333333vw;
    background: url(../img/campaign-photo.jpg) no-repeat 50%;
    background-size: cover;
    position: relative; }
    @media screen and (min-width: 768px) {
      .campaign__photo {
        height: 560px;
        background: url(../img/campaign-photo-pc.jpg) no-repeat 50%;
        background-size: cover; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .campaign__photo {
        height: 50.9090909091vw; } }
    .campaign__photo::before, .campaign__photo::after {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0; }
    .campaign__photo::before {
      background: url(../img/campaign-bg02.png) no-repeat 50% 0;
      background-size: 100% auto;
      top: 0; }
      @media screen and (min-width: 768px) {
        .campaign__photo::before {
          background: url(../img/campaign-bg02-pc.png) no-repeat 50% 0; } }
      @media screen and (min-width: 1920px) {
        .campaign__photo::before {
          background-size: 100% auto; } }
    .campaign__photo::after {
      background: url(../img/campaign-bg03.png) no-repeat 50% 100%;
      background-size: 100% auto;
      bottom: -1px; }
      @media screen and (min-width: 768px) {
        .campaign__photo::after {
          background: url(../img/campaign-bg03-pc.png) no-repeat 50% 100%; } }
      @media screen and (min-width: 1920px) {
        .campaign__photo::after {
          background-size: 100% auto; } }
  .campaign__bnr {
    width: 89.3333333333vw; }
    @media screen and (min-width: 768px) {
      .campaign__bnr {
        width: 1050px;
        display: flex;
        justify-content: space-between; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .campaign__bnr {
        width: 100%;
        padding: 0 10px; } }
    @media screen and (min-width: 768px) {
      .campaign__bnr > div {
        width: 30.45%; } }
    .campaign__bnr img {
      width: 100%; }
  .campaign__bnr01 {
    margin: 5.3333333333vw auto 0 auto; }
    @media screen and (min-width: 768px) {
      .campaign__bnr01 {
        margin: 30px auto 0 auto; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .campaign__bnr01 {
        margin: 2.7272727273vw auto 0 auto; } }
  .campaign__bnr02 {
    margin: 16vw auto 0 auto; }
    @media screen and (min-width: 768px) {
      .campaign__bnr02 {
        margin: 60px auto 0 auto; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .campaign__bnr02 {
        margin: 5.4545454545vw auto 0 auto; } }
  .campaign .slick-dots {
    position: absolute;
    bottom: -8vw;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    column-gap: 4vw; }
    .campaign .slick-dots li {
      width: 2.6666666667vw; }
    .campaign .slick-dots button {
      display: block;
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      width: 2.6666666667vw;
      height: 2.6666666667vw;
      background: #fff;
      border: 0.2666666667vw solid #654832; }
    .campaign .slick-dots .slick-active button {
      background: #654832; }

/* fun
---------------------------------------------------- */
.fun {
  padding: 0 0 21.4666666667vw 0;
  background: url(../img/fun-bg.png) no-repeat 0 100%;
  background-size: 100% auto; }
  @media screen and (min-width: 768px) {
    .fun {
      padding: 0 0 99px 0;
      background: url(../img/fun-bg-pc.png) no-repeat 50% 100%; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .fun {
      padding: 0 0 9vw 0; } }
  @media screen and (min-width: 1920px) {
    .fun {
      background-size: 100% auto; } }
  .fun__ttl {
    height: 63.2vw;
    padding: 14.4vw 0 0 0;
    background: url(../img/fun-ttl-bg.png) no-repeat;
    background-size: cover;
    border-bottom: 0.5333333333vw solid #654832;
    position: relative; }
    @media screen and (min-width: 768px) {
      .fun__ttl {
        height: 319px;
        padding: 95px 0 0 0;
        background: url(../img/fun-ttl-bg-pc.png) no-repeat 50% 0;
        border-bottom: 2px solid #654832; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__ttl {
        height: 29vw;
        padding: 8.6363636364vw 0 0 0; } }
    @media screen and (min-width: 1920px) {
      .fun__ttl {
        background-size: 100% auto; } }
  .fun__nav {
    width: 100%;
    display: flex;
    justify-content: center;
    column-gap: 0.8vw;
    position: absolute;
    left: 0;
    bottom: 0; }
    @media screen and (min-width: 768px) {
      .fun__nav {
        column-gap: 6px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__nav {
        column-gap: 0.5454545455vw; } }
    .fun__nav li {
      width: 21.8666666667vw; }
      @media screen and (min-width: 768px) {
        .fun__nav li {
          width: 254px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .fun__nav li {
          width: 23.0909090909vw; } }
      .fun__nav li:nth-child(1) a {
        background: url(../img/fun-nav-img01.png) no-repeat 0 100%;
        background-size: 100% auto; }
        @media screen and (min-width: 768px) {
          .fun__nav li:nth-child(1) a {
            background: url(../img/fun-nav-img01-pc.png) no-repeat 0 100%;
            background-size: 100% auto; } }
        .fun__nav li:nth-child(1) a.is-active {
          background: url(../img/fun-nav-img01-active.png) no-repeat 0 100%;
          background-size: 100% auto; }
          @media screen and (min-width: 768px) {
            .fun__nav li:nth-child(1) a.is-active {
              background: url(../img/fun-nav-img01-active-pc.png) no-repeat 0 100%;
              background-size: 100% auto; } }
      .fun__nav li:nth-child(2) a {
        background: url(../img/fun-nav-img02.png) no-repeat 0 100%;
        background-size: 100% auto; }
        @media screen and (min-width: 768px) {
          .fun__nav li:nth-child(2) a {
            background: url(../img/fun-nav-img02-pc.png) no-repeat 0 100%;
            background-size: 100% auto; } }
        .fun__nav li:nth-child(2) a.is-active {
          background: url(../img/fun-nav-img02-active.png) no-repeat 0 100%;
          background-size: 100% auto; }
          @media screen and (min-width: 768px) {
            .fun__nav li:nth-child(2) a.is-active {
              background: url(../img/fun-nav-img02-active-pc.png) no-repeat 0 100%;
              background-size: 100% auto; } }
      .fun__nav li:nth-child(3) a {
        background: url(../img/fun-nav-img03.png) no-repeat 0 100%;
        background-size: 100% auto; }
        @media screen and (min-width: 768px) {
          .fun__nav li:nth-child(3) a {
            background: url(../img/fun-nav-img03-pc.png) no-repeat 0 100%;
            background-size: 100% auto; } }
        .fun__nav li:nth-child(3) a.is-active {
          background: url(../img/fun-nav-img03-active.png) no-repeat 0 100%;
          background-size: 100% auto; }
          @media screen and (min-width: 768px) {
            .fun__nav li:nth-child(3) a.is-active {
              background: url(../img/fun-nav-img03-active-pc.png) no-repeat 0 100%;
              background-size: 100% auto; } }
      .fun__nav li:nth-child(4) a {
        background: url(../img/fun-nav-img04.png) no-repeat 0 100%;
        background-size: 100% auto; }
        @media screen and (min-width: 768px) {
          .fun__nav li:nth-child(4) a {
            background: url(../img/fun-nav-img04-pc.png) no-repeat 0 100%;
            background-size: 100% auto; } }
        .fun__nav li:nth-child(4) a.is-active {
          background: url(../img/fun-nav-img04-active.png) no-repeat 0 100%;
          background-size: 100% auto; }
          @media screen and (min-width: 768px) {
            .fun__nav li:nth-child(4) a.is-active {
              background: url(../img/fun-nav-img04-active-pc.png) no-repeat 0 100%;
              background-size: 100% auto; } }
    .fun__nav a {
      display: block;
      width: 100%;
      height: 24.2666666667vw;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap; }
      @media screen and (min-width: 768px) {
        .fun__nav a {
          height: 105px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .fun__nav a {
          height: 9.5454545455vw; } }
      .fun__nav a:hover {
        opacity: 1; }
      .fun__nav a.is-active {
        position: relative;
        bottom: -0.5333333333vw; }
        @media screen and (min-width: 768px) {
          .fun__nav a.is-active {
            bottom: -2px; } }
  .fun__contents {
    padding: 8.2666666667vw 5.3333333333vw; }
    @media screen and (min-width: 768px) {
      .fun__contents {
        width: 914px;
        padding: 62px 0;
        margin: 0 auto; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__contents {
        width: 83.0909090909vw;
        padding: 5.6363636364vw 0; } }
    .fun__contents section:not(:nth-of-type(1)) {
      margin: 5.3333333333vw 0 0 0; }
      @media screen and (min-width: 768px) {
        .fun__contents section:not(:nth-of-type(1)) {
          margin: 40px 0 0 0; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .fun__contents section:not(:nth-of-type(1)) {
          margin: 3.6363636364vw 0 0 0; } }
  .fun h3 {
    margin: 0 0 2.6666666667vw 0; }
    @media screen and (min-width: 768px) {
      .fun h3 {
        margin: 0 0 20px 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun h3 {
        margin: 0 0 1.8181818182vw 0; } }
    .fun h3.fun__catTtle {
      max-inline-size: max-content;
      font-size: 4.2666666667vw;
      font-weight: 700;
      line-height: 1.3;
      letter-spacing: 0.04em;
      color: #654832;
      margin: 0 auto;
      position: relative; }
      @media screen and (min-width: 768px) {
        .fun h3.fun__catTtle {
          font-size: 20px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .fun h3.fun__catTtle {
          font-size: 1.8181818182vw; } }
      .fun h3.fun__catTtle::after {
        content: '';
        display: block;
        width: 100%;
        height: 2.1333333333vw;
        background: #d5b445;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -1; }
        @media screen and (min-width: 768px) {
          .fun h3.fun__catTtle::after {
            height: 8px; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .fun h3.fun__catTtle::after {
            height: 0.7272727273vw; } }
  @media screen and (min-width: 768px) {
    .fun__thumb {
      display: flex;
      justify-content: space-between;
      align-items: center; } }
  @media screen and (min-width: 768px) {
    .fun__thumb.right {
      flex-direction: row-reverse; } }
  @media screen and (min-width: 768px) {
    .fun__thumbImg {
      width: 442px; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .fun__thumbImg {
      width: 40.1818181818vw; } }
  .fun__thumbImg img {
    width: 100%; }
  .fun__thumbTxt {
    font-weight: 600;
    line-height: 2.14;
    letter-spacing: 0.04em;
    color: #654832;
    margin: 2.6666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .fun__thumbTxt {
        width: 440px;
        line-height: 2.5;
        margin: 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__thumbTxt {
        width: 40vw; } }
  .fun__list {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #000;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 2.6666666667vw;
    margin: 2.6666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .fun__list {
        width: 760px;
        row-gap: 20px;
        margin: 20px auto 0 auto; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__list {
        width: 69.0909090909vw;
        row-gap: 1.8181818182vw;
        margin: 1.8181818182vw auto 0 auto; } }
    .fun__list > li {
      width: 42.6666666667vw;
      border: 1px solid #654832;
      box-shadow: 0px 2.1333333333vw 2.1333333333vw 0px rgba(0, 0, 0, 0.16);
      position: relative; }
      @media screen and (min-width: 768px) {
        .fun__list > li {
          width: 370px;
          box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.16); } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .fun__list > li {
          width: 33.6363636364vw;
          box-shadow: 0px 0.7272727273vw 0.7272727273vw 0px rgba(0, 0, 0, 0.16); } }
      .fun__list > li::after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 1.3333333333vw 0 1.3333333333vw 2.1333333333vw;
        border-color: transparent transparent transparent #d5b445;
        position: absolute;
        right: 1.3333333333vw;
        top: 55%;
        transform: translateY(-50%); }
        @media screen and (min-width: 768px) {
          .fun__list > li::after {
            border-width: 6px 0 6px 10px;
            right: 10px;
            top: 230px;
            transform: none; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .fun__list > li::after {
            border-width: 0.5454545455vw 0 0.5454545455vw 0.9090909091vw;
            right: 0.9090909091vw;
            top: 20.9090909091vw;
            transform: none; } }
      .fun__list > li a {
        display: block;
        color: #000;
        padding: 1.0666666667vw; }
        @media screen and (min-width: 768px) {
          .fun__list > li a {
            padding: 8px; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .fun__list > li a {
            padding: 0.7272727273vw; } }
    .fun__list h4 {
      width: 100%;
      font-size: 3.2vw;
      font-weight: bold;
      line-height: 1.25;
      margin: 0.5em 0 0 0; }
      @media screen and (min-width: 768px) {
        .fun__list h4 {
          font-size: 14px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .fun__list h4 {
          font-size: 1.2727272727vw; } }
    .fun__list img {
      width: 100%; }
  .fun__listCat {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.8vw;
    row-gap: 0.5333333333vw;
    margin: 2vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .fun__listCat {
        column-gap: 4px;
        row-gap: 4px;
        margin: 5px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__listCat {
        column-gap: 0.3636363636vw;
        row-gap: 0.3636363636vw;
        margin: 0.4545454545vw 0 0 0; } }
    .fun__listCat li {
      max-inline-size: max-content;
      font-size: 2.4vw;
      font-weight: 500;
      line-height: 3.4666666667vw;
      color: #fff;
      background: #654832;
      padding: 0 0.2em; }
      @media screen and (min-width: 768px) {
        .fun__listCat li {
          font-size: 12px;
          line-height: 20px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .fun__listCat li {
          font-size: 1.0909090909vw;
          line-height: 1.8181818182vw; } }
  .fun__listSummary {
    font-size: 2.4vw;
    font-weight: 500;
    line-height: 1.33;
    border-top: 1px solid #707070;
    padding: 2vw 0 0 0;
    margin: 0.9333333333vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .fun__listSummary {
        font-size: 14px;
        line-height: 1.71;
        padding: 10px 0 0 0;
        margin: 8px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__listSummary {
        font-size: 1.2727272727vw;
        padding: 0.9090909091vw 0 0 0;
        margin: 0.7272727273vw 0 0 0; } }
  .fun__listWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: space-between; }
    @media screen and (min-width: 768px) {
      .fun__listWrap {
        min-height: 60px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__listWrap {
        min-height: 5.4545454545vw; } }
  .fun__btnMore {
    width: 89.3333333333vw;
    margin: 8vw auto 0 auto;
    box-shadow: 0px 2.1333333333vw 2.1333333333vw 0px rgba(0, 0, 0, 0.16); }
    @media screen and (min-width: 768px) {
      .fun__btnMore {
        width: 335px;
        margin: 60px auto 0 auto;
        box-shadow: 0px 8px 8px 0px rgba(0, 0, 0, 0.16); } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .fun__btnMore {
        width: 30.4545454545vw;
        margin: 5.4545454545vw auto 0 auto;
        box-shadow: 0px 0.7272727273vw 0.7272727273vw 0px rgba(0, 0, 0, 0.16); } }
    .fun__btnMore img {
      width: 100%; }

/* quiz
---------------------------------------------------- */
.quiz {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  position: relative; }
  .quiz__boxQ {
    background: #fff;
    padding: 0 2.4vw 6.9333333333vw 2.4vw; }
    @media screen and (min-width: 768px) {
      .quiz__boxQ {
        width: 1000px;
        padding: 0 0 50px 0;
        margin: 0 auto; } }
    .quiz__boxQ ul {
      margin: 6.9333333333vw 0 0 0; }
      @media screen and (min-width: 768px) {
        .quiz__boxQ ul {
          margin: 55px 0 0 0;
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          column-gap: 10px;
          row-gap: 10px; } }
      .quiz__boxQ ul li {
        height: 16vw;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 5.3333333333vw;
        font-weight: 700;
        line-height: 1;
        color: #654832;
        border: 1px solid #654832;
        background: #d5b445;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        box-shadow: 0px 0.8vw 1.6vw 0px rgba(0, 0, 0, 0.16); }
        @media screen and (min-width: 768px) {
          .quiz__boxQ ul li {
            width: 280px;
            height: 60px;
            font-size: 20px;
            box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.16); } }
        .quiz__boxQ ul li:not(:first-child) {
          margin: 2.6666666667vw 0 0 0; }
          @media screen and (min-width: 768px) {
            .quiz__boxQ ul li:not(:first-child) {
              margin: 0; } }
  .quiz__no {
    height: 12.5333333333vw;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #d5b445; }
    @media screen and (min-width: 768px) {
      .quiz__no {
        height: 47px; } }
    .quiz__no img {
      width: auto;
      height: 7.0666666667vw; }
      @media screen and (min-width: 768px) {
        .quiz__no img {
          height: 26px; } }
  .quiz__txt01 {
    font-weight: 600;
    line-height: 2.14;
    letter-spacing: 0.04em;
    color: #654832;
    margin: 2.6666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .quiz__txt01 {
        line-height: 1.875;
        text-align: center;
        margin: 50px 0 0 0; } }
  .quiz__boxA {
    display: none;
    background: #fff;
    padding: 0 2.4vw 6.9333333333vw 2.4vw;
    margin: 10.6666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .quiz__boxA {
        width: 1000px;
        padding: 0 0 21px 0;
        margin: 20px auto 0 auto; } }
    .quiz__boxA .quiz__no img {
      height: 6.2666666667vw; }
      @media screen and (min-width: 768px) {
        .quiz__boxA .quiz__no img {
          height: 23px; } }
  .quiz__txt02 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.3333333333vw;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #654832;
    margin: 2.2666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .quiz__txt02 {
        font-size: 22px;
        margin: 23px 0 0 0; } }
  .quiz__txt03 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 4.2666666667vw;
    font-weight: 700;
    line-height: 2;
    text-align: center;
    color: #654832;
    margin: 2.6666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .quiz__txt03 {
        font-size: 18px;
        line-height: 1.77;
        margin: 0; } }
  .quiz__txt04 {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 5.3333333333vw;
    font-weight: 700;
    line-height: 1;
    color: #b20202;
    text-align: center;
    margin: 0.5em 0; }
    @media screen and (min-width: 768px) {
      .quiz__txt04 {
        font-size: 22px;
        margin: 1em 0 -0.5em 0; } }
  .quiz__img {
    margin: 4.8vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .quiz__img {
        margin: 0; } }
  @media screen and (min-width: 768px) {
    .quiz__boxAWrap {
      display: flex;
      justify-content: center;
      align-items: center;
      column-gap: 40px;
      margin: 20px 0 0 0; } }
  @media screen and (min-width: 768px) {
    .quiz__boxAWrap .quiz__txt03 {
      width: 310px;
      text-align: left; } }
  @media screen and (min-width: 768px) {
    .quiz__boxAWrap .quiz__img {
      width: 308px; } }
  .quiz__boxAWrap .quiz__img img {
    width: 100%; }
  .quiz__close {
    width: 12.8vw;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .quiz__close {
        width: 48px; } }
    .quiz__close img {
      width: 100%; }
  .quiz__sns {
    width: 46.9333333333vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 8vw;
    margin: 8vw auto 0 auto; }
    @media screen and (min-width: 768px) {
      .quiz__sns {
        width: 100%;
        justify-content: center;
        column-gap: 40px;
        row-gap: 40px;
        margin: 28px 0 0 0; } }
    .quiz__sns li {
      width: 18.1333333333vw; }
      @media screen and (min-width: 768px) {
        .quiz__sns li {
          width: 80px; } }
      .quiz__sns li img {
        width: 100%; }

/* modal
---------------------------------------------------- */
.modaal-inner-wrapper {
  padding: 0 !important; }

.modaal-container {
  background: #735f4b;
  box-shadow: none;
  max-width: 1040px; }

.modaal-content-container {
  padding: 5.3333333333vw; }
  @media screen and (min-width: 768px) {
    .modaal-content-container {
      padding: 20px; } }

/* access
---------------------------------------------------- */
.access {
  background: #cce0f4;
  padding: 0 5.3333333333vw 16vw 5.3333333333vw;
  margin: 13.6vw 0 0 0; }
  @media screen and (min-width: 768px) {
    .access {
      padding: 0 0 100px 0;
      margin: 115px 0 0 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .access {
      padding: 0 0 9.0909090909vw 0;
      margin: 10.4545454545vw 0 0 0; } }
  .access h2 {
    position: relative;
    top: -5.3333333333vw;
    margin: 0 0 6.6666666667vw 0; }
    @media screen and (min-width: 768px) {
      .access h2 {
        top: -25px;
        margin: 0 0 25px 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access h2 {
        top: -2.2727272727vw;
        margin: 0 0 2.2727272727vw 0; } }
  .access__map {
    margin: 0 0 5.3333333333vw 0; }
    @media screen and (min-width: 768px) {
      .access__map {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: 30px;
        margin: 0 0 28px 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access__map {
        column-gap: 2.7272727273vw;
        margin: 0 0 2.5454545455vw 0; } }
    @media screen and (min-width: 768px) {
      .access__map p {
        width: 490px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access__map p {
        width: 44.5454545455vw; } }
    .access__map p img {
      width: 100%; }
    .access__map ul {
      margin: 3.7333333333vw 0 0 0; }
      @media screen and (min-width: 768px) {
        .access__map ul {
          width: 400px;
          margin: 0; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .access__map ul {
          width: 36.3636363636vw; } }
    .access__map li {
      font-weight: 600;
      color: #000;
      line-height: 10.6666666667vw;
      padding: 0 0 0 13.3333333333vw; }
      @media screen and (min-width: 768px) {
        .access__map li {
          line-height: 48px;
          padding: 0 0 0 58px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .access__map li {
          line-height: 4.3636363636vw;
          padding: 0 0 0 5.2727272727vw; } }
      .access__map li:not(:first-child) {
        margin: 1.3333333333vw 0 0 0; }
        @media screen and (min-width: 768px) {
          .access__map li:not(:first-child) {
            margin: 40px 0 0 0; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .access__map li:not(:first-child) {
            margin: 3.6363636364vw 0 0 0; } }
      .access__map li.icon01 {
        background: url(../img/access-icon01.png) no-repeat;
        background-size: 10.6666666667vw auto; }
        @media screen and (min-width: 768px) {
          .access__map li.icon01 {
            background-size: 48px auto; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .access__map li.icon01 {
            background-size: 4.3636363636vw auto; } }
      .access__map li.icon02 {
        background: url(../img/access-icon02.png) no-repeat;
        background-size: 10.6666666667vw auto; }
        @media screen and (min-width: 768px) {
          .access__map li.icon02 {
            background-size: 48px auto; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .access__map li.icon02 {
            background-size: 4.3636363636vw auto; } }
      .access__map li.icon03 {
        background: url(../img/access-icon03.png) no-repeat;
        background-size: 10.6666666667vw auto; }
        @media screen and (min-width: 768px) {
          .access__map li.icon03 {
            background-size: 48px auto; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .access__map li.icon03 {
            background-size: 4.3636363636vw auto; } }
  @media screen and (min-width: 768px) {
    .access dl {
      width: 1000px;
      margin: 0 auto; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .access dl {
      width: 90.9090909091vw; } }
  .access dt {
    font-size: 4.2666666667vw;
    font-weight: 500;
    color: #fff;
    line-height: 9.3333333333vw;
    background: #654832;
    padding: 0 0 0 8.6666666667vw;
    position: relative;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .access dt {
        width: 1000px;
        font-size: 16px;
        line-height: 35px;
        padding: 0 0 0 35px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access dt {
        width: 90.9090909091vw;
        font-size: 1.4545454545vw;
        line-height: 3.1818181818vw;
        padding: 0 0 0 3.1818181818vw; } }
    .access dt.icon01 {
      background: #654832 url(../img/access-icon01.png) no-repeat 1.3333333333vw 50%;
      background-size: auto 70%; }
      @media screen and (min-width: 768px) {
        .access dt.icon01 {
          background: #654832 url(../img/access-icon01.png) no-repeat 5px 50%;
          background-size: auto 70%; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .access dt.icon01 {
          background: #654832 url(../img/access-icon01.png) no-repeat 0.4545454545vw 50%;
          background-size: auto 70%; } }
    .access dt.icon02 {
      background: #654832 url(../img/access-icon02.png) no-repeat 1.3333333333vw 50%;
      background-size: auto 70%; }
      @media screen and (min-width: 768px) {
        .access dt.icon02 {
          background: #654832 url(../img/access-icon02.png) no-repeat 5px 50%;
          background-size: auto 70%; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .access dt.icon02 {
          background: #654832 url(../img/access-icon02.png) no-repeat 0.4545454545vw 50%;
          background-size: auto 70%; } }
    .access dt.icon03 {
      background: #654832 url(../img/access-icon03.png) no-repeat 1.3333333333vw 50%;
      background-size: auto 70%; }
      @media screen and (min-width: 768px) {
        .access dt.icon03 {
          background: #654832 url(../img/access-icon03.png) no-repeat 0 50%;
          background-size: auto 90%; } }
    .access dt::after {
      content: '';
      display: block;
      width: 6.2666666667vw;
      height: 6.2666666667vw;
      background: #fff;
      position: absolute;
      right: 1.2vw;
      top: 50%;
      transform: translateY(-50%); }
      @media screen and (min-width: 768px) {
        .access dt::after {
          width: 24px;
          height: 24px;
          right: 5px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .access dt::after {
          width: 2.1818181818vw;
          height: 2.1818181818vw;
          right: 0.4545454545vw; } }
    .access dt span {
      display: block;
      width: 100%;
      height: 100%;
      position: relative; }
      .access dt span::before, .access dt span::after {
        content: '';
        display: block;
        width: 3.2vw;
        height: 0.5333333333vw;
        background: #654832;
        position: absolute;
        right: 2.6666666667vw;
        top: 50%;
        z-index: 2;
        margin: -0.2666666667vw 0 0 0; }
        @media screen and (min-width: 768px) {
          .access dt span::before, .access dt span::after {
            width: 12px;
            height: 2px;
            right: 11px;
            margin: -1px 0 0 0; } }
        @media (min-width: 768px) and (max-width: 1100px) {
          .access dt span::before, .access dt span::after {
            width: 1.0909090909vw;
            right: 1vw; } }
      .access dt span::before {
        transform: rotate(90deg);
        transition: all 0.3s ease; }
    .access dt.is-active span::before {
      transform: rotate(0deg); }
  .access dd {
    font-weight: 500;
    color: #000;
    line-height: 2;
    padding: 2.9333333333vw 3.4666666667vw;
    background: #fff;
    border: 1px solid #654832; }
    @media screen and (min-width: 768px) {
      .access dd {
        line-height: 1.75;
        padding: 30px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access dd {
        padding: 2.7272727273vw; } }
  .access table {
    width: 100%;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    margin: 5.0666666667vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .access table {
        margin: 23px 0 0 0;
        table-layout: fixed; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access table {
        margin: 2.0909090909vw 0 0 0; } }
  .access th,
  .access td {
    font-size: 3.4666666667vw;
    line-height: 1.53;
    border-bottom: 1px solid #707070;
    border-left: 1px solid #707070; }
    @media screen and (min-width: 768px) {
      .access th,
      .access td {
        font-size: 15px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access th,
      .access td {
        font-size: 1.3636363636vw; } }
  .access th {
    font-weight: 500;
    text-align: center;
    background: #F7F0DA;
    padding: 0.2em 0; }
  .access td {
    padding: 0.5em 1em; }
    @media screen and (min-width: 768px) {
      .access td {
        text-align: center; } }
  .access__txt01 {
    font-weight: 600;
    margin: 1em 0 0.5em 0; }
    .access__txt01 span {
      color: #00AFDD; }
  .access__notes {
    font-size: 2.6666666667vw;
    font-weight: 500;
    margin: 2em 0 0 0; }
    @media screen and (min-width: 768px) {
      .access__notes {
        font-size: 12px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .access__notes {
        font-size: 1.0909090909vw; } }

/* footer
---------------------------------------------------- */
.footer {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: #fff;
  background: #222;
  padding: 8vw 0; }
  @media screen and (min-width: 768px) {
    .footer {
      padding: 60px 0 40px 0; } }
  @media (min-width: 768px) and (max-width: 1100px) {
    .footer {
      padding: 5.4545454545vw 0 3.6363636364vw 0; } }
  .footer a {
    color: #fff; }
  .footer__logo {
    width: 31.0666666667vw;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .footer__logo {
        width: 140px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .footer__logo {
        width: 12.7272727273vw; } }
    .footer__logo img {
      width: 100%; }
  .footer__sns {
    width: 80vw;
    margin: 10.6666666667vw auto 0 auto; }
    @media screen and (min-width: 768px) {
      .footer__sns {
        width: 724px;
        margin: 50px auto 0 auto;
        display: flex;
        flex-wrap: wrap;
        column-gap: 44px;
        row-gap: 20px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .footer__sns {
        width: 65.8181818182vw;
        margin: 4.5454545455vw auto 0 auto;
        column-gap: 4vw;
        row-gap: 1.8181818182vw; } }
    @media screen and (min-width: 768px) {
      .footer__sns li {
        width: 340px; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .footer__sns li {
        width: 30.9090909091vw; } }
    .footer__sns li:not(:first-child) {
      margin: 3.2vw 0 0 0; }
      @media screen and (min-width: 768px) {
        .footer__sns li:not(:first-child) {
          margin: 0; } }
    .footer__sns img {
      width: 100%; }
  .footer__link {
    font-size: 2.9333333333vw;
    font-weight: bold;
    line-height: 1.2;
    margin: 11.4666666667vw 0 0 0;
    display: flex;
    justify-content: center; }
    @media screen and (min-width: 768px) {
      .footer__link {
        font-size: 14px;
        margin: 67px 0 0 -5.8em; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .footer__link {
        font-size: 1.2727272727vw;
        margin: 6.0909090909vw 0 0 0; } }
    .footer__link li:not(:first-child) {
      padding: 0 0 0 5.2vw;
      margin: 0 0 0 5.2vw;
      border-left: 1px solid #fff; }
      @media screen and (min-width: 768px) {
        .footer__link li:not(:first-child) {
          padding: 0 0 0 65px;
          margin: 0 0 0 65px; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .footer__link li:not(:first-child) {
          padding: 0 0 0 5.9090909091vw;
          margin: 0 0 0 5.9090909091vw; } }
  .footer__copy {
    font-size: 2.4vw;
    margin: 10.1333333333vw 0 0 0; }
    @media screen and (min-width: 768px) {
      .footer__copy {
        font-size: 12px;
        margin: 49px 0 0 0; } }
    @media (min-width: 768px) and (max-width: 1100px) {
      .footer__copy {
        font-size: 1.0909090909vw;
        margin: 4.4545454545vw 0 0 0; } }
