@charset "UTF-8";

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

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

body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    text-rendering: auto;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    color: #151414;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: .1em
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400
}

em,
i {
    font-style: normal
}

html {
    font-size: 62.5%
}

body a {
    text-decoration: none
}

body * {
    box-sizing: border-box
}

.clearfix {
    *zoom: 1
}

.clearfix:after,
.clearfix:before {
    content: " ";
    display: table
}

.clearfix:after {
    clear: both
}

.container {
    width: 100%;
    overflow: hidden
}

.inner-conteiner {
    background-color: #151414
}

.main {
    display: block;
    padding: 0;
    position: relative;
    overflow: hidden;
    height: 100vh
}

@media screen and (max-width:768px) {
    .main {
        overflow: visible;
        height: auto
    }
}

#js-scroller {
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: transform 1s cubic-bezier(.19, 1, .435, .99)
}

.inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    display: block;
    position: relative;
    padding: 0 4.35%
}

@media screen and (max-width:768px) {
    .inner {
        max-width: 100%;
        padding: 0 15px
    }
}

img {
    height: auto
}

.br-sp {
    display: none
}

@media screen and (max-width:768px) {
    .br-sp {
        display: block
    }
}

.br-pc {
    display: block
}

@media screen and (max-width:768px) {
    .br-pc {
        display: none
    }
}

@font-face {
    font-family: 'icomoon';
    src: url(../lib/fonts/icomoon%EF%B9%96957wgi.eot);
    src: url(../lib/fonts/icomoon%EF%B9%96957wgi.eot#iefix) format("embedded-opentype"), url(../lib/fonts/icomoon%EF%B9%96957wgi.ttf) format("truetype"), url(../lib/fonts/icomoon%EF%B9%96957wgi.woff) format("woff"), url(../lib/fonts/icomoon%EF%B9%96957wgi.svg#icomoon) format("svg");
    font-weight: 400;
    font-style: normal
}

[class*=" icon-"],
[class^=icon-] {
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-arr-left:before {
    content: "\e900"
}

.icon-arr-right:before {
    content: "\e901"
}

.icon-arr-scrool:before {
    content: "\e902"
}

.icon-copy:before {
    content: "\e903"
}

.icon-fb:before {
    content: "\e904"
}

.icon-ig:before {
    content: "\e905"
}

.icon-logo:before {
    content: "\e906"
}

.icon-pin:before {
    content: "\e907"
}

.icon-tw:before {
    content: "\e908"
}

.swiper-container {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
    float: left
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: cubic-bezier(.19, 1, .435, .99);
    margin: 0 auto
}

.swiper-slide {
    -webkit-flex-shrink: 0;
    -ms-flex: 0 0 auto;
    flex-shrink: 0;
    height: 100%;
    position: relative
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-wp8-horizontal {
    touch-action: pan-y
}

.swiper-wp8-vertical {
    touch-action: pan-x
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 27px;
    height: 44px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    left: 10px;
    right: auto
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    right: 10px;
    left: auto
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms;
    transform: translate3d(0, 0, 0);
    z-index: 10;
    display: block
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #838ba0
}

@media screen and (max-width:768px) {
    .swiper-pagination-bullet {
        width: 7px;
        height: 7px
    }
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-white .swiper-pagination-bullet {
    background: #fff
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #fff
}

.swiper-pagination-black .swiper-pagination-bullet-active,
.swiper-pagination-white .swiper-pagination-bullet-active {
    background: #5ace23
}

.swiper-container-vertical>.swiper-pagination-bullets {
    left: 25px;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 20px 0;
    display: block
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 10px
}

.swiper-pagination-progress {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progress .swiper-pagination-progressbar {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progress {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-vertical>.swiper-pagination-progress {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-progress.swiper-pagination-white {
    background: rgba(255, 255, 255, .5)
}

.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
    background: #fff
}

.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
    background: #000
}

.swiper-container-3d {
    -o-perspective: 1200px;
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), transparent)
}

.swiper-container-coverflow .swiper-wrapper,
.swiper-container-flip .swiper-wrapper {
    -ms-perspective: 1200px
}

.swiper-container-cube,
.swiper-container-flip {
    overflow: visible
}

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-cube .swiper-slide .swiper-slide,
.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube .swiper-slide-active .swiper-slide-active,
.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-slide {
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    filter: blur(50px);
    z-index: 0
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: cubic-bezier(.19, 1, .435, .99)
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

.swiper-lazy-preloader-white:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

@keyframes swiper-preloader-spin {
    to {
        transform: rotate(360deg)
    }
}

.btn-white,
.global-header__nav li a.is-current,
.global-header__nav li a:hover {
    color: #fff
}

.btn-white .btn-square-line1,
.btn-white .btn-square-line2,
.btn-white .btn-square-line3,
.btn-white .btn-square-line4 {
    background-color: #7f7f7f
}

.btn-black {
    color: #151414
}

.js-btn-scroll-in.is-animation .btn-square1 .btn-square-line1,
.js-btn-scroll-in.is-animation .btn-square2 .btn-square-line1 {
    transform: scaleX(1)
}

.js-btn-scroll-in.is-animation .btn-square1 .btn-square-line2,
.js-btn-scroll-in.is-animation .btn-square1 .btn-square-line4,
.js-btn-scroll-in.is-animation .btn-square2 .btn-square-line2,
.js-btn-scroll-in.is-animation .btn-square2 .btn-square-line4 {
    transform: scaleY(1)
}

.btn:hover .btn-square3 .btn-square-line1,
.btn:hover .btn-square4 .btn-square-line1,
.js-btn-scroll-in.is-animation .btn-square1 .btn-square-line3,
.js-btn-scroll-in.is-animation .btn-square2 .btn-square-line3 {
    transform: scaleX(1)
}

.btn,
.btn>i,
.btn>span {
    display: inline-block;
    position: relative
}

.btn {
    text-align: center
}

.btn>i,
.btn>span {
    color: currentColor;
    z-index: 2
}

.btn>span {
    top: 2px
}

.btn:hover .btn-square3 .btn-square-line2,
.btn:hover .btn-square3 .btn-square-line4,
.btn:hover .btn-square4 .btn-square-line2,
.btn:hover .btn-square4 .btn-square-line4 {
    transform: scaleY(1)
}

.btn:hover .btn-square3 .btn-square-line3,
.btn:hover .btn-square4 .btn-square-line3,
.section__box.is-square-animation .section__box-square1 .section__box-square-line1 {
    transform: scaleX(1)
}

.btn-square {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.btn-square-line1 {
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0)
}

.btn-square-line1,
.btn-square-line2,
.btn-square-line3,
.btn-square-line4 {
    position: absolute;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    transition: all .4s linear
}

.btn-square-line2 {
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0)
}

.btn-square-line3,
.btn-square-line4 {
    left: 0
}

.btn-square-line3 {
    bottom: 0;
    transform: scaleX(0);
    width: 100%;
    height: 1px
}

.btn-square-line4 {
    top: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0)
}

.btn-square1 .btn-square-line1 {
    transform-origin: left center
}

.btn-square1 .btn-square-line2 {
    transition-delay: .4s;
    transform-origin: center top
}

.btn-square1 .btn-square-line4 {
    transform-origin: center top
}

.btn-square1 .btn-square-line3 {
    transition-delay: .4s;
    transform-origin: left center
}

.btn-square2,
.btn-square4 {
    top: 5px;
    left: 4px
}

.btn-square2 .btn-square-line1 {
    transform-origin: right center
}

.btn-square2 .btn-square-line4 {
    transition-delay: .4s;
    transform-origin: center top
}

.btn-square2 .btn-square-line2 {
    transform-origin: center top
}

.btn-square2 .btn-square-line3 {
    transition-delay: .4s;
    transform-origin: right center
}

.btn-square3 .btn-square-line1 {
    transform-origin: left center
}

.btn-square3 .btn-square-line2 {
    transition-delay: .4s
}

.btn-square3 .btn-square-line2,
.btn-square3 .btn-square-line4 {
    background-color: #fff;
    transform-origin: center top
}

.btn-square3 .btn-square-line3 {
    background-color: #fff;
    transition-delay: .4s;
    transform-origin: left center
}

.btn-square3 .btn-square-line1 {
    background-color: #fff
}

.btn-square4 .btn-square-line1 {
    background-color: #fff;
    transform-origin: right center
}

.btn-square4 .btn-square-line4 {
    transition-delay: .4s
}

.btn-square4 .btn-square-line2,
.btn-square4 .btn-square-line4 {
    background-color: #fff;
    transform-origin: center top
}

.btn-square4 .btn-square-line3 {
    background-color: #fff;
    transition-delay: .4s;
    transform-origin: right center
}

.btn-mid {
    width: 274px;
    padding: 23px 0
}

@media screen and (max-width:768px) {
    .btn-mid {
        width: 77%;
        padding: 16px 0
    }
}

.btn-mid span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: .05em
}

@media screen and (max-width:768px) {
    .btn-mid span {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 1
    }
}

.loader,
.loader__box {
    display: flex;
    justify-content: center;
    align-items: center
}

.loader {
    top: 0;
    left: 0;
    z-index: 2100;
    background-color: #151414;
    position: fixed;
    width: 100%;
    height: 100%;
    transition: all 1.4s cubic-bezier(.19, 1, .435, .99)
}

.loader.is-complete {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.loader.is-complete .loader__box {
    border: none;
    transform: rotate(45deg) scale(1.2);
    transition-delay: .2s
}

.loader__box {
    width: 110px;
    height: 110px;
    position: relative;
    border: 1px solid #302f2f;
    transform: rotate(45deg);
    transform-origin: center;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .loader__box {
        width: 80px;
        height: 80px
    }
}

.loader__box-line {
    position: absolute;
    background-color: #fff;
    transition: all .7s cubic-bezier(.19, 1, .435, .99);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1
}

.loader__box-line1 {
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center
}

.loader__box-line2 {
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0);
    transform-origin: center top
}

.loader__box-line3 {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: right center
}

.loader__box-line4 {
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0);
    transform-origin: center bottom
}

.loader__inner {
    position: absolute
}

.loader__num {
    color: #fff;
    transform: rotate(-45deg);
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    letter-spacing: .05em
}

.loader__num span {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1;
    display: inline-block;
    margin: 0 5px 0 0
}

@media screen and (max-width:768px) {
    .loader__num span {
        font-size: 28px;
        font-size: 2.8rem;
        line-height: 1
    }
}

.loader__num i {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1
}

@media screen and (max-width:768px) {
    .loader__num i {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1
    }
}

.mainvisual {
    width: 100%;
    height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    overflow: hidden;
    background-color: #151414
}

.mainvisual.is-loaded .mainvisual__title span {
    opacity: 1;
    transform: scale(1, 1) rotateY(0deg) translate(0, 0)
}

.mainvisual.is-loaded .mainvisual__logo,
.mainvisual.is-loaded .mainvisual__news,
.mainvisual.is-loaded .mainvisual__scroll,
.mainvisual.is-loaded .mainvisual__sns,
.mainvisual.is-loaded .mainvisual__title-bottom {
    opacity: 1;
    transition-delay: 2s
}

.mainvisual__bg-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99);
    background-color: #151414
}

