@charset "UTF-8";

/*リセット
--------------------------------------------*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

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

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q,
blockquote {
    quotes: none;
}

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

a img {
    border: none;
}

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


/*フォント
---------------------------------------------*/

@font-face {
    font-family: "amiri-regular";
    font-style: normal;
    src: url("../fonts/amiri-regular.eot");
    src: url("../fonts/amiri-regular.woff") format("woff"), url("../fonts/amiri-regular.ttf") format("truetype");
}

@font-face {
    font-family: "amiri-bold";
    font-style: normal;
    src: url("../fonts/amiri-bold.eot");
    src: url("../fonts/amiri-bold.woff") format("woff"), url("../fonts/amiri-bold.ttf") format("truetype");
}


/*メディアクエリー
---------------------------------------------*/


/*変数
---------------------------------------------*/


/* コンテンツ
---------------------------------------------*/

html {
    font-size: 62.5%;
}

body {
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-feature-settings: "palt";
    line-height: 1;
    font-size: 14px;
    color: #333;
    background-color: #ffffff;
    font-weight: normal;
    opacity: 0;
}

body.loaded {
    opacity: 1;
    transition: 2s;
}

img {
    width: 100%;
    vertical-align: bottom;
    display: block;
}

a {
    color: #333;
    text-decoration: none;
}

#wrapper {
    width: 100%;
}

#header {
    width: 100%;
    position: relative;
}

@media screen and (min-width: 800px) {
    #header {
        height: 100vh;
    }
}

@media screen and (max-width: 799px) {
    #header::before {
        content: "";
        display: block;
        padding-top: 177.8666666667%;
    }
}

@media screen and (min-width: 800px) {
    #header::before {
        content: "";
        display: block;
        padding-top: 56.25%;
    }
}

#header .bgImage_wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
}

@media screen and (max-width: 799px) {
    #header .bgImage_wrap {
        flex-flow: column;
    }
}

#header .bgImage_wrap div.cover {
    position: relative;
}

@media screen and (min-width: 800px) {
    #header .bgImage_wrap div.cover {
        width: 100%;
        background: url(../img/pc_main01.jpg);
        background-size: cover;
        background-position: top center;
    }
}

@media screen and (max-width: 799px) {
    #header .bgImage_wrap div.cover {
        width: 100%;
        height: 100%;
        background: url(../img/sp_main01.jpg);
        background-size: cover;
        background-position: top center;
    }
}

#header .bgImage_wrap div.title_wrap {
    display: flex;
    flex-direction: column-reverse;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media screen and (min-width: 800px) {
    #header .bgImage_wrap div.title_wrap {
        width: 40%;
        margin-bottom: 150px;
    }
}

@media screen and (max-width: 799px) {
    #header .bgImage_wrap div.title_wrap {
        top: 86%;
        height: 40%;
        width: 100%;
        justify-content: center;
    }
}

@media screen and (min-width: 800px) {
    #header .bgImage_wrap div.title_wrap h1 {
        width: 20%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 799px) {
    #header .bgImage_wrap div.title_wrap h1 {
        width: 25%;
        margin: 0 auto;
    }
}

@media screen and (min-width: 800px) {
    #header .bgImage_wrap div.title_wrap h2 {
        width: 70%;
        margin: 0 auto 80px;
    }
}

@media screen and (max-width: 799px) {
    #header .bgImage_wrap div.title_wrap h2 {
        width: 60%;
        margin: 0 auto 50px;
    }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
    -webkit-animation: zoomIn01 20s linear 0s 1 normal both;
    animation: zoomIn01 20s linear 0s 1 normal both;
}


/*#loader {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  background: linear-gradient(120deg, rgba(142,118,83,0.5), rgba(123,61,51,0.8));
    z-index: 2;
    .logo_wrap {
      width: 150px;
      height: 150px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      @include mq(pc) {
        width: 300px;
      height: 300px;
      }
      .logo {
        position: relative;
        width: 100%;
        height: 100%;
        &::after {
          content: "";
          display: block;
          background-image: url(../img/logo_white.svg);
          background-repeat: no-repeat;
          background-position: center;
          width: 100%;
          height: 100%;
          z-index: 100;
          animation: blink 2s ease 0s infinite normal;
          -webkit-animation: blink 2s ease 0s infinite normal;
        }
      }
    }
}*/

.fixed_header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 50px;
    box-sizing: border-box;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-100%);
    transition: 1s;
}

@media screen and (min-width: 800px) {
    .fixed_header {
        height: 70px;
    }
}

.fixed_header.active {
    transform: translateY(0%) !important;
}

