@charset "UTF-8";
/* Scss Document */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

ul {
  list-style: none; }

li {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* Scss Document */
/* common
---------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #FEF5FE;
  color: #B2977A; }

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd {
  margin: 0;
  padding: 0;
  line-height: 2.25;
  letter-spacing: .1em;
  font-size: 16px;
  font-size: 1.25vw;
  font-weight: 400; }
  @media screen and (min-width: 1280px) {
    h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd {
      font-size: 16px;
      font-size: 1.6rem; } }
  @media screen and (max-width: 767px) {
    h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dt, dd {
      font-size: 14px;
      font-size: 3.5897435897vw; } }

li {
  list-style: none; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top; }

a {
  color: #B2977A;
  text-decoration: none;
  transition: 0.3s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer; }

::selection {
  background-color: #CE1639;
  color: #fff; }

@media screen and (min-width: 768px) {
  .pc-only {
    display: block !important; }

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

  .sp-only {
    display: block !important; } }
.border {
  padding: 5% 0; }

.border,
.section__wrap {
  max-width: 900px;
  width: calc((900 / 1280) * 100%);
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .border,
    .section__wrap {
      width: 90%; } }

.section__wrap {
  text-align: center; }

.common__ribbon {
  display: inline-block;
  position: relative;
  height: calc((36 / 1280) * 100%);
  text-align: center;
  padding: 0 1.48vw;
  font-size: 15px;
  font-size: 1.171875vw;
  background: #CE1639;
  color: #FFF;
  box-sizing: border-box;
  font-family: "Cinzel", serif;
  letter-spacing: 0;
  line-height: 2.3em;
  margin-top: 4%;
  font-weight: 500; }
  @media screen and (max-width: 767px) {
    .common__ribbon {
      height: calc((27 / 390) * 100%);
      font-size: 14px;
      font-size: 3.5897435897vw;
      width: calc((117 / 390) * 100vw);
      margin: 0 auto; } }
  @media screen and (min-width: 1280px) {
    .common__ribbon {
      font-size: 15px;
      font-size: 1.5rem;
      height: 36px;
      /*リボンの高さ*/
      line-height: 36px;
      /*リボンの高さ*/
      padding: 0 19px;
      /*横の大きさ*/ } }
  .common__ribbon:before, .common__ribbon:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1; }
  .common__ribbon:before {
    top: 0;
    left: 0;
    border-width: 1.4vw 0px 1.4vw .46vw;
    border-color: transparent transparent transparent #fff;
    border-style: solid; }
    @media screen and (max-width: 767px) {
      .common__ribbon:before {
        border-width: 4.5vw 0px 4.5vw 1.5vw; } }
    @media screen and (min-width: 1280px) {
      .common__ribbon:before {
        border-width: 18px 0px 18px 6px; } }
  .common__ribbon:after {
    top: 0;
    right: 0;
    border-width: 1.4vw .46vw 1.4vw 0px;
    border-color: transparent #fff transparent transparent;
    border-style: solid; }
    @media screen and (max-width: 767px) {
      .common__ribbon:after {
        border-width: 4.5vw 1.5vw 4.5vw 0px; } }
    @media screen and (min-width: 1280px) {
      .common__ribbon:after {
        border-width: 18px 6px 18px 0px; } }
.common__ribbon--wh {
  width: 11.71vw;
  height: calc((36 / 1280) * 100%);
  position: relative;
  display: inline-block; }
  @media screen and (min-width: 1280px) {
    .common__ribbon--wh {
      height: 36px;
      /*リボンの高さ*/
      width: 150px; } }
  @media screen and (max-width: 767px) {
    .common__ribbon--wh {
      height: calc((27 / 390) * 100%);
      width: calc((132 / 390) * 100vw);
      margin: 0 auto; } }
  .common__ribbon--wh:before, .common__ribbon--wh:after {
    content: "";
    position: absolute;
    right: 15%;
    top: 26%;
    width: 0.11vw;
    height: 1.3vw;
    background-color: #CE1639; }
    @media screen and (max-width: 767px) {
      .common__ribbon--wh:before, .common__ribbon--wh:after {
        width: 3vw;
        height: 0.3vw;
        right: 9%;
        top: 46%; } }
    @media screen and (min-width: 1280px) {
      .common__ribbon--wh:before, .common__ribbon--wh:after {
        width: 1px;
        height: 1.5em; } }
  .common__ribbon--wh:after {
    transform: rotate(90deg); }
  .common__ribbon--wh-txt {
    font-size: 15px;
    font-size: 1.171875vw;
    color: #CE1639;
    font-family: "Cinzel", serif;
    letter-spacing: 0;
    line-height: 2.3em;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-62%, -48%);
    font-weight: 500; }
    @media screen and (max-width: 767px) {
      .common__ribbon--wh-txt {
        font-size: 14px;
        font-size: 3.5897435897vw;
        transform: translate(-62%, -47%); } }
    @media screen and (min-width: 1280px) {
      .common__ribbon--wh-txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 36px;
        /*リボンの高さ*/
        padding: 0 6px;
        /*横の大きさ*/ } }
.common__sub {
  width: calc((190 / 1280) * 100%);
  margin-bottom: 10%; }
  @media screen and (min-width: 1280px) {
    .common__sub {
      width: 130px; } }
  @media screen and (max-width: 767px) {
    .common__sub {
      width: calc((100 / 390) * 100%); } }
.common__title {
  font-family: "Cinzel", serif;
  font-size: 63px;
  font-size: 4.921875vw;
  line-height: 1em;
  margin-bottom: 4%;
  letter-spacing: 0; }
  @media screen and (min-width: 1280px) {
    .common__title {
      font-size: 63px;
      font-size: 6.3rem; } }
  @media screen and (max-width: 767px) {
    .common__title {
      font-size: 42px;
      font-size: 10.7692307692vw; } }