.mainvisual__bg {
    width: 116%;
    height: 116%;
    position: absolute;
    top: -8%;
    left: -8%;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(../images/mv/mv.jpg);
    background-size: cover
}

@media screen and (max-width:768px) {
    .mainvisual__bg {
        background-image: url(../images/mv/mv@sp.jpg)
    }
}

.mainvisual__inner {
    position: relative;
    z-index: 2
}

.mainvisual__title {
    text-align: center;
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    transform-style: preserve-3d
}

.mainvisual__title span {
    display: inline-block;
    position: relative;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0;
    transform: scale(.5, .2) rotateY(90deg) translate(-3px, 0);
    transform-origin: left center
}

.mainvisual__title-top {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1;
    letter-spacing: .15em;
    margin: 0 0 20px
}

@media screen and (max-width:768px) {
    .mainvisual__title-top {
        font-size: 30px;
        font-size: 3rem;
        line-height: 1;
        letter-spacing: .07em;
        margin: 0 0 9px
    }
}

.mainvisual__title-top span:first-child {
    transition-delay: 0s
}

.mainvisual__title-top span:nth-child(2) {
    transition-delay: 50ms
}

.mainvisual__title-top span:nth-child(3) {
    transition-delay: 100ms
}

.mainvisual__title-top span:nth-child(4) {
    transition-delay: 150ms
}

.mainvisual__title-top span:nth-child(5) {
    transition-delay: 200ms
}

.mainvisual__title-top span:nth-child(6) {
    transition-delay: 250ms
}

.mainvisual__title-top span:nth-child(7) {
    transition-delay: 300ms
}

.mainvisual__title-top span:nth-child(8) {
    transition-delay: 350ms
}

.mainvisual__title-top span:nth-child(9) {
    transition-delay: 400ms
}

.mainvisual__title-middle {
    font-size: 68px;
    font-size: 6.8rem;
    line-height: 1;
    letter-spacing: .15em;
    margin: 0 0 31px
}

@media screen and (max-width:768px) {
    .mainvisual__title-middle {
        font-size: 30px;
        font-size: 3rem;
        line-height: 1;
        letter-spacing: .07em;
        margin: 0 0 9px
    }
}

.mainvisual__title-middle span:first-child {
    transition-delay: 0s
}

.mainvisual__title-middle span:nth-child(2) {
    transition-delay: 50ms
}

.mainvisual__title-middle span:nth-child(3) {
    transition-delay: 100ms
}

.mainvisual__title-middle span:nth-child(4) {
    transition-delay: 150ms
}

.mainvisual__title-middle span:nth-child(5) {
    transition-delay: 200ms
}

.mainvisual__title-middle span:nth-child(6) {
    transition-delay: 250ms
}

.mainvisual__title-middle span:nth-child(7) {
    transition-delay: 300ms
}

.mainvisual__title-middle span:nth-child(8) {
    transition-delay: 400ms
}

.mainvisual__title-middle span:nth-child(9) {
    transition-delay: 450ms
}

.mainvisual__title-middle span:nth-child(10) {
    transition-delay: 500ms
}

.mainvisual__title-middle span:nth-child(11) {
    transition-delay: 550ms
}

.mainvisual__title-middle span:nth-child(12) {
    transition-delay: 600ms
}

.mainvisual__title-middle span:nth-child(13) {
    transition-delay: 650ms
}

.mainvisual__title-middle span:nth-child(14) {
    transition-delay: 700ms
}

.mainvisual__title-middle span:nth-child(15) {
    transition-delay: 750ms
}