.fixed_header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 86%;
    margin: 0 auto;
    height: 100%;
}

.fixed_header .inner .logo_wrap {
    width: calc(100% - 50px);
    display: flex;
    align-items: center;
}

@media screen and (min-width: 800px) {
    .fixed_header .inner .logo_wrap {
        width: calc(100% - 70px);
    }
}

.fixed_header .inner .logo_wrap .logo {
    width: 20%;
}

@media screen and (min-width: 800px) {
    .fixed_header .inner .logo_wrap .logo {
        max-width: 120px;
    }
}

.fixed_header .inner .logo_wrap .logo+span {
    display: inline-block;
    font-size: 1rem;
    letter-spacing: 0.025em;
    margin-left: 10px;
}

@media screen and (min-width: 800px) {
    .fixed_header .inner .logo_wrap .logo+span {
        font-size: 1.2rem;
        margin-left: 16px;
    }
}

.fixed_header .inner .nav_toggle {
    width: 26px;
    height: 26px;
    position: relative;
}

@media screen and (min-width: 800px) {
    .fixed_header .inner .nav_toggle {
        width: 36px;
        height: 36px;
    }
}

.fixed_header .inner .nav_toggle span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    /*left: 50%;
  transform: translateX(-50%);*/
}

.fixed_header .inner .nav_toggle span:nth-of-type(1) {
    top: 8px;
    transition: transform 0.2s, top 0.2s 0.2s;
}

@media screen and (min-width: 800px) {
    .fixed_header .inner .nav_toggle span:nth-of-type(1) {
        top: 10px;
    }
}

.fixed_header .inner .nav_toggle span:nth-of-type(2) {
    top: 13px;
    transition: transform 0.2s, top 0.2s 0.2s;
}

@media screen and (min-width: 800px) {
    .fixed_header .inner .nav_toggle span:nth-of-type(2) {
        top: 18px;
    }
}

.fixed_header .inner .nav_toggle span:nth-of-type(3) {
    top: 18px;
    transition: transform 0.2s, top 0.2s 0.2s;
}

@media screen and (min-width: 800px) {
    .fixed_header .inner .nav_toggle span:nth-of-type(3) {
        top: 26px;
    }
}

.fixed_header .nav_toggle.active span:nth-of-type(1) {
    top: 13px;
    transform: rotate(45deg);
    transition: top 0.2s, transform 0.2s 0.2s;
}

@media screen and (min-width: 800px) {
    .fixed_header .nav_toggle.active span:nth-of-type(1) {
        top: 18px;
    }
}

.fixed_header .nav_toggle.active span:nth-of-type(2) {
    transform: scale(0, 0);
    transition: 0.2s;
}

.fixed_header .nav_toggle.active span:nth-of-type(3) {
    top: 13px;
    transform: rotate(-45deg);
    transition: top 0.2s, transform 0.2s 0.2s;
}

@media screen and (min-width: 800px) {
    .fixed_header .nav_toggle.active span:nth-of-type(3) {
        top: 18px;
    }
}

.nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 99;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-clip-path: inset(0% 0% 100% 0%);
    clip-path: inset(0% 0% 100% 0%);
    transition: 0.8s;
}

.nav.active {
    -webkit-clip-path: inset(0% 0% 0% 0%);
    clip-path: inset(0% 0% 0% 0%);
}

.nav.active .nav_inner {
    opacity: 1;
    visibility: visible;
}

.nav .nav_inner {
    width: 86%;
    margin: 0 auto;
    z-index: 1;
    visibility: hidden;
    opacity: 0;
    transition: 0.8s;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner {
        display: flex;
        width: 70%;
    }
}

@media screen and (max-width: 799px) {
    .nav .nav_inner .season_concept {
        margin-bottom: 60px;
    }
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .season_concept {
        width: 40%;
        padding-right: 160px;
    }
}

.nav .nav_inner .season_concept span {
    display: inline-block;
    font-size: 1.4rem;
    font-style: italic;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 8px;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .season_concept span {
        font-size: 1.6rem;
        margin-bottom: 16px;
    }
}

.nav .nav_inner .season_concept p {
    font-size: 1.1rem;
    text-align: justify;
    letter-spacing: 0.025em;
    line-height: 1.6;
    box-sizing: border-box;
    padding-left: 8px;
    border-left: 1px solid #afafaf;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .season_concept p {
        font-size: 1.3rem;
        line-height: 1.8;
        padding-left: 16px;
    }
}

.nav .nav_inner .links {
    margin-bottom: 60px;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .links {
        width: 40%;
    }
}

