@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Cardo:ital,wght@0,400;0,700;1,400&family=Kaisei+Opti&family=Oswald:wght@200..700&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
/*
font-family: "Zen Maru Gothic", sans-serif;
font-family: "Kaisei Opti", serif;
font-family: "Oswald", sans-serif;
font-family: "Cardo", serif;
*/

/* --------------------------------------------------------------------
common
-------------------------------------------------------------------- */
#mainwrap #main {
    margin-bottom: 0;
}
#main {
    overflow: hidden;
}
#main .pc_only {
    display: none;
}

/* --------------------------------------------------------------------
#hz-ticket
-------------------------------------------------------------------- */
#hz-ticket {
    margin: 0 auto;
    color: #474747;
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
}
#hz-ticket h1 {
    margin: 0 auto;
}
#main #subNav {
    background: #ff7900;
    margin: 1px auto;
}
#main #subNav ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
}
#main #subNav ul li {    
    width: 50%;
    position: relative;
    margin: 2.4vw 0;    
    font-family: "Zen Maru Gothic", sans-serif;    
    font-size: 4.5vw;
    line-height: 1.2;
}
#main #subNav ul li:nth-child(odd)::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #ffffff;
    position: absolute;
    right: 0;
    top: 0;
}
#main #subNav ul li:nth-child(n+3)::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #ffffff;
    position: absolute;
    left: 0;
    top: -2.4vw;
}

#main #subNav ul li a,
#main #subNav ul li i,
#main #subNav ul li span {
    display: block;
    font-weight: 700;
    text-decoration: none;
    color: #fff;
    text-align: center;
    font-style: normal;
}
#main #subNav ul li a,
#main #subNav ul li span {
    display: block;
    padding: 0.2em 0 0.8em;
    background:url(../img/ico_navarrow_sp.png) no-repeat center bottom;
    background-size: 0.77em auto;
}
#main #subNav ul li i {
    font-size: 2.8vw;
}
#main #subNav ul li b {
    position: relative;
    padding-left: 0.8em;
}
#main #subNav ul li b em {
    font-size: 6.8vw;
    position: absolute;
    left: 0;
    top: -0.2em;
}

#hz-ticket .btn {
    margin: 0 auto;
    display: inline-block;
}
#hz-ticket .btn a {
    padding: 3vw 12.5vw 3.5vw 7.5vw;
    color: #fff;
    font-size: 4vw;
    text-align: left;
    border-radius: 20vw;
    background: #ff7900;
    -webkit-box-shadow: 2px 2px 0 rgba(255, 121, 9, 0.7);
    box-shadow: 2px 2px 0 rgba(255, 121, 9, 0.7);
    display: block;
    position: relative;
}
#hz-tieup .btn a::after,
#hz-place .btn a::after,
#hz-point .btn a::after {
    content: "";
    margin-top: -3.5vw;
    width: 7vw;
    height: 7vw;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-image: url("../img/icon_arrow.svg");
    background: #fff;
    display: block;
    position: absolute;
    top: 50%;
    right: 3%;
}

/* #hz-target
------------------------------------------------ */
#hz-target {
    margin: 0 auto;
    padding: 12% 0 0;
    background: #5bbee4;
    position: relative;
}
#hz-target .catch {
    margin: 0 auto 2%;
    color: #fff;
    font-size: 3.6vw;
    font-weight: bold;
    text-align: center;
}
#hz-target .catch em {
    font-size: 4.4vw;
}
#hz-target .txtBlock {
    margin: 0 auto;
    padding: 2%;
    width: 90%;
    font-size: 3.2vw;
    background: #fff;
    border: solid 4px #cbd447;
}
#hz-target .txtBlock dl>dt {
    margin: 0 auto 0.5%;
    color: #56b846;
    font-weight: bold;
}
#hz-target .txtBlock dl>dd {
    margin: 0 auto 1.5%;
    padding-bottom: 1%;
    border-bottom: solid 1px #afafaf;
}
#hz-target .txtBlock dl>dd:last-child {
    border-bottom: none;
}
#hz-target .txtBlock .attentionList {
    font-size: 2.6vw;
}
#hz-target .txtBlock .attentionList>li {
    padding-left: 1em;
    text-indent: -1em;
}

/* #hz-tieup
------------------------------------------------ */
#hz-tieup {
    margin: 0 auto;
    padding: 10% 0 5em;
    text-align: center;
    position: relative;
    z-index: 2;
    background: url(../img/bg_hz-tieup_sp.png) no-repeat center bottom;
    background-size: 100% auto;
}
#hz-tieup::after {
    content: "";
    background: url(../img/bg_tieup_icon1_sp.png) no-repeat center right;
    background-size: 100% auto;
    width: 12.59vw;
    height: 15.74vw;
    display: block;
    position: absolute;
    left: 0;
    bottom: 3em;
}
#hz-tieup h2 {
    font-size: 7.4vw;
    text-align: center;
    font-family: "Kaisei Opti", serif;
    font-weight: 700;
    line-height: 1.12;
    margin-bottom: 0.75em;
    background: linear-gradient(90deg, #aacd06 6%, #49b232 88%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    position: relative;
}
#hz-tieup h2::after {
    content: "";
    display: block;
    background: url(../img/bg_tieuph2_icon1.png) no-repeat center top;
    background-size: 100% auto;
    width: 5.7vw;
    height: 7.2vw;
    position: absolute;
    right: 0.4em;
    top: -0.5em;
}
#hz-tieup h2 i {
    font-size: 4.6vw;
}
#hz-tieup .collabologo {
    width: 48.7%;
    margin: 0 auto;
}
#hz-tieup .btn {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -1.4em;
    text-align: center;
}
#hz-tieup .btn a {
    display: inline-block;
}