.mainvisual__logo,
.mainvisual__title-bottom {
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0
}

.mainvisual__title-bottom {
    margin: 0 0 0 -9px
}

.mainvisual__title-bottom svg {
    width: 317px;
    fill: #fff
}

@media screen and (max-width:768px) {
    .mainvisual__title-bottom svg {
        width: 192px;
        height: 18px
    }
}

.mainvisual__logo {
    position: absolute;
    top: 51px;
    left: 56px;
    z-index: 2
}

@media screen and (max-width:768px) {
    .mainvisual__logo {
        top: 26px;
        left: 15px
    }
}

.mainvisual__logo a {
    display: block
}

.mainvisual__logo a:hover,
.mainvisual__news-item-link:hover,
.mainvisual__news-slide.is-moving,
.mainvisual__sns a:hover {
    opacity: .6
}

.mainvisual__logo a svg {
    width: 151px;
    height: 36px;
    fill: #fff
}

@media screen and (max-width:768px) {
    .mainvisual__logo a svg {
        width: 105px;
        height: 25px
    }
}

.mainvisual__sns {
    position: absolute;
    top: 62px;
    right: 55px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0;
    z-index: 2
}

@media screen and (max-width:768px) {
    .mainvisual__sns {
        top: 32px;
        right: 15px
    }
}

.mainvisual__logo a,
.mainvisual__news-pagination-next .icon,
.mainvisual__news-pagination-prev .icon,
.mainvisual__sns a {
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

.mainvisual__sns a {
    color: #fff;
    margin: 0 0 0 14px;
    display: block
}

.mainvisual__news {
    position: absolute;
    bottom: 52px;
    left: 58px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0;
    z-index: 2
}

@media screen and (max-width:768px) {
    .mainvisual__news {
        width: calc(100% - 32px);
        bottom: 58px;
        left: 16px;
        justify-content: space-between
    }
}

.mainvisual__news-title {
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: .1em;
    display: block;
    position: relative;
    margin: 0 18px 0 0;
    padding: 0 12px 0 0
}

.mainvisual__news-title:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #575757
}

@media screen and (max-width:768px) {
    .mainvisual__news-title:after {
        display: none
    }
}