.nav .nav_inner .links ul li:not(:last-of-type) {
    margin-bottom: 24px;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .links ul li:not(:last-of-type) {
        margin-bottom: 30px;
    }
}

.nav .nav_inner .links ul li a {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    display: inline-block;
    position: relative;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .links ul li a {
        font-size: 1.6rem;
    }
}

.nav .nav_inner .links ul li a::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #444;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s;
}

.nav .nav_inner .links ul li a:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .close {
        width: 20%;
        align-self: flex-end;
    }
}

.nav .nav_inner .close .wrap {
    display: flex;
    align-items: center;
}

.nav .nav_inner .close .wrap .button {
    position: relative;
    width: 20px;
    height: 20px;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .close .wrap .button {
        width: 30px;
        height: 30px;
    }
}

.nav .nav_inner .close .wrap .button span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 100%;
    height: 1px;
    background-color: #333;
}

.nav .nav_inner .close .wrap .button span:nth-of-type(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}

.nav .nav_inner .close .wrap .button span:nth-of-type(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.nav .nav_inner .close .wrap .button+span {
    display: inline-block;
    margin-left: 10px;
    letter-spacing: 0.05em;
    font-size: 1.4rem;
}

@media screen and (min-width: 800px) {
    .nav .nav_inner .close .wrap .button+span {
        font-size: 1.6rem;
    }
}

#content {
    width: 100%;
    padding-top: 80px;
    overflow: hidden;
}

@media screen and (min-width: 800px) {
    #content {
        padding-top: 160px;
    }
}

#content #intro_area {
    width: 84%;
    margin: 0 auto 80px;
}

@media screen and (min-width: 800px) {
    #content #intro_area {
        max-width: 750px;
        margin: 0 auto 120px;
    }
}

#content #intro_area p {
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
}

@media screen and (min-width: 800px) {
    #content #intro_area p {
        font-size: 1.4rem;
    }
}

#content .section {
    /*.main + p {
    width: 84%;
    margin: 0 auto 30px; 
    @include mq(pc) {
      max-width: 750px;
      margin: 0 auto 60px;
    }
  }*/
}

#content .section .img_box {
    width: 86%;
    margin: 0 auto 30px;
}

@media screen and (min-width: 800px) {
    #content .section .img_box.full {
        max-width: 1000px;
    }
}

@media screen and (max-width: 799px) {
    #content .section .img_box.full {
        width: 100%;
    }
}

@media screen and (min-width: 800px) {
    #content .section .img_box {
        max-width: 640px;
        margin: 0 auto 60px;
    }
}

#content .section .img_box.flex {
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 799px) {
    #content .section .img_box.flex {
        width: 100%;
    }
}

@media screen and (min-width: 800px) {
    #content .section .img_box.flex {
        max-width: 750px;
    }
}

#content .section .img_box.flex div {
    width: 50%;
}

#content .section .img_box.mb_small {
    margin: 0 auto 20px;
}

@media screen and (min-width: 800px) {
    #content .section .img_box.mb_small {
        margin: 0 auto 30px;
    }
}

#content .section .img_box.chill {
    width: 70%;
}

@media screen and (min-width: 800px) {
    #content .section .img_box.chill {
        max-width: 480px;
    }
}

#content .section .flex {
    display: flex;
    /*@include mq(pc) {
    max-width: 1000px;
    margin: 0 auto 60px;
  }*/
}

@media screen and (max-width: 799px) {
    #content .section .flex {
        align-items: flex-end;
    }
}

#content .section .flex.col2 {
    margin-bottom: 30px;
}

@media screen and (min-width: 800px) {
    #content .section .flex.col2 {
        margin-bottom: 60px;
    }
}

#content .section .flex.col2 .img_box {
    width: 55%;
    margin: 0;
}

#content .section .flex.col2 .price_box {
    width: 45%;
    margin: 0;
}

@media screen and (min-width: 800px) {
    #content .section .flex.col2 .price_box {
        width: 30%;
        margin: 0 0 0 auto;
    }
}

@media screen and (max-width: 799px) {
    #content .section .flex.col2 .price_box ul {
        padding-left: 10px;
    }
}

@media screen and (max-width: 799px) {
    #content .section .flex.col2 .price_box ul li a {
        display: inline-block;
        margin-left: 0;
    }
}

@media screen and (max-width: 799px) {
    #content .section .flex.col2 .price_box ul li a div {
        margin-bottom: 6px;
    }
}

#content .section .flex.col3 {
    justify-content: space-between;
}

#content .section .flex.col3 .img_box {
    width: calc((100% - 16px) / 3);
    margin: 0;
}