/* #hz-tieupmovie
------------------------------------------------ */
#hz-tieupmovie {
    margin: -2em auto 0;
    padding: 6em 0 5.6em;
    position: relative;
    z-index: 0;
    background-image: linear-gradient(90deg, #aacd06 8%, #49b232 88%);
}
#hz-tieupmovie::before {
    content: "";
    display: block;
    background: url(../img/bg_tieup_icon2.png) no-repeat center top;
    background-size: 100% auto;
    width: 10.74vw;
    height: 12.22vw;
    position: absolute;
    left: 1.3%;
    top: 3em;
}
#hz-tieupmovie::after {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 5.18vw;
    background: url(../img/bg_hz-tieupmovie_sp.png) no-repeat center bottom;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    bottom: 0;
}
#hz-tieupmovie .movieOuter::after {
    content: "";
    display: block;
    background: url(../img/bg_tieup_icon3_sp.png) no-repeat center top;
    background-size: 100% auto;
    width: 6.85vw;
    height: 11.29vw;
    position: absolute;
    right: 0;
    bottom: 4em;
}
#hz-tieupmovie .movieBlock {
    margin: 0 auto;
    width: 85.18%;
    position: relative;
    box-shadow: #103f05 1px 1px 0px;
    z-index: 3;
}

#hz-tieupmovie .movieBlock .ytBlock {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
}
#hz-tieupmovie .movieBlock .ytBlock iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


/* #hz-route
------------------------------------------------ */
#hz-route {
    margin: 0 auto;
    padding-bottom: 5em;
    position: relative;
}
#hz-route::before {
    content: "";
    display: block;
    background: url(../img/bg_route_bottom_sp.png) no-repeat center top;
    background-size: 100% auto;
    width: 100%;
    height: 3.7vw;
    position: absolute;
    left: 0;
    bottom: -3.7vw;
    z-index: 1;
}
#hz-route::after {
    content: "";
    display: block;
    background: url(../img/img_airplane.png) no-repeat center top;
    background-size: 100% auto;
    width: 71.6vw;
    height: 19vw;
    position: absolute;
    left: 50%;
    margin-left: -35.8vw;
    bottom: -2.8em;
    z-index: 5;
}
#hz-route .inner {
    margin: 0 auto;
    padding-top: 7.8%;
    width: 92.59%;
    text-align: center;
    position: relative;
}
#hz-route h2 {
    margin: 0 auto 0 0;
    width: 41.66%;
    position: absolute;
    top: 3%;
    left: 6vw;
}
#hz-route .img {
    margin: 0 auto;
    width: 100%;
}
#hz-route .btn {
    margin-top: 3.4em;
}
#hz-route .btn a {
    padding: 3vw 12.5vw 3.5vw 7.5vw;
    color: #fff;
    font-size: 4vw;
    text-align: left;
    border-radius: 20vw;
    background: #ff7900;
    -webkit-box-shadow: 2px 2px 0 rgba(255, 121, 0, 0.5);
    box-shadow: 2px 2px 0 rgba(255, 121, 0, 0.5);
    display: block;
    position: relative;
    transition: .2s;
    z-index: 1; 
}
#hz-route .btn span::after {
    content: "";
    margin-top: -3.5vw;
    width: 7vw;
    height: 7vw;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-image: url("../img/icon_arrow.svg");
    background: #fff;
    display: block;
    position: absolute;
    top: 50%;
    right: 3%;
}
.animation-container a:before,
.animation-container a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: rgba(255, 121, 0, 0.5);
  z-index: -1;
  transform: translate3d(0, 0, 0);
}
.animation-container a:before {
  animation: waveAnimation 1s ease-out infinite;
}
.animation-container a:after {
  animation: waveAnimation 1s ease-out 1s infinite;
}
@keyframes waveAnimation {
    0% {
        transform: scale(.95);
        opacity: 1
    }
    90% {
        opacity: .1
    }
    to {
        transform: scale(1.2, 1.4);
        opacity: 0
    }
}