.mainvisual__news-slide {
    width: 400px;
    opacity: 1;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

.mainvisual__news-slide a {
    color: #fff !important
}

@media screen and (max-width:768px) {
    .mainvisual__news-slide {
        width: 100%;
        position: absolute;
        bottom: -27px;
        left: 0
    }
}

.mainvisual__news-item-link {
    color: currentColor;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

.mainvisual__news-item-time {
    font-weight: 400;
    font-size: 12px;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: .1em;
    display: block;
    margin: 0 9px 0 0
}

@media screen and (max-width:768px) {
    .mainvisual__news-item-time {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 1
    }
}

.mainvisual__news-item-title {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: .05em;
    height: 13px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

@media screen and (max-width:768px) {
    .mainvisual__news-item-title {
        height: 11px;
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 1;
        position: relative;
        top: 0
    }
}

.mainvisual__news-pagination {
    display: flex;
    justify-content: center;
    align-items: center
}

.mainvisual__news-pagination>span {
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: .1em;
    color: #fff
}

.mainvisual__news-pagination-next,
.mainvisual__news-pagination-prev {
    position: relative;
    width: 25px;
    cursor: pointer color:#fff
}

.mainvisual__news-pagination-next:hover span,
.mainvisual__news-pagination-prev:hover span {
    transform: scaleX(1.2) translate(0, 0)
}

.mainvisual__news-pagination-prev:hover .icon {
    transform: scale(.8) translate(-4px, 0)
}

.mainvisual__news-pagination-prev span {
    width: 16px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 7px;
    left: 2px;
    opacity: 1;
    transform: scaleX(1) translate(0, 0);
    transform-origin: right center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.mainvisual__news-pagination-next .icon,
.mainvisual__news-pagination-prev .icon {
    font-size: 10px;
    display: inline-block;
    position: relative;
    transform: scale(.8) translate(0, 0);
    color: #fff
}

.mainvisual__news-pagination-next {
    text-align: right
}

.mainvisual__news-pagination-next:hover .icon {
    transform: scale(.8) translate(4px, 0)
}

.mainvisual__nav a,
.mainvisual__news-pagination-next span,
.mainvisual__news-pagination-prev span {
    display: block;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

.mainvisual__news-pagination-next span {
    background-color: #fff;
    position: absolute;
    top: 7px;
    right: 2px;
    opacity: 1;
    transform: scaleX(1) translate(0, 0);
    transform-origin: left center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: 16px;
    height: 1px
}

.mainvisual__scroll {
    position: absolute;
    bottom: 52px;
    right: 57px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    cursor: pointer;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0;
    z-index: 2
}

@media screen and (max-width:768px) {
    .mainvisual__scroll {
        display: none
    }
}

.mainvisual__scroll-line {
    display: block;
    width: 1px;
    height: 64px;
    background-color: #fff;
    position: absolute;
    top: 26px;
    left: 7px;
    transform-origin: center top;
    animation: scroll_line 2.5s cubic-bezier(.19, 1, .435, .99) infinite
}

.mainvisual__scroll svg {
    width: 14px;
    height: 17px;
    fill: none
}

.mainvisual__nav {
    position: fixed;
    top: 50%;
    right: 60px;
    transform: translate(0, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 100;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0
}

@media screen and (max-width:768px) {
    .mainvisual__nav {
        display: none
    }
}

.mainvisual__nav.is-loaded {
    opacity: 1;
    transition-delay: 3s
}

.mainvisual__nav a {
    width: 7px;
    height: 7px;
    border: 1px solid #fff;
    transform: rotate(45deg);
    margin: 0 0 24px;
    cursor: pointer
}

.mainvisual__nav a.is-current,
.mainvisual__nav a:hover {
    background-color: #fff
}

@keyframes scroll_line {
    0% {
        transform: scaleY(0);
        transform-origin: center top
    }

    30% {
        transform: scaleY(1);
        transform-origin: center top
    }

    60% {
        transform: scaleY(1);
        transform-origin: center bottom
    }

    to {
        transform: scaleY(0);
        transform-origin: center bottom
    }
}

.global-footer {
    text-align: center;
    color: #fff;
    padding-bottom: 90px
}

@media screen and (max-width:768px) {
    .global-footer {
        padding-bottom: 40px
    }
}

.global-footer a {
    color: currentColor
}

@media screen and (max-width:768px) {
    .global-footer__contact {
        margin: 0 0 28px
    }
}

.global-footer__contact-title {
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: .1em;
    margin: 0 0 45px
}

@media screen and (max-width:768px) {
    .global-footer__contact-title {
        font-size: 25px;
        font-size: 2.5rem;
        line-height: 1;
        margin: 0 0 33px
    }
}

.global-footer__contact-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 65px
}

@media screen and (max-width:768px) {
    .global-footer__contact-btn {
        flex-wrap: wrap;
        margin: 0
    }
}

.global-footer__contact-btn a {
    margin: 0 16px
}

@media screen and (max-width:768px) {
    .global-footer__contact-btn a {
        margin: 0 0 30px
    }
}

.global-footer__sns {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 47px
}

@media screen and (max-width:768px) {
    .global-footer__sns {
        margin: 0 0 27px
    }
}

.global-footer__sns a {
    margin: 0 12px;
    font-size: 18px;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .global-footer__sns a {
        margin: 0 12px;
        font-size: 18px
    }
}

.gallery__item a:hover,
.global-footer__company a:hover,
.global-footer__sns a:hover {
    opacity: .6
}

.global-footer__company {
    margin: 0 0 48px
}

@media screen and (max-width:768px) {
    .global-footer__company {
        margin: 0 0 28px
    }
}

.global-footer__company a {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: .1em;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .global-footer__company a {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 1
    }
}

.global-footer__copy {
    display: block;
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: .1em
}

.pagetop {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #cd0010;
    color: #fff;
    cursor: pointer
}

@media screen and (max-width:768px) {
    .pagetop {
        width: 40px;
        height: 40px;
        top: -22px
    }
}

.pagetop .icon {
    font-size: 12px
}

@media screen and (max-width:768px) {
    .pagetop .icon {
        font-size: 10px
    }
}

.global-header {
    position: fixed;
    top: 78px;
    left: 0;
    width: 100%;
    z-index: 1000
}

.global-header.is-type2 .global-header__logo,
.global-header.is-type2 .global-header__nav {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

@media screen and (max-width:768px) {
    .global-header {
        top: 40px
    }
}

.global-header.is-open {
    z-index: 1002
}

.global-header.is-open .global-header__logo,
.global-header.is-open .global-header__nav {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    display: none
}

.global-header__inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px
}

@media screen and (max-width:768px) {
    .global-header__inner {
        padding: 0
    }
}

.global-header__logo {
    display: block;
    margin: 8px 0 0;
    opacity: 1;
    transition: all .2s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .global-header__logo {
        margin: 4px 0 0 15px
    }
}

.global-header__logo svg {
    width: 80px;
    height: 64px
}

@media screen and (max-width:768px) {
    .global-header__logo svg {
        width: 40px;
        height: 32px
    }
}

.global-header__nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-right: 121px;
    opacity: 1;
    transition: all .2 cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .global-header__nav {
        display: none
    }
}

.global-header__nav li {
    display: block;
    margin-right: 30px
}

.global-header__nav li:last-child {
    margin-right: 0
}

.global-header__btn,
.global-header__nav li a {
    display: block;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

.global-header__nav li a {
    color: rgba(255, 255, 255, .5);
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: .075em;
    font-weight: 700;
    position: relative
}

.global-header__nav li a.force-blank,
.global-header__nav li a[target=_blank] {
    padding-right: 14px
}

.global-header__nav li a.force-blank:hover:after,
.global-header__nav li a[target=_blank]:hover:after {
    opacity: 1
}

.global-header__nav li a.force-blank:after,
.global-header__nav li a[target=_blank]:after {
    content: '';
    position: absolute;
    top: 2px;
    right: 0;
    width: 10px;
    height: 10px;
    background-image: url(../images/common/icon-blank.png.html);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: .5;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

.global-header__btn {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 80px;
    width: 80px;
    height: 80px
}

@media screen and (max-width:768px) {
    .global-header__btn {
        right: 40px;
        width: 40px;
        height: 40px
    }
}

.global-header__btn.is-open {
    z-index: 1002;
    background-color: #fff
}

.global-header__btn,
.global-header__btn.is-open span {
    background-color: #cd0010
}

.global-header__btn.is-open span:first-child {
    top: 39px;
    transform: translate(-50%, 0) rotate(45deg)
}

@media screen and (max-width:768px) {
    .global-header__btn.is-open span:first-child {
        top: 20px
    }
}

.global-header__btn.is-open span:last-child {
    top: 40px;
    transform: translate(-50%, 0) rotate(-45deg)
}

@media screen and (max-width:768px) {
    .global-header__btn.is-open span:last-child {
        top: 20px
    }
}

.global-header__btn span {
    width: 25px;
    height: 2px;
    background-color: #fff;
    display: block;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99);
    position: absolute
}

@media screen and (max-width:768px) {
    .global-header__btn span {
        width: 13px;
        height: 1px
    }
}

.global-header__btn span:first-child {
    top: 35px;
    left: 50%;
    transform: translate(-50%, 0) rotate(0deg)
}

@media screen and (max-width:768px) {
    .global-header__btn span:first-child {
        top: 17px
    }
}

.global-header__btn span:last-child {
    top: 44px;
    left: 50%;
    transform: translate(-50%, 0) rotate(0deg)
}

@media screen and (max-width:768px) {
    .global-header__btn span:last-child {
        top: 22px
    }
}

.section {
    position: relative
}

.section__header {
    text-align: center;
    margin: 0 0 110px;
    color: #fff;
    perspective: 500px
}

@media screen and (max-width:768px) {
    .section__header {
        margin: 0 0 12px
    }
}

.section__header.is-animation span {
    opacity: 1;
    transform: scale(1, 1) rotateY(0deg) translate3d(0, 0, 0)
}

.section__header.is-ready {
    opacity: 0
}

.section__header span {
    display: inline-block;
    position: relative;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: scale(.5, .2) rotateY(90deg) translate3d(-3px, 0, 0);
    transform-origin: left center
}

.section__header span:first-child {
    transition-delay: 0s
}

.section__header span:nth-child(2) {
    transition-delay: 50ms
}

.section__header span:nth-child(3) {
    transition-delay: 100ms
}

.section__header span:nth-child(4) {
    transition-delay: 150ms
}

.section__header span:nth-child(5) {
    transition-delay: 200ms
}

.section__header span:nth-child(6) {
    transition-delay: 250ms
}

.section__header span:nth-child(7) {
    transition-delay: 300ms
}

.section__header span:nth-child(8) {
    transition-delay: 400ms
}

.section__header span:nth-child(9) {
    transition-delay: 450ms
}

.section__header span:nth-child(10) {
    transition-delay: 500ms
}

.section__header span:nth-child(11) {
    transition-delay: 550ms
}

.section__header span:nth-child(12) {
    transition-delay: 600ms
}

.section__header span:nth-child(13) {
    transition-delay: 650ms
}

.section__header span:nth-child(14) {
    transition-delay: 700ms
}

.section__header span:nth-child(15) {
    transition-delay: 750ms
}

.section__title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 400;
    font-size: 44px;
    font-size: 4.4rem;
    line-height: 1;
    letter-spacing: .1em;
    margin: 0 0 22px
}

@media screen and (max-width:768px) {
    .section__title {
        font-size: 28px;
        font-size: 2.8rem;
        line-height: 1;
        margin: 0 0 10px
    }
}

.section__subtitle {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 400;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: .1em
}

@media screen and (max-width:768px) {
    .section__subtitle {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1
    }
}

.section__box.is-square-animation .section__box-square1 .section__box-square-line2 {
    transform: scaleY(1)
}

.section__box.is-square-animation .section__box-square1 .section__box-square-line3 {
    transform: scaleX(1)
}

.section__box.is-square-animation .section__box-square1 .section__box-square-line4 {
    transform: scaleY(1)
}

.section__box.is-square-animation .section__box-square2 .section__box-square-line1 {
    transform: scaleX(1)
}

.section__box.is-square-animation .section__box-square2 .section__box-square-line2 {
    transform: scaleY(1)
}

.section__box.is-square-animation .section__box-square2 .section__box-square-line3 {
    transform: scaleX(1)
}

.section__box.is-line-animation .section__box-vertical1,
.section__box.is-line-animation .section__box-vertical2,
.section__box.is-line-animation .section__box-vertical3,
.section__box.is-line-animation .section__box-vertical4,
.section__box.is-line-animation .section__box-vertical5,
.section__box.is-line-animation .section__box-vertical6,
.section__box.is-line-animation .section__box-vertical7,
.section__box.is-line-animation .section__box-vertical8,
.section__box.is-square-animation .section__box-square2 .section__box-square-line4 {
    transform: scaleY(1)
}

.section__box-vertical {
    width: 1px;
    height: 110px;
    background-color: #7f7f7f;
    position: absolute;
    transform: scaleY(0);
    transition: all 1s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .section__box-vertical {
        height: 66px
    }
}

.section__box-vertical1 {
    top: -74px;
    left: 69px;
    transform-origin: center top
}

@media screen and (max-width:768px) {
    .section__box-vertical1 {
        top: -36px;
        left: 20px
    }
}

.section__box-vertical2 {
    top: -54px;
    left: 78px;
    transform-origin: center bottom
}

@media screen and (max-width:768px) {
    .section__box-vertical2 {
        top: -26px;
        left: 24px
    }
}

.section__box-vertical3 {
    bottom: -80px;
    right: 62px;
    transform-origin: center top
}

@media screen and (max-width:768px) {
    .section__box-vertical3 {
        bottom: -37px;
        right: 16px
    }
}

.section__box-vertical4 {
    bottom: -60px;
    right: 70px;
    transform-origin: center bottom
}

@media screen and (max-width:768px) {
    .section__box-vertical4 {
        bottom: -27px;
        right: 20px
    }
}

.section__box-vertical5 {
    height: 80px;
    top: -33px;
    right: 48px;
    transform-origin: center top
}

@media screen and (max-width:768px) {
    .section__box-vertical5 {
        height: 46px;
        top: -22px;
        right: 14px
    }
}

.section__box-vertical6 {
    height: 80px;
    top: -53px;
    right: 55px;
    transform-origin: center bottom
}

@media screen and (max-width:768px) {
    .section__box-vertical6 {
        height: 46px;
        top: -30px;
        right: 18px
    }
}

.section__box-vertical7 {
    height: 80px;
    top: -53px;
    left: 56px;
    transform-origin: center top
}

@media screen and (max-width:768px) {
    .section__box-vertical7 {
        height: 46px;
        top: -30px;
        left: 24px
    }
}

.section__box-vertical8 {
    height: 80px;
    top: -33px;
    left: 64px;
    transform-origin: center bottom
}

@media screen and (max-width:768px) {
    .section__box-vertical8 {
        height: 46px;
        top: -22px;
        left: 28px
    }
}

.section__box-square {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.section__box-square-line1,
.section__box-square-line2 {
    position: absolute;
    top: 0;
    background-color: #7f7f7f;
    transition: all .9s linear
}

.section__box-square-line1 {
    left: 0;
    transform: scaleX(0);
    width: 100%;
    height: 1px
}

.section__box-square-line2 {
    right: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0)
}

.section__box-square-line3,
.section__box-square-line4 {
    position: absolute;
    left: 0;
    background-color: #7f7f7f;
    transition: all .9s linear
}

.section__box-square-line3 {
    bottom: 0;
    transform: scaleX(0);
    width: 100%;
    height: 1px
}

.section__box-square-line4 {
    top: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0)
}

.section__box-square1 .section__box-square-line1 {
    transform-origin: left center
}

.section__box-square1 .section__box-square-line2 {
    transform-origin: center top;
    transition-delay: .9s
}

.section__box-square1 .section__box-square-line3 {
    transform-origin: left center;
    transition-delay: .9s
}

.section__box-square1 .section__box-square-line4 {
    transform-origin: center top
}

.section__box-square2 {
    top: 8px;
    left: 12px
}

@media screen and (max-width:768px) {
    .section__box-square2 {
        top: 4px;
        left: 4px
    }
}

.section__box-square2 .section__box-square-line1 {
    transform-origin: right center
}

.section__box-square2 .section__box-square-line2 {
    transform-origin: center bottom;
    transition-delay: .9s
}

.concept__header span,
.section__box-square2 .section__box-square-line3 {
    transform-origin: left center
}

.section__box-square2 .section__box-square-line4 {
    transform-origin: center top;
    transition-delay: .9s
}

.concept {
    color: #fff;
    padding: 156px 0 348px
}

.newservice{
    color: #fff;
    padding: 156px 0 50px
}

@media screen and (max-width:768px) {
    .concept {
        padding: 99px 0 100px
    }

    .concept .inner {
        padding: 0 32px 0 27px
    }
}

.concept__bg {
    position: absolute;
    top: 0;
    left: 8.7%;
    width: 43.5%;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 3s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .concept__bg {
        display: none
    }
}

.concept__bg img,
.concept__bg2 img {
    width: 100%;
    opacity: .7
}

.concept__bg2 {
    position: absolute;
    bottom: -170px;
    right: 4.35%;
    width: 34.8%;
    opacity: 1;
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 3s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .concept__bg2 {
        display: none
    }
}

.concept__content {
    position: relative;
    z-index: 2;
    padding: 103px 110px 80px 131px;
    width: 73.95%;
    margin: 0 auto;
    top: 95px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row-reverse
}

@media screen and (max-width:768px) {
    .concept__content {
        width: 100%;
        padding: 43px 25px 39px;
        display: block;
        top: 0
    }
}

.concept__content.is-title-animation .concept__header span {
    opacity: 1;
    transform: scale(1, 1) rotateY(0deg) translate(0, 0)
}

.concept__content.is-text-animation .concept__text>*>* {
    opacity: 1;
    transform: translate(0, 0)
}

.concept__header {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    height: 390px;
    padding-top: 5px;
    width: 110px;
    perspective: 500px
}

@media screen and (max-width:768px) {
    .concept__header {
        width: auto;
        text-align: center;
        height: auto;
        webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb
    }
}

.concept__header span {
    display: inline-block;
    position: relative;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0;
    transform: scale(.5, .2) rotateY(90deg) translate(-3px, 0)
}

.concept__title-en {
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: -.05em
}

@media screen and (max-width:768px) {
    .concept__title-en {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1;
        margin: 0 0 15px
    }
}

.concept__title-en span:first-child {
    transition-delay: 0s
}

.concept__title-en span:nth-child(2) {
    transition-delay: 50ms
}

.concept__title-en span:nth-child(3) {
    transition-delay: 100ms
}

.concept__title-en span:nth-child(4) {
    transition-delay: 150ms
}

.concept__title-en span:nth-child(5) {
    transition-delay: 200ms
}

.concept__title-en span:nth-child(6) {
    transition-delay: 250ms
}

.concept__title-en span:nth-child(7) {
    transition-delay: 300ms
}

.concept__title-en span:nth-child(8) {
    transition-delay: 400ms
}

.concept__title-en span:nth-child(9) {
    transition-delay: 450ms
}

.concept__title-en span:nth-child(10) {
    transition-delay: 500ms
}

.concept__title-en span:nth-child(11) {
    transition-delay: 550ms
}

.concept__title {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1;
    letter-spacing: -.12em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    margin: 0 20px 0 0
}

@media screen and (max-width:768px) {
    .concept__title {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1;
        margin: 0 -10px 24px 0
    }
}

.concept__title span.is-space {
    display: inline-block;
    margin: 1px 0 -20px
}

@media screen and (max-width:768px) {
    .concept__title span.is-space {
        margin: 0 0 -10px
    }
}

.concept__title span:first-child {
    transition-delay: 0s
}

.concept__title span:nth-child(2) {
    transition-delay: 50ms
}

.concept__title span:nth-child(3) {
    transition-delay: 100ms
}

.concept__title span:nth-child(4) {
    transition-delay: 150ms
}

.concept__title span:nth-child(5) {
    transition-delay: 200ms
}

.concept__title span:nth-child(6) {
    transition-delay: 250ms
}

.concept__title span:nth-child(7) {
    transition-delay: 300ms
}

.concept__title span:nth-child(8) {
    transition-delay: 400ms
}

.concept__title span:nth-child(9) {
    transition-delay: 450ms
}

.concept__title span:nth-child(10) {
    transition-delay: 500ms
}

.concept__text {
    padding-right: 40px
}

@media screen and (max-width:1024px) {
    .concept__text {
        padding-right: 70px
    }
}

@media screen and (max-width:768px) {
    .concept__text {
        padding: 0
    }
}

.concept__text>* {
    overflow: hidden
}

.concept__text>*>* {
    opacity: 0;
    transform: translate(0, 100%);
    transition: all 2.8s cubic-bezier(.19, 1, .435, .99)
}

.concept__text-jp {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2.28571;
    letter-spacing: .05em;
    margin: 110px 0 14px;
    text-shadow: 0 0 10px #000
}

@media screen and (max-width:768px) {
    .concept__text-jp {
        font-size: 11px;
        font-size: 1.1rem;
        margin: 0 0 14px;
        line-height: 2
    }
}

.concept__text-en {
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: .1em
}

@media screen and (max-width:768px) {
    .concept__text-en {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2;
        letter-spacing: .05em
    }
}

.feature {
    padding-bottom: 125px
}

@media screen and (max-width:768px) {
    .feature {
        padding-bottom: 70px
    }
}

.feature__items {
    display: block
}

.feature__item {
    position: relative;
    width: 100%;
    margin: 0 0 30px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    color: #fff
}

@media screen and (max-width:768px) {
    .feature__item {
        display: block;
        margin: 0 0 18px
    }
}

.feature__item:nth-child(2n) {
    flex-direction: row-reverse
}

.feature__item:nth-child(2n) .feature__item-img {
    margin: 0 4.35% 0 0
}

@media screen and (max-width:768px) {
    .feature__item:nth-child(2n) .feature__item-img {
        margin: 0
    }
}

.feature__item:nth-child(2n) .feature__item-info {
    left: 8.7%
}

@media screen and (max-width:768px) {
    .feature__item:nth-child(2n) .feature__item-info {
        left: 0
    }
}

.feature__item:nth-child(2n-1) .feature__item-img {
    margin: 0 0 0 4.35%
}

@media screen and (max-width:768px) {
    .feature__item:nth-child(2n-1) .feature__item-img {
        margin: 0
    }
}

.feature__item:nth-child(2n-1) .feature__item-info {
    right: 8.7%
}

@media screen and (max-width:768px) {
    .feature__item:nth-child(2n-1) .feature__item-info {
        right: 0
    }
}

.feature__item-img {
    width: 52.2%;
    height: 460px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 3s cubic-bezier(.19, 1, .435, .99);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1;
    transform: translate3d(0, 10%, 0)
}

@media screen and (max-width:768px) {
    .feature__item-img {
        width: 100%;
        height: 100%;
        padding-bottom: 69%;
        transform: translate3d(0, 5%, 0);
        transform: none !important
    }
}

.feature__item-info {
    width: 43.5%;
    padding: 70px 57px 57px;
    position: absolute;
    top: 0;
    transform: translate3d(0, -10%, 0);
    transition: all 3s cubic-bezier(.19, 1, .435, .99);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1
}

@media screen and (max-width:768px) {
    .feature__item-info {
        position: relative;
        width: calc(100% - 31px);
        margin: 0 15px;
        transform: translate3d(0, -5%, 0);
        padding: 23px 25px
    }
}

.feature__item-info.is-text-animation .feature__item-text>*,
.feature__item-info.is-title-animation .feature__item-header>*,
.feature__item-info.is-title-animation .feature__item-title>* {
    opacity: 1;
    transform: translate(0, 0)
}

.feature__item-header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 26px;
    overflow: hidden;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif
}

@media screen and (max-width:768px) {
    .feature__item-header {
        margin: 0 0 11px
    }
}

.feature__item-header>* {
    opacity: 0;
    transform: translate(0, 100%);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 2.8s cubic-bezier(.19, 1, .435, .99)
}

.feature__item-no {
    font-weight: 400;
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1;
    letter-spacing: .05em;
    display: block;
    margin: -2px 7px 0 0
}

@media screen and (max-width:768px) {
    .feature__item-no {
        font-size: 23px;
        font-size: 2.3rem;
        line-height: 1;
        margin: 0 3px 0 0
    }
}

.feature__item-lead {
    display: block;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: .05em
}

@media screen and (max-width:768px) {
    .feature__item-lead {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1;
        position: relative;
        top: 2px
    }
}

.feature__item-title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1;
    letter-spacing: .05em;
    margin: 0 0 32px;
    overflow: hidden
}

@media screen and (max-width:768px) {
    .feature__item-title {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1;
        margin: 0 0 15px
    }
}

.feature__item-title>* {
    display: inline-block;
    opacity: 0;
    transform: translate(0, 100%);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 2.8s cubic-bezier(.19, 1, .435, .99)
}

.feature__item-text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2.28571;
    letter-spacing: .05em;
    overflow: hidden;
    padding-left: 80px
}