@media screen and (min-width: 800px) {
    #content .section .flex.col3 .img_box {
        width: calc((100% - 40px) / 3);
    }
}

@media screen and (max-width: 799px) {
    #content .section .flex.reverse {
        flex-flow: row-reverse;
    }
}

@media screen and (min-width: 800px) {
    #content .section .flex.reverse .price_box {
        width: 30%;
        margin: 0 auto 0 0;
    }
}

#content .section .detail {
    margin-bottom: 55px;
}

@media screen and (min-width: 800px) {
    #content .section .detail.mb_small {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 799px) {
    #content .section .detail .slick li {
        /*padding: 0 1%;
    box-sizing: border-box;*/
    }
}

#content .section .price_box {
    width: 70%;
    margin: 0 auto;
    /*margin-left: auto;
  margin-right: 8%;*/
    /*&.w50 {
    @include mq(sp) {
      width: 50%;
    }
  }*/
}

@media screen and (min-width: 800px) {
    #content .section .price_box {
        width: 30%;
        max-width: 750px;
        margin: 0 auto;
    }
}

#content .section .price_box ul li:not(:last-of-type) {
    margin-bottom: 14px;
}

#content .section .price_box ul li.notice {
    font-size: 1rem;
    letter-spacing: 0.075em;
    line-height: 1.4;
}

@media screen and (min-width: 800px) {
    #content .section .price_box ul li.notice {
        font-size: 1.2rem;
    }
}

#content .section .price_box ul li a {
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    font-size: 1.2rem;
    letter-spacing: 0.075em;
}

@media screen and (min-width: 800px) {
    #content .section .price_box ul li a {
        font-size: 1.4rem;
    }
}

#content .section .price_box ul li a.disabled {
    color: #ccc;
}

#content .section .price_box ul li a span.price {
    display: inline-block;
    margin-left: 6px;
}

#content .section .price_box ul li a span.button {
    position: relative;
    font-size: 1.1rem;
}

@media screen and (min-width: 800px) {
    #content .section .price_box ul li a span.button {
        font-size: 1.3rem;
    }
}

#content .section .price_box ul li a span.button::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #333;
}

#content .section .price_box ul li a.center {
    justify-content: center;
}

#content .section p.otherColor {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    color: #777;
    text-align: center;
    margin-top: 60px;
    margin-bottom: 14px;
}

@media screen and (min-width: 800px) {
    #content .section p.otherColor {
        font-size: 2.4rem;
        margin-top: 80px;
        margin-bottom: 20px;
    }
}

.section .layout {
    position: relative;
    margin-bottom: 30px;
}

@media screen and (min-width: 800px) {
    .section .layout.leftup {
        max-width: 640px;
        margin: 0 auto 60px;
    }
}

.section .layout.leftup::before {
    content: "";
    display: block;
    padding-top: 120%;
}

.section .layout.leftup div {
    position: absolute;
}

.section .layout.leftup div:nth-of-type(1) {
    width: 55%;
    top: 0;
    left: 0;
    z-index: 4;
}

.section .layout.leftup div:nth-of-type(2) {
    width: 55%;
    right: 0;
    bottom: 0;
    z-index: 3;
}

@media screen and (min-width: 800px) {
    .section .layout.rightup {
        max-width: 640px;
        margin: 0 auto 60px;
    }
}

.section .layout.rightup::before {
    content: "";
    display: block;
    padding-top: 120%;
}

.section .layout.rightup div {
    position: absolute;
}

.section .layout.rightup div:nth-of-type(1) {
    width: 55%;
    top: 0;
    right: 0;
    z-index: 2;
}

.section .layout.rightup div:nth-of-type(2) {
    width: 55%;
    left: 0;
    bottom: 0;
    z-index: 3;
}

.section .layout.leftstep {
    position: relative;
    margin-bottom: 30px;
}

@media screen and (min-width: 800px) {
    .section .layout.leftstep {
        max-width: 640px;
        margin: 0 auto 60px;
    }
}

.section .layout.leftstep::before {
    content: "";
    display: block;
    padding-top: 140%;
}

.section .layout.leftstep div {
    position: absolute;
}

.section .layout.leftstep div:nth-of-type(1) {
    width: 40%;
    top: 0;
    left: 0;
    z-index: 2;
}