/* #hz-place
------------------------------------------------ */
#hz-place {
    margin: 0 auto;
    padding: 5em 0;
    background-image: linear-gradient(90deg, #aacd06 8%, #49b232 88%);
    position: relative;
}
#hz-place::after {
    content: "";
    display: block;
    background: url(../img/bg_hz-place-bottom_sp.png) no-repeat center top;
    background-size: 100% auto;
    width: 100%;
    height: 3.88vw;
    position: absolute;
    left: 0;
    bottom: 0;
}
#hz-place h2 {    
    width: 90.55%;
    margin: 0 auto 5%;
    padding: 1.4em 0 2.5em;
    font-family: "Kaisei Opti", serif;
    color: #fff;
    font-size: 4.6vw;
    text-align: center;
    line-height: 1.12;
    background: url(../img/bg_hz-place-h2_sp.png) no-repeat center top;
    background-size: 100% auto;
    text-shadow: 1px 2px 0px #103f05;
}
#hz-place h2 em {
    font-size: 7.4vw;
    display: block;
}
#hz-place .inner {
    margin: 0 auto 1.5em;
    text-align: center;
    position: relative;
    background: url(../img/bg_hz-place_sp.png) no-repeat center top 50vw;
    background-size: 100% auto;
}
#hz-place .btnList {
    width: 90.74%;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}
#hz-place .btnList>li {
    margin: 0 auto 1.25em;
    width: 40.81%;
}
#hz-place .btnList>li a {
    text-decoration: none;
    color: #fff;
    font-size: 3.4vw;
}
#hz-place .btnList>li a img {
    display: block;
    margin-bottom: 0.2em;
}
#hz-place .btnList>li a span {
    font-size: 2.6vw;
}
#hz-place .note {
    color: #fff;
    text-align: center;
    font-size: 3.4vw;
    font-weight: 600;
    line-height: 1.7;
    margin-bottom: 1em;
}
#hz-place .note em {
    font-size: 4.6vw;
    margin: 0 0.2em;
}
.btn_cswrap {
    text-align: center;
    position: relative;
}
.btn_cswrap a {
    opacity: 0.7;
    cursor: default;
}
.btn_cswrap span {
    position: absolute;
    left: 50%;
    bottom: -0.7em;
    margin-left: -2.75em;
    color: #cc0c42;
    font-size: 4.25vw;
    font-family: "Oswald", sans-serif;
    font-weight: 700;
    text-shadow: rgb(255, 255, 255) 1px 0px 0px, rgb(255, 255, 255) 0.540302px 0.841471px 0px, rgb(255, 255, 255) -0.416147px 0.909297px 0px, rgb(255, 255, 255) -0.989992px 0.14112px 0px, rgb(255, 255, 255) -0.653644px -0.756802px 0px, rgb(255, 255, 255) 0.283662px -0.958924px 0px, rgb(255, 255, 255) 0.96017px -0.279415px 0px;
}

/* #hz-point
------------------------------------------------ */
#hz-point {
    margin: 0 auto;
    padding: 3.5em 0 0;
    position: relative;
}
#hz-point > h2 {
    position: relative;    
    margin: 0 auto 3em;
    text-align: center;
}
#hz-point > h2 span,
#hz-point > h2 i {
    font-family: "Kaisei Opti", serif;
    font-size: 7.4vw;
    background: linear-gradient(90deg, #aacd06 6%, #49b232 88%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    line-height: 1;
    position: relative;
    font-weight: 700;
}
#hz-point > h2 span {
    margin-left: 2em;
    display: inline-block;
}
#hz-point > h2 em {
    width: 1.146em;
    height: 1.146em;
    border-radius: 50%;
    font-size: 11.38vw;
    background-color: #49b232;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -3.3em;
    font-family: "Kaisei Opti", serif;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}
#hz-point > h2 em b {
    display: inline-block;
    margin-top: -3px;
}
#hz-point .pointList {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 5em;
    border-bottom: solid 3px #c4d600;
    position: relative;
}
#hz-point .pointList::after {
    content: "";
    display: block;
    width: 50%;
    height: 3px;
    position: absolute;
    right: 0;
    bottom: -3px;
    background-color: #64a70b;
}
#hz-point .pointList li + li {
    margin-top: 1.5em;
}
#hz-point .pointList .point {
    color: #49b232;
    font-family: "Kaisei Opti", serif;
    font-size: 3.4vw;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 0.66em;
}
#hz-point .pointList .point em {
    font-size: 12vw;
    font-weight: 500;
}
#hz-point .pointList h3 {
    background-image: linear-gradient(90deg, #aacd06 8%, #49b232 88%);
    color: #fff;
    border-radius: 1em;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1.4;
    padding: 0 0.8em;    
    margin-bottom: 1.5em;
    white-space: nowrap;
    display: inline-block;
}
#hz-point .pointList h3 span {
    font-size: 5.5vw;
    display: inline-block;
    margin-left: 0.2em;
    vertical-align: -0.1em;
}
#hz-point .txtBlock {
    overflow: hidden;
    font-size: 3.4vw;
    line-height: 1.7;
}
#hz-point .txtBlock img {
    float: right;
    width: 35.78%;
    margin: 0 0 0 2em;
}
#hz-point .pointList li.point3 img {
    width: 47.36%;
}
#hz-point .pointList li.point3 .btn {
    text-align: center;
    display: block;
    padding: 2.5em 0 0.2em;
}
#hz-point .pointList li.point3 .btn a {
    display: inline-block;
}
.notice {
    font-size: 2.8vw;
    margin-top: 1em;
}