.section__wrap {
  position: relative; }
  .section__wrap:after {
    content: "";
    background-image: url(../img/common/border.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 900px;
    width: 100%;
    height: 4.5vw; }
    @media screen and (min-width: 1280px) {
      .section__wrap:after {
        height: 55px; } }
    @media screen and (max-width: 767px) {
      .section__wrap:after {
        background-size: cover;
        height: calc((50 / 390) * 100vw);
        width: 100vw; } }

/* Scss Document */
.header {
  position: fixed;
  z-index: 100;
  height: calc((150 / 1280) * 100vw);
  max-height: 150px;
  width: 100%;
  top: 0;
  background-color: #FEF5FE; }
  @media screen and (max-width: 767px) {
    .header {
      height: 132px; } }
  .header:before {
    content: "";
    position: absolute;
    bottom: -19px;
    left: 0;
    background: url(../img/common/header_bg.svg) repeat-x center;
    height: 21px;
    width: 100vw;
    filter: drop-shadow(0px 6px 4px rgba(0, 0, 0, 0.025)); }
    @media screen and (max-width: 767px) {
      .header:before {
        background: url(../img/common/header_bg_sp.svg) repeat-x center;
        height: 25px; } }
  .header .inner {
    position: relative;
    height: calc((150 / 1280) * 100vw);
    max-height: 150px;
    max-width: 1280px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .header .inner {
        height: 132px; } }
  .header .item__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    max-width: 993px;
    height: calc((150 / 1280) * 100vw);
    max-height: 150px; }
    @media screen and (max-width: 1280px) {
      .header .item__wrap {
        box-sizing: border-box;
        width: calc((1035 / 1280) * 100vw); } }
    @media screen and (max-width: 767px) {
      .header .item__wrap {
        width: 95%;
        height: 132px; } }
  .header__item {
    z-index: 200; }
    @media screen and (max-width: 767px) {
      .header__item {
        z-index: 1; } }
  .header .logo {
    width: calc((150 / 1280) * 100vw);
    height: calc((106 / 1280) * 100vw);
    max-width: 150px;
    max-height: 106px;
    margin-top: 1%; }
    @media screen and (max-width: 767px) {
      .header .logo {
        width: 113px;
        height: 82px;
        margin: 0;
        transform: translate(10%, 7%); } }
  .header .badge {
    width: calc((150 / 1280) * 100vw);
    max-width: 150px;
    margin-top: 5%; }
    @media screen and (max-width: 767px) {
      .header .badge {
        width: 117px;
        height: 136px;
        margin: 0;
        transform: translate(7%, 10%); } }
  @media screen and (max-width: 767px) {
    .header .nav {
      z-index: 300; } }
  .header .nav .openbtn {
    width: calc((139 / 1280) * 100vw);
    height: calc((139 / 1280) * 100vw);
    max-width: 139px;
    max-height: 139px;
    margin-top: 1%;
    z-index: 200;
    position: relative;
    margin-top: 11%; }
    @media screen and (max-width: 767px) {
      .header .nav .openbtn {
        width: 118px;
        height: 118px;
        z-index: 400; } }
  .header .nav .menu {
    display: none; }
  .header .nav .menu.active {
    display: block;
    width: calc((429 / 1280) * 100vw);
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #CE1639;
    animation: hamburger .3s ease-out; }
    @media screen and (min-width: 1280px) {
      .header .nav .menu.active {
        width: 429px; } }
    @media screen and (max-width: 767px) {
      .header .nav .menu.active {
        width: 100vw; } }
    .header .nav .menu.active .menu-list {
      animation-name: fadeInAnime;
      animation-duration: .5s;
      animation-fill-mode: forwards;
      opacity: 0; }
      .header .nav .menu.active .menu-list:nth-of-type(1) {
        animation-delay: 0.1s; }
      .header .nav .menu.active .menu-list:nth-of-type(2) {
        animation-delay: 0.2s; }
      .header .nav .menu.active .menu-list:nth-of-type(3) {
        animation-delay: 0.3s; }
      .header .nav .menu.active .menu-list:nth-of-type(4) {
        animation-delay: 0.4s; }
      .header .nav .menu.active .menu-list:nth-of-type(5) {
        animation-delay: 0.5s; }
      .header .nav .menu.active .menu-list:nth-of-type(6) {
        animation-delay: 0.6s; }
    .header .nav .menu.active .menu-list.not-open a {
      opacity: .3; }
    .header .nav .menu.active .hamburger-wrap img {
      animation-name: fadeInAnime;
      animation-duration: .5s;
      animation-fill-mode: forwards;
      opacity: 0;
      animation-delay: 0.7s; }
  .header .nav .hamburger-wrap {
    padding-top: 30vh;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-family: "Cinzel", serif;
    font-size: 30px;
    font-size: 2.34375vw; }
    @media screen and (min-width: 1280px) {
      .header .nav .hamburger-wrap {
        font-size: 30px;
        font-size: 3rem; } }
    @media screen and (max-width: 767px) {
      .header .nav .hamburger-wrap {
        font-size: 30px;
        font-size: 3rem;
        padding-top: 51%; } }
    .header .nav .hamburger-wrap a {
      color: #fff; }
    .header .nav .hamburger-wrap .menu-list {
      line-height: 1em;
      margin-bottom: 7%; }
      .header .nav .hamburger-wrap .menu-list:last-of-type {
        margin-bottom: 10vh; }
      @media screen and (max-width: 767px) {
        .header .nav .hamburger-wrap .menu-list {
          margin-bottom: 5%; } }
    .header .nav .hamburger-wrap img {
      width: 30%; }
  .header .openbtn__wrap .openbtn-close {
    display: none;
    width: 23px;
    height: 23px;
    position: absolute;
    bottom: 0;
    left: 29%;
    transform: translateY(71vh);
    z-index: 1;
    opacity: 0; }
    @media screen and (max-width: 767px) {
      .header .openbtn__wrap .openbtn-close {
        width: 10px;
        height: 10px;
        left: 50%;
        transform: translateX(-50%);
        bottom: -16%; } }
  @media screen and (max-width: 767px) {
    .header .openbtn__wrap.active {
      position: absolute;
      top: 15%;
      left: 50%;
      transform: translateX(-50%);
      z-index: 1; } }
  .header .openbtn__wrap.active .openbtn-close {
    display: block;
    animation-name: fadeInAnime;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    animation-delay: 0.7s; }
    @media screen and (max-width: 767px) {
      .header .openbtn__wrap.active .openbtn-close {
        animation-delay: 0s; } }
@keyframes hamburger {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeInAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.main {
  margin-top: calc((141 / 1280) * 100vw);
  /* 下から上に */
  /* その場で */
  /* 上から下に */ }
  @media screen and (min-width: 1280px) {
    .main {
      margin-top: 141px; } }
  @media screen and (max-width: 767px) {
    .main {
      overflow: hidden;
      margin-top: 113px; } }
  .main .anchor {
    margin-top: -150px;
    padding-top: 150px; }
    @media screen and (max-width: 767px) {
      .main .anchor {
        margin-top: -90px;
        padding-top: 90px; } }
  .main .mv.none {
    display: none; }
  .main .mv {
    max-width: 900px;
    width: calc((900 / 1280) * 100vw);
    max-height: 601px;
    height: calc((601 / 1280) * 100vw);
    margin: 0 auto;
    position: relative; }
    @media screen and (max-width: 767px) {
      .main .mv {
        max-height: 1110px;
        height: calc((555 / 390) * 100vw);
        width: 100%; } }
    .main .mv img {
      height: auto;
      position: fixed; }
      @media screen and (min-width: 768px) {
        .main .mv img {
          max-width: 900px;
          width: calc((900 / 1280) * 100vw); } }
  .main .project {
    background-image: url(../img/project/project_bg.svg);
    background-repeat: no-repeat;
    background-size: contain;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.03));
    width: calc((1280 / 1280) * 100vw);
    height: calc((1280 / 1280) * 100vw);
    max-width: 1280px;
    max-height: 1280px;
    margin: 8% auto 15%; }
    @media screen and (max-width: 767px) {
      .main .project {
        width: 100%;
        height: calc((1044 / 390) * 100vw);
        max-height: 2000px;
        background-size: cover;
        background-position: center;
        margin: 14% auto 30%; } }
    @media screen and (min-width: 1280px) {
      .main .project {
        margin: 102px auto 190px; } }
    .main .project .section__wrap {
      padding: 12% 0 0; }
      @media screen and (max-width: 767px) {
        .main .project .section__wrap {
          padding: 24% 0 0; } }
      .main .project .section__wrap:after {
        bottom: -29%; }
        @media screen and (max-width: 767px) {
          .main .project .section__wrap:after {
            bottom: -19%; } }
    .main .project .slider__thumb {
      width: calc((284 / 1280) * 100vw);
      height: calc((284 / 1280) * 100vw);
      max-width: 284px;
      max-height: 284px;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .main .project .slider__thumb {
          width: calc((300 / 390) * 100vw);
          height: calc((300 / 390) * 100vw);
          max-width: 600px;
          max-height: 600px; } }
      .main .project .slider__thumb img {
        object-fit: cover;
        height: 100%; }
    .main .project .slider__date, .main .project .slider__title {
      text-align: left; }
    .main .project .slider__date {
      font-family: "Cinzel", serif;
      line-height: 1;
      font-weight: 500;
      padding: 10% 0 3%; }
      @media screen and (max-width: 767px) {
        .main .project .slider__date {
          font-size: 16px;
          font-size: 4.1025641026vw;
          padding: 7% 0 1.5%; } }
    .main .project .slider__title {
      font-size: 14px;
      font-size: 1.09375vw;
      line-height: 1.5; }
      @media screen and (min-width: 1280px) {
        .main .project .slider__title {
          font-size: 14px;
          font-size: 1.4rem; } }
      @media screen and (max-width: 767px) {
        .main .project .slider__title {
          font-size: 14px;
          font-size: 3.5897435897vw; } }
    .main .project .slider__link {
      width: calc((284 / 1280) * 100vw);
      max-width: 284px;
      margin-left: auto;
      display: block; }
      @media screen and (max-width: 767px) {
        .main .project .slider__link {
          width: calc((300 / 390) * 100vw);
          max-width: 600px;
          margin: 0 auto; } }
    .main .project .slider__num {
      position: absolute;
      top: -9%;
      left: 0;
      width: calc((87 / 1280) * 100vw);
      height: calc((83 / 1280) * 100vw);
      max-width: 87px;
      max-height: 83px; }
      @media screen and (max-width: 767px) {
        .main .project .slider__num {
          top: -6%;
          width: calc((87 / 390) * 100vw);
          height: calc((83 / 390) * 100vw);
          max-width: 187px;
          max-height: 183px; } }
    .main .project .slider__num--txt {
      font-family: "Cinzel", serif;
      font-size: 30px;
      font-size: 2.34375vw;
      color: #fff;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -35%); }
      @media screen and (min-width: 1280px) {
        .main .project .slider__num--txt {
          font-size: 30px;
          font-size: 3rem; } }
      @media screen and (max-width: 767px) {
        .main .project .slider__num--txt {
          font-size: 30px;
          font-size: 7.6923076923vw; } }
    .main .project .swiper-container {
      margin-top: 3%;
      padding: 5% 0 6%; }
      @media screen and (max-width: 767px) {
        .main .project .swiper-container {
          padding: 13% 0 13%; } }
      .main .project .swiper-container .swiper-pagination-bullet {
        width: calc((10 / 1280) * 100vw);
        height: calc((10 / 1280) * 100vw);
        max-width: 10px;
        max-height: 10px;
        background: #fff;
        border: 1px solid #B2977A;
        opacity: 1;
        margin: 0 1.75%; }
        @media screen and (max-width: 767px) {
          .main .project .swiper-container .swiper-pagination-bullet {
            width: calc((10 / 390) * 100vw);
            height: calc((10 / 390) * 100vw);
            max-width: 100px;
            max-height: 100px; } }
      .main .project .swiper-container .swiper-pagination-bullets {
        bottom: 0; }
      .main .project .swiper-container .swiper-pagination-bullet-active {
        background: #B2977A; }
      .main .project .swiper-container .swiper-btn {
        width: 100%;
        height: 30px;
        position: absolute;
        top: 32%;
        z-index: 1; }
        @media screen and (max-width: 767px) {
          .main .project .swiper-container .swiper-btn {
            top: 37%; } }
        .main .project .swiper-container .swiper-btn .swiper-button-prev,
        .main .project .swiper-container .swiper-btn .swiper-button-next {
          width: calc((31 / 390) * 100vw);
          height: calc((31 / 390) * 100vw);
          max-width: 81px;
          max-height: 81px;
          border-radius: 100vh;
          background-color: #E2CBB3;
          -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
          cursor: pointer; }
        .main .project .swiper-container .swiper-btn .swiper-button-prev {
          left: 2%;
          top: 60%; }
          .main .project .swiper-container .swiper-btn .swiper-button-prev:after {
            content: "";
            width: calc((5 / 390) * 100vw);
            height: calc((5 / 390) * 100vw);
            max-width: 80px;
            max-height: 80px;
            border-bottom: 0.55vw solid #fff;
            border-left: 0.55vw solid #fff;
            transform: rotate(45deg);
            left: 3%;
            position: relative; }
        .main .project .swiper-container .swiper-btn .swiper-button-next {
          right: 2%;
          top: 60%; }
          .main .project .swiper-container .swiper-btn .swiper-button-next:after {
            content: "";
            width: calc((5 / 390) * 100vw);
            height: calc((5 / 390) * 100vw);
            max-width: 80px;
            max-height: 80px;
            border-top: 0.55vw solid #fff;
            border-right: 0.55vw solid #fff;
            transform: rotate(45deg);
            left: -1%;
            position: relative; }
    .main .project .swiper-wrapper.few-slide {
      justify-content: center; }
    .main .project .swiper-container.few-slide .swiper-btn {
      display: none !important; }
    .main .project .common__ribbon {
      margin-top: 12%; }
      @media screen and (max-width: 767px) {
        .main .project .common__ribbon {
          margin-top: 7%; } }
    .main .project .common__ribbon.pc-only {
      display: inline-block !important; }
      @media screen and (max-width: 767px) {
        .main .project .common__ribbon.pc-only {
          display: none !important; } }
    .main .project .common__sub {
      margin-bottom: 8%; }
      @media screen and (max-width: 767px) {
        .main .project .common__sub {
          margin-bottom: 15%; } }
    .main .project .common__title {
      margin-bottom: 3.5%; }
      @media screen and (max-width: 767px) {
        .main .project .common__title {
          margin-bottom: 4%; } }
  .main .history__img {
    max-width: 515px;
    width: calc((515 / 1280) * 100vw);
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .main .history__img {
        max-width: 700px;
        width: calc((326 / 390) * 100vw); } }
  .main .history .common__ribbon {
    margin: 6% 0 9%; }
  .main .history .common__txt {
    margin-top: 2.5%; }
    @media screen and (max-width: 767px) {
      .main .history .common__txt {
        margin-top: 4%; } }
  .main .history .section__wrap {
    padding: 4% 0 11%; }
    @media screen and (min-width: 1280px) {
      .main .history .section__wrap {
        padding: 45px 0 143px; } }
    @media screen and (max-width: 767px) {
      .main .history .section__wrap {
        padding: 27% 0 31%; } }
  .main .message .section__wrap {
    padding: 8% 0 13%; }
    @media screen and (min-width: 1280px) {
      .main .message .section__wrap {
        padding: 111px 0 160px; } }
    @media screen and (max-width: 767px) {
      .main .message .section__wrap {
        padding: 18% 0 33%; } }
  .main .message .common__sub {
    margin-bottom: 8%; }
    @media screen and (max-width: 767px) {
      .main .message .common__sub {
        margin-bottom: 10%; } }
  .main .message .common__title {
    margin-bottom: 3%; }
    @media screen and (max-width: 767px) {
      .main .message .common__title {
        font-size: 50px;
        font-size: 12.8205128205vw;
        margin-bottom: 5%; } }
  .main .message__item--wrap {
    margin-top: 7.5%; }
  .main .message__item {
    position: relative;
    margin: 0 auto;
    width: calc((430 / 1280) * 100vw);
    height: calc((430 / 1280) * 100vw);
    max-width: 430px;
    max-height: 430px; }
    @media screen and (max-width: 767px) {
      .main .message__item {
        width: calc((300 / 390) * 100vw);
        height: calc((300 / 390) * 100vw);
        max-width: 500px;
        max-height: 500px; } }
    .main .message__item:before {
      content: "";
      background-image: url(../img/message/message_bg.svg);
      background-repeat: no-repeat;
      background-size: contain;
      width: calc((430 / 1280) * 100vw);
      height: calc((430 / 1280) * 100vw);
      max-width: 430px;
      max-height: 430px;
      position: absolute;
      top: 0;
      left: 0;
      filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.03)); }
      @media screen and (max-width: 767px) {
        .main .message__item:before {
          width: calc((300 / 390) * 100vw);
          height: calc((300 / 390) * 100vw);
          max-width: 500px;
          max-height: 500px; } }
  .main .message__item.soon {
    position: relative;
    margin: 0 auto;
    width: calc((442 / 1280) * 100vw);
    height: calc((442 / 1280) * 100vw);
    max-width: 442px;
    max-height: 442px; }
    @media screen and (max-width: 767px) {
      .main .message__item.soon {
        width: calc((310 / 390) * 100vw);
        height: calc((310 / 390) * 100vw);
        max-width: 500px;
        max-height: 500px; } }
    .main .message__item.soon:before {
      content: "";
      background-image: none; }
  .main .message__item .common__ribbon--wh:before, .main .message__item .common__ribbon--wh:after {
    transition: .3s; }
  .main .message__item.is-open .common__ribbon--wh:before {
    transform: rotate(90deg); }
    @media screen and (max-width: 767px) {
      .main .message__item.is-open .common__ribbon--wh:before {
        transform: rotate(0deg); } }
  .main .message__item.is-open .common__ribbon--wh:after {
    opacity: 0; }
  .main .message__item--contents {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 767px) {
      .main .message__item--contents {
        transform: translate(-50%, -52%); } }
  .main .message__img {
    width: calc((276 / 1280) * 100vw);
    max-width: 276px;
    margin-bottom: 9%; }
    @media screen and (max-width: 767px) {
      .main .message__img {
        width: calc((211 / 390) * 100vw);
        max-width: 600px;
        margin: 0 auto;
        margin-bottom: 8%; } }
  .main .message__txt {
    margin: 4% 0 16%;
    width: 100%;
    box-sizing: border-box;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .main .message__txt {
        margin: 6% auto 10%;
        width: calc((302 / 390) * 100vw);
        max-width: 900px; } }
  .main .message__unit {
    margin-bottom: 4%; }
    .main .message__unit:last-of-type {
      margin-bottom: 0; }
  .main .message__txt {
    display: none; }
  .main .message__txt.is-open {
    display: block; }
  .main .message__txt--wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 3%; }
    .main .message__txt--wrap:last-of-type {
      margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .main .message__txt--wrap {
        margin-bottom: 7%; } }
  .main .message__txt--unit {
    margin-bottom: 11%; }
    .main .message__txt--unit:last-of-type {
      margin-bottom: 0; }
    @media screen and (max-width: 767px) {
      .main .message__txt--unit {
        margin-bottom: 22%; } }
  .main .message__close {
    position: absolute;
    bottom: 3%;
    right: 5%;
    width: calc((78 / 1280) * 100vw);
    max-width: 78px; }
    @media screen and (max-width: 767px) {
      .main .message__close {
        width: calc((61 / 390) * 100vw);
        max-width: 500px;
        right: 16%;
        bottom: 1.5%; } }
  .main .episode .blod {
    font-weight: bold; }
  .main .episode .section__wrap {
    padding: 8% 0 13%; }
    @media screen and (max-width: 767px) {
      .main .episode .section__wrap {
        padding: 27% 0 35%; } }
    @media screen and (min-width: 1280px) {
      .main .episode .section__wrap {
        padding: 110px 0 160px; } }
  .main .episode .common__wrap {
    position: relative; }
    .main .episode .common__wrap .cherry {
      width: calc((165 / 1280) * 100vw);
      height: calc((170 / 1280) * 100vw);
      max-width: 165px;
      max-height: 170px;
      position: absolute;
      top: 0;
      left: 0;
      transform: translate(55%, -40%); }
      @media screen and (max-width: 767px) {
        .main .episode .common__wrap .cherry {
          width: calc((102 / 390) * 100vw);
          height: calc((105 / 390) * 100vw);
          max-width: 402px;
          max-height: 405px;
          transform: translate(0%, -75%); } }
  .main .episode .common__title {
    margin-bottom: 5%; }
    @media screen and (max-width: 767px) {
      .main .episode .common__title {
        font-size: 50px;
        font-size: 12.8205128205vw;
        margin-bottom: 7%; } }
  .main .episode .common__txt {
    margin-bottom: 5%; }
    @media screen and (max-width: 767px) {
      .main .episode .common__txt {
        margin-bottom: 8%;
        line-height: 2em; } }
  .main .episode .common__sub {
    margin-bottom: 8%; }
  .main .episode__img {
    width: 386px;
    margin-bottom: 2%; }
    @media screen and (max-width: 767px) {
      .main .episode__img {
        width: 100%; } }
  .main .episode__wrap {
    margin: 18% 0 8%;
    position: relative; }
    @media screen and (max-width: 767px) {
      .main .episode__wrap {
        margin-bottom: 40%; } }
    .main .episode__wrap .dog {
      width: calc((231 / 1280) * 100vw);
      height: calc((320 / 1280) * 100vw);
      max-width: 231px;
      max-height: 320px;
      position: absolute;
      bottom: 0;
      right: 0;
      transform: translateY(25%); }
      @media screen and (max-width: 767px) {
        .main .episode__wrap .dog {
          width: calc((172 / 390) * 100vw);
          height: calc((211 / 390) * 100vw);
          max-width: 549px;
          max-height: 583px;
          z-index: 10;
          transform: translate(0%, 95%); } }
  .main .episode p span {
    color: #CE1639; }
  .main .episode__title {
    width: 253px;
    margin: 0 auto;
    line-height: 1em;
    margin-bottom: 4%; }
  .main .episode__txt {
    margin-bottom: 2%; }
  .main .episode .unit {
    width: 740px;
    margin: 0 auto;
    margin-top: 8%; }
    @media screen and (max-width: 991px) {
      .main .episode .unit {
        width: 90%;
        overflow: hidden;
        margin-top: 20%; } }
    @media (min-width: 768px) and (max-width: 1000px) {
      .main .episode .unit {
        width: 100%; } }
    .main .episode .unit:last-of-type {
      margin-top: 18%; }
      @media screen and (max-width: 767px) {
        .main .episode .unit:last-of-type {
          width: 100%;
          margin-top: 13%; } }
      @media (min-width: 768px) and (max-width: 1000px) {
        .main .episode .unit:last-of-type {
          z-index: 2;
          position: relative; } }
      .main .episode .unit:last-of-type p {
        width: 560px; }
        @media screen and (max-width: 767px) {
          .main .episode .unit:last-of-type p {
            width: 100%; } }
        @media (min-width: 768px) and (max-width: 1000px) {
          .main .episode .unit:last-of-type p {
            width: 70%; } }
    .main .episode .unit__title {
      text-align: left;
      height: 53px;
      background: url("../img/episode/episode_bg.png") left top no-repeat;
      background-size: contain;
      box-sizing: border-box;
      margin-bottom: 5%;
      font-size: 14px;
      font-size: 1.4rem; }
      @media screen and (max-width: 991px) {
        .main .episode .unit__title {
          width: 750px;
          font-size: 13px;
          font-size: 1.3rem; } }
      @media (min-width: 768px) and (max-width: 1100px) {
        .main .episode .unit__title {
          box-sizing: border-box;
          padding-top: 1%; } }
      .main .episode .unit__title span {
        font-family: "Cinzel", serif;
        padding-left: 25px;
        padding-right: 20px;
        color: #B2977A;
        font-size: 20px;
        font-size: 1.5625vw; }
        @media screen and (max-width: 767px) {
          .main .episode .unit__title span {
            font-size: 20px;
            font-size: 2rem; } }
        @media screen and (min-width: 1280px) {
          .main .episode .unit__title span {
            font-size: 20px;
            font-size: 2rem; } }
    .main .episode .unit__list {
      text-align: left;
      width: 97%;
      margin-left: auto; }
      .main .episode .unit__list li {
        margin-bottom: 1.5%; }
        @media screen and (max-width: 767px) {
          .main .episode .unit__list li {
            margin-bottom: 5%;
            line-height: 2; } }
        .main .episode .unit__list li:last-of-type {
          margin-bottom: 0; }
        .main .episode .unit__list li span {
          color: #CE1639; }
    .main .episode .unit__txt {
      text-align: left;
      width: 97%;
      margin-left: auto; }
      @media screen and (max-width: 767px) {
        .main .episode .unit__txt {
          line-height: 2; } }
    .main .episode .unit__btn {
      display: inline-block;
      width: 314px;
      margin-top: 5%; }
      @media screen and (max-width: 767px) {
        .main .episode .unit__btn {
          width: 250px;
          margin-top: 8%; } }
    .main .episode .unit__add {
      margin-top: 4%;
      font-size: 15px;
      font-size: 1.171875vw; }
      @media screen and (min-width: 1280px) {
        .main .episode .unit__add {
          font-size: 15px;
          font-size: 1.5rem; } }
      @media screen and (max-width: 767px) {
        .main .episode .unit__add {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.7; } }
    .main .episode .unit__add.left {
      text-align: left;
      width: 97%;
      margin-left: auto; }
  .main .episode .block {
    text-align: left;
    width: 740px;
    margin: 0 auto;
    margin-top: 8%;
    box-sizing: border-box;
    padding: 10% 0;
    position: relative; }
    @media screen and (max-width: 991px) {
      .main .episode .block {
        width: 90%;
        overflow: hidden;
        margin-top: 17%;
        padding: 15% 0; } }
    @media (min-width: 768px) and (max-width: 1000px) {
      .main .episode .block {
        width: 100%;
        overflow: hidden; } }
    .main .episode .block:before, .main .episode .block:after {
      content: "";
      background: url("../img/episode/episode_border.svg") left top repeat;
      background-size: contain;
      display: block;
      width: 800px;
      height: 2px;
      position: absolute; }
      @media screen and (max-width: 767px) {
        .main .episode .block:before, .main .episode .block:after {
          width: 750px; } }
    .main .episode .block:before {
      top: 0; }
    .main .episode .block:after {
      bottom: 0; }
    .main .episode .block p, .main .episode .block__list {
      width: 97%;
      margin-left: auto; }
      @media screen and (max-width: 767px) {
        .main .episode .block p, .main .episode .block__list {
          line-height: 2;
          width: 100%;
          margin: 0;
          font-size: 14px;
          font-size: 1.4rem; } }
    .main .episode .block__list li {
      position: relative;
      padding-left: 20px;
      line-height: 1.95em; }
      @media screen and (max-width: 767px) {
        .main .episode .block__list li {
          font-size: 14px;
          font-size: 1.4rem; } }
      .main .episode .block__list li:before {
        content: "＊";
        position: absolute;
        top: 0;
        left: 0; }
      .main .episode .block__list li span {
        color: #CE1639; }
    .main .episode .block__list01 {
      margin: 6% 0;
      margin-left: auto; }
    .main .episode .block__list02 {
      font-size: 15px;
      font-size: 1.171875vw; }
      @media screen and (min-width: 1280px) {
        .main .episode .block__list02 {
          font-size: 15px;
          font-size: 1.5rem; } }
      @media screen and (max-width: 767px) {
        .main .episode .block__list02 {
          font-size: 15px;
          font-size: 1.5rem; } }
      .main .episode .block__list02 li:before {
        content: "※"; }
  .main .event .trump {
    width: calc((240 / 1280) * 100vw);
    height: calc((200 / 1280) * 100vw);
    max-width: 240px;
    max-height: 200px;
    position: absolute;
    left: 0; }
    @media screen and (max-width: 767px) {
      .main .event .trump {
        width: calc((136 / 390) * 100vw);
        height: calc((126 / 390) * 100vw);
        max-width: 136px;
        max-height: 126px;
        top: 0;
        transform: translate(0%, 22%); } }
  .main .event__item--wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
    margin: 5% 0 10%;
    gap: 24px 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .main .event__item--wrap {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 2em 0; } }
  .main .event__item {
    width: calc((421 / 1280) * 100vw);
    height: calc((486 / 1280) * 100vw);
    max-width: 421px;
    max-height: 486px;
    filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.05)); }
    @media screen and (max-width: 767px) {
      .main .event__item {
        height: fit-content;
        width: fit-content;
        max-width: 100%;
        max-height: 100%; } }
  .main .event__txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .main .event__item--title {
    font-family: "Cinzel", serif;
    font-size: 80px;
    font-size: 6.25vw;
    line-height: 1;
    padding-bottom: 1%;
    opacity: .5; }
    @media screen and (max-width: 767px) {
      .main .event__item--title {
        font-size: 61px;
        font-size: 15.641025641vw;
        padding-bottom: 4%; } }
    @media screen and (min-width: 1280px) {
      .main .event__item--title {
        font-size: 80px;
        font-size: 8rem; } }
  .main .event__overview {
    margin-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .main .event__overview {
        margin-bottom: 17%; } }
  .main .event__detail {
    max-width: 700px;
    margin: 0 auto 100px; }
    @media screen and (max-width: 767px) {
      .main .event__detail {
        margin-bottom: 17%;
        width: 90%; } }
    .main .event__detail .detail__dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 30px 0; }
      @media screen and (max-width: 767px) {
        .main .event__detail .detail__dl {
          gap: 0.5em; } }
      .main .event__detail .detail__dl dt {
        width: calc((194 / 700) * 100%);
        max-width: 194px;
        text-align: left; }
        .main .event__detail .detail__dl dt::before {
          content: "";
          background-repeat: no-repeat;
          background-size: contain;
          display: inline-block;
          width: 1.2em;
          height: 1.2em;
          transform: translateY(25%);
          padding-left: 1em; }
        .main .event__detail .detail__dl dt:nth-of-type(odd)::before {
          background-image: url(../img/event/event_title-icon02.svg); }
        .main .event__detail .detail__dl dt:nth-of-type(even)::before {
          background-image: url(../img/event/event_title-icon01.svg); }
        @media screen and (max-width: 767px) {
          .main .event__detail .detail__dl dt {
            width: 100%;
            max-width: 100%; } }
      .main .event__detail .detail__dl dd {
        width: calc((506 / 700) * 100%);
        max-width: 506px;
        text-align: left; }
        .main .event__detail .detail__dl dd p:first-of-type {
          margin-bottom: 20px; }
        .main .event__detail .detail__dl dd p:last-of-type {
          margin-top: 33px; }
          @media screen and (max-width: 767px) {
            .main .event__detail .detail__dl dd p:last-of-type {
              margin: 0; } }
        @media screen and (max-width: 767px) {
          .main .event__detail .detail__dl dd {
            width: 100%;
            max-width: 100%; }
            .main .event__detail .detail__dl dd:not(:last-of-type) {
              margin-bottom: 1em; } }
  .main .event__photoalbum {
    max-width: 700px;
    margin: 0 auto 100px; }
    @media screen and (max-width: 767px) {
      .main .event__photoalbum {
        margin-bottom: 17%;
        width: 90%; } }
    .main .event__photoalbum .album__title {
      text-align: left; }
      .main .event__photoalbum .album__title::before {
        content: "";
        background-image: url(../img/event/event_title-icon02.svg);
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
        width: 1.2em;
        height: 1.2em;
        transform: translateY(25%);
        padding-left: 1em; }
    .main .event__photoalbum .album--text {
      display: flex;
      justify-content: center;
      gap: 36%;
      margin-bottom: 60px; }
      .main .event__photoalbum .album--text p {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 0.5; }
        @media screen and (max-width: 767px) {
          .main .event__photoalbum .album--text p {
            font-size: 11px;
            font-size: 1.1rem; } }
      @media screen and (max-width: 767px) {
        .main .event__photoalbum .album--text {
          margin-bottom: 40px; } }
    .main .event__photoalbum .album--detail {
      text-align: left;
      width: fit-content;
      margin: 0 0 0 auto; }
  .main .event__reservation {
    max-width: 700px;
    margin: 0 auto 100px; }
    @media screen and (max-width: 767px) {
      .main .event__reservation {
        margin-bottom: 17%;
        width: 90%; } }
    .main .event__reservation .reservation__dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap; }
      .main .event__reservation .reservation__dl dt {
        width: calc((194 / 700) * 100%);
        max-width: 194px;
        text-align: left; }
        .main .event__reservation .reservation__dl dt:before {
          content: "";
          background-repeat: no-repeat;
          background-size: contain;
          display: inline-block;
          width: 1.2em;
          height: 1.2em;
          transform: translateY(25%);
          padding-left: 1em;
          background-image: url(../img/event/event_title-icon01.svg); }
        @media screen and (max-width: 767px) {
          .main .event__reservation .reservation__dl dt {
            width: 100%;
            max-width: 100%; } }
      .main .event__reservation .reservation__dl dd {
        width: calc((506 / 700) * 100%);
        max-width: 506px;
        text-align: left; }
        @media screen and (max-width: 767px) {
          .main .event__reservation .reservation__dl dd {
            width: 100%;
            max-width: 100%; } }
    .main .event__reservation .unit__btn {
      display: inline-block;
      width: 314px;
      margin-top: 5%; }
      @media screen and (max-width: 767px) {
        .main .event__reservation .unit__btn {
          width: 250px; } }
  .main .event__period {
    max-width: 700px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .main .event__period {
        width: 90%; } }
    .main .event__period .period__dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      align-items: flex-start;
      flex-wrap: wrap; }
      .main .event__period .period__dl dt {
        width: calc((194 / 700) * 100%);
        max-width: 194px;
        text-align: left; }
        .main .event__period .period__dl dt:before {
          content: "";
          background-repeat: no-repeat;
          background-size: contain;
          display: inline-block;
          width: 1.2em;
          height: 1.2em;
          transform: translateY(25%);
          padding-left: 1em;
          background-image: url(../img/event/event_title-icon02.svg); }
        @media screen and (max-width: 767px) {
          .main .event__period .period__dl dt {
            width: 100%;
            max-width: 100%; } }
      .main .event__period .period__dl dd {
        width: calc((506 / 700) * 100%);
        max-width: 506px;
        text-align: left; }
        .main .event__period .period__dl dd ul {
          margin: 20px 0 50px; }
          @media screen and (max-width: 767px) {
            .main .event__period .period__dl dd ul {
              margin-bottom: 30px; } }
        .main .event__period .period__dl dd p:last-of-type {
          margin-top: 43px; }
          @media screen and (max-width: 767px) {
            .main .event__period .period__dl dd p:last-of-type {
              margin-bottom: 23px; } }
        @media screen and (max-width: 767px) {
          .main .event__period .period__dl dd {
            width: 100%;
            max-width: 100%; } }
  .main .event .teaset {
    width: calc((248 / 1280) * 100vw);
    height: calc((228 / 1280) * 100vw);
    max-width: 248px;
    max-height: 228px;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateY(-50%); }
    @media screen and (max-width: 767px) {
      .main .event .teaset {
        width: calc((208 / 390) * 100vw);
        height: calc((188 / 390) * 100vw);
        max-width: 208px;
        max-height: 188px;
        transform: translateY(-70%); } }
  .main .event p > span, .main .event a {
    color: #CE1639; }
  .main .event a {
    text-decoration: underline; }
  .main .event .section__wrap {
    padding: 8% 0 28%; }
    @media screen and (max-width: 767px) {
      .main .event .section__wrap {
        padding: 23% 0 80%; } }
    @media screen and (min-width: 1280px) {
      .main .event .section__wrap {
        padding: 105px 0 373px; } }
  .main .event .common__sub {
    margin-bottom: 8%; }
  .main .event .pointer-none {
    pointer-events: none; }
  .main .fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0; }
    @media screen and (max-width: 767px) {
      .main .fadeUp {
        animation-duration: 1s; } }
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(80px);
    @media screen and (max-width: 767px) {
      transform: translateY(30px); } }
  to {
    opacity: 1;
    transform: translateY(0); } }
  .main .fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 1.2s;
    animation-fill-mode: forwards;
    opacity: 0; }