.section .layout.leftstep div:nth-of-type(2) {
    width: 40%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.section .layout.leftstep div:nth-of-type(3) {
    width: 40%;
    right: 0;
    bottom: 0;
    z-index: 3;
}

.section .layout.rightstep {
    position: relative;
    margin-bottom: 30px;
}

@media screen and (min-width: 800px) {
    .section .layout.rightstep {
        max-width: 640px;
        margin: 0 auto 60px;
    }
}

.section .layout.rightstep::before {
    content: "";
    display: block;
    padding-top: 140%;
}

.section .layout.rightstep div {
    position: absolute;
}

.section .layout.rightstep div:nth-of-type(1) {
    width: 40%;
    top: 0;
    right: 0;
    z-index: 2;
}

.section .layout.rightstep div:nth-of-type(2) {
    width: 40%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.section .layout.rightstep div:nth-of-type(3) {
    width: 40%;
    left: 0;
    bottom: 0;
    z-index: 3;
}

@media screen and (min-width: 800px) {
    .section.pcWidth {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

@media screen and (min-width: 800px) {
    .section.pcWidth.reverse {
        flex-direction: row-reverse;
    }
}

@media screen and (min-width: 800px) {
    .section.pcWidth.reverse .flex.col2 {
        align-items: flex-end;
    }
}

@media screen and (min-width: 800px) {
    .section.pcWidth.reverse .flex.col3 {
        margin: 0 auto 0 0 !important;
    }
}

@media screen and (min-width: 800px) {
    .section.pcWidth .flex.col2 {
        flex-flow: column;
        width: 35%;
        margin: 0 !important;
    }
}

@media screen and (min-width: 800px) {
    .section.pcWidth .flex.col2 .img_box {
        width: 100% !important;
        margin-bottom: 30px !important;
    }
}

@media screen and (min-width: 800px) {
    .section.pcWidth .flex.col2 .price_box {
        width: 80% !important;
        margin: 0 auto !important;
    }
}

@media screen and (min-width: 800px) {
    .section.pcWidth .flex.col3 {
        width: 60% !important;
        margin: 0 0 0 auto !important;
    }
}

#footer {
    padding-bottom: 20px;
}

@media screen and (min-width: 800px) {
    #footer {
        padding-bottom: 30px;
    }
}

#footer .staffcredit {
    margin-bottom: 100px;
}

@media screen and (min-width: 800px) {
    #footer .staffcredit {
        margin-bottom: 160px;
    }
}

#footer .staffcredit ul li {
    text-align: center;
    font-size: 1rem;
    letter-spacing: 0.05em;
}

@media screen and (min-width: 800px) {
    #footer .staffcredit ul li {
        font-size: 1.2rem;
    }
}

#footer .staffcredit ul li:not(:last-of-type) {
    margin-bottom: 10px;
}

@media screen and (min-width: 800px) {
    #footer .staffcredit ul li:not(:last-of-type) {
        margin-bottom: 16px;
    }
}

#footer div.related_contents {
    margin-bottom: 60px;
}

@media screen and (min-width: 800px) {
    #footer div.related_contents {
        margin-bottom: 140px;
    }
}

#footer div.related_contents p {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-style: italic;
    font-weight: bold;
    color: #777;
    text-align: center;
    margin-top: 60px;
    margin-bottom: 14px;
}

@media screen and (min-width: 800px) {
    #footer div.related_contents p {
        font-size: 2.4rem;
        margin-top: 80px;
        margin-bottom: 30px;
    }
}

@media screen and (min-width: 800px) {
    #footer div.related_contents .bnr_slider {
        max-width: 720px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

@media screen and (min-width: 800px) {
    #footer div.related_contents .bnr_slider li {
        width: calc(50% - 5px);
    }
}

@media screen and (min-width: 800px) {
    #footer div.related_contents .bnr_slider li:not(:last-of-type) {
        margin-bottom: 20px;
    }
}

#footer div.related_contents .bnr_slider li a {
    display: block;
    transition: 0.4s;
}

@media screen and (max-width: 799px) {
    #footer div.related_contents .bnr_slider li a {
        margin-right: 3%;
    }
}

#footer div.related_contents .bnr_slider li a:hover {
    opacity: 0.4;
}

#footer div.related_contents .bnr_slider li a span {
    display: block;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    margin-top: 8px;
}

@media screen and (max-width: 799px) {
    #footer div.related_contents .bnr_slider li a span {
        font-size: 1.1rem;
        margin-top: 8px;
    }
}

#footer div.related_contents .bnr_slider button.slick-prev,
#footer div.related_contents .bnr_slider button.slick-next {
    width: 10px;
}

#footer a {
    display: block;
}

#footer a.button {
    width: 60%;
    margin: 0 auto 100px;
    font-family: "Roboto", sans-serif;
    text-align: center;
    height: 45px;
    line-height: 45px;
    color: #fff;
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    background-color: #333333;
    transition: 0.4s;
}