/* #hz-reservation
------------------------------------------------ */
#hz-reservation {
    margin: 0 auto;
    padding: 4.7em 0 3.3em;
    text-align: center;
    position: relative;
}
#hz-reservation .reserv-ttl {
    font-size: 4.26vw;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.65em;
}
#hz-reservation .txt {
    margin: 0 auto 6%;
    font-size: 3.5vw;
    font-weight: bold;
}
#hz-reservation .block img {
    margin: 0 auto;
}

/* #hz-follow
------------------------------------------------ */
#hz-follow {
    position: fixed;
    bottom: 3vw;
    right: 3vw;
    z-index: 8;
}
#hz-follow.unfollow {
    position: absolute;
}
#hz-follow a.blank {
    padding: 27% 0 0;
    width: 20vw;
    height: 20vw;
    color: #fff;
    font-size: 3.4vw;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    line-height: 1.3;
    background: #ff7900;
    border: solid 1px #fff;
    border-radius: 20vw;
    display: block;
}
#hz-follow .txt {
    margin: 0;
    width: 74%;
}
#hz-follow .btn {
    margin: 0;
    display: block;
}
#hz-follow .btn a {
    padding: 2vw 6.5vw 2.5vw 2.5vw;
    color: #56b846;
    font-size: 3.5vw;
    line-height: 1.2;
    background: #fff;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 2vw;
}
#hz-follow .btn a::after {
    margin-top: -2vw;
    width: 4vw;
    height: 4vw;
    background: #56b846;
    right: 6%;
}

/* --------------------------------------------------------------------
#modalArea
-------------------------------------------------------------------- */
#modalArea {
    display: none;
    margin: 0 auto;
    font-family: "Noto Sans JP", sans-serif;
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 8;
}
.modalBlock {
    display: none;
    position: relative;
    z-index: 8;
}
#mo_place {
    margin: -35vh auto 0;
    padding: 0;
    width: 90%;
    max-width: 790px;
    background-image: linear-gradient(90deg, #9bc814, #49b232);
    -webkit-box-shadow: 5px 5px 0 #188700;
    box-shadow: 5px 5px 0 #188700;
    border-radius: 3.7vw;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
}
#mo_place .mo_close {
    width: 38px;
    height: 38px;
    font-size: 0;
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 7;
}
#mo_place .mo_close span {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 38px;
    overflow: hidden;
    line-height: 2;
}
#mo_place .mo_close span::before,
#mo_place .mo_close span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3px;
    height: 5vw;
    background: #ffffff;
    border-radius: 2.5px;
}
#mo_place .mo_close span::before {
    transform: translate(-50%,-50%) rotate(45deg);
}
#mo_place .mo_close span::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}
#mo_place .block {
    padding: 6.6%;
    /*max-height: 70vh;*/
    max-height: 90vh;
    font-size: 0;
    text-align: center;
    overflow: auto;
}
#mo_place .block h2 {
    font-family: "Kaisei Opti", serif;
    color: #fff;
    font-size: 4.07vw;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 1.25em;
    line-height: 1.2;
    text-shadow: 1px 2px 0px #103f05;
    margin-bottom: 1em;
}
#mo_place .block h2.long {
    gap: 0 0.2em;
}
#mo_place .block h2 span {
    display: block;
    vertical-align: middle;
}
#mo_place .block h2::before,
#mo_place .block h2::after {
    content: "";
    display: inline-block;
    width: 6.48vw;
    height: 11.11vw;
    background: url(../img/ico_mo_place_h2_01.png) no-repeat center top;
    background-size: 100% auto;
}
#mo_place .block h2::after {
    background-image: url(../img/ico_mo_place_h2_02.png);
}
#mo_place .block h2 em {
    font-size: 6.38vw;
    display: block;
}
#mo_place .block .pic {
    margin: 0 auto 5%;
    width: 100%;
    position: relative;
}
#mo_place .block .pic figcaption {
    color: #fff;
    font-size: 2.6vw;
    text-align: right;
    text-shadow: rgb(100, 55, 22) 2px 0px 0px, rgb(100, 55, 22) 1.75517px 0.958851px 0px, rgb(100, 55, 22) 1.0806px 1.68294px 0px, rgb(100, 55, 22) 0.141474px 1.99499px 0px, rgb(100, 55, 22) -0.832294px 1.81859px 0px, rgb(100, 55, 22) -1.60229px 1.19694px 0px, rgb(100, 55, 22) -1.97998px 0.28224px 0px, rgb(100, 55, 22) -1.87291px -0.701566px 0px, rgb(100, 55, 22) -1.30729px -1.5136px 0px, rgb(100, 55, 22) -0.421592px -1.95506px 0px, rgb(100, 55, 22) 0.567324px -1.91785px 0px, rgb(100, 55, 22) 1.41734px -1.41108px 0px, rgb(100, 55, 22) 1.92034px -0.558831px 0px;
    position: absolute;
    right: 1em;
    bottom: 0.5em;
}
#mo_place .block .pic figcaption.color1 {
    text-shadow: rgb(139, 9, 25) 2px 0px 0px, rgb(139, 9, 25) 1.75517px 0.958851px 0px, rgb(139, 9, 25) 1.0806px 1.68294px 0px, rgb(139, 9, 25) 0.141474px 1.99499px 0px, rgb(139, 9, 25) -0.832294px 1.81859px 0px, rgb(139, 9, 25) -1.60229px 1.19694px 0px, rgb(139, 9, 25) -1.97998px 0.28224px 0px, rgb(139, 9, 25) -1.87291px -0.701566px 0px, rgb(139, 9, 25) -1.30729px -1.5136px 0px, rgb(139, 9, 25) -0.421592px -1.95506px 0px, rgb(139, 9, 25) 0.567324px -1.91785px 0px, rgb(139, 9, 25) 1.41734px -1.41108px 0px, rgb(139, 9, 25) 1.92034px -0.558831px 0px;
}
#mo_place .block .pic figcaption.color2 {
    text-shadow: rgb(82, 73, 73) 2px 0px 0px, rgb(82, 73, 73) 1.75517px 0.958851px 0px, rgb(82, 73, 73) 1.0806px 1.68294px 0px, rgb(82, 73, 73) 0.141474px 1.99499px 0px, rgb(82, 73, 73) -0.832294px 1.81859px 0px, rgb(82, 73, 73) -1.60229px 1.19694px 0px, rgb(82, 73, 73) -1.97998px 0.28224px 0px, rgb(82, 73, 73) -1.87291px -0.701566px 0px, rgb(82, 73, 73) -1.30729px -1.5136px 0px, rgb(82, 73, 73) -0.421592px -1.95506px 0px, rgb(82, 73, 73) 0.567324px -1.91785px 0px, rgb(82, 73, 73) 1.41734px -1.41108px 0px, rgb(82, 73, 73) 1.92034px -0.558831px 0px;
}
#mo_place .block .pic figcaption.color3 {
    text-shadow: rgb(100, 55, 19) 2px 0px 0px, rgb(100, 55, 19) 1.75517px 0.958851px 0px, rgb(100, 55, 19) 1.0806px 1.68294px 0px, rgb(100, 55, 19) 0.141474px 1.99499px 0px, rgb(100, 55, 19) -0.832294px 1.81859px 0px, rgb(100, 55, 19) -1.60229px 1.19694px 0px, rgb(100, 55, 19) -1.97998px 0.28224px 0px, rgb(100, 55, 19) -1.87291px -0.701566px 0px, rgb(100, 55, 19) -1.30729px -1.5136px 0px, rgb(100, 55, 19) -0.421592px -1.95506px 0px, rgb(100, 55, 19) 0.567324px -1.91785px 0px, rgb(100, 55, 19) 1.41734px -1.41108px 0px, rgb(100, 55, 19) 1.92034px -0.558831px 0px;
}
#mo_place .block .member {
    margin: 0 7% 0 0;
    width: 38%;
    display: inline-block;
    vertical-align: top;
    background-color: #fff;
    color: #188700;
    font-size: 3.4vw;
    font-weight: 600;
}
#mo_place .block .member span {
    display: block;
    line-height: 2;
}
#mo_place .block .member i {
    font-size: 2.8vw;
}
#mo_place .block .txt {
    margin: 0 auto;
    width: 55%;
    color: #fff;
    font-size: 3.4vw;
    line-height: 1.8;
    text-align: left;
    display: inline-block;
    vertical-align: top;
}
#mo-overlay {
    width: 100%;
    background: rgba(255, 255, 255, 0.7);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