@keyframes fadeInAnime {
  from {
    opacity: 0;
    @media screen and (max-width: 767px) {
      opacity: 1; } }
  to {
    opacity: 1; } }
  .main .fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: .9s;
    animation-fill-mode: forwards;
    opacity: 0; }
@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translate(-50%, -53%); }
  to {
    opacity: 1;
    transform: translate(-50%, -48%); } }
  .main .fadeUpTrigger,
  .main .fadeDownTrigger,
  .main .fadeInTrigger,
  .main .fadeInTriggertemp {
    opacity: 0; }
  .main .delay-time05 {
    animation-delay: 0.5s; }
  .main .delay-time1 {
    animation-delay: 1s; }
  .main .delay-time13 {
    animation-delay: 1.3s; }
  .main .delay-time15 {
    animation-delay: 1.5s; }
  .main .delay-time18 {
    animation-delay: 1.8s; }
  .main .delay-time180 {
    animation-delay: 1.8s; }
  .main .delay-time2 {
    animation-delay: 2s; }

.main .print .section__wrap {
  padding: 7% 0 20%; }
  @media screen and (max-width: 767px) {
    .main .print .section__wrap {
      padding: 18% 0 45%; } }
  @media screen and (min-width: 1280px) {
    .main .print .section__wrap {
      padding: 100px 0 240px; } }