@media screen and (min-width: 800px) {
    #footer a.button {
        max-width: 320px;
        margin: 0 auto 140px;
        font-size: 1.4rem;
    }
}

#footer a.button:nth-of-type(2) {
    margin: 0 auto 80px;
}

@media screen and (min-width: 800px) {
    #footer a.button:nth-of-type(2) {
        margin: 0 auto 100px;
    }
}

#footer a.button:hover {
    opacity: 0.4;
}

#footer a.insta {
    width: 16%;
    margin: 0 auto 45px;
}

@media screen and (min-width: 800px) {
    #footer a.insta {
        max-width: 80px;
        margin: 0 auto 60px;
    }
}

#footer a.logo {
    display: block;
    width: 12.4%;
    margin: 0 auto 45px;
}

@media screen and (min-width: 800px) {
    #footer a.logo {
        max-width: 54px;
        margin: 0 auto 60px;
    }
}

#footer small {
    display: block;
    color: #aaaaaa;
    text-align: center;
    font-size: 1rem;
    letter-spacing: 0.05em;
}

@media screen and (min-width: 800px) {
    #footer small {
        font-size: 1.1rem;
    }
}


/*コントロールナビ*/

.flex-control-nav {
    width: 10%;
    position: absolute;
    bottom: 30px;
    right: 10px;
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center;
    z-index: 50;
}

@media screen and (min-width: 800px) {
    .flex-control-nav {
        bottom: 40px;
    }
}

.flex-control-nav li:not(:last-of-type) {
    margin-bottom: 30px;
}

@media screen and (min-width: 800px) {
    .flex-control-nav li:not(:last-of-type) {
        margin-bottom: 40px;
    }
}

.flex-control-nav li a {
    position: relative;
    width: 5px;
    height: 5px;
    background: rgba(255, 255, 255, 0.6);
}

.flex-control-nav li a.flex-active {
    background: rgb(255, 255, 255);
}

.flex-control-nav li a.flex-active .circle {
    -webkit-animation: draw-circle 3s 0s forwards;
    animation: draw-circle 3s 0s forwards;
}

.flex-control-nav li a .circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    width: 30px;
    height: 30px;
    fill: none;
    stroke: #ffffff;
    stroke-width: 14px;
    /*線の長さ 空白の長さ*/
    stroke-dasharray: 1260px 1260px;
    /*波線の開始位置*/
    stroke-dashoffset: 1260px;
}

@media screen and (min-width: 800px) {
    .flex-control-nav li a .circle {
        width: 36px;
        height: 36px;
    }
}

@-webkit-keyframes draw-circle {
    0% {
        transform: translate(-50%, -50%) rotate(-90deg);
        stroke-dashoffset: 1260px;
    }
    100% {
        transform: translate(-50%, -50%) rotate(-90deg);
        stroke-dashoffset: 0;
    }
}

@keyframes draw-circle {
    0% {
        transform: translate(-50%, -50%) rotate(-90deg);
        stroke-dashoffset: 1260px;
    }
    100% {
        transform: translate(-50%, -50%) rotate(-90deg);
        stroke-dashoffset: 0;
    }
}

.cover_anim:before {
    -webkit-animation: cover_T 1.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation: cover_T 1.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    background: #f8ced2;
    width: 120%;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.cover_anim01:before {
    -webkit-animation: cover_L 1.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation: cover_L 1.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    background: #fff;
    bottom: 0;
    content: "";
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
}

.bg_color::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(255, 255, 255);
    z-index: 100;
    -webkit-animation: shrink 1.2s ease-in-out 0s 1 forwards;
    animation: shrink 1.2s ease-in-out 0s 1 forwards;
}

.opacity {
    -webkit-animation: opacity 1.6s ease-in-out 1 both;
    animation: opacity 1.6s ease-in-out 1 both;
}


/*.rotate {
  animation: rotate 1.6s ease-in-out .6s 1 forwards;
}*/

.opacity01 {
    opacity: 1 !important;
}

.logo_small {
    opacity: 0;
    transform: translateY(50px);
}

.logo_small.translate {
    opacity: 1 !important;
    transform: translateY(0);
    transition: all 2s;
}

h1.translate01 {
    opacity: 1 !important;
    transform: translate(-50%, -50%) !important;
    transition: all 1s 1s;
}

h3.translate02 {
    opacity: 1 !important;
    transform: translate(-90%, -95%) !important;
    transition: all 1s 1.6s;
}