@media only screen and (min-width:601px){
    /* --------------------------------------------------------------------
    common
    -------------------------------------------------------------------- */
    #main .sp_only {
        display: none;
    }
    #main .pc_only {
        display: block;
    }

    /* --------------------------------------------------------------------
    #hz-ticket
    -------------------------------------------------------------------- */
    #hz-ticket h1 {
        padding-top: 45%;
        background: url("../img/mainimg@2x.jpg") no-repeat top center;
        -webkit-background-size: cover;
        background-size: cover;
    }
    #hz-ticket h1 img {
        height: 0 !important;
        opacity: 0;
    }
    #main #subNav {
        background: #ff7900;
        padding: 15px 0;
        margin: 0 auto 1px;
    }
    #main #subNav ul {
        flex-wrap: nowrap;
        justify-content: center;
        max-width: 1012px;
        margin: 0 auto;
    }
    #main #subNav ul li {
        border-right: solid 1px #ffffff;
        width: 22%;
        margin: 0;
        font-size: 26px;
    }
    #main #subNav ul li:nth-child(1) {
        border-left: solid 1px #ffffff;
        width: 26%;
    }
    #main #subNav ul li:nth-child(2) {
        width: 30%;
    }
    #main #subNav ul li b em {
        font-size: 39px;
    }    
    #main #subNav ul li i {
        font-size: 17px;
    }
    #main #subNav ul li.cs em {
        font-size: 24px;
    }    
    #main #subNav ul li a,
    #main #subNav ul li span {
        background-image: none;
        padding: 0;
    }    
    #main #subNav ul li:nth-child(odd)::after,
    #main #subNav ul li:nth-child(n+3)::before {
        display: none;
    }    
    #hz-ticket .btn a {
        padding: 20px 72px 21px 36px;
        font-size: 25px;
        line-height: 1.3;
        border-radius: 100px;
        -webkit-box-shadow: 3px 3px 0 rgba(255, 121, 9, 0.7);
        box-shadow: 3px 3px 0 rgba(255, 121, 9, 0.7);
    }
    #hz-ticket .btn a::after {
        content: "";
        margin-top: -23px;
        width: 46px;
        height: 46px;
        top: 50%;
        right: 14px;
    }

    /* #hz-tieup
    ------------------------------------------------ */
    #hz-tieup {
        margin: 0 auto;
        padding: 110px 0 2.85vw;
        text-align: center;
        position: relative;
        background: url(../img/bg_hz-tieup.png) no-repeat center bottom;
        background-size: 100% auto;
    }
    #hz-tieup::after {
        background-image: url(../img/bg_tieup_icon1.png);
        bottom: 120px;
    }
    #hz-tieup h2 {
        margin: 0 auto 50px;
        font-size: 56px;
        font-weight: 500;
    }
    #hz-tieup h2::after {
        width: 48px;
        height: 60px;
        right: inherit;
        left: 50%;
        margin-left: 6em;
    }
    #hz-tieup h2 i {
        font-size: 40px;
    }
    #hz-tieup .collabologo {
        width: auto;
        padding-bottom: 80px;
    }
    #hz-tieup .collabologo img {
        width: 386px;
        height: auto;
    }

    /* #hz-tieupmovie
    ------------------------------------------------ */
    #hz-tieupmovie {
        margin-top: -2.9vw;
        padding: 150px 0 140px;
        background-image: linear-gradient(90deg, #c8d800 20%, #49b232 88%);
    }
    #hz-tieupmovie::before {
        width: 116px;
        height: 130px;
        top: 105px;
        left: 5%;
    }
    #hz-tieupmovie::after {
        background: url(../img/bg_hz-tieupmovie.png) no-repeat center bottom;
        background-size: 100% auto;
    }
    #hz-tieupmovie .movieBlock {
        width: 920px;
        box-shadow: #103f05 2px 2px 0px;
    }
    #hz-tieupmovie .movieOuter::after {
        background: url(../img/bg_tieup_icon3.png) no-repeat center top;
        width: 170px;
        height: 152px;
        bottom: 110px;
    }
    #hz-tieup .btn {
        bottom: 0;
    }    

    /* #hz-route
    ------------------------------------------------ */
    #hz-route {
        padding: 0 0 90px;
    }
    #hz-route::after {
        background-image: url(../img/img_airplane@2x.png);
        width: 710px;
        height: 190px;
        margin-left: -355px;
        bottom: -132px;
    }
    #hz-route::before {
        background: url(../img/bg_route_bottom.png) no-repeat center bottom;
        background-size: 100% auto;
        height: 5.14vw;
        bottom: -5.1vw;
    }
    #hz-route .inner {
        padding-top: 110px;
        width: 95%;
        max-width: 1200px;
    }
    #hz-route h2 {
        width: 27%;
        left: 1%;
        top: 90px;
    }
    #hz-route .img {
        margin: 0 auto;
        padding-top: 66.66%;
        width: 100%;
        max-width: 1200px;
        background: url("../img/img_route@2x.png") no-repeat top center;
        -webkit-background-size: contain;
        background-size: contain;
    }
    #hz-route .img img {
        height: 0 !important;
        opacity: 0;
    }
    #hz-route .btn a {
        padding: 20px 72px 21px 36px;
        margin-bottom: 3px;
        font-size: 25px;
        line-height: 1.3;
        border-radius: 100px;
        -webkit-box-shadow: 3px 3px 0 rgba(255, 121, 0, 0.5);
        box-shadow: 3px 3px 0 rgba(255, 121, 0, 0.5);
    }
    #hz-route .btn a span::after {
        content: "";
        margin-top: -23px;
        width: 46px;
        height: 46px;
        top: 50%;
        right: 14px;
    }

    /* #hz-place
    ------------------------------------------------ */
    #hz-place {
        padding: 190px 0 0;
        background-image: linear-gradient(90deg, #c8d800 20%, #49b232 88%);
    }
    #hz-place h2 {
        width: 100%;
        height: 100%;
        padding: 0;
        margin: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 36px;
        position: absolute;
        left: 0;
        top: 0;
        background-image: none;
        text-shadow: 1px 3px 0px #103f05;
    }
    #hz-place h2 span {
        background: url(../img/bg_hz-place_h2.png) no-repeat center bottom;
        padding-bottom: 40px;
        display: block;
        position: relative;
        margin-top: 30px;
    }
    #hz-place h2 span::before,
    #hz-place h2 span::after {
        content: "";
        display: block;
        background: url(../img/ico_hz-place_h2_left.png) no-repeat center bottom;
        width: 88px;
        height: 150px;
        position: absolute;
        left: -120px;
        top: 50%;
        margin-top: -75px;
    }
    #hz-place h2 span::after{
        background-image: url(../img/ico_hz-place_h2_right.png);
        left: inherit;
        right: -100px;
    }
    #hz-place h2 em {
        font-size: 56px;
    }
    #hz-place .inner {
        width: 95%;
        max-width: 1200px;
        height: 910px;
        margin: 0 auto;
        background: url(../img/bg_hz-place.png) no-repeat center top;
        background-size: contain;
    }
    #hz-place .inner::before,
    #hz-place .inner::after {
        content: "";
        width: 88px;
        height: 122px;
        background: url(../img/bg_hz-place-lefttop.png) no-repeat center top;
        background-size: 100% auto;
        display: block;
        position: absolute;
        left: -30px;
        top: 0;
    }
    #hz-place .inner::after {
        width: 74px;
        height: 84px;
        background-image: url(../img/bg_hz-place-rightbtm.png);
        left: inherit;
        top: inherit;
        right: -35px;
        bottom: 0;
    }
    #hz-place .btnList {
        display: block;
        max-width: 850px;
        padding: 150px 0 0;
        position: relative;
    }
    
    #hz-place .btnList>li {
        margin: 0 auto;
        width: 178px;
        position: absolute;
        top: 0;
        left: 50%;
    }
    #hz-place .btnList>li:nth-child(1) {
        margin-left: -420px;
        top: 80px;
    }
    #hz-place .btnList>li:nth-child(2) {
        margin-left: -200px;
        top: 35px;
    }
    #hz-place .btnList>li:nth-child(3) {
        margin-left: 25px;
        top: 35px;
    }
    #hz-place .btnList>li:nth-child(4) {
        margin-left: 250px;
        top: 80px;
    }
    #hz-place .btnList>li:nth-child(5) {
        margin-left: -420px;
        top: 575px;
    }
    #hz-place .btnList>li:nth-child(6) {
        margin-left: -200px;
        top: 610px;
    }
    #hz-place .btnList>li:nth-child(7) {
        margin-left: 25px;
        top: 610px;
    }
    #hz-place .btnList>li:nth-child(8) {
        margin-left: 250px;
        top: 575px;
    }
    #hz-place .btnList>li a {
        font-size: 18px;
    }
    #hz-place .btnList>li a span {
        font-size: 14px;
    }
    #hz-place .note {
        font-size: 16px;
    }
    #hz-place .note em {
        font-size: 24px;
    }
    .btn_cswrap {
        padding-bottom: 100px;
    }
    .btn_cswrap span {
        font-size: 27px;
        z-index: 3;
        bottom: 100px;
        line-height: 1;
        margin-bottom: -0.5em;
    }
    #hz-place::after {
        background-image: url(../img/bg_hz-place-bottom.png);
        height: 3vw;
        bottom: -1px;
    }

    /* #hz-service
    ------------------------------------------------ */
    #hz-service {
        padding-bottom: 80px;
    }
    #hz-service .outline {
        padding-top: 130px;
        -webkit-background-size: 1920px;
        background-size: 1920px;
    }
    #hz-service .inner {
        width: 95%;
    }
    #hz-service h2 {
        margin: 0 auto 40px;
        width: 434px;
    }
    #hz-service .txt {
        margin: 0 auto 50px;
        font-size: 20px;
    }
    #hz-service .img {
        margin: 0 auto 60px;
        width: 720px;
    }

    /* #hz-point
    ------------------------------------------------ */
    #hz-point {
        padding-top: 80px;
    }
    #hz-point .inner {
        position: relative;
    }
    #hz-point .inner::before ,
    #hz-point .inner::after ,
    #hz-point::after {
        content: "";
        display: block;
        background-size: 100% auto;
        position: absolute;
    }
    #hz-point .inner::before {
        background: url(../img/bg_hz-point_smile01.png) no-repeat center top;
        width: 124px;
        height: 94px;
        right: 1.64vw;
        top: 190px;
    }
    #hz-point .inner::after {
        background: url(../img/bg_hz-point_smile02.png) no-repeat center top;
        width: 124px;
        height: 94px;
        left: 1.64vw;
        top: 550px;
    }
    #hz-point::after {
        background: url(../img/bg_hz-point_smile03.png) no-repeat center top;
        width: 120px;
        height: 102px;
        right: 1.28vw;
        bottom: 300px;
    }
    #hz-point h2 {
        margin: 0 auto 85px;
    }
    #hz-point > h2 span,
    #hz-point > h2 i {
        font-size: 56px;
    }
    #hz-point > h2 em {
        width: 113px;
        height: 113px;
        font-size: 98px;
        margin-left: -3em;
        bottom: -0.2em;
    }
    #hz-point > h2 em b {
        line-height: 1;
        margin-top: -10px;
    }
    #hz-point .pointList {
        width: 95%;
        max-width: 1005px;
        margin: 0 auto;
        position: relative;
        z-index: 1;
    }
    #hz-point .pointList > li {
        position: relative;
        margin-bottom: 4em;
    }
    #hz-point .pointList .point {
        font-size: 25px;
        padding-left: 1.2em;
    }
    #hz-point .pointList .point em {
        font-size: 95px;
    }
    #hz-point .pointList h3 {
        font-size: 28px;
        line-height: 1.6;
        border-radius: 1.1em;
        padding: 0 1em;
    }
    #hz-point .pointList h3 span {
        font-size: 40px;
    }
    #hz-point .txtBlock {
        font-size: 20px;
        line-height: 2;
        padding: 0 1em;
    }
    #hz-point .txtBlock img {
        position: absolute;
        margin: 0;
    }
    #hz-point .txtBlock .txt .iblock {
        display: inline-block;
    }
    #hz-point .pointList > li:nth-child(1) {
        padding-right: 42.7%;
    }
    #hz-point .pointList > li:nth-child(1) .txtBlock img {
        right: 4.5%;
        top: 25px;
        width: 33.84%;
    }
    #hz-point .pointList > li:nth-child(2) {
        padding-left: 35.8%;        
    }
    #hz-point .pointList > li:nth-child(2) .txtBlock img {
        left: -2%;
        top: 0;
        width: 33.84%;
    }
    #hz-point .pointList > li:nth-child(3) {
        padding-right: 44%;        
    }
    #hz-point .pointList > li:nth-child(3) .txtBlock img {
        right: -2%;
        top: 5.5em;
        width: 44.77%;
    }
    #hz-point .pointList li + li {
        margin-top: 0;
    }
    #hz-point .notice {
        font-size: 15px;
    }
    #hz-point .pointList > li.point3 .btn {
        margin-top: 25px;
        padding: 0 0 3px;
        text-align: left;
    }


    /* #hz-reservation
    ------------------------------------------------ */
    #hz-reservation {
        padding: 90px 0 100px;
    }
    #hz-reservation .txt {
        margin: 0 auto 20px;
        font-size: 24px;
    }
    #hz-reservation .reserv-ttl {
        font-size: 24px;
        line-height: 1;
        margin-bottom: 1.25em;
    }

    /* #hz-follow
    ------------------------------------------------ */
    #hz-follow {
        bottom: 20px;
        right: 20px;
    }
    #hz-follow a.blank {
        padding: 29px 0 0;
        width: 100px;
        height: 100px;
        font-size: 16px;
        background: #ff7900;
        border-radius: 100px;
    }
    #hz-follow .txt {
        margin: 0;
        width: 70%;
    }
    #hz-follow .btn {
        margin: 0;
        width: 26%;
        display: block;
    }
    #hz-follow .btn a {
        padding: 2vw 6.5vw 2.5vw 2.5vw;
        color: #ff7900;
        font-size: 3.5vw;
        line-height: 1.2;
        background: #fff;
        -webkit-box-shadow: none;
        box-shadow: none;
        border-radius: 20px;
    }
    #hz-follow .btn a::after {
        margin-top: -2vw;
        width: 4vw;
        height: 4vw;
        background: #ff7900;
        right: 6%;
    }
    
    /* --------------------------------------------------------------------
    #modalArea
    -------------------------------------------------------------------- */
    #mo_place {
        margin: -40vh auto 0;
        padding: 10px 0;
        -webkit-box-shadow: 10px 10px 0 #188700;
        box-shadow: 10px 10px 0 #188700;
        border-radius: 30px;
    }
    #mo_place .mo_close {
        width: 38px;
        font-size: 0;
        position: absolute;
        z-index: 2;
        right: 15px;
        top: 10px;
        cursor: pointer;
    }
    #mo_place .mo_close span::before,
    #mo_place .mo_close span::after {
        height: 30px;
    }
    #mo_place .block {
        padding: 50px 9.55%;
        max-height: 80vh;
    }
    #mo_place .block h2 {
        font-size: 30px;
        margin-bottom: 1.4em;
    }
    #mo_place .block h2 em {
        font-size: 47px;
    }
    #mo_place .block h2::before ,
    #mo_place .block h2::after {
        width: 48px;
        height: 82px;
    }
    #mo_place .block .pic {
        margin: 0 auto;
        width: 71.42%;
        display: inline-block;
        vertical-align: top;
    }
    #mo_place .block .pic figcaption {
        font-size: 12px;
    }
    #mo_place .block .member {
        margin: 0 0 20px 0.33%;
        width: 28.25%;
        display: inline-block;
        vertical-align: top;
        font-size: 19px;
    }
    #mo_place .block .member span {
        line-height: 2.15;
    }
    #mo_place .block .member i {
        font-size: 15px;
    }
    #mo_place .block .txt {
        width: auto;
        font-size: 18px;
        line-height: 1.8;
        display: block;
    }
}
@media only screen and (min-width:880px){
    /* #hz-follow
    ------------------------------------------------ */
    #hz-follow .txt {
        margin-right: 50px;
        width: 446px;
    }
    #hz-follow .btn {
        width: auto;
    }
    #hz-follow .btn a {
        padding: 20px 72px 21px 36px;
        font-size: 26px;
        line-height: 1;
        border-radius: 100px;
    }
    #hz-follow .btn a::after {
        margin-top: -23px;
        width: 46px;
        height: 46px;
        right: 14px;
    }
}
@media only screen and (min-width:1920px){
    #hz-tieupmovie {
        -webkit-background-size: 100%;
        background-size: 100%;
    }
    #hz-route {
        -webkit-background-size: 100%;
        background-size: 100%;
    }
    #hz-service .outline {
        -webkit-background-size: 100%;
        background-size: 100%;
    }
}
@media (hover: hover) {
    #main #subNav ul li a:hover {
        opacity: 0.5;
        transition: all .5s;
    }
}