.main .print .common__sub {
  margin-bottom: 8%; }
  @media screen and (max-width: 767px) {
    .main .print .common__sub {
      margin-bottom: 13%; } }
.main .print .common__title {
  margin-bottom: 2%; }
  @media screen and (max-width: 767px) {
    .main .print .common__title {
      font-size: 38px;
      font-size: 9.7435897436vw;
      margin-bottom: 3%; } }
.main .print__wrap {
  margin-top: 3%;
  position: relative; }
  @media screen and (max-width: 767px) {
    .main .print__wrap {
      margin-top: 13%; } }
.main .print__doll {
  width: calc((339 / 1280) * 100vw);
  height: calc((656 / 1280) * 100vw);
  max-width: 339px;
  max-height: 656px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .main .print__doll {
      width: calc((311 / 390) * 100vw);
      height: calc((603 / 390) * 100vw);
      max-width: 644px;
      max-height: 1246px; } }
.main .print__bg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%; }
  @media screen and (max-width: 767px) {
    .main .print__bg {
      top: 8%; } }
  .main .print__bg:before {
    content: "";
    background-image: url(../img/print/print_bg.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc((528 / 1280) * 100vw);
    height: calc((502 / 1280) * 100vw);
    max-width: 528px;
    max-height: 502px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -59%); }
    @media screen and (max-width: 767px) {
      .main .print__bg:before {
        background-image: url(../img/print/print_bg_sp.svg);
        width: calc((338 / 390) * 100vw);
        height: calc((538 / 390) * 100vw);
        max-width: 938px;
        max-height: 1138px;
        transform: translate(-50%, -62%); } }