.rotate {
    opacity: 0;
    transform: translate3d(0%, -35%, 0) rotate3d(1, 1, 0, -30deg);
    transition: transform 1.4s;
}

.rotate.in {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate3d(1, 1, 0, 0deg);
}

.filter {
    filter: blur(10px) brightness(2) saturate(1);
    -webkit-filter: blur(10px) brightness(2) saturate(1);
    -moz-filter: blur(10px) brightness(2) saturate(1);
    transition: filter 0.6s cubic-bezier(0.1, 0, 0.2, 1);
}

.filter.off {
    filter: blur(0) brightness(1) saturate(1);
    -webkit-filter: blur(0) brightness(1) saturate(1);
    -moz-filter: blur(0) brightness(1) saturate(1);
}

.scale {
    opacity: 1 !important;
    transform: scale(1) !important;
    transition: all 2s ease-in-out;
}

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

@media screen and (max-width: 799px) {
    .pc_only {
        display: none;
    }
}

div[class*=section] {
    margin-bottom: 100px;
}

@media screen and (min-width: 800px) {
    div[class*=section] {
        margin-bottom: 200px;
    }
}

@media screen and (max-width: 799px) {
    div[class*=section]:first-child {
        margin-bottom: 100px;
    }
}


/*div[class*="section"]:nth-last-child(2) {
  @include mq(sp) {
    margin-bottom: 0;
  }
}*/


/*テキストアニメーション
_______________________________________*/


/* ANIMATION
--------------------------------------*/

.fuwatAnime {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-name: fuwatAnime;
    animation-name: fuwatAnime;
    visibility: visible !important;
}

