a,
abbr,
acronym,
address,
applet,
b,
big,
blockquote,
body,
caption,
center,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
font,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
s,
samp,
small,
span,
strike,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
tt,
u,
ul,
var {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

:focus {
    outline: 0
}

ins {
    text-decoration: none
}

del {
    text-decoration: line-through
}

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

@keyframes loop_pagetop_btn_line {
    0% {
        transform: translate3d(0, 0, 0) scaleX(1)
    }

    40% {
        transform: translate3d(0, 0, 0) scaleX(0)
    }

    50% {
        transform: translate3d(0, 0, 0) scaleX(0)
    }

    50.01% {
        transform: translate3d(70px, 0, 0) scaleX(0)
    }

    95% {
        transform: translate3d(0, 0, 0) scaleX(1)
    }

    100% {
        transform: translate3d(0, 0, 0) scaleX(1)
    }
}

@keyframes loop_line {
    0% {
        top: -100%
    }

    100% {
        top: 100%
    }
}

.mt1 {
    margin-top: 1px
}

.mt2 {
    margin-top: 2px
}

.mt3 {
    margin-top: 3px
}

.mt4 {
    margin-top: 4px
}

.mt5 {
    margin-top: 5px
}

.mt6 {
    margin-top: 6px
}

.mt7 {
    margin-top: 7px
}

.mt8 {
    margin-top: 8px
}

.mt9 {
    margin-top: 9px
}

.mt10 {
    margin-top: 10px
}

.mt11 {
    margin-top: 11px
}

.mt12 {
    margin-top: 12px
}

.mt13 {
    margin-top: 13px
}

.mt14 {
    margin-top: 14px
}

.mt15 {
    margin-top: 15px
}

.mt16 {
    margin-top: 16px
}

.mt17 {
    margin-top: 17px
}

.mt18 {
    margin-top: 18px
}

.mt19 {
    margin-top: 19px
}

.mt20 {
    margin-top: 20px
}

.mt21 {
    margin-top: 21px
}

.mt22 {
    margin-top: 22px
}

.mt23 {
    margin-top: 23px
}

.mt24 {
    margin-top: 24px
}

.mt25 {
    margin-top: 25px
}

.mt26 {
    margin-top: 26px
}

.mt27 {
    margin-top: 27px
}

.mt28 {
    margin-top: 28px
}

.mt29 {
    margin-top: 29px
}

.mt30 {
    margin-top: 30px
}

.mt31 {
    margin-top: 31px
}

.mt32 {
    margin-top: 32px
}

.mt33 {
    margin-top: 33px
}

.mt34 {
    margin-top: 34px
}

.mt35 {
    margin-top: 35px
}

.mt36 {
    margin-top: 36px
}

.mt37 {
    margin-top: 37px
}

.mt38 {
    margin-top: 38px
}

.mt39 {
    margin-top: 39px
}

.mt40 {
    margin-top: 40px
}

.mt41 {
    margin-top: 41px
}

.mt42 {
    margin-top: 42px
}

.mt43 {
    margin-top: 43px
}

.mt44 {
    margin-top: 44px
}

.mt45 {
    margin-top: 45px
}

.mt46 {
    margin-top: 46px
}

.mt47 {
    margin-top: 47px
}

.mt48 {
    margin-top: 48px
}

.mt49 {
    margin-top: 49px
}

.mt50 {
    margin-top: 50px
}

.mt51 {
    margin-top: 51px
}

.mt52 {
    margin-top: 52px
}

.mt53 {
    margin-top: 53px
}

.mt54 {
    margin-top: 54px
}

.mt55 {
    margin-top: 55px
}

.mt56 {
    margin-top: 56px
}

.mt57 {
    margin-top: 57px
}

.mt58 {
    margin-top: 58px
}

.mt59 {
    margin-top: 59px
}

.mt60 {
    margin-top: 60px
}

.mt61 {
    margin-top: 61px
}

.mt62 {
    margin-top: 62px
}

.mt63 {
    margin-top: 63px
}

.mt64 {
    margin-top: 64px
}

.mt65 {
    margin-top: 65px
}

.mt66 {
    margin-top: 66px
}

.mt67 {
    margin-top: 67px
}

.mt68 {
    margin-top: 68px
}

.mt69 {
    margin-top: 69px
}

.mt70 {
    margin-top: 70px
}

.mt71 {
    margin-top: 71px
}

.mt72 {
    margin-top: 72px
}

.mt73 {
    margin-top: 73px
}

.mt74 {
    margin-top: 74px
}

.mt75 {
    margin-top: 75px
}

.mt76 {
    margin-top: 76px
}

.mt77 {
    margin-top: 77px
}

.mt78 {
    margin-top: 78px
}

.mt79 {
    margin-top: 79px
}

.mt80 {
    margin-top: 80px
}

.mt81 {
    margin-top: 81px
}

.mt82 {
    margin-top: 82px
}

.mt83 {
    margin-top: 83px
}

.mt84 {
    margin-top: 84px
}

.mt85 {
    margin-top: 85px
}

.mt86 {
    margin-top: 86px
}

.mt87 {
    margin-top: 87px
}

.mt88 {
    margin-top: 88px
}

.mt89 {
    margin-top: 89px
}

.mt90 {
    margin-top: 90px
}

.mt91 {
    margin-top: 91px
}

.mt92 {
    margin-top: 92px
}

.mt93 {
    margin-top: 93px
}

.mt94 {
    margin-top: 94px
}

.mt95 {
    margin-top: 95px
}

.mt96 {
    margin-top: 96px
}

.mt97 {
    margin-top: 97px
}

.mt98 {
    margin-top: 98px
}

.mt99 {
    margin-top: 99px
}

.mt100 {
    margin-top: 100px
}

.font1 {
    font-family: cormorant-garamond, serif
}

.font2 {
    font-family: adobe-garamond-pro, serif
}

.font3 {
    font-family: A1明朝, A1 Mincho, serif
}

.font4 {
    font-family: nimbus-sans, sans-serif
}

.no_transition {
    transition: transform 0s !important
}

.common_btn {
    font-weight: 600
}

.common_btn:after {
    content: "";
    width: 11px;
    height: 2px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: .7vw;
    top: -.16vw
}

.common_btn.external_black:after {
    content: "";
    background: url(../image/external_black.svg);
    width: 10px;
    height: 10px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    top: -.06vw
}

.common_btn.off {
    color: #969ba0
}

.common_btn.off:after {
    width: 0
}

.external:after {
    content: "";
    background: url(../image/external.svg);
    width: 10px;
    height: 10px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    fill: #42afe3;
    top: -.06vw;
    margin-left: .7vw
}

.external_black:after {
    content: "";
    background: url(../image/external_black.svg);
    width: 10px;
    height: 10px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    fill: #42afe3;
    top: -.06vw;
    margin-left: .7vw
}

html {
    font-size: 62.5%;
    overflow-x: hidden
}

html.lock_scroll {
    overflow: hidden
}

body {
    display: block;
    width: 100%;
    color: #2c1b1e;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    overflow: hidden;
    line-height: 2;
    -webkit-font-smoothing: antialiased
}

body.fixed {
    position: fixed
}

a,
a:visited {
    color: #2c1b1e;
    text-decoration: none
}

h2.logo {
    position: fixed;
    mix-blend-mode: difference;
    z-index: 1010
}

h2.logo img.for_ie {
    position: absolute;
    left: 0;
    display: none
}

@media all and (-ms-high-contrast:none) {

    ::-ms-backdrop,
    html.lock_scroll h2.logo img {
        display: block
    }

    ::-ms-backdrop,
    html.lock_scroll h2.logo img.for_ie {
        display: none
    }

    ::-ms-backdrop,
    h2.logo {
        mix-blend-mode: inherit
    }

    ::-ms-backdrop,
    h2.logo img {
        display: none
    }

    ::-ms-backdrop,
    h2.logo img.for_ie {
        display: block
    }
}

div.logo_sub {
    position: fixed;
    top: 127px;
    left: 119px;
    z-index: 1011
}

div.logo_sub img {
    width: 15px;
    height: 14px
}

header {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1000
}

header .header_nav .global_nav {
    display: none
}

header .header_nav .header_nav_child {
    position: fixed;
    width: 100%
}

header .header_nav .header_nav_child.open {
    height: 100%
}

header .header_nav .header_nav_child.open .grill_menu .bar {
    width: 0
}

header .header_nav .header_nav_child.open .close_btn {
    visibility: visible
}

@keyframes show_line {
    0% {
        transform: scaleY(0)
    }

    100% {
        transform: scaleY(1)
    }
}

header .header_nav .header_nav_child.open .util_bar {
    background-color: #4c4c4c !important;
    animation: show_line 1.7s forwards;
    transform-origin: top
}

header .header_nav .header_nav_child.open .util_bar .bar {
    display: none
}

header .header_nav .header_nav_child.open .menu_wrap {
    display: block
}

header .header_nav .header_nav_child.close .close_btn div {
    height: 0;
    transition-delay: 0s !important
}

header .header_nav .header_nav_child.close .close_btn div.close2 {
    transition-delay: 0s !important
}

header .header_nav .header_nav_child.show .menu_wrap:before {
    width: 100%
}

header .header_nav .header_nav_child.show .menu_wrap .light {
    opacity: .5;
    transform: translate3d(.1vw, 50vh, 0)
}

header .header_nav .header_nav_child.show .menu_wrap .message {
    transition-delay: .5s;
    opacity: 1
}

header .header_nav .header_nav_child.show .cp {
    opacity: 1
}

header .header_nav .header_nav_child.hide .grill_menu {
    opacity: 0
}

header .header_nav .header_nav_child.hide .util_bar {
    opacity: 0
}

header .header_nav .header_nav_child.hide .close_btn {
    opacity: 0
}

header .header_nav .header_nav_child.hide .menu_wrap .message {
    transition: opacity 0s;
    transition-delay: 0s
}

header .header_nav .header_nav_child .grill_menu {
    position: absolute;
    cursor: pointer;
    z-index: 1005;
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    display: none;
}

@keyframes hover_grill_menu_bar {
    0% {
        transform: translate3d(0, 0, 0)
    }

    50% {
        transform: translate3d(35px, 0, 0)
    }

    50.1% {
        transform: translate3d(-35px, 0, 0)
    }

    100% {
        transform: translate3d(0, 0, 0)
    }
}

header .header_nav .header_nav_child .grill_menu:hover .bar {
    animation: hover_grill_menu_bar .7s cubic-bezier(.77, 0, .175, 1);
    transition: width .7s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .grill_menu:hover .bar:nth-child(2) {
    animation-delay: .1s;
    transition-delay: .1s
}

header .header_nav .header_nav_child .grill_menu .bar {
    height: 1px;
    z-index: 10;
    transition: width .3s, transform .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .grill_menu .bar:nth-child(2) {
    transition-delay: .1s
}

header .header_nav .header_nav_child .util_bar {
    z-index: 1;
    transition: background-color .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .util_bar .bar {
    transition: background-color .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .close_btn {
    position: absolute;
    z-index: 1006;
    visibility: hidden;
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    pointer-events: none
}

header .header_nav .header_nav_child .close_btn.over div {
    animation: hover_close .6s cubic-bezier(.165, .84, .44, 1)
}

@keyframes hover_close {
    0% {
        height: 0
    }

    100% {
        height: 25.5px
    }
}

@keyframes hover_close2 {
    0% {
        height: 0
    }

    20% {
        height: 0
    }

    100% {
        height: 25.5px
    }
}

header .header_nav .header_nav_child .close_btn.over div.close2 {
    animation: hover_close2 .75s cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .menu_wrap {
    position: absolute;
    color: #f5f5f5;
    width: 100%;
    height: 100%;
    top: 0;
    display: none
}

header .header_nav .header_nav_child .menu_wrap:before {
    content: "";
    width: 0%;
    height: 100vh;
    position: fixed;
    background-color: #000;
    transition: width .5s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .menu_wrap .menu_child {
    opacity: 0
}

header .header_nav .header_nav_child .menu_wrap a {
    color: #f5f5f5
}

header .header_nav .header_nav_child .menu_wrap.open {
    display: block
}

header .header_nav .header_nav_child .menu_wrap .light {
    display: none
}

header .header_nav .header_nav_child .menu_wrap .message {
    display: none
}

header .header_nav .header_nav_child .menu_wrap .main_menu li span.font4 {
    color: #666
}

header .header_nav .header_nav_child .menu_wrap .main_menu li span {
    opacity: 0;
    transform: translate3d(130px, 0, 0);
    display: inline-block
}

header .header_nav .header_nav_child .menu_wrap .main_menu li span.show {
    opacity: 1;
    transition: opacity 1.6s, transform 1.6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transform: translate3d(0, 0, 0)
}

header .header_nav .header_nav_child .sub_menu.show li .tit {
    transform: translate3d(0, 0, 0)
}

header .header_nav .header_nav_child .sub_menu.show li .txt {
    transform: translate3d(0, 0, 0);
    opacity: 1
}

header .header_nav .header_nav_child .sub_menu li {
    display: flex;
    overflow: hidden
}

header .header_nav .header_nav_child .sub_menu li.reserve .txt:hover:after {
    width: 100%
}

header .header_nav .header_nav_child .sub_menu li.reserve .txt:before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, .3);
    position: absolute;
    left: 0;
    display: inline-block;
    pointer-events: none
}

header .header_nav .header_nav_child .sub_menu li.reserve .txt:after {
    content: "";
    width: 0%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    display: inline-block;
    pointer-events: none;
    transition: width .4s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .sub_menu li.contact .txt>ul li .tit2 {
    width: 100px
}

header .header_nav .header_nav_child .sub_menu li.link a {
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .sub_menu li.link a:hover {
    opacity: .5
}

header .header_nav .header_nav_child .sub_menu li.sns {
    font-size: 1rem
}

header .header_nav .header_nav_child .sub_menu li.sns .txt ul li a {
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .sub_menu li.sns .txt ul li a:hover {
    opacity: .5
}

header .header_nav .header_nav_child .sub_menu li .tit {
    color: #969ba0;
    width: 100px;
    position: relative;
    transition: transform .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .6s;
    transform: translate3d(-100px, 0, 0)
}

header .header_nav .header_nav_child .sub_menu li .txt {
    opacity: 0;
    transition: transform 1s, opacity 1s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .8s;
    transform: translate3d(30px, 0, 0)
}

header .header_nav .header_nav_child .third_menu {
    display: flex;
    position: relative
}

header .header_nav .header_nav_child .third_menu.show li {
    opacity: 1
}

header .header_nav .header_nav_child .third_menu li {
    opacity: 0;
    transition: opacity .7s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .third_menu li a {
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

header .header_nav .header_nav_child .third_menu li a:hover {
    opacity: .5
}

header .header_nav .header_nav_child .third_menu li:nth-child(1) {
    transition-delay: .75s
}

header .header_nav .header_nav_child .third_menu li:nth-child(2) {
    transition-delay: .8s
}

header .header_nav .header_nav_child .third_menu li:nth-child(3) {
    transition-delay: .85s
}

header .header_nav .header_nav_child .third_menu li:nth-child(4) {
    transition-delay: .9s
}

header .header_nav .header_nav_child .third_menu li:nth-child(5) {
    transition-delay: .95s
}

header .header_nav .header_nav_child .cp {
    color: #969ba0;
    opacity: 0;
    transition: opacity .5s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: 1s
}

#loading {
    background-color: #fff;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5000
}

#loading.hide .bar_wrap {
    background-color: #fff
}

#loading.hide .bar_wrap .bar_child {
    transition: transform 1s;
    transition-timing-function: cubic-bezier(.77, 0, .175, 1);
    transform: translate3d(0, 101%, 0)
}

#loading.hide .txt {
    opacity: 0
}

#loading .bar_wrap {
    width: 1px;
    height: 87%;
    position: absolute;
    top: 6.7%;
    left: 12.4vw;
    background-color: #ebedf0;
    overflow: hidden
}

#loading .bar_wrap .bar_child {
    position: absolute;
    width: 1px;
    height: 0%;
    top: 0;
    background-color: #2c1b1e
}

#loading .txt {
    font-size: 2.4rem;
    position: absolute;
    right: 8.6vw;
    bottom: 4.6vw;
    transition: opacity 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .6s
}

@keyframes blink {
    0% {
        opacity: 1
    }

    50% {
        opacity: .15
    }

    100% {
        opacity: 1
    }
}

#loading .txt .txt_child {
    animation: blink 1s infinite cubic-bezier(.455, .03, .515, .955)
}

#rotate_alert {
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 10010;
    display: none;
    background-color: #fff
}

#rotate_alert.show {
    display: block
}

#rotate_alert img {
    position: absolute;
    width: 10.7946vw;
    left: 50%;
    top: 50%;
    transform: translate3d(-26%, -84%, 0)
}

#rotate_alert .en {
    font-size: 2.9985vw;
    position: absolute;
    left: 50%;
    top: 57.9vh;
    letter-spacing: 0;
    white-space: nowrap;
    transform: translate3d(-50%, 0, 0)
}

#transition {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4000;
    pointer-events: none
}

#transition.hide .white {
    opacity: 0
}

#transition.show_transition .white {
    transition: opacity .5s;
    transition-delay: .5s;
    opacity: 1
}

#transition .canvas_container canvas {
    width: 100vw;
    height: 100vh;
    opacity: .8;
    transition: opacity 1s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

#transition .canvas_container canvas.hide {
    opacity: 0
}

#transition .white {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    transition: opacity 2.2s;
    transition-timing-function: cubic-bezier(.55, .085, .68, .53)
}

nav#about_contents_nav_pc {
    display: none;
    opacity: 0;
    z-index: 900;
    transition: opacity .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    position: fixed;
    right: 41px;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    pointer-events: none
}

nav#about_contents_nav_pc.visible {
    display: block
}

nav#about_contents_nav_pc.show {
    opacity: 1;
    cursor: pointer;
    pointer-events: inherit
}

nav#about_contents_nav_pc ul {
    font-size: 1.1rem
}

nav#about_contents_nav_pc ul li {
    margin-bottom: 25px;
    color: #969ba0
}

nav#about_contents_nav_pc ul li:hover:after {
    background-color: #e72420
}

nav#about_contents_nav_pc ul li:hover span {
    color: #e72420 !important
}

nav#about_contents_nav_pc ul li:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .15s
}

nav#about_contents_nav_pc ul li span {
    color: #969ba0;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

nav#about_contents_nav_pc ul li span:nth-child(1) {
    transition-delay: 25ms
}

nav#about_contents_nav_pc ul li span:nth-child(2) {
    transition-delay: 50ms
}

nav#about_contents_nav_pc ul li span:nth-child(3) {
    transition-delay: 75ms
}

nav#about_contents_nav_pc ul li span:nth-child(4) {
    transition-delay: .1s
}

nav#about_contents_nav_pc ul li span:nth-child(5) {
    transition-delay: 125ms
}

nav#about_contents_nav_pc ul li.current span {
    color: #2c1b1e
}

nav#about_contents_nav_pc ul li.current:before {
    height: 30px;
    background-color: #2c1b1e
}

nav#about_contents_nav_pc ul li:hover:before {
    height: 30px;
    background-color: #e72420
}

nav#about_contents_nav_pc ul li:before {
    content: "";
    height: 0;
    width: 1px;
    background-color: #969ba0;
    display: inline-block;
    position: relative;
    left: 5px;
    margin-bottom: 8px;
    transition: height .7s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

nav#about_contents_nav_pc ul li>span {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    letter-spacing: .3em
}

nav#hotels_detail_contents_nav_pc {
    display: none;
    z-index: 901;
    transition: opacity .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    position: fixed;
    right: 44px;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    cursor: pointer
}

nav#hotels_detail_contents_nav_pc.visible {
    display: block
}

nav#hotels_detail_contents_nav_pc ul {
    font-size: 1.1rem
}

nav#hotels_detail_contents_nav_pc ul li {
    margin-bottom: 3px;
    color: #969ba0
}

nav#hotels_detail_contents_nav_pc ul li:hover:after {
    background-color: #e72420
}

nav#hotels_detail_contents_nav_pc ul li:hover span {
    color: #e72420 !important
}

nav#hotels_detail_contents_nav_pc ul li:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .15s
}

nav#hotels_detail_contents_nav_pc ul li span {
    color: #969ba0;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

nav#hotels_detail_contents_nav_pc ul li span:nth-child(1) {
    transition-delay: 25ms
}

nav#hotels_detail_contents_nav_pc ul li span:nth-child(2) {
    transition-delay: 50ms
}

nav#hotels_detail_contents_nav_pc ul li span:nth-child(3) {
    transition-delay: 75ms
}

nav#hotels_detail_contents_nav_pc ul li span:nth-child(4) {
    transition-delay: .1s
}

nav#hotels_detail_contents_nav_pc ul li span:nth-child(5) {
    transition-delay: 125ms
}

nav#hotels_detail_contents_nav_pc ul li:nth-of-type(3)>span span:nth-of-type(2) {
    transform: rotate(90deg);
    position: relative;
    left: -.15vw;
    top: .18vw
}

nav#hotels_detail_contents_nav_pc ul li.current span {
    color: #2c1b1e
}

nav#hotels_detail_contents_nav_pc ul li.current:before {
    height: 30px;
    background-color: #2c1b1e
}

nav#hotels_detail_contents_nav_pc ul li:hover:before {
    height: 30px;
    background-color: #e72420
}

nav#hotels_detail_contents_nav_pc ul li:before {
    content: "";
    height: 0;
    width: 1px;
    background-color: #969ba0;
    display: inline-block;
    position: relative;
    left: 5px;
    margin-top: 20px;
    margin-bottom: 0;
    transition: height .7s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

nav#hotels_detail_contents_nav_pc ul li>span {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    letter-spacing: .3em
}

nav#hotels_contents_nav_sp {
    z-index: 902
}

nav#reserve_contents_nav_sp {
    z-index: 903
}

nav#hotels_contents_nav_sp,
nav#reserve_contents_nav_sp {
    display: none;
    transition: opacity .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    position: fixed;
    bottom: 0;
    background-color: #ebedf0;
    width: 100%;
    padding: 4.5vw 6.9vw
}

nav#hotels_contents_nav_sp.visible,
nav#reserve_contents_nav_sp.visible {
    display: flex
}

nav#hotels_contents_nav_sp.fade_out,
nav#reserve_contents_nav_sp.fade_out {
    opacity: 0;
    pointer-events: none
}

nav#hotels_contents_nav_sp h3,
nav#reserve_contents_nav_sp h3 {
    font-size: 3.2vw;
    font-weight: 100;
    margin-right: 9vw
}

nav#hotels_contents_nav_sp ul,
nav#reserve_contents_nav_sp ul {
    display: flex;
    font-size: 3.2vw
}

nav#hotels_contents_nav_sp ul li,
nav#reserve_contents_nav_sp ul li {
    margin-right: 6vw;
    white-space: nowrap
}

nav#hotels_contents_nav_sp ul li a,
nav#reserve_contents_nav_sp ul li a {
    color: #969ba0
}

nav#hotels_contents_nav_sp ul li.current a,
nav#reserve_contents_nav_sp ul li.current a {
    color: #2c1b1e
}

#hotels_detail_reserve_btn {
    position: fixed;
    z-index: 905;
    display: none;
    opacity: 0;
    transition: opacity .4s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    background-color: #2c1b1e;
    color: #fff;
    cursor: pointer
}

#hotels_detail_reserve_btn .ja {
    position: relative
}

#hotels_detail_reserve_btn .ja:after {
    content: "";
    width: 11px;
    height: 11px;
    background: url(../image/external.svg);
    position: relative;
    display: inline-block;
    margin-left: .1vw;
    top: 0;
    background-size: contain
}

#hotels_detail_reserve_btn .en {
    position: relative
}

#hotels_detail_reserve_btn.block {
    display: block
}

#hotels_detail_reserve_btn.show {
    opacity: 1
}

.scroll-wrapper {
    background-color: #fff;
    position: relative
}

footer {
    background-color: #5a5a5a;
    color: #fff;
    position: relative;
    width: 100vw
}

footer a,
footer a:visited {
    color: #fff
}

footer .child {
    margin: 0 auto
}

footer .child h3 {
    font-weight: 100
}

footer .child .main_menu {
    margin-top: 10vw
}

footer .child .main_menu li:before {
    content: "";
    height: 1px;
    background-color: #fff;
    position: relative;
    display: inline-block
}

footer .child .sub_menu li {
    display: flex
}

footer .child .sub_menu li.reserve .txt {
    position: relative
}

footer .child .sub_menu li.reserve .txt:hover:after {
    width: 100%
}

footer .child .sub_menu li.reserve .txt:before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, .5);
    position: absolute;
    left: 0;
    display: inline-block;
    pointer-events: none
}

footer .child .sub_menu li.reserve .txt:after {
    content: "";
    width: 0%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    display: inline-block;
    pointer-events: none;
    transition: width .4s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

footer .child .sub_menu li.contact .txt>ul li .tit2 {
    width: 100px
}

footer .child .sub_menu li.link a {
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

footer .child .sub_menu li.link a:hover {
    opacity: .5
}

footer .child .sub_menu li.sns {
    font-size: 1rem
}

footer .child .sub_menu li.sns .txt ul li a {
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

footer .child .sub_menu li.sns .txt ul li a:hover {
    opacity: .5
}

footer .child .sub_menu li .tit {
    color: #968c82
}

footer .child .third_menu {
    display: flex
}

footer .child .pagetop_btn {
    position: absolute;
    display: inline-block;
    transform: rotateZ(90deg);
    cursor: pointer;
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

footer .child .pagetop_btn:hover {
    opacity: .5
}

footer .child .pagetop_btn:before {
    content: "";
    height: 1px;
    background-color: #fff;
    position: absolute;
    display: inline-block;
    transform-origin: left
}

footer .child .logo {
    position: absolute
}

footer .child .logo img {
    width: 52px;
    height: 55px
}

footer .child .cp {
    color: #968c82
}

@media screen and (min-width:1024px) {
    .pc {
        display: block
    }

    .sp {
        display: none
    }

    h2.logo {
        top: 72px;
        left: 6.2vw;
        margin-left: -36px
    }

    h2.logo img {
        width: 110px;
    }

    div.logo_sub {
        left: 6.2vw;
        margin-left: 1.3vw
    }

    header .header_nav .global_nav {
        position: absolute;
        display: flex;
        right: 7.4vw;
        top: 6vw;
        letter-spacing: .04em;
        font-weight: 600;
        font-size: .81352vw
    }

    header .header_nav .global_nav.black {
        font-weight: 400
    }

    header .header_nav .global_nav.black li a {
        color: #2c1b1e
    }

    header .header_nav .global_nav.black li:before {
        background-color: rgba(44, 27, 30, .5)
    }

    header .header_nav .global_nav.black li:after {
        background-color: #2c1b1e
    }

    header .header_nav .global_nav.black li .noren:after {
        background-image: url(../image/noren_black.svg)
    }

    header .header_nav .global_nav li {
        position: relative;
        margin: 0 1.3vw;
        opacity: 0;
        transition: opacity .7s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94)
    }

    header .header_nav .global_nav li:nth-child(1) {
        transition-delay: .1s
    }

    header .header_nav .global_nav li:nth-child(2) {
        transition-delay: .2s
    }

    header .header_nav .global_nav li:nth-child(3) {
        transition-delay: .3s
    }

    header .header_nav .global_nav li:nth-child(4) {
        transition-delay: .4s
    }

    header .header_nav .global_nav li:nth-child(5) {
        transition-delay: .5s
    }

    header .header_nav .global_nav li.init {
        opacity: 1
    }

    header .header_nav .global_nav li a {
        color: #fff
    }

    header .header_nav .global_nav li:hover:before {
        opacity: 1
    }

    header .header_nav .global_nav li:hover:after {
        width: 100%
    }

    header .header_nav .global_nav li:before {
        content: "";
        width: 100%;
        height: 1px;
        background-color: rgba(255, 255, 255, .5);
        position: absolute;
        top: 2vw;
        left: 0;
        display: inline-block;
        pointer-events: none;
        opacity: 0;
        transition: opacity .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    header .header_nav .global_nav li:after {
        content: "";
        width: 0%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        top: 2vw;
        left: 0;
        display: inline-block;
        pointer-events: none;
        transition: width .4s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .2s
    }

    header .header_nav .global_nav li .noren:after {
        content: "";
        position: absolute;
        background-image: url(../image/noren.svg);
        background-size: contain;
        background-repeat: no-repeat;
        display: inline-block;
        width: 1.75vw;
        height: 1.44vw;
        margin-left: 1.2vw;
        top: 0
    }

    header .header_nav .header_nav_child.open .grill_menu .bar {
        transform: translate3d(35px, 0, 0)
    }

    header .header_nav .header_nav_child.open .close_btn div {
        height: 25.5px
    }

    header .header_nav .header_nav_child.close .close_btn div {
        height: 0;
        transition-delay: 0s !important
    }

    header .header_nav .header_nav_child.close .close_btn div.close2 {
        transition-delay: 0s !important
    }

    header .header_nav .header_nav_child.change_color .grill_menu .bar {
        background-color: #2c1b1e
    }

    header .header_nav .header_nav_child.change_color .util_bar {
        background-color: #ebedf0
    }

    header .header_nav .header_nav_child.change_color .util_bar .bar {
        background-color: #2c1b1e;
        animation-duration: 0s
    }

    header .header_nav .header_nav_child.change_color .util_bar .bar.scrolling {
        background-color: #e72420
    }

    header .header_nav .header_nav_child .grill_menu {
        top: 50vh;
        left: 81px;
        transform: translate3d(0, -50%, 0);
        width: 35px;
        height: 35px;
        padding-top: 27px;
        overflow: hidden;
        left: 5vw
    }

    header .header_nav .header_nav_child .grill_menu .bar {
        background-color: #fff;
        width: 35px;
        margin-bottom: 6px;
        pointer-events: none
    }

    header .header_nav .header_nav_child .close_btn {
        top: 50vh;
        left: 5.6vw;
        transform: translate3d(0, -50%, 0);
        width: 25.5px;
        height: 25.5px
    }

    header .header_nav .header_nav_child .close_btn div {
        overflow: hidden;
        width: 25.5px;
        height: 0;
        transition: height .4s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .4s
    }

    header .header_nav .header_nav_child .close_btn div.close2 {
        position: absolute;
        left: 0;
        top: 0;
        transition-delay: .2s
    }

    header .header_nav .header_nav_child .close_btn div img {
        width: 25.5px;
        height: 25.5px
    }

    header .header_nav .header_nav_child .util_bar {
        position: absolute;
        height: 83vh;
        width: 1px;
        background-color: rgba(250, 250, 250, .4);
        display: inline-block;
        top: 73px;
        left: 12.4vw;
        transition: opacity .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        overflow: hidden
    }

    header .header_nav .header_nav_child .util_bar .bar {
        position: relative;
        width: 1px;
        top: -100%;
        height: 100%;
        background-color: #fafafa;
        animation: loop_line 4s infinite
    }

    header .header_nav .header_nav_child .menu_wrap .menu_child {
        padding-left: 17.6vw
    }

    header .header_nav .header_nav_child .menu_wrap .light {
        position: absolute;
        display: block;
        opacity: 0;
        top: 0;
        left: 0;
        transition: opacity 2.2s;
        transition-delay: 1s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    header .header_nav .header_nav_child .menu_wrap .light img {
        margin-left: -609px;
        margin-top: -494px;
        transition: opacity .3s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    header .header_nav .header_nav_child .menu_wrap .message {
        position: absolute;
        display: block;
        color: #050505;
        font-size: 15.83229vw;
        left: 50%;
        top: 50%;
        transform: translate3d(-28%, -50%, 0);
        line-height: .9;
        mix-blend-mode: screen;
        opacity: 0;
        transition: opacity 0s
    }

    header .header_nav .header_nav_child .menu_wrap .message div {
        position: relative
    }

    header .header_nav .header_nav_child .menu_wrap .message div:first-child {
        top: 1.1vw;
        left: -7.4vw
    }

    header .header_nav .header_nav_child .menu_wrap .message div:nth-child(2) {
        top: .5vw;
        left: 11vw
    }

    header .header_nav .header_nav_child .menu_wrap .message div:nth-child(3) {
        top: -2vw;
        left: -9.3vw
    }

    header .header_nav .header_nav_child .menu_wrap .message div:nth-child(4) {
        top: -.1vw;
        left: 26.2vw
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu_images {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu_images .main_menu_images_child {
        position: absolute;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position-x: center;
        background-position-y: center;
        background-repeat: no-repeat;
        opacity: 0
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu_images .main_menu_images_child1 {
        background-image: url(../image/menu_main1.jpg)
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu_images .main_menu_images_child2 {
        background-image: url(../image/menu_main2.jpg)
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu_images .main_menu_images_child3 {
        background-image: url(../image/menu_main3.jpg)
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu_images .main_menu_images_child4 {
        background-image: url(../image/menu_main4.jpg)
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu {
        position: absolute;
        font-size: 1.50188vw;
        top: 50%;
        transform: translate3d(0, -44%, 0)
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li {
        letter-spacing: .28em;
        margin-bottom: 48px
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li a {
        transition: color .8s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        display: block
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li.gray a {
        color: #666
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li span {
        pointer-events: none
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li span.font4 {
        font-size: .62578vw;
        top: -4px;
        position: relative;
        margin-right: 1.3vw;
        letter-spacing: 0
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate3d(55.3%, -48%, 0);
        font-size: 1.00125vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve {
        margin-bottom: 3.6vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .tit {
        line-height: 1.2vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt {
        width: 7vw;
        text-align: center;
        top: -.5vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt a {
        position: relative;
        top: -.4vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt:before {
        top: 1.7vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt:after {
        top: 1.7vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact {
        margin-bottom: 1.1vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .tit {
        line-height: 1.4vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt {
        font-size: 1.00125vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li {
        align-items: center;
        top: -.25vw;
        position: relative
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .tit2 {
        font-size: .75094vw;
        width: 2.6vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .txt2 {
        position: relative;
        letter-spacing: .12em
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .txt2 span {
        font-size: .75094vw;
        letter-spacing: .04em;
        position: relative;
        top: -.15vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li:nth-child(2) .txt2 {
        letter-spacing: .05em
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.link {
        margin-bottom: 1.7vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.link .txt {
        font-size: .75094vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.link .txt:after {
        content: "";
        background-image: url(../image/external.svg);
        width: 11px;
        height: 11px;
        display: inline-block;
        margin-left: 10px
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.sns {
        font-size: .62578vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.sns .txt {
        font-size: .75094vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li .tit {
        font-size: .62578vw;
        width: 6.2vw
    }

    header .header_nav .header_nav_child .menu_wrap .third_menu {
        position: absolute;
        font-size: .68836vw;
        bottom: 103px
    }

    header .header_nav .header_nav_child .menu_wrap .third_menu li {
        margin-right: 2.1vw
    }

    header .header_nav .header_nav_child .menu_wrap .cp {
        font-size: .62578vw;
        position: absolute;
        left: 50%;
        margin-left: 13vw;
        bottom: 104px;
        letter-spacing: .12em
    }

    nav#hotels_contents_nav_sp.visible,
    nav#reserve_contents_nav_sp.visible {
        display: none
    }

    #hotels_detail_reserve_btn {
        bottom: 0;
        right: 0;
        width: 16.3vw;
        height: 5vw
    }

    #hotels_detail_reserve_btn .ja {
        text-align: center;
        top: 1.1vw;
        letter-spacing: .3em;
        font-size: .8761vw
    }

    #hotels_detail_reserve_btn .en {
        text-align: center;
        margin-top: .8vw;
        letter-spacing: .06em;
        font-size: .68836vw
    }

    main h1 .txt .space {
        width: 26px
    }

    footer {
        padding-top: 4.8vw;
        padding-bottom: 2.9vw
    }

    footer .child {
        width: 68%
    }

    footer .child h3 {
        font-size: 1.75219vw;
        letter-spacing: .025em
    }

    footer .child h3 span {
        font-size: 2.19024vw;
        margin-left: .8vw
    }

    footer .child .main_menu {
        font-size: 1.00125vw;
        margin-top: 1.9vw;
        display: inline-block
    }

    footer .child .main_menu li {
        letter-spacing: .05em;
        margin-bottom: 21px
    }

    footer .child .main_menu li a {
        transition: opacity .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    footer .child .main_menu li a:hover {
        opacity: .5
    }

    footer .child .main_menu li:before {
        width: 9px;
        top: -4px;
        margin-left: 5px;
        margin-right: 8px
    }

    footer .child .sub_menu {
        position: absolute;
        left: 50%;
        top: 6.05vw;
        margin-left: 9.8vw;
        font-size: 1.00125vw
    }

    footer .child .sub_menu>li {
        margin-bottom: 20px
    }

    footer .child .sub_menu li.reserve {
        margin-bottom: 3.4vw
    }

    footer .child .sub_menu li.reserve .tit {
        line-height: 1.1vw
    }

    footer .child .sub_menu li.reserve .txt {
        position: relative;
        width: 7vw;
        text-align: center;
        top: -.5vw
    }

    footer .child .sub_menu li.reserve .txt:hover:after {
        width: 100%
    }

    footer .child .sub_menu li.reserve .txt:before {
        content: "";
        width: 100%;
        height: 1px;
        background-color: rgba(255, 255, 255, .5);
        position: absolute;
        top: 2.2vw;
        left: 0;
        display: inline-block;
        pointer-events: none
    }

    footer .child .sub_menu li.reserve .txt:after {
        content: "";
        width: 0%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        top: 2.2vw;
        left: 0;
        display: inline-block;
        pointer-events: none;
        transition: width .4s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    footer .child .sub_menu li.contact {
        margin-bottom: .7vw
    }

    footer .child .sub_menu li.contact .tit {
        line-height: 1.1vw
    }

    footer .child .sub_menu li.contact .txt {
        font-size: 1.25156vw
    }

    footer .child .sub_menu li.contact .txt>ul li {
        align-items: center;
        top: -.7vw;
        position: relative
    }

    footer .child .sub_menu li.contact .txt>ul li .tit2 {
        font-size: .62578vw;
        width: 2.6vw
    }

    footer .child .sub_menu li.contact .txt>ul li .txt2 {
        position: relative;
        letter-spacing: .12em
    }

    footer .child .sub_menu li.contact .txt>ul li .txt2 span {
        font-size: .75094vw;
        letter-spacing: .04em;
        position: relative;
        top: -.3vw
    }

    footer .child .sub_menu li.contact .txt>ul li:nth-child(2) .txt2 {
        letter-spacing: .05em
    }

    footer .child .sub_menu li.link {
        margin-bottom: 1.7vw
    }

    footer .child .sub_menu li.link .txt {
        font-size: .68836vw
    }

    footer .child .sub_menu li.link .txt:after {
        content: "";
        background-image: url(../image/external.svg);
        width: 11px;
        height: 11px;
        display: inline-block;
        margin-left: 10px
    }

    footer .child .sub_menu li.sns {
        font-size: .62578vw
    }

    footer .child .sub_menu li .tit {
        font-size: .62578vw;
        width: 6.1vw
    }

    footer .child .third_menu {
        font-size: .68836vw;
        margin-top: 9.65vw;
        margin-left: .3vw
    }

    footer .child .third_menu li {
        margin-right: 2.8vw
    }

    footer .child .third_menu li a {
        transition: opacity .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    footer .child .third_menu li a:hover {
        opacity: .5
    }

    footer .child .pagetop_btn {
        font-size: 1rem;
        right: 4.5vw;
        bottom: 12.7vw;
        letter-spacing: .1em
    }

    footer .child .pagetop_btn:before {
        width: 70px;
        margin-left: -92px;
        top: 9px;
        animation: loop_pagetop_btn_line 1.8s infinite cubic-bezier(.25, .46, .45, .94)
    }

    footer .child .logo {
        right: 4.6vw;
        bottom: 3.1vw
    }

    footer .child .cp {
        position: absolute;
        font-size: .62578vw;
        left: 50%;
        margin-left: 9.8vw;
        bottom: 3.1vw;
        letter-spacing: .12em
    }
}

@media screen and (min-width:1024px) and (max-width:1200px) {
    header .header_nav .header_nav_child .menu_wrap .main_menu li {
        margin-bottom: 3vw
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li span.font4 {
        margin-right: .9vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu {
        transform: translate3d(40.8%, -48%, 0)
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt:before {
        top: 1.9vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li .tit {
        width: 8.2vw
    }

    header .header_nav .header_nav_child .menu_wrap .third_menu {
        bottom: 5.5vw;
        flex-wrap: wrap
    }

    header .header_nav .header_nav_child .menu_wrap .third_menu li {
        margin-bottom: 1vw
    }

    header .header_nav .header_nav_child .menu_wrap .third_menu li:nth-of-type(2) {
        margin-right: 67vw
    }

    header .header_nav .header_nav_child .menu_wrap .cp {
        margin-left: 11.2vw;
        bottom: 6.5vw
    }

    footer {
        padding-top: 3.2vw;
        padding-bottom: 43px
    }

    footer .child .main_menu {
        margin-top: 1.9vw
    }

    footer .child .main_menu li {
        margin-bottom: 1.3vw
    }

    footer .child .main_menu li:before {
        width: .5vw
    }

    footer .child .sub_menu {
        margin-left: 8.7vw;
        top: 4.4vw
    }

    footer .child .sub_menu>li .tit {
        width: 7.2vw
    }

    footer .child .sub_menu li.reserve .txt {
        width: 9.5vw
    }

    footer .child .sub_menu li.link {
        margin-bottom: 1.2vw
    }

    footer .child .third_menu {
        margin-top: 6.9vw;
        flex-wrap: wrap;
        margin-left: .4vw
    }

    footer .child .third_menu li {
        margin-right: 1.7vw;
        margin-bottom: .9vw
    }

    footer .child .third_menu li:nth-of-type(2) {
        margin-right: 50vw
    }

    footer .child .pagetop_btn {
        right: 4.2vw;
        bottom: 15.2vw
    }

    footer .child .logo {
        right: 5vw;
        bottom: 56px
    }

    footer .child .logo img {
        width: 39px;
        height: 41px
    }

    footer .child .cp {
        margin-left: 9.2vw;
        bottom: 55px
    }
}

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

    .sp {
        display: block
    }

    h2.logo {
        top: 20px;
        left: 30px
    }

    h2.logo img {
        width: 90px;
        height: auto
    }

    div.logo_sub {
        top: 50px;
        left: 66px
    }

    div.logo_sub img {
        width: 9px;
        height: auto
    }

    header .header_nav .header_nav_child.open .close_btn div {
        height: 22px
    }

    header .header_nav .header_nav_child.close .close_btn div {
        height: 0;
        transition-delay: 0s !important
    }

    header .header_nav .header_nav_child.close .close_btn div.close2 {
        transition-delay: 0s !important
    }

    header .header_nav .header_nav_child .grill_menu {
        top: 32px;
        right: 25px;
        width: 30px;
        height: 30px;
        overflow: hidden
    }

    header .header_nav .header_nav_child .grill_menu .bar {
        background-color: #2c1b1e;
        width: 30px;
        margin-bottom: 4px;
        pointer-events: none
    }

    header .header_nav .header_nav_child .close_btn {
        top: 34px;
        right: 30px
    }

    header .header_nav .header_nav_child .close_btn div {
        overflow: hidden;
        height: 0;
        transition: height .4s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .8s
    }

    header .header_nav .header_nav_child .close_btn div.close2 {
        position: absolute;
        left: 0;
        top: 0;
        transition-delay: .6s
    }

    header .header_nav .header_nav_child .close_btn div img {
        width: 22px;
        height: 22px
    }

    header .header_nav .header_nav_child .menu_wrap {
        overflow-x: hidden;
        overflow-y: auto
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu {
        position: relative;
        width: 86vw;
        margin: 31.8vw auto 0;
        font-size: 5.33333vw
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li {
        margin-bottom: 5.3vw;
        letter-spacing: .29em
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li:nth-of-type(1) {
        letter-spacing: .28em;
        font-feature-settings: "palt"
    }

    header .header_nav .header_nav_child .menu_wrap .main_menu li span.font4 {
        font-size: 2.66667vw;
        position: relative;
        top: -1vw;
        margin-right: 4vw;
        letter-spacing: 0
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu {
        position: relative;
        width: 86vw;
        margin: 10.5vw auto 0;
        font-size: 2.66667vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu>li {
        padding-top: 8vw;
        padding-bottom: 8.6vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu>li:first-child {
        border-top: 1px solid rgba(255, 255, 255, .1)
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu>li:nth-child(2) {
        border-top: 1px solid rgba(255, 255, 255, .1);
        border-bottom: 1px solid rgba(255, 255, 255, .1)
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt {
        font-size: 5.33333vw;
        line-height: .8
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt:before {
        top: 6vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.reserve .txt:after {
        top: 6vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact {
        padding-bottom: 4.8vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li:first-child {
        margin-bottom: 1.2vw;
        white-space: nowrap
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li:first-child .txt2:hover:after {
        width: 100%
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li:first-child .txt2 span {
        display: block;
        margin-bottom: 1.4vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li:first-child .txt2:before {
        width: 100%
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .tit2 {
        font-size: 2.66667vw;
        width: 9.7vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .txt2 {
        font-size: 4.26667vw;
        letter-spacing: .12em;
        position: relative;
        top: -2vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .txt2 span {
        font-size: 2.66667vw;
        letter-spacing: -.04em
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .txt2:hover:after {
        width: 100%
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .txt2:before {
        content: "";
        width: 100%;
        height: 1px;
        background-color: rgba(255, 255, 255, .3);
        position: absolute;
        left: 0;
        top: 7vw;
        display: inline-block;
        pointer-events: none
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.contact .txt>ul li .txt2:after {
        content: "";
        width: 0%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 7vw;
        display: inline-block;
        pointer-events: none;
        transition: width .4s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.link {
        padding-top: 9vw;
        padding-bottom: 0
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.link .tit {
        width: 10vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.link .txt {
        font-size: 2.66667vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.link .txt:after {
        content: "";
        background-image: url(../image/external.svg);
        width: 11px;
        height: 11px;
        display: inline-block;
        margin-left: 10px
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.sns {
        padding-top: 1.1vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.sns .tit {
        width: 10vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.sns .txt {
        font-size: 2.66667vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.sns .txt ul {
        display: flex
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li.sns .txt ul li {
        margin-right: 4.3vw
    }

    header .header_nav .header_nav_child .menu_wrap .sub_menu li .tit {
        font-size: 2.66667vw;
        width: 23.2vw
    }

    header .header_nav .header_nav_child .menu_wrap .third_menu {
        flex-wrap: wrap;
        font-size: 2.66667vw;
        width: 86vw;
        margin: -1.1vw auto 0
    }

    header .header_nav .header_nav_child .menu_wrap .third_menu li {
        margin-right: 5vw;
        margin-bottom: 1.8vw
    }

    header .header_nav .header_nav_child .menu_wrap .cp {
        font-size: 2.4vw;
        margin-top: 2.4vw;
        margin-bottom: 11vw;
        left: 7vw;
        position: relative
    }

    nav#about_contents_nav_pc.visible {
        display: none
    }

    nav#hotels_detail_contents_nav_pc.visible {
        display: none
    }

    #hotels_detail_food_ui_sp {
        position: fixed;
        width: 100%;
        z-index: 904;
        display: none;
        opacity: 0;
        transition: opacity .4s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        cursor: pointer
    }

    #hotels_detail_food_ui_sp.block {
        display: block
    }

    #hotels_detail_food_ui_sp.show {
        opacity: 1
    }

    #hotels_detail_food_ui_sp .prev {
        padding-left: 7vw
    }

    #hotels_detail_food_ui_sp .prev .label {
        left: 5.2vw
    }

    #hotels_detail_food_ui_sp .next {
        left: 90vw;
        padding-right: 7vw
    }

    #hotels_detail_food_ui_sp .next .label {
        left: -8px
    }

    #hotels_detail_food_ui_sp .next,
    #hotels_detail_food_ui_sp .prev {
        width: 10vw;
        height: 100vh;
        padding-top: 50vh;
        position: absolute;
        font-size: 1.3rem
    }

    #hotels_detail_food_ui_sp .next img,
    #hotels_detail_food_ui_sp .prev img {
        width: 11px;
        height: 22px
    }

    #hotels_detail_food_ui_sp .next .label,
    #hotels_detail_food_ui_sp .prev .label {
        position: absolute;
        top: 50vh;
        margin-top: -153px
    }

    #hotels_detail_food_ui_sp .next .label span,
    #hotels_detail_food_ui_sp .prev .label span {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }

    #hotels_detail_reserve_btn {
        bottom: 8vw;
        left: 4vw;
        width: 92vw;
        height: 16vw
    }

    #hotels_detail_reserve_btn.show {
        opacity: 0
    }

    #hotels_detail_reserve_btn.show_sp {
        opacity: 1
    }

    #hotels_detail_reserve_btn .ja {
        text-align: center;
        top: 2.7vw;
        letter-spacing: .3em;
        font-size: 3.46667vw
    }

    #hotels_detail_reserve_btn .en {
        text-align: center;
        margin-top: 1.3vw;
        letter-spacing: .06em;
        font-size: 2.66667vw
    }

    main h1 .txt .space {
        width: 10px
    }

    footer {
        padding-top: 9.3vw
    }

    footer .child {
        width: 87vw;
        margin: 0 auto
    }

    footer .child h3 {
        font-size: 6vw;
        letter-spacing: .032em
    }

    footer .child h3 span {
        font-size: 6vw
    }

    footer .child .main_menu {
        font-size: 3.2vw;
        margin-top: 7.7vw
    }

    footer .child .main_menu li {
        letter-spacing: .3em;
        margin-bottom: 1.6vw
    }

    footer .child .main_menu li:before {
        width: 3px;
        margin-right: 1.9vw;
        margin-left: .1vw;
        top: -.8vw
    }

    footer .child .sub_menu {
        margin-top: 11.8vw;
        font-size: 2.66667vw
    }

    footer .child .sub_menu>li {
        padding-top: 7.5vw;
        padding-bottom: 5.5vw
    }

    footer .child .sub_menu>li:first-child {
        border-top: 1px solid rgba(255, 255, 255, .1)
    }

    footer .child .sub_menu>li:nth-child(2) {
        border-top: 1px solid rgba(255, 255, 255, .1);
        border-bottom: 1px solid rgba(255, 255, 255, .1)
    }

    footer .child .sub_menu li.reserve .txt {
        font-size: 4.26667vw;
        top: -2vw
    }

    footer .child .sub_menu li.reserve .txt:before {
        top: 7.4vw
    }

    footer .child .sub_menu li.reserve .txt:after {
        top: 7.4vw
    }

    footer .child .sub_menu li.contact .txt>ul li:first-child .txt2:hover:after {
        width: 100%
    }

    footer .child .sub_menu li.contact .txt>ul li:first-child .txt2:before {
        width: 100%
    }

    footer .child .sub_menu li.contact .txt>ul li:nth-child(2) {
        top: 2.3vw;
        position: relative
    }

    footer .child .sub_menu li.contact .txt>ul li .tit2 {
        font-size: 2.66667vw;
        width: 9.4vw
    }

    footer .child .sub_menu li.contact .txt>ul li .txt2 {
        font-size: 4.26667vw;
        position: relative;
        top: -2vw;
        letter-spacing: .1em;
        white-space: nowrap
    }

    footer .child .sub_menu li.contact .txt>ul li .txt2 span {
        font-size: 2.66667vw;
        letter-spacing: 0;
        display: block;
        margin-bottom: -.8vw
    }

    footer .child .sub_menu li.contact .txt>ul li .txt2:hover:after {
        width: 100%
    }

    footer .child .sub_menu li.contact .txt>ul li .txt2:before {
        content: "";
        width: 100%;
        height: 1px;
        background-color: rgba(255, 255, 255, .5);
        position: absolute;
        left: 0;
        top: 7.2vw;
        display: inline-block;
        pointer-events: none
    }

    footer .child .sub_menu li.contact .txt>ul li .txt2:after {
        content: "";
        width: 0%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 7.2vw;
        display: inline-block;
        pointer-events: none;
        transition: width .4s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    footer .child .sub_menu li.link {
        padding-top: 6.5vw;
        padding-bottom: 0
    }

    footer .child .sub_menu li.link .tit {
        width: 10vw
    }

    footer .child .sub_menu li.link .txt {
        font-size: 2.66667vw
    }

    footer .child .sub_menu li.link .txt:after {
        content: "";
        background-image: url(../image/external.svg);
        width: 11px;
        height: 11px;
        display: inline-block;
        margin-left: 7px
    }

    footer .child .sub_menu li.sns {
        padding-top: 1vw
    }

    footer .child .sub_menu li.sns .tit {
        width: 10vw
    }

    footer .child .sub_menu li.sns .txt {
        font-size: 2.66667vw
    }

    footer .child .sub_menu li.sns .txt ul {
        display: flex
    }

    footer .child .sub_menu li.sns .txt ul li {
        margin-right: 4.5vw
    }

    footer .child .sub_menu li .tit {
        font-size: 2.66667vw;
        width: 23.3vw;
        margin-left: .5vw
    }

    footer .child .third_menu {
        flex-wrap: wrap;
        margin-top: 5vw
    }

    footer .child .third_menu li {
        margin-bottom: 1vw;
        margin-right: 5.3vw
    }

    footer .child .pagetop_btn {
        font-size: 2.4vw;
        right: 3.1vw;
        bottom: 14.5vw
    }

    @keyframes loop_pagetop_btn_line_sp {
        0% {
            transform: translate3d(0, 0, 0) scaleX(1)
        }

        40% {
            transform: translate3d(0, 0, 0) scaleX(0)
        }

        50% {
            transform: translate3d(0, 0, 0) scaleX(0)
        }

        50.01% {
            transform: translate3d(10vw, 0, 0) scaleX(0)
        }

        95% {
            transform: translate3d(0, 0, 0) scaleX(1)
        }

        100% {
            transform: translate3d(0, 0, 0) scaleX(1)
        }
    }

    footer .child .pagetop_btn:before {
        width: 10vw;
        top: 2.2vw;
        margin-left: -12.6vw;
        animation: loop_pagetop_btn_line_sp 1.4s infinite cubic-bezier(.25, .46, .45, .94)
    }

    footer .child .logo {
        display: none
    }

    footer .child .cp {
        font-size: 2.66667vw;
        left: 0;
        margin-top: 7vw;
        letter-spacing: .02em;
        padding-bottom: 9vw;
        position: relative
    }
}

main.top .hero {
    position: relative;
    z-index: 0
}

main.top .hero .bg {
    overflow: hidden;
    width: 100vw
}

main.top .hero .bg img {
    position: relative;
}

main.top .hero .light_canvas {
    position: absolute;
    top: 0;
    left: 0
}

main.top .hero .light_canvas canvas {
    width: 100vw;
    height: 100vh;
    opacity: .8
}

main.top .hero h1 {
    position: absolute;
    color: #fff;
    font-weight: 500;
    z-index: 1;
}

main.top .hero h1 span {
    opacity: 1;
    display: inline-block;
    transform: translate3d(0, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .hero h1 span.show {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.top .hero h1 span:nth-child(5) {
    margin-left: .3vw
}

main.top .hero h1 span:nth-child(6) {
    margin-left: -.4vw
}

main.top .hero h1 span:nth-child(7) {
    margin-left: .3vw
}

main.top .hero .btn {
    position: absolute;
    cursor: pointer;
    color: #fff;
    opacity: 0;
    transition: opacity .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .hero .btn a {
    color: #fff
}

main.top .hero .btn.init {
    opacity: 1
}

main.top .hero .btn .label {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none
}

main.top .hero .btn2 {
    position: absolute;
    opacity: 0;
    transition: opacity .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .hero .btn2.init {
    opacity: 1
}

main.top .hero .btn2:hover:before {
    background-color: #e72420
}

main.top .hero .btn2:before {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .hero .btn2 a {
    color: #fff
}

main.top .hero .btn2:hover:after {
    background-color: #e72420
}

main.top .hero .btn2:hover span {
    color: #e72420 !important
}

main.top .hero .btn2:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .25s
}

main.top .hero .btn2 span {
    color: #fff;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .hero .btn2 span:nth-child(1) {
    transition-delay: 25ms
}

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

main.top .hero .btn2 span:nth-child(3) {
    transition-delay: 75ms
}

main.top .hero .btn2 span:nth-child(4) {
    transition-delay: .1s
}

main.top .hero .btn2 span:nth-child(5) {
    transition-delay: 125ms
}

main.top .hero .btn2 span:nth-child(6) {
    transition-delay: .15s
}

main.top .hero .btn2 span:nth-child(7) {
    transition-delay: 175ms
}

main.top .hero .btn2 span:nth-child(8) {
    transition-delay: .2s
}

main.top .hero .btn2 span:nth-child(9) {
    transition-delay: 225ms
}

main.top .hero .scroll {
    display: none
}

main.top .section {
    position: relative;
    width: 100vw
}

main.top .section h2 .sub_txt {
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .2s
}

main.top .section h2 .sub_txt.show {
    opacity: 1
}

main.top .section h2 .txt {
    font-weight: 400
}

main.top .section h2 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(65px, 0, 0)
}

main.top .section h2 .txt span.show {
    opacity: 1;
    transition: opacity 2s, transform 2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transform: translate3d(0, 0, 0)
}

main.top .section1 h3 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: relative;
    left: 50%
}

main.top .section1 h3:before {
    content: "";
    width: 1px;
    height: 100px;
    background-color: #2c1b1e;
    display: inline-block;
    position: absolute;
    top: -100px;
    left: 50%;
}

main.top .section1 .paras {
    position: relative
}

main.top .section1 .imgs {
    width: 100%;
    height: 100%;
}

main.top .section1 .imgs .img1 {
    overflow: hidden
}

main.top .section1 .imgs .img1 img {
    position: relative
}

main.top .section1 .imgs .img2 {
    overflow: hidden
}

main.top .section1 .imgs .img2 img {
    position: relative
}

main.top .section2 .child h2 .sub_txt {
    position: absolute
}

main.top .section2 .child h2 .sub_txt:before {
    content: "";
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block
}

main.top .section2 .child h2 .txt {
    /*    transform: rotateZ(90deg);*/
    transform-origin: right bottom;
    display: inline-block
}

main.top .section2 .child .imgs a {
    display: grid
}

main.top .section2 .child .imgs .img1 {
    overflow: hidden;
    background-color: #000
}

main.top .section2 .child .imgs .img1 img,
main.top .section2 .child .imgs .img1 video {
    transition: opacity .7s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

@keyframes hover_icon {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes hover_arrow {
    0% {
        opacity: 0
    }

    29.9% {
        opacity: 0
    }

    30% {
        transform: translate3d(-15px, 0, 0);
        opacity: 1
    }

    100% {
        transform: translate3d(0, 0, 0)
    }
}

main.top .section2 .child .imgs .img1:hover {
    cursor: pointer
}

main.top .section2 .child .imgs .img1:hover video {
    opacity: .5
}

main.top .section2 .child .imgs .img1:hover img {
    opacity: .5
}

main.top .section2 .child .imgs .img1:hover img:first-of-type {
    animation: hover_icon 1.3s cubic-bezier(.19, 1, .22, 1)
}

main.top .section2 .child .imgs .img1:hover img:nth-of-type(2) {
    animation: hover_arrow 1.2s cubic-bezier(.165, .84, .44, 1)
}

main.top .section2 .child .imgs .img2 {
    overflow: hidden
}

main.top .section2 .child .imgs .img2 img {
    position: relative
}

main.top .section2 .child .child_section ul li .num {
    position: absolute
}

main.top .section3.over .arrow .a {
    opacity: 1
}

main.top .section3 h2 {
    text-align: right
}

main.top .section3 h2 .sub_txt {
    display: inline-block
}

main.top .section3 h2 .sub_txt:after {
    content: "";
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block
}

main.top .section3 .btn:hover:after {
    background-color: #e72420
}

main.top .section3 .btn:hover:after {
    background-color: #e72420
}

main.top .section3 .btn:hover span {
    color: #e72420 !important
}

main.top .section3 .btn:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .4s
}

main.top .section3 .btn span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .section3 .btn span:nth-child(1),
main.top .section h2 .txt span:nth-child(1) {
    transition-delay: 25ms
}

main.top .section3 .btn span:nth-child(2),
main.top .section h2 .txt span:nth-child(2) {
    transition-delay: 50ms
}

main.top .section3 .btn span:nth-child(3),
main.top .section h2 .txt span:nth-child(3) {
    transition-delay: 75ms
}

main.top .section3 .btn span:nth-child(4),
main.top .section h2 .txt span:nth-child(4) {
    transition-delay: .1s
}

main.top .section3 .btn span:nth-child(5),
main.top .section h2 .txt span:nth-child(5) {
    transition-delay: 125ms
}

main.top .section3 .btn span:nth-child(6),
main.top .section h2 .txt span:nth-child(6) {
    transition-delay: .15s
}

main.top .section3 .btn span:nth-child(7),
main.top .section h2 .txt span:nth-child(7) {
    transition-delay: 175ms
}

main.top .section3 .btn span:nth-child(8),
main.top .section h2 .txt span:nth-child(8) {
    transition-delay: .2s
}

main.top .section3 .btn span:nth-child(9),
main.top .section h2 .txt span:nth-child(9) {
    transition-delay: 225ms
}

main.top .section3 .btn span:nth-child(10),
main.top .section h2 .txt span:nth-child(10) {
    transition-delay: .25s
}

main.top .section3 .btn span:nth-child(11),
main.top .section h2 .txt span:nth-child(11) {
    transition-delay: 275ms
}

main.top .section3 .btn span:nth-child(12),
main.top .section h2 .txt span:nth-child(12) {
    transition-delay: .3s
}

main.top .section3 .btn span:nth-child(13),
main.top .section h2 .txt span:nth-child(13) {
    transition-delay: 325ms
}

main.top .section3 .btn span:nth-child(14),
main.top .section h2 .txt span:nth-child(14) {
    transition-delay: .35s
}

main.top .section3 .btn span:nth-child(15),
main.top .section h2 .txt span:nth-child(15) {
    transition-delay: 375ms
}

main.top .section3 .ul_container {
    position: relative
}

/*main.top .section3 ul {
    display: flex
}*/

main.top .section3 ul li .img {
    text-align: center;
}

main.top .section3 ul li.no_touch.add_transition {
    transition: opacity .3s, transform .9s, left .9s;
    transition-timing-function: cubic-bezier(.645, .045, .355, 1)
}

main.top .section3 ul li {
    /*    position: absolute;*/
    transition: opacity .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .section3 ul li:first-child {
    position: relative
}

main.top .section3 ul li.lock {
    opacity: .3
}

main.top .section3 .name {
    position: absolute;
    pointer-events: none
}

main.top .section3 .name .item {
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden
}

main.top .section3 .name .item .item_child {
    transition: transform .5s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

main.top .section3 .name .item .item_child .num {
    position: relative;
    left: 3.9vw
}

main.top .section3 .name .item .item_child .txt {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

main.top .section3 .ui {
    /*    position: relative;*/
    display: block;
    opacity: 1;
    text-align: center;
}

main.top .section3 .ui .item {
    /*position: absolute;
    top: 0;
    left: 0;*/
    overflow: hidden
}

main.top .section3 ul li.swiper-slide-active .ui {
    opacity: 1;
    transition: opacity .3s;
}

main.top .section3 .ui .item .item_child {
    transition: transform .6s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

main.top .section3 .ui .item .item_child .txt span {
    font-weight: 100;
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .section3 .ui .item .item_child .txt span:nth-child(1) {
    transition-delay: 25ms
}

main.top .section3 .ui .item .item_child .txt span:nth-child(2) {
    transition-delay: 50ms
}

main.top .section3 .ui .item .item_child .txt span:nth-child(3) {
    transition-delay: 75ms
}

main.top .section3 .ui .item .item_child .txt span:nth-child(4) {
    transition-delay: .1s
}

main.top .section3 .ui .item .item_child .txt span:nth-child(5) {
    transition-delay: 125ms
}

main.top .section3 .ui .item .item_child .txt span:nth-child(6) {
    transition-delay: .15s
}

main.top .section3 .ui .item .item_child .txt span:nth-child(7) {
    transition-delay: 175ms
}

main.top .section3 .ui .item .item_child .txt span:nth-child(8) {
    transition-delay: .2s
}

main.top .section3 .ui .item .item_child .txt span:nth-child(9) {
    transition-delay: 225ms
}

main.top .section3 .ui .item .item_child .txt span:nth-child(10) {
    transition-delay: .25s
}

main.top .section3 .ui .item .item_child .txt span:nth-child(11) {
    transition-delay: 275ms
}

main.top .section3 .ui .item .item_child .txt:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: 425ms
}

main.top .section3 .ui .item.over .item_child .txt span {
    color: #e72420
}

main.top .section3 .ui .item.over .item_child .txt:after {
    background-color: #e72420
}

main.top .section3 .ui .fraction {
    position: absolute
}

main.top .section3 .ui .fraction .slash {
    display: inline-block;
    margin-left: 3px;
    margin-right: 3px
}

main.top .section3 .ui .fraction .slash img {
    width: 20.5px;
    height: 12px
}

main.top .section3 .arrow.swiper-button-prev {
    position: absolute;
    top: 50%;
    left: 10%;
    right: auto;
    display: block;
    background-image: none;
    width: 60px;
    z-index: 11;
}

main.top .section3 .arrow.swiper-button-next {
    width: 60px;
    position: absolute;
    top: 50%;
    left: auto;
    right: 10%;
    display: block;
    background-image: none;
    z-index: 11;
}

main.top .section3 .arrow.rotate .a {
    transform: rotate(180deg)
}

main.top .section3 .arrow.plus .a {
    opacity: 0
}

main.top .section3 .arrow.plus .p {
    opacity: 1
}

main.top .section3 .arrow .a {
    opacity: 1;
    transform-origin: center
}

main.top .section3 .arrow .p {
    opacity: 0;
    position: absolute;
    top: -25px;
    left: -25px
}

main.top .section4 h2 .sub_txt:after {
    content: "";
    background-color: #2c1b1e;
    position: relative;
    display: inline-block
}

main.top .section4 ul li {
    line-height: 2;
    border-bottom: 1px solid #ebedf0;
    transition: opacity .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .section4 ul li:hover {
    opacity: .5
}

main.top .section4 ul li:first-child {
    border-top: 1px solid #ebedf0
}

main.top .section4 ul li a {
    display: block
}

main.top .section4 .imgs {
    overflow: hidden
}

main.top .section4 .imgs img {
    position: relative
}

main.top .section4 .btn:hover:after {
    background-color: #e72420
}

main.top .section4 .btn:hover:after {
    background-color: #e72420
}

main.top .section4 .btn:hover span {
    color: #e72420 !important
}

main.top .section4 .btn:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .35s
}

main.top .section4 .btn span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.top .section4 .btn span:nth-child(1) {
    transition-delay: 25ms
}

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

main.top .section4 .btn span:nth-child(3) {
    transition-delay: 75ms
}

main.top .section4 .btn span:nth-child(4) {
    transition-delay: .1s
}

main.top .section4 .btn span:nth-child(5) {
    transition-delay: 125ms
}

main.top .section4 .btn span:nth-child(6) {
    transition-delay: .15s
}

main.top .section4 .btn span:nth-child(7) {
    transition-delay: 175ms
}

main.top .section4 .btn span:nth-child(8) {
    transition-delay: .2s
}

main.top .section4 .btn span:nth-child(9) {
    transition-delay: 225ms
}

main.top .section4 .btn span:nth-child(10) {
    transition-delay: .25s
}

main.top .section4 .btn span:nth-child(11) {
    transition-delay: 275ms
}

main.top .section4 .btn span:nth-child(12) {
    transition-delay: .3s
}

main.top .section4 .btn span:nth-child(13) {
    transition-delay: 325ms
}

main.top .section5 .imgs {
    display: none
}

@media screen and (min-width:1024px) {
    main.top .hero h1 {
        top: 48%;
        left: 14%;
        line-height: 1.3;
        letter-spacing: -.03em;
        font-size: 5.00626vw
    }

    main.top .hero .btn {
        left: 50%;
        top: 50%;
        margin-left: 27vw;
        margin-top: -1.4vw
    }

    main.top .hero .btn .label {
        position: absolute;
        top: 3.3vw;
        left: -2.3vw;
        font-size: 1.50188vw
    }

    main.top .hero .btn .label span {
        font-size: 1.25156vw;
        margin-right: .6vw
    }

    main.top .hero .btn2 {
        right: 8.6vw;
        bottom: 85px;
        letter-spacing: .1em;
        font-size: .68836vw
    }

    main.top .hero .btn2:before {
        content: "";
        width: 20px;
        height: 1px;
        background-color: #fff;
        margin-right: 1.2vw;
        display: inline-block;
        position: relative;
        top: -3px
    }

    main.top .section h2 {
        position: relative
    }

    main.top .section h2 .sub_txt {
        display: block;
        font-size: 1.00125vw
    }

    main.top .section h2 .txt {
        display: block;
        font-size: 6.25782vw
    }

    main.top .section h2 .txt .space {
        width: 20px
    }

    main.top .section h3 {
        font-size: 1.37672vw
    }

    main.top .section1 {
        margin-top: 15.7vw
    }

    main.top .section1 h2 {
        left: 50%;
        transform: translate3d(-27.8vw, 0, 0)
    }

    main.top .section1 h2 .sub_txt {
/*        margin-left: 4.7vw*/
    }

    main.top .section1 h2 .sub_txt.show span:first-child:after {
        width: 8vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section1 h2 .sub_txt span:first-child:after {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw;
        margin-right: 1.2vw;
        top: -.2vw
    }

    main.top .section1 h2 .sub_txt span:nth-child(2) {
        letter-spacing: .05em
    }

    main.top .section1 h2 .txt {
        margin-top: 2vw;
        letter-spacing: -.01em;
        line-height: 1
    }

    main.top .section1 h3 {
        margin-left: 19.3vw;
        margin-top: 1.6vw;
        letter-spacing: .3em;
        display: inline-block
    }

    main.top .section1 h3:before {
        height: 4.4vw;
        margin-bottom: 1.3vw;
        position: absolute;
        top: -5.6vw;
        left: 50%;
    }

    main.top .section1 .paras {
        font-size: 1.00125vw;
        left: 50%;
        margin-left: 13.6vw;
        margin-top: 3.5vw
    }

    main.top .section1 .paras p {
        line-height: 2.5;
        margin-bottom: 2.53vw;
        letter-spacing: .05em
    }

    main.top .section1 .imgs {
        position: absolute;
        top: 6.4vw
    }

    main.top .section1 .imgs .img1 {
        position: absolute;
        top: 21.4vw;
        left: 50%;
        margin-left: -33.8vw;
        width: 37.6vw
    }

    main.top .section1 .imgs .img1 img {
        width: 100%
    }

    main.top .section1 .imgs .img2 {
        position: absolute;
        right: 0;
        width: 12.5vw
    }

    main.top .section1 .imgs .img2 img {
        width: 100%
    }

    main.top .section2 {
        margin-top: 10vw
    }

    main.top .section2 h2 {
        left: 50%;
        transform: translate3d(-32.8vw, 0, 0);
        top: 4.7vw
    }

    main.top .section2 h2 .sub_txt {
        left: 27.9vw;
        top: 2.6vw;
        font-size: 1.12641vw;
        letter-spacing: .28em
    }

    main.top .section2 h2 .sub_txt.show:before {
        width: 9.6vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section2 h2 .sub_txt:before {
        width: 0;
        margin-right: 1.1vw;
        top: -.4vw
    }

    main.top .section2 h2 .txt {
        display: inline-block;
        line-height: .83
    }

    main.top .section2 h2 .txt span:nth-of-type(5) {
        /*        margin-left: 7.5vw*/
    }

    main.top .section2 h2 .txt span:nth-of-type(7) {
        /*        margin-left: 3vw*/
    }

    main.top .section2 h2 .txt .space {
        width: 26px
    }

    main.top .section2 p {
        position: absolute;
        font-size: 1.00125vw;
        width: 20.8vw;
        line-height: 2.55;
        left: 50%;
        top: 16.3vw;
        transform: translate3d(-32.8vw, 0, 0);
        letter-spacing: .06em
    }

    main.top .section2 .imgs {
        width: 100%;
        position: relative;
        top: 10.7vw
    }

    main.top .section2 .imgs .img1 {
        position: absolute;
        right: 0;
        top: 0;
        width: 59.5vw
    }

    main.top .section2 .imgs .img1 video {
        width: 100%
    }

    main.top .section2 .imgs .img1 img:first-of-type {
        position: absolute;
        width: 106px;
        height: 105px;
        bottom: 62px;
        right: 5.8vw;
        transform-origin: 52px 52.5px
    }

    main.top .section2 .imgs .img1 img:nth-of-type(2) {
        position: absolute;
        width: 102px;
        height: 17px;
        bottom: 105px;
        right: 8.7vw
    }

    main.top .section2 .imgs .img2 {
        position: relative;
        margin-top: 31vw;
        display: inline-block
    }

    main.top .section2 .imgs .img2 img {
        width: 27.3vw
    }

    main.top .section3 {
        margin-top: 8.9vw
    }

    main.top .section3 h2 {
        margin-right: 8.3vw
    }

    main.top .section3 h2 .sub_txt {
        display: inline-block;
        top: -.9vw;
        position: relative;
        letter-spacing: .3em;
        font-size: 1.12641vw
    }

    main.top .section3 h2 .sub_txt.show:after {
        width: 9.5vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section3 h2 .sub_txt:after {
        width: 0;
        margin-right: 1.5vw;
        margin-left: .8vw;
        top: -.4vw
    }

    main.top .section3 h2 .txt {
        display: inline-block
    }

    main.top .section3 .btn {
        text-align: right;
        font-size: 1.00125vw;
        right: 9.1vw;
        margin-top: -2.1vw;
        position: relative;
        letter-spacing: .04em
    }

    main.top .section3 ul {
        margin-top: 2.1vw
    }

    /*main.top .section3 ul li {
        margin: 0 4.1vw
    }*/

    main.top .section3 ul li img {
        width: 100%
    }

    main.top .section3 .name {
        top: 16.1vw;
        left: 50%;
        transform: translate3d(-18vw, 0, 0)
    }

    main.top .section3 .name .item .num {
        font-size: 1rem
    }

    main.top .section3 .name .item .txt {
        font-size: 4.38048vw;
        margin-top: 1.3vw;
        letter-spacing: .3em
    }

    main.top .section3 .ui {
        margin: 0;
        width: 100%
    }

    main.top .section3 .ui .tit {
        font-size: .8761vw;
        color: #969ba0;
    }

    main.top .section3 .ui .address {
        font-size: 2.0025vw;
        letter-spacing: -.2em;
        margin-top: -.4vw
    }

    main.top .section3 .ui .txt {
        font-size: 1.12641vw;
        margin-top: -.8vw;
        margin-left: 18.6vw;
        white-space: nowrap;
        opacity: 1;
        transition: opacity .3s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section3 .ui .txt.show {
        transition: opacity .5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .3s;
        opacity: 1
    }

    main.top .section3 .ui .fraction {
        font-size: 1rem;
        top: 1.7vw;
        right: 0
    }

    main.top .section3 .arrow {
        position: absolute
    }

    main.top .section4 {
        margin-top: 10.5vw
    }

    main.top .section4 .child {
        min-height: 57vw
    }

    main.top .section4:after {
        content: "";
        width: 80%;
        height: 1px;
        background-color: #ebedf0;
        display: block;
        position: absolute;
        left: 50%;
        transform: translate3d(-42.2%, 0, 0)
    }

    main.top .section4 h2 {
        position: absolute;
        left: 50%;
        margin-left: -24.8vw;
        letter-spacing: .75em;
        z-index: 1;
    }

    main.top .section4 h2 .sub_txt {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        display: inline-block
    }

    main.top .section4 h2 .sub_txt.show:after {
        height: 4.4vw;
        transition: height 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section4 h2 .sub_txt:after {
        width: 1px;
        height: 0;
        margin-top: .6vw;
        position: absolute;
        left: 1vw
    }

    main.top .section4 h2 .txt {
        display: block;
        font-size: 6.25782vw;
        position: relative;
        left: -2.8vw;
        top: 3vw;
        letter-spacing: -.01em
    }

    main.top .section4 ul {
        position: relative;
        left: 50%;
        margin-left: -10vw;
        width: 56vw;
        top: 3.3vw
    }

    main.top .section4 ul li a {
        padding: 33px 0
    }

    main.top .section4 ul li .category,
    main.top .section4 ul li .date {
        font-size: 1.00125vw
    }

    main.top .section4 ul li .date {
        margin-right: 1.1vw
    }

    main.top .section4 ul li .category {
        margin-right: 5.8vw
    }

    main.top .section4 ul li .txt {
        font-size: 1.00125vw
    }

    main.top .section4 .imgs {
        top: 16.6vw;
        position: absolute;
        z-index: 0
    }

    main.top .section4 .imgs img {
        width: 33.7vw
    }

    main.top .section4 .btn {
        font-weight: 600;
        font-size: 1.12641vw;
        text-align: right;
        margin-right: 8.8vw;
        margin-top: 6.5vw;
        padding-bottom: 17.5vw
    }

    main.top .section5 {
        margin-top: 6.6vw;
        margin-bottom: 7.1vw
    }

    main.top .section5:hover .imgs .img1 {
        opacity: 1;
        transform: scale(1)
    }

    main.top .section5:hover h2 {
        color: #fff
    }

    main.top .section5:hover h2 .sub_txt:before {
        background-color: #fff
    }

    main.top .section5:hover .attention {
        color: #fff
    }

    main.top .section5 .imgs {
        position: absolute;
        display: block;
        margin-top: -6.6vw;
        width: 87vw;
        left: 50%;
        transform: translate3d(-42.2%, 0, 0);
        top: 0;
        overflow: hidden
    }

    main.top .section5 .imgs .img1 {
        opacity: 0;
        transition: transform 1.2s, opacity 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transform: scale(1.05)
    }

    main.top .section5 .imgs .img1 img {
        width: 102%
    }

    main.top .section5 h2 {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end;
        position: relative;
        left: 19.8vw
    }

    main.top .section5 h2 .sub_txt {
        font-size: 1.12641vw;
        position: relative;
        top: .5vw;
        letter-spacing: .3em;
        left: calc(30% - 19.8vw);
    }

    main.top .section5 h2 .sub_txt.show:before {
        width: 9.5vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section5 h2 .sub_txt:before {
        content: "";
        width: 0;
        top: -.4vw;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.9vw;
        margin-right: 1vw
    }

    main.top .section5 h2 .txt {
        font-size: 4.06758vw;
        letter-spacing: .06em
    }

    main.top .section5 .attention {
        position: absolute;
        top: 50%;
        right: 10%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        font-size: .98836vw
    }
}

@media screen and (max-width:1023px) {
    main.top .hero {
        height: 100vh
    }

    main.top .hero h1 {
        top: 50%;
        left: 50%;
        font-size: 13.06667vw;
        margin-left: -44.9vw;
        margin-top: -36.5vw;
        line-height: 1.32;
        letter-spacing: -.06em;
        transform: scale(.9);
        transform-origin: left bottom;
        letter-spacing: .12em;
        font-feature-settings: "palt"
    }

    main.top .hero .bg img {
        left: 50vw;
        top: 0;
        transform: translate3d(-50%, 0, 0);
        height: 100vh
    }

    main.top .hero .btn {
        left: 36.3vw;
        top: 58.6%
    }

    main.top .hero .btn canvas {
        width: 27vw;
        height: 27vw
    }

    main.top .hero .btn .label {
        width: 27vw;
        height: 27vw;
        text-align: center;
        line-height: 1.2;
        font-size: 4.8vw
    }

    main.top .hero .btn .label span {
        display: block;
        font-size: 3.2vw;
        position: relative;
        margin-top: 9.1vw
    }

    main.top .hero .btn2 {
        bottom: 37px;
        right: 25px;
        letter-spacing: .05em
    }

    main.top .hero .btn2:before {
        content: "";
        width: 7px;
        margin-right: 8px;
        top: -3px;
        height: 1px;
        background-color: #fff;
        position: relative;
        display: inline-block
    }

    main.top .hero .scroll {
        position: absolute;
        display: inline-block;
        left: 8.6vw;
        transform: rotate(90deg);
        font-size: 2.66667vw;
        color: #fff
    }

    @keyframes loop_scroll_line {
        0% {
            transform: translate3d(0, 0, 0) scaleX(0)
        }

        50% {
            transform: translate3d(0, 0, 0) scaleX(1)
        }

        55% {
            transform: translate3d(0, 0, 0) scaleX(1)
        }

        100% {
            transform: translate3d(75px, 0, 0) scaleX(0)
        }
    }

    main.top .hero .scroll:after {
        content: "";
        width: 75px;
        height: 1px;
        top: 2.6vw;
        background-color: #fff;
        position: absolute;
        display: inline-block;
        margin-left: 10px;
        transform-origin: left;
        animation: loop_scroll_line 1.4s infinite
    }

    main.top .section h2 .sub_txt {
        display: block;
        font-size: 2.66667vw
    }

    main.top .section h2 .txt {
        display: block;
        font-size: 13.33333vw
    }

    main.top .section h2 .txt .space {
        width: 10px
    }

    main.top .section h3 {
        font-size: 5.33333vw
    }

    main.top .section1 {
        padding-top:40%;
    }

    main.top .section1 h2 {
        position: absolute;
        top: 3%;
        left: 2%;
    }

    main.top .section1 h2 .sub_txt {
        left: 50%;
        position: relative;
        transform: translate3d(-29vw, 0, 0)
    }

    main.top .section1 h2 .sub_txt.show span:first-child:after {
        width: 17.4vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section1 h2 .sub_txt span:first-child:after {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 2.8vw;
        margin-right: 2.3vw
    }

    main.top .section1 h2 .sub_txt span:nth-child(2) {
        letter-spacing: .05em
    }

    main.top .section1 h2 .txt {
        margin-top: 3.5vw;
        left: 50%;
        position: relative;
        transform: translate3d(-37vw, 0, 0);
        line-height: 1
    }

    main.top .section1 h3 {
        margin-top: 25vw;
        margin-left: -10.5vw;
        letter-spacing: .3em;
        white-space: nowrap
    }

    main.top .section1 h3:before {
        height: 20vw;
        margin-bottom: 5vw
    }

    main.top .section1 .paras {
        font-size: 3.73333vw;
        margin-top: 22vw;
        left: 6.6vw;
        width: 90%;
    }

    main.top .section1 .paras p {
        line-height: 2.45;
        margin-bottom: 9.9vw;
        letter-spacing: .05em
    }

    main.top .section1 .imgs {
        position: relative;
        top: 0;
        width: 100%;
        display: flex;
        flex-direction: column-reverse
    }

    main.top .section1 .imgs .img1 {
        margin-top: 79vw;
        width: 100%
    }

    main.top .section1 .imgs .img2 {
        position: relative;
        left: 100%;
        margin-left: -73.3vw;
        width: 66.6vw
    }

    main.top .section1 .imgs img {
        width: 100%
    }

    main.top .section2 {
        margin-top: 20vw
    }

    main.top .section2 h2 {
        font-family: cormorant-garamond, serif;
        left: -31.8vw;
        top: 10.4vw;
        position: relative
    }

    main.top .section2 h2 .sub_txt {
        left: 100%;
        top: 11vw;
        margin-left: -23.2vw;
        font-size: 2.93333vw;
        letter-spacing: .16em;
        white-space: nowrap
    }

    main.top .section2 h2 .sub_txt.show:before {
        width: 10vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section2 h2 .sub_txt:before {
        width: 0;
        margin-right: 2.2vw;
        position: relative;
        top: -3px
    }

    main.top .section2 h2 .txt {
        position: relative;
        display: inline-block;
        z-index: 10;
        line-height: .83
    }

    main.top .section2 p {
        position: absolute;
        top: 132vw;
        width: 86.5vw;
        left: 50%;
        transform: translate3d(-50%, 0, 0);
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.top .section2 .imgs {
        position: relative;
        margin-top: -.7vw;
        width: 100%
    }

    main.top .section2 .imgs .img1 {
        position: relative;
        left: 6.6vw;
        width: 166vw
    }

    main.top .section2 .imgs .img1 img:first-of-type {
        position: absolute;
        width: 70.5px;
        height: 69px;
        bottom: 25px;
        left: 93.4vw;
        margin-left: -95px
    }

    main.top .section2 .imgs .img1 img:nth-of-type(2) {
        position: absolute;
        width: 68px;
        height: 10.5px;
        bottom: 55px;
        left: 93.4vw;
        margin-left: -124px
    }

    main.top .section2 .imgs .img2 {
        position: relative;
        margin-top: 41.3vw;
        width: 67vw
    }

    main.top .section2 .imgs img,
    main.top .section2 .imgs video {
        width: 100%
    }

    main.top .section3 {
        margin-top: 20vw
    }

    main.top .section3 h2 .sub_txt {
        position: relative;
        right: 6.7vw;
        font-size: 2.93333vw;
        letter-spacing: .28em
    }

    main.top .section3 h2 .sub_txt.show:after {
        width: 20vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.top .section3 h2 .sub_txt:after {
        width: 0;
        margin-left: 2vw;
        top: -1vw
    }

    main.top .section3 h2 .txt {
        margin-top: -5.9vw;
        right: 6vw;
        position: relative
    }

    main.top .section3 .btn {
        position: absolute;
        top: 145.5vw;
        right: 7vw;
        border: 1px solid #ebedf0;
        font-size: 4vw
    }

    main.top .section3 .btn a {
        padding: 2vw 10.9vw 2vw 11.3vw;
        display: block
    }

    main.top .section3 .btn:after {
        position: absolute;
        right: 0;
        top: 5.6vw
    }

    main.top .section3 ul {
        white-space: nowrap;
        margin-top: -1vw;
        margin-left: 12vw
    }

    main.top .section3 ul li {
        margin: 0 4.5vw;
        display: inline-block;
        width: 66.7vw
    }

    main.top .section3 ul li img {
        width: 100%
    }

    main.top .section3 .name {
        top: 31.8vw;
        left: 4.4vw
    }

    main.top .section3 .name .item .num {
        display: none
    }

    main.top .section3 .name .item .txt {
        font-size: 12vw;
        letter-spacing: .3em
    }

    main.top .section3 .ui {
        width: 66.7vw;
        margin: -2vw auto 0;
        display: block
    }

    main.top .section3 .ui .tit {
        font-size: 6vw;
        font-weight: 600
    }

    main.top .section3 .ui .address {
/*        margin-top: -1vw;*/
/*        color: #969ba0;*/
        font-size: 18px;
    }

    main.top .section3 .ui .txt {
        display: none
    }

    main.top .section3 .ui .fraction {
        font-size: 2.66667vw;
        top: 4.5vw;
        right: 0
    }

    main.top .section3 .ui .fraction .slash {
        position: relative;
        top: 1px
    }

    main.top .section3 .ui .fraction .slash img {
        width: 19.5px;
        height: 9px
    }

    main.top .section3 .arrow {
        display: none
    }

    main.top .section4 {
        margin-top: 20vw
    }

    main.top .section4:after {
        content: "";
        width: 86vw;
        height: 1px;
        background-color: #ebedf0;
        display: block;
        position: relative;
        margin: 60vw auto 0
    }

    main.top .section4 .child {
        width: 86vw;
        margin: 0 auto
    }

    main.top .section4 h2 .sub_txt {
        letter-spacing: .4em
    }

    /*main.top .section4 h2 .sub_txt.show:after {
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        width: 20vw
    }*/

    /*main.top .section4 h2 .sub_txt:after {
        width: 0;
        height: 1px;
        margin-left: 1.9vw;
        top: -1vw
    }*/

    main.top .section4 h2 .txt {
        top: -5.4vw;
        position: relative
    }

    main.top .section4 ul {
        margin-top: -7vw
    }

    main.top .section4 ul li {
        position: relative
    }

    main.top .section4 ul li:first-child a {
        padding: 7vw 0
    }

    main.top .section4 ul li:after {
        content: "";
        background-image: url(../image/arrow2.svg);
        background-size: contain;
        background-repeat: no-repeat;
        display: inline-block;
        width: 10.5px;
        height: 10.5px;
        right: 0;
        top: 14.1vw;
        position: absolute
    }

    main.top .section4 ul li a {
        padding: 6.4vw 0
    }

    main.top .section4 ul li .category,
    main.top .section4 ul li .date {
        font-size: 2.66667vw
    }

    main.top .section4 ul li .date {
        letter-spacing: .04em;
        margin-right: 3.9vw
    }

    main.top .section4 ul li .txt {
        font-size: 3.2vw;
        display: block;
        margin-top: 1.7vw;
        width: 90%;
        letter-spacing: .05em
    }

    main.top .section4 .imgs {
        display: none
    }

    main.top .section4 .btn {
        margin-top: 8vw;
        position: absolute;
        right: 7vw;
        display: inline-block;
        border: 1px solid #ebedf0;
        font-size: 4vw
    }

    main.top .section4 .btn a {
        padding: 2vw 10.2vw 2vw 10.5vw;
        display: block
    }

    main.top .section4 .btn:after {
        position: absolute;
        right: 0;
        top: 5.6vw
    }

    main.top .section5 {
        margin-top: 18.9vw
    }

    main.top .section5 .child {
        width: 86vw;
        margin: 0 auto
    }

    main.top .section5 h2 .sub_txt {
        font-size: 2.93333vw;
        letter-spacing: .3em
    }

    main.top .section5 h2 .sub_txt.show:after {
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        width: 20vw
    }

    main.top .section5 h2 .sub_txt:after {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.6vw;
        top: -1.2vw
    }

    main.top .section5 h2 .txt {
        top: -6vw;
        position: relative
    }

    main.top .section5 .attention {
        margin-top: -10.9vw;
        margin-bottom: 18.1vw;
        line-height: 2.1;
        font-size: 2.66667vw
    }
}

main.about .section {
    position: relative;
    width: 100vw
}

main.about .section .child h2 {
    position: relative
}

main.about .section .child h2 .sub_txt {
    display: block;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.about .section .child h2 .sub_txt.show {
    opacity: 1
}

main.about .section .child h2 .txt {
    display: block;
    font-weight: 400;
    line-height: 1
}

main.about .section .child h2 .txt span {
    display: inline-block
}

main.about .section .child h2 .txt span.show {
    opacity: 1;
    transition: opacity 2s, transform 2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transform: translate3d(0, 0, 0)
}

main.about .section1 .child h1 {
    position: relative
}

main.about .section1 .child h1 .sub_txt {
    display: block;
    position: absolute;
    font-weight: 400;
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .2s
}

main.about .section1 .child h1 .sub_txt.show {
    opacity: 1
}

main.about .section1 .child h1 .sub_txt.show:before {
    width: 9.4vw;
    transition: width 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.about .section1 .child h1 .sub_txt:before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.2vw
}

main.about .section1 .child h1 .txt {
    display: block;
    line-height: .95;
    font-weight: 400
}

main.about .section1 .child h1 .txt.show span {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.about .section1 .child h1 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(0, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.about .section1 .child h1 .txt span.show {
    opacity: 1;
}

main.about .section1 .child h1 .txt span:nth-child(1) {
    transition-delay: 0s
}

main.about .section1 .child h1 .txt span:nth-child(2) {
    transition-delay: 90ms
}

main.about .section1 .child h1 .txt span:nth-child(3) {
    transition-delay: .18s
}

main.about .section1 .child h1 .txt span:nth-child(4) {
    transition-delay: .27s
}

main.about .section1 .child h1 .txt span:nth-child(5) {
    transition-delay: .36s
}

main.about .section1 .child h1 .txt span:nth-child(6) {
    transition-delay: .45s
}

main.about .section1 .child h1 .txt span:nth-child(7) {
    transition-delay: .54s
}

main.about .section1 .child h1 .txt span:nth-child(8) {
    transition-delay: .63s
}

main.about .section1 .child h1 .txt span:nth-child(9) {
    transition-delay: .72s
}

main.about .section1 .child h1 .txt span:nth-child(10) {
    transition-delay: .81s
}

main.about .section1 .child h1 .txt span:nth-child(11) {
    transition-delay: .9s
}

main.about .section1 .child h1 .txt span:nth-child(12) {
    transition-delay: .99s
}

main.about .section1 .child h1 .txt span:nth-child(13) {
    transition-delay: 1.08s
}

main.about .section1 .child h1 .txt span:nth-child(7) {
    letter-spacing: .2em
}

main.about .section1 .child .video {
    position: relative;
    background-color: #000
}

main.about .section1 .child .video a {
    display: grid
}

/*main.about .section1 .child .video img.play,
main.about .section1 .child .video img.play_circle {
    transition: opacity .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    pointer-events: none
}

main.about .section1 .child .video.hide img.play,
main.about .section1 .child .video.hide img.play_circle {
    opacity: 0
}

main.about .section1 .child .video.hide:hover img.play,
main.about .section1 .child .video.hide:hover img.play_circle {
    display: none
}

main.about .section1 .child .video img {
    position: absolute;
    transform: translate3d(-50%, -50%, 0)
}*/

main.about .section1 .child .video video,
main.about .section1 .child .video .imgs img {
    /*    transition: opacity .7s;*/
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

@keyframes hover_play_circle {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes hover_play {
    0% {
        opacity: 0
    }

    29.9% {
        opacity: 0
    }

    30% {
        margin-left: -15px;
        opacity: 1
    }

    100% {
        margin-left: 0
    }
}

main.about .section1 .child .video:hover {
    cursor: pointer
}

main.about .section1 .child .video:hover video {
    opacity: .5
}

main.about .section1 .child .video:hover img.play_circle {
    margin-left: -4.8vw;
    margin-top: -4.8vw;
    animation: hover_play_circle 1.3s cubic-bezier(.19, 1, .22, 1) forwards
}

main.about .section1 .child .video:hover img.play {
    animation: hover_play 1.2s cubic-bezier(.165, .84, .44, 1)
}

main.about .section1 .child h3 {
    position: relative;
    font-weight: 100
}

main.about .section1 .child h3 span {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

main.about .section1 .child .copy {
    position: relative
}

main.about .section1 .child .paras {
    position: absolute
}

main.about .section1 .child .paras p {
    line-height: 2.5;
    letter-spacing: .05em;
    max-width: 400px;
    width: 100%;
}

main.about .section1 .child .imgs>div {
    overflow: hidden
}

main.about .section1 .child .imgs img {
    width: 100%;
    position: relative
}

main.about .section2 .child h2 .sub_txt:after {
    content: "";
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-right: 1.2vw;
    top: -4px
}

main.about .section2 .child .child_section h3 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    max-height: 100px;
}

main.about .section2 .child .child_section .big_img {
    position: relative
}

main.about .section2 .child .child_section .big_img img {
    width: 100%
}

main.about .section2 .child .child_section .big_img .tit_en {
    display: block;
    position: absolute;
    transform: rotate(90deg);
    transform-origin: left top
}

main.about .section2 .child .child_section ul li {
    display: flex;
    position: relative
}

main.about .section2 .child .child_section ul li .num {
    position: absolute;
    color: #969ba0
}

main.about .section2 .child .child_section ul li .tit {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    max-height: max-content;
}

main.about .section3:after {
    content: "";
    height: 1px;
    background-color: #ebedf0;
    display: block;
    position: absolute;
    left: 50%
}

main.about .section3 .child h2 .txt {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

main.about .section3 .child .copy {
    color: #969ba0;
    position: absolute
}

main.about .section3 .child .copy span {
    display: inline-block;
    transform-origin: left top;
    transform: rotate(90deg)
}

main.about .section4 .imgs {
    display: none
}

main.about .section2 .child .item:nth-child(2n+2) h2,
main.about .section .child  .item:nth-child(2n+2) h2 .sub_txt,
main.about .section2 .child .item:nth-child(2n+2)>p{
    text-align: right;
}

@media screen and (min-width:1024px) {
    main.about .section .child h2 .sub_txt {
        display: block;
        font-size: 1.25156vw
    }

    main.about .section .child h2 .txt {
        display: block;
        font-size: 3.12891vw
    }

    main.about .section .child h2 .txt .space {
        width: 20px
    }

    main.about .section .child h3 {
        font-size: 1.37672vw
    }

    main.about .section .child>p,main.about .section .child .item>p {
        position: relative
    }

    main.about .section1 .child h1 {
        padding-top: 11.2vw;
        left: 50%;
        margin-left: -34vw;
        letter-spacing: -.3em
    }

    main.about .section1 .child h1 .sub_txt {
        font-size: 1.12641vw;
        left: 23.2vw;
        top: 14vw;
        letter-spacing: .3em
    }

    main.about .section1 .child h1 .sub_txt:before {
        margin-right: 1.2vw;
        top: -6px
    }

    main.about .section1 .child h1 .txt {
        letter-spacing: -.07em;
        font-size: 7.50939vw
    }

    main.about .section1 .child .video {
        left: 38.5vw;
        margin-top: 2.8vw
    }

    main.about .section1 .child .video video,
    main.about .section1 .child .video .imgs img {
        width: 61.5vw
    }

    /*main.about .section1 .child .video img {
        left: 30.8vw;
        top: 50%
    }*/

    main.about .section1 .child .video img.play_circle {
        width: 9.57447vw;
        height: 9.51189vw
    }

    main.about .section1 .child .video img.play {
        width: .75094vw;
        height: .93867vw
    }

    main.about .section1 .child h3 {
        letter-spacing: .25em;
        margin-top: -14.4vw;
        left: 50%;
        margin-left: -27.6vw;
        font-size: 3.12891vw;
        display: inline-block
    }

    main.about .section1 .child .copy {
        left: 50%;
        margin-left: -84vw;
        color: #ebedf0;
        font-size: 6.25782vw;
        line-height: 1;
        margin-top: -10vw;
        letter-spacing: -.01em;
        text-align: center
    }

    main.about .section1 .child .paras {
        font-size: 1.00125vw;
        left: 50%;
        margin-left: 16.7vw;
        margin-top: 18.6vw
    }

    main.about .section1 .child .paras p {
        margin-bottom: 2.53vw
    }

    main.about .section1 .child .imgs {
        margin-top: -1.4vw
    }

    main.about .section1 .child .imgs .img1 {
        position: relative;
        left: 100%;
        margin-left: -18.8vw;
        width: 18.7vw
    }

    main.about .section1 .child .imgs .img2 {
        position: relative;
        left: 50%;
        margin-left: -30.1vw;
        width: 37.6vw;
        margin-top: -6.6vw
    }

    main.about .section1 .child .imgs .img3 {
        position: relative;
        left: 50%;
        margin-top: 10.8vw;
        width: 34.5vw;
        margin-left: -13.5vw
    }

    main.about .section2 {
        padding-top: 7.8vw
    }

    main.about .section2 .child h2 {
        left: 50%;
        margin-left: -33.7vw;
        width: 71vw;
    }

    main.about .section2 .child h2 .sub_txt:after {
        width: 0;
        width: 4.2vw;
        margin-left: 1.2vw
    }

    main.about .section2 .child h2 .txt {
        margin-top: 1.5vw;
        letter-spacing: .16em
    }

    main.about .section2 .child>p,main.about .section2 .child .item>p {
        left: 50%;
        margin-left: -33.7vw;
        top: 2.4vw;
        line-height: 2.5;
        letter-spacing: .06em;
        font-size: 1.00125vw;
        width: 71vw;
    }

    main.about .section2 .child .child_section {
        margin-bottom: 6vw
    }

    main.about .section2 .child .child_section h3 {
        margin-left: 78.7vw;
        position: relative;
        top: 26.4vw;
        letter-spacing: .6em
    }

    main.about .section2 .child .child_section h3:before {
        content: "";
        width: 1px;
        height: 4.3vw;
        background-color: #2c1b1e;
        display: inline-block;
        position: absolute;
        top: -5.4vw;
        left: 1.4vw
    }

    main.about .section2 .child .child_section .big_img {
        width: 71vw;
        left: 50%;
        margin-left: -33.7vw;
        margin-top: 5.2vw
    }

    main.about .section2 .child .child_section .big_img .tit_en {
        font-size: 1.00125vw;
        top: 0;
        right: -13.3vw;
        letter-spacing: .048em
    }

    main.about .section2 .child .child_section .big_img p {
        position: absolute;
        left: 56.3vw;
        top: 32.3vw;
        width: 16vw;
        line-height: 2.5;
        letter-spacing: .01em;
        font-size: .8761vw
    }

    main.about .section2 .child .child_section ul {
        display: flex;
        justify-content: center;
        margin-top: 8.8vw
    }

    main.about .section2 .child .child_section ul li {
        position: relative
    }

    main.about .section2 .child .child_section ul li:nth-child(2) {
        margin-left: 2vw;
        margin-right: 2vw
    }

    main.about .section2 .child .child_section ul li .num {
        position: absolute;
        top: -10vw;
        left: 4.5vw;
        font-size: 6.82103vw
    }

    main.about .section2 .child .child_section ul li .tit {
        font-size: 1.37672vw;
        position: relative;
        width: 8vw;
        right: .6vw;
        top: 2vw;
        letter-spacing: .14em
    }

    main.about .section2 .child .child_section ul li .img img {
        width: 15.7vw
    }

    main.about .section2 .child .child_section ul li .txt {
        width: 15.7vw;
        font-size: .8761vw;
        margin-top: 1.3vw;
        line-height: 1.7
    }

    main.about .section2 .child .child_section:nth-of-type(2) h3 {
        margin-left: 22.3vw
    }

    main.about .section2 .child .child_section:nth-of-type(2) .big_img {
        margin-left: -33.7vw
    }

    main.about .section2 .child .child_section:nth-of-type(2) .big_img .tit_en {
        right: 0;
        left: -.6vw
    }

    main.about .section2 .child .child_section:nth-of-type(2) .big_img p {
        left: -18.7vw
    }

    main.about .section2 .child .child_section:nth-of-type(3) .big_img .tit_en {
        right: -10vw
    }

    main.about .section3 {
        padding-top: 23vw
    }

    main.about .section3:after {
        width: 80%;
        transform: translate3d(-42.2%, 0, 0)
    }

    main.about .section3 .child {
        padding-bottom: 17.6vw
    }

    main.about .section3 .child h2 {
        position: relative;
        left: 50%
    }

    main.about .section3 .child h2 .sub_txt {
        position: absolute;
        left: 11.3vw
    }

    main.about .section3 .child h2 .sub_txt img {
        width: 3.31665vw;
        height: 3.50438vw
    }

    main.about .section3 .child h2 .txt {
        font-size: 1.50188vw;
        margin-left: -.8vw;
        line-height: 2;
        letter-spacing: .05em;
        display: inline-block
    }

    main.about .section3 .child h2 .txt:before {
        content: "";
        width: 1px;
        height: 8.9vw;
        background-color: #2c1b1e;
        display: inline-block;
        position: absolute;
        top: -10.6vw;
        left: 3.7vw
    }

    main.about .section3 .child .copy {
        font-size: 1.2rem;
        left: 50%;
        top: 28.9vw
    }

    main.about .section3 .child .copy span {
        position: relative;
        left: -3.2vw;
        top: 4.5vw
    }

    main.about .section4 {
        margin-top: 16.6vw;
        margin-bottom: 11.3vw
    }

    main.about .section4:hover .child .imgs .img1 {
        opacity: 1;
        transform: scale(1)
    }

    main.about .section4:hover .child h2 {
        color: #fff
    }

    main.about .section4:hover .child h2 .sub_txt:before {
        background-color: #fff
    }

    main.about .section4:hover .child .attention {
        color: #fff
    }

    main.about .section4 .child .imgs {
        position: absolute;
        display: block;
        margin-top: -6.6vw;
        width: 87vw;
        left: 50%;
        transform: translate3d(-42.2%, 0, 0);
        top: 0;
        overflow: hidden
    }

    main.about .section4 .child .imgs .img1 {
        opacity: 0;
        transition: transform 1.2s, opacity 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transform: scale(1.05)
    }

    main.about .section4 .child .imgs .img1 img {
        width: 102%
    }

    main.about .section4 .child h2 {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end;
        position: relative;
        left: 19.8vw;
        top: 2.2vw
    }

    main.about .section4 .child h2 .sub_txt {
        font-size: 1.12641vw;
        position: relative;
        top: .45vw;
        letter-spacing: .3em
    }

    main.about .section4 .child h2 .sub_txt.show:before {
        width: 9.5vw;
        transition: width 1.5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.about .section4 .child h2 .sub_txt:before {
        content: "";
        width: 9.5vw;
        top: -.4vw;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.9vw;
        margin-right: 1vw
    }

    main.about .section4 .child h2 .txt {
        font-size: 4.06758vw;
        letter-spacing: .06em
    }

    main.about .section4 .child .attention {
        position: absolute;
        top: 3.1vw;
        left: 50%;
        margin-left: 23.9vw;
        font-size: .98836vw
    }
}

@media screen and (max-width:1023px) {
    main.about .section .child h2 .txt {
        font-size: 13.33333vw
    }

    main.about .section1 .child {
        display: flex;
        flex-direction: column
    }

    main.about .section1 .child h1 {
        margin-top: 35.6vw;
        left: 50%;
        margin-left: -44vw;
        letter-spacing: -.3em;
        order: 0
    }

    main.about .section1 .child h1 .sub_txt {
        font-size: 2.4vw;
        top: 16vw;
        left: 0;
        letter-spacing: .2em;
        display: block;
        position: absolute;
        font-weight: 400;
        opacity: 0;
        transition: opacity 1.3s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        transition-delay: .2s
    }

    main.about .section1 .child h1 .sub_txt.show {
        opacity: 1
    }

    main.about .section1 .child h1 .sub_txt.show:before {
        width: 3.1vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.about .section1 .child h1 .sub_txt:before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw
    }

    main.about .section1 .child h1 .sub_txt:before {
        top: -.3vw;
        margin-right: 1.5vw
    }

    main.about .section1 .child h1 .txt {
        font-size: 16vw;
        letter-spacing: -.06em
    }

    main.about .section1 .child .video {
        left: 7vw;
        margin-top: 34vw;
        order: 1
    }

    main.about .section1 .child .video video,
    main.about .section1 .child .video .imgs img {
        width: 150vw
    }

    /*main.about .section1 .child .video img {
        left: 46.8vw;
        top: 54%
    }

    main.about .section1 .child .video img.play_circle {
        width: 20.93333vw;
        height: 20.66667vw
    }

    main.about .section1 .child .video img.play {
        width: 2.26667vw;
        height: 2.8vw
    }

    main.about .section1 .child .video:hover img.play_circle {
        margin-left: -10.4vw;
        margin-top: -10.4vw
    }*/

    main.about .section1 .child h3 {
        font-size: 6.66667vw;
        order: 2;
        margin-top: 27vw;
        left: 50%;
        margin-left: -7vw;
        letter-spacing: .25em
    }

    main.about .section1 .child .copy {
        display: none
    }

    main.about .section1 .child .imgs {
        order: 3;
        margin-top: 20.5vw
    }

    main.about .section1 .child .imgs .img1 {
        display: none
    }

    main.about .section1 .child .imgs .img2 {
        width: 100%
    }

    main.about .section1 .child .imgs .img3 {
        position: relative;
        margin-top: 162.5vw;
        width: 87vw;
        left: 6.2vw
    }

    main.about .section1 .child .paras {
        order: 4;
        top: 500vw;
        left: 7vw;
        font-size: 3.73333vw
    }

    main.about .section1 .child .paras p {
        margin-bottom: 9.2vw
    }

    main.about .section2 {
        padding-top: 36vw
    }

    main.about .section2 .child h2 {
        left: 0
    }

    main.about .section2 .child h2 .sub_txt {
        font-size: 3.46667vw;
        letter-spacing: .03em
    }

    main.about .section2 .child h2 .sub_txt:after {
        width: 0;
        width: 9.5vw;
        margin-left: 2.2vw
    }

    main.about .section2 .child h2 .txt {
        font-size: 9.66667vw;
        margin-top: 1vw;
        line-height: 1.25;
        letter-spacing: .04em
    }

    main.about .section2 .child>p,main.about .section2 .child .item>p {
        font-size: 3.2vw;
        position: relative;
        left: 7vw;
        margin-top: 6vw;
        width: 86vw;
        letter-spacing: .04em
    }

    main.about .section2 .child .contents_nav_sp {
        margin: 9.2vw auto 5vw;
        width: 87vw
    }

    main.about .section2 .child .contents_nav_sp ul {
        font-size: 3.73333vw;
        padding: 6.8vw 6.8vw 0
    }

    main.about .section2 .child .contents_nav_sp ul li {
        margin-bottom: 5vw;
        letter-spacing: .05em;
        position: relative;
        cursor: pointer
    }

    main.about .section2 .child .contents_nav_sp ul li:before {
        content: "";
        background-color: #ebedf0;
        display: inline-block;
        position: absolute;
        top: 7vw;
        left: 0;
        width: 100%;
        height: 1px
    }

    main.about .section2 .child .contents_nav_sp ul li:after {
        content: "";
        position: absolute;
        top: 4vw;
        right: 0;
        background: url(../image/arrow.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 5.86667vw;
        height: 3.2vw;
        display: inline-block
    }

    main.about .section2 .child .child_section {
        margin-top: 8.5vw;
        margin-bottom: 27.5vw
    }

    main.about .section2 .child .child_section h3 {
        position: relative;
        top: 36.4vw;
        left: 5.4vw;
        font-size: 5.33333vw;
        letter-spacing: .6em;
        opacity: 0;
    }

    main.about .section2 .child .child_section h3:before {
        content: "";
        width: 1px;
        height: 20vw;
        background-color: #2c1b1e;
        display: inline-block;
        position: absolute;
        top: -23.4vw;
        left: 5.4vw
    }

    main.about .section2 .child .child_section .big_img {
        width: 100vw;
        left: 21.5vw;
        margin-top: -23vw
    }

    main.about .section2 .child .child_section .big_img .tit_en {
        font-size: 2.66667vw;
        top: 63vw;
        left: -8vw;
        letter-spacing: .048em
    }

    main.about .section2 .child .child_section .big_img p {
        font-size: 3.2vw;
        margin-top: 2vw;
        width: 72vw;
        letter-spacing: .06em
    }

    main.about .section2 .child .child_section ul {
        margin-top: 25vw
    }

    main.about .section2 .child .child_section ul li {
        left: 8.5vw;
        margin-bottom: 13vw
    }

    main.about .section2 .child .child_section ul li .num {
        font-size: 23.6vw;
        top: -27vw
    }

    main.about .section2 .child .child_section ul li .tit {
        font-size: 5.33333vw;
        width: 11.5vw;
        position: relative;
        top: 10vw;
        letter-spacing: .15em
    }

    main.about .section2 .child .child_section ul li .img {
        margin-left: 1.5vw;
        width: 67vw
    }

    main.about .section2 .child .child_section ul li .img img {
        width: 100%
    }

    main.about .section2 .child .child_section ul li .txt {
        font-size: 3.2vw;
        margin-top: 1.4vw
    }

    main.about .section2 .child .child_section:nth-of-type(2) h3 {
        left: 83.7vw
    }

    main.about .section2 .child .child_section:nth-of-type(2) .big_img {
        left: -22vw
    }

    main.about .section2 .child .child_section:nth-of-type(2) .big_img .tit_en {
        left: 113.5vw;
        white-space: nowrap
    }

    main.about .section2 .child .child_section:nth-of-type(2) .big_img p {
        position: relative;
        left: 29vw
    }

    main.about .section2 .child .child_section:nth-of-type(3) h3 {
        top: 44.4vw
    }

    main.about .section2 .child .child_section:nth-of-type(3) .big_img .tit_en {
        top: 71vw
    }

    main.about .section3 {
        padding-top: 37vw
    }

    main.about .section3:after {
        width: 86%;
        transform: translate3d(-50%, 0, 0)
    }

    main.about .section3 .child {
        padding-bottom: 35vw
    }

    main.about .section3 .child h2 {
        position: relative;
        left: 50%
    }

    main.about .section3 .child h2 .sub_txt {
        position: absolute;
        left: 21.5vw
    }

    main.about .section3 .child h2 .sub_txt img {
        width: 9.06667vw
    }

    main.about .section3 .child h2 .txt {
        font-size: 5.33333vw;
        margin-left: -.8vw;
        line-height: 2;
        letter-spacing: .05em;
        position: relative;
        left: -15.7vw;
        top: -1vw
    }

    main.about .section3 .child h2 .txt:before {
        content: "";
        width: 1px;
        height: 19.5vw;
        background-color: #2c1b1e;
        display: inline-block;
        position: absolute;
        top: -25vw;
        left: 16.7vw
    }

    main.about .section3 .child .copy {
        font-size: 1.2rem;
        left: 50%;
        margin-left: -19.2vw;
        top: 72.7vw;
        position: absolute;
        line-height: 1.7;
        letter-spacing: -.05em
    }

    main.about .section3 .child .copy span {
        position: relative
    }

    main.about .section4 {
        margin-top: 18.9vw
    }

    main.about .section4 .child {
        width: 86vw;
        margin: 0 auto
    }

    main.about .section4 h2 .sub_txt {
        font-size: 2.93333vw;
        letter-spacing: .3em
    }

    main.about .section4 h2 .sub_txt.show:after {
        transition: width 1.5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        width: 20vw
    }

    main.about .section4 h2 .sub_txt:after {
        content: "";
        width: 20vw;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.6vw;
        top: -1.2vw
    }

    main.about .section4 h2 .txt {
        top: 1vw;
        position: relative
    }

    main.about .section4 .attention {
        margin-top: 2.1vw;
        margin-bottom: 18.1vw;
        line-height: 2.1
    }
}

main.hotels .section1:after {
    content: "";
    height: 1px;
    background-color: #ebedf0;
    display: block
}

main.hotels .section1 .child h1 {
    position: relative
}

main.hotels .section1 .child h1 .sub_txt {
    display: block;
    position: absolute;
    font-weight: 400;
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .2s
}

main.hotels .section1 .child h1 .sub_txt.show {
    opacity: 1
}

main.hotels .section1 .child h1 .sub_txt.show:before {
    width: 9.4vw;
    transition: width 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels .section1 .child h1 .sub_txt:before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.2vw
}

main.hotels .section1 .child h1 .txt {
    display: block;
    line-height: .95;
    font-weight: 400
}

main.hotels .section1 .child h1 .txt.show span {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.hotels .section1 .child h1 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(60px, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels .section1 .child h1 .txt span:nth-child(1) {
    transition-delay: 0s
}

main.hotels .section1 .child h1 .txt span:nth-child(2) {
    transition-delay: 90ms
}

main.hotels .section1 .child h1 .txt span:nth-child(3) {
    transition-delay: .18s
}

main.hotels .section1 .child h1 .txt span:nth-child(4) {
    transition-delay: .27s
}

main.hotels .section1 .child h1 .txt span:nth-child(5) {
    transition-delay: .36s
}

main.hotels .section1 .child h1 .txt span:nth-child(6) {
    transition-delay: .45s
}

main.hotels .section1 .child h1 .txt span:nth-child(7) {
    transition-delay: .54s
}

main.hotels .section1 .child h1 .txt span:nth-child(8) {
    transition-delay: .63s
}

main.hotels .section1 .child h1 .txt span:nth-child(9) {
    transition-delay: .72s
}

main.hotels .section1 .child h1 .txt span:nth-child(10) {
    transition-delay: .81s
}

main.hotels .section1 .child h1 .txt span:nth-child(11) {
    transition-delay: .9s
}

main.hotels .section1 .child h1 .txt span:nth-child(12) {
    transition-delay: .99s
}

main.hotels .section1 .child h1 .txt span:nth-child(13) {
    transition-delay: 1.08s
}

main.hotels .section1 .child h1 .txt span:nth-child(14) {
    transition-delay: 1.17s
}

main.hotels .section1 .child .list .items ul li.item:hover .btn:after {
    background-color: #e72420
}

main.hotels .section1 .child .list .items ul li.item:hover .btn span {
    color: #e72420
}

main.hotels .section1 .child .list .items ul li.item .btn:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .3s
}

main.hotels .section1 .child .list .items ul li.item .btn span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(1) {
    transition-delay: 25ms
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(2) {
    transition-delay: 50ms
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(3) {
    transition-delay: 75ms
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(4) {
    transition-delay: .1s
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(5) {
    transition-delay: 125ms
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(6) {
    transition-delay: .15s
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(7) {
    transition-delay: 175ms
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(8) {
    transition-delay: .2s
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(9) {
    transition-delay: 225ms
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(10) {
    transition-delay: .25s
}

main.hotels .section1 .child .list .items ul li.item .btn span:nth-child(11) {
    transition-delay: 275ms
}

main.hotels .section1 .child .list .items ul li.item .hotels_tit .area {
    background-color: #000;
    color: #fff;
    font-size: 1rem;
    letter-spacing: .2em
}

main.hotels .section1 .child .list .items ul li.item .hotels_tit .name {
    position: relative;
    letter-spacing: .3em
}

main.hotels .section1 .child .list .items ul li.item .location,
main.hotels .section1 .child .list .items ul li.item .price {
    font-weight: 600;
    letter-spacing: .1em
}

main.hotels .section1 .child .list .items ul li.item img {
    width: 100%
}

main.hotels .section1 .child .list .items .plus {
    display: none
}

main.hotels .section1 .child .pagenation {
    font-weight: 600
}

main.hotels .section1 .child .pagenation .child {
    position: relative
}

main.hotels .section1 .child .pagenation .child .next,
main.hotels .section1 .child .pagenation .child .prev {
    position: absolute
}

main.hotels .section1 .child .pagenation .child .prev {
    z-index: 1;
    left: 0;
    top: 0;
    color: #969ba0
}

main.hotels .section1 .child .pagenation .child .prev a:hover:after {
    background-color: #e72420
}

main.hotels .section1 .child .pagenation .child .prev a:hover span {
    color: #e72420 !important
}

main.hotels .section1 .child .pagenation .child .prev a:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .1s
}

main.hotels .section1 .child .pagenation .child .prev a span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels .section1 .child .pagenation .child .prev a span:nth-child(1) {
    transition-delay: 25ms
}

main.hotels .section1 .child .pagenation .child .prev a span:nth-child(2) {
    transition-delay: 50ms
}

main.hotels .section1 .child .pagenation .child .prev a span:nth-child(3) {
    transition-delay: 75ms
}

main.hotels .section1 .child .pagenation .child .prev a:hover {
    border-bottom: 1px solid #e72420
}

main.hotels .section1 .child .pagenation .child .prev:hover:before {
    border-top: solid 2px #e72420;
    border-right: solid 2px #e72420
}

main.hotels .section1 .child .pagenation .child .prev.off:before {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.hotels .section1 .child .pagenation .child .prev:before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(-135deg);
    position: relative;
    top: 50%;
    left: 0;
    margin-top: -4px;
    display: inline-block;
    margin-right: 18px;
    transition: border .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .2s
}

main.hotels .section1 .child .pagenation .child .next {
    z-index: 2;
    right: 0;
    top: 0;
    color: #969ba0
}

main.hotels .section1 .child .pagenation .child .next a:hover:after {
    background-color: #e72420
}

main.hotels .section1 .child .pagenation .child .next a:hover span {
    color: #e72420 !important
}

main.hotels .section1 .child .pagenation .child .next a:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: 125ms
}

main.hotels .section1 .child .pagenation .child .next a span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels .section1 .child .pagenation .child .next a span:nth-child(1) {
    transition-delay: 25ms
}

main.hotels .section1 .child .pagenation .child .next a span:nth-child(2) {
    transition-delay: 50ms
}

main.hotels .section1 .child .pagenation .child .next a span:nth-child(3) {
    transition-delay: 75ms
}

main.hotels .section1 .child .pagenation .child .next a span:nth-child(4) {
    transition-delay: .1s
}

main.hotels .section1 .child .pagenation .child .next a:hover {
    border-bottom: 1px solid #e72420
}

main.hotels .section1 .child .pagenation .child .next:hover:after {
    border-top: solid 2px #e72420;
    border-right: solid 2px #e72420
}

main.hotels .section1 .child .pagenation .child .next.off:after {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.hotels .section1 .child .pagenation .child .next:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(45deg);
    position: relative;
    top: 50%;
    left: 0;
    margin-top: -4px;
    display: inline-block;
    margin-left: 14px;
    transition: border .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .2s
}

main.hotels .section1 .child .pagenation .child ul {
    display: flex;
    position: relative;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    justify-content: center
}

main.hotels .section1 .child .pagenation .child ul li {
    font-weight: 400
}

main.hotels .section1 .child .pagenation .child ul li a {
    color: #969ba0
}

main.hotels .section1 .child .pagenation .child ul li a:hover {
    color: #e72420;
    border-bottom: 1px solid #e72420
}

main.hotels .section1 .child .pagenation .child ul li.current a {
    color: #2c1b1e;
    border-bottom: 1px solid #2c1b1e
}

main.hotels .section2 .child h2 .txt {
    font-weight: 400
}

main.hotels .section2 .child .imgs {
    display: none
}

@media screen and (min-width:1024px) {
    main.hotels .section1:after {
        position: absolute;
        left: 50%
    }

    main.hotels .section1:after {
        width: 80%;
        transform: translate3d(-42.2%, 0, 0)
    }

    main.hotels .section1 .child {
        padding-bottom: 8.2vw
    }

    main.hotels .section1 .child h1 {
        margin-top: 9.4vw;
        left: 50%;
        margin-left: -34vw;
        letter-spacing: -.3em
    }

    main.hotels .section1 .child h1 .sub_txt {
        font-size: 1.12641vw;
        left: 18.8vw;
        top: 10.5vw;
        letter-spacing: .3em
    }

    main.hotels .section1 .child h1 .sub_txt:before {
        margin-right: 1.2vw;
        top: -6px
    }

    main.hotels .section1 .child h1 .txt {
        letter-spacing: -.07em;
        font-size: 7.50939vw
    }

    main.hotels .section1 .child .list {
        width: 68vw;
        margin: 11vw auto 0;
        display: flex
    }

    main.hotels .section1 .child .list h2 {
        display: none
    }

    main.hotels .section1 .child .list .contents_nav {
        width: 12vw;
        padding-left: .3vw;
        margin-right: 4.3vw
    }

    main.hotels .section1 .child .list .contents_nav h3 {
        font-size: .68836vw;
        font-weight: 400;
        padding-top: 2px;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels .section1 .child .list .contents_nav ul {
        font-size: 1.00125vw;
        margin-top: 2vw;
        font-weight: 600;
        padding-bottom: .8vw;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels .section1 .child .list .contents_nav ul li {
        padding-left: .6vw;
        letter-spacing: .3em;
        margin-bottom: 1vw
    }

    main.hotels .section1 .child .list .contents_nav ul li:hover:after {
        background-color: #e72420
    }

    main.hotels .section1 .child .list .contents_nav ul li:hover span {
        color: #e72420 !important
    }

    main.hotels .section1 .child .list .contents_nav ul li:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .1s
    }

    main.hotels .section1 .child .list .contents_nav ul li span {
        color: #969ba0;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels .section1 .child .list .contents_nav ul li span:nth-child(1) {
        transition-delay: 25ms
    }

    main.hotels .section1 .child .list .contents_nav ul li span:nth-child(2) {
        transition-delay: 50ms
    }

    main.hotels .section1 .child .list .contents_nav ul li span:nth-child(3) {
        transition-delay: 75ms
    }

    main.hotels .section1 .child .list .contents_nav ul li a {
        position: relative
    }

    main.hotels .section1 .child .list .contents_nav ul li a span {
        color: #969ba0
    }

    main.hotels .section1 .child .list .contents_nav ul li a:after {
        content: "";
        width: 100%;
        height: 1px;
        display: inline-block;
        position: absolute;
        top: 1.2vw;
        left: 0;
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .1s
    }

    main.hotels .section1 .child .list .contents_nav ul li:hover a:after {
        background-color: #e72420 !important
    }

    main.hotels .section1 .child .list .contents_nav ul li.current a span {
        color: #2c1b1e
    }

    main.hotels .section1 .child .list .contents_nav ul li.current a:after {
        background-color: #2c1b1e
    }

    main.hotels .section1 .child .list .items {
        width: 69vw;
        position: relative
    }

    main.hotels .section1 .child .list .items h3 {
        font-size: .68836vw;
        font-weight: 400;
        padding-top: 2px;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels .section1 .child .list .items ul {
        display: flex;
        flex-wrap: wrap;
        margin-top: 2.6vw
    }

    main.hotels .section1 .child .list .items ul li.item {
        width: 30.33%;
        padding-right: 4.4%;
        margin-bottom: 5.5vw
    }

    main.hotels .section1 .child .list .items ul li.item .hotels_tit {
        margin-top: 1.1vw;
        padding-bottom: 2vw;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels .section1 .child .list .items ul li.item .hotels_tit .area {
        padding: 6px 13px;
        font-weight: 600
    }

    main.hotels .section1 .child .list .items ul li.item .hotels_tit .name {
        font-size: 1.37672vw;
        margin-left: 1.5vw;
        top: .2vw
    }

    main.hotels .section1 .child .list .items ul li.item .location {
        margin-top: .9vw
    }

    main.hotels .section1 .child .list .items ul li.item .location .head {
        width: 70px;
        display: inline-block
    }

    main.hotels .section1 .child .list .items ul li.item .location .cont {
        font-size: .75094vw
    }

    main.hotels .section1 .child .list .items ul li.item .price {
        padding-bottom: .8vw;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels .section1 .child .list .items ul li.item .price .head {
        width: 70px;
        display: inline-block
    }

    main.hotels .section1 .child .list .items ul li.item .price .cont {
        font-size: .75094vw
    }

    main.hotels .section1 .child .list .items ul li.item .txt {
        font-size: .8761vw;
        margin-top: 1.5vw;
        letter-spacing: .07em;
        line-height: 1.8
    }

    main.hotels .section1 .child .list .items ul li.item .btn {
        font-size: 1.12641vw;
        margin-top: .7vw
    }

    main.hotels .section1 .child .list .items ul li.item:nth-child(3n) {
        padding-right: 0
    }

    main.hotels .section1 .child .list .items .plus {
        position: absolute;
        top: 0;
        display: block;
        opacity: 0;
        transition: opacity .5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        pointer-events: none
    }

    main.hotels .section1 .child .list .items .plus img {
        margin-left: -25px;
        margin-top: -25px
    }

    main.hotels .section1 .child .list .items .plus.show {
        opacity: 1
    }

    main.hotels .section1 .child .pagenation {
        width: 68vw;
        margin: -.5vw auto 0
    }

    main.hotels .section1 .child .pagenation .child {
        margin-left: 14.2vw;
        width: 53.5vw
    }

    main.hotels .section1 .child .pagenation .child .prev {
        font-size: 1.6rem
    }

    main.hotels .section1 .child .pagenation .child .next {
        font-size: 1.6rem
    }

    main.hotels .section1 .child .pagenation .child ul {
        font-size: 1.4rem
    }

    main.hotels .section1 .child .pagenation .child ul li {
        margin-left: 1vw;
        margin-right: 1vw
    }

    main.hotels .section2 {
        margin-top: 6.6vw;
        margin-bottom: 7.1vw;
        position: relative
    }

    main.hotels .section2:hover .child .imgs .img1 {
        opacity: 1;
        transform: scale(1)
    }

    main.hotels .section2:hover .child h2 {
        color: #fff
    }

    main.hotels .section2:hover .child h2 .sub_txt:before {
        background-color: #fff
    }

    main.hotels .section2:hover .child .attention {
        color: #fff
    }

    main.hotels .section2 .child .imgs {
        position: absolute;
        display: block;
        margin-top: -6.6vw;
        width: 87vw;
        left: 50%;
        transform: translate3d(-42.2%, 0, 0);
        top: 0;
        overflow: hidden
    }

    main.hotels .section2 .child .imgs .img1 {
        opacity: 0;
        transition: transform 1.2s, opacity 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transform: scale(1.05)
    }

    main.hotels .section2 .child .imgs .img1 img {
        width: 102%
    }

    main.hotels .section2 .child h2 {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end;
        position: relative;
        left: 19.8vw
    }

    main.hotels .section2 .child h2 .sub_txt {
        font-size: 1.12641vw;
        position: relative;
        top: .45vw;
        letter-spacing: .3em
    }

    main.hotels .section2 .child h2 .sub_txt.show:before {
        width: 9.5vw;
        transition: width 1.5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels .section2 .child h2 .sub_txt:before {
        content: "";
        width: 9.5vw;
        top: -.3vw;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.9vw;
        margin-right: 1vw
    }

    main.hotels .section2 .child h2 .txt {
        font-size: 4.06758vw;
        letter-spacing: .065em
    }

    main.hotels .section2 .child .attention {
        position: absolute;
        top: 3vw;
        left: 50%;
        margin-left: 23.9vw;
        font-size: .68836vw
    }
}

@media screen and (max-width:1023px) {
    main.hotels .section1:after {
        width: 86vw;
        position: relative;
        margin: 40vw auto 0
    }

    main.hotels .section1 .child h1 {
        padding-top: 35.6vw;
        left: 50%;
        margin-left: -44vw;
        letter-spacing: -.3em;
        order: 0
    }

    main.hotels .section1 .child h1 .sub_txt {
        font-size: 2.4vw;
        top: 52.6vw;
        left: 0;
        letter-spacing: .2em;
        display: block;
        position: absolute;
        font-weight: 400;
        opacity: 0;
        transition: opacity 1.3s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        transition-delay: .2s
    }

    main.hotels .section1 .child h1 .sub_txt.show {
        opacity: 1
    }

    main.hotels .section1 .child h1 .sub_txt.show:before {
        width: 3.1vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels .section1 .child h1 .sub_txt:before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw
    }

    main.hotels .section1 .child h1 .sub_txt:before {
        top: -.3vw;
        margin-right: 1.5vw
    }

    main.hotels .section1 .child h1 .txt {
        font-size: 16vw
    }

    main.hotels .section1 .child .list {
        width: 87vw;
        margin: 26.6vw auto 0
    }

    main.hotels .section1 .child .list h2 {
        font-size: 3.73333vw;
        border-bottom: 1px solid #ebedf0;
        padding-bottom: 1.8vw;
        font-weight: 400
    }

    main.hotels .section1 .child .list .contents_nav {
        display: none
    }

    main.hotels .section1 .child .list .items {
        padding-bottom: 10vw;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels .section1 .child .list .items h3 {
        display: none
    }

    main.hotels .section1 .child .list .items ul {
        margin-top: 8vw
    }

    main.hotels .section1 .child .list .items ul li.item {
        margin-bottom: 14vw
    }

    main.hotels .section1 .child .list .items ul li.item:nth-last-child(1) {
        margin-bottom: 0
    }

    main.hotels .section1 .child .list .items ul li.item .hotels_tit {
        margin-top: 1.4vw;
        border-bottom: 1px solid #ebedf0;
        padding-bottom: 5.3vw
    }

    main.hotels .section1 .child .list .items ul li.item .hotels_tit .area {
        padding: 6px 15px 6px
    }

    main.hotels .section1 .child .list .items ul li.item .hotels_tit .name {
        font-size: 5.33333vw;
        margin-left: 6.5vw;
        top: 1.2vw
    }

    main.hotels .section1 .child .list .items ul li.item .location {
        display: inline-block;
        margin-top: 4.3vw;
        font-size: 1rem
    }

    main.hotels .section1 .child .list .items ul li.item .location .cont {
        margin-left: 3vw
    }

    main.hotels .section1 .child .list .items ul li.item .price {
        display: inline-block;
        font-size: 1rem;
        margin-left: 3vw
    }

    main.hotels .section1 .child .list .items ul li.item .price .cont {
        margin-left: 3vw
    }

    main.hotels .section1 .child .list .items ul li.item .txt {
        border-top: 1px solid #ebedf0;
        padding-top: 5vw;
        margin-top: 4vw;
        font-size: 3.2vw;
        letter-spacing: .065em
    }

    main.hotels .section1 .child .list .items ul li.item .btn {
        position: relative;
        border: 1px solid #ebedf0;
        padding: 2vw 4.7vw 2vw 4.6vw;
        text-align: center;
        font-size: 4vw;
        width: 33.8vw;
        margin-top: 6vw
    }

    main.hotels .section1 .child .list .items ul li.item .btn:after {
        position: absolute;
        right: 0;
        top: 5.6vw
    }

    main.hotels .section1 .child .pagenation {
        width: 87vw;
        margin: 7.8vw auto 0
    }

    main.hotels .section1 .child .pagenation .child .prev {
        font-size: 4vw
    }

    main.hotels .section1 .child .pagenation .child .prev:before {
        border-width: 1px;
        margin-right: 9px
    }

    main.hotels .section1 .child .pagenation .child .next {
        font-size: 4vw
    }

    main.hotels .section1 .child .pagenation .child .next:after {
        border-width: 1px;
        margin-left: 7px
    }

    main.hotels .section1 .child .pagenation .child ul {
        font-size: 3.46667vw;
        top: .9vw
    }

    main.hotels .section1 .child .pagenation .child ul li {
        margin-left: 2.3vw;
        margin-right: 2.3vw
    }

    main.hotels .section2 {
        margin-top: 18.9vw
    }

    main.hotels .section2 .child {
        width: 86vw;
        margin: 0 auto
    }

    main.hotels .section2 h2 .sub_txt {
        display: block;
        font-size: 2.93333vw;
        letter-spacing: .3em
    }

    main.hotels .section2 h2 .sub_txt.show:after {
        transition: width 1.5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        width: 20vw
    }

    main.hotels .section2 h2 .sub_txt:after {
        content: "";
        width: 20vw;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.6vw;
        top: -1.2vw
    }

    main.hotels .section2 h2 .txt {
        display: block;
        font-size: 13.33333vw;
        margin-top: -6vw;
        position: relative
    }

    main.hotels .section2 h2 .txt .space {
        width: 10px
    }

    main.hotels .section2 .attention {
        margin-top: -4.9vw;
        margin-bottom: 18.1vw;
        line-height: 2.1;
        font-size: 2.66667vw
    }
}

@keyframes run_line2 {
    0% {
        width: 0
    }

    100% {
        width: 45.5vw
    }
}

main.hotels_detail .section {
    position: relative
}

main.hotels_detail .section.common1 .child h2 {
    position: relative;
    color: #969ba0;
    font-weight: 100
}

main.hotels_detail .section1 .child h1 .sub_txt {
    color: #969ba0
}

main.hotels_detail .section1 .child .img {
    position: relative
}

main.hotels_detail .section2 .child h2 {
    z-index: 1
}

main.hotels_detail .section2 .child>.img {
    overflow: hidden
}

main.hotels_detail .section2 .child>.img img {
    position: relative
}

main.hotels_detail .section2 .child ul li {
    display: flex
}

main.hotels_detail .section2 .child ul li .left .tit {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

main.hotels_detail .section2 .child ul li .left .sub_tit {
    transform-origin: bottom left;
    transform: rotate(90deg);
    display: inline-block;
    white-space: nowrap;
    color: #969ba0
}

main.hotels_detail .section2 .child ul li .right .img img {
    width: 100%
}

main.hotels_detail .section3 .child h2 {
    z-index: 1
}

main.hotels_detail .section3 .child>.img {
    overflow: hidden
}

main.hotels_detail .section3 .child>.img img {
    position: relative
}

main.hotels_detail .section3 .child ul {
    display: flex;
    position: relative
}

main.hotels_detail .section3 .child ul li {
    display: flex;
    position: absolute
}

main.hotels_detail .section3 .child ul li.no_touch.add_transition {
    transition: left .7s, transform .7s;
    transition-timing-function: cubic-bezier(.455, .03, .515, .955)
}

main.hotels_detail .section3 .child ul li:first-of-type {
    position: relative
}

main.hotels_detail .section3 .child ul li .tit span {
    transform-origin: top left;
    transform: rotate(90deg);
    display: inline-block;
    white-space: nowrap
}

main.hotels_detail .section3.over .arrow .a {
    opacity: 1
}

main.hotels_detail .section4 .child h2 {
    z-index: 1
}

main.hotels_detail .section4 .child>.img {
    overflow: hidden
}

main.hotels_detail .section4 .child>.img img {
    position: relative
}

main.hotels_detail .section4 .child ul {
    display: flex;
    position: relative
}

main.hotels_detail .section4 .child ul li {
    display: flex;
    position: absolute
}

main.hotels_detail .section4 .child ul li.no_touch.add_transition {
    transition: left .7s, transform .7s;
    transition-timing-function: cubic-bezier(.455, .03, .515, .955)
}

main.hotels_detail .section4 .child ul li:first-of-type {
    position: relative
}

main.hotels_detail .section4 .child ul li .tit span {
    transform-origin: top left;
    transform: rotate(90deg);
    display: inline-block;
    white-space: nowrap
}

main.hotels_detail .section4.over .arrow .a {
    opacity: 1
}

main.hotels_detail .section5 .child h2 {
    position: relative
}

main.hotels_detail .section5 .child h2 .sub_txt {
    display: block
}

main.hotels_detail .section5 .child h2 .txt {
    display: block
}

main.hotels_detail .section5 .child .upper {
    position: relative
}

main.hotels_detail .section5 .child .upper .img .img_child {
    top: 0;
    position: absolute
}

main.hotels_detail .section5 .child .upper .img .img_child:first-of-type {
    position: relative
}

main.hotels_detail .section5 .child .upper h3 {
    position: absolute
}

main.hotels_detail .section5 .child .upper h3 .sub_txt {
    position: relative
}

main.hotels_detail .section5 .child .upper h3 .sub_txt span {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 1s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

main.hotels_detail .section5 .child .upper h3 .sub_txt span:first-of-type {
    position: relative
}

main.hotels_detail .section5 .child .upper h3 .sub_txt span.current {
    opacity: 1
}

main.hotels_detail .section5 .child .upper h3 .txt {
    font-weight: 100
}

main.hotels_detail .section5 .child .upper .big_txt div {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 1s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

main.hotels_detail .section5 .child .upper .big_txt div:first-of-type {
    position: relative
}

main.hotels_detail .section5 .child .upper .big_txt div.current {
    opacity: 1
}

main.hotels_detail .section5 .child .upper>.txt div {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 1s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

main.hotels_detail .section5 .child .upper>.txt div:first-of-type {
    position: relative
}

main.hotels_detail .section5 .child .upper>.txt div.current {
    opacity: 1
}

main.hotels_detail .section5 .child .lower .items {
    display: flex
}

main.hotels_detail .section5 .child .lower .items .item.day {
    white-space: nowrap;
    font-family: nimbus-sans, sans-serif;
    font-weight: 100
}

main.hotels_detail .section5 .child .lower .items .item.day span {
    transform-origin: top left;
    transform: rotate(90deg);
    display: inline-block
}

main.hotels_detail .section5 .child .lower .items .item .txt {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

main.hotels_detail .section6 .child .food {
    position: relative
}

main.hotels_detail .section6 .child .food>ul {
    position: relative;
    display: flex;
    transition: height .6s;
    transition-timing-function: cubic-bezier(.645, .045, .355, 1)
}

main.hotels_detail .section6 .child .food>ul.default {
    height: auto !important
}

main.hotels_detail .section6 .child .food>ul.add_transition li {
    transition: transform .9s, left .9s;
    transition-timing-function: cubic-bezier(.645, .045, .355, 1)
}

main.hotels_detail .section6 .child .food>ul>li {
    position: absolute
}

main.hotels_detail .section6 .child .food>ul>li:first-of-type {
    position: relative
}

main.hotels_detail .section6 .child .food>ul>li h3 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

main.hotels_detail .section6 .child .food .next,
main.hotels_detail .section6 .child .food .prev {
    position: absolute;
    cursor: pointer
}

main.hotels_detail .section6 .child .food .next .label,
main.hotels_detail .section6 .child .food .prev .label {
    position: absolute
}

main.hotels_detail .section6 .child .food .next .label span,
main.hotels_detail .section6 .child .food .prev .label span {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap
}

main.hotels_detail .section6 .child .drink .left h3 {
    font-weight: 400
}

main.hotels_detail .section6 .child .drink .left h3 .sub_txt {
    color: #969ba0
}

main.hotels_detail .section6 .child .drink .right .head {
    color: #969ba0
}

main.hotels_detail .section7 .child .map .howto {
    border-top: 1px solid #ebedf0
}

main.hotels_detail .section7 .child .map .howto .case .item .head {
    color: #969ba0
}

main.hotels_detail .section8 .child .items .item h3 {
    font-weight: 400
}

main.hotels_detail .section8 .child .items .item h3 .sub_txt {
    color: #969ba0
}

main.hotels_detail .section8 .child .items .item .item_child .head {
    color: #969ba0
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li {
    position: relative
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a {
    background-color: #ebedf0;
    display: block
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a:hover .btn:after {
    background-color: #e72420
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a:hover .btn span {
    color: #e72420
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .4s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(1) {
    transition-delay: 25ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(2) {
    transition-delay: 50ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(3) {
    transition-delay: 75ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(4) {
    transition-delay: .1s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(5) {
    transition-delay: 125ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(6) {
    transition-delay: .15s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(7) {
    transition-delay: 175ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(8) {
    transition-delay: .2s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(9) {
    transition-delay: 225ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(10) {
    transition-delay: .25s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(11) {
    transition-delay: 275ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(12) {
    transition-delay: .3s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(13) {
    transition-delay: 325ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(14) {
    transition-delay: .35s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn span:nth-child(15) {
    transition-delay: 375ms
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a .btn:after {
    transition: background .2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .5s
}

main.hotels_detail .section8 .child .items .item .item_child .body ul li a:hover .btn:after {
    background: url(../image/external_red.svg);
    background-size: contain
}

main.hotels_detail .section8 .child .link .btn a:hover:after {
    background-color: #e72420
}

main.hotels_detail .section8 .child .link .btn a:hover span {
    color: #e72420 !important
}

main.hotels_detail .section8 .child .link .btn a:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .5s
}

main.hotels_detail .section8 .child .link .btn a span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(1) {
    transition-delay: 25ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(2) {
    transition-delay: 50ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(3) {
    transition-delay: 75ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(4) {
    transition-delay: .1s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(5) {
    transition-delay: 125ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(6) {
    transition-delay: .15s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(7) {
    transition-delay: 175ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(8) {
    transition-delay: .2s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(9) {
    transition-delay: 225ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(10) {
    transition-delay: .25s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(11) {
    transition-delay: 275ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(12) {
    transition-delay: .3s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(13) {
    transition-delay: 325ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(14) {
    transition-delay: .35s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(15) {
    transition-delay: 375ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(16) {
    transition-delay: .4s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(17) {
    transition-delay: 425ms
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(18) {
    transition-delay: .45s
}

main.hotels_detail .section8 .child .link .btn a span:nth-child(19) {
    transition-delay: 475ms
}

main.hotels_detail .section8 .child .link .btn a:hover:before {
    background: url(../image/to_list_red.svg);
    background-size: cover
}

main.hotels_detail .section8 .child .link .btn a:before {
    content: "";
    background: url(../image/to_list.svg);
    width: 10px;
    height: 10px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    margin-right: 10px
}

main.hotels_detail .section9 {
    margin-bottom: 7.2vw;
    position: relative
}

main.hotels_detail .section9 .child .imgs {
    display: none
}

main.hotels_detail .section9 .child h2 .sub_txt {
    font-size: 1.12641vw;
    position: relative;
    top: .7vw;
    letter-spacing: .3em
}

main.hotels_detail .section9 .child h2 .sub_txt.show:before {
    width: 9.5vw;
    transition: width 1.5s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.hotels_detail .section9 .child h2 .sub_txt:before {
    content: "";
    width: 9.5vw;
    top: -.4vw;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.9vw;
    margin-right: 1vw
}

main.hotels_detail .section9 .child h2 .txt {
    font-size: 4.06758vw;
    letter-spacing: .06em;
    font-weight: 400
}

@media screen and (min-width:1024px) {
    main.hotels_detail .section.common1 .child h2 {
        font-size: 9.38673vw
    }

    main.hotels_detail .section .child h2 .sub_txt:after {
        content: "";
        width: 4.5vw;
        height: 1px;
        display: inline-block;
        background-color: #2c1b1e;
        margin-left: 1vw;
        position: relative;
        top: -.2vw
    }

    main.hotels_detail .section .child h2 .txt {
        position: relative;
        top: -.3vw
    }

    main.hotels_detail .section .child h2 .txt .space {
        width: 20px
    }

    main.hotels_detail .section1 .child h1 {
        position: absolute;
        top: 16vw;
        left: 50vw;
        margin-left: -30.8vw
    }

    main.hotels_detail .section1 .child h1 .sub_txt {
        left: 10.1vw;
        top: .4vw;
        position: absolute;
        white-space: nowrap;
        font-size: 1.12641vw
    }

    main.hotels_detail .section1 .child h1 .sub_txt .ja {
        transform-origin: top left;
        transform: rotate(90deg);
        display: inline-block;
        letter-spacing: -.03em
    }

    main.hotels_detail .section1 .child h1 .sub_txt .en {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: absolute;
        left: -2.3vw;
        top: 9.1vw;
        font-size: .8761vw
    }

    main.hotels_detail .section1 .child h1 .sub_txt .en:before {
        content: "";
        height: 2.5vw;
        width: 1px;
        display: inline-block;
        background-color: #969ba0;
        margin-bottom: .5vw;
        margin-left: .2vw
    }

    main.hotels_detail .section1 .child h1 .txt {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 2.81602vw;
        letter-spacing: .07em
    }

    main.hotels_detail .section1 .child h1 .txt span {
        font-size: 4.38048vw
    }

    main.hotels_detail .section1 .child h1 .txt2 {
        position: absolute;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 1.25156vw;
        left: -1.5vw;
        top: .5vw;
        letter-spacing: .15em
    }

    main.hotels_detail .section1 .child .img {
        left: 34.4vw
    }

    main.hotels_detail .section1 .child .img img {
        width: 65.6vw
    }

    main.hotels_detail .section2 {
        padding-top: 11.7vw
    }

    main.hotels_detail .section2 .child h2 {
        left: 50vw;
        top: 0;
        margin-left: -14.3vw
    }

    main.hotels_detail .section2 .child>.img {
        margin-top: -8vw;
        width: 59.3vw
    }

    main.hotels_detail .section2 .child>.img img {
        width: 59.3vw
    }

    main.hotels_detail .section2 .child .copy {
        position: absolute;
        font-size: 1.50188vw;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        top: 30vw;
        left: 68.3vw;
        height: 27vw
    }

    main.hotels_detail .section2 .child ul {
        margin-top: 9.2vw;
        display: flex;
        width: 73.2vw;
        position: relative;
        left: 19.1vw
    }

    main.hotels_detail .section2 .child ul li {
        width: 30%;
        margin-right: 3%;
        position: relative
    }

    main.hotels_detail .section2 .child ul li .left {
        width: 3vw
    }

    main.hotels_detail .section2 .child ul li .left .tit {
        font-size: 1.37672vw;
        letter-spacing: .6em;
        display: inline-block
    }

    main.hotels_detail .section2 .child ul li .left .sub_tit {
        transform-origin: bottom left;
        transform: rotate(90deg);
        display: inline-block;
        white-space: nowrap;
        position: relative;
        top: -1.1vw;
        left: .8vw;
        font-size: .62578vw
    }

    main.hotels_detail .section2 .child ul li .right {
        width: 17vw
    }

    main.hotels_detail .section2 .child ul li .right .txt {
        width: 100%;
        font-size: .8761vw;
        margin-top: 1.6vw
    }

    main.hotels_detail .section3 {
        padding-top: 11.7vw
    }

    main.hotels_detail .section3 .child h2 {
        left: 50vw;
        top: 0;
        margin-left: -18.3vw
    }

    main.hotels_detail .section3 .child>.img {
        position: relative;
        margin-top: -7.7vw;
        left: 38.3vw;
        width: 61.7vw
    }

    main.hotels_detail .section3 .child>.img img {
        width: 61.7vw
    }

    main.hotels_detail .section3 .child .copy {
        position: absolute;
        font-size: 1.50188vw;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        top: 18vw;
        left: 21vw
    }

    main.hotels_detail .section3 .child .txt {
        position: absolute;
        font-size: .8761vw;
        width: 16vw;
        top: 51.5vw;
        left: 16.2vw
    }

    main.hotels_detail .section3 .child .ul_container {
        position: relative
    }

    main.hotels_detail .section3 .child ul {
        margin-top: 12vw;
        left: 19.4vw;
        width: 90vw
    }

    main.hotels_detail .section3 .child ul li {
        width: 40%;
        margin-right: 9.1vw
    }

    main.hotels_detail .section3 .child ul li .tit {
        width: .6vw
    }

    main.hotels_detail .section3 .child ul li .tit span {
        font-size: .75094vw
    }

    main.hotels_detail .section3 .child ul li .img img {
        width: 37.5vw
    }

    main.hotels_detail .section3 .child .ui .fraction {
        margin-top: 2vw;
        left: 80.2vw;
        position: relative;
        font-size: .62578vw
    }

    main.hotels_detail .section3 .child .ui .fraction .slash {
        display: inline-block;
        margin-left: 3px;
        margin-right: 3px
    }

    main.hotels_detail .section3 .child .ui .fraction .slash img {
        width: 20.5px;
        height: 12px
    }

    main.hotels_detail .section3 .arrow {
        position: absolute;
        top: 0;
        left: 0;
        pointer-events: none
    }

    main.hotels_detail .section3 .arrow.rotate .a {
        transform: rotate(180deg)
    }

    main.hotels_detail .section3 .arrow.plus .a {
        opacity: 0
    }

    main.hotels_detail .section3 .arrow.plus .p {
        opacity: 1
    }

    main.hotels_detail .section3 .arrow .a {
        opacity: 0;
        position: relative;
        left: -29px;
        top: -23px;
        transform-origin: center
    }

    main.hotels_detail .section3 .arrow .p {
        opacity: 0;
        position: absolute;
        top: -25px;
        left: -25px
    }

    main.hotels_detail .section4 {
        padding-top: 20vw
    }

    main.hotels_detail .section4 .child h2 {
        left: 50vw;
        top: 0;
        margin-left: -9.3vw
    }

    main.hotels_detail .section4 .child>.img {
        position: relative;
        margin-top: -8.3vw;
        width: 61.8vw
    }

    main.hotels_detail .section4 .child>.img img {
        width: 61.8vw
    }

    main.hotels_detail .section4 .child .copy {
        position: absolute;
        font-size: 1.50188vw;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        top: 26.1vw;
        left: 73vw;
        letter-spacing: .15em
    }

    main.hotels_detail .section4 .child .txt {
        position: absolute;
        font-size: .8761vw;
        width: 16vw;
        top: 59.7vw;
        left: 68vw;
        line-height: 2.5
    }

    main.hotels_detail .section4 .child .ul_container {
        position: relative
    }

    main.hotels_detail .section4 .child ul {
        margin-top: 12.1vw;
        left: 19.5vw;
        width: 90vw
    }

    main.hotels_detail .section4 .child ul li {
        width: 40%;
        margin-right: 9vw
    }

    main.hotels_detail .section4 .child ul li .tit {
        width: .5vw
    }

    main.hotels_detail .section4 .child ul li .tit span {
        font-size: .75094vw
    }

    main.hotels_detail .section4 .child ul li .img img {
        width: 37.5vw
    }

    main.hotels_detail .section4 .child .ui .fraction {
        margin-top: 1.8vw;
        left: 80.2vw;
        position: relative;
        font-size: .62578vw
    }

    main.hotels_detail .section4 .child .ui .fraction .slash {
        display: inline-block;
        margin-left: 3px;
        margin-right: 3px
    }

    main.hotels_detail .section4 .child .ui .fraction .slash img {
        width: 20.5px;
        height: 12px
    }

    main.hotels_detail .section4 .arrow {
        position: absolute;
        top: 0;
        left: 0;
        pointer-events: none
    }

    main.hotels_detail .section4 .arrow.rotate .a {
        transform: rotate(180deg)
    }

    main.hotels_detail .section4 .arrow.plus .a {
        opacity: 0
    }

    main.hotels_detail .section4 .arrow.plus .p {
        opacity: 1
    }

    main.hotels_detail .section4 .arrow .a {
        opacity: 0;
        position: relative;
        left: -29px;
        top: -23px;
        transform-origin: center
    }

    main.hotels_detail .section4 .arrow .p {
        opacity: 0;
        position: absolute;
        top: -25px;
        left: -25px
    }

    main.hotels_detail .section5 {
        padding-top: 17.6vw
    }

    main.hotels_detail .section5 .child h2 {
        left: 20vw
    }

    main.hotels_detail .section5 .child h2 .sub_txt {
        font-size: 1.25156vw
    }

    main.hotels_detail .section5 .child h2 .txt {
        font-size: 3.12891vw
    }

    main.hotels_detail .section5 .child .upper {
        color: #fff;
        margin-top: 1.4vw
    }

    main.hotels_detail .section5 .child .upper .img .img_child {
        width: 100vw;
        top: 0;
        left: 0;
        transform: translate3d(100vw, 0, 0);
        visibility: hidden
    }

    main.hotels_detail .section5 .child .upper .img .img_child:first-of-type {
        transform: translate3d(0, 0, 0);
        visibility: visible
    }

    main.hotels_detail .section5 .child .upper .img .img_child img {
        width: 100vw
    }

    main.hotels_detail .section5 .child .upper h3 {
        top: 4.3vw;
        left: 20vw;
        z-index: 10
    }

    main.hotels_detail .section5 .child .upper h3 .sub_txt {
        font-size: 1.25156vw;
        display: block
    }

    main.hotels_detail .section5 .child .upper h3 .txt {
        font-size: 5.00626vw;
        display: block;
        position: relative;
        margin-top: -3.5vw
    }

    main.hotels_detail .section5 .child .upper h3 .txt span {
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        transition: opacity 1s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94)
    }

    main.hotels_detail .section5 .child .upper h3 .txt span:first-of-type {
        position: relative
    }

    main.hotels_detail .section5 .child .upper h3 .txt span.current {
        opacity: 1
    }

    main.hotels_detail .section5 .child .upper .big_txt {
        position: absolute;
        z-index: 11;
        top: 18.1vw;
        left: 20vw;
        white-space: nowrap;
        font-size: 1.50188vw
    }

    main.hotels_detail .section5 .child .upper>.txt {
        position: absolute;
        z-index: 12;
        top: 25.4vw;
        left: 20vw;
        white-space: nowrap;
        font-size: .8761vw
    }

    main.hotels_detail .section5 .child .lower .timeline {
        position: relative;
        width: 66.5vw;
        top: 3.5vw;
        left: 20.2vw
    }

    main.hotels_detail .section5 .child .lower .timeline .base_bar {
        height: 1px;
        background-color: #2c1b1e;
        opacity: .2;
        width: 100%
    }

    main.hotels_detail .section5 .child .lower .timeline .current_bar {
        position: absolute;
        top: 0;
        height: 1px;
        background-color: #2c1b1e
    }

    main.hotels_detail .section5 .child .lower .timeline .circle {
        position: absolute;
        top: 0;
        left: 0;
        width: 50px;
        height: 50px;
        z-index: 2;
        cursor: pointer
    }

    main.hotels_detail .section5 .child .lower .timeline .circle:before {
        position: absolute;
        content: "";
        width: 50px;
        height: 50px;
        border: 1px solid #2c1b1e;
        border-radius: 50%;
        opacity: .1;
        display: inline-block;
        left: -25px;
        top: -25px
    }

    main.hotels_detail .section5 .child .lower .timeline .circle:after {
        position: absolute;
        content: "";
        width: 11px;
        height: 11px;
        border: 1px solid #2c1b1e;
        border-radius: 50%;
        opacity: .05;
        display: inline-block;
        left: -5.5px;
        top: -5.5px
    }

    main.hotels_detail .section5 .child .lower .timeline .vertical_bar {
        background-color: #2c1b1e;
        position: absolute;
        left: 0;
        top: -5vw;
        width: 1px;
        height: 5.5vw;
        display: inline-block;
        z-index: 1;
        pointer-events: none
    }

    main.hotels_detail .section5 .child .lower .items {
        position: relative;
        left: 21vw;
        margin-top: 1.7vw;
        user-select: none
    }

    main.hotels_detail .section5 .child .lower .items .item {
        margin-right: 6.6vw;
        position: relative
    }

    main.hotels_detail .section5 .child .lower .items .item.day {
        margin-top: 2.3vw;
        font-size: .75094vw;
        margin-left: 1.8vw;
        margin-right: 5.2vw;
        position: relative
    }

    main.hotels_detail .section5 .child .lower .items .item.day span {
        position: absolute
    }

    main.hotels_detail .section5 .child .lower .items .item.day:first-of-type {
        margin-left: 0
    }

    main.hotels_detail .section5 .child .lower .items .item.day:before {
        content: "";
        width: 1px;
        height: 3px;
        display: inline-block;
        background-color: #2c1b1e;
        position: absolute;
        opacity: .2;
        top: -.65vw;
        left: -.8vw
    }

    main.hotels_detail .section5 .child .lower .items .item.day.past:before {
        opacity: 1
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) {
        cursor: pointer;
        height: 9vw
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day):hover:after {
        background-color: #e72420
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day):hover span {
        color: #e72420 !important
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day):after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .4s
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span {
        color: #969ba0;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(1) {
        transition-delay: 25ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(2) {
        transition-delay: 50ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(3) {
        transition-delay: 75ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(4) {
        transition-delay: .1s
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(5) {
        transition-delay: 125ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(6) {
        transition-delay: .15s
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(7) {
        transition-delay: 175ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(8) {
        transition-delay: .2s
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(9) {
        transition-delay: 225ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(10) {
        transition-delay: .25s
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(11) {
        transition-delay: 275ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(12) {
        transition-delay: .3s
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(13) {
        transition-delay: 325ms
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(14) {
        transition-delay: .35s
    }

    main.hotels_detail .section5 .child .lower .items .item:not(.day) span:nth-child(15) {
        transition-delay: 375ms
    }

    main.hotels_detail .section5 .child .lower .items .item.past .txt:before {
        opacity: 1
    }

    main.hotels_detail .section5 .child .lower .items .item.current:hover:after {
        background-color: #e72420
    }

    main.hotels_detail .section5 .child .lower .items .item.current:hover span {
        color: #e72420 !important
    }

    main.hotels_detail .section5 .child .lower .items .item.current:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .4s
    }

    main.hotels_detail .section5 .child .lower .items .item.current span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(1) {
        transition-delay: 25ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(2) {
        transition-delay: 50ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(3) {
        transition-delay: 75ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(4) {
        transition-delay: .1s
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(5) {
        transition-delay: 125ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(6) {
        transition-delay: .15s
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(7) {
        transition-delay: 175ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(8) {
        transition-delay: .2s
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(9) {
        transition-delay: 225ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(10) {
        transition-delay: .25s
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(11) {
        transition-delay: 275ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(12) {
        transition-delay: .3s
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(13) {
        transition-delay: 325ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(14) {
        transition-delay: .35s
    }

    main.hotels_detail .section5 .child .lower .items .item.current span:nth-child(15) {
        transition-delay: 375ms
    }

    main.hotels_detail .section5 .child .lower .items .item.current .txt {
        color: #2c1b1e
    }

    main.hotels_detail .section5 .child .lower .items .item .time {
        color: #968c82;
        font-size: .75094vw;
        position: absolute
    }

    main.hotels_detail .section5 .child .lower .items .item .txt {
        margin-top: 1vw;
        font-size: .8761vw;
        color: #969ba0;
        transition: color .7s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        position: absolute;
        white-space: nowrap;
        top: 1.3vw;
        left: 0
    }

    main.hotels_detail .section5 .child .lower .items .item .txt:before {
        content: "";
        width: 1px;
        height: 3px;
        display: inline-block;
        background-color: #2c1b1e;
        position: absolute;
        opacity: .2;
        top: -.65vw;
        left: .7vw
    }

    main.hotels_detail .section6 {
        padding-top: 15.4vw
    }

    main.hotels_detail .section6 .child h2 {
        position: relative;
        left: 20vw
    }

    main.hotels_detail .section6 .child h2 .sub_txt {
        display: block;
        font-size: 1.25156vw
    }

    main.hotels_detail .section6 .child h2 .txt {
        display: block;
        font-size: 3.12891vw
    }

    main.hotels_detail .section6 .child h2 .txt .space {
        width: 20px
    }

    main.hotels_detail .section6 .child>.txt {
        font-size: 1.00125vw;
        position: relative;
        left: 20vw;
        margin-bottom: 5.6vw;
        margin-top: .7vw;
        line-height: 2.5
    }

    main.hotels_detail .section6 .child .food {
        margin-bottom: 5vw
    }

    main.hotels_detail .section6 .child .food>ul {
        padding-top: 3.7vw;
        left: 15vw;
        border-top: 1px solid #ebedf0
    }

    main.hotels_detail .section6 .child .food>ul>li {
        display: flex
    }

    main.hotels_detail .section6 .child .food>ul>li h3 {
        font-size: 1.00125vw;
        margin-right: 3vw;
        margin-left: 1.2vw
    }

    main.hotels_detail .section6 .child .food>ul>li .img {
        margin-left: 7.1vw;
        margin-right: 3vw;
        padding-left: 3.8vw;
        width: 21.9vw;
        border-left: 1px solid #ebedf0
    }

    main.hotels_detail .section6 .child .food>ul>li .img img {
        width: 100%
    }

    main.hotels_detail .section6 .child .food>ul>li .cont {
        margin-left: .6vw;
        margin-top: -.6vw;
        margin-right: 3vw;
        white-space: nowrap;
        padding-right: 4vw;
        width: 26vw;
        border-right: 1px solid #ebedf0
    }

    main.hotels_detail .section6 .child .food>ul>li .cont h4 {
        font-size: 1.37672vw;
        font-weight: 400
    }

    main.hotels_detail .section6 .child .food>ul>li .cont .txt {
        width: 26vw;
        overflow-wrap: break-word;
        word-break: break-word;
        white-space: break-spaces;
        margin-top: 1.4vw;
        font-size: 1.00125vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont>ul {
        margin-top: 4vw;
        font-size: .8761vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont>ul>li {
        display: flex;
        margin-bottom: .5vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont>ul>li .head {
        width: 4vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont>ul>li .body .indent {
        font-size: .75094vw;
        border-left: 1px solid #ebedf0;
        padding-left: 1.1vw;
        margin-top: -.1vw;
        margin-bottom: .5vw
    }

    main.hotels_detail .section6 .child .food .prev {
        left: 16.3vw
    }

    main.hotels_detail .section6 .child .food .next {
        left: 85.6vw
    }

    main.hotels_detail .section6 .child .food .next,
    main.hotels_detail .section6 .child .food .prev {
        top: 19.3vw;
        font-size: 1.00125vw
    }

    main.hotels_detail .section6 .child .food .next .label,
    main.hotels_detail .section6 .child .food .prev .label {
        top: -15.5vw;
        left: -.1vw
    }

    main.hotels_detail .section6 .child .food .ui .fraction {
        margin-top: 1.2vw;
        left: 50vw;
        position: relative;
        top: 1.5vw;
        margin-left: .4vw;
        font-size: .62578vw
    }

    main.hotels_detail .section6 .child .food .ui .fraction .slash {
        display: inline-block;
        margin-left: 3px;
        margin-right: 3px
    }

    main.hotels_detail .section6 .child .food .ui .fraction .slash img {
        width: 20.5px;
        height: 12px
    }

    main.hotels_detail .section6 .child .drink {
        border-top: 1px solid #ebedf0;
        border-bottom: 1px solid #ebedf0;
        padding-top: 2.6vw;
        padding-bottom: 3vw;
        position: relative;
        width: 71.5vw;
        left: 16vw;
        display: flex
    }

    main.hotels_detail .section6 .child .drink .left {
        margin-left: 3.9vw;
        width: 30vw
    }

    main.hotels_detail .section6 .child .drink .left h3 .sub_txt {
        font-size: 1rem;
        margin-left: 1vw;
        position: relative;
        top: -.3vw;
        font-size: .62578vw
    }

    main.hotels_detail .section6 .child .drink .left h3 .txt {
        font-size: 1.37672vw
    }

    main.hotels_detail .section6 .child .drink .left>.txt {
        margin-top: .9vw;
        font-size: .8761vw;
        line-height: 2.5
    }

    main.hotels_detail .section6 .child .drink .left .notes {
        margin-top: 1.4vw;
        font-size: .68836vw
    }

    main.hotels_detail .section6 .child .drink .right {
        margin-left: 10vw
    }

    main.hotels_detail .section6 .child .drink .right .items {
        font-size: .8761vw;
        margin-top: -.8vw
    }

    main.hotels_detail .section6 .child .drink .right .items .item .head {
        margin-top: .9vw
    }

    main.hotels_detail .section6 .child .drink .right .items .item .body span:first-of-type {
        width: 15.3vw;
        display: inline-block
    }

    main.hotels_detail .section6 .child .drink .right .items .item .body span:nth-of-type(2) {
        font-size: .75094vw;
        width: 4vw;
        display: inline-block
    }

    main.hotels_detail .section6 .child .drink .right .items .item .body span:nth-of-type(3) {
        font-size: .62578vw;
        display: inline-block
    }

    main.hotels_detail .section7 {
        padding-top: 17.9vw
    }

    main.hotels_detail .section7 .child h2 {
        position: relative;
        left: 20vw
    }

    main.hotels_detail .section7 .child h2 .sub_txt {
        display: block;
        font-size: 1.25156vw
    }

    main.hotels_detail .section7 .child h2 .txt {
        display: block;
        font-size: 3.12891vw
    }

    main.hotels_detail .section7 .child h2 .txt .space {
        width: 20px
    }

    main.hotels_detail .section7 .child .map {
        margin-top: 1.4vw
    }

    main.hotels_detail .section7 .child .map .map_child {
        position: relative;
        height: 31.3vw;
        width: 87.6vw;
        left: 12.4vw;
        margin-bottom: 3vw
    }

    main.hotels_detail .section7 .child .map .txt {
        left: 50vw;
        margin-left: -14vw;
        position: relative;
        display: inline-block;
        font-size: 1.37672vw;
        margin-bottom: 3vw
    }

    main.hotels_detail .section7 .child .map .btn {
        display: inline-block;
        left: 50vw;
        margin-left: 3.2vw;
        position: relative
    }

    main.hotels_detail .section7 .child .map .btn a {
        font-size: .8761vw;
        letter-spacing: 0;
        border: 1px solid #ebedf0;
        padding: 6px .9vw 6px 4vw;
        display: inline-block
    }

    main.hotels_detail .section7 .child .map .btn a:hover span {
        color: #e72420 !important
    }

    main.hotels_detail .section7 .child .map .btn a:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 275ms
    }

    main.hotels_detail .section7 .child .map .btn a span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(1) {
        transition-delay: 25ms
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(2) {
        transition-delay: 50ms
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(3) {
        transition-delay: 75ms
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(4) {
        transition-delay: .1s
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(5) {
        transition-delay: 125ms
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(6) {
        transition-delay: .15s
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(7) {
        transition-delay: 175ms
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(8) {
        transition-delay: .2s
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(9) {
        transition-delay: 225ms
    }

    main.hotels_detail .section7 .child .map .btn a span:nth-child(10) {
        transition-delay: .25s
    }

    main.hotels_detail .section7 .child .map .btn a:hover:after {
        background: url(../image/pin_red.svg);
        background-size: cover
    }

    main.hotels_detail .section7 .child .map .btn a:after {
        content: "";
        background: url(../image/pin.svg);
        display: inline-block;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        width: 11px;
        height: 15px;
        margin-left: 2.5vw;
        top: .3vw;
        transition: background .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .35s
    }

    main.hotels_detail .section7 .child .map .howto {
        position: relative;
        width: 67.5vw;
        left: 20vw;
        padding-top: 2.8vw;
        padding-bottom: 3.1vw;
        display: flex;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels_detail .section7 .child .map .howto .case {
        width: 45%
    }

    main.hotels_detail .section7 .child .map .howto .case:first-of-type {
        padding-right: 5%;
        border-right: 1px solid #ebedf0
    }

    main.hotels_detail .section7 .child .map .howto .case:nth-of-type(2) {
        padding-left: 5%
    }

    main.hotels_detail .section7 .child .map .howto .case h3 {
        font-size: 1.37672vw
    }

    main.hotels_detail .section7 .child .map .howto .case .item {
        font-size: .8761vw
    }

    main.hotels_detail .section7 .child .map .howto .case .item .head {
        margin-top: 1.1vw
    }

    main.hotels_detail .section7 .child .map .howto .case .item .body {
        line-height: 2.3;
        margin-top: .1vw;
        margin-bottom: 1.2vw
    }

    main.hotels_detail .section8 {
        padding-top: 21vw
    }

    main.hotels_detail .section8 .child h2 {
        position: relative;
        left: 20vw
    }

    main.hotels_detail .section8 .child h2 .sub_txt {
        display: block;
        font-size: 1.25156vw
    }

    main.hotels_detail .section8 .child h2 .txt {
        display: block;
        font-size: 3.12891vw
    }

    main.hotels_detail .section8 .child h2 .txt .space {
        width: 20px
    }

    main.hotels_detail .section8 .child .items {
        margin-top: 1.7vw;
        margin-bottom: 19.4vw;
        border-top: 1px solid #ebedf0;
        padding-top: 0;
        position: relative;
        left: 20vw;
        width: 67.5vw
    }

    main.hotels_detail .section8 .child .items .item {
        padding-top: 3vw;
        padding-bottom: 2vw;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels_detail .section8 .child .items .item h3 {
        position: absolute
    }

    main.hotels_detail .section8 .child .items .item h3 .txt {
        font-size: 1.37672vw
    }

    main.hotels_detail .section8 .child .items .item h3 .sub_txt {
        font-size: 1rem;
        color: #969ba0;
        position: relative;
        top: -.2vw;
        margin-left: .9vw
    }

    main.hotels_detail .section8 .child .items .item .item_child {
        position: relative;
        left: 23.8vw;
        width: 43.7vw
    }

    main.hotels_detail .section8 .child .items .item .item_child:first-of-type {
        margin-top: .3vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .head {
        font-size: .8761vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body {
        font-size: .8761vw;
        margin-top: .5vw;
        margin-bottom: 1.6vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body.body_price {
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .price {
        display: inline-block;
        width: 42.6%;
        border: 1px solid #ebedf0;
        padding-top: 13px;
        padding-bottom: 10px;
        padding-left: 1.8vw;
        line-height: 1.7
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .price .inner1 {
        font-size: .8761vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .price .inner2 {
        font-size: .8761vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .price .inner2 span.tax {
        margin-left: 10px;
        font-size: 1rem
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .plus {
        display: inline-block;
        margin: 0 .6vw;
        position: relative;
        font-size: 1.25156vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .attention {
        font-size: .68836vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li {
        margin-bottom: .7vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li a {
        padding: .8vw 39px;
        font-size: .8761vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li a span.tit {
        margin-left: 2.5vw;
        font-size: 1.37672vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li a span.common_btn {
        position: absolute;
        right: 2vw;
        top: 1.2vw;
        font-size: 1.12641vw
    }

    main.hotels_detail .section8 .child .link {
        position: relative;
        left: 16.2vw;
        width: 75vw;
        padding-bottom: 8.6vw;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels_detail .section8 .child .link a:hover img {
        transform: scale(1.2);
        opacity: .7
    }

    main.hotels_detail .section8 .child .link a:hover .txt:after {
        animation: run_line2 .8s cubic-bezier(.77, 0, .175, 1)
    }

    main.hotels_detail .section8 .child .link .img {
        width: 100%;
        overflow: hidden;
        background-color: #000
    }

    main.hotels_detail .section8 .child .link .img img {
        width: 100%;
        transition: transform 1.7s, opacity 1.7s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94)
    }

    main.hotels_detail .section8 .child .link .txt {
        color: #fff;
        top: 9.6vw;
        left: 3.8vw;
        white-space: nowrap;
        position: absolute;
        font-size: 1.37672vw
    }

    main.hotels_detail .section8 .child .link .txt:after {
        content: "";
        display: inline-block;
        width: 45.5vw;
        height: 1px;
        background-color: #fff;
        position: relative;
        top: -.5vw;
        left: .7vw
    }

    main.hotels_detail .section8 .child .link .sub_txt {
        color: #fff;
        top: 10vw;
        white-space: nowrap;
        position: absolute;
        top: 9.9vw;
        right: 3.7vw;
        font-size: 1.12641vw
    }

    main.hotels_detail .section8 .child .link .sub_txt:after {
        content: "";
        width: 11px;
        height: 11px;
        background: url(../image/external.svg);
        position: relative;
        display: inline-block;
        margin-left: .7vw;
        top: -.16vw
    }

    main.hotels_detail .section8 .child .link .btn {
        position: relative;
        margin-top: 9vw;
        font-size: 1.25156vw;
        left: 35vw;
        margin-left: -3.9vw
    }

    main.hotels_detail .section8 .child .link .btn a {
        padding: 15px
    }

    main.hotels_detail .section9 {
        margin-top: 6.7vw;
        margin-bottom: 7.1vw;
        position: relative
    }

    main.hotels_detail .section9:hover .child .imgs .img1 {
        opacity: 1;
        transform: scale(1)
    }

    main.hotels_detail .section9:hover .child h2 {
        color: #fff
    }

    main.hotels_detail .section9:hover .child h2 .sub_txt:before {
        background-color: #fff
    }

    main.hotels_detail .section9:hover .child .attention {
        color: #fff
    }

    main.hotels_detail .section9 .child .imgs {
        position: absolute;
        display: block;
        margin-top: -6.7vw;
        width: 87vw;
        left: 50vw;
        transform: translate3d(-42.2%, 0, 0);
        top: 0;
        overflow: hidden
    }

    main.hotels_detail .section9 .child .imgs .img1 {
        opacity: 0;
        transition: transform 1.2s, opacity 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transform: scale(1.05)
    }

    main.hotels_detail .section9 .child .imgs .img1 img {
        width: 102%
    }

    main.hotels_detail .section9 .child h2 {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: flex-end;
        position: relative;
        left: 19.8vw
    }

    main.hotels_detail .section9 .child h2 .sub_txt {
        font-size: 1.12641vw;
        position: relative;
        top: .4vw;
        letter-spacing: .3em
    }

    main.hotels_detail .section9 .child h2 .sub_txt.show:before {
        width: 9.5vw;
        transition: width 1.5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels_detail .section9 .child h2 .sub_txt:after {
        width: 0
    }

    main.hotels_detail .section9 .child h2 .sub_txt:before {
        content: "";
        width: 9.5vw;
        top: -.4vw;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.9vw;
        margin-right: 1vw
    }

    main.hotels_detail .section9 .child h2 .txt {
        font-size: 4.06758vw;
        letter-spacing: .065em;
        top: 0
    }

    main.hotels_detail .section9 .child .attention {
        position: absolute;
        top: 3vw;
        left: 50vw;
        margin-left: 23.9vw;
        font-size: .68836vw
    }
}

@media screen and (min-width:1024px) and (max-width:1200px) {
    main.hotels_detail .section8 .child .items .item .item_child .body .price {
        width: 42.3%
    }
}

@media screen and (max-width:1023px) {
    main.hotels_detail .section.common1 .child h2 {
        font-size: 20vw
    }

    main.hotels_detail .section .child h2 {
        position: relative
    }

    main.hotels_detail .section .child h2 .sub_txt {
        display: block
    }

    main.hotels_detail .section .child h2 .sub_txt:after {
        content: "";
        width: 9.5vw;
        height: 1px;
        display: inline-block;
        background-color: #2c1b1e;
        margin-left: 4vw;
        position: relative;
        top: -.6vw
    }

    main.hotels_detail .section .child h2 .txt {
        display: block;
        line-height: 1.3
    }

    main.hotels_detail .section1 .child h1 {
        padding-top: 44.5vw;
        position: relative;
        left: 7vw
    }

    main.hotels_detail .section1 .child h1 .sub_txt {
        display: block;
        font-size: 3.46667vw
    }

    main.hotels_detail .section1 .child h1 .sub_txt .en {
        position: relative;
        top: .3vw
    }

    main.hotels_detail .section1 .child h1 .sub_txt .en:before {
        content: "";
        width: 3vw;
        height: 1px;
        background-color: #969ba0;
        display: inline-block;
        margin-left: 1vw;
        margin-right: 1vw;
        position: relative;
        top: -.7vw
    }

    main.hotels_detail .section1 .child h1 .txt {
        display: block;
        margin-top: -2vw;
        position: relative;
        left: -2vw;
        font-size: 11.33333vw
    }

    main.hotels_detail .section1 .child h1 .txt span {
        font-size: 13.33333vw
    }

    main.hotels_detail .section1 .child h1 .txt2 {
        display: none
    }

    main.hotels_detail .section1 .child .img {
        left: 7vw;
        margin-top: 13vw
    }

    main.hotels_detail .section1 .child .img img {
        width: 94vw
    }

    main.hotels_detail .section.sp .child .copy {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 4.26667vw;
        position: relative;
        left: 41.2vw;
        margin-top: 18vw;
        letter-spacing: .15em
    }

    main.hotels_detail .section.sp .child .local_nav {
        margin-top: 20vw;
        width: 74vw;
        left: 13vw;
        position: relative
    }

    main.hotels_detail .section.sp .child .local_nav ul {
        font-size: 3.73333vw
    }

    main.hotels_detail .section.sp .child .local_nav ul li {
        margin-bottom: 4.8vw;
        cursor: pointer;
        position: relative
    }

    main.hotels_detail .section.sp .child .local_nav ul li:before {
        content: "";
        background-color: #ebedf0;
        display: inline-block;
        position: absolute;
        top: 7vw;
        left: 0;
        width: 100%;
        height: 1px
    }

    main.hotels_detail .section.sp .child .local_nav ul li:after {
        content: "";
        position: absolute;
        top: 4vw;
        right: 0;
        background: url(../image/arrow.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 5.86667vw;
        height: 3.2vw;
        display: inline-block
    }

    main.hotels_detail .section2 {
        padding-top: 12.5vw
    }

    main.hotels_detail .section2 .child h2 {
        left: 5.5vw
    }

    main.hotels_detail .section2 .child>.img {
        margin-top: -12.1vw;
        margin-left: -7vw;
        width: 100vw
    }

    main.hotels_detail .section2 .child>.img img {
        width: 100vw
    }

    main.hotels_detail .section2 .child .copy {
        font-size: 4.26667vw;
        width: 88vw;
        margin-top: 7vw;
        position: relative;
        left: 7vw
    }

    main.hotels_detail .section2 .child ul {
        margin-top: 18vw
    }

    main.hotels_detail .section2 .child ul li {
        position: relative;
        left: 8vw;
        margin-bottom: 12vw
    }

    main.hotels_detail .section2 .child ul li .left {
        width: 13.9vw
    }

    main.hotels_detail .section2 .child ul li .left .tit {
        font-size: 5.33333vw;
        letter-spacing: .3em
    }

    main.hotels_detail .section2 .child ul li .left .sub_tit {
        font-size: 2.66667vw;
        position: relative;
        left: 3vw;
        top: -4vw
    }

    main.hotels_detail .section2 .child ul li .right {
        width: 67vw
    }

    main.hotels_detail .section2 .child ul li .right .txt {
        margin-top: 1vw;
        font-size: 3.2vw
    }

    main.hotels_detail .section3 {
        padding-top: 13vw
    }

    main.hotels_detail .section3 .child h2 {
        left: 100vw;
        margin-left: -47vw
    }

    main.hotels_detail .section3 .child>.img {
        position: relative;
        margin-top: -16.7vw;
        left: 7vw;
        width: 99vw
    }

    main.hotels_detail .section3 .child>.img img {
        width: 99vw
    }

    main.hotels_detail .section3 .child .copy {
        font-size: 4.26667vw;
        position: relative;
        left: 7vw;
        margin-top: 7vw
    }

    main.hotels_detail .section3 .child .txt {
        font-size: 3.2vw;
        position: relative;
        left: 7vw;
        width: 85vw;
        margin-top: 6.5vw
    }

    main.hotels_detail .section3 .child ul {
        margin-top: 18vw;
        margin-left: 10.4vw
    }

    main.hotels_detail .section3 .child ul li {
        margin-right: 4vw
    }

    main.hotels_detail .section3 .child ul li .tit {
        width: 6vw
    }

    main.hotels_detail .section3 .child ul li .tit span {
        left: 6vw;
        position: relative
    }

    main.hotels_detail .section3 .child ul li .img {
        width: 67vw
    }

    main.hotels_detail .section3 .child ul li .img img {
        width: 100%
    }

    main.hotels_detail .section3 .child .ui .fraction {
        font-size: 2.66667vw;
        top: 2.5vw;
        left: 44vw;
        position: relative
    }

    main.hotels_detail .section3 .child .ui .fraction .slash {
        position: relative;
        top: 1px
    }

    main.hotels_detail .section3 .child .ui .fraction .slash img {
        width: 19.5px;
        height: 9px
    }

    main.hotels_detail .section3 .arrow {
        display: none
    }

    main.hotels_detail .section4 {
        padding-top: 26.8vw
    }

    main.hotels_detail .section4 .child h2 {
        left: 6vw
    }

    main.hotels_detail .section4 .child>.img {
        margin-top: -16.4vw;
        margin-left: -7vw;
        width: 100vw
    }

    main.hotels_detail .section4 .child>.img img {
        width: 100vw
    }

    main.hotels_detail .section4 .child .copy {
        font-size: 4.26667vw;
        width: 88vw;
        margin-top: 7vw;
        position: relative;
        left: 7vw
    }

    main.hotels_detail .section4 .child .txt {
        margin-top: 5.7vw;
        font-size: 3.2vw;
        width: 88vw;
        position: relative;
        left: 7vw
    }

    main.hotels_detail .section4 .child ul {
        margin-top: 18vw;
        margin-left: 11vw
    }

    main.hotels_detail .section4 .child ul li {
        margin-right: 4vw
    }

    main.hotels_detail .section4 .child ul li .tit {
        width: 6vw
    }

    main.hotels_detail .section4 .child ul li .tit span {
        left: 6vw;
        position: relative
    }

    main.hotels_detail .section4 .child ul li .img {
        width: 67vw
    }

    main.hotels_detail .section4 .child ul li .img img {
        width: 100%
    }

    main.hotels_detail .section4 .child .ui .fraction {
        font-size: 2.66667vw;
        top: 2.5vw;
        left: 44vw;
        position: relative
    }

    main.hotels_detail .section4 .child .ui .fraction .slash {
        position: relative;
        top: 1px
    }

    main.hotels_detail .section4 .child .ui .fraction .slash img {
        width: 19.5px;
        height: 9px
    }

    main.hotels_detail .section4 .arrow {
        display: none
    }

    main.hotels_detail .section5 {
        padding-top: 38.9vw
    }

    main.hotels_detail .section5 .child {
        position: relative
    }

    main.hotels_detail .section5 .child h2 {
        left: 7vw
    }

    main.hotels_detail .section5 .child h2 .sub_txt {
        font-size: 3.46667vw
    }

    main.hotels_detail .section5 .child h2 .txt {
        font-size: 10.66667vw
    }

    main.hotels_detail .section5 .child .upper {
        margin-top: 9vw
    }

    main.hotels_detail .section5 .child .upper .img .img_child {
        width: 100vw;
        overflow: hidden
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(1) {
        transform: translate3d(0, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(2) {
        transform: translate3d(100vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(3) {
        transform: translate3d(200vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(4) {
        transform: translate3d(300vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(5) {
        transform: translate3d(400vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(6) {
        transform: translate3d(500vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(7) {
        transform: translate3d(600vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(8) {
        transform: translate3d(700vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child:nth-child(9) {
        transform: translate3d(800vw, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .img .img_child img {
        width: 208vw;
        left: 50vw;
        transform: translate3d(-33.3333%, 0, 0)
    }

    main.hotels_detail .section5 .child .upper .swipe {
        position: absolute;
        user-select: none;
        top: 62.8vw;
        left: 50vw;
        transform: translate3d(-50%, 0, 0);
        width: 28vw
    }

    main.hotels_detail .section5 .child .upper .swipe img {
        width: 100%
    }

    main.hotels_detail .section5 .child .upper .swipe div {
        position: absolute;
        top: 0;
        left: 10vw;
        color: #fff;
        letter-spacing: -.01em;
        font-size: 2.66667vw
    }

    main.hotels_detail .section5 .child .upper h3 {
        top: 36.6vw
    }

    main.hotels_detail .section5 .child .upper h3 .sub_txt {
        color: #fff;
        font-size: 4vw;
        white-space: nowrap;
        left: 50vw;
        transform: translate3d(-50%, 0, 0);
        display: inline-block
    }

    main.hotels_detail .section5 .child .upper h3 .sub_txt span {
        opacity: 0;
        text-align: center
    }

    main.hotels_detail .section5 .child .upper h3 .sub_txt span.current {
        opacity: 1
    }

    main.hotels_detail .section5 .child .upper h3 .txt {
        display: none
    }

    main.hotels_detail .section5 .child .upper .big_txt {
        font-size: 5.33333vw;
        position: relative;
        left: 7vw;
        width: 86vw;
        margin-top: 7vw
    }

    main.hotels_detail .section5 .child .upper>.txt {
        position: relative;
        font-size: 3.2vw;
        left: 7vw;
        width: 86vw;
        margin-top: 5vw
    }

    main.hotels_detail .section5 .child .lower {
        user-select: none;
        pointer-events: none
    }

    main.hotels_detail .section5 .child .lower .timeline {
        position: absolute;
        top: 103vw
    }

    main.hotels_detail .section5 .child .lower .timeline .base_bar {
        height: 1px;
        background-color: #fff;
        opacity: .5;
        width: 100vw
    }

    main.hotels_detail .section5 .child .lower .timeline .current_bar {
        position: absolute;
        top: 0;
        height: 1px;
        background-color: #fff;
        width: 50vw
    }

    main.hotels_detail .section5 .child .lower .items {
        color: #fff;
        position: absolute;
        top: 85vw;
        left: 50vw
    }

    main.hotels_detail .section5 .child .lower .items .item {
        margin-right: 4vw;
        transform: translate3d(-50%, 0, 0)
    }

    main.hotels_detail .section5 .child .lower .items .item.day {
        display: none
    }

    main.hotels_detail .section5 .child .lower .items .item:before {
        content: "";
        width: 1px;
        height: 6px;
        display: inline-block;
        background-color: #fff;
        position: absolute;
        opacity: .5;
        top: 17.15vw;
        left: 50%;
        transition: left .8s, opacity .8s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.hotels_detail .section5 .child .lower .items .item.current_sp .time {
        font-size: 13.33333vw;
        transform: translate3d(4vw, -8vw, 0)
    }

    main.hotels_detail .section5 .child .lower .items .item.current_sp:before {
        opacity: 1
    }

    main.hotels_detail .section5 .child .lower .items .item .time {
        font-size: 6.66667vw;
        transition: font-size .8s, transform .8s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        position: relative;
        top: 3vw
    }

    main.hotels_detail .section5 .child .lower .items .item .txt {
        display: none
    }

    main.hotels_detail .section6 {
        padding-top: 37vw
    }

    main.hotels_detail .section6 .child h2 {
        left: 7vw
    }

    main.hotels_detail .section6 .child h2 .sub_txt {
        display: block;
        font-size: 3.46667vw
    }

    main.hotels_detail .section6 .child h2 .txt {
        display: block;
        font-size: 10.66667vw
    }

    main.hotels_detail .section6 .child>.txt {
        font-size: 3.2vw;
        left: 6.8vw;
        position: relative;
        margin-top: 6.6vw
    }

    main.hotels_detail .section6 .child .food>ul {
        margin-top: 10.6vw;
        margin-left: 6vw
    }

    main.hotels_detail .section6 .child .food>ul>li {
        margin-right: 5vw;
        margin-left: 5vw;
        width: 74vw;
        display: inline-table
    }

    main.hotels_detail .section6 .child .food>ul>li h3 {
        position: absolute;
        left: -6.1vw;
        font-size: 3.46667vw
    }

    main.hotels_detail .section6 .child .food>ul>li .img {
        margin-left: 4vw
    }

    main.hotels_detail .section6 .child .food>ul>li .img img {
        width: 100%
    }

    main.hotels_detail .section6 .child .food>ul>li .cont {
        margin-top: 3.8vw;
        margin-left: 4vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont h4 {
        font-size: 5.33333vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont .txt {
        font-size: 4.26667vw;
        margin-top: 5.5vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont ul {
        font-size: 3.46667vw;
        margin-top: 1.2vw;
        margin-bottom: 9vw
    }

    main.hotels_detail .section6 .child .food>ul>li .cont ul li .head {
        color: #969ba0
    }

    main.hotels_detail .section6 .child .food>ul>li .cont ul li .head:before {
        content: " - "
    }

    main.hotels_detail .section6 .child .food>ul>li .cont ul li .body .indent {
        border-left: 1px solid #ebedf0;
        padding-left: 2vw
    }

    main.hotels_detail .section6 .child .food .next,
    main.hotels_detail .section6 .child .food .prev {
        display: none
    }

    main.hotels_detail .section6 .child .food .ui {
        position: absolute;
        left: 72vw;
        top: 70vw
    }

    main.hotels_detail .section6 .child .food .ui .fraction {
        font-size: 2.66667vw;
        position: relative
    }

    main.hotels_detail .section6 .child .food .ui .fraction .slash {
        position: relative;
        top: 1px
    }

    main.hotels_detail .section6 .child .food .ui .fraction .slash img {
        width: 19.5px;
        height: 9px
    }

    main.hotels_detail .section6 .child .drink {
        border-top: 1px solid #ebedf0;
        border-bottom: 1px solid #ebedf0;
        padding-top: 7.4vw;
        padding-bottom: 4.5vw
    }

    main.hotels_detail .section6 .child .drink .left {
        position: relative;
        left: 7vw;
        width: 85vw
    }

    main.hotels_detail .section6 .child .drink .left h3 .sub_txt {
        font-size: 2.66667vw;
        display: block
    }

    main.hotels_detail .section6 .child .drink .left h3 .txt {
        font-size: 5.33333vw;
        display: block;
        margin-left: -2vw
    }

    main.hotels_detail .section6 .child .drink .left>.txt {
        font-size: 3.46667vw;
        margin-top: 7vw
    }

    main.hotels_detail .section6 .child .drink .left .notes {
        font-size: 3.46667vw
    }

    main.hotels_detail .section6 .child .drink .right {
        position: relative;
        left: 7vw;
        margin-top: 7vw
    }

    main.hotels_detail .section6 .child .drink .right .items {
        font-size: 3.46667vw
    }

    main.hotels_detail .section6 .child .drink .right .items .item {
        margin-bottom: 3.5vw
    }

    main.hotels_detail .section7 {
        padding-top: 37.6vw
    }

    main.hotels_detail .section7 .child h2 {
        left: 7vw
    }

    main.hotels_detail .section7 .child h2 .sub_txt {
        display: block;
        font-size: 3.46667vw
    }

    main.hotels_detail .section7 .child h2 .txt {
        display: block;
        font-size: 10.66667vw
    }

    main.hotels_detail .section7 .child .map {
        margin-top: 7vw
    }

    main.hotels_detail .section7 .child .map .map_child {
        position: relative;
        height: 95vw;
        width: 100vw;
        margin-bottom: 8vw
    }

    main.hotels_detail .section7 .child .map .txt {
        font-size: 5.33333vw;
        position: relative;
        left: 7vw
    }

    main.hotels_detail .section7 .child .map .btn {
        position: relative;
        left: 7vw;
        display: inline-block;
        margin-top: 3vw;
        margin-bottom: 8vw;
        font-weight: 600
    }

    main.hotels_detail .section7 .child .map .btn a {
        font-size: 4vw;
        letter-spacing: 0;
        border: 1px solid #ebedf0;
        padding: 6px 6.5vw 6px 11.5vw;
        display: inline-block
    }

    main.hotels_detail .section7 .child .map .btn a:after {
        content: "";
        background: url(../image/pin.svg);
        display: inline-block;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        width: 11px;
        height: 15px;
        margin-left: 3.5vw;
        top: .3vw
    }

    main.hotels_detail .section7 .child .map .howto {
        position: relative;
        left: 7vw;
        width: 86vw;
        padding-top: 8vw
    }

    main.hotels_detail .section7 .child .map .howto .case {
        position: relative;
        border-bottom: 1px solid #ebedf0;
        padding-bottom: 8.8vw;
        margin-bottom: 8vw
    }

    main.hotels_detail .section7 .child .map .howto .case h3 {
        font-size: 5.33333vw;
        margin-bottom: 3vw
    }

    main.hotels_detail .section7 .child .map .howto .case .item {
        font-size: 3.46667vw
    }

    main.hotels_detail .section7 .child .map .howto .case .item .head {
        margin-top: 0
    }

    main.hotels_detail .section8 {
        padding-top: 29.7vw
    }

    main.hotels_detail .section8:after {
        content: "";
        width: 86vw;
        height: 1px;
        background-color: #ebedf0;
        display: inline-block;
        position: relative;
        left: 7vw
    }

    main.hotels_detail .section8 .child h2 {
        left: 7vw;
        margin-bottom: 6.5vw
    }

    main.hotels_detail .section8 .child h2 .sub_txt {
        display: block;
        font-size: 3.46667vw
    }

    main.hotels_detail .section8 .child h2 .txt {
        display: block;
        font-size: 10.66667vw
    }

    main.hotels_detail .section8 .child .items {
        position: relative;
        left: 7vw;
        width: 86vw;
        margin-bottom: 20vw;
        border-top: 1px solid #ebedf0
    }

    main.hotels_detail .section8 .child .items .item {
        margin-top: 7vw;
        padding-bottom: 8vw;
        border-bottom: 1px solid #ebedf0
    }

    main.hotels_detail .section8 .child .items .item h3 {
        margin-bottom: 4vw
    }

    main.hotels_detail .section8 .child .items .item h3 .txt {
        font-size: 5.33333vw;
        display: block
    }

    main.hotels_detail .section8 .child .items .item h3 .sub_txt {
        font-size: 2.66667vw;
        display: block;
        margin-top: 0
    }

    main.hotels_detail .section8 .child .items .item .item_child .head {
        font-size: 3.46667vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body {
        font-size: 3.46667vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .price {
        border: 1px solid #ebedf0;
        padding: 3vw;
        text-align: center
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .price2 {
        margin-bottom: 2.5vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body .plus {
        text-align: center
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li {
        margin-bottom: 3vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li a {
        padding: 5vw 5vw 2vw;
        font-size: 3.46667vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li a span.tit {
        display: block;
        font-size: 5.33333vw;
        margin-top: -3vw
    }

    main.hotels_detail .section8 .child .items .item .item_child .body ul li a span.common_btn {
        display: block;
        text-align: right;
        margin-top: -3vw;
        font-size: 4vw
    }

    main.hotels_detail .section8 .child .link {
        position: relative;
        padding-bottom: 21vw
    }

    main.hotels_detail .section8 .child .link .img {
        position: relative;
        width: 86vw;
        height: 70vw;
        left: 7vw;
        overflow: hidden
    }

    main.hotels_detail .section8 .child .link .img img {
        width: 211%;
        position: relative;
        left: 50%;
        transform: translate3d(-50%, 0, 0)
    }

    main.hotels_detail .section8 .child .link .txt {
        color: #fff;
        position: absolute;
        left: 14vw;
        top: 18vw;
        font-size: 5.33333vw
    }

    main.hotels_detail .section8 .child .link .sub_txt {
        color: #fff;
        position: absolute;
        left: 14.7vw;
        top: 27.3vw;
        font-size: 4vw
    }

    main.hotels_detail .section8 .child .link .sub_txt:after {
        content: "";
        width: 8px;
        height: 8px;
        background: url(../image/external.svg);
        position: relative;
        display: inline-block;
        margin-left: 2.5vw;
        top: -.16vw;
        background-size: contain
    }

    main.hotels_detail .section8 .child .link .btn {
        font-size: 4vw;
        text-align: center;
        width: 100vw;
        margin-top: 9vw
    }

    main.hotels_detail .section9 {
        margin-top: 16.6vw
    }

    main.hotels_detail .section9 .child {
        width: 86vw;
        position: relative;
        left: 7vw
    }

    main.hotels_detail .section9 .child h2 .sub_txt {
        font-size: 2.93333vw;
        letter-spacing: .3em
    }

    main.hotels_detail .section9 .child h2 .sub_txt.show:after {
        transition: width 1.5s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        width: 20vw
    }

    main.hotels_detail .section9 .child h2 .sub_txt:before {
        content: none
    }

    main.hotels_detail .section9 .child h2 .sub_txt:after {
        content: "";
        width: 20vw;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.6vw;
        top: -1.2vw
    }

    main.hotels_detail .section9 .child h2 .txt {
        top: -1vw;
        position: relative;
        font-size: 13.33333vw
    }

    main.hotels_detail .section9 .child .attention {
        margin-top: -.9vw;
        margin-bottom: 18.1vw;
        line-height: 2.1;
        font-size: 2.66667vw
    }
}

main.news .section {
    position: relative;
    width: 100vw
}

main.news .section1 .child h1 {
    position: relative
}

main.news .section1 .child h1 .sub_txt {
    display: block;
    position: absolute;
    font-weight: 400;
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .2s
}

main.news .section1 .child h1 .sub_txt.show {
    opacity: 1
}

main.news .section1 .child h1 .sub_txt.show:before {
    width: 9.4vw;
    transition: width 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.news .section1 .child h1 .sub_txt:before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.2vw
}

main.news .section1 .child h1 .txt {
    display: block;
    line-height: .95;
    font-weight: 400;
    line-height: .6
}

main.news .section1 .child h1 .txt.show span {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.news .section1 .child h1 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(0, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}
main.news .section1 .child h1 .txt span.show{
    opacity: 1;
}

main.news .section1 .child h1 .txt span:nth-child(1) {
    transition-delay: 0s
}

main.news .section1 .child h1 .txt span:nth-child(2) {
    transition-delay: 90ms
}

main.news .section1 .child h1 .txt span:nth-child(3) {
    transition-delay: .18s
}

main.news .section1 .child h1 .txt span:nth-child(4) {
    transition-delay: .27s
}

main.news .section1 .child h1 .txt span:nth-child(5) {
    transition-delay: .36s
}

main.news .section1 .child h1 .txt span:nth-child(6) {
    transition-delay: .45s
}

main.news .section1 .child h1 .txt span:nth-child(7) {
    transition-delay: .54s
}

main.news .cat_wrap {
    display: flex;
    flex-direction: row;
    align-items: center
}

main.news .cat {
    display: flex;
    flex-direction: row
}

main.news .cat_tit {
    line-height: 1;
    letter-spacing: .05em
}

main.news .cat_li {
    line-height: 1;
    cursor: pointer
}

main.news .cat_li .link {
    color: #969ba0
}

main.news .cat_li.isActive .link {
    color: #2c1b1e
}

main.news .pagenation {
    font-weight: 600
}

main.news .pagenation .child {
    position: relative
}

main.news .pagenation .child .next,
main.news .pagenation .child .prev {
    position: absolute
}

main.news .pagenation .child .prev {
    z-index: 1;
    left: 0;
    top: 0;
    color: #969ba0
}

main.news .pagenation .child .prev a:before,
main.news .pagenation .child .prev.off:before {
    content: '';
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(-135deg);
    position: relative;
    top: 50%;
    left: 0;
    display: inline-block
}

main.news .pagenation .child .prev.off a {
    color: #969ba0
}

main.news .pagenation .child .prev.off:before {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.news .pagenation .child .next {
    z-index: 2;
    right: 0;
    top: 0;
    color: #969ba0
}

main.news .pagenation .child .next a:after,
main.news .pagenation .child .next.off:after {
    content: '';
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(45deg);
    position: relative;
    top: 50%;
    left: 0;
    display: inline-block
}

main.news .pagenation .child .next.off a {
    color: #969ba0
}

main.news .pagenation .child .next.off:after {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.news .pagenation .child ul {
    display: flex;
    position: relative;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    justify-content: center;
    font-weight: 400
}

main.news .pagenation .child ul li a,
main.news .pagenation .child ul .page-num {
    color: #969ba0;
    transition: color .2s
}

main.news .pagenation .child ul li a:hover,
main.news .pagenation .child ul .page-num:hover {
    color: #2c1b1e
}

main.news .pagenation .child ul li.current a,
main.news .pagenation .child ul .page-num.page-num-current {
    color: #2c1b1e;
    border-bottom: 1px solid #2c1b1e
}

@media screen and (min-width:1024px) {
    main.news .section1 {
        padding-top: 18.125vw
    }

    main.news .section1 .child {
        width: 73.75vw;
        margin-left: 16.25vw;
        margin-right: 10vw;
        padding-bottom: 18.75vw;
        position: relative
    }

    main.news .section1 .child h1 {
        margin-left: -.625vw;
        letter-spacing: -.3em
    }

    main.news .section1 .child h1 .sub_txt {
        font-size: 1.12641vw;
        left: 16.25vw;
        top: 1.9vw;
        letter-spacing: .3em
    }

    main.news .section1 .child h1 .sub_txt:before {
        margin-right: 1.2vw;
        margin-left: 0;
        top: -6px
    }

    main.news .section1 .child h1 .txt {
        letter-spacing: -.05em;
        font-size: 7.25907vw
    }

    main.news .news_content {
        width: 67.5vw;
        margin-left: 6.25vw
    }

    main.news .cat_wrap {
        margin-top: 6.5vw
    }

    main.news .cat_tit {
        font-size: 1.12641vw;
        display: flex;
        align-items: center
    }

    main.news .cat_tit:before {
        content: "";
        width: .5vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-right: .625vw
    }

    main.news .cat {
        margin-left: 5vw
    }

    main.news .cat_li {
        font-size: 1.00125vw;
        letter-spacing: .05em
    }

    main.news .cat_li:not(:first-child) {
        margin-left: 3.125vw
    }

    main.news .cat_li:not(.isActive) .link:hover:after {
        background-color: #e72420
    }

    main.news .cat_li:not(.isActive) .link:hover span {
        color: #e72420 !important
    }

    main.news .cat_li:not(.isActive) .link:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 275ms
    }

    main.news .cat_li:not(.isActive) .link span {
        color: #969ba0;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(1) {
        transition-delay: 25ms
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(2) {
        transition-delay: 50ms
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(3) {
        transition-delay: 75ms
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(4) {
        transition-delay: .1s
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(5) {
        transition-delay: 125ms
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(6) {
        transition-delay: .15s
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(7) {
        transition-delay: 175ms
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(8) {
        transition-delay: .2s
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(9) {
        transition-delay: 225ms
    }

    main.news .cat_li:not(.isActive) .link span:nth-child(10) {
        transition-delay: .25s
    }

    main.news .news {
        margin-top: 5vw
    }

    main.news .news_li {
        border-top: 1px solid #ebedf0
    }

    main.news .news_li:last-child {
        border-bottom: 1px solid #ebedf0
    }

    main.news .news_li .news_link {
        padding: 2.5vw 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        position: relative;
        transition: opacity .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news .news_li .news_link:hover {
        opacity: .5
    }

    main.news .news_li .news_link .date {
        margin-left: 1.875vw;
        font-size: .8761vw;
        letter-spacing: 0
    }

    main.news .news_li .news_link .date::after,
    main.news .news_li .news_link .date::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.71429) * .5em)
    }

    main.news .news_li .news_link .category {
        margin-left: 1.875vw;
        white-space: nowrap;
        font-size: .8761vw;
        letter-spacing: .1em
    }

    main.news .news_li .news_link .category::after,
    main.news .news_li .news_link .category::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.71429) * .5em)
    }

    main.news .news_li .news_link .txt {
        margin-left: 18.5vw;
        margin-right: 1.875vw;
        width: 48.125vw;
        line-height: 1.71429;
        font-size: .8761vw;
        letter-spacing: .05em
    }

    main.news .news_li .news_link .txt::after,
    main.news .news_li .news_link .txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.71429) * .5em)
    }

    main.news .news_block {
        display: flex;
        flex-direction: row;
        align-items: center;
        position: absolute;
        top: 0;
        bottom: 0
    }

    main.news .pagenation {
        margin: 5.375vw auto 0
    }

    main.news .pagenation .child {
        padding-top: 0;
        margin-left: 1.875vw;
        margin-right: 1.875vw;
        padding-bottom: 0;
        width: auto
    }

    main.news .pagenation .child .prev {
        font-size: 1.00125vw
    }

    main.news .pagenation .child .prev a:before,
    main.news .pagenation .child .prev.off:before {
        width: .375vw;
        height: .375vw;
        margin-top: -.25vw;
        margin-right: 1.125vw
    }

    main.news .pagenation .child .prev:not(.off) a:hover:before {
        border-color: #e72420
    }

    main.news .pagenation .child .prev:not(.off) a:hover span {
        color: #e72420 !important
    }

    main.news .pagenation .child .prev:not(.off) a:before {
        transition: border-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news .pagenation .child .prev:not(.off) a span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news .pagenation .child .prev:not(.off) a span:nth-child(1) {
        transition-delay: 50ms
    }

    main.news .pagenation .child .prev:not(.off) a span:nth-child(2) {
        transition-delay: 75ms
    }

    main.news .pagenation .child .prev:not(.off) a span:nth-child(3) {
        transition-delay: .1s
    }

    main.news .pagenation .child .prev:not(.off) a span:nth-child(4) {
        transition-delay: 125ms
    }

    main.news .pagenation .child .next {
        font-size: 1.00125vw
    }

    main.news .pagenation .child .next a:after,
    main.news .pagenation .child .next.off:after {
        width: .375vw;
        height: .375vw;
        margin-top: -.25vw;
        margin-left: 1.125vw
    }

    main.news .pagenation .child .next:not(.off) a:hover:after {
        border-color: #e72420
    }

    main.news .pagenation .child .next:not(.off) a:hover span {
        color: #e72420 !important
    }

    main.news .pagenation .child .next:not(.off) a:after {
        transition: border-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 125ms
    }

    main.news .pagenation .child .next:not(.off) a span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news .pagenation .child .next:not(.off) a span:nth-child(1) {
        transition-delay: 25ms
    }

    main.news .pagenation .child .next:not(.off) a span:nth-child(2) {
        transition-delay: 50ms
    }

    main.news .pagenation .child .next:not(.off) a span:nth-child(3) {
        transition-delay: 75ms
    }

    main.news .pagenation .child .next:not(.off) a span:nth-child(4) {
        transition-delay: .1s
    }

    main.news .pagenation .child ul {
        font-size: .8761vw
    }

    main.news .pagenation .child ul li,
    main.news .pagenation .child ul .page-num {
        margin-left: 1vw;
        margin-right: 1vw
    }

    main.news .pagenation .child ul li:not(.current) a:hover,
    main.news .pagenation .child ul .page-num:not(.page-num-current):hover {
        color: #e72420;
        border-bottom: 1px solid #e72420
    }
}

@media screen and (max-width:1023px) {
    main.news .section1 .child {
        width: 86.66667vw;
        margin: 0 auto;
        padding: 40vw 0 21.33333vw
    }

    main.news .section1 .child h1 {
        left: -1.33333vw;
        letter-spacing: -.3em;
        order: 0
    }

    main.news .section1 .child h1 .sub_txt {
        font-size: 2.4vw;
        bottom: -8.53333vw;
        left: 0;
        letter-spacing: .2em;
        line-height: 1;
        display: block;
        position: absolute;
        font-weight: 400;
        opacity: 0;
        transition: opacity 1.3s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        transition-delay: .2s
    }

    main.news .section1 .child h1 .sub_txt.show {
        opacity: 1
    }

    main.news .section1 .child h1 .sub_txt.show:before {
        width: 3.1vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news .section1 .child h1 .sub_txt:before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw
    }

    main.news .section1 .child h1 .sub_txt:before {
        top: -.8vw;
        margin-left: .8vw;
        margin-right: 1.86667vw
    }

    main.news .section1 .child h1 .txt {
        font-size: 16vw
    }

    main.news .cat_wrap {
        margin-top: 20vw
    }

    main.news .cat_tit {
        font-size: 4vw;
        display: flex;
        align-items: center
    }

    main.news .cat_tit:before {
        content: "";
        width: .8vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-right: 2.13333vw
    }

    main.news .cat {
        margin-left: 10.66667vw
    }

    main.news .cat_li {
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.news .cat_li:not(:first-child) {
        margin-left: 8vw
    }

    main.news .news {
        margin-top: 20.33333vw
    }

    main.news .news_li {
        padding: 8vw 0;
        border-top: 1px solid #ebedf0;
        position: relative
    }

    main.news .news_li:last-child {
        border-bottom: 1px solid #ebedf0
    }

    main.news .news_li::after {
        content: '';
        position: absolute;
        top: calc(50% - 2.53333vw / 2);
        right: 0;
        display: block;
        width: 2.66667vw;
        height: 2.53333vw;
        background-image: url(../image/arrow2.svg);
        background-size: contain;
        background-repeat: no-repeat
    }

    main.news .news_li .news_link {
        display: flex;
        flex-direction: column
    }

    main.news .news_li .news_link .date {
        font-size: 2.66667vw;
        letter-spacing: 0
    }

    main.news .news_li .news_link .date::after,
    main.news .news_li .news_link .date::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1) * .5em)
    }

    main.news .news_li .news_link .category {
        margin-left: 4vw;
        font-size: 2.66667vw;
        letter-spacing: .1em
    }

    main.news .news_li .news_link .category::after,
    main.news .news_li .news_link .category::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1) * .5em)
    }

    main.news .news_li .news_link .txt {
        width: 80vw;
        margin-top: 4.8vw;
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.news .news_li .news_link .txt::after,
    main.news .news_li .news_link .txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2) * .5em)
    }

    main.news .news_block {
        display: flex;
        flex-direction: row;
        align-items: baseline;
        line-height: 1
    }

    main.news .pagenation {
        width: 87vw;
        margin: 10.13333vw auto 0;
        line-height: 1
    }

    main.news .pagenation .child {
        padding-top: 0;
        padding-bottom: 0
    }

    main.news .pagenation .child .prev {
        font-size: 4vw
    }

    main.news .pagenation .child .prev a:before,
    main.news .pagenation .child .prev.off:before {
        width: 1.6vw;
        height: 1.6vw;
        margin-top: -.53333vw;
        margin-right: 2.4vw;
        border-width: 1px
    }

    main.news .pagenation .child .next {
        font-size: 4vw
    }

    main.news .pagenation .child .next a:after,
    main.news .pagenation .child .next.off:after {
        width: 1.6vw;
        height: 1.6vw;
        margin-top: -.53333vw;
        margin-left: 2.4vw;
        border-width: 1px
    }

    main.news .pagenation .child ul {
        font-size: 3.46667vw
    }

    main.news .pagenation .child ul li,
    main.news .pagenation .child ul .page-num {
        margin-left: 2.66667vw;
        margin-right: 2.66667vw
    }

    main.news .pagenation .child ul li.current a,
    main.news .pagenation .child ul .page-num.page-num-current {
        padding-bottom: .8vw
    }
}

main.news_detail .section {
    position: relative;
    width: 100vw
}

main.news_detail .section1 .child h1 {
    position: relative;
    font-weight: 400
}

main.news_detail .pagenation {
    font-weight: 600
}

main.news_detail .pagenation .child {
    position: relative
}

main.news_detail .pagenation .child .next,
main.news_detail .pagenation .child .prev {
    position: absolute
}

main.news_detail .pagenation .child .prev {
    z-index: 1;
    left: 0;
    top: 0;
    color: #969ba0
}

main.news_detail .pagenation .child .prev a:before,
main.news_detail .pagenation .child .prev.off:before {
    content: '';
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(-135deg);
    position: relative;
    top: 50%;
    left: 0;
    display: inline-block
}

main.news_detail .pagenation .child .prev.off a {
    color: #969ba0
}

main.news_detail .pagenation .child .prev.off:before {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.news_detail .pagenation .child .next {
    z-index: 2;
    right: 0;
    top: 0;
    color: #969ba0
}

main.news_detail .pagenation .child .next a:after,
main.news_detail .pagenation .child .next.off:before {
    content: '';
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(45deg);
    position: relative;
    top: 50%;
    left: 0;
    display: inline-block
}

main.news_detail .pagenation .child .next.off a {
    color: #969ba0
}

main.news_detail .pagenation .child .next.off:after {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.news_detail .pagenation .child .back {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    color: currentColor;
    letter-spacing: .05em
}

main.news_detail .pagenation .child .back .space {
    width: .3em
}

main.news_detail .pagenation .child .back_icon {
    position: relative
}

main.news_detail .pagenation .child .back_icon::after,
main.news_detail .pagenation .child .back_icon::before {
    content: '';
    position: absolute;
    top: 0;
    background-color: currentColor
}

main.news_detail .pagenation .child .back_icon::before {
    left: 0
}

main.news_detail .pagenation .child .back_icon::after {
    right: 0
}

main.news_detail .pagenation .child .back_icon_inner::after,
main.news_detail .pagenation .child .back_icon_inner::before {
    content: '';
    position: absolute;
    bottom: 0;
    background-color: currentColor
}

main.news_detail .pagenation .child .back_icon_inner::before {
    left: 0
}

main.news_detail .pagenation .child .back_icon_inner::after {
    right: 0
}

@media screen and (min-width:1024px) {
    main.news_detail .section1 {
        padding-top: 18.75vw
    }

    main.news_detail .section1 .child {
        width: 65vw;
        margin-left: 26.25vw;
        margin-right: 8.75vw;
        padding-bottom: 9.75vw;
        position: relative
    }

    main.news_detail .section1 .child h1 {
        line-height: 1.66667;
        margin-top: 1.625vw;
        font-size: 1.87735vw;
        letter-spacing: .05em
    }

    main.news_detail .section1 .child h1::after,
    main.news_detail .section1 .child h1::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.66667) * .5em)
    }

    main.news_detail .date {
        line-height: 1;
        font-size: 1.00125vw;
        letter-spacing: 0
    }

    main.news_detail .date::after,
    main.news_detail .date::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1) * .5em)
    }

    main.news_detail .sub_tit {
        position: absolute;
        display: flex;
        align-items: center;
        left: -6.25vw;
        top: 0;
        line-height: 1;
        font-size: 1.00125vw;
        letter-spacing: .3em;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }

    main.news_detail .sub_tit::after,
    main.news_detail .sub_tit::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1) * .5em)
    }

    main.news_detail .sub_tit:after {
        content: "";
        width: 1px;
        height: 4.375vw;
        background-color: #2c1b1e;
        margin-top: 1.25vw
    }

    main.news_detail .detail_content {
        padding-top: 4.375vw;
        border-top: 1px solid #ebedf0;
        margin-top: 1.875vw;
        line-height: 2.42857
    }

    main.news_detail .detail_content h2 {
        line-height: 1.5;
        font-size: 1.50188vw;
        letter-spacing: .05em;
        margin-top: 3.5625vw
    }

    main.news_detail .detail_content h2::after,
    main.news_detail .detail_content h2::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.5) * .5em)
    }

    main.news_detail .detail_content h2:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content h3 {
        line-height: 1.75;
        font-size: 1.25156vw;
        letter-spacing: .05em;
        margin-top: 3.5625vw
    }

    main.news_detail .detail_content h3::after,
    main.news_detail .detail_content h3::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.75) * .5em)
    }

    main.news_detail .detail_content h3:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content h4 {
        line-height: 1.94444;
        font-size: 1.12641vw;
        letter-spacing: .05em;
        margin-top: 3.5625vw
    }

    main.news_detail .detail_content h4::after,
    main.news_detail .detail_content h4::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.94444) * .5em)
    }

    main.news_detail .detail_content h4:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content p+h2,
    main.news_detail .detail_content p+h3,
    main.news_detail .detail_content p+h4 {
        margin-top: 2.9375vw
    }

    main.news_detail .detail_content p {
        font-size: .8761vw;
        letter-spacing: .05em;
        margin-top: 2.75vw
    }

    main.news_detail .detail_content p::after,
    main.news_detail .detail_content p::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2.42857) * .5em)
    }

    main.news_detail .detail_content p:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content h2+p,
    main.news_detail .detail_content h3+p,
    main.news_detail .detail_content h4+p {
        margin-top: 1.625vw
    }

    main.news_detail .detail_content strong {
        line-height: 2.42857;
        font-size: .8761vw;
        letter-spacing: .05em;
        font-weight: 600;
        margin-top: 1.8125vw;
        display: inline-block
    }

    main.news_detail .detail_content strong::after,
    main.news_detail .detail_content strong::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2.42857) * .5em)
    }

    main.news_detail .detail_content strong:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content blockquote {
        padding: 3.125vw 5vw 2.625vw;
        border: 1px solid #ebedf0;
        margin-top: 3.75vw;
        position: relative;
        line-height: 2.42857;
        font-size: .8761vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content blockquote::after,
    main.news_detail .detail_content blockquote::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2.42857) * .5em)
    }

    main.news_detail .detail_content blockquote:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content blockquote::before {
        display: block;
        content: '';
        background-size: cover;
        background-image: url(../image/quotation.svg);
        width: 1.25vw;
        height: 1.25vw;
        position: absolute;
        left: 2.5vw;
        top: 2.5vw
    }

    main.news_detail .detail_content blockquote::after {
        display: block;
        content: '';
        background-size: cover;
        background-image: url(../image/quotation.svg);
        transform: rotate(180deg);
        width: 1.25vw;
        height: 1.25vw;
        position: absolute;
        right: 2.5vw;
        bottom: 2.5vw
    }

    main.news_detail .detail_content blockquote a[target="_blank"] {
        margin-top: 1.875vw;
        font-style: italic
    }

    main.news_detail .detail_content a {
        color: #969ba0;
        text-decoration: underline;
        line-height: 1;
        font-size: .8761vw;
        letter-spacing: .05em;
        margin-top: 1.25vw
    }

    main.news_detail .detail_content a:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content a[target='_blank'] {
        display: inline-flex;
        align-items: center
    }

    main.news_detail .detail_content a[target='_blank']::after {
        display: block;
        content: '';
        background-size: cover;
        background-image: url(../image/link.svg);
        width: 10px;
        height: 10px;
        margin-left: .25vw;
        margin-right: .5vw
    }

    main.news_detail .detail_content a:hover {
        text-decoration: none
    }

    main.news_detail .detail_content img {
        display: block;
        width: 100%;
        object-fit: contain;
        margin-top: 4.375vw
    }

    main.news_detail .detail_content img:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content ul {
        margin-top: 3vw
    }

    main.news_detail .detail_content ul:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content li {
        line-height: 2;
        font-size: .8761vw;
        letter-spacing: .05em;
        display: flex;
        align-items: flex-start
    }

    main.news_detail .detail_content li::before {
        content: '';
        flex-shrink: 0;
        display: flex;
        position: relative;
        top: .8125vw;
        background-color: #2c1b1e;
        width: .25vw;
        height: 1px;
        margin-right: .25vw
    }

    main.news_detail .detail_content table {
        width: 100%;
        border-collapse: collapse;
        border: 1px solid #ebedf0;
        table-layout: fixed;
        position: relative;
        margin-top: 3.625vw
    }

    main.news_detail .detail_content table:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content caption {
        line-height: 2.42857;
        text-align: right;
        margin-bottom: .9375vw;
        font-size: .8761vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content caption::after,
    main.news_detail .detail_content caption::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2.42857) * .5em)
    }

    main.news_detail .detail_content th {
        width: 12.5vw;
        padding: .75vw 0 .8125vw;
        border: 1px solid #ebedf0;
        background-color: #f7f8f9;
        font-weight: 500;
        vertical-align: middle;
        font-size: .8761vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content tr>th:first-child {
        font-weight: 600
    }

    main.news_detail .detail_content td {
        width: 12.5vw;
        border: 1px solid #ebedf0;
        text-align: center;
        vertical-align: middle;
        font-size: .8761vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content .img_wrap {
        display: flex;
        flex-direction: row;
        margin-top: 5vw
    }

    main.news_detail .detail_content .img_wrap:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content .img_content {
        width: 31.25vw;
        display: flex;
        flex-direction: column
    }

    main.news_detail .detail_content .img_content:not(:first-child) {
        margin-left: 2.5vw
    }

    main.news_detail .detail_content .caption {
        margin-top: 1.25vw
    }

    main.news_detail .detail_content .caption:first-child {
        margin-top: 0
    }

    main.news_detail .share {
        padding-bottom: 4vw;
        border-bottom: 1px solid #ebedf0;
        margin-top: 4.375vw;
        display: flex;
        flex-direction: row;
        align-items: center
    }

    main.news_detail .share_txt {
        color: #969ba0;
        line-height: 1.25;
        font-size: 1.00125vw;
        letter-spacing: .05em
    }

    main.news_detail .share_txt::after,
    main.news_detail .share_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.25) * .5em)
    }

    main.news_detail .share_imgs {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-left: 1.25vw
    }

    main.news_detail .share_imgs::before {
        content: '';
        display: flex;
        background-color: #969ba0;
        width: 4.375vw;
        height: 1px;
        margin-right: .25vw
    }

    main.news_detail .share_img1,
    main.news_detail .share_img2,
    main.news_detail .share_img3 {
        margin-left: 1.25vw
    }

    main.news_detail .share_imgs svg {
        fill: #969ba0;
        transition: fill .2s
    }

    main.news_detail .share_img1 svg {
        width: .6015vw;
        height: 1.125vw
    }

    main.news_detail .share_img2 svg {
        width: 1.3515vw;
        height: 1.05125vw
    }

    main.news_detail .share_img3 svg {
        width: 1.2735vw;
        height: 1.19875vw
    }

    main.news_detail .share_imgs a:hover svg {
        fill: #e72420
    }

    main.news_detail .pagenation {
        margin: 3.75vw auto 0
    }

    main.news_detail .pagenation .child {
        padding-top: 0;
        margin-left: 0;
        margin-right: 0;
        padding-bottom: 0;
        width: auto
    }

    main.news_detail .pagenation .child .prev {
        font-size: 1.00125vw
    }

    main.news_detail .pagenation .child .prev a:before,
    main.news_detail .pagenation .child .prev.off:before {
        width: .375vw;
        height: .375vw;
        margin-top: -.25vw;
        margin-right: 1.125vw
    }

    main.news_detail .pagenation .child .prev:not(.off) a:hover:before {
        border-color: #e72420
    }

    main.news_detail .pagenation .child .prev:not(.off) a:hover span {
        color: #e72420 !important
    }

    main.news_detail .pagenation .child .prev:not(.off) a:before {
        transition: border-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news_detail .pagenation .child .prev:not(.off) a span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news_detail .pagenation .child .prev:not(.off) a span:nth-child(1) {
        transition-delay: 50ms
    }

    main.news_detail .pagenation .child .prev:not(.off) a span:nth-child(2) {
        transition-delay: 75ms
    }

    main.news_detail .pagenation .child .prev:not(.off) a span:nth-child(3) {
        transition-delay: .1s
    }

    main.news_detail .pagenation .child .prev:not(.off) a span:nth-child(4) {
        transition-delay: 125ms
    }

    main.news_detail .pagenation .child .next {
        font-size: 1.00125vw
    }

    main.news_detail .pagenation .child .next a:after,
    main.news_detail .pagenation .child .next.off:after {
        width: .375vw;
        height: .375vw;
        margin-top: -.25vw;
        margin-left: 1.125vw
    }

    main.news_detail .pagenation .child .next:not(.off) a:hover:after {
        border-color: #e72420
    }

    main.news_detail .pagenation .child .next:not(.off) a:hover span {
        color: #e72420 !important
    }

    main.news_detail .pagenation .child .next:not(.off) a:after {
        transition: border-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 125ms
    }

    main.news_detail .pagenation .child .next:not(.off) a span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news_detail .pagenation .child .next:not(.off) a span:nth-child(1) {
        transition-delay: 25ms
    }

    main.news_detail .pagenation .child .next:not(.off) a span:nth-child(2) {
        transition-delay: 50ms
    }

    main.news_detail .pagenation .child .next:not(.off) a span:nth-child(3) {
        transition-delay: 75ms
    }

    main.news_detail .pagenation .child .next:not(.off) a span:nth-child(4) {
        transition-delay: .1s
    }

    main.news_detail .pagenation .child .back {
        font-size: 1.12641vw
    }

    main.news_detail .pagenation .child .back:hover:after {
        background-color: #e72420
    }

    main.news_detail .pagenation .child .back:hover span {
        color: #e72420 !important
    }

    main.news_detail .pagenation .child .back:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .35s
    }

    main.news_detail .pagenation .child .back span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.news_detail .pagenation .child .back span:nth-child(1) {
        transition-delay: 25ms
    }

    main.news_detail .pagenation .child .back span:nth-child(2) {
        transition-delay: 50ms
    }

    main.news_detail .pagenation .child .back span:nth-child(3) {
        transition-delay: 75ms
    }

    main.news_detail .pagenation .child .back span:nth-child(4) {
        transition-delay: .1s
    }

    main.news_detail .pagenation .child .back span:nth-child(5) {
        transition-delay: 125ms
    }

    main.news_detail .pagenation .child .back span:nth-child(6) {
        transition-delay: .15s
    }

    main.news_detail .pagenation .child .back span:nth-child(7) {
        transition-delay: 175ms
    }

    main.news_detail .pagenation .child .back span:nth-child(8) {
        transition-delay: .2s
    }

    main.news_detail .pagenation .child .back span:nth-child(9) {
        transition-delay: 225ms
    }

    main.news_detail .pagenation .child .back span:nth-child(10) {
        transition-delay: .25s
    }

    main.news_detail .pagenation .child .back span:nth-child(11) {
        transition-delay: 275ms
    }

    main.news_detail .pagenation .child .back span:nth-child(12) {
        transition-delay: .3s
    }

    main.news_detail .pagenation .child .back span:nth-child(13) {
        transition-delay: 325ms
    }

    main.news_detail .pagenation .child .back_icon {
        top: .0625vw;
        width: .625vw;
        height: .625vw;
        margin-right: .625vw
    }

    main.news_detail .pagenation .child .back_icon::after,
    main.news_detail .pagenation .child .back_icon::before {
        width: .25vw;
        height: .25vw
    }

    main.news_detail .pagenation .child .back_icon_inner::after,
    main.news_detail .pagenation .child .back_icon_inner::before {
        width: .25vw;
        height: .25vw
    }
}

@media screen and (max-width:1023px) {
    main.news_detail .section1 .child {
        width: 86.66667vw;
        margin: 0 auto;
        padding: 37.33333vw 0 17.33333vw
    }

    main.news_detail .section1 .child h1 {
        line-height: 1.6;
        margin-top: 5.33333vw;
        font-size: 6.66667vw;
        letter-spacing: 0
    }

    main.news_detail .section1 .child h1::after,
    main.news_detail .section1 .child h1::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.6) * .5em)
    }

    main.news_detail .date {
        display: inline-flex;
        align-items: center;
        line-height: 1;
        font-size: 3.2vw;
        letter-spacing: 0
    }

    main.news_detail .date::after,
    main.news_detail .date::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1) * .5em)
    }

    main.news_detail .sub_tit {
        display: inline-flex;
        align-items: center;
        position: relative;
        top: .26667vw;
        line-height: 1;
        font-size: 2.4vw;
        letter-spacing: .3em
    }

    main.news_detail .sub_tit::after,
    main.news_detail .sub_tit::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1) * .5em)
    }

    main.news_detail .sub_tit:before {
        content: "";
        position: relative;
        top: -.13333vw;
        width: 9.33333vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-left: 5.33333vw;
        margin-right: 2.66667vw
    }

    main.news_detail .detail_content {
        padding-top: 9.86667vw;
        border-top: 1px solid #ebedf0;
        margin-top: 5.86667vw;
        line-height: 2
    }

    main.news_detail .detail_content h2 {
        line-height: 1.75;
        font-size: 5.33333vw;
        letter-spacing: .05em;
        margin-top: 10.4vw
    }

    main.news_detail .detail_content h2::after,
    main.news_detail .detail_content h2::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.75) * .5em)
    }

    main.news_detail .detail_content h2:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content h3 {
        line-height: 1.88235;
        font-size: 4.53333vw;
        letter-spacing: .05em;
        margin-top: 10.4vw
    }

    main.news_detail .detail_content h3::after,
    main.news_detail .detail_content h3::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.88235) * .5em)
    }

    main.news_detail .detail_content h3:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content h4 {
        line-height: 2;
        font-size: 4vw;
        letter-spacing: .05em;
        margin-top: 10.4vw
    }

    main.news_detail .detail_content h4::after,
    main.news_detail .detail_content h4::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2) * .5em)
    }

    main.news_detail .detail_content h4:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content p+h2,
    main.news_detail .detail_content p+h3,
    main.news_detail .detail_content p+h4 {
        margin-top: 9.06667vw
    }

    main.news_detail .detail_content p {
        font-size: 3.2vw;
        letter-spacing: .05em;
        margin-top: 9.33333vw
    }

    main.news_detail .detail_content p::after,
    main.news_detail .detail_content p::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2) * .5em)
    }

    main.news_detail .detail_content p:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content h2+p,
    main.news_detail .detail_content h3+p,
    main.news_detail .detail_content h4+p {
        margin-top: 4.8vw
    }

    main.news_detail .detail_content strong {
        line-height: 2;
        font-size: 3.2vw;
        letter-spacing: .05em;
        font-weight: 600;
        margin-top: 6.66667vw;
        display: inline-block
    }

    main.news_detail .detail_content strong::after,
    main.news_detail .detail_content strong::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2) * .5em)
    }

    main.news_detail .detail_content strong:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content blockquote {
        padding: 14.4vw 6.66667vw 13.6vw;
        border: 1px solid #ebedf0;
        margin-top: 10.66667vw;
        position: relative;
        line-height: 2;
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content blockquote::after,
    main.news_detail .detail_content blockquote::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2) * .5em)
    }

    main.news_detail .detail_content blockquote:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content blockquote::before {
        display: block;
        content: '';
        background-size: cover;
        background-image: url(../image/quotation.svg);
        width: 5.33333vw;
        height: 5.33333vw;
        position: absolute;
        left: 5.33333vw;
        top: 5.33333vw
    }

    main.news_detail .detail_content blockquote::after {
        display: block;
        content: '';
        background-size: cover;
        background-image: url(../image/quotation.svg);
        transform: rotate(180deg);
        width: 5.33333vw;
        height: 5.33333vw;
        position: absolute;
        right: 5.33333vw;
        bottom: 5.33333vw
    }

    main.news_detail .detail_content blockquote a[target="_blank"] {
        margin-top: 8vw;
        font-style: italic
    }

    main.news_detail .detail_content blockquote a[target="_blank"]::after {
        margin-left: 1.33333vw
    }

    main.news_detail .detail_content a {
        color: #969ba0;
        text-decoration: underline;
        line-height: 2;
        font-size: 3.2vw;
        letter-spacing: .05em;
        margin-top: 2.66667vw
    }

    main.news_detail .detail_content a:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content a[target='_blank'] {
        display: inline-flex;
        align-items: center
    }

    main.news_detail .detail_content a[target='_blank']::after {
        display: block;
        content: '';
        background-size: cover;
        background-image: url(../image/link.svg);
        width: 9px;
        height: 9px;
        margin-left: .53333vw;
        margin-right: 1.06667vw
    }

    main.news_detail .detail_content img {
        display: block;
        width: 100%;
        object-fit: contain;
        margin-top: 10.66667vw
    }

    main.news_detail .detail_content img:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content ul {
        margin-top: 8.53333vw
    }

    main.news_detail .detail_content ul:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content li {
        line-height: 2;
        font-size: 3.2vw;
        letter-spacing: .05em;
        display: flex;
        align-items: flex-start
    }

    main.news_detail .detail_content li::before {
        content: '';
        flex-shrink: 0;
        display: flex;
        position: relative;
        top: 3.06667vw;
        background-color: #2c1b1e;
        width: 1.06667vw;
        height: 1px;
        margin-right: 1.6vw
    }

    main.news_detail .detail_content table {
        width: 100%;
        border-collapse: collapse;
        border: 1px solid #ebedf0;
        table-layout: fixed;
        position: relative;
        margin-top: 8.26667vw
    }

    main.news_detail .detail_content table:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content caption {
        line-height: 2;
        text-align: right;
        margin-bottom: 4vw;
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content caption::after,
    main.news_detail .detail_content caption::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 2) * .5em)
    }

    main.news_detail .detail_content th {
        padding: 2.66667vw 1.33333vw;
        border: 1px solid #ebedf0;
        background-color: #f7f8f9;
        font-weight: 500;
        vertical-align: middle;
        line-height: 1.33333;
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content th::after,
    main.news_detail .detail_content th::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.33333) * .5em)
    }

    main.news_detail .detail_content tr>th:first-child {
        font-weight: 600
    }

    main.news_detail .detail_content td {
        padding: 2.66667vw 1.33333vw;
        border: 1px solid #ebedf0;
        text-align: center;
        vertical-align: middle;
        line-height: 1.33333;
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.news_detail .detail_content td::after,
    main.news_detail .detail_content td::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.33333) * .5em)
    }

    main.news_detail .detail_content .img_wrap {
        display: flex;
        flex-direction: column;
        margin-top: 10.66667vw
    }

    main.news_detail .detail_content .img_wrap:first-child {
        margin-top: 0
    }

    main.news_detail .detail_content .img_content {
        width: 100%;
        display: flex;
        flex-direction: column
    }

    main.news_detail .detail_content .img_content:not(:first-child) {
        margin-top: 10.66667vw
    }

    main.news_detail .detail_content .caption {
        margin-top: 5.33333vw
    }

    main.news_detail .detail_content .caption:first-child {
        margin-top: 0
    }

    main.news_detail .share {
        padding-bottom: 10.66667vw;
        border-bottom: 1px solid #ebedf0;
        margin-top: 10.66667vw;
        display: flex;
        flex-direction: row;
        align-items: center
    }

    main.news_detail .share_txt {
        color: #969ba0;
        line-height: 1.33333;
        font-size: 4vw;
        letter-spacing: .05em
    }

    main.news_detail .share_txt::after,
    main.news_detail .share_txt::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.33333) * .5em)
    }

    main.news_detail .share_imgs {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-left: 4vw
    }

    main.news_detail .share_imgs::before {
        content: '';
        display: flex;
        background-color: #969ba0;
        width: 20vw;
        height: 1px
    }

    main.news_detail .share_imgs svg {
        fill: #969ba0
    }

    main.news_detail .share_img1 svg {
        width: 2.5664vw;
        height: 4.8vw;
        margin-left: 5.33333vw
    }

    main.news_detail .share_img2 svg {
        width: 5.7664vw;
        height: 4.48533vw;
        margin-left: 5.33333vw
    }

    main.news_detail .share_img3 svg {
        width: 5.4336vw;
        height: 5.11467vw;
        margin-left: 5.33333vw
    }

    main.news_detail .pagenation {
        width: 87vw;
        margin: 8.26667vw auto 0
    }

    main.news_detail .pagenation .child {
        padding-top: 0;
        padding-bottom: 0
    }

    main.news_detail .pagenation .child .prev {
        font-size: 4vw
    }

    main.news_detail .pagenation .child .prev a:before,
    main.news_detail .pagenation .child .prev.off:before {
        width: 1.6vw;
        height: 1.6vw;
        margin-top: -.53333vw;
        margin-right: 2.4vw;
        border-width: 1px
    }

    main.news_detail .pagenation .child .next {
        font-size: 4vw
    }

    main.news_detail .pagenation .child .next a:after,
    main.news_detail .pagenation .child .next.off:after {
        width: 1.6vw;
        height: 1.6vw;
        margin-top: -.53333vw;
        margin-left: 2.4vw;
        border-width: 1px
    }

    main.news_detail .pagenation .child .back {
        font-size: 4vw
    }

    main.news_detail .pagenation .child .back_icon {
        top: .13333vw;
        width: 1.86667vw;
        height: 1.86667vw;
        margin-right: 1.86667vw
    }

    main.news_detail .pagenation .child .back_icon::after,
    main.news_detail .pagenation .child .back_icon::before {
        width: .8vw;
        height: .8vw
    }

    main.news_detail .pagenation .child .back_icon_inner::after,
    main.news_detail .pagenation .child .back_icon_inner::before {
        width: .8vw;
        height: .8vw
    }
}

main.reserve .section1 .child h1 {
    position: relative
}

main.reserve .section1 .child h1 .sub_txt {
    display: block;
    position: absolute;
    font-weight: 400;
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .2s
}

main.reserve .section1 .child h1 .sub_txt.show {
    opacity: 1
}

main.reserve .section1 .child h1 .sub_txt.show:before {
    width: 9.4vw;
    transition: width 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.reserve .section1 .child h1 .sub_txt:before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.2vw
}

main.reserve .section1 .child h1 .txt {
    display: block;
    line-height: .95;
    font-weight: 400
}

main.reserve .section1 .child h1 .txt.show span {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.reserve .section1 .child h1 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(60px, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.reserve .section1 .child h1 .txt span:nth-child(1) {
    transition-delay: 0s
}

main.reserve .section1 .child h1 .txt span:nth-child(2) {
    transition-delay: 90ms
}

main.reserve .section1 .child h1 .txt span:nth-child(3) {
    transition-delay: .18s
}

main.reserve .section1 .child h1 .txt span:nth-child(4) {
    transition-delay: .27s
}

main.reserve .section1 .child h1 .txt span:nth-child(5) {
    transition-delay: .36s
}

main.reserve .section1 .child h1 .txt span:nth-child(6) {
    transition-delay: .45s
}

main.reserve .section1 .child h1 .txt span:nth-child(7) {
    transition-delay: .54s
}

main.reserve .section1 .child h1 .txt span:nth-child(8) {
    transition-delay: .63s
}

main.reserve .section1 .child h1 .txt span:nth-child(9) {
    transition-delay: .72s
}

main.reserve .section1 .child h1 .txt span:nth-child(10) {
    transition-delay: .81s
}

main.reserve .section1 .child h1 .txt span:nth-child(11) {
    transition-delay: .9s
}

main.reserve .section1 .child .list .items li.item a .location {
    font-weight: 600;
    letter-spacing: .1em
}

main.reserve .section1 .child .pagenation {
    font-weight: 600
}

main.reserve .section1 .child .pagenation .child {
    position: relative
}

main.reserve .section1 .child .pagenation .child .next,
main.reserve .section1 .child .pagenation .child .prev {
    position: absolute
}

main.reserve .section1 .child .pagenation .child .prev {
    z-index: 1;
    left: 0;
    top: 0;
    color: #969ba0
}

main.reserve .section1 .child .pagenation .child .prev a:hover:after {
    background-color: #e72420
}

main.reserve .section1 .child .pagenation .child .prev a:hover span {
    color: #e72420 !important
}

main.reserve .section1 .child .pagenation .child .prev a:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .1s
}

main.reserve .section1 .child .pagenation .child .prev a span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.reserve .section1 .child .pagenation .child .prev a span:nth-child(1) {
    transition-delay: 25ms
}

main.reserve .section1 .child .pagenation .child .prev a span:nth-child(2) {
    transition-delay: 50ms
}

main.reserve .section1 .child .pagenation .child .prev a span:nth-child(3) {
    transition-delay: 75ms
}

main.reserve .section1 .child .pagenation .child .prev a:hover {
    border-bottom: 1px solid #e72420
}

main.reserve .section1 .child .pagenation .child .prev:hover:before {
    border-top: solid 2px #e72420;
    border-right: solid 2px #e72420
}

main.reserve .section1 .child .pagenation .child .prev.off:before {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.reserve .section1 .child .pagenation .child .prev:before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(-135deg);
    position: relative;
    top: 50%;
    left: 0;
    margin-top: -4px;
    display: inline-block;
    margin-right: 18px;
    transition: border .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .2s
}

main.reserve .section1 .child .pagenation .child .next {
    z-index: 2;
    right: 0;
    top: 0;
    color: #969ba0
}

main.reserve .section1 .child .pagenation .child .next a:hover:after {
    background-color: #e72420
}

main.reserve .section1 .child .pagenation .child .next a:hover span {
    color: #e72420 !important
}

main.reserve .section1 .child .pagenation .child .next a:after {
    transition: background-color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: 125ms
}

main.reserve .section1 .child .pagenation .child .next a span {
    color: #2c1b1e;
    transition: color .6s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.reserve .section1 .child .pagenation .child .next a span:nth-child(1) {
    transition-delay: 25ms
}

main.reserve .section1 .child .pagenation .child .next a span:nth-child(2) {
    transition-delay: 50ms
}

main.reserve .section1 .child .pagenation .child .next a span:nth-child(3) {
    transition-delay: 75ms
}

main.reserve .section1 .child .pagenation .child .next a span:nth-child(4) {
    transition-delay: .1s
}

main.reserve .section1 .child .pagenation .child .next a:hover {
    border-bottom: 1px solid #e72420
}

main.reserve .section1 .child .pagenation .child .next:hover:after {
    border-top: solid 2px #e72420;
    border-right: solid 2px #e72420
}

main.reserve .section1 .child .pagenation .child .next.off:after {
    border-top: solid 2px #969ba0;
    border-right: solid 2px #969ba0
}

main.reserve .section1 .child .pagenation .child .next:after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #2c1b1e;
    border-right: solid 2px #2c1b1e;
    transform: rotate(45deg);
    position: relative;
    top: 50%;
    left: 0;
    margin-top: -4px;
    display: inline-block;
    margin-left: 14px;
    transition: border .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
    transition-delay: .2s
}

main.reserve .section1 .child .pagenation .child ul {
    display: flex;
    position: relative;
    left: 50%;
    transform: translate3d(-50%, 0, 0);
    justify-content: center
}

main.reserve .section1 .child .pagenation .child ul li {
    font-weight: 400
}

main.reserve .section1 .child .pagenation .child ul li a {
    color: #969ba0
}

main.reserve .section1 .child .pagenation .child ul li a:hover {
    color: #e72420;
    border-bottom: 1px solid #e72420
}

main.reserve .section1 .child .pagenation .child ul li.current a {
    color: #2c1b1e;
    border-bottom: 1px solid #2c1b1e
}

@media screen and (min-width:1024px) {
    main.reserve .section {
        position: relative
    }

    main.reserve .section .child h2 {
        position: relative;
        left: 20vw
    }

    main.reserve .section .child h2 .sub_txt {
        display: block;
        font-size: 1.25156vw
    }

    main.reserve .section .child h2 .sub_txt:after {
        content: "";
        display: inline-block;
        width: 4.4vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-left: 1.3vw;
        position: relative;
        top: -.1vw
    }

    main.reserve .section .child h2 .txt {
        display: block;
        margin-top: -.2vw;
        letter-spacing: .15em;
        font-size: 3.12891vw;
        font-weight: 400
    }

    main.reserve .section .child h2 .txt .space {
        width: 20px
    }

    main.reserve .section1 .child h1 {
        padding-top: 16.8vw;
        left: 50%;
        margin-left: -34vw;
        letter-spacing: -.3em
    }

    main.reserve .section1 .child h1 .sub_txt {
        font-size: 1.12641vw;
        left: 31.9vw;
        top: 20vw;
        letter-spacing: .3em
    }

    main.reserve .section1 .child h1 .sub_txt:before {
        margin-right: 1.2vw;
        top: -6px
    }

    main.reserve .section1 .child h1 .txt {
        letter-spacing: -.045em;
        font-size: 7.50939vw
    }

    main.reserve .section1 .child .local_nav ul {
        position: relative;
        display: flex;
        font-size: .81352vw;
        margin-top: 5vw;
        left: 22.5vw;
        font-weight: 600
    }

    main.reserve .section1 .child .local_nav ul li {
        margin-right: 2.5vw;
        cursor: pointer
    }

    main.reserve .section1 .child .local_nav ul li:hover:after {
        background-color: #e72420
    }

    main.reserve .section1 .child .local_nav ul li:hover span {
        color: #e72420 !important
    }

    main.reserve .section1 .child .local_nav ul li:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 225ms
    }

    main.reserve .section1 .child .local_nav ul li span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(1) {
        transition-delay: 25ms
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(2) {
        transition-delay: 50ms
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(3) {
        transition-delay: 75ms
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(4) {
        transition-delay: .1s
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(5) {
        transition-delay: 125ms
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(6) {
        transition-delay: .15s
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(7) {
        transition-delay: 175ms
    }

    main.reserve .section1 .child .local_nav ul li span:nth-child(8) {
        transition-delay: .2s
    }

    main.reserve .section1 .child .list {
        width: 68vw;
        margin: 3.9vw auto 0;
        display: flex
    }

    main.reserve .section1 .child .list h2 {
        display: none
    }

    main.reserve .section1 .child .list .contents_nav {
        width: 12vw;
        padding-left: .3vw;
        margin-right: 4.3vw
    }

    main.reserve .section1 .child .list .contents_nav h3 {
        font-size: 1.1rem;
        font-weight: 400;
        padding-top: 2px;
        border-bottom: 1px solid #ebedf0
    }

    main.reserve .section1 .child .list .contents_nav ul {
        font-size: 1.00125vw;
        margin-top: 2vw;
        font-weight: 600;
        padding-bottom: .8vw;
        border-bottom: 1px solid #ebedf0
    }

    main.reserve .section1 .child .list .contents_nav ul li {
        padding-left: .6vw;
        letter-spacing: .3em;
        margin-bottom: 1vw
    }

    main.reserve .section1 .child .list .contents_nav ul li:hover:after {
        background-color: #e72420
    }

    main.reserve .section1 .child .list .contents_nav ul li:hover span {
        color: #e72420 !important
    }

    main.reserve .section1 .child .list .contents_nav ul li:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .1s
    }

    main.reserve .section1 .child .list .contents_nav ul li span {
        color: #969ba0;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.reserve .section1 .child .list .contents_nav ul li span:nth-child(1) {
        transition-delay: 25ms
    }

    main.reserve .section1 .child .list .contents_nav ul li span:nth-child(2) {
        transition-delay: 50ms
    }

    main.reserve .section1 .child .list .contents_nav ul li span:nth-child(3) {
        transition-delay: 75ms
    }

    main.reserve .section1 .child .list .contents_nav ul li a {
        position: relative
    }

    main.reserve .section1 .child .list .contents_nav ul li a span {
        color: #969ba0
    }

    main.reserve .section1 .child .list .contents_nav ul li a:after {
        content: "";
        width: 100%;
        height: 1px;
        display: inline-block;
        position: absolute;
        top: 1.2vw;
        left: 0;
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .1s
    }

    main.reserve .section1 .child .list .contents_nav ul li:hover a:after {
        background-color: #e72420 !important
    }

    main.reserve .section1 .child .list .contents_nav ul li.current a span {
        color: #2c1b1e
    }

    main.reserve .section1 .child .list .contents_nav ul li.current a:after {
        background-color: #2c1b1e
    }

    main.reserve .section1 .child .list .items {
        width: 68vw
    }

    main.reserve .section1 .child .list .items h3 {
        font-size: 1.1rem;
        font-weight: 400;
        padding-top: 2px;
        border-bottom: 1px solid #ebedf0
    }

    main.reserve .section1 .child .list .items ul {
        flex-wrap: wrap;
        margin-top: 2vw
    }

    main.reserve .section1 .child .list .items ul li.item a {
        padding-right: 4.4%;
        margin-bottom: 1.8vw;
        display: flex;
        padding-bottom: 1.95vw;
        border-bottom: 1px solid #ebedf0;
        position: relative
    }

    main.reserve .section1 .child .list .items ul li.item a:hover .btn:after {
        background-color: #e72420
    }

    main.reserve .section1 .child .list .items ul li.item a:hover .btn span {
        color: #e72420
    }

    main.reserve .section1 .child .list .items ul li.item a .btn:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 225ms
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(1) {
        transition-delay: 25ms
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(2) {
        transition-delay: 50ms
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(3) {
        transition-delay: 75ms
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(4) {
        transition-delay: .1s
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(5) {
        transition-delay: 125ms
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(6) {
        transition-delay: .15s
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(7) {
        transition-delay: 175ms
    }

    main.reserve .section1 .child .list .items ul li.item a .btn span:nth-child(8) {
        transition-delay: .2s
    }

    main.reserve .section1 .child .list .items ul li.item a:hover .btn:after {
        background: url(../image/external_red.svg);
        background-size: contain
    }

    main.reserve .section1 .child .list .items ul li.item a img {
        width: 6.25vw;
        height: 6.25vw
    }

    main.reserve .section1 .child .list .items ul li.item a .cont {
        display: flex
    }

    main.reserve .section1 .child .list .items ul li.item a .cont .chunk .upper {
        display: flex
    }

    main.reserve .section1 .child .list .items ul li.item a .cont .chunk .lower .address {
        margin-left: 2.4vw;
        margin-top: -.4vw;
        font-size: .8761vw;
        color: #969ba0
    }

    main.reserve .section1 .child .list .items ul li.item a .hotels_tit {
        white-space: nowrap;
        margin-top: .2vw;
        font-size: 2.0025vw;
        margin-left: 2.5vw;
        letter-spacing: .2em
    }

    main.reserve .section1 .child .list .items ul li.item a .since {
        margin-top: 1vw;
        margin-left: .9vw;
        white-space: nowrap;
        color: #969ba0;
        font-size: 1.12641vw
    }

    main.reserve .section1 .child .list .items ul li.item a .location {
        margin-top: 2.4vw;
        margin-left: .6vw;
        white-space: nowrap;
        font-size: .8761vw
    }

    main.reserve .section1 .child .list .items ul li.item a .btn {
        position: absolute;
        font-size: .8761vw;
        margin-top: 2.3vw;
        white-space: nowrap;
        right: .3vw
    }

    main.reserve .section1 .child .list .items ul li.item a .btn:after {
        transition: background .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .3s
    }

    main.reserve .section1 .child .list .items ul li.item:nth-child(3n) {
        padding-right: 0
    }

    main.reserve .section1 .child .pagenation {
        width: 68vw;
        margin: 3.8vw auto 0
    }

    main.reserve .section1 .child .pagenation .child {
        margin-left: 14.2vw;
        width: 53.5vw
    }

    main.reserve .section1 .child .pagenation .child .prev {
        font-size: 1.6rem
    }

    main.reserve .section1 .child .pagenation .child .next {
        font-size: 1.6rem
    }

    main.reserve .section1 .child .pagenation .child ul {
        font-size: 1.4rem
    }

    main.reserve .section1 .child .pagenation .child ul li {
        margin-left: 1vw;
        margin-right: 1vw
    }

    main.reserve .section2 {
        padding-top: 17.8vw
    }

    main.reserve .section3 {
        padding-top: 8vw
    }

    main.reserve .section4 {
        padding-top: 8.4vw;
        margin-bottom: 20vw
    }

    main.reserve .section2 .child .items,
    main.reserve .section3 .child .items,
    main.reserve .section4 .child .items {
        position: relative;
        left: 20vw;
        width: 66vw;
        border-top: 1px solid #ebedf0;
        margin-top: 2vw
    }

    main.reserve .section2 .child .items .item,
    main.reserve .section3 .child .items .item,
    main.reserve .section4 .child .items .item {
        border-bottom: 1px solid #ebedf0;
        display: flex;
        padding: 2.9vw 0
    }

    main.reserve .section2 .child .items .item .head,
    main.reserve .section3 .child .items .item .head,
    main.reserve .section4 .child .items .item .head {
        width: 23.8vw
    }

    main.reserve .section2 .child .items .item .head .ja,
    main.reserve .section3 .child .items .item .head .ja,
    main.reserve .section4 .child .items .item .head .ja {
        font-size: 1.37672vw;
        letter-spacing: .035em
    }

    main.reserve .section2 .child .items .item .head .en,
    main.reserve .section3 .child .items .item .head .en,
    main.reserve .section4 .child .items .item .head .en {
        font-size: 1rem;
        margin-left: .7vw;
        color: #969ba0;
        top: -.2vw;
        position: relative
    }

    main.reserve .section2 .child .items .item .body,
    main.reserve .section3 .child .items .item .body,
    main.reserve .section4 .child .items .item .body {
        font-size: .8761vw
    }

    main.reserve .section2 .child .items .item .body div,
    main.reserve .section3 .child .items .item .body div,
    main.reserve .section4 .child .items .item .body div {
        margin-top: .7vw
    }

    main.reserve .section2 .child .items .item .body div.second,
    main.reserve .section3 .child .items .item .body div.second,
    main.reserve .section4 .child .items .item .body div.second {
        margin-top: 1.4vw;
        margin-bottom: .4vw
    }

    main.reserve .section2 .child .items .item .body div span,
    main.reserve .section3 .child .items .item .body div span,
    main.reserve .section4 .child .items .item .body div span {
        font-size: 1.1rem
    }

    main.reserve .section2 .child .items .item .body div .head,
    main.reserve .section3 .child .items .item .body div .head,
    main.reserve .section4 .child .items .item .body div .head {
        color: #969ba0
    }

    main.reserve .section2 .child .items .item .body div .body,
    main.reserve .section3 .child .items .item .body div .body,
    main.reserve .section4 .child .items .item .body div .body {
        margin-bottom: .5vw
    }

    main.reserve .section2 .child .items .item .body div.frame,
    main.reserve .section3 .child .items .item .body div.frame,
    main.reserve .section4 .child .items .item .body div.frame {
        margin-top: .7vw;
        border: 1px solid #ebedf0;
        padding: 4px 41px 15px 36px;
        margin-bottom: 2vw;
        font-size: 1.1rem
    }

    main.reserve .section2 .child .items .item .body.cancel div,
    main.reserve .section3 .child .items .item .body.cancel div,
    main.reserve .section4 .child .items .item .body.cancel div {
        margin-top: .5vw
    }

    main.reserve .section2 .child .items .item .body.cancel div .head,
    main.reserve .section3 .child .items .item .body.cancel div .head,
    main.reserve .section4 .child .items .item .body.cancel div .head {
        margin-top: 0
    }

    main.reserve .section2 .child .items .item .body.cancel div .body,
    main.reserve .section3 .child .items .item .body.cancel div .body,
    main.reserve .section4 .child .items .item .body.cancel div .body {
        margin-top: 0;
        margin-bottom: .9vw
    }
}

@media screen and (max-width:1023px) {
    main.reserve .section .child h2 {
        position: relative
    }

    main.reserve .section .child h2 .sub_txt {
        font-size: 3.46667vw;
        display: block
    }

    main.reserve .section .child h2 .sub_txt:after {
        content: "";
        display: inline-block;
        width: 9.1vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-left: 2.7vw;
        position: relative;
        top: -.5vw;
        height: 1px
    }

    main.reserve .section .child h2 .txt {
        font-size: 10.66667vw;
        display: block;
        margin-top: -3vw;
        font-weight: 400
    }

    main.reserve .section1 .child h1 {
        padding-top: 37.3vw;
        left: 6vw;
        letter-spacing: 0
    }

    main.reserve .section1 .child h1 .sub_txt {
        font-size: 2.4vw;
        top: 54.5vw;
        left: 0;
        letter-spacing: .2em;
        white-space: nowrap;
        display: block;
        position: absolute;
        font-weight: 400;
        opacity: 0;
        transition: opacity 1.3s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        transition-delay: .2s
    }

    main.reserve .section1 .child h1 .sub_txt.show {
        opacity: 1
    }

    main.reserve .section1 .child h1 .sub_txt.show:before {
        width: 3.1vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.reserve .section1 .child h1 .sub_txt:before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw
    }

    main.reserve .section1 .child h1 .sub_txt:before {
        top: -.9vw;
        margin-right: 1.5vw
    }

    main.reserve .section1 .child h1 .txt {
        font-size: 16vw
    }

    main.reserve .section1 .child .local_nav {
        margin-top: 16vw
    }

    main.reserve .section1 .child .local_nav ul {
        position: relative;
        font-size: 3.73333vw;
        width: 73vw;
        left: 13.4vw;
        letter-spacing: .15em
    }

    main.reserve .section1 .child .local_nav ul li {
        margin-bottom: 5.1vw;
        cursor: pointer;
        position: relative
    }

    main.reserve .section1 .child .local_nav ul li:before {
        content: "";
        background-color: #ebedf0;
        display: inline-block;
        position: absolute;
        top: 7vw;
        left: 0;
        width: 100%;
        height: 1px
    }

    main.reserve .section1 .child .local_nav ul li:after {
        content: "";
        position: absolute;
        top: 4vw;
        right: 0;
        background: url(../image/arrow.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 5.86667vw;
        height: 3.2vw;
        display: inline-block
    }

    main.reserve .section1 .child .list {
        width: 87vw;
        margin: 17vw auto 0
    }

    main.reserve .section1 .child .list h2 {
        font-size: 3.73333vw;
        border-bottom: 1px solid #ebedf0;
        padding-bottom: 1.8vw;
        left: 0;
        font-weight: 100
    }

    main.reserve .section1 .child .list .contents_nav {
        display: none
    }

    main.reserve .section1 .child .list .items {
        padding-bottom: 10vw
    }

    main.reserve .section1 .child .list .items h3 {
        display: none
    }

    main.reserve .section1 .child .list .items ul {
        margin-top: 8vw
    }

    main.reserve .section1 .child .list .items ul li.item a {
        position: relative;
        display: flex;
        margin-bottom: 8vw;
        padding-bottom: 7.5vw;
        border-bottom: 1px solid #ebedf0
    }

    main.reserve .section1 .child .list .items ul li.item a img {
        width: 27vw;
        height: 27vw
    }

    main.reserve .section1 .child .list .items ul li.item a .cont {
        margin-top: 1vw;
        margin-left: 5.2vw
    }

    main.reserve .section1 .child .list .items ul li.item a .cont .chunk .upper {
        display: flex
    }

    main.reserve .section1 .child .list .items ul li.item a .hotels_tit {
        font-size: 5.33333vw;
        margin-top: -3vw;
        letter-spacing: .3em
    }

    main.reserve .section1 .child .list .items ul li.item a .since {
        display: inline-block;
        font-size: 3.2vw;
        color: #969ba0;
        margin-top: -1vw
    }

    main.reserve .section1 .child .list .items ul li.item a .since:after {
        content: "";
        background-color: #969ba0;
        width: 2vw;
        height: 1px;
        display: inline-block;
        margin-left: 1vw
    }

    main.reserve .section1 .child .list .items ul li.item a .location {
        display: inline-block;
        font-size: 2.66667vw;
        color: #969ba0
    }

    main.reserve .section1 .child .list .items ul li.item a .btn {
        font-size: 3.2vw;
        display: inline-block;
        border: 1px solid #ebedf0;
        padding: 2.2vw 0 2.2vw 11.4vw;
        margin-top: 2vw;
        width: 86%
    }

    main.reserve .section1 .child .pagenation {
        width: 87vw;
        margin: -9.2vw auto 0
    }

    main.reserve .section1 .child .pagenation .child .prev {
        font-size: 4vw
    }

    main.reserve .section1 .child .pagenation .child .prev:before {
        border-width: 1px;
        margin-right: 9px
    }

    main.reserve .section1 .child .pagenation .child .next {
        font-size: 4vw
    }

    main.reserve .section1 .child .pagenation .child .next:after {
        border-width: 1px;
        margin-left: 7px
    }

    main.reserve .section1 .child .pagenation .child ul {
        font-size: 3.46667vw;
        top: .9vw
    }

    main.reserve .section1 .child .pagenation .child ul li {
        margin-left: 2.3vw;
        margin-right: 2.3vw
    }

    main.reserve .section2 {
        padding-top: 38.3vw
    }

    main.reserve .section2 .child {
        position: relative;
        left: 7vw;
        width: 86vw
    }

    main.reserve .section2 .child h2 {
        margin-bottom: 2vw
    }

    main.reserve .section2 .child .items {
        border-top: 1px solid #ebedf0
    }

    main.reserve .section2 .child .items .item {
        border-bottom: 1px solid #ebedf0;
        padding: 7.1vw 0
    }

    main.reserve .section2 .child .items .item .head .ja {
        display: block;
        font-size: 5.33333vw
    }

    main.reserve .section2 .child .items .item .head .en {
        display: block;
        font-size: 2.66667vw;
        color: #969ba0
    }

    main.reserve .section2 .child .items .item .body {
        font-size: 3.2vw;
        margin-top: 5.2vw;
        margin-bottom: 1vw
    }

    main.reserve .section2 .child .items .item .body div {
        margin-top: .8vw
    }

    main.reserve .section2 .child .items .item .body div.frame {
        border: 1px solid #ebedf0;
        margin-top: 4vw;
        padding: 2vw 4vw;
        margin-bottom: 4vw
    }

    main.reserve .section3 {
        padding-top: 37vw
    }

    main.reserve .section3 .child {
        position: relative;
        left: 7vw;
        width: 86vw
    }

    main.reserve .section3 .child h2 {
        margin-bottom: 2vw
    }

    main.reserve .section3 .child .items {
        border-top: 1px solid #ebedf0
    }

    main.reserve .section3 .child .items .item {
        border-bottom: 1px solid #ebedf0;
        padding: 7.1vw 0 1.4vw
    }

    main.reserve .section3 .child .items .item>.head .ja {
        display: block;
        font-size: 5.33333vw
    }

    main.reserve .section3 .child .items .item>.head .en {
        display: block;
        font-size: 2.66667vw;
        color: #969ba0;
        margin-top: -.5vw
    }

    main.reserve .section3 .child .items .item>.body {
        font-size: 3.2vw
    }

    main.reserve .section3 .child .items .item>.body>div {
        margin-top: 5vw;
        margin-bottom: 7vw
    }

    main.reserve .section3 .child .items .item>.body>div span {
        font-size: 2.93333vw
    }

    main.reserve .section3 .child .items .item>.body>div .head {
        color: #969ba0
    }

    main.reserve .section3 .child .items .item>.body>div .body {
        margin-bottom: .5vw
    }

    main.reserve .section4 {
        padding-top: 24.4vw;
        margin-bottom: 40vw
    }

    main.reserve .section4 .child {
        position: relative;
        left: 7vw;
        width: 86vw
    }

    main.reserve .section4 .child h2 {
        margin-bottom: 2vw
    }

    main.reserve .section4 .child .items {
        border-top: 1px solid #ebedf0
    }

    main.reserve .section4 .child .items .item {
        border-bottom: 1px solid #ebedf0;
        padding: 7.1vw 0 1.4vw
    }

    main.reserve .section4 .child .items .item>.head .ja {
        display: block;
        font-size: 5.33333vw
    }

    main.reserve .section4 .child .items .item>.head .en {
        display: block;
        font-size: 2.66667vw;
        color: #969ba0
    }

    main.reserve .section4 .child .items .item>.body {
        font-size: 3.2vw
    }

    main.reserve .section4 .child .items .item>.body>div {
        margin-top: 5vw;
        margin-bottom: 7vw
    }

    main.reserve .section4 .child .items .item>.body>div span {
        font-size: 2.93333vw
    }

    main.reserve .section4 .child .items .item>.body>div .head {
        color: #969ba0
    }

    main.reserve .section4 .child .items .item>.body>div .body {
        margin-bottom: .5vw
    }
}

@keyframes loop_bar {
    0% {
        top: -100%
    }

    100% {
        top: 100%
    }
}

@keyframes run_line {
    0% {
        width: 0
    }

    100% {
        width: 42vw
    }
}

main.company .section1 .child h1 {
    position: relative
}

main.company .section1 .child h1 .sub_txt {
    display: block;
    position: absolute;
    font-weight: 400;
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .5s
}

main.company .section1 .child h1 .sub_txt.show {
    opacity: 1
}

main.company .section1 .child h1 .sub_txt.show:before {
    width: 9.4vw;
    transition: width 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.company .section1 .child h1 .sub_txt:before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.2vw
}

main.company .section1 .child h1 .txt {
    display: block;
    line-height: .95;
    font-weight: 400
}

main.company .section1 .child h1 .txt.show span {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.company .section1 .child h1 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(0, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.company .section1 .child h1 .txt span.show {
    opacity: 1;
}

main.company .section1 .child h1 .txt span:nth-child(1) {
    transition-delay: 0s
}

main.company .section1 .child h1 .txt span:nth-child(2) {
    transition-delay: 90ms
}

main.company .section1 .child h1 .txt span:nth-child(3) {
    transition-delay: .18s
}

main.company .section1 .child h1 .txt span:nth-child(4) {
    transition-delay: .27s
}

main.company .section1 .child h1 .txt span:nth-child(5) {
    transition-delay: .36s
}

main.company .section1 .child h1 .txt span:nth-child(6) {
    transition-delay: .45s
}

main.company .section1 .child h1 .txt span:nth-child(7) {
    transition-delay: .54s
}

main.company .section1 .child .bar {
    display: none
}

main.company .section1 .child .img {
    overflow: hidden
}

main.company .section1 .child .img img {
    position: relative
}

main.company .section1 .child .pagenation {
    display: flex;
    justify-content: center
}

main.company .section1 .child .pagenation ul {
    display: flex
}

main.company .section2 .child h2 {
    position: relative
}

main.company .section2 .child h2 .sub_txt {
    display: block;
    transform: rotate(90deg);
    transform-origin: bottom left;
    color: #969ba0;
    display: inline-block
}

main.company .section2 .child h2 .txt {
    display: block;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

main.company .section2 .child .img {
    overflow: hidden
}

main.company .section2 .child .img img {
    position: relative
}

main.company .section2 .child .signature {
    position: absolute;
    background: url(../image/signature.png);
    background-position-x: -100%;
    background-position-y: -100%;
    background-repeat: no-repeat
}

main.company .section3 .child .copy {
    letter-spacing: .12em;
    font-feature-settings: "palt"
}

main.company .section8 .child .info>ul>li .body .btn1 a,
main.company .section8 .child .info tr .body .btn1 a {
    letter-spacing: 0
}

main.company .section8 .child .info>ul>li .body .btn1 a:after,
main.company .section8 .child .info tr .body .btn1 a:after {
    content: "";
    background: url(../image/pin.svg);
    display: inline-block;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative
}

main.company .section8 .child .info>ul>li .body .btn2,
main.company .section8 .child .info tr .body .btn2 {
    letter-spacing: 0
}

main.company .section8 .child .cont .img {
    overflow: hidden
}

main.company .section8 .child .cont .img img {
    position: relative
}

main.company .section9 .child .common_recruit>ul>li .pref {
    position: relative;
    cursor: pointer
}

main.company .section9 .child .common_recruit>ul>li .pref:before {
    position: absolute;
    content: "";
    height: 1px;
    background-color: #2c1b1e;
    display: inline-block;
    right: 0;
    transform: rotate(90deg);
    transition: transform .4s, background-color .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.company .section9 .child .common_recruit>ul>li .pref:after {
    position: absolute;
    content: "";
    height: 1px;
    background-color: #2c1b1e;
    display: inline-block;
    right: 0;
    transition: background-color .3s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.company .section9 .child .common_recruit>ul>li .pref.open:before {
    transform: rotate(180deg)
}

main.company .section9 .child .common_recruit>ul>li>ul {
    overflow: hidden;
    height: 0
}

main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .name span {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif
}

main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn {
    font-weight: 600
}

main.company .section9 .child .img {
    overflow: hidden
}

main.company .section9 .child .img img {
    position: relative
}

@media screen and (min-width:1024px) {
    main.company .section {
        position: relative
    }

    main.company .section .child h2 {
        position: relative;
        left: 50%;
        margin-left:-33.7vw;
    }

    main.company .section .child h2 .sub_txt {
        display: block;
        font-size: 1.25156vw
    }

    main.company .section .child h2 .sub_txt:after {
        content: "";
        display: inline-block;
        width: 4.4vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-left: 1.2vw;
        position: relative;
        top: -.3vw
    }

    main.company .section .child h2 .txt {
        display: block;
        position: relative;
        font-size: 3.12891vw;
        letter-spacing: .15em;
        left: -.6vw;
        top: -.4vw;
/*        width: 70%;*/
    }

    main.company .section .child h2 .txt .space {
        width: 20px
    }

    main.company .section1 .child h1 {
        padding-top: 16.8vw;
        left: 50%;
        margin-left: -34vw;
        letter-spacing: -.3em
    }

    main.company .section1 .child h1 .sub_txt {
        font-size: 1.12641vw;
        left: 26vw;
        top: 20.3vw;
        letter-spacing: .3em
    }

    main.business1 .section1 .child h1 .sub_txt {
        left: 37vw;
    }

    main.business3 .section1 .child h1 .sub_txt {
        left: 35vw;
    }

    main.company .section1 .child h1 .sub_txt:before {
        margin-right: 1.2vw;
        top: -6px
    }

    main.company .section1 .child h1 .txt {
        letter-spacing: -.07em;
        font-size: 7.50939vw
    }

    main.company .section1 .child .contents_nav ul {
        position: relative;
        display: flex;
        font-size: .81352vw;
        margin-top: 4.95vw;
        left: 22.6vw
    }

    main.company .section1 .child .contents_nav ul li {
        margin-right: 2.4vw;
        cursor: pointer
    }

    main.company .section1 .child .contents_nav ul li:hover:after {
        background-color: #e72420
    }

    main.company .section1 .child .contents_nav ul li:hover span {
        color: #e72420 !important
    }

    main.company .section1 .child .contents_nav ul li:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 225ms
    }

    main.company .section1 .child .contents_nav ul li span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(1) {
        transition-delay: 25ms
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(2) {
        transition-delay: 50ms
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(3) {
        transition-delay: 75ms
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(4) {
        transition-delay: .1s
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(5) {
        transition-delay: 125ms
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(6) {
        transition-delay: .15s
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(7) {
        transition-delay: 175ms
    }

    main.company .section1 .child .contents_nav ul li span:nth-child(8) {
        transition-delay: .2s
    }

    main.company .section1 .child h2 {
        position: absolute;
        width: 13vw;
        right: 12.5vw;
        margin-top: 11.9vw;
        left: inherit;
        mix-blend-mode: difference;
    }

    main.company .section1 .child .bar {
        display: block;
        position: absolute;
        right: 19vw;
        margin-top: 20vw;
        height: 15.7vw;
        width: 1px;
        overflow: hidden
    }

    main.company .section1 .child .bar .base_bar {
        position: absolute;
        width: 1px;
        height: 100%;
        background-color: #f4f5f7;
        display: inline-block
    }

    main.company .section1 .child .bar .current_bar {
        position: absolute;
        width: 1px;
        height: 100%;
        background-color: #2c1b1e;
        display: inline-block;
        animation: loop_bar 3s infinite
    }

    main.company .section1 .child .img {
        position: relative;
        left: 12.4vw;
        width: 52.6vw;
        margin-top: 4.5vw
    }

    main.company .section1 .child .img img {
        width: 100%
    }

    main.company .section2 {
        padding-top: 8.4vw
    }

    main.company .section2 .child h2 {
        left: 79.7vw
    }

    main.company .section2 .child h2 .sub_txt {
        font-size: 1.00125vw;
        left: .5vw;
        position: relative;
        letter-spacing: .04em
    }

    main.company .section2 .child h2 .sub_txt:after {
        width: 0
    }

    main.company .section2 .child h2 .txt {
        font-size: 1.37672vw;
        margin-top: 5vw;
        letter-spacing: .3em;
        left: -.1vw;
        top: -.1vw;
        display: inline-block
    }

    main.company .section2 .child>.txt {
        font-size: 1.00125vw;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        position: relative;
        margin-top: 0;
        line-height: 2.5;
        letter-spacing: .05em;
        display: inline-block;
        margin-left: 15vw;
    }

    main.company .section2 .child>.txt .name {
        position: relative;
        left: -2.5vw
    }

    main.company .section2 .child>.txt .name span {
        font-size: 1.37672vw;
        margin-top: .9vw
    }

    main.company .section2 .child .img {
        margin: 8.7vw auto 5vw;
        width: 34.4vw;
        position: relative;
        left: 2.8vw
    }

    main.company .section2 .child .img img {
        width: 100%
    }

    main.company .section2 .child .signature {
        width: 23.95vw;
        height: 8.724vw;
        margin-top: -25.7vw;
        left: 50vw;
        margin-left: -22.3vw;
        background-size: 148vw
    }

    main.company .section3 {
        padding-top: 3.9vw
    }

    main.company .section3 h2 .txt {
        left: -1vw
    }

    main.company .section3 .child .copy {
        font-size: 4.38048vw;
        left: 19.7vw;
        position: relative;
        margin-top: 1vw
    }

    main.company .section3 .child>.txt {
        font-size: 1.00125vw;
        position: relative;
        left: 57vw;
        margin-top: -7vw;
        line-height: 2.5;
        width: 100%;
        max-width: 560px;
    }

    main.company .section3 .child .img {
        width: 100%;
        margin-top: 5.5vw
    }

    main.company .section3 .child .img img {
        width: 100%
    }

    main.company .section4 {
        padding-top: 5.6vw
    }

    main.company .section4 .child .img {
        position: relative;
        margin-top: 1vw;
        left: 23vw;
        width: 61.5vw
    }

    main.company .section4 .child .img img {
        width: 100%
    }

    main.company .section4 .child>.txt {
        font-size: .8761vw;
        position: relative;
        margin-top: 2.2vw;
        left: 20vw;
        width: 67vw;
        line-height: 2.5;
        letter-spacing: .05em
    }

    main.company .section5 {
        padding-top: 17.3vw;
        margin-bottom: 6vw;
    }

    main.company .section5 .child p {
        font-size: .8761vw;
        left: 20vw;
        position: relative;
        margin-top: 1vw;
        letter-spacing: .05em
    }

    main.company .section5 .child ul {
        position: relative;
        margin-top: 5vw;
        display: flex;
        width: 70.7vw;
        left: 20vw
    }

    main.company .section5 .child ul li {
        margin-right: 3vw;
        width: 33%
    }

    main.company .section5 .child ul li .num {
        font-size: 1.25156vw;
        color: #969ba0;
        text-align: center;
        letter-spacing: .05em
    }

    main.company .section5 .child ul li .img {
        text-align: center;
        margin-top: .7vw;
        height: 5.5vw
    }

    main.company .section5 .child ul li .img img {
        width: 5.5vw
    }

    main.company .section5 .child ul li .tit {
        font-size: 1.37672vw;
        text-align: center;
        letter-spacing: .09em;
        line-height: 1.6;
        margin-top: .3vw
    }

    main.company .section5 .child ul li .txt {
        margin-top: 1.3vw;
        letter-spacing: .06em;
        font-size: .8761vw
    }

    main.company .section5 .child ul li:nth-child(2) .img {
        margin-top: .7vw
    }

    main.company .section5 .child ul li:nth-child(2) .img img {
        width: 4.8vw
    }

    main.company .section5 .child ul li:nth-child(3) .img {
        margin-top: .7vw
    }

    main.company .section5 .child ul li:nth-child(3) .img img {
        width: 6.2vw
    }

    main.company .section5 .child ul li:nth-child(3) .tit {
        letter-spacing: .2em
    }

    main.company .section6 {
        padding-top: 10.6vw
    }

    main.company .section6 .child>.txt,
    main.company .section7 .child>.txt,
    main.company .section8 .child>.txt {
        position: relative;
        left: 20vw;
        width: 67vw;
        font-size: .8761vw;
        margin-top: .9vw;
        line-height: 2.4;
        letter-spacing: .05em
    }

    main.company .section6 .child ul {
        position: relative;
        display: flex;
        left: 20vw;
        width: 66vw;
        margin-top: 5vw
    }

    main.company .section6 .child ul li {
        margin-right: 4.6vw
    }

    main.company .section6 .child ul li .tit {
        font-size: 1.37672vw;
        letter-spacing: 0
    }

    main.company .section6 .child ul li .img {
        margin-top: 1vw;
        width: 19.4vw
    }

    main.company .section6 .child ul li .img img {
        width: 100%
    }

    main.company .section6 .child ul li .txt {
        font-size: .8761vw;
        margin-top: 1vw;
        margin-bottom: .7vw;
        letter-spacing: .05em
    }

    main.company .section6 .child ul li .btn {
        font-size: 1.12641vw
    }

    main.company .section6 .child ul li .btn:not(.off):hover:after {
        background-color: #e72420
    }

    main.company .section6 .child ul li .btn:not(.off):hover span {
        color: #e72420 !important
    }

    main.company .section6 .child ul li .btn:not(.off):after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 425ms
    }

    main.company .section6 .child ul li .btn:not(.off) span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(1) {
        transition-delay: 25ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(2) {
        transition-delay: 50ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(3) {
        transition-delay: 75ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(4) {
        transition-delay: .1s
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(5) {
        transition-delay: 125ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(6) {
        transition-delay: .15s
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(7) {
        transition-delay: 175ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(8) {
        transition-delay: .2s
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(9) {
        transition-delay: 225ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(10) {
        transition-delay: .25s
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(11) {
        transition-delay: 275ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(12) {
        transition-delay: .3s
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(13) {
        transition-delay: 325ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(14) {
        transition-delay: .35s
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(15) {
        transition-delay: 375ms
    }

    main.company .section6 .child ul li .btn:not(.off) span:nth-child(16) {
        transition-delay: .4s
    }

    main.company .section6 .child ul li:nth-of-type(2) .btn:after {
        transition: background .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .5s
    }

    main.company .section6 .child ul li:nth-of-type(2) .btn:hover:after {
        background: url(../image/external_red.svg);
        background-size: contain
    }

    main.company .section7 {
        padding-top: 10.2vw
    }

    main.company .section7 .child ul {
        display: flex;
        flex-wrap: wrap;
        position: relative;
        left: 20vw;
        width: 73vw;
        margin-top: 1.5vw
    }

    main.company .section7 .child ul li {
        margin-right: 3.7vw;
        width: 20vw;
        margin-bottom: 5.5vw
    }

    main.company .section7 .child ul li .img img {
        width: 100%
    }

    main.company .section7 .child ul li .person {
        margin-top: 1.1vw
    }

    main.company .section7 .child ul li .person .job_tit {
        font-size: .75094vw
    }

    main.company .section7 .child ul li .person .name {
        margin-top: .2vw
    }

    main.company .section7 .child ul li .person .name .ja {
        font-size: 1.37672vw;
        letter-spacing: .29em
    }

    main.company .section7 .child ul li .person .name .en {
        font-size: .68836vw;
        margin-left: .8vw;
        font-weight: 400;
        position: relative;
        top: -.2vw
    }

    main.company .section7 .child ul li .person .txt {
        font-size: .8761vw;
        margin-top: 1vw;
        margin-bottom: 1vw;
        line-height: 2.5
    }

    main.company .section7 .child ul li .person .links {
        position: relative;
        display: flex
    }

    main.company .section7 .child ul li .person .links .note {
        font-size: 1.12641vw;
        font-weight: 600
    }

    main.company .section7 .child ul li .person .links .note:hover:after {
        background-color: #e72420
    }

    main.company .section7 .child ul li .person .links .note:hover span {
        color: #e72420 !important
    }

    main.company .section7 .child ul li .person .links .note:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 375ms
    }

    main.company .section7 .child ul li .person .links .note span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(1) {
        transition-delay: 25ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(2) {
        transition-delay: 50ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(3) {
        transition-delay: 75ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(4) {
        transition-delay: .1s
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(5) {
        transition-delay: 125ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(6) {
        transition-delay: .15s
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(7) {
        transition-delay: 175ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(8) {
        transition-delay: .2s
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(9) {
        transition-delay: 225ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(10) {
        transition-delay: .25s
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(11) {
        transition-delay: 275ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(12) {
        transition-delay: .3s
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(13) {
        transition-delay: 325ms
    }

    main.company .section7 .child ul li .person .links .note span:nth-child(14) {
        transition-delay: .35s
    }

    main.company .section7 .child ul li .person .links .note a:after {
        transition: background .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .5s
    }

    main.company .section7 .child ul li .person .links .note:hover a:after {
        background: url(../image/external_red.svg);
        background-size: contain
    }

    main.company .section7 .child ul li .person .links .sns {
        position: absolute;
        margin-top: .5vw;
        right: 0
    }

    main.company .section7 .child ul li .person .links .sns a {
        margin-left: 1.1vw
    }

    main.company .section7 .child ul li .person .links .sns .ig img {
        height: 18px
    }

    main.company .section7 .child ul li .person .links .sns .fb img {
        height: 17px
    }

    main.company .section7 .child ul li .person .links .sns .tw {
        position: relative;
        top: -.1vw
    }

    main.company .section7 .child ul li .person .links .sns .tw img {
        height: 14px
    }

    main.company .section8 {
        padding-top: 3.7vw;
        margin-bottom: 6vw;
    }

    main.company .section8 .child h2 .txt {
        left: -.2vw
    }

    main.company .section8 .child .cont {
        position: relative;
        margin-top: 4.2vw;
        left: 20vw;
        width: 66vw;
        display: flex
    }

    main.company .section8 .child .cont .img {
        width: 27.6vw;
        height: 36vw
    }

    main.company .section8 .child .cont .img img {
        width: 100%
    }

    main.company .section8 .child .info {
        font-size: .8761vw;
        margin-left: 5.5vw
    }

    main.company .section8 .child .info>ul,
    main.company .section8 .child .info table {
        border-top: 1px solid #ebedf0;
        letter-spacing: .05em
    }

    main.company .section8 .child .info>ul>li,
    main.company .section8 .child .info table tr {
        border-bottom: 1px solid #ebedf0
    }

    main.company .section8 .child .info table tr td {
        padding: 2vw 0 2vw 1vw;
    }

    main.company .section8 .child .info>ul>li .head,
    main.company .section8 .child .info table tr .head {
        width: 8.3vw;
        display: inline-block
    }

    main.company .section8 .child .info>ul>li .body .btn1 a,
    main.company .section8 .child .info table tr .body .btn1 a {
        display: inline-block;
        padding: 6px;
        padding-left: 4vw;
        border: 1px solid #ebedf0;
        margin-top: .7vw;
        /*        margin-left: 8.3vw*/
        margin-left: 0
    }

    main.company .section8 .child .info>ul>li .body .btn1 a:hover span,
    main.company .section8 .child .info table tr .body .btn1 a:hover span {
        color: #e72420 !important
    }

    main.company .section8 .child .info>ul>li .body .btn1 a:after,
    main.company .section8 .child .info table tr .body .btn1 a:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 275ms
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span,
    main.company .section8 .child .info table tr .body .btn1 a span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(1),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(1) {
        transition-delay: 25ms
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(2),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(2) {
        transition-delay: 50ms
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(3),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(3) {
        transition-delay: 75ms
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(4),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(4) {
        transition-delay: .1s
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(5),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(5) {
        transition-delay: 125ms
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(6),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(6) {
        transition-delay: .15s
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(7),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(7) {
        transition-delay: 175ms
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(8),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(8) {
        transition-delay: .2s
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(9),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(9) {
        transition-delay: 225ms
    }

    main.company .section8 .child .info>ul>li .body .btn1 a span:nth-child(10),
    main.company .section8 .child .info table tr .body .btn1 a span:nth-child(10) {
        transition-delay: .25s
    }

    main.company .section8 .child .info>ul>li .body .btn1 a:hover:after,
    main.company .section8 .child .info table tr .body .btn1 a:hover:after {
        background: url(../image/pin_red.svg);
        background-size: cover
    }

    main.company .section8 .child .info>ul>li .body .btn1 a:after,
    main.company .section8 .child .info table tr .body .btn1 a:after {
        width: 11px;
        height: 15px;
        margin-left: 2.5vw;
        margin-right: .6vw;
        top: .3vw;
        transition: background .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .35s
    }

    main.company .section8 .child .info>ul>li .body .btn2,
    main.company .section8 .child .info table tr .body .btn2 {
        font-size: 1.12641vw;
        margin-top: 1.3vw
    }

    main.company .section8 .child .info>ul>li .body .btn2:hover:after,
    main.company .section8 .child .info table tr .body .btn2:hover:after {
        background-color: #e72420
    }

    main.company .section8 .child .info>ul>li .body .btn2:hover span,
    main.company .section8 .child .info table tr .body .btn2:hover span {
        color: #e72420 !important
    }

    main.company .section8 .child .info>ul>li .body .btn2:after,
    main.company .section8 .child .info table tr .body .btn2:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .45s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span,
    main.company .section8 .child .info table tr .body .btn2 span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(1),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(1) {
        transition-delay: 25ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(2),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(2) {
        transition-delay: 50ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(3),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(3) {
        transition-delay: 75ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(4),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(4) {
        transition-delay: .1s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(5),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(5) {
        transition-delay: 125ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(6),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(6) {
        transition-delay: .15s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(7),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(7) {
        transition-delay: 175ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(8),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(8) {
        transition-delay: .2s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(9),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(9) {
        transition-delay: 225ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(10),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(10) {
        transition-delay: .25s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(11),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(11) {
        transition-delay: 275ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(12),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(12) {
        transition-delay: .3s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(13),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(13) {
        transition-delay: 325ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(14),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(14) {
        transition-delay: .35s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(15),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(15) {
        transition-delay: 375ms
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(16),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(16) {
        transition-delay: .4s
    }

    main.company .section8 .child .info>ul>li .body .btn2 span:nth-child(17),
    main.company .section8 .child .info table tr .body .btn2 span:nth-child(17) {
        transition-delay: 425ms
    }

    main.company .section8 .child .info>ul>li .body .btn2:after,
    main.company .section8 .child .info table tr .body .btn2:after {
        transition: background .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .5s
    }

    main.company .section8 .child .info>ul>li.special .head,
    main.company .section8 .child .info table tr .special .head {
        vertical-align: top
    }

    main.company .section8 .child .info>ul>li.special .body,
    main.company .section8 .child .info table tr .special .body {
        display: inline-block
    }

    main.company .section8 .child .info>ul>li.special2,
    main.company .section8 .child .info table tr .special2 {
        padding-bottom: 2.4vw
    }

    main.company .section9 {
        padding-top: 10.8vw
    }

    main.company .section9 .child h2 .txt {
        left: -.4vw
    }

    main.company .section9 .child>.txt {
        font-size: .8761vw;
        margin-top: 2.1vw;
        position: relative;
        left: 20vw;
        width: 27vw;
        line-height: 2.5;
        letter-spacing: .05em
    }

    main.company .section9 .child>.btn {
        position: relative;
        left: 20vw;
        margin-top: 1.8vw;
        display: inline-block
    }

    main.company .section9 .child>.btn a {
        padding: 10px 28px 10px 40px;
        border: 1px solid #ebedf0;
        display: inline-block;
        letter-spacing: -.04em;
        font-size: 1.50188vw
    }

    main.company .section9 .child>.btn a:hover .btn:after {
        background-color: #e72420
    }

    main.company .section9 .child>.btn a:hover .btn span {
        color: #e72420
    }

    main.company .section9 .child>.btn a .btn:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .35s
    }

    main.company .section9 .child>.btn a .btn span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section9 .child>.btn a .btn span:nth-child(1) {
        transition-delay: 25ms
    }

    main.company .section9 .child>.btn a .btn span:nth-child(2) {
        transition-delay: 50ms
    }

    main.company .section9 .child>.btn a .btn span:nth-child(3) {
        transition-delay: 75ms
    }

    main.company .section9 .child>.btn a .btn span:nth-child(4) {
        transition-delay: .1s
    }

    main.company .section9 .child>.btn a .btn span:nth-child(5) {
        transition-delay: 125ms
    }

    main.company .section9 .child>.btn a .btn span:nth-child(6) {
        transition-delay: .15s
    }

    main.company .section9 .child>.btn a .btn span:nth-child(7) {
        transition-delay: 175ms
    }

    main.company .section9 .child>.btn a .btn span:nth-child(8) {
        transition-delay: .2s
    }

    main.company .section9 .child>.btn a .btn span:nth-child(9) {
        transition-delay: 225ms
    }

    main.company .section9 .child>.btn a .btn span:nth-child(10) {
        transition-delay: .25s
    }

    main.company .section9 .child>.btn a .btn span:nth-child(11) {
        transition-delay: 275ms
    }

    main.company .section9 .child>.btn a .btn span:nth-child(12) {
        transition-delay: .3s
    }

    main.company .section9 .child>.btn a .btn span:nth-child(13) {
        transition-delay: 325ms
    }

    main.company .section9 .child>.btn a:hover:before {
        width: 100%;
        height: 100%
    }

    main.company .section9 .child>.btn a:hover:after {
        width: 100%;
        height: 100%
    }

    main.company .section9 .child>.btn a:before {
        content: "";
        border-top: 1px solid #2c1b1e;
        border-left: 1px solid #2c1b1e;
        width: 15px;
        height: 25px;
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        transition: width .6s, height .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section9 .child>.btn a:after {
        content: "";
        border-bottom: 1px solid #2c1b1e;
        border-right: 1px solid #2c1b1e;
        width: 15px;
        height: 25px;
        display: inline-block;
        position: absolute;
        bottom: 0;
        right: 0;
        transition: width .6s, height .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section9 .child>.btn a .address:before {
        content: "";
        background: url(../image/mail.png);
        display: inline-block;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        width: 14.5px;
        height: 10px;
        margin-right: 10px
    }

    main.company .section9 .child>.btn a .common_btn {
        margin-left: 4.2vw;
        font-size: 1.12641vw;
        letter-spacing: 0
    }

    main.company .section9 .child>.img {
        position: absolute;
        top: 19vw;
        left: 53.1vw;
        width: 47.1vw
    }

    main.company .section9 .child>.img img {
        width: 100%
    }

    main.company .section9 .child h3 {
        position: relative;
        left: 20vw;
        margin-top: 8.8vw;
        font-weight: 400
    }

    main.company .section9 .child h3 .txt {
        font-size: 1.37672vw;
        letter-spacing: .2em
    }

    main.company .section9 .child h3 .sub_txt {
        font-size: 1rem;
        margin-left: 1vw;
        color: #969ba0;
        position: relative;
        top: -.3vw
    }

    main.company .section9 .child .common_recruit {
        position: relative;
        left: 20.1vw;
        width: 66vw
    }

    main.company .section9 .child .common_recruit .tit {
        font-size: .8761vw;
        border-bottom: 1px solid #ebedf0;
        padding-bottom: 2vw;
        letter-spacing: .15em
    }

    main.company .section9 .child .common_recruit>ul>li {
        border-bottom: 1px solid #ebedf0
    }

    main.company .section9 .child .common_recruit>ul>li:last-of-type {
        margin-bottom: 6vw
    }

    main.company .section9 .child .common_recruit>ul>li .pref {
        padding-top: 2vw;
        padding-bottom: 2vw;
        letter-spacing: .12em;
        font-size: 1.37672vw
    }

    main.company .section9 .child .common_recruit>ul>li .pref:hover:before {
        background-color: #e72420
    }

    main.company .section9 .child .common_recruit>ul>li .pref:hover:after {
        background-color: #e72420
    }

    main.company .section9 .child .common_recruit>ul>li .pref:before {
        width: 22px;
        top: 3.41vw
    }

    main.company .section9 .child .common_recruit>ul>li .pref:after {
        width: 22px;
        top: 3.41vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li {
        margin-bottom: 2.2vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li:last-of-type {
        margin-bottom: 1vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont {
        display: flex
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .img {
        width: 29vw;
        font-size: 0;
        overflow: inherit
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .img img {
        width: 100%
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info {
        width: 67vw;
        margin-left: 4vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .name {
        font-size: 1.37672vw;
        letter-spacing: .12em
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .name span {
        font-size: .75094vw;
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
        font-weight: 600;
        margin-left: .6vw;
        position: relative;
        top: -.1vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .name span:before {
        content: "";
        height: 1vw;
        width: 1px;
        background-color: #ebedf0;
        display: inline-block;
        position: relative;
        top: .2vw;
        margin-right: 1.2vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .txt {
        font-size: .8761vw;
        margin-top: .8vw;
        line-height: 1.9
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn {
        font-size: 1.12641vw;
        margin-top: .8vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a:hover:after {
        background-color: #e72420
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a:hover span {
        color: #e72420 !important
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 275ms
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(1) {
        transition-delay: 25ms
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(2) {
        transition-delay: 50ms
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(3) {
        transition-delay: 75ms
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(4) {
        transition-delay: .1s
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(5) {
        transition-delay: 125ms
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(6) {
        transition-delay: .15s
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(7) {
        transition-delay: 175ms
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(8) {
        transition-delay: .2s
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(9) {
        transition-delay: 225ms
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a span:nth-child(10) {
        transition-delay: .25s
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a:after {
        transition: background .2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .3s
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a:hover:after {
        background: url(../image/external_red.svg);
        background-size: contain
    }

    main.company .section9 .child .corporate {
        margin-top: 5vw
    }

    main.company .section9 .child .link {
        position: relative;
        left: 16.3vw;
        width: 75vw;
        margin-top: 0vw;
        padding-bottom: 18.2vw;
        border-bottom: 1px solid #ebedf0
    }

    main.company .section9 .child .link a:hover img {
        transform: scale(1.2);
        opacity: .7
    }

    main.company .section9 .child .link a:hover .txt:after {
        animation: run_line .8s cubic-bezier(.77, 0, .175, 1)
    }

    main.company .section9 .child .link .img {
        width: 100%;
        overflow: hidden;
        background-color: #000
    }

    main.company .section9 .child .link .img img {
        width: 100%;
        transition: transform 1.7s, opacity 1.7s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94)
    }

    main.company .section9 .child .link .txt {
        color: #fff;
        top: 9.6vw;
        left: 3.8vw;
        letter-spacing: .3em;
        white-space: nowrap;
        position: absolute;
        font-size: 1.37672vw
    }

    main.company .section9 .child .link .txt:after {
        content: "";
        display: inline-block;
        width: 42vw;
        height: 1px;
        background-color: #fff;
        position: relative;
        top: -.5vw;
        left: .7vw
    }

    main.company .section9 .child .link .sub_txt {
        color: #fff;
        white-space: nowrap;
        position: absolute;
        top: 9.9vw;
        right: 7.5vw;
        font-size: 1.12641vw
    }

    main.company .section9 .child .link .sub_txt:after {
        content: "";
        width: 11px;
        height: 2px;
        background-color: #fff;
        position: relative;
        display: inline-block;
        margin-left: .7vw;
        top: -.16vw
    }

    main.company .section9 .child .link .btn {
        position: relative;
        margin-top: 6vw;
        font-size: 2rem;
        left: 32vw
    }

    main.company .section9 .child .link .btn a {
        padding: 15px;
        border: 1px solid #e72420
    }
}

@media screen and (max-width:1023px) {
    main.company .section .child h2 {
        position: relative;
        left: 7vw;
        width: 90%;
    }

    main.company .section .child h2 .sub_txt {
        font-size: 3.46667vw;
        display: block
    }

    main.company .section .child h2 .sub_txt:after {
        content: "";
        display: inline-block;
        background-color: #2c1b1e;
        width: 9.4vw;
        height: 1px;
        margin-left: 3.5vw;
        position: relative;
        top: -.5vw
    }

    main.company .section .child h2 .txt {
        font-size: 10.66667vw;
        display: block;
        margin-top: -3vw
    }

    main.company .section1 .child {
        display: flex;
        flex-direction: column
    }

    main.company .section1 .child h1 {
        margin-top: 6.5vw;
        left: 6vw;
        letter-spacing: -.3em;
        order: 0
    }

    main.company .section1 .child h1 .sub_txt {
        font-size: 2.4vw;
        top: 15.6vw;
        left: 0;
        letter-spacing: .2em;
        display: block;
        position: absolute;
        font-weight: 400;
        opacity: 0;
        transition: opacity 1.3s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        transition-delay: .5s
    }

    main.company .section1 .child h1 .sub_txt.show {
        opacity: 1
    }

    main.company .section1 .child h1 .sub_txt.show:before {
        width: 3.1vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.company .section1 .child h1 .sub_txt:before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw
    }

    main.company .section1 .child h1 .sub_txt:before {
        top: -.9vw;
        margin-right: 1.5vw
    }

    main.company .section1 .child h1 .txt {
        font-size: 16vw
    }

    main.company .section1 .child .img {
        order: 1;
        left: 7vw;
        position: relative;
        margin-top: 33vw
    }

    main.company .section1 .child .img img {
        width: 93vw
    }

    main.company .section1 .child h2 {
        order: 2;
        width: 43.5vw;
        margin-top: 33.4vw;
        left: 50vw;
        position: relative;
        transform: translate3d(-50%, 0, 0)
    }

    main.company .section1 .child h2 img {
        width: 100%
    }

    main.company .section1 .child .contents_nav {
        order: 3;
        margin-top: 17vw
    }

    main.company .section1 .child .contents_nav ul {
        position: relative;
        font-size: 3.73333vw;
        width: 74vw;
        left: 13vw
    }

    main.company .section1 .child .contents_nav ul li {
        margin-bottom: 4.8vw;
        position: relative;
        cursor: pointer
    }

    main.company .section1 .child .contents_nav ul li:before {
        content: "";
        background-color: #ebedf0;
        display: inline-block;
        position: absolute;
        top: 7vw;
        left: 0;
        width: 100%;
        height: 1px
    }

    main.company .section1 .child .contents_nav ul li:after {
        content: "";
        position: absolute;
        top: 4vw;
        right: 0;
        background: url(../image/arrow.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 5.86667vw;
        height: 3.2vw;
        display: inline-block
    }

    main.company .section2 {
        padding-top: 23.6vw
    }

    main.company .section2 .child h2 {
        left: 50vw;
        transform: translate3d(-5vw, 0, 0)
    }

    main.company .section2 .child h2 .sub_txt {
        font-size: 3.2vw;
        position: absolute;
        left: 9vw;
        top: -6vw
    }

    main.company .section2 .child h2 .sub_txt:after {
        width: 0;
        height: 0
    }

    main.company .section2 .child h2 .txt {
        font-size: 5.33333vw;
        letter-spacing: .3em
    }

    main.company .section2 .child>.txt {
        margin-top: 18vw;
        position: relative;
        left: 7vw;
        width: 88vw;
        font-size: 3.2vw;
        line-height: 3;
        font-size: 3.2vw
    }

    main.company .section2 .child>.txt .name {
        margin-top: 5vw
    }

    main.company .section2 .child>.txt .name span {
        font-size: 5.33333vw;
        margin-left: 2vw
    }

    main.company .section2 .child .img {
        margin-top: 21vw;
        width: 73.1vw;
        position: relative;
        left: 13.3vw
    }

    main.company .section2 .child .img img {
        width: 100%
    }

    main.company .section2 .child .signature {
        width: 56vw;
        height: 20.355vw;
        margin-top: -61.5vw;
        left: 50vw;
        margin-left: -11.6vw;
        background-size: 347vw
    }

    main.company .section3 {
        padding-top: 6.4vw
    }

    main.company .section3 .child h2 .txt {
        margin-left: -3vw
    }

    main.company .section3 .child .copy {
        font-size: 12.66667vw;
        position: relative;
        left: 7vw;
        margin-top: 7vw
    }

    main.company .section3 .child>.txt {
        font-size: 3.73333vw;
        position: relative;
        left: 7vw;
        width: 91vw;
        margin-top: 4.3vw;
        line-height: 2.5
    }

    main.company .section3 .child .img {
        margin-top: 10vw;
        position: relative;
        left: 50vw;
        transform: translate3d(-133vw, 0, 0)
    }

    main.company .section3 .child .img img {
        height: 83vw
    }

    main.company .section4 {
        padding-top: 20vw
    }

    /* main.company .section4 .child h2 .txt {
        margin-left: -3vw
    }*/

    main.company .section4 .child .img {
        width: 84vw;
        position: relative;
        left: 8vw;
        margin-top: 4vw
    }

    main.company .section4 .child .img img {
        width: 100%
    }

    main.company .section4 .child .btn {
        font-size: 4vw;
        border: 1px solid #ebedf0;
        padding: 1.5vw 2.3vw 1.9vw 16vw;
        display: inline-block;
        position: relative;
        left: 7vw;
        margin-top: 4vw
    }

    main.company .section4 .child .btn:after {
        content: "";
        background: url(../image/zoom.svg);
        background-repeat: no-repeat;
        background-size: contain;
        display: inline-block;
        width: 13px;
        height: 13px;
        margin-left: 11vw;
        position: relative;
        top: 1vw
    }

    main.company .section4 .child>.txt {
        font-size: 3.2vw;
        position: relative;
        left: 7vw;
        width: 84vw;
        margin-top: 8.9vw
    }

    main.company .section5 {
        padding-top: 20vw;
        margin-bottom: 20vw;
    }

    main.company .section5 .child h2 .txt {
        margin-left: -3vw
    }

    main.company .section5 .child p {
        position: relative;
        left: 6.5vw;
        width: 88vw;
        margin-top: 4.5vw;
        font-size: 3.2vw
    }

    main.company .section5 .child ul {
        position: relative;
        left: 6.5vw;
        width: 88vw;
        margin-top: 9.8vw
    }

    main.company .section5 .child ul li {
        position: relative;
        margin-bottom: 8.9vw
    }

    main.company .section5 .child ul li .num {
        font-size: 4.26667vw;
        color: #969ba0;
        position: relative;
        left: 50%;
        margin-left: -12vw
    }

    main.company .section5 .child ul li .img {
        position: absolute;
        margin-top: -4.5vw;
        margin-left: 2.2vw
    }

    main.company .section5 .child ul li .img img {
        width: 16.3vw
    }

    main.company .section5 .child ul li .tit {
        font-size: 5.33333vw;
        left: 50%;
        position: relative;
        margin-top: 0;
        margin-left: -12.7vw;
        line-height: 1.5
    }

    main.company .section5 .child ul li .txt {
        margin-top: 5vw;
        font-size: 3.2vw
    }

    main.company .section6 {
        padding-top: 20.7vw
    }

    main.company .section6 .child {
        position: relative;
        left: 7vw;
        width: 86vw
    }

    main.company .section6 .child h2 {
        left: 0
    }

    main.company .section6 .child>.txt,
    main.company .section7 .child>.txt,
    main.company .section8 .child>.txt {
        font-size: 3.2vw;
        margin-top: 5.5vw
    }

    main.company .section6 .child ul {
        margin-top: 9vw
    }

    main.company .section6 .child ul li {
        margin-bottom: 16vw
    }

    main.company .section6 .child ul li .tit {
        font-size: 5.33333vw
    }

    main.company .section6 .child ul li .img {
        margin-top: 5vw
    }

    main.company .section6 .child ul li .img img {
        width: 100%
    }

    main.company .section6 .child ul li .txt {
        font-size: 3.2vw;
        margin-bottom: 5vw;
        margin-top: 4vw
    }

    main.company .section6 .child ul li .btn {
        font-size: 4vw;
        display: inline-block;
        border: 1px solid #ebedf0;
        position: relative;
        margin-top: 1.1vw
    }

    main.company .section6 .child ul li .btn a {
        padding: 2vw 8.2vw 2vw 8.7vw;
        display: block
    }

    main.company .section6 .child ul li .btn.external_black a {
        padding: 2vw 11.6vw 2vw 5.7vw
    }

    main.company .section6 .child ul li .btn.external_black:after {
        position: absolute;
        right: 7vw;
        top: 4.8vw
    }

    main.company .section6 .child ul li .btn.off {
        padding: 2vw 8.2vw 2vw 8.7vw
    }

    main.company .section6 .child ul li .btn:after {
        position: absolute;
        right: 0;
        top: 5.6vw
    }

    main.company .section7 {
        padding-top: 21.9vw
    }

    main.company .section7 .child {
        position: relative;
        left: 7vw;
        width: 86vw
    }

    main.company .section7 .child h2 {
        left: 0
    }

    /*main.company .section7 .child h2 .txt {
        margin-left: -3vw
    }*/

    main.company .section7 .child ul {
        margin-top: 13vw
    }

    main.company .section7 .child ul li {
        margin-bottom: 12.7vw
    }

    main.company .section7 .child ul li .img img {
        width: 100%
    }

    main.company .section7 .child ul li .person {
        margin-top: 3vw
    }

    main.company .section7 .child ul li .person .job_tit {
        font-size: 2.66667vw
    }

    main.company .section7 .child ul li .person .name {
        margin-top: 3.3vw
    }

    main.company .section7 .child ul li .person .name .ja {
        font-size: 5.33333vw;
        letter-spacing: .15em
    }

    main.company .section7 .child ul li .person .name .en {
        font-size: 2.66667vw;
        margin-left: 2vw;
        font-weight: 400
    }

    main.company .section7 .child ul li .person .txt {
        font-size: 3.2vw;
        margin-top: 3.6vw
    }

    main.company .section7 .child ul li .person .links {
        position: relative;
        display: flex;
        margin-top: 4vw
    }

    main.company .section7 .child ul li .person .links .note {
        font-size: 4.26667vw;
        font-weight: 600;
        display: inline-block;
        border: 1px solid #ebedf0;
        position: relative
    }

    main.company .section7 .child ul li .person .links .note a {
        padding: 1.5vw 6.3vw 1.5vw 6.5vw;
        display: block
    }

    main.company .section7 .child ul li .person .links .note a:after {
        margin-left: 2vw
    }

    main.company .section7 .child ul li .person .links .sns {
        position: absolute;
        right: 0;
        margin-top: 3.3vw
    }

    main.company .section7 .child ul li .person .links .sns a {
        margin-left: 5.3vw
    }

    main.company .section7 .child ul li .person .links .sns img {
        height: 5vw
    }

    main.company .section8 {
        padding-top: 24.6vw;
        margin-bottom: 16vw;
    }

    main.company .section8 .child {
        position: relative;
        left: 7vw;
        width: 86vw
    }

    main.company .section8 .child h2 {
        left: 0
    }

    main.company .section8 .child h2 .txt {
        margin-left: -2vw
    }

    main.company .section8 .child .cont .img {
        display: none
    }

    main.company .section8 .child .info {
        font-size: 3.46667vw
    }

    main.company .section8 .child .info>ul {
        border-top: 1px solid #ebedf0;
        margin-top: 14vw
    }

    main.company .section8 .child .info>ul>li,
    main.company .section8 .child .info table tr {
        padding: 6.6vw 0 5.8vw;
        border-bottom: 1px solid #ebedf0
    }

    main.company .section8 .child .info>ul>li .head,
    main.company .section8 .child .info table .head {
        display: block;
        color: #969ba0
    }

    main.company .section8 .child .info>ul>li .head:before,
    main.company .section8 .child .info table .head:before {
        content: "- "
    }

    main.company .section8 .child .info>ul>li .body,
    main.company .section8 .child .info table .body {
        display: block
    }

    main.company .section8 .child .info>ul>li .body .btn1,
    main.company .section8 .child .info table .body .btn1 {
        font-weight: 600
    }

    main.company .section8 .child .info table .body .btn1 {
        display: block;
    }

    main.company .section8 .child .info>ul>li .body .btn1 a,
    main.company .section8 .child .info table .body .btn1 a {
        display: inline-block;
        padding: 2vw 2.7vw 2vw 11vw;
        border: 1px solid #ebedf0;
        margin-top: 3vw;
        margin-bottom: 2vw
    }

    main.company .section8 .child .info>ul>li .body .btn1 a:after,
    main.company .section8 .child .info table .body .btn1 a:after {
        width: 11px;
        height: 15px;
        margin-left: 9.5vw;
        top: 1.3vw
    }

    main.company .section8 .child .info>ul>li .body .btn2,
    main.company .section8 .child .info table .body .btn2 {
        display: inline-block;
        border: 1px solid #ebedf0;
        margin-top: 2.4vw;
        margin-bottom: 2vw;
        font-weight: 600;
        position: relative
    }

    main.company .section8 .child .info>ul>li .body .btn2 a,
    main.company .section8 .child .info table .body .btn2 a {
        padding: 2vw 6vw;
        display: block
    }

    main.company .section8 .child .info>ul>li .body .btn2:after,
    main.company .section8 .child .info table .body .btn2:after {
        margin-left: 2vw;
        top: 5.1vw;
        position: absolute;
        right: 0
    }

    main.company .section9 {
        padding-top: 38vw
    }

    main.company .section9 .child {
        position: relative;
        left: 7vw;
        width: 86vw;
        display: flex;
        flex-direction: column
    }

    main.company .section9 .child h2 {
        left: 0
    }

    main.company .section9 .child h2 .txt {
        margin-left: -2vw
    }

    main.company .section9 .child>.txt {
        font-size: 3.2vw;
        margin-top: 3vw;
        position: relative;
        order: 1
    }

    main.company .section9 .child>.img {
        order: 2;
        margin-top: 9vw
    }

    main.company .section9 .child>.img img {
        height: 83vw
    }

    main.company .section9 .child>.btn {
        order: 3;
        font-size: 6.66667vw;
        border: 1px solid #ebedf0;
        display: inline-block;
        text-align: center;
        margin-top: 9vw;
        position: relative
    }

    main.company .section9 .child>.btn a {
        padding: 9px;
        display: block
    }

    main.company .section9 .child>.btn:before {
        content: "";
        border-top: 1px solid #2c1b1e;
        border-left: 1px solid #2c1b1e;
        width: 15px;
        height: 25px;
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        pointer-events: none
    }

    main.company .section9 .child>.btn:after {
        content: "";
        border-bottom: 1px solid #2c1b1e;
        border-right: 1px solid #2c1b1e;
        width: 15px;
        height: 25px;
        display: inline-block;
        position: absolute;
        bottom: 0;
        right: 0;
        pointer-events: none
    }

    main.company .section9 .child>.btn .common_btn {
        display: none
    }

    main.company .section9 .child>.btn .address:before {
        content: "";
        background: url(../image/mail.png);
        display: inline-block;
        background-repeat: no-repeat;
        background-size: cover;
        position: relative;
        width: 17.5px;
        height: 12px;
        margin-right: 10px
    }

    main.company .section9 .child h3 {
        order: 4;
        margin-top: 17vw;
        font-weight: 400
    }

    main.company .section9 .child h3 .txt {
        font-size: 5.33333vw;
        display: block
    }

    main.company .section9 .child h3 .sub_txt {
        color: #969ba0;
        font-size: 2.66667vw;
        display: block
    }

    main.company .section9 .child .common_recruit {
        margin-top: 10vw
    }

    main.company .section9 .child .common_recruit .tit {
        font-size: 3.46667vw;
        border-bottom: 1px solid #ebedf0;
        padding-bottom: 3.2vw;
        color: #969ba0
    }

    main.company .section9 .child .common_recruit>ul {
        margin-top: 2vw
    }

    main.company .section9 .child .common_recruit>ul>li {
        padding-bottom: 1vw;
        border-bottom: 1px solid #ebedf0
    }

    main.company .section9 .child .common_recruit>ul>li .pref {
        font-size: 4.26667vw;
        margin-top: 3vw
    }

    main.company .section9 .child .common_recruit>ul>li .pref:before {
        width: 14px;
        top: 4.15vw
    }

    main.company .section9 .child .common_recruit>ul>li .pref:after {
        width: 14px;
        top: 4.15vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul {
        margin-top: 3vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li {
        margin-bottom: 3vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .img {
        margin-top: 8.3vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .img img {
        width: 100%
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info {
        margin-top: 2.6vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .name {
        font-size: 5.33333vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .name span {
        font-size: 3.46667vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .name span:before {
        content: " | "
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .txt {
        font-size: 3.46667vw;
        margin-top: 2.3vw
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn {
        font-size: 4.26667vw;
        border: 1px solid #ebedf0;
        margin-top: 5.5vw;
        font-size: 4.26667vw;
        display: inline-block;
        width: 40vw;
        text-align: center
    }

    main.company .section9 .child .common_recruit>ul>li>ul>li .cont .info .btn a {
        padding: 1.6vw 0;
        display: block
    }

    main.company .section9 .child .corporate {
        order: 5
    }

    main.company .section9 .child .corporate>ul>li {
        padding-bottom: 1vw
    }

    main.company .section9 .child .hotels {
        order: 6;
        margin-top: 12.2vw
    }

    main.company .section9 .child .hotels>ul>li>ul>li {
        padding-bottom: 5vw
    }

    main.company .section9 .child .link {
        order: 7;
        margin-top: 42.2vw;
        position: relative;
        margin-bottom: 23vw
    }

    main.company .section9 .child .link .img {
        position: relative;
        width: 86vw;
        height: 70vw;
        left: 0;
        overflow: hidden
    }

    main.company .section9 .child .link .img img {
        width: 100%;
        position: relative;
        left: 50%;
        transform: translate3d(-50%, 0, 0)
    }

    main.company .section9 .child .link .txt {
        color: #fff;
        position: absolute;
        left: 7vw;
        top: 18vw;
        font-size: 5.33333vw
    }

    main.company .section9 .child .link .sub_txt {
        color: #fff;
        position: absolute;
        left: 8vw;
        top: 28vw;
        font-size: 4vw
    }

    main.company .section9 .child .link .btn {
        font-size: 4vw;
        text-align: center;
        width: 100vw;
        margin-top: -30vw
    }
}

main.contact .section {
    position: relative;
    width: 100vw
}

main.contact .section1 .child h1 {
    position: relative
}

main.contact .section1 .child h1 .sub_txt {
    display: block;
    position: absolute;
    font-weight: 400;
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .2s;
    white-space: nowrap
}

main.contact .section1 .child h1 .sub_txt.show {
    opacity: 1
}

main.contact .section1 .child h1 .sub_txt.show:before {
    width: 9.4vw;
    transition: width 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.contact .section1 .child h1 .sub_txt:before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.2vw
}

main.contact .section1 .child h1 .txt {
    display: block;
    line-height: .95;
    font-weight: 400;
    line-height: .6
}

main.contact .section1 .child h1 .txt.show span {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.contact .section1 .child h1 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(60px, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.contact .section1 .child h1 .txt span:nth-child(1) {
    transition-delay: 0s
}

main.contact .section1 .child h1 .txt span:nth-child(2) {
    transition-delay: 90ms
}

main.contact .section1 .child h1 .txt span:nth-child(3) {
    transition-delay: .18s
}

main.contact .section1 .child h1 .txt span:nth-child(4) {
    transition-delay: .27s
}

main.contact .section1 .child h1 .txt span:nth-child(5) {
    transition-delay: .36s
}

main.contact .section1 .child h1 .txt span:nth-child(6) {
    transition-delay: .45s
}

main.contact .section1 .child h1 .txt span:nth-child(7) {
    transition-delay: .54s
}

@media screen and (min-width:1024px) {
    main.contact .section1 {
        padding-top: 17.9375vw
    }

    main.contact .section1 .child {
        width: 73.75vw;
        margin-left: 16.25vw;
        margin-right: 10vw;
        padding-bottom: 9.75vw;
        position: relative
    }

    main.contact .section1 .child h1 {
        margin-left: -.25vw;
        letter-spacing: -.3em
    }

    main.contact .section1 .child h1 .sub_txt {
        font-size: 1.12641vw;
        left: 22.875vw;
        top: 1.9vw;
        letter-spacing: .3em
    }

    main.contact .section1 .child h1 .sub_txt:before {
        margin-right: 1.2vw;
        margin-left: 0;
        top: -.375vw
    }

    main.contact .section1 .child h1 .txt {
        letter-spacing: -.05em;
        font-size: 7.50939vw
    }

    main.contact .contact_content {
        width: 56.25vw;
        margin-left: 6.25vw
    }

    main.contact .anchor {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-top: 6.8125vw;
        padding-bottom: 4.875vw;
        border-bottom: 1px solid #ebedf0
    }

    main.contact .anchor_item {
        font-size: .81352vw;
        letter-spacing: .05em;
        line-height: 1;
        cursor: pointer
    }

    main.contact .anchor_item:hover:after {
        background-color: #e72420
    }

    main.contact .anchor_item:hover span {
        color: #e72420 !important
    }

    main.contact .anchor_item:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 525ms
    }

    main.contact .anchor_item span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.contact .anchor_item span:nth-child(1) {
        transition-delay: 25ms
    }

    main.contact .anchor_item span:nth-child(2) {
        transition-delay: 50ms
    }

    main.contact .anchor_item span:nth-child(3) {
        transition-delay: 75ms
    }

    main.contact .anchor_item span:nth-child(4) {
        transition-delay: .1s
    }

    main.contact .anchor_item span:nth-child(5) {
        transition-delay: 125ms
    }

    main.contact .anchor_item span:nth-child(6) {
        transition-delay: .15s
    }

    main.contact .anchor_item span:nth-child(7) {
        transition-delay: 175ms
    }

    main.contact .anchor_item span:nth-child(8) {
        transition-delay: .2s
    }

    main.contact .anchor_item span:nth-child(9) {
        transition-delay: 225ms
    }

    main.contact .anchor_item span:nth-child(10) {
        transition-delay: .25s
    }

    main.contact .anchor_item span:nth-child(11) {
        transition-delay: 275ms
    }

    main.contact .anchor_item span:nth-child(12) {
        transition-delay: .3s
    }

    main.contact .anchor_item span:nth-child(13) {
        transition-delay: 325ms
    }

    main.contact .anchor_item span:nth-child(14) {
        transition-delay: .35s
    }

    main.contact .anchor_item span:nth-child(15) {
        transition-delay: 375ms
    }

    main.contact .anchor_item span:nth-child(16) {
        transition-delay: .4s
    }

    main.contact .anchor_item span:nth-child(17) {
        transition-delay: 425ms
    }

    main.contact .anchor_item span:nth-child(18) {
        transition-delay: .45s
    }

    main.contact .anchor_item span:nth-child(19) {
        transition-delay: 475ms
    }

    main.contact .anchor_item span:nth-child(20) {
        transition-delay: .5s
    }

    main.contact .anchor_item:not(:first-child) {
        margin-left: 2.25vw
    }

    main.contact .anchor_item.en {
        font-size: .93867vw;
        letter-spacing: .1em;
        line-height: .8;
        margin-left: 2.5vw;
        position: relative;
        top: -.0625vw
    }

    main.contact .anchor_item .link {
        transition: color .2s
    }

    main.contact .anchor_item .link:hover {
        color: #2c1b1e
    }

    main.contact .contact_section {
        margin-top: 5.5vw
    }

    main.contact .contact_section:first-child {
        margin-top: 5.75vw
    }

    main.contact .contact_section>.btn {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        border: 1px solid #ebedf0;
        height: 10vw;
        margin-top: 2.1875vw;
        font-size: 2.50313vw
    }

    main.contact .contact_section>.btn:hover .btn:after {
        background-color: #e72420
    }

    main.contact .contact_section>.btn:hover .btn span {
        color: #e72420
    }

    main.contact .contact_section>.btn .btn:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .35s
    }

    main.contact .contact_section>.btn .btn span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.contact .contact_section>.btn .btn span:nth-child(1) {
        transition-delay: 25ms
    }

    main.contact .contact_section>.btn .btn span:nth-child(2) {
        transition-delay: 50ms
    }

    main.contact .contact_section>.btn .btn span:nth-child(3) {
        transition-delay: 75ms
    }

    main.contact .contact_section>.btn .btn span:nth-child(4) {
        transition-delay: .1s
    }

    main.contact .contact_section>.btn .btn span:nth-child(5) {
        transition-delay: 125ms
    }

    main.contact .contact_section>.btn .btn span:nth-child(6) {
        transition-delay: .15s
    }

    main.contact .contact_section>.btn .btn span:nth-child(7) {
        transition-delay: 175ms
    }

    main.contact .contact_section>.btn .btn span:nth-child(8) {
        transition-delay: .2s
    }

    main.contact .contact_section>.btn .btn span:nth-child(9) {
        transition-delay: 225ms
    }

    main.contact .contact_section>.btn .btn span:nth-child(10) {
        transition-delay: .25s
    }

    main.contact .contact_section>.btn .btn span:nth-child(11) {
        transition-delay: 275ms
    }

    main.contact .contact_section>.btn .btn span:nth-child(12) {
        transition-delay: .3s
    }

    main.contact .contact_section>.btn .btn span:nth-child(13) {
        transition-delay: 325ms
    }

    main.contact .contact_section>.btn:before {
        content: "";
        border-top: 1px solid #2c1b1e;
        border-left: 1px solid #2c1b1e;
        width: 1.875vw;
        height: 3.125vw;
        display: inline-block;
        position: absolute;
        top: -1px;
        left: -1px;
        transition: width .6s, height .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.contact .contact_section>.btn:after {
        content: "";
        border-bottom: 1px solid #2c1b1e;
        border-right: 1px solid #2c1b1e;
        width: 1.875vw;
        height: 3.125vw;
        display: inline-block;
        position: absolute;
        bottom: -1px;
        right: -1px;
        transition: width .6s, height .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.contact .contact_section>.btn .address {
        position: relative;
        top: -.375vw;
        letter-spacing: -.04em
    }

    main.contact .contact_section>.btn .address:before {
        content: "";
        background: url(../image/mail_icon.png);
        display: inline-block;
        background-repeat: no-repeat;
        background-size: contain;
        position: relative;
        width: 1.75vw;
        height: 1.25vw;
        margin-right: 1.125vw
    }

    main.contact .contact_section>.btn .common_btn {
        position: relative;
        top: -.1875vw;
        margin-left: 7.75vw;
        font-size: 1.12641vw
    }

    main.contact .contact_section>.btn:hover:before {
        width: 100%;
        height: 100%
    }

    main.contact .contact_section>.btn:hover:after {
        width: 100%;
        height: 100%
    }

    main.contact .section_title {
        font-size: 1.37672vw;
        letter-spacing: .05em;
        display: flex;
        align-items: center;
        margin-bottom: 1.9375vw;
        font-weight: 400
    }

    main.contact .section_title .en {
        font-size: .68836vw;
        letter-spacing: .02em;
        color: #969ba0;
        margin-left: 1.75vw
    }

    main.contact .section_text {
        font-size: .8761vw;
        letter-spacing: .05em;
        line-height: 1.71429
    }

    main.contact .section_items {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 7.5vw;
        margin-top: 1.875vw;
        background-color: #ebedf0;
        font-size: .75094vw;
        letter-spacing: .1em
    }

    main.contact .section_items h3 {
        font-weight: 400
    }

    main.contact .section_items .list {
        display: flex;
        margin-left: 5.875vw
    }

    main.contact .section_items .list.sp {
        display: none
    }

    main.contact .section_items ul {
        font-weight: 600;
        margin-left: 3vw
    }

    main.contact .section_items ul:first-child {
        margin-left: 0
    }

    main.contact .section_items li {
        white-space: nowrap
    }

    main.contact .contact_section.isFranchiseApplication .btn .common_btn {
        margin-left: 4.125vw
    }

    main.contact .contact_section.isForEnglishSpeaker {
        margin-top: 5.25vw
    }

    main.contact .contact_section.isForEnglishSpeaker .section_title {
        font-size: 1.50188vw
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items {
        height: 9.375vw
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items h3 {
        letter-spacing: .05em;
        margin-bottom: .4375vw
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items .list {
        margin-left: 0
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items ul {
        letter-spacing: 0;
        margin-left: 3.25vw
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items ul:first-child {
        margin-left: 0
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items_inner {
        padding-bottom: .625vw;
        padding-right: .125vw
    }
}

@media screen and (max-width:1023px) {
    main.contact .section1 .child {
        width: 86.66667vw;
        margin: 0 auto;
        padding: 40vw 0 20.26667vw
    }

    main.contact .section1 .child h1 {
        left: -1.33333vw;
        letter-spacing: -.3em;
        order: 0
    }

    main.contact .section1 .child h1 .sub_txt {
        font-size: 2.4vw;
        top: 14.13333vw;
        left: 0;
        letter-spacing: .2em;
        display: block;
        position: absolute;
        font-weight: 400;
        opacity: 0;
        transition: opacity 1.3s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        transition-delay: .2s
    }

    main.contact .section1 .child h1 .sub_txt.show {
        opacity: 1
    }

    main.contact .section1 .child h1 .sub_txt.show:before {
        width: 3.1vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.contact .section1 .child h1 .sub_txt:before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw
    }

    main.contact .section1 .child h1 .sub_txt:before {
        top: -.8vw;
        margin-left: 1.33333vw;
        margin-right: 1.86667vw
    }

    main.contact .section1 .child h1 .txt {
        font-size: 16vw
    }

    main.contact .anchor {
        margin-top: 20vw;
        padding-left: 6.13333vw;
        padding-right: 7.2vw
    }

    main.contact .anchor_item {
        letter-spacing: .15em;
        margin-top: 5.06667vw
    }

    main.contact .anchor_item:first-child {
        margin-top: 5.86667vw
    }

    main.contact .anchor_item.en {
        letter-spacing: .05em
    }

    main.contact .anchor_item .btn {
        font-size: 3.73333vw;
        display: block;
        font-weight: 600;
        position: relative
    }

    main.contact .anchor_item .btn:before {
        content: "";
        background-color: #f4f5f7;
        display: inline-block;
        position: absolute;
        top: 6.53333vw;
        left: 0;
        width: 100%;
        height: 1px
    }

    main.contact .anchor_item .btn:after {
        content: "";
        position: absolute;
        top: 3.46667vw;
        right: 0;
        background: url(../image/arrow.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 5.86667vw;
        height: 3.2vw;
        display: inline-block
    }

    main.contact .contact_section {
        margin-top: 12.26667vw
    }

    main.contact .contact_section:first-child {
        margin-top: 15.2vw
    }

    main.contact .contact_section .btn {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        border: 1px solid #ebedf0;
        height: 26.66667vw;
        margin-top: 6.13333vw;
        font-size: 6.66667vw
    }

    main.contact .contact_section .btn:before {
        content: "";
        border-top: 1px solid #2c1b1e;
        border-left: 1px solid #2c1b1e;
        width: 5.33333vw;
        height: 10.66667vw;
        display: inline-block;
        position: absolute;
        top: -1px;
        left: -1px
    }

    main.contact .contact_section .btn:after {
        content: "";
        border-bottom: 1px solid #2c1b1e;
        border-right: 1px solid #2c1b1e;
        width: 5.33333vw;
        height: 10.66667vw;
        display: inline-block;
        position: absolute;
        bottom: -1px;
        right: -1px
    }

    main.contact .contact_section .btn .address {
        position: relative;
        letter-spacing: -.04em
    }

    main.contact .contact_section .btn .address:before {
        content: "";
        background: url(../image/mail_icon.png);
        display: inline-block;
        background-repeat: no-repeat;
        background-size: contain;
        position: relative;
        width: 4.66667vw;
        height: 3.33333vw;
        margin-right: 2.93333vw
    }

    main.contact .contact_section .btn .common_btn {
        display: none
    }

    main.contact .section_title {
        font-size: 5.33333vw;
        letter-spacing: .05em;
        margin-bottom: 5.33333vw;
        font-weight: 400
    }

    main.contact .section_title .en {
        display: block;
        font-size: 2.66667vw;
        letter-spacing: 0;
        color: #969ba0
    }

    main.contact .section_text {
        font-size: 3.2vw;
        letter-spacing: .075em;
        line-height: 2
    }

    main.contact .section_items {
        margin-top: 6.66667vw;
        padding: 4.26667vw 6.66667vw 5.86667vw;
        background-color: #ebedf0;
        font-size: 3.2vw;
        letter-spacing: .1em
    }

    main.contact .section_items h3 {
        font-weight: 400
    }

    main.contact .section_items .list {
        display: flex;
        margin-top: 1.86667vw;
        margin-left: -.4vw
    }

    main.contact .section_items .list.pc {
        display: none
    }

    main.contact .section_items ul {
        font-weight: 600;
        margin-left: 2.66667vw
    }

    main.contact .section_items ul:first-child {
        margin-left: 0
    }

    main.contact .section_items li {
        white-space: nowrap
    }

    main.contact .contact_section.isForEnglishSpeaker .section_title {
        letter-spacing: -.01em;
        margin-bottom: 4vw
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items h3 {
        letter-spacing: .05em;
        margin-bottom: .93333vw
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items .list {
        display: block;
        margin-left: 0
    }

    main.contact .contact_section.isForEnglishSpeaker .section_items ul {
        letter-spacing: 0;
        margin-left: 0
    }
}

main.notice .section {
    position: relative;
    width: 100vw
}

main.notice .section1 .child h1 {
    position: relative
}

main.notice .section1 .child h1 .sub_txt {
    display: block;
    position: absolute;
    font-weight: 400;
    opacity: 0;
    transition: opacity 1.3s;
    transition-timing-function: cubic-bezier(.25, .46, .45, .94);
    transition-delay: .2s;
    white-space: nowrap
}

main.notice .section1 .child h1 .sub_txt.show {
    opacity: 1
}

main.notice .section1 .child h1 .sub_txt.show:before {
    width: 9.4vw;
    transition: width 1.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.notice .section1 .child h1 .sub_txt:before {
    content: "";
    width: 0;
    height: 1px;
    background-color: #2c1b1e;
    position: relative;
    display: inline-block;
    margin-left: 1.2vw
}

main.notice .section1 .child h1 .txt {
    display: block;
    line-height: .95;
    font-weight: 400;
    line-height: .6
}

main.notice .section1 .child h1 .txt.show span {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}

main.notice .section1 .child h1 .txt span {
    opacity: 0;
    display: inline-block;
    transform: translate3d(0, 0, 0);
    transition: opacity 2.2s, transform 2.2s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

main.notice .section1 .child h1 .txt span.show{
    opacity: 1;
}

main.notice .section1 .child h1 .txt span:nth-child(1) {
    transition-delay: 0s
}

main.notice .section1 .child h1 .txt span:nth-child(2) {
    transition-delay: 90ms
}

main.notice .section1 .child h1 .txt span:nth-child(3) {
    transition-delay: .18s
}

main.notice .section1 .child h1 .txt span:nth-child(4) {
    transition-delay: .27s
}

main.notice .section1 .child h1 .txt span:nth-child(5) {
    transition-delay: .36s
}

main.notice .section1 .child h1 .txt span:nth-child(6) {
    transition-delay: .45s
}

main.notice .section1 .child h1 .txt span:nth-child(7) {
    transition-delay: .54s
}

main.notice .cat_wrap {
    display: flex;
    flex-direction: row;
    align-items: center
}

main.notice .cat {
    display: flex;
    flex-direction: row
}

main.notice .cat_tit {
    line-height: 1;
    letter-spacing: .05em
}

main.notice .cat_li {
    line-height: 1;
    cursor: pointer
}

main.notice .cat_li .link {
    color: #969ba0
}

main.notice .cat_li.isActive .link {
    color: #2c1b1e
}

main.notice .anchor_item {
    letter-spacing: .05em
}

main.notice .anchor_item .btn {
    display: block;
    font-weight: 600
}

main.notice .js-tab_content {
    position: absolute
}

main.notice .js-tab_content.isActive {
    display: block;
    position: relative;
    z-index: 1
}

main.notice .js-tab_content.isHide {
    display: none
}

@media screen and (min-width:1024px) {
    main.notice .section1 {
        padding-top: 18.125vw
    }

    main.notice .section1 .child {
        width: 73.75vw;
        margin-left: 16.25vw;
        margin-right: 10vw;
        padding-bottom: 11.25vw;
        position: relative
    }

    main.notice .section1 .child h1 {
        margin-left: -.25vw;
        letter-spacing: -.3em
    }

    main.notice .section1 .child h1 .sub_txt {
        font-size: 1.12641vw;
        left: 37.0625vw;
        top: 1.9vw;
        letter-spacing: .3em
    }

    main.notice .section1 .child h1 .sub_txt:before {
        margin-right: 1.2vw;
        margin-left: 0;
        top: -.375vw
    }

    main.notice .section1 .child h1 .txt {
        letter-spacing: -.05em;
        font-size: 7.50939vw
    }

    main.notice .notice_content {
        width: 67.5vw;
        margin-left: 6.25vw
    }

    main.notice .cat_wrap {
        margin-top: 6.5vw
    }

    main.notice .cat_tit {
        font-size: 1.12641vw;
        display: flex;
        align-items: center
    }

    main.notice .cat_tit:before {
        content: "";
        width: .5vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-right: .625vw
    }

    main.notice .cat {
        margin-left: 5vw
    }

    main.notice .cat_li {
        font-size: 1.00125vw;
        letter-spacing: .05em
    }

    main.notice .cat_li:not(:first-child) {
        margin-left: 3.125vw
    }

    main.notice .cat_li:not(.isActive) .link:hover:after {
        background-color: #e72420
    }

    main.notice .cat_li:not(.isActive) .link:hover span {
        color: #e72420 !important
    }

    main.notice .cat_li:not(.isActive) .link:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 225ms
    }

    main.notice .cat_li:not(.isActive) .link span {
        color: #969ba0;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(1) {
        transition-delay: 25ms
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(2) {
        transition-delay: 50ms
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(3) {
        transition-delay: 75ms
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(4) {
        transition-delay: .1s
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(5) {
        transition-delay: 125ms
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(6) {
        transition-delay: .15s
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(7) {
        transition-delay: 175ms
    }

    main.notice .cat_li:not(.isActive) .link span:nth-child(8) {
        transition-delay: .2s
    }

    main.notice .anchor {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 5.6875vw;
        margin-top: 4.6875vw;
        margin-bottom: 5.5625vw;
        border: 1px solid #ebedf0;
        border-left: 0;
        border-right: 0
    }

    main.notice .anchor_item .btn {
        font-size: .81352vw;
        letter-spacing: .05em;
        font-weight: 600
    }

    main.notice .anchor_item .btn:hover:after {
        background-color: #e72420
    }

    main.notice .anchor_item .btn:hover span {
        color: #e72420 !important
    }

    main.notice .anchor_item .btn:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: 525ms
    }

    main.notice .anchor_item .btn span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.notice .anchor_item .btn span:nth-child(1) {
        transition-delay: 25ms
    }

    main.notice .anchor_item .btn span:nth-child(2) {
        transition-delay: 50ms
    }

    main.notice .anchor_item .btn span:nth-child(3) {
        transition-delay: 75ms
    }

    main.notice .anchor_item .btn span:nth-child(4) {
        transition-delay: .1s
    }

    main.notice .anchor_item .btn span:nth-child(5) {
        transition-delay: 125ms
    }

    main.notice .anchor_item .btn span:nth-child(6) {
        transition-delay: .15s
    }

    main.notice .anchor_item .btn span:nth-child(7) {
        transition-delay: 175ms
    }

    main.notice .anchor_item .btn span:nth-child(8) {
        transition-delay: .2s
    }

    main.notice .anchor_item .btn span:nth-child(9) {
        transition-delay: 225ms
    }

    main.notice .anchor_item .btn span:nth-child(10) {
        transition-delay: .25s
    }

    main.notice .anchor_item .btn span:nth-child(11) {
        transition-delay: 275ms
    }

    main.notice .anchor_item .btn span:nth-child(12) {
        transition-delay: .3s
    }

    main.notice .anchor_item .btn span:nth-child(13) {
        transition-delay: 325ms
    }

    main.notice .anchor_item .btn span:nth-child(14) {
        transition-delay: .35s
    }

    main.notice .anchor_item .btn span:nth-child(15) {
        transition-delay: 375ms
    }

    main.notice .anchor_item .btn span:nth-child(16) {
        transition-delay: .4s
    }

    main.notice .anchor_item .btn span:nth-child(17) {
        transition-delay: 425ms
    }

    main.notice .anchor_item .btn span:nth-child(18) {
        transition-delay: .45s
    }

    main.notice .anchor_item .btn span:nth-child(19) {
        transition-delay: 475ms
    }

    main.notice .anchor_item .btn span:nth-child(20) {
        transition-delay: .5s
    }

    main.notice .anchor_item+.anchor_item {
        margin-left: 2.5vw
    }

    main.notice .notice {
        font-size: .8761vw;
        letter-spacing: .05em;
        line-height: 1.71429
    }

    main.notice .notice h2 {
        font-size: 1.37672vw;
        margin-bottom: 2.0625vw
    }

    main.notice .notice h3 {
        font-size: 1.00125vw;
        margin-bottom: .4375vw
    }

    main.notice .notice h4 {
        margin-top: 1.71429em;
        margin-bottom: .4375vw
    }

    main.notice .notice p {
        margin-top: 1.71429em
    }

    main.notice .notice h3+p {
        margin-top: 0
    }

    main.notice .notice ol {
        margin-top: 1.71429em
    }

    main.notice .notice ol li {
        margin-top: .71429em
    }

    main.notice .notice ol ol {
        margin-top: 0
    }

    main.notice .notice ol.kana {
        padding-left: 2em;
        text-indent: -2em
    }

    main.notice .notice ol.wide_margin li {
        margin-top: 1.71429em
    }

    main.notice .notice .table {
        display: table;
        border-collapse: collapse;
        border: 1px solid #ebedf0;
        width: 58.75vw;
        margin-top: .5625vw
    }

    main.notice .notice .tr {
        display: table-row
    }

    main.notice .notice .th {
        display: table-cell;
        border: 1px solid #ebedf0;
        font-weight: 400;
        text-align: center;
        vertical-align: middle;
        min-width: 7.8125vw;
        padding: .96875vw 0
    }

    main.notice .notice .th:first-child {
        width: 11.875vw
    }

    main.notice .notice .td {
        display: table-cell;
        border: 1px solid #ebedf0;
        text-align: center;
        vertical-align: middle;
        min-width: 7.8125vw;
        padding: .96875vw 0
    }

    main.notice .notice .td.left {
        text-align: left;
        padding-left: 2.4375vw;
        padding-right: 2.4375vw
    }

    main.notice .notice .note {
        width: 58.75vw
    }

    main.notice .notice_section {
        margin-top: 6.625vw
    }

    main.notice .notice_section:first-child {
        margin-top: 20.06667vw
    }

    main.notice .notice_sub_section {
        margin-top: 2.4375vw
    }

    main.notice h2+.notice_sub_section {
        margin-top: 0
    }
}

@media screen and (max-width:1023px) {
    main.notice .section1 .child {
        width: 86.66667vw;
        margin: 0 auto;
        padding: 40vw 0 18.4vw
    }

    main.notice .section1 .child h1 {
        left: -1.33333vw;
        letter-spacing: -.3em;
        order: 0
    }

    main.notice .section1 .child h1 .sub_txt {
        font-size: 2.4vw;
        top: 14.13333vw;
        left: 0;
        letter-spacing: .2em;
        display: block;
        position: absolute;
        font-weight: 400;
        opacity: 0;
        transition: opacity 1.3s;
        transition-timing-function: cubic-bezier(.25, .46, .45, .94);
        transition-delay: .2s
    }

    main.notice .section1 .child h1 .sub_txt.show {
        opacity: 1
    }

    main.notice .section1 .child h1 .sub_txt.show:before {
        width: 3.1vw;
        transition: width 1.2s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.notice .section1 .child h1 .sub_txt:before {
        content: "";
        width: 0;
        height: 1px;
        background-color: #2c1b1e;
        position: relative;
        display: inline-block;
        margin-left: 1.2vw
    }

    main.notice .section1 .child h1 .sub_txt:before {
        top: -.8vw;
        margin-left: .8vw;
        margin-right: 1.86667vw
    }

    main.notice .section1 .child h1 .txt {
        font-size: 16vw
    }

    main.notice .cat_wrap {
        margin-top: 20vw
    }

    main.notice .cat_tit {
        font-size: 4vw;
        display: flex;
        align-items: center
    }

    main.notice .cat_tit:before {
        content: "";
        width: .8vw;
        height: 1px;
        background-color: #2c1b1e;
        margin-right: 2.13333vw
    }

    main.notice .cat {
        margin-left: 10.66667vw
    }

    main.notice .cat_li {
        font-size: 3.2vw;
        letter-spacing: .05em
    }

    main.notice .cat_li:not(:first-child) {
        margin-left: 8vw
    }

    main.notice .anchor {
        margin-top: 5.33333vw;
        margin-bottom: 17.86667vw;
        padding-left: 6.13333vw;
        padding-right: 7.2vw;
        border-top: 1px solid #ebedf0
    }

    main.notice .anchor_item {
        margin-top: 5.06667vw
    }

    main.notice .anchor_item:first-child {
        margin-top: 5.86667vw
    }

    main.notice .anchor_item .btn {
        font-size: 3.73333vw;
        letter-spacing: .15em;
        font-weight: 600;
        position: relative
    }

    main.notice .anchor_item .btn:before {
        content: "";
        background-color: #f4f5f7;
        display: inline-block;
        position: absolute;
        top: 6.53333vw;
        left: 0;
        width: 100%;
        height: 1px
    }

    main.notice .anchor_item .btn:after {
        content: "";
        position: absolute;
        top: 3.46667vw;
        right: 0;
        background: url(../image/arrow.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 5.86667vw;
        height: 3.2vw;
        display: inline-block
    }

    main.notice .notice {
        font-size: 3.2vw;
        letter-spacing: .075em;
        line-height: 2
    }

    main.notice .notice h2 {
        font-size: 5.33333vw;
        letter-spacing: .05em;
        line-height: 1.2;
        margin-bottom: 7.46667vw
    }

    main.notice .notice h3 {
        font-size: 3.46667vw;
        line-height: 1.84615;
        margin-bottom: .26667vw
    }

    main.notice .notice h4 {
        margin-top: 2em;
        margin-bottom: .93333vw
    }

    main.notice .notice p {
        margin-top: 2em
    }

    main.notice .notice h3+p {
        margin-top: 0
    }

    main.notice .notice ol {
        margin-top: 2em
    }

    main.notice .notice ol ol {
        margin-top: 0
    }

    main.notice .notice ol.wide_margin li {
        margin-top: 2em
    }

    main.notice .notice .table {
        display: table;
        border-collapse: collapse;
        border: 1px solid #ebedf0;
        margin-top: 2.13333vw
    }

    main.notice .notice .tr {
        display: table-row
    }

    main.notice .notice .th {
        display: table-cell;
        border: 1px solid #ebedf0;
        font-weight: 400;
        text-align: center;
        vertical-align: middle;
        white-space: nowrap;
        padding: 2.8vw 5.2vw
    }

    main.notice .notice .th:first-child {
        width: 19.33333vw
    }

    main.notice .notice .td {
        display: table-cell;
        border: 1px solid #ebedf0;
        text-align: center;
        vertical-align: middle;
        padding: 2.8vw 5.2vw
    }

    main.notice .notice .td.left {
        text-align: left
    }

    main.notice .notice .table.flex {
        display: flex;
        flex-direction: row-reverse;
        border-bottom: 0;
        border-right: 0
    }

    main.notice .notice .table.flex .tr {
        flex: 1;
        display: flex;
        flex-direction: column
    }

    main.notice .notice .table.flex .th {
        flex: 1;
        display: block;
        border-top: 0;
        border-left: 0
    }

    main.notice .notice .table.flex .th:first-child {
        width: auto
    }

    main.notice .notice .table.flex .td {
        flex: 1;
        display: block;
        border-top: 0;
        border-left: 0
    }

    main.notice .notice .note {
        margin-top: 1.6vw
    }

    main.notice .notice_section {
        margin-top: 13.06667vw
    }

    main.notice .notice_section:first-child {
        margin-top: 20.06667vw
    }

    main.notice .notice_sub_section {
        margin-top: 6.13333vw
    }

    main.notice h2+.notice_sub_section {
        margin-top: 0
    }
}

main.error404 .not {
    position: relative;
    color: #ebedf0;
    line-height: 1
}

main.error404 .not::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background-color: #ebedf0
}

@media screen and (min-width:1024px) {
    main.error404 .section1 {
        padding-top: 19.25vw
    }

    main.error404 .section1 .child {
        width: 67.5vw;
        margin-left: 20vw;
        margin-right: 12.5vw;
        padding-bottom: 9.5625vw
    }

    main.error404 .not {
        font-size: 4.38048vw;
        margin-bottom: 2.75vw;
        margin-left: -.0625vw;
        padding-bottom: 1.875vw
    }

    main.error404 .not::after {
        width: 4.375vw
    }

    main.error404 h1 {
        font-size: 1.87735vw;
        letter-spacing: .05em;
        margin-left: -.1875vw
    }

    main.error404 .text {
        font-size: .8761vw;
        letter-spacing: .05em;
        margin-top: 1.375vw;
        line-height: 2.5
    }

    main.error404 .back {
        margin-top: 2.3125vw
    }

    main.error404 .btn {
        font-size: 1.12641vw
    }

    main.error404 .btn:hover:after {
        background-color: #e72420
    }

    main.error404 .btn:hover span {
        color: #e72420 !important
    }

    main.error404 .btn:after {
        transition: background-color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1);
        transition-delay: .3s
    }

    main.error404 .btn span {
        color: #2c1b1e;
        transition: color .6s;
        transition-timing-function: cubic-bezier(.165, .84, .44, 1)
    }

    main.error404 .btn span:nth-child(1) {
        transition-delay: 25ms
    }

    main.error404 .btn span:nth-child(2) {
        transition-delay: 50ms
    }

    main.error404 .btn span:nth-child(3) {
        transition-delay: 75ms
    }

    main.error404 .btn span:nth-child(4) {
        transition-delay: .1s
    }

    main.error404 .btn span:nth-child(5) {
        transition-delay: 125ms
    }

    main.error404 .btn span:nth-child(6) {
        transition-delay: .15s
    }

    main.error404 .btn span:nth-child(7) {
        transition-delay: 175ms
    }

    main.error404 .btn span:nth-child(8) {
        transition-delay: .2s
    }

    main.error404 .btn span:nth-child(9) {
        transition-delay: 225ms
    }

    main.error404 .btn span:nth-child(10) {
        transition-delay: .25s
    }

    main.error404 .btn span:nth-child(11) {
        transition-delay: 275ms
    }
}

@media screen and (max-width:1023px) {
    main.error404 .section1 .child {
        width: 86.66667vw;
        margin: 0 auto;
        padding: 37.33333vw 0 20vw
    }

    main.error404 .not {
        font-size: 14.4vw;
        margin-bottom: 8.26667vw;
        margin-left: -.13333vw;
        padding-bottom: 6.4vw
    }

    main.error404 .not::after {
        width: 20vw
    }

    main.error404 h1 {
        font-size: 6.66667vw;
        letter-spacing: .05em;
        line-height: 1.6;
        margin-left: -.4vw
    }

    main.error404 .text {
        font-size: 3.2vw;
        letter-spacing: .05em;
        margin-top: 5.86667vw;
        line-height: 2
    }

    main.error404 .back {
        display: flex;
        margin-top: 6.4vw
    }

    main.error404 .btn {
        display: block;
        position: relative;
        border: 1px solid #ebedf0;
        padding: 1.86667vw 12.26667vw 1.6vw 12.26667vw;
        font-size: 4vw
    }

    main.error404 .btn:after {
        position: absolute;
        right: 0;
        top: 5.6vw;
        height: 1px
    }
}

main.top .section2 .child .imgs .img1 .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    transition: all 1s;
}

main.top .section2 .child .imgs .img1 .bg:hover {
    background-size: 110% 110%;
}

main.top .section3 .ui .txt {
    position: absolute;
    right: 0;
    bottom: 1%;
}

.imgs {
    overflow: hidden;
}

.imgs img,
.img img {
    transition: transform 1s;
}

.imgs img:hover,
.img img:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

main.company .section4 .child>.txt table img {
    width: 80%;
}

main.company .section6 .child>.txt,
main.company .section7 .child>.txt,
main.company .section8 .child>.txt table img {
    width: 100%;
}

main.recruit .section8 .child .info {
    width: 100%;
    margin-left: 0;
}

main.recruit .section8 .child .info table {
    width: 100%;
}

@media screen and (max-width:991px) {
    header .header_nav .header_nav_child .grill_menu {
        display: block;
    }

    main.about .section2 .child>p,main.about .section2 .child .item>p {
        width: 95%;
        left: 2%;
    }
}


.contact1 .section__container {
    box-sizing: border-box;
    max-width: 121rem;
    margin-right: auto;
    margin-left: -34vw;
    padding-right: 5.5rem;
    padding-left: 5.5rem;
    margin-top: 10rem;
    margin-bottom: 10rem;
    position: relative;
    left: 50%;
    width: 80%;
}

@media only screen and (max-width: 1023px) {
    .contact1 .section__container {
        max-width: none;
        padding-right: 3rem;
        padding-left: 3rem
    }
}

.contact1 .c-form {
    scroll-margin-top: 10rem
}

.contact1 .c-form__message {
    margin-bottom: 2rem;
    font-size: 1.5rem;
    font-weight: 500
}

.contact1 .c-form__message:not(:first-child) {
    margin-top: 10rem
}

.contact1 .c-form__item {
    padding: 3rem 0;
}

.contact1 .c-form__item+.c-form__item {
    border-top: none
}

.contact1 .c-form__item dt {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.5
}

.contact1 .c-form__item dt .req,
.contact1 .c-form__message .req {
    box-sizing: border-box;
    display: inline-block;
    height: 2rem;
    margin-left: 0.5rem;
    color: #B40000;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
}

.contact1 .c-form__name {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
}

.contact1 .c-form__name .c-form-text {
    margin-top: 0 !important
}

.contact1 .c-form__caption {
    margin-top: .5rem;
    font-size: 1.2rem;
    line-height: 1.5
}

.contact1 .c-form__privacy {
    padding: 0;
    border-bottom: none
}

.contact1 .c-form__privacy dt {
    justify-content: center
}

.contact1 .c-form__privacy dd {
    text-align: center
}

.contact1 .c-form__privacyInner {
    box-sizing: border-box;
    display: block;
    border-radius: 2rem
}

.contact1 .c-form__btns {
    display: flex;
    justify-content: center;
    -moz-column-gap: 3rem;
    column-gap: 3rem;
    margin-top: 6rem
}

.contact1 .c-form__btns li {
    flex: 1;
    max-width: 26rem
}

.contact1 .c-form__btn {
    transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    transition-property: background, color;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 50px;
    margin: 0;
    padding: 0;
    border: #000 solid 1px;
    border-radius: .4rem;
    background: #000;
    color: #fff;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5
}

@media(hover: hover) {
    .contact1 .c-form__btn:hover {
        background: none;
        color: #000
    }
}

.contact1 .c-form__btn--secondary {
    background: none;
    color: #4691E9
}

.contact1 .c-form__note {
    margin-top: 3rem;
    font-size: 1.2rem
}

.contact1 .c-form-step {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    font-weight: 500;
    line-height: 1.5
}

.contact1 .c-form-step li {
    position: relative;
    padding-left: 1.5rem
}

.contact1 .c-form-step li::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(.75em - .3rem);
    left: 0;
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background: #e0e0e0
}

.contact1 .c-form-step li:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(100% - .25rem);
    left: .3rem;
    width: 1px;
    height: 2.5rem;
    background: #e0e0e0
}

.contact1 .c-form-step li.active::before {
    background: #4691E9
}

.contact1 .c-form-text,
.contact1 .c-form-select {
    display: block;
}

.contact1 .c-form-text:not(:first-child),
.contact1 .c-form-select:not(:first-child) {
    margin-top: 1.5rem
}

.contact1 .c-form-text .label,
.contact1 .c-form-select .label {
    display: block;
    margin-bottom: .5rem;
    line-height: 1.5
}

.contact1 .c-form-text--s,
.contact1 .c-form-select--s {
    max-width: 33rem
}

.c-form-text--l,
.c-form-select--l {
    max-width: 53rem
}

.c-form-text input {
    width: 100%;
    height: 5rem;
    margin: 0;
    padding: 0 1.5rem;
    border: none;
    border-radius: .4rem;
    background: #fff;
    font-size: 1.4rem;
    line-height: 1.72;
    border: 1px solid #DCDCDC;
    box-sizing: border-box;
}

.c-form-text input.invalid {
    background: rgba(255, 0, 0, .05)
}

.c-form-select .select {
    position: relative
}

.c-form-select .select::after {
    transform: rotate(45deg);
    transform-origin: right bottom;
    content: "";
    box-sizing: border-box;
    position: absolute;
    right: 2.2rem;
    bottom: calc(50% - .3rem);
    z-index: 1;
    width: 1rem;
    height: 1rem;
    border-right: #000 solid 1px;
    border-bottom: #000 solid 1px;
    pointer-events: none
}

.c-form-select .select select {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 5rem;
    margin: 0;
    padding: 0 4.5rem 0 1.5rem;
    border: none;
    border-radius: .4rem;
    background: #f2f2f2;
    font-size: 1.4rem;
    line-height: 1.72
}

.c-form-select .select select.invalid {
    background: rgba(255, 0, 0, .05)
}

.c-form-textarea textarea {
    width: 100%;
    height: 30rem;
    margin: 0;
    padding: 1.5rem;
    border: none;
    border-radius: .4rem;
    background: #fff;
    font-size: 1.4rem;
    font-family: 'Arial';
    line-height: 1.72;
    resize: vertical;
    border: 1px solid #DCDCDC;
}

.c-form-textarea textarea.invalid {
    background: rgba(255, 0, 0, .05)
}

.c-form-checkbox {
    display: flex;
    align-items: flex-start;
    font-weight: 500;
    line-height: 1.72
}

.c-form-checkbox input[type=checkbox] {
    box-sizing: border-box;
    position: relative;
    top: calc(.86em - 1rem);
    width: 2rem;
    height: 2rem;
    margin: 0 1rem 0 0;
    padding: 0;
    border: #e0e0e0 solid 1px;
    border-radius: .4rem;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-form-checkbox input[type=checkbox]::before {
    content: "";
    transform: rotate(-45deg);
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: .2rem;
    left: .1rem;
    width: 1.5rem;
    height: 1rem;
    border-bottom: #4691E9 solid 3px;
    border-left: #4691E9 solid 3px;
    opacity: 0
}

.c-form-checkbox input[type=checkbox]:checked::before {
    opacity: 1
}

.c-form-checkbox .txt a {
    font-size: 1.4rem;
    text-decoration: underline;
}

.c-form-error {
    margin-top: .5rem;
    color: red;
    line-height: 1.5
}

@media only screen and (max-width: 1023px) {
    .c-form__message {
        margin-bottom: 3rem;
        font-size: 1.4rem
    }

    .c-form__message:not(:first-child) {
        margin-top: 7rem
    }

    .contact1 .c-form__item {
        padding: 2.5rem 0
    }

    .contact1 .c-form__item dt {
        align-items: center;
        margin-bottom: 1.5rem;
        font-size: 1.4rem
    }

    .c-form__name {
        max-width: none
    }

    .c-form__privacy {
        padding: 0;
    }

    .c-form__privacyInner {
        height: auto;
        border: none;
        border-radius: 0
    }

    .c-form__btns {
        flex-direction: column;
        align-items: center;
        row-gap: 2rem;
        margin-top: 4rem
    }

    .c-form__btns li {
        width: auto;
    }

    .c-form__btn {
        font-size: 1.4rem
    }

    .c-form__note {
        margin-top: 2rem
    }

    .c-form-step {
        flex-direction: row;
        justify-content: center;
        -moz-column-gap: 10.5rem;
        column-gap: 10.5rem;
        padding: 2rem 0;
        border: #e0e0e0 solid 1px;
        border-radius: .8rem
    }

    .c-form-step li {
        width: .7rem;
        height: .7rem;
        padding-top: 3rem;
        padding-left: 0
    }

    .c-form-step li .label {
        transform: translateX(-50%);
        position: absolute;
        top: 0;
        left: 50%;
        white-space: nowrap
    }

    .c-form-step li::before {
        position: static
    }

    .c-form-step li:not(:last-child)::after {
        top: auto;
        bottom: .3rem;
        left: calc(100% + 1rem);
        width: 8.5rem;
        height: 1px
    }

    .c-form-text,
    .c-form-select {
        max-width: none
    }

    .c-form-text:not(:first-child),
    .c-form-select:not(:first-child) {
        margin-top: 1rem
    }

    .c-form-text--s,
    .c-form-select--s {
        max-width: none
    }

    .c-form-text--l,
    .c-form-select--l {
        max-width: none
    }

    .c-form-textarea textarea {
        height: 25rem
    }
}

main.company .section1 .child h2 {
    mix-blend-mode: difference;
}

main.company .section1 .child .contents_nav ul a {
    display: block;
}

main.company .section8 .child .info table tr td {
    padding: 2vw 0 2vw 1vw;
}

@media screen and (max-width:991px) {
    main.top .section1 h2 .txt {
        transform: translate3d(-30vw, 0, 0);
    }

    main.top .section1 h3 {
        margin-top: 45vw;
    }

    main.top .section2 h2 {
        left: 0;
    }

    main.top .section2 .child h2 .sub_txt {
        top: 16vw;
        left: auto;
        right: 7vw;
    }

    main.top .section2 .imgs {
        margin-top: 30.3vw;
    }

    main.top .section2 .imgs .img2 {
        margin-top: 70.3vw;
    }

    main.top .section3 ul li {
        width: 100% !important;
        margin: 0;
    }

    main.top .section1 .imgs .img1 {
        margin-top: 79vw;
    }

    main.top .section3 ul {
        margin: 0;
    }

    main.top .section3 .ui {
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    main.company .section9 .child .link {
        margin-top: 0;
    }

    main.company .section1 .child h1 .sub_txt {
        top: 16.6vw;
    }

    main.business1 .section1 .child h1 .sub_txt {
        top: 31.6vw;
    }

    main.company .section1 .child .contents_nav {
        margin-top: 25vw;
    }

    main.business2 .section1 .child h1 .sub_txt {
        top: 50vw;
    }

    main.company .section .child h2 .txt {
        font-size: 7.66667vw;
    }

    .contact1 .section__container {
        padding: 0;
        margin-left: 0;
        left: 10%;
    }

    main.about .section2 .child .child_section .big_img{
    	margin-top: 0;
    }

    main.company{
    	padding-top:15%;
    }
}