.main .print .swiper-container2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%);
  z-index: 2;
  height: calc((900 / 1280) * 100vw);
  width: 100%; }
  @media screen and (max-width: 767px) {
    .main .print .swiper-container2 {
      top: 94.5vw;
      height: calc((524 / 390) * 100vw);
      transform: translate(-50%, -50%); } }
  @media screen and (min-width: 1280px) {
    .main .print .swiper-container2 {
      height: 900px; } }
.main .print .swiper-wrapper {
  width: 100%; }
.main .print .swiper-slide {
  display: flex;
  width: 100% !important; }
.main .print .slider__img {
  width: 100%;
  margin: auto; }
  .main .print .slider__img img {
    width: calc((706 / 1280) * 100vw);
    max-width: 706px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .main .print .slider__img img {
        width: 100%;
        max-width: none; } }
.main .print .swiper-controller {
  position: relative;
  bottom: 17%;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    .main .print .swiper-controller {
      height: 35px;
      bottom: 5%;
      z-index: 100; } }
.main .print .swiper-pagination {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc((260 / 1280) * 100vw);
  max-width: 260px; }
  @media screen and (min-width: 1280px) {
    .main .print .swiper-pagination {
      width: 260px; } }
  @media screen and (max-width: 767px) {
    .main .print .swiper-pagination {
      width: 100%; } }