@media screen and (max-width:768px) {
    .feature__item-text {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2;
        padding-left: 0px
    }
}

.feature__item-text>* {
    opacity: 0;
    transform: translate(0, 100%);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: all 2.8s cubic-bezier(.19, 1, .435, .99)
}

.order {
    padding-bottom: 240px;
    color: #fff
}

@media screen and (max-width:768px) {
    .order {
        padding-bottom: 56px
    }
}

.order__items {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 4.35%;
    margin: -8px 0 0
}

@media screen and (max-width:768px) {
    .order__items {
        display: block;
        padding: 0 15px;
        margin: 35px 0 0
    }
}

.order__items.is-animation .order__item {
    transform: translate(0, 0)
}

.order__item {
    display: block;
    width: calc(33.3% - 30px);
    margin: 0 45px 0 0;
    transition: all 2s ease;
    opacity: 1;
    transform: translate(0, 120px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

@media screen and (max-width:768px) {
    .order__item {
        width: 100%;
        margin: 0 0 40px;
        transform: translate(0, 40px)
    }
}

.order__item:first-child {
    margin-top: -50px
}

@media screen and (max-width:768px) {
    .order__item:first-child {
        margin-top: 0
    }
}

.order__item:nth-child(2) {
    transition-delay: 80ms
}

.order__item:last-child {
    margin-top: 50px;
    margin-right: 0;
    transition-delay: 160ms
}

@media screen and (max-width:768px) {
    .order__item:last-child {
        margin-top: 0
    }
}

.order__item-img {
    margin: 0 0 44px
}

@media screen and (max-width:768px) {
    .order__item-img {
        margin: 0 0 22px
    }
}

.gallery__item a img,
.order__item-img img {
    width: 100%;
    display: block;
    margin: 0 auto
}

.order__item-header {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    margin: 0 0 20px
}

@media screen and (max-width:768px) {
    .order__item-header {
        margin: 0 0 11px
    }
}

.order__item-no {
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1;
    letter-spacing: .05em;
    display: block;
    margin: 0 7px 0 0
}

@media screen and (max-width:768px) {
    .order__item-no {
        font-size: 23px;
        font-size: 2.3rem;
        line-height: 1;
        margin: 0 2px 0 0
    }
}

.order__item-lead {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1;
    letter-spacing: .05em
}

@media screen and (max-width:768px) {
    .order__item-lead {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1
    }
}

.order__item-text,
.shop__data-jp table th {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (max-width:768px) {
    .order__item-text {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2
    }
}

.menu {
    background-image: url(../images/menu/img.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    color: #fff;
    min-height: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 243px
}

@media screen and (max-width:768px) {
    .menu {
        min-height: 344px;
        margin: 0 0 97px
    }
}

.menu__header {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: -203px;
    left: 4.35%;
    height: 290px;
    perspective: 500px
}

@media screen and (max-width:768px) {
    .menu__header {
        text-align: center;
        height: auto;
        webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
        left: 0;
        top: 0;
        position: relative
    }
}

.menu__header.is-animation span {
    opacity: 1;
    transform: scale(1, 1) rotateY(0deg) translate3d(0, 0, 0)
}

.menu__header span {
    display: inline-block;
    position: relative;
    transition: all 4s cubic-bezier(.19, 1, .435, .99);
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: scale(.5, .2) rotateY(90deg) translate3d(-3px, 0, 0);
    transform-origin: left center
}

.menu__header span:first-child {
    transition-delay: 0s
}

.menu__header span:nth-child(2) {
    transition-delay: 50ms
}

.menu__header span:nth-child(3) {
    transition-delay: 100ms
}

.menu__header span:nth-child(4) {
    transition-delay: 150ms
}

.menu__header span:nth-child(5) {
    transition-delay: 200ms
}

.menu__header span:nth-child(6) {
    transition-delay: 250ms
}

.menu__header span:nth-child(7) {
    transition-delay: 300ms
}

.menu__header span:nth-child(8) {
    transition-delay: 400ms
}

.menu__header span:nth-child(9) {
    transition-delay: 450ms
}

.menu__header span:nth-child(10) {
    transition-delay: 500ms
}

.menu__header span:nth-child(11) {
    transition-delay: 550ms
}

.menu__header span:nth-child(12) {
    transition-delay: 600ms
}

.menu__header span:nth-child(13) {
    transition-delay: 650ms
}

.menu__header span:nth-child(14) {
    transition-delay: 700ms
}

.menu__header span:nth-child(15) {
    transition-delay: 750ms
}

.menu__title-en {
    font-family: "EB Garamond", sans-serif;
    font-weight: 400;
    font-size: 44px;
    font-size: 3.4rem;
    line-height: 1;
    letter-spacing: -.05em;
    transform: rotate(180deg);
    text-align: right
}

@media screen and (max-width:768px) {
    .menu__title-en {
        font-size: 28px;
        font-size: 2.8rem;
        line-height: 1;
        letter-spacing: -.05em;
        transform: rotate(0deg);
        margin: 0 0 36px;
        text-align: center
    }
}

.menu__title-en span {
    transform-origin: right center
}

@media screen and (max-width:768px) {
    .menu__title-en span {
        transform-origin: center center
    }
}

.menu__title {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: -.12em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    margin: 0 0 0 12px;
    perspective: 500px
}

@media screen and (max-width:768px) {
    .menu__title {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1;
        position: absolute;
        bottom: -18px;
        left: 0;
        width: 100%;
        margin: 0
    }
}

.menu__info {
    text-align: center
}

.menu__info-title {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1;
    letter-spacing: .1em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    margin: 0 0 22px
}

@media screen and (max-width:768px) {
    .menu__info-title {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1;
        letter-spacing: .05em;
        margin: 0 0 17px
    }
}

.menu__info-text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .05em;
    margin: 0 0 30px
}

@media screen and (max-width:768px) {
    .menu__info-text {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2;
        margin: 0 0 18px
    }
}

.shop {
    color: #fff;
    padding-bottom: 168px
}

@media screen and (max-width:768px) {
    .shop {
        padding-bottom: 102px
    }
}

.shop__inner {
    width: 100%;
    padding: 0 8.7%;
    margin: -71px 0 0
}

@media screen and (max-width:768px) {
    .shop__inner {
        padding: 0 15px;
        margin: 0
    }
}

.shop__data {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 0 80px
}

@media screen and (max-width:768px) {
    .shop__data {
        display: block;
        margin: 0 0 40px
    }
}

.shop__data-jp {
    width: calc(50% - 25px)
}

@media screen and (max-width:768px) {
    .shop__data-jp {
        width: 100%
    }

    .shop__data-jp table th {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2
    }
}

.shop__data-jp table td {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .05em;
    padding: 40px 10px 40px 0
}

@media screen and (max-width:768px) {
    .shop__data-jp table td {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2;
        padding: 20px 7px 10px 0
    }
}

.shop__data-en {
    width: calc(50% - 25px)
}

@media screen and (max-width:768px) {
    .shop__data-en {
        width: 100%
    }
}

.shop__data-en table tr:last-of-type td {
    padding: 40px 10px 40px 0
}

@media screen and (max-width:768px) {
    .shop__data-en table tr:last-of-type td {
        padding: 20px 7px 10px 0
    }
}

.shop__data-en table td,
.shop__data-en table th {
    font-weight: 400;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2;
    letter-spacing: .1em
}

.shop__data-en table th {
    font-fasmily: "EB Garamond", sans-serif
}

@media screen and (max-width:768px) {
    .shop__data-en table th {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2;
        letter-spacing: .05em
    }
}

.shop__data-en table td {
    font-family: "EB Garamond", sans-serif;
    padding: 43px 10px 26px 0
}

@media screen and (max-width:768px) {
    .shop__data-en table td {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2;
        letter-spacing: .05em;
        padding: 20px 7px 10px 0
    }
}

.shop__data table {
    width: 100%
}

.shop__data table tr {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, .5)
}

.shop__data table th {
    width: 113px;
    text-align: left
}

@media screen and (max-width:768px) {
    .shop__data table th {
        width: 90px
    }
}

.shop__data table td {
    word-wrap: break-word;
    word-break: break-all
}

@media screen and (max-width:768px) {
    .shop__data table td {
        width: calc(100% - 90px)
    }
}

.shop__map {
    width: 100%;
    height: 400px;
    margin: 0 0 80px;
    display: none
}

@media screen and (max-width:768px) {
    .shop__map {
        height: 200px;
        margin: 0 0 40px
    }
}

.shop__map-canvas {
    width: 100%;
    height: 100%
}

.shop__btn {
    text-align: center
}

.type2 {
    height: 122px
}

@media screen and (max-width:768px) {
    .type2 {
        height: auto
    }
}

.gallery {
    padding-bottom: 134px
}

@media screen and (max-width:768px) {
    .gallery {
        padding-bottom: 87px
    }
}

.gallery .section__title {
    font-size: 38px;
    font-size: 3.8rem;
    line-height: 1
}

@media screen and (max-width:768px) {
    .gallery .section__title {
        font-size: 25px;
        font-size: 2.5rem;
        line-height: 1
    }

    .gallery__subtitle {
        margin-top: 19px
    }
}

.gallery__subtitle .icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px
}

@media screen and (max-width:768px) {
    .gallery__subtitle .icon {
        font-size: 12px
    }
}

.gallery__subtitle p {
    display: inline-block;
    vertical-align: middle;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-weight: 400;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: .1em
}

.gallery__items {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    padding: 0 8.7%;
    margin: -30px 0 0
}

@media screen and (max-width:768px) {
    .gallery__items {
        padding: 0 15px;
        margin: 28px 0 0
    }
}

.gallery__item {
    display: block;
    width: calc(20% - 8px);
    margin: 0 10px 10px 0;
    overflow: hidden
}

@media screen and (max-width:768px) {
    .gallery__item {
        width: calc(50% - 8px)
    }

    .gallery__item:nth-child(2n) {
        margin-right: 0 !important
    }
}

.gallery__item:nth-child(5n) {
    margin-right: 0
}

@media screen and (max-width:768px) {
    .gallery__item:nth-child(5n) {
        margin-right: 10px
    }
}

.gallery__item a,
.popup__close-icon span {
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.gallery__item a,
.popup {
    width: 100%;
    height: 100%;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

.gallery__item a {
    display: flex;
    justify-content: center;
    align-items: center
}

.popup {
    padding: 124px 0;
    background-color: #151414;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

@media screen and (max-width:768px) {
    .popup {
        padding: 56px 0
    }
}

.popup.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

.popup.is-open .popup__close {
    transform: rotate(45deg);
    transition-delay: 600ms
}

.popup__close {
    width: 50px;
    height: 50px;
    position: fixed;
    top: 40px;
    right: 40px;
    border: 1px solid #302f2f;
    transform: rotate(0deg);
    transform-origin: center;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99);
    cursor: pointer
}

@media screen and (max-width:768px) {
    .popup__close {
        width: 35px;
        height: 35px;
        top: 21px;
        right: 23px
    }
}

.popup__close:hover .popup__close-square-line1 {
    transform: scaleX(1)
}

.popup__close:hover .popup__close-square-line2 {
    transform: scaleY(1)
}

.popup__close:hover .popup__close-square-line3 {
    transform: scaleX(1)
}

.popup__close:hover .popup__close-square-line4 {
    transform: scaleY(1)
}

.popup__close-square-line {
    display: block;
    position: absolute;
    background-color: #fff;
    transition: all .7s cubic-bezier(.19, 1, .435, .99);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 1
}

.popup__close-square-line1 {
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: left center
}

.popup__close-square-line2 {
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0);
    transform-origin: center top
}

.popup__close-square-line3 {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    transform: scaleX(0);
    transform-origin: right center
}

.popup__close-square-line4 {
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    transform: scaleY(0);
    transform-origin: center bottom
}

.popup__close-icon {
    position: relative;
    width: 100%;
    height: 100%
}

.popup__close-icon span {
    display: block;
    width: 20px;
    height: 1px;
    background-color: #fff;
    position: absolute
}

@media screen and (max-width:768px) {
    .popup__close-icon span {
        width: 15px
    }
}

.popup__close-icon span:first-child {
    top: 0;
    left: 0;
    transform: translate(14px, 24px)
}

@media screen and (max-width:768px) {
    .popup__close-icon span:first-child {
        transform: translate(9px, 16px)
    }
}

.popup__close-icon span:last-child {
    top: 0;
    left: 0;
    transform: translate(14px, 24px) rotate(90deg)
}

@media screen and (max-width:768px) {
    .popup__close-icon span:last-child {
        transform: translate(9px, 16px) rotate(90deg)
    }
}

.menu__pop-inner {
    height: 80vh;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

.menu__pop-list {
    width: 100%;
    padding: 0 8.7%;
    position: relative;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translate(0, 40px);
    transition: all 1.6s cubic-bezier(.19, 1, .435, .99)
}

@media screen and (max-width:768px) {
    .menu__pop-list {
        padding: 0 15px
    }
}

.menu__pop-list.is-animation {
    opacity: 1;
    transform: translate(0, 0)
}

.menu__pop-items {
    display: block;
    margin: -30px 0 112px;
    position: relative
}

@media screen and (max-width:768px) {
    .menu__pop-items {
        margin: 30px 0 73px
    }
}

.menu__pop-item {
    display: flex;
    justify-content: flex-start;
    padding: 71px 0;
    border-top: 1px solid rgba(127, 127, 127, .5)
}

@media screen and (max-width:768px) {
    .menu__pop-item {
        display: block;
        padding: 0;
        border: none;
        margin: 0 0 57px
    }
}

.menu__pop-item:last-of-type {
    border-bottom: 1px solid rgba(127, 127, 127, .5)
}

@media screen and (max-width:768px) {
    .menu__pop-item:last-of-type {
        border: none
    }
}

.menu__pop-item-img {
    width: 392px;
    overflow: hidden
}

@media screen and (max-width:768px) {
    .menu__pop-item-img {
        width: 100%
    }
}

.menu__pop-item-img img {
    display: block;
    margin: 0 auto;
    width: 100%;
    opacity: .8;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.menu__pop-item-info {
    width: calc(100% - 392px);
    padding: 34px 0 0 58px
}

@media screen and (max-width:768px) {
    .menu__pop-item-info {
        width: 100%;
        padding: 27px 0 0
    }
}

.menu__pop-item-head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 0 0 33px
}

@media screen and (max-width:768px) {
    .menu__pop-item-head {
        margin: 0 0 20px
    }
}

.menu__pop-item-title {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: .1em;
    margin: 0 13px 0 0
}

@media screen and (max-width:768px) {
    .menu__pop-item-title {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1;
        letter-spacing: .05em;
        margin: 0 9px 0 0
    }
}

.menu__pop-item-price {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .05em;
    position: relative;
    top: 3px
}

@media screen and (max-width:768px) {
    .menu__pop-item-price {
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 2;
        top: 0
    }
}

.menu__pop-item-text {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: .05em
}

@media screen and (max-width:768px) {
    .menu__pop-item-text {
        font-size: 11px;
        font-size: 1.1rem;
        line-height: 2
    }
}

.is-ie .main,
.is-win .main {
    overflow: visible;
    height: auto
}

.is-ie .mainvisual__news-item-title {
    padding-top: 2px
}

.is-ie .mainvisual__title-bottom svg {
    height: 30px
}

.is-ie .mainvisual__news-pagination-next span,
.is-ie .mainvisual__news-pagination-prev span {
    top: 5px
}

.is-ie .concept__header {
    width: 300px
}

.is-ie .feature__item-lead {
    position: relative;
    top: 3px
}

.is-ie .feature__item-title span {
    display: inline-block;
    padding-top: 3px
}

.is-ie .menu {
    height: 500px
}

.is-ie .menu__title-en {
    transform: none;
    position: relative;
    top: -21px
}

.is-android .mainvisual__news-item-title {
    padding-top: 2px
}

.is-android .mainvisual__news-pagination-next span,
.is-android .mainvisual__news-pagination-prev span {
    top: 4px
}

.is-ipad .main {
    overflow: visible;
    height: auto
}

#cntMenufood #food_lunch {
    position: absolute;
    bottom: 45px;
    left: 50px
}

#cntMenufood h3 {
    height: 25px
}

#cntMenufood ul {
    margin: 16px 0 0 12px;
    border-left: 1px solid #999;
    padding-left: 12px;
    overflow: visible
}