@-webkit-keyframes fuwatAnime {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@keyframes fuwatAnime {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.fuwatAnimeFromTop {
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-name: fuwatAnimeFromTop;
    animation-name: fuwatAnimeFromTop;
    visibility: visible !important;
}

@-webkit-keyframes fuwatAnimeFromTop {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-50px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@keyframes fuwatAnimeFromTop {
    0% {
        opacity: 0;
        transform: translateY(-50px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.blink {
    animation: blink 2s ease 0s infinite normal;
    -webkit-animation: blink 2s ease 0s infinite normal;
}

@keyframes blink {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes blink {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes shrink {
    0% {
        transform: traslateY(0);
    }
    100% {
        transform: translateY(100%);
    }
}

@keyframes shrink {
    0% {
        transform: traslateY(0);
    }
    100% {
        transform: translateY(100%);
    }
}

@-webkit-keyframes opacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes opacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes rotate {
    0% {
        opacity: 0;
        transform: scale(1.4) rotate(12deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0);
    }
}

@keyframes rotate {
    0% {
        opacity: 0;
        transform: scale(1.4) rotate(12deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0);
    }
}

@-webkit-keyframes fadeIn01 {
    0% {
        opacity: 0.4;
        transform: matrix(1.5, 0.2, 0.2, 1.5, 0, -10);
    }
    30% {
        opacity: 0.4;
        transform: matrix(1.3, 0.1, 0.1, 1.3, 3, -7);
    }
    100% {
        opacity: 1;
        transform: matrix(1, 0, 0, 1, 0, 0);
    }
}

@keyframes fadeIn01 {
    0% {
        opacity: 0.4;
        transform: matrix(1.5, 0.2, 0.2, 1.5, 0, -10);
    }
    30% {
        opacity: 0.4;
        transform: matrix(1.3, 0.1, 0.1, 1.3, 3, -7);
    }
    100% {
        opacity: 1;
        transform: matrix(1, 0, 0, 1, 0, 0);
    }
}

@-webkit-keyframes zoomIn {
    0% {
        opacity: 0.1;
        transform: scale(1.4) translateY(-30px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0px);
    }
}

@keyframes zoomIn {
    0% {
        opacity: 0.1;
        transform: scale(1.4) translateY(-30px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0px);
    }
}

@-webkit-keyframes zoomIn01 {
    0% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes zoomIn01 {
    0% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}


/*.position {
  opacity: 0;
  -webkit-animation: position 2s ease-in-out 0s 1 forwards;
      animation: position 2s ease-in-out 0s 1 forwards;
}*/

@-webkit-keyframes position {
    0% {
        opacity: 0.4;
        transform: translateX(0);
    }
    100% {
        opacity: 1;
        transform: translateX(8px);
    }
}

@keyframes position {
    0% {
        opacity: 0.4;
        transform: translateX(0);
    }
    100% {
        opacity: 1;
        transform: translateX(8px);
    }
}

@-webkit-keyframes position_01 {
    0% {
        opacity: 0;
        transform: translate(-50%, 100px);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, 0px);
    }
}

@keyframes position_01 {
    0% {
        opacity: 0;
        transform: translate(-50%, 100px);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, 0px);
    }
}

@-webkit-keyframes bg_size {
    0% {
        border: none;
    }
    100% {
        border: 1px solid;
    }
}

@keyframes bg_size {
    0% {
        border: none;
    }
    100% {
        border: 1px solid;
    }
}

@-webkit-keyframes cover_R {
    100% {
        transform: translateX(100%);
    }
}

@keyframes cover_R {
    100% {
        transform: translateX(100%);
    }
}

@-webkit-keyframes cover_L {
    100% {
        transform: translateX(-100%);
    }
}

@keyframes cover_L {
    100% {
        transform: translateX(-100%);
    }
}

@-webkit-keyframes cover_T {
    100% {
        transform: translateY(-120%);
    }
}

@keyframes cover_T {
    100% {
        transform: translateY(-120%);
    }
}

@-webkit-keyframes arrow_anime {
    0% {
        opacity: 0;
        transform: translate(-50%, -10px) rotate(180deg);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, 50px) rotate(180deg);
    }
}

@keyframes arrow_anime {
    0% {
        opacity: 0;
        transform: translate(-50%, -10px) rotate(180deg);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, 50px) rotate(180deg);
    }
}

@-webkit-keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}

@keyframes loop {
    0% {
        transform: translateX(100%);
    }
    to {
        transform: translateX(-100%);
    }
}

@-webkit-keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0);
    }
    to {
        transform: translateX(-200%);
    }
}

@-webkit-keyframes blur {
    0% {
        filter: blur(10px);
    }
    100% {
        filter: blur(0px);
    }
}

@keyframes blur {
    0% {
        filter: blur(10px);
    }
    100% {
        filter: blur(0px);
    }
}

.layout .fadeIn.show {
    opacity: 1;
    transition: 1.4s;
}

.layout .fadeIn {
    opacity: 0;
}


/*----- フェードイン -----*/

.inviewfadeInUp {
    opacity: 0;
    transform: translate(0, 60px);
    -webkit-transform: translate(0, 60px);
    transition: 2s;
    transition-delay: 0.4s;
}

.inviewfadeInUp01 {
    opacity: 0;
    transform: translate(0, 10px);
    -webkit-transform: translate(0, 10px);
    transition: 1s;
    transition-delay: 1s;
}

.inviewfadeInUp2 {
    opacity: 0;
    transform: translate(0, 40px);
    -webkit-transform: translate(0, 40px);
    transition: 1s;
    transition-delay: 0.4s;
}

.inviewfadeInUp3 {
    opacity: 0;
    transform: translate(0, 60px);
    -webkit-transform: translate(0, 60px);
    transition: 1.4s;
    transition-delay: 0.8s;
}

.inviewfadeIn {
    opacity: 0;
    transition: 0.8s;
}

.inviewfromTop {
    opacity: 0;
    transform: translate(0, -80px);
    -webkit-transform: translate(0, -80px);
    transition: 1s;
}

.inviewRight {
    opacity: 0;
    transform: translate(30px, -30px);
    -webkit-transform: translate(30px, -30px);
    transition: 0.8s;
    transition-delay: 0.8s;
}

.inviewLeft {
    opacity: 0;
    transform: translate(-30px, -30px);
    -webkit-transform: translate(-30px, -30px);
    transition: 0.8s;
    transition-delay: 0.8s;
}


/*.zoomIn {
      animation: zoomIn 1.2s 1s cubic-bezier(.3,1.59,.79,-0.64) 1 forwards;
    }*/

.fadeInUp {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
    -webkit-transform: translate(0, 0) !important;
}

.fadeInUp01 {
    opacity: 1 !important;
}


/* loading
--------------------------------------*/

#loader-bg {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0px;
    left: 0px;
    background: #FFF;
    z-index: 1;
    z-index: 99999;
}

#loader-bg #loading {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (min-width: 800px) {
    #loader-bg #loading {
        width: 100%;
        margin: auto;
        height: 100%;
    }
}

@media screen and (max-width: 799px) {
    #loader-bg #loading {
        width: 100%;
        margin: auto;
        height: 100%;
    }
}

@media screen and (min-width: 800px) {
    #loader-bg #loading div {
        width: 20%;
        margin: auto;
    }
}

@media screen and (max-width: 799px) {
    #loader-bg #loading div {
        width: 40%;
        margin: auto;
    }
}


/*jQueryのCSS
--------------------------------------*/


/*# sourceMappingURL=style.css.map */