.main .print .swiper-pagination-bullet {
  font-family: "Cinzel", serif;
  font-size: 20px;
  font-size: 1.5625vw;
  background-color: #FEF5FE;
  width: calc((15 / 1280) * 100vw);
  height: calc((17 / 1280) * 100vw);
  max-width: 15px;
  max-height: 17px;
  margin: 0 3%;
  opacity: 0.5;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer; }
  @media screen and (max-width: 767px) {
    .main .print .swiper-pagination-bullet {
      padding: 0 2%;
      margin: 0;
      font-size: 18px;
      font-size: 4.6153846154vw;
      width: calc((15 / 390) * 100vw);
      height: calc((17 / 390) * 100vw);
      max-width: 15px;
      max-height: 17px; } }
  @media screen and (min-width: 1280px) {
    .main .print .swiper-pagination-bullet {
      font-size: 20px;
      font-size: 2rem; } }
.main .print .swiper-pagination-bullet-active {
  opacity: 1; }
.main .print .swiper-button-prev,
.main .print .swiper-button-next {
  width: calc((31 / 1280) * 100vw);
  height: calc((31 / 1280) * 100vw);
  max-width: 31px;
  max-height: 31px;
  border-radius: 100vh;
  background-color: #e2cbb3;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  display: inline-block; }
  @media screen and (max-width: 767px) {
    .main .print .swiper-button-prev,
    .main .print .swiper-button-next {
      width: calc((31 / 390) * 100vw);
      height: calc((31 / 390) * 100vw);
      max-width: 81px;
      max-height: 81px; } }
@media screen and (min-width: 768px) {
  .main .print .swiper-button-prev {
    left: 4vw;
    top: -27vw; } }
@media screen and (min-width: 1280px) {
  .main .print .swiper-button-prev {
    left: 51px;
    top: -346px; } }
@media screen and (max-width: 767px) {
  .main .print .swiper-button-prev {
    left: 0;
    top: -72vw; } }
.main .print .swiper-button-prev:after {
  content: "";
  width: .4vw;
  height: .4vw;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: rotate(45deg) translate(-60%, -20%);
  display: block; }
  @media screen and (max-width: 767px) {
    .main .print .swiper-button-prev:after {
      width: 1.4vw;
      height: 1.4vw; } }
  @media screen and (min-width: 1280px) {
    .main .print .swiper-button-prev:after {
      width: 5px;
      height: 5px; } }
@media screen and (min-width: 768px) {
  .main .print .swiper-button-next {
    right: 4vw;
    top: -27vw; } }
@media screen and (min-width: 1280px) {
  .main .print .swiper-button-next {
    right: 51px;
    top: -346px; } }
@media screen and (max-width: 767px) {
  .main .print .swiper-button-next {
    right: 0;
    top: -72vw; } }
.main .print .swiper-button-next:after {
  content: "";
  width: .4vw;
  height: .4vw;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 50%;
  transform: rotate(45deg) translate(-20%, -60%);
  display: block; }
  @media screen and (max-width: 767px) {
    .main .print .swiper-button-next:after {
      width: 1.4vw;
      height: 1.4vw; } }
  @media screen and (min-width: 1280px) {
    .main .print .swiper-button-next:after {
      width: 5px;
      height: 5px; } }

.page-history .page-common {
  margin-top: 20%; }
  @media screen and (max-width: 767px) {
    .page-history .page-common {
      margin-top: 160px; } }
  @media screen and (min-width: 1280px) {
    .page-history .page-common {
      margin-top: 260px; } }
  .page-history .page-common .page-backBtn {
    display: inline-block;
    width: calc((75 / 1280) * 100vw);
    max-width: 75px; }
    @media screen and (max-width: 767px) {
      .page-history .page-common .page-backBtn {
        width: calc((70 / 390) * 100vw);
        max-width: 500px;
        padding-bottom: 20%; } }
.page-history .section__wrap {
  padding-bottom: 12%; }
  @media screen and (min-width: 1280px) {
    .page-history .section__wrap {
      padding-bottom: 153px; } }
  @media screen and (max-width: 767px) {
    .page-history .section__wrap {
      width: 77%; } }
.page-history__item {
  margin-bottom: 13%; }
  @media screen and (max-width: 767px) {
    .page-history__item {
      margin-bottom: 20%; } }
.page-history__title {
  max-width: 353px;
  width: calc((353 / 1280) * 100vw);
  margin: 0 auto 6%; }
  @media screen and (max-width: 767px) {
    .page-history__title {
      max-width: 635px;
      width: calc((235 / 390) * 100vw); } }
.page-history__date {
  position: relative;
  width: calc((220 / 1280) * 100vw);
  height: calc((115 / 1280) * 100vw);
  max-width: 220px;
  max-height: 115px;
  margin: 0 auto 6%; }
  @media screen and (max-width: 767px) {
    .page-history__date {
      width: calc((162 / 1280) * 100vw);
      height: calc((84 / 390) * 100vw);
      max-width: 362px;
      max-height: 284px; } }
  .page-history__date:before {
    content: "";
    background-image: url(../img/page/history_flame.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc((220 / 1280) * 100vw);
    height: calc((115 / 1280) * 100vw);
    max-width: 220px;
    max-height: 115px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 767px) {
      .page-history__date:before {
        width: calc((162 / 390) * 100vw);
        height: calc((84 / 390) * 100vw);
        max-width: 362px;
        max-height: 284px; } }
  .page-history__date span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "Cinzel", serif;
    font-size: 27px;
    font-size: 2.109375vw; }
    @media screen and (max-width: 767px) {
      .page-history__date span {
        font-size: 22px;
        font-size: 5.641025641vw; } }
    @media screen and (min-width: 1280px) {
      .page-history__date span {
        font-size: 27px;
        font-size: 2.7rem; } }
.page-history__txt {
  font-size: 18px;
  font-size: 1.40625vw;
  letter-spacing: .05em; }
  @media screen and (max-width: 767px) {
    .page-history__txt {
      font-size: 14px;
      font-size: 3.5897435897vw; } }
  @media screen and (min-width: 1280px) {
    .page-history__txt {
      font-size: 18px;
      font-size: 1.8rem; } }
.page-history__img--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column; }
.page-history__img {
  width: auto;
  margin: 6% auto 0; }
  .page-history__img:nth-of-type(2) {
    margin-top: 2%; }
.page-history__border {
  position: relative;
  width: 100%;
  height: 10px;
  margin-bottom: 13%; }
  @media screen and (max-width: 767px) {
    .page-history__border {
      margin-bottom: 20%; } }
  .page-history__border:before {
    content: "";
    background-image: url("../img/page/history_border.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: calc((160 / 1280) * 100vw);
    height: calc((10 / 1280) * 100vw);
    max-width: 181px;
    max-height: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media screen and (max-width: 767px) {
      .page-history__border:before {
        width: calc((168 / 390) * 100vw);
        height: calc((10 / 390) * 100vw);
        max-width: 168px; } }

/* Scss Document */
/* .footer---------------------------------------------*/
.footer {
  position: relative; }
  .footer__wrap {
    max-width: 900px;
    width: calc((900 / 1280) * 100%);
    margin: 14% auto 4%;
    text-align: center; }
  .footer .link__btn {
    width: calc((247 / 1280) * 100vw);
    height: calc((140 / 1280) * 100vw);
    max-width: 247px;
    max-height: 140px;
    display: block;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .footer .link__btn {
        width: calc((204 / 390) * 100vw);
        height: calc((120 / 390) * 100vw);
        max-width: 504px;
        max-height: 420px; } }
  .footer .link__sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 106px;
    margin: 11% auto; }
    @media screen and (max-width: 767px) {
      .footer .link__sns {
        width: 30vw;
        margin: 20% auto; } }
  .footer__copy {
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-size: 1.4rem;
    display: inline-block;
    text-decoration: none; }
    .footer__copy:hover {
      text-decoration: underline; }
    @media screen and (max-width: 767px) {
      .footer__copy {
        font-size: 11px;
        font-size: 2.8205128205vw;
        letter-spacing: 0; } }
  .footer .pagetop {
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translateX(-40%);
    width: calc((78 / 1280) * 100vw);
    height: calc((59 / 1280) * 100vw);
    max-width: 78px;
    max-height: 59px; }
    @media screen and (max-width: 767px) {
      .footer .pagetop {
        width: calc((66 / 390) * 100vw);
        height: calc((53 / 390) * 100vw);
        max-width: 269px;
        max-height: 256px;
        transform: translate(-20%, -100%); } }
