@charset "UTF-8";

body {
    font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
    font-optical-sizing: auto;
    color: #000;
    text-align: left;
    font-size: 1rem;
    letter-spacing: 0.05em;
}
p {
    margin-bottom: 0;
}
img {
    max-width: 100%;
}
@media screen and (max-width: 767px) {
    body {
        font-size: 3.2vw;
    }
}

/* Layouts */
.l-header {
    background-color: rgba(255, 255, 255, .8);
    padding: .75rem 0;
}
.l-header__logo {
    width: 8rem;
}
.l-header__logo img {
    width: 100%;
}
.l-header__button {
    width: 8.5rem;
}
.l-header__button .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.l-header__button .navbar-toggler {
    width: 2rem;
    border: none;
    outline: none;
    padding: 4px 0;
}
.l-header__button .navbar-toggler:focus {
    box-shadow: none;
}
.l-header__button .navbar-toggler img {
    width: 100%;
}
.l-header__button .l-header__lang {
    display: flex;
    width: 4rem;
    color: #000;
    text-decoration: none;
}
.l-header__button .l-header__lang > span {
    width: 2rem;
    text-align: center;
    font-size: .8rem;
    line-height: 1.5rem;
}
.l-header__button .l-header__lang > span:first-child {
    border: 1px solid #000;
}
html[lang="en"] .l-header__button .l-header__lang > span:first-child {
    border: none;
}
html[lang="en"] .l-header__button .l-header__lang > span:last-child {
    border: 1px solid #000;
}
.l-header .offcanvas-top {
    height: auto;
    border-bottom: none;
}
.l-offcanvas-header {
    padding: 1rem 0;
}
.l-offcanvas-header .container-xxl {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.l-offcanvas-header .navbar-toggler {
    width: 1.5rem;
    border: none;
    outline: none;
    padding: 4px 0;
    margin-right: .5rem;
}
.l-offcanvas-header .navbar-toggler:focus {
    box-shadow: none;
}
.l-offcanvas-header .navbar-toggler img {
    width: 100%;
}
.l-offcanvasbody__logo {
    width: 60%;
    max-width: 250px;
    margin-inline: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.l-navbar-nav {
    width: 98%;
    max-width: 380px;
    margin-inline: auto;
    column-count: 2;
}
.l-navbar-nav > .nav-item {
    text-align: center;
    padding: .5rem 0;
}
.l-navbar-nav > .nav-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .875rem;
    line-height: 1.5;
    height: 2.625rem;
    color: #000;
    text-decoration: none;
    transition: opacity .3s ease;
}
.l-navbar-nav > .nav-item a:hover {
    opacity: .75;
}
.l-navbar-nav > .nav-item:first-child,
.l-navbar-nav > .nav-item:last-child {
    display: none;
}
.l-offcanvasbody__cta {
    width: 98%;
    max-width: 400px;
    margin-inline: auto;
    margin-top: 1.5rem;
}
.l-offcanvasbody__cta a {
    display: block;
    text-align: center;
    border: 1px solid #000;
    font-size: .875rem;
    color: #000;
    text-decoration: none;
    padding-top: 1rem;
    padding-bottom: 1rem;
    transition: opacity .3s ease;
}
.l-offcanvasbody__cta a:hover {
    opacity: .75;
}
.l-fixed-link {
    position: fixed;
    z-index: 1000;
    right: 0;
    bottom: 0;
}
.l-fixed-link a {
    display: inline-block;
    vertical-align: bottom;
    position: relative;
    background-color: rgba(0, 0, 0, .8);
    color: #fff;
    text-decoration: none;
    font-size: 1rem;
    line-height: 1;
    padding: 1rem 1.5rem;
    overflow: hidden;
    z-index: 1;
}
.l-fixed-link a::after {
    background-color: #443;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 240%;
    transform: skewY(-15deg) scale(1, 0);
    transform-origin: left top;
    transition: transform .25s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
}
.l-fixed-link a:hover::after {
    transform: skewY(-15deg) scale(1, 1);
}
.l-footer__primary {
    background-color: #333;
    padding: 3.5rem 1rem 2.5rem;
}
.l-footer__primary__logo {
    width: 50%;
    max-width: 320px;
    margin-inline: auto;
}
.l-footer__primary__nav {
    margin-top: 3rem
}
.l-footer-nav {
    width: 70vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: .75rem;
}
.l-footer-nav-item:first-child {
    grid-row: 1 / 9;
}
.l-footer-nav-item a {
    color: #fff;
    text-decoration: none;
    transition: opacity .3s ease;
    line-height: 1.35;
}
.l-footer-nav-item a:hover {
    opacity: .75;
}
.l-footer__secondary {
    padding: 8vw 5vw 3rem;
}
.l-footer__secondry--inner {
    max-width: 1320px;
    margin-inline: auto;
    overflow: hidden;
    line-height: 1.25;
}
.l-footer__subLogo {
    margin-bottom: 5.33vw;
}
.l-footer__subLogo a {
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    color: #000;
    text-decoration: none;
}
.l-footer__subLogo a img {
    width: 35vw;
}
.l-footer__subLogo a span {
    box-sizing: border-box;
    width: 50.141vw;
    font-size: 2.66vw;
    padding: 0 2.66vw 0 0;
    background: url(../images/common/parts/icon_06.png) no-repeat right center;
    background-size: 2.66vw auto;
    display: block;
}
.l-footer__subLogo a:hover span {
    text-decoration: underline;
}
.l-footer small {
    display: block;
    font-size: 2.23vw;
    text-align: center;
    line-height: 1.5;
}
.l-wrap {
    padding-left: 5.33vw;
    padding-right: 5.33vw;
}
.l-section {
    margin-top: 5.33vw;
}

.l-head-title {
    height: 94vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.l-head-title__inner {
    position: relative;
    height: 100%;
}
.l-head-title__titleContents {
    position: absolute;
    top: 44.5vw;
    right: 3vw;
    text-align: right;
}
.l-head-title__heading {
    display: inline-flex;
    align-items: center;
    gap: 3.3vw;
    font-size: 5.2vw;
    font-weight: bold;
    line-height: 1;
    color: #fff;
}
.l-head-title__heading::before {
    display: inline-block;
    content: '';
    width: 8vw;
    height: 1px;
    background-color: #fff;
}
.l-head-title__lead {
    margin-top: 5.1vw;
    font-weight: bold;
    line-height: 1.8;
    color: #fff;
}
@media screen and (max-width: 767px) {
    .l-head-title__heading.__sp-small {
        font-size: 5vw;
    }
    .l-head-title__lead.__sp-small {
        font-size: 3vw;
    }
    .l-head-title__lead.__sp-ssmall {
        font-size: 2.8vw;
    }
}
@media screen and (min-width: 768px) {
    .l-header {
        padding: 1rem 0;
    }
    .offcanvas-md .offcanvas-body {
        justify-content: flex-end;
    }
    .l-navbar-nav {
        width: auto;
        max-width: initial;
        margin-inline: 0;
        display: inline-grid;
        grid-template-columns: repeat(5, auto);
        align-items: center;
        column-gap: 1.5rem;
        row-gap: 1rem;
    }
    .l-navbar-nav > .nav-item {
        padding: 0;
    }
    .l-navbar-nav > .nav-item:first-child,
    .l-navbar-nav > .nav-item:last-child {
        display: block;
        grid-row: 1 / 3;
    }
    .l-navbar-nav > .nav-item:last-child {
        grid-column: 5 / 6;
    }
    .l-navbar-nav > .nav-item a {
        font-size: .875rem;
        line-height: 1.25;
    }
    .l-navbar-nav .l-header__lang {
        width: 86px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .l-navbar-nav .l-header__lang > span,
    .l-navbar-nav .l-header__lang > a {
        box-sizing: border-box;
        width: 50%;
        font-size: 1rem;
        line-height: 3;
        color: #000;
    }
    .l-navbar-nav .l-header__lang > span {
        border: 1px solid #000;
    }
    .l-fixed-link {
        bottom: 50%;
        transform: translateY(50%);
    }
    .l-fixed-link a {
        writing-mode: vertical-rl;
        font-size: 1.25rem;
        padding: 2rem 1.5rem;
    }
    .l-fixed-link a::after {
        height: 150%;
        transform: skewY(-45deg) scale(1, 0);
    }
    .l-fixed-link a:hover::after {
        transform: skewY(-45deg) scale(1, 1);
    }
    .l-footer__primary {
        padding-top: 6.25rem;
        padding-bottom: 6.5rem;
    }
    .l-footer-nav {
        width: 100%;
    }
    .l-footer-nav {
        display: block;
        column-count: 3;
    }
    .l-footer-nav-item {
        margin-bottom: 1.375rem;
    }
    .l-footer-nav-item:first-child {
        margin-bottom: 9rem;
    }
    .l-footer__secondary {
        padding: 1.5rem;
    }
    .l-footer__subLogo {
        margin-bottom: 1.5rem;
    }
    .l-footer__subLogo a {
        width: 430px;
    }
    .l-footer__subLogo a img {
        width: 120px;
    }
    .l-footer__subLogo a span {
        width: 295px;
        font-size: 1rem;
        padding-right: 16px;
        background-size: 16px auto;
    }
    .l-footer small {
        font-size: 0.6875rem;
    }
    .l-wrap {
        padding-left: 0;
        padding-right: 0;
        width: calc(100% - 40px);
        max-width: 1600px;
        margin-inline: auto;
    }
    .l-section {
        margin-top: 6.25rem;
    }
    .l-head-title {
        height: 690px;
    }
    .l-head-title__inner {
        max-width: 1600px;
        margin-inline: auto;
    }
    .l-head-title__titleContents {
        top: 340px;
        right: 5.625%;
    }
    .l-head-title__heading {
        gap: 1.625rem;
        font-size: 2.5625rem;
    }
    .l-head-title__heading::before {
        width: 4rem;
    }
    .l-head-title__lead {
        margin-top: 2.5rem;
        font-size: 1.125rem;
        font-weight: normal;
    }
}
@media screen and (min-width: 992px) {
    .l-navbar-nav {
        column-gap: 3rem;
    }
    .l-footer__primary .container-xxl {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .l-footer__primary__logo {
        width: 21.5%;
        max-width: 300px;
        margin-inline: 0;
    }
    .l-footer__primary__nav {
        width: 70%;
        margin-top: 0;
    }
    .l-footer-nav {
        display: block;
        column-count: 3;
    }
    .l-footer-nav-item {
        margin-bottom: 1.375rem;
    }
    .l-footer-nav-item:first-child {
        margin-bottom: 9rem;
    }
    .l-footer-nav.__en {
        display: grid;
        grid-template-columns: repeat(3, auto);
        grid-auto-flow: column;
        column-gap: 4.5rem;
        row-gap: 1.5rem;
    }
    .l-footer-nav.__en .l-footer-nav-item:first-child {
        margin-bottom: 0;
        grid-column: 1 / 2;
        grid-row: 1 / 5;
    }
    .l-footer__secondry--inner {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    .l-footer__subLogo {
        margin-bottom: 0;
    }
    .l-footer__subLogo a {
        width: 300px;
        flex-direction: column;
        align-items: center;
        row-gap: 1rem;
    }
}
@media screen and (min-width: 1200px) {
    .l-navbar-nav {
        display: inline-flex;
        column-gap: 2rem;
    }
    .l-footer__primary__nav {
        max-width: 760px;
    }
    .l-footer-nav {
        display: grid;
        grid-template-columns: repeat(4, auto);
        grid-auto-flow: column;
        column-gap: 4.5rem;
        row-gap: 1.5rem;
    }
    .l-footer-nav-item,
    .l-footer-nav-item:first-child {
        margin-bottom: 0;
    }
    .l-footer-nav-item:first-child {
        grid-row: 1 / 5;
    }
    .l-footer-nav-item:nth-child(5) {
        grid-column: 2 / 3;
        grid-row: 4 / 5;
    }
    .l-footer-nav-item:nth-child(7) {
        grid-row: 2 / 5;
    }
    .l-footer-nav-item:nth-child(3),
    .l-footer-nav-item:nth-child(4),
    .l-footer-nav-item:nth-child(7) {
        margin-top: -1rem;
    }
    .l-footer-nav.__en {
        display: grid;
        grid-template-columns: repeat(3, auto);
        grid-auto-flow: column;
        column-gap: 4.5rem;
        row-gap: 1.5rem;
    }
    .l-footer-nav.__en .l-footer-nav-item:first-child {
        margin-bottom: 0;
        grid-column: 1 / 2;
        grid-row: 1 / 5;
    }
    .l-footer-nav.__en .l-footer-nav-item:nth-child(5) {
        grid-column: unset;
        grid-row: unset;
    }
    .l-footer-nav.__en .l-footer-nav-item:nth-child(7) {
        grid-row: unset;
    }
    .l-footer-nav.__en .l-footer-nav-item:nth-child(3),
    .l-footer-nav.__en .l-footer-nav-item:nth-child(4),
    .l-footer-nav.__en .l-footer-nav-item:nth-child(7) {
        margin-top: 0;
    }

    .l-footer__subLogo a {
        flex-direction: row;
        align-items: flex-end;
        width: 550px;
    }
    .l-footer__subLogo a img {
        width: 174px;
    }
    .l-footer__subLogo a span {
        width: 340px;
        font-size: 1.125rem;
        padding-right: 23px;
        background-size: 23px auto;
    }
}
@media screen and (min-width: 1400px) {
    .l-header {
        padding: 2rem 0;
    }
    .l-header__logo {
        width: 174px;
    }
}
/* Utilities */
.u-hover-img img {
    transition: opacity .3s;
}
.u-hover-link {
    color: #000;
    text-decoration: none;
}
.u-hover-link .__arrow {
    position: relative;
    display: inline-block;
    width: 5.85vw;
    height: 1.638vw;
    overflow: hidden;
    margin-left: 3.8vw;
    vertical-align: middle;
    transform: translateY(-25%);
}
.u-hover-link .__arrow::before,
.u-hover-link .__arrow::after {
    position: absolute;
    display: inline-block;
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/common/parts/icon_07.svg) no-repeat center center;
    background-size: 100% 100%;
}
.u-hover-link .__arrow::before {
    transition: transform .3s ease;
    transform: translateX(-100%);
}
.u-hover-link .__arrow::after {
    transition: transform .3s ease .3s;
}
.u-movie-link {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 38.2vw;
    height: 12.7vw;
    border: 1px solid #000;
    font-size: 3.46vw;
    color: #000;
    text-decoration: none;
    background-color: #fff;
    transition: color .25s ease;
    overflow: hidden;
}
.u-movie-link span {
    position: relative;
    z-index: 2;
}
.u-movie-link::before {
    position: absolute;
    display: inline-block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 1;
    transform: scaleY(0);
    transition: transform .25s ease;
    left: 0;
    top: 0;
    transform-origin: center center;
}
.u-movie-link div {
    display: inline-block;
    position: relative;
    z-index: 2;
    width: 6.1vw;
    height: 6.1vw;
    margin-left: 3.8vw;
}
.u-movie-link div img {
    width: 100%;
    height: 100%;
    transition: opacity .25s ease;
}
.u-movie-link div img.__hover {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
}
.u-text-note {
    font-size: 3vw;
    line-height: 1.8;
    padding-left: 1.4em;
    text-indent: -1.4em;
}
.u-text-note.__en {
    padding-left: 3.3em;
    text-indent: -3.3em;
}
.u-mt-1 {
    margin-top: 9.5vw;
}
.u-mt-2 {
    margin-top: 5vw;
}
.u-mt-3 {
    margin-top: 2.5vw;
}
.u-mt-4 {
    margin-top: 7.63vw;
}
.u-lh-2 {
    line-height: 2;
}
.u-mw-960 {
    max-width: 960px;
}
@media screen and (min-width: 768px) {
    .u-hover-link {
        font-size: 1.125rem;
    }
    .u-hover-link .__arrow {
        width: 47px;
        height: 14px;
        margin-left: 2.5rem;
    }
    .u-movie-link {
        width: 245px;
        height: 85px;
        font-size: 1.125rem;
    }
    .u-movie-link div {
        width: 36px;
        height: 36px;
        margin-left: 1.5rem;
    }
    .u-text-note {
        font-size: .875rem;
        line-height: 2.25;
    }
    .u-mt-1 {
        margin-top: 4rem;
    }
    .u-mt-2 {
        margin-top: 2rem;
    }
    .u-mt-3 {
        margin-top: 1rem;
    }
    .u-mt-4 {
        margin-top: 3rem;
    }
    .u-md-mw-600 {
        max-width: 600px;
    }
    .u-md-mw-710 {
        max-width: 710px;
    }
}
@media screen and (min-width: 1200px) {
    .u-xl-mw-500 {
        max-width: 500px;
    }
}
@media (hover: hover) {
    .u-hover-img:hover img {
        opacity: .8;
    }
    .u-hover-link:hover .__arrow::after {
        transform: translateX(100%);
        transition: transform .3s ease;
    }
    .u-hover-link:hover .__arrow::before {
        transform: translateX(0);
        transition: transform .3s ease .3s;
    }
    .u-movie-link:hover {
        color: #fff;
    }
    .u-movie-link:hover::before {
        transform: scaleY(1);
    }
    .u-movie-link:hover div img:not(.__hover) {
        opacity: 0;
    }
    .u-movie-link:hover div img.__hover {
        opacity: 1;
    }
}

/* Projects */
.p-section-title {
    font-size: 5.47vw;
    font-weight: bold;
    line-height: 1.35;
    margin-bottom: 0;
}
.p-section-title small {
    display: inline-block;
    padding-bottom: .5em;
    font-size: 3.73vw;
    font-weight: normal;
}
@media screen and (max-width: 767px) {
    .p-section-title.__sp-small {
        font-size: 4.5vw;
    }
}
@media screen and (min-width: 768px) {
    .p-section-title {
        font-size: 2.5625rem;
    }
    .p-section-title small {
        font-size: 1.625rem;
    }
}

/* Top */
.l-headtop-titl {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: 94.148vw;
    z-index: 1;
}
.l-headtop-titl .l-headtop-title__titleContents {
    position: absolute;
    z-index: 52;
    width: 100%;
    height: 94.148vw;
}
.l-headtop-titl .l-headtop-title__titleContents .key-cathc {
    position: absolute;
    width: 58.8%;
    top: 21.65vw;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.l-headtop-titl .l-headtop-title__titleContents .key-cathc.__en {
    width: 65%;
    top: 22.65vw;
}
.l-headtop-titl .l-headtop-title__titleContents .key-cathc img {
    width: 100%;
}
.l-headtop-titl .l-headtop-title__titleContents .key-note {
    position: absolute;
    left: 8vw;
    bottom: 6vw;
    color: #fff;
    margin-bottom: 0;
}
.l-headtop-titl .l-headtop-title__titleContents .key-note.__pl {
    padding-left: 3.3em;
    text-indent: -3.3em;
}
.l-headtop-titl ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.l-headtop-titl ul li {
    height: 94.148vw;
}
.l-headtop-titl ul li div {
    width: 100%;
    height: 100%;
    background-size: auto 100%;
    background-position: center bottom;
}
.l-headtop-titl ul li div.__kev01 {
    background-image: url(../images/pages/home/kev01_smp.jpg);
    background-size: cover;
}
.l-headtop-titl ul li div.__kev02 {
    background-image: url(../images/pages/home/kev02.jpg);
}
.l-headtop-titl ul li div.__kev03 {
    background-image: url(../images/pages/home/kev03.jpg);
}
.l-headtop__pager {
    padding: 1rem .5rem;
}
.l-headtop__pager .bx-pager {
    font-size: .85em;
    font-family: Arial;
    font-weight: bold;
    color: #666;
    text-align: center;
}
.l-headtop__pager .bx-pager .bx-pager-item {
    display: inline-block;
}
.l-headtop__pager .bx-pager.bx-default-pager a {
    text-indent: -9999px;
    display: block;
    width: 14px;
    height: 14px;
    margin: 0 10px 0;
    outline: 0;
    text-align: left;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
}
.l-headtop__pager .bx-pager.bx-default-pager a.active {
    background-color: #000;
}
.l-section.p-top-mt1 {
    margin-top: 30vw;
}
.l-section.p-top-mt2 {
    margin-top: 30vw;
}
.l-section.p-top-mt3 {
    margin-top: 21.5vw;
}
.l-section.p-top-mt4 {
    margin-top: 21.5vw;
}
.p-top-heading > div:first-child {
    display: flex;
    justify-content: center;
}
.p-top-heading h2 {
    writing-mode: vertical-rl;
    font-size: 5.7vw;
    font-weight: bold;
    line-height: 1.75;
    margin-bottom: 1rem;
}
.p-top-heading__en h2 {
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-size: 7vw;
    font-weight: bold;
    line-height: 1.75;
    text-align: center;
    margin-bottom: 8.5vw;
}
.p-top-heading h2 span {
    display: inline-block;
    height: 3vw;
}
.p-top-heading p {
    margin: 0;
    line-height: 2.15;
    font-size: 3.73vw;
}
.p-top-heading__en p {
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    margin: 0;
    line-height: 1.75;
    font-size: 3.73vw;
    text-align: center;
}
.p-top-schedule {
    margin-top: 1.5rem;
}
.p-top-schedule__info .p-section-title {
    margin: 0 0 8.6vw;
}

.p-top-schedule__box {
    margin-bottom: 9.8vw;
}
.p-top-schedule__box h3 {
    font-size: 4.07vw;
    font-weight: bold;
    margin: 0 0 4.5vw;
}
.p-top-schedule__list {
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.7vw;
    margin: 0;
    padding: 0;
}
.p-top-schedule__list > li {
    margin: 0;
    padding: 0;
}
.p-top-schedule__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5vw 3.1vw 1.9vw 3.8vw;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    color: #000;
    text-decoration: none;
}
.p-top-schedule__item .__date,
.p-top-schedule__item .__ship {
    margin: 0;
}
.p-top-schedule__item .__date {
    font-size: 4.1vw;
    font-weight: bold;
    text-align: center;
}
.p-top-schedule.__en .p-top-schedule__item .__date {
    font-size: 3vw;
}
.p-top-schedule__item .__ship {
    font-size: 2.1vw;
}
.p-top-schedule__item .__arrow {
    position: relative;
    width: 6.1vw;
    flex-grow: 0;
    overflow: hidden;
}
.p-top-schedule__item .__arrow img {
    width: 100%;
    transform: translateY(-50%);
    transition: transform .3s ease .3s;
}
.p-top-schedule__item .__arrow::before {
    position: absolute;
    display: inline-block;
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/common/parts/icon_07.svg) no-repeat center center;
    background-size: 100% 100%;
    transform: translate(-100%, -5%);
    transition: transform .3s ease;
}
.p-top-schedule__image {
    margin: 12vw -5.33vw 0;
}
.p-top-banner {
    text-align: center;
    margin-top: 10.4166666667vw;
    padding: 0 5.33vw;
}
.p-top-route__info {
    position: relative;
    z-index: 2;
    width: 80vw;
    background-color: rgba(255, 255, 255, .5);
}
.p-top-route__image {
    position: relative;
    z-index: 1;
    margin: -10vw -5.33vw 0;
}
.p-top-route__image .u-movie-link {
    position: absolute;
    left: 56vw;
    top: 68.7vw;
}
.p-top-route.__en .p-section-title {
    width: 70vw;
}
.p-top-gourmet__image {
    margin: 10vw -5.33vw 0;
}
.p-top-gourmet__image .__wrap {
    position: relative;
}
.p-top-gourmet__image .__base {
    width: 84.86vw;
}
.p-top-gourmet__image .__sub {
    position: relative;
    width: 29vw;
    margin-left: auto;
    margin-right: 7vw;
    margin-top: -22.6vw;
}
.p-top-event__image {
    margin: 10vw -5.33vw 0;
}
.p-top-event__image .__wrap {
    background-color: #f7f7f7;
    padding: 3.8vw 6.36vw 6.36vw 7.63vw;
}
.p-top-gosenin {
    margin-left: -5.35vw;
    margin-right: -5.35vw;
    background-color: #f7f7f7;
    padding: 15vw 5.35vw;
}
.p-top-gosenin__text {
    line-height: 2.1875;
    padding-right: 1em;
}
.p-top-gosenin__image {
    margin-top: 7vw;
}
.l-headbottom {
    margin-top: 7.63vw;
}
@media screen and (min-width: 768px) {
    .l-headtop-titl {
        height: 980px;
    }
    .l-headtop-titl .l-headtop-title__titleContents {
        height: 980px;
    }
    .l-headtop-titl .l-headtop-title__titleContents .key-cathc {
        width: 444px;
        top: 300px;
    }
    .l-headtop-titl .l-headtop-title__titleContents .key-cathc.__en {
        width: 630px;
    }
    .l-headtop-titl .l-headtop-title__titleContents .key-note {
        font-size: 0.875rem;
        left: 90px;
        bottom: 35px;
    }
    .l-headtop-titl ul li div {
        background-size: cover;
    }
    .l-headtop-titl ul li div.__kev01 {
        background-image: url(../images/pages/home/kev01.jpg);
        background-size: cover;
    }
    .l-headtop-titl ul li {
        height: 980px;
    }
    .l-headtop__pager {
        padding: 2rem;
    }
    .l-headtop__pager .bx-pager.bx-default-pager a {
        margin: 0 5px;
    }
    .l-section.p-top-mt1 {
        margin-top: 10rem;
    }
    .p-top-heading {
        max-width: 640px;
        margin-inline: auto;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .p-top-heading__en {
        max-width: 1400px;
        margin-inline: auto;
    }
    .p-top-heading > div:first-child {
        display: block;
    }
    .p-top-heading > div:last-child {
        margin-top: 1rem;
    }
    .p-top-heading h2 {
        font-size: 2rem;
        line-height: 1.75;
        margin-bottom: 0;
    }
    .p-top-heading__en h2 {
        font-size: 2.75rem;
        line-height: 1.75;
        margin-bottom: 4rem;
    }
    .p-top-heading h2 span {
        display: none;
    }
    .p-top-heading p {
        writing-mode: vertical-rl;
        font-size: 1.125rem;
    }
    .p-top-heading__en p {
        font-size: 1.5625rem;
    }

    .p-top-schedule__info .p-section-title {
        font-size: 2.6875rem;
        margin-top: -1.625rem;
        margin-bottom: 6rem;
    }
    .p-top-schedule__box {
        margin-bottom: 6rem;
    }
    .p-top-schedule__box + .p-top-schedule__box {
        margin-bottom: 4.75rem;
    }
    .p-top-schedule__box h3 {
        font-size: 2rem;
        margin-bottom: 1.5rem;
    }
    .p-top-schedule__list {
        max-width: 690px;
        column-gap: 4rem;
        row-gap: 2rem;
    }
    .p-top-schedule__item {
        padding: 1rem 1.25rem 0.75rem 2rem;
    }
    .p-top-schedule__item .__date {
        font-size: 1.875rem;
    }
    .p-top-schedule.__en .p-top-schedule__item .__date {
        font-size: 1.375rem;
    }
    .p-top-schedule__item .__ship {
        font-size: 0.875rem;
    }
    .p-top-schedule__item .__arrow {
        width: 49px;
    }
    .p-top-schedule__item .__arrow img {
        width: 100%;
        transform: translateY(-50%);
    }
    .p-top-schedule__item .__arrow::before {
        transform: translate(-100%, -25%);
    }
    .p-top-schedule__image {
        margin: 2rem 0 0;
        max-width: 786px;
        margin-inline: auto;
    }
    .p-top-banner {
        margin-top: 10rem;
    }
    .l-section.p-top-mt2 {
        margin-top: 10rem;
    }
    .p-top-route {
        max-width: 788px;
    }
    .p-top-route__info {
        width: 630px;
    }
    .p-top-route__image {
        margin-left: -20px;
        margin-right: -20px;
    }
    .p-top-route.__en .p-section-title {
        max-width: 520px;
    }
    .l-section.p-top-mt3 {
        margin-top: 6.5rem;
    }
    .p-top-gourmet {
        display: flex;
        flex-direction: column-reverse;
        gap: 2.5rem;
    }
    .p-top-gourmet__image {
        margin: 0;
    }
    .p-top-gourmet__image .__base {
        width: 69.375%;
    }
    .p-top-gourmet__image .__sub {
        position: absolute;
        width: 20.625%;
        margin: 0;
        right: 16.875%;
        top: 50%;
        transform: translateY(-50%);
    }
    .l-section.p-top-mt4 {
        margin-top: 12rem;
    }
    .p-top-event__image {
        margin: 5.625rem -20px 0;
    }
    .p-top-gosenin {
        margin-left: -20px;
        margin-right: -20px;
        padding: 7.5rem 6rem 7.5rem 6.5rem;
    }
    .p-top-gosenin__text {
        max-width: 645px;
    }
    .p-top-gosenin__image {
        margin-top: 3.5rem;
    }
}
@media (hover: hover) and (max-width: 767px) {
    .p-top-schedule__item:hover .__arrow img {
        transform: translate(100%, -50%);
        transition: transform .3s ease
    }
    .p-top-schedule__item:hover .__arrow::before {
        transform: translate(0, -5%);
        transition: transform .3s ease .3s;
    }
}
@media (hover: hover) and (min-width: 768px) {
    .p-top-schedule__item:hover .__arrow img {
        transform: translate(100%, -50%);
        transition: transform .3s ease
    }
    .p-top-schedule__item:hover .__arrow::before {
        transform: translate(0, -25%);
        transition: transform .3s ease .3s;
    }
}
@media screen and (min-width: 992px) {
    .p-top-heading {
        max-width: 780px;
    }
    .p-top-heading p {
        line-height: 2.8;
    }
    .l-section.p-top-mt2 {
        margin-top: 0;
    }
    .p-top-route {
        max-width: 1600px;
        display: flex;
        align-items: center;
        margin-left: -20px;
        margin-right: -20px;
    }
    .p-top-route__info {
        width: 50%;
        padding-left: 6%;
    }
    .p-top-route__image {
        width: 50%;
        margin: 0;
    }
    .p-top-route__image .__wrap,
    .p-top-route__image .__wrap picture {
        position: relative;
        display: flex;
        justify-content: flex-end;
        width: 100%;
    }
    .p-top-route__image .__wrap img {
        max-width: 122.5%;
        width: 122.5%;
    }
    .p-top-route__image .u-movie-link {
        left: 43.75%;
        top: 74%;
    }
    .p-top-gourmet__info {
        padding-left: 6.25%;
    }
    .p-top-event {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
    }
    .p-top-event__info {
        position: relative;
        width: 43.75%;
        padding: 5.625% 2% 5.625% 10.625%;
        background-color: rgba(255, 255, 255, .6);
        transform: translate(-14%, -14%);
    }
    .p-top-event__image {
        width: 56.25%;
        margin: 0;
    }
    .p-top-event__image .__wrap {
        padding: 3.9% 14.44% 4.45% 3.9%;
    }
    .p-top-gosenin {
        display: flex;
        justify-content: space-between;
        margin-left: 0;
        margin-right: 0;
        gap: 7%;
    }
    .p-top-gosenin__image {
        margin-top: 0;
        width: 46.072%;
        max-width: 645px;
        flex-shrink: 0;
        flex-grow: 0;
    }
    .p-top-gosenin__text {
        max-width: 505px;
    }
}
@media screen and (min-width: 1200px) {
    .p-top-heading__en h2 {
        font-size: 3rem;
    }
    .p-top-schedule {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .p-top-schedule__info {
        padding-left: 6.25%;
    }
    .p-top-schedule__box h3 {
        margin-bottom: 2rem;
    }
    .p-top-schedule__image {
        margin: 0;
        width: 43.375%;
        max-width: 694px;
        flex-shrink: 0;
    }
    .l-headbottom {
        margin-top: 12rem;
    }
}
@media screen and (min-width: 1400px) {
    .p-top-heading__en p {
        padding-right: 4rem;
    }
    .p-top-schedule__info {
        padding-right: 6.25%;
    }
    .p-top-gosenin {
        margin-left: 6.25%;
    }
    .p-top-gosenin__image {
        width: 49.612%;
    }
    .l-headbottom .__wrap img {
        width: 100%;
        height: 573px;
        object-fit: cover;
    }
}
@media screen and (min-width: 1200px) and (max-width: 1600px) {
    .p-top-schedule.__en .p-top-schedule__item .__date {
        font-size: 1.25rem;
    }
    .p-top-schedule.__en .p-top-schedule__item .__arrow {
        width: 30px;
    }
}

/* Route */
.p-route-header {
    background-image: url(../images/pages/route/route_head.png);
    background-size: auto 110%;
    background-position: 52.5% center;
}
.p-route__bg {
    background-color: #eaeaea;
}
.p-route-outline {
    margin-left: -5.33vw;
    margin-right: -5.33vw;
    background: url(../images/pages/route/sec_ol01.png) no-repeat center top #eaeaea;
    background-size: 170vw auto;
    padding-top: 72vw;
    padding-bottom: 9.41vw;
}
.p-route-outline.__en {
    background-image: url(../../en/assets-tt6/images/pages/route/sec_ol01.png);
}
.p-route-outline-box {
    width: 87.277vw;
    margin-inline: auto;
    padding: 7.33vw 6.33vw 9.16vw;
    background-color: rgba(255, 255, 255, .6);
}
.p-route-outline-list {
    display: flex;
    flex-direction: column;
    gap: 8.9vw;
    width: 52vw;
    list-style-type: none;
    margin: 0 auto;
    padding: 0;
}
.p-route-outline.__en .p-route-outline-list {
    width: 60vw;
}
.p-route-outline-list__item img {
    width: 100%;
}
.p-route-outline-list__item h2 {
    font-size: 4.5vw;
    font-weight: normal;
    margin-top: 1.5vw;
}
.p-route-outline.__en .p-route-outline-list__item h2 {
    font-size: 4.2vw;
}
.p-route-outline-list__item .__time {
    margin-top: 3.1vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.5vw;
}
.p-route-outline-list__item .__time span {
    display: flex;
    background-color: #fff;
    align-items: center;
    justify-content: center;
    height: 7.63vw;
    font-size: 3.5vw;
    font-weight: bold;
}
.p-route-outline.__en .p-route-outline-list__item .__time {
    grid-template-columns: 1fr;
    row-gap: 2vw;
}
.p-route-scene {
    padding-top: 17vw;
    padding-bottom: 23vw;
    text-align: center;
}
.p-route-scene h2 {
    font-size: 5.2vw;
    padding-left: 5.33vw;
    padding-right: 5.33vw;
}
.p-route-bx-wrapper {
    margin-top: 14vw;
    overflow: hidden;
}
.p-route-bx-wrapper .bx-wrapper {
    width: 80vw;
    margin-inline: auto;
}
.p-route-bx-wrapper .bx-viewport {
    overflow: visible !important;
}
.p-route-bxslider .__slide {
    padding-left: 2vw;
    padding-right: 2vw;
}
.p-route-bxslider .__slide img {
    pointer-events: none;
}
.p-route-scene__link {
    margin-top: 12.7vw;
    display: flex;
    justify-content: center;
    padding-left: 5.33vw;
    padding-right: 5.33vw;
}
.p-route-scene__link p {
    text-align: left;
}
.p-route-time-table {
    padding-top: 12.7vw;
    padding-bottom: 21vw;
}
.p-route-tt__text {
    text-align: center;
}
.p-route-tt__box1 {
    position: relative;
    margin-top: 7.63vw;
    padding-bottom: 8vw;
}
.p-route-tt__box1 .__arrow {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.p-route-tt__box1 .__arrow picture {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.p-route-tt__box1 .__arrow img {
    width: auto;
    height: 100%;
}
.p-route-tt__box1 .__end--date {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #000;
    padding: 4.83vw 0;
    gap: 4.83vw;
    background-color: #eaeaea;
}
.p-route-tt__box1 .__end--date + .__end--date {
    margin-top: 6.36vw;
}
.p-route-tt__box1 .__end--date p {
    font-size: 3.56vw;
    font-weight: bold;
}
.p-route-tt__box1.__en .__end--date:last-child p {
    width: 60vw;
    letter-spacing: 0;
}
.p-route-tt__box1 .__end--date p span {
    display: inline-block;
    line-height: 1.4;
    background-color: #ccc;
    font-weight: normal;
    padding: 0 0.5em;
    margin-right: 0.4em;
}
.p-route-tt__box2 {
    margin-top: 2.55vw;
    display: flex;
    flex-direction: column;
    gap: 10.82vw;
}
.p-route-tt-b2__inner {
    background-color: #fff;
    padding: 0 5.33vw 7.63vw;
}
.p-route-tt-b2__inner h4 {
    margin: 0 -5.33vw 4.45vw;
    text-align: center;
    font-size: 3.56vw;
    line-height: 1;
    font-weight: bold;
    padding: 2.67vw;
    background: url(../images/pages/route/ob02_smp.svg) no-repeat 3.3% 55% #ccc;
    background-size: 5.85vw auto;
}
.p-route-tt-b2__inner p {
    font-size: 3.125vw;
    line-height: 2;
}
.p-route-tt-b2__inner p + p {
    margin-top: 3.8vw;
}
.p-route-tt-b2__inner p + p.u-text-note {
    margin-top: 0;
}
.p-route-tt-b2__inner .__set {
    margin-top: 7.63vw;
}
.p-route-tt-b2__inner .__set-title {
    font-size: 3.8vw;
    line-height: 1;
    font-weight: bold;
    border-left: 4px solid #a0a0a0;
    padding-left: 0.5em;
}
.p-route-tt-b2__inner .__set-tt {
    margin-top: 3.8vw;
}
.p-route-tt-b2__inner .__set-tt h5 {
    font-size: 3.56vw;
    font-weight: bold;
}
.p-route-tt-b2__inner .__set-tt a {
    color: #000;
}
.p-route-tt-b2__inner .__set-tt a:hover {
    text-decoration: none;
}
.p-route-tt-b2__inner .__note-number {
    margin-top: 6.25vw;
    margin-bottom: 0;
    padding: 0;
    counter-reset: noteNumber 0;
    list-style: none;
}
.p-route-tt-b2__inner .__note-number li {
    counter-increment: noteNumber 1;
    position: relative;
    padding-left: 2.25em;
}
.p-route-tt-b2__inner .__note-number li + li {
    margin-top: 0.5em;
}
.p-route-tt-b2__inner .__note-number li::before {
    content: "※" counter(noteNumber);
    position: absolute;
    left: 0;
    top: 0;
    display: inline;
}
@media screen and (min-width: 768px) {
    .p-route-header {
        background-size: auto 872px;
        background-position: center bottom;
    }
    .p-route-outline {
        margin-left: -20px;
        margin-right: -20px;
        background-size: 100% auto;
        padding-top: 41.5%;
        padding-bottom: 4.125rem;
    }
    .p-route-outline-box {
        width: calc(100% - 40px);
        max-width: 1140px;
        padding: 2.625rem 2.625rem 2rem;
    }
    .p-route-outline-list {
        width: 100%;
        margin: 0;
        flex-direction: row;
        justify-content: space-between;
        gap: 0;
    }
    .p-route-outline.__en .p-route-outline-list {
        width: 100%;
    }
    .p-route-outline-list > li {
        width: 31%;
        max-width: 300px;
        order: 2;
    }
    .p-route-outline-list > li:first-child {
        order: 3;
    }
    .p-route-outline-list > li:last-child {
        order: 1;
    }
    .p-route-outline-list__item h2 {
        font-size: 1.75rem;
        margin-top: 0.5rem;
    }
    .p-route-outline.__en .p-route-outline-list__item h2 {
        font-size: .9rem;
    }
    .p-route-outline-list__item .__time {
        margin-top: 1.25rem;
        gap: 6.6666667%;
    }
    .p-route-outline.__en .p-route-outline-list__item .__time {
        row-gap: 1.5rem;
    }
    .p-route-outline-list__item .__time span {
        height: 2.5625rem;
        font-size: 0.875rem;
    }
    .p-route-scene {
        padding-top: 10rem;
        padding-bottom: 10.5rem;
    }
    .p-route-scene h2 {
        font-size: 2.5625rem;
        padding-left: 20px;
        padding-right: 20px;
    }
    .p-route-bx-wrapper {
        margin-top: 6.875rem;
    }
    .p-route-bx-wrapper .bx-wrapper {
        width: 624px;
    }
    .p-route-bxslider .__slide {
        padding-left: 12px;
        padding-right: 12px;
    }
    .p-route-scene__link {
        margin-top: 6.25rem;
        padding-left: 20px;
        padding-right: 20px;
    }
    .p-route-time-table {
        padding-top: 8.125rem;
        padding-bottom: 12.25rem;
    }
    .p-route-tt__box1 {
        max-width: 1370px;
        margin-inline: auto;
        margin-top: 7rem;
        padding-bottom: 5rem;
    }
    .p-route-tt__box1 .__arrow img {
        width: 52.7%;
        height: 100%;
    }
    .p-route-tt__box1:not(.__en) .__end--date {
        flex-direction: row;
        justify-content: center;
        padding: 1.5rem 0;
        gap: 4.5rem;
    }
    .p-route-tt__box1 .__end--date + .__end--date {
        margin-top: 3.125rem;
    }
    .p-route-tt__box1 .__end--date p {
        font-size: 1.25rem;
    }
    .p-route-tt__box1.__en .__end--date:last-child p {
        width: auto;
        text-align: center;
    }
    .p-route-tt__box1 .__end--date p span {
        line-height: 2;
        margin-right: 0.5em;
    }
    .p-route-tt__box2 {
        margin-top: 1.5rem;
        gap: 5rem;
    }
    .p-route-tt-b2__inner {
        padding: 0 3rem 4rem;
    }
    .p-route-tt-b2__inner h4 {
        margin: 0 -3rem 2rem;
        font-size: 1.75rem;
        line-height: 1;
        font-weight: bold;
        padding: 1.5rem;
        background-size: 2.875rem auto;
    }
    .p-route-tt__box2.__en .p-route-tt-b2__inner h4 {
        font-size: 1.5rem;
    }
    .p-route-tt-b2__inner p {
        font-size: 1.125rem;
    }
    .p-route-tt-b2__inner p + p {
        margin-top: 1.5rem;
    }
    .p-route-tt-b2__inner .__set {
        margin-top: 3.5rem;
    }
    .p-route-tt-b2__inner .__set + .__set {
        margin-top: 4.5rem;
    }
    .p-route-tt-b2__inner .__set-title {
        font-size: 1.75rem;
        border-left-width: 6px;
        padding-left: 1.1875rem;
    }
    .p-route-tt-b2__inner .__set-tt {
        margin-top: 2rem;
    }
    .p-route-tt-b2__inner .__set-tt h5 {
        font-size: 1.25rem;
    }
    .p-route-tt-b2__inner .__set-tt a {
        font-size: 1rem;
    }
    .p-route-tt-b2__inner .__note-number {
        margin-top: 2.25rem;
    }
    .p-route-tt-b2__inner .__note-number li {
        font-size: 1.125rem;
        padding-left: 2.5em;
    }
    .p-route-tt-b2__inner .__note-number li + li {
        margin-top: 0.5em;
    }
    .p-route-tt-b2__inner .__note-number li::before {
        content: "※" counter(noteNumber);
        position: absolute;
        left: 0;
        top: 0;
        display: inline;
    }
}
@media screen and (min-width: 992px) {
    .p-route-outline.__en .p-route-outline-list__item h2 {
        font-size: 1.125rem;
    }
    .p-route-outline-list__item .__time span {
        font-size: 1rem;
    }
    .p-route-tt__box1 .__end--date p {
        font-size: 1.75rem;
    }
    .p-route-tt__box2 {
        max-width: 1370px;
        margin-inline: auto;
        margin-top: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3.65%;
    }
    .p-route-tt-b2__inner h4 {
        background-image: none;
    }
}
@media screen and (min-width: 1200px) {
    .p-route-tt__box1.__en .__end--date {
        flex-direction: row;
        justify-content: center;
        padding: 1.5rem 0;
        gap: 4.5rem;
    }
    .p-route-tt__box1.__en .__end--date:last-child p {
        text-align: left;
    }
    .p-route-tt__box1.__en .__end--date:last-child p:first-child {
        width: 530px;
    }
    .p-route-tt__box1.__en .__end--date:last-child p:last-child {
        width: 460px;
    }
    .p-route-tt__box2.__en .p-route-tt-b2__inner h4 {
        font-size: 1.75rem;
    }
    .p-route-outline.__en .p-route-outline-list__item h2 {
        font-size: 1.25rem;
    }
    .p-route-outline-list__item .__time span {
        font-size: 1.375rem;
    }
}
@media screen and (min-width: 1400px) {
    .p-route-outline.__en .p-route-outline-list__item h2 {
        font-size: 1.4rem;
    }
}
@media screen and (min-width: 1600px) {
    .p-route-header {
        background-size: cover;
    }
}

/* Event */
.p-event-header {
    background-image: url(../images/pages/event/event_head.png);
}
.p-event-index {
    padding-top: 10.66vw;
    padding-bottom: 15.71vw;
}
.p-event-index__box1 {
    width: 80vw;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 8.3vw;
}
.p-event-index__box1 > div > a {
    display: flex;
    flex-direction: column;
    gap: 3.8vw;
}
.p-event-index__box1 > div:first-child {
    padding-right: 15vw;
}
.p-event-index__box1 > div:first-child > a {
    align-items: flex-end;
}
.p-event-index__box1 > div:last-child {
    padding-left: 15vw;
}
.p-event-index__box1 > div:last-child > a {
    align-items: flex-start;
}
.p-event-index__box1 > div > a > p {
    text-align: left;
}
.p-event-index__box1 > div > a > p > span:first-child {
    font-size: 5.33vw;
    font-weight: bold;
}
.p-event-index__box1 .u-hover-link .__arrow {
    width: 9.35vw;
    height: 2.67vw;
    transform: translateY(-80%);
}
.p-event-index__box1 > div > a > p.__en {
    position: relative;
    padding-right: 14vw;
    line-height: 1.3;
}
.p-event-index__box1 .u-hover-link p.__en .__arrow {
    position: absolute;
    right: 0;
    top: 50%;
}
@media screen and (min-width: 768px) {
    .p-event-index {
        padding-top: 9.5rem;
        padding-bottom: 14rem;
    }
    .p-event-index__box1 {
        max-width: 1180px;
        margin-inline: auto;
        flex-direction: row;
        justify-content: space-between;
        gap: 10%;
    }
    .p-event-index__box1 > div > a {
        gap: 2rem;
    }
    .p-event-index__box1 > div:first-child {
        padding-right: 0;
    }
    .p-event-index__box1 > div:last-child {
        margin-top: 5.625rem;
        padding-left: 0;
    }
    .p-event-index__box1 > div:last-child > a {
        align-items: flex-end;
    }
    .p-event-index__box1 > div > a > p > span:first-child {
        font-size: 1.5rem;
    }
    .p-event-index__box1 .u-hover-link .__arrow {
        width: 47px;
        height: 14px;
        margin-left: 2rem;
    }
    .p-event-index__box1 > div > a > p.__en {
        padding-right: 70px;
    }
}
@media screen and (min-width: 992px) {
    .p-event-index__box1 > div > a > p > span:first-child {
        font-size: 1.875rem;
    }
}
@media screen and (min-width: 1200px) {
    .p-event-index__box1 > div > a > p > span:first-child {
        font-size: 2.5625rem;
    }
}

/* Main Event */
.p-mainevent-header {
    background-image: url(../images/pages/event/mainevent/mainevent_head.png);
}
.p-mainevent-header .l-head-title__lead {
    background-color: rgba(0, 0, 0, .35);
}
.p-mainevent-content {
    padding-top: 10.66vw;
    padding-bottom: 15.71vw;
}
.p-mainevent-box1 {
    display: flex;
    flex-direction: column;
    gap: 8.3vw;
}
.p-mainevent__heading {
    position: relative;
    font-size: 5.33vw;
    font-weight: bold;
    text-align: center;
    line-height: 2;
    border-bottom: 1px solid #000;
    margin-bottom: 0;
}
.p-mainevent-box1.__en .p-mainevent__heading {
    line-height: 1.5;
    padding-top: 0.25em;
    padding-bottom: 0.25em;
}
.p-mainevent__heading::after {
    position: absolute;
    content: '';
    width: 3.5vw;
    height: 2vw;
    background: url(../images/common/parts/icon_10.svg) no-repeat center center;
    background-size: 100% 100%;
    right: 4.16%;
    top: 50%;
}
.p-mainevent-box2 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 18.65vw;
}
.p-mainevent-box2 p {
    font-size: 3.73vw;
}
@media screen and (min-width: 768px) {
    .p-mainevent-header .l-head-title__lead {
        background-color: rgba(0, 0, 0, .15);
    }
    .p-mainevent-content {
        padding-top: 9.5rem;
        padding-bottom: 20rem;
    }
    .p-mainevent-box1 {
        max-width: 1300px;
        margin-inline: auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 7.7%;
    }
    .p-mainevent__heading {
        font-size: 1.5rem;
    }
    .p-mainevent__heading::after {
        width: 1.3125rem;
        height: 0.75rem;
    }
    .p-mainevent-box2 {
        height: 8.5rem;
    }
    .p-mainevent-box2 p {
        font-size: 1.75rem;
    }
}
@media screen and (min-width: 992px) {
    .p-mainevent__heading {
        font-size: 1.875rem;
    }
    .p-mainevent__heading::after {
        width: 1.75rem;
        height: 1rem;
    }
}
@media screen and (min-width: 1200px) {
    .p-mainevent__heading {
        font-size: 2.25rem;
    }
    .p-mainevent-box1.__en .p-mainevent__heading {
        font-size: 2rem;
    }
}
@media screen and (min-width: 1400px) {
    .p-mainevent-header .l-head-title__lead {
        background-color: rgba(0, 0, 0, 0);
    }
    .p-mainevent__heading {
        font-size: 2.5625rem;
    }
    .p-mainevent-box1.__en .p-mainevent__heading {
        font-size: 2rem;
        letter-spacing: 0;
        text-align: left;
        padding-left: 1em;
    }
}

/* Food */
.p-food-header {
    background-image: url(../images/pages/event/food/food_head.png);
}
.p-food-top {
    padding-top: 5.33vw;
}
.p-food-top .l-section + .l-section {
    margin-top: 21.5vw;
}
.p-food__inner {
    max-width: 1400px;
    margin-inline: auto;
}
.p-food-lunch {
    display: flex;
    flex-direction: column;
    gap: 5.33vw;
}
.p-food-lunch .__title {
    font-size: 4.07vw;
    font-weight: bold;
}
.p-food-lunch .__icon {
    width: 20vw;
}
.p-food-lunch .__lead {
    font-size: 4.1vw;
    font-weight: bold;
    line-height: 1.5;
}
.p-food-buffet {
    margin-top: 30vw;
}
.p-food-buffet__image {
    margin: 0 -5.33vw;
}
.p-food-buffet__link {
    text-align: center;
}
.p-food-buffet__info {
    margin-top: 10vw;
}
.p-food-table {
    max-width: 1400px;
    margin-inline: auto;
    margin-top: 10vw;
}
.p-food-table table {
    width: 100%;
}
.p-food-table table th,
.p-food-table table td {
    font-weight: normal;
    text-align: center;
    font-size: 3.5vw;
    line-height: 1;
    padding: 0.8em;
}
.p-food-table tbody {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}
.p-food-table th:last-child,
.p-food-table td:last-child {
    border-left: 1px solid #000;
}
.p-food-table tfoot td:last-child {
    border-left: none;
    text-align: right;
    padding-right: 0;
}
.p-food-gallery {
    padding-top: 17vw;
    padding-bottom: 23vw;
    text-align: center;
}
.p-food-gallery h2 {
    font-size: 5.2vw;
}
.p-food-bx-wrapper {
    margin-top: 14vw;
    overflow: hidden;
}
.p-food-bx-wrapper .bx-wrapper {
    width: 80vw;
    margin-inline: auto;
}
.p-food-bx-wrapper .bx-viewport {
    overflow: visible !important;
}
.p-food-bxslider .__slide {
    padding-left: 2vw;
    padding-right: 2vw;
}
.p-food-bxslider .__slide img {
    pointer-events: none;
}
.p-food-gallery__link {
    margin-top: 12.7vw;
    display: flex;
    justify-content: center;
}
.p-food-gallery__link p {
    text-align: left;
    padding-left: 5.33vw;
    padding-right: 5.33vw;
}
@media screen and (min-width: 768px) {
    .p-food-top {
        padding-top: 2.5rem;
    }
    .p-food-top .l-section + .l-section {
        margin-top: 9rem;
    }
    .p-food-top .u-text-note {
        font-size: 1rem;
        line-height: 2;
    }
    .p-food-lunch {
        gap: 2.5rem;
    }
    .p-food-lunch .__title {
        font-size: 2rem;
    }
    .p-food-lunch .__icon {
        width: 139px;
    }
    .p-food-lunch .__lead {
        font-size: 1.875rem;
    }
    .p-food-buffet {
        margin-top: 18rem;
    }
    .p-food-buffet__image {
        margin: 0 -20px;
    }
    .p-food-buffet__info {
        margin-top: 6rem;
    }
    .p-food-table {
        margin-top: 4.375rem;
    }
    .p-food-table table th,
    .p-food-table table td {
        font-size: 1.125rem;
    }
    .p-food-gallery {
        padding-top: 10rem;
        padding-bottom: 15rem;
    }
    .p-food-gallery h2 {
        font-size: 2.5625rem;
    }
    .p-food-bx-wrapper {
        margin-top: 6.875rem;
    }
    .p-food-bx-wrapper .bx-wrapper {
        width: 624px;
    }
    .p-food-bxslider .__slide {
        padding-left: 12px;
        padding-right: 12px;
    }
    .p-food-gallery__link {
        margin-top: 6.25rem;
    }
    .p-food-gallery__link p {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media screen and (min-width: 992px) {
    .p-food-buffet {
        display: flex;
    }
    .p-food-buffet__image {
        margin: 0;
        max-width: 884px;
        width: 55.25%;
        flex-shrink: 0;
        flex-grow: 0;
    }
    .p-food-buffet__info {
        margin-top: -1.25rem;
        padding-left: 6%;
    }
    .p-food-buffet.__en .p-food-buffet__info {
        margin-top: 0;
    }
    .p-food-buffet.__en .p-food-buffet__info .p-section-title small,
    .p-food-buffet.__en .p-food-buffet__info p {
        letter-spacing: 0;
    }
}
@media screen and (min-width: 1200px) {
    .p-food-lunch {
        margin-inline: auto;
        flex-direction: row;
        justify-content: space-between;
        gap: 0;
    }
    .p-food-lunch.__row-reverse {
        flex-direction: row-reverse;
    }
    .p-food-lunch__info {
        width: 41.786%;
    }
    .p-food-lunch__image {
        max-width: 750px;
        width: 53.57143%;
    }
    .p-food-lunch .__lead br {
        display: none;
    }

}
@media screen and (min-width: 1400px) {
    .p-food-lunch .__lead br {
        display: inline;
    }
    .p-food-buffet__info {
        padding-right: 6%;
    }
    .p-food-buffet.__en .p-food-buffet__info {
        padding-right: 0;
    }
    .p-food-buffet.__en .p-food-buffet__info p {
        padding-right: 8em;
    }
}
@media screen and (min-width: 1600px) {
    .p-food-buffet.__en .p-food-buffet__info {
        margin-top: -1.25rem;
    }
    .p-food-buffet.__en .p-food-buffet__info .p-section-title small br {
        display: none;
    }
}

/* Ship */
.p-ship-header {
    background-image: url(../images/pages/ship/ship_head.png);
}
.p-ship-content {
    padding-top: 5.53vw;
    padding-bottom: 26vw;
}
.p-ship-wrap {
    margin-left: -5.33vw;
    margin-right: -5.33vw;
    display: flex;
    flex-direction: column;
    gap: 15vw;
}
.p-ship-box1:nth-child(odd) {
    padding-right: 15vw;
}
.p-ship-box1:nth-child(even) {
    padding-left: 15vw;
}
.p-ship-box1:nth-child(odd) .p-ship-b1__info {
    padding-left: 10vw;
}
.p-ship-b1__info {
    margin-top: 4vw;
}
.p-ship-b1__info .p-section-title small {
    display: inline-block;
    padding-bottom: 5.33vw;
}
.p-ship-b1__info .u-hover-link {
    font-size: inherit;
    letter-spacing: 0;
}
.p-ship-b1__info .u-hover-link .__arrow {
    width: 10vw;
    height: 2.86vw;
}
@media screen and (min-width: 768px) {
    .p-ship-content {
        padding-top: 3.375rem;
        padding-bottom: 17rem;
    }
    .p-ship-wrap {
        margin-left: -20px;
        margin-right: -20px;
        gap: 11rem;
    }
    .p-ship-box1 {
        max-width: 1268px;
        width: 79.25%;
    }
    .p-ship-box1:nth-child(odd) {
        padding-right: 0;
    }
    .p-ship-box1:nth-child(even) {
        padding-left: 0;
        align-self: flex-end;
    }
    .p-ship-box1:nth-child(odd) .p-ship-b1__info {
        padding-left: 6.25rem;
    }
    .p-ship-b1__info {
        margin-top: 2rem;
    }
    .p-ship-b1__info .p-section-title small {
        padding-bottom: 2rem;
    }
    .p-ship-b1__info .u-hover-link {
        font-size: 2rem;
    }
    .p-ship-b1__info .u-hover-link .__arrow {
        width: 41px;
        height: 12px;
    }
}
@media screen and (min-width: 992px) {
    .p-ship-b1__info .u-hover-link {
        font-size: inherit;
        letter-spacing: inherit;
    }
    .p-ship-b1__info .u-hover-link .__arrow {
        width: 47px;
        height: 14px;
    }
}

/* Fee */
.p-fee-header {
    background-image: url(../images/pages/fee/fee_head.png);
}
.p-fee-content {
    max-width: 960px;
    margin-inline: auto;
    padding-top: 5.53vw;
    padding-bottom: 26vw;
}
.p-fee-content.__en {
    max-width: 1400px;
}
.p-fee-content .l-section + .l-section {
    margin-top: 7.86vw;
}
.p-fee-content a {
    color: #000;
}
.p-fee-content a:hover {
    text-decoration: none;
}
.p-fee-table {
    width: 100%;
}
.p-fee-table caption {
    caption-side: top;
    margin-bottom: 2.6vw;
}
.p-fee-table caption .__note {
    text-align: right;
    color: #000;
}
.p-fee-table th,
.p-fee-table td {
    text-align: center;
    vertical-align: middle;
    font-size: 3.3vw;
    line-height: 1.25;
    padding: 0.8em;
}
.p-fee-table .__price {
    white-space: nowrap;
}
.p-fee-table thead th {
    border-bottom: 1px solid #000;
}
.p-fee-table thead th:not(:first-child),
.p-fee-table tbody td:not(:first-child) {
    border-left: 1px solid #000;
}
.p-fee-table tbody td {
    border-bottom: 1px dashed #000;
}
.p-fee-table tbody tr:last-child td {
    border-bottom: 1px solid #000;
}
.p-fee-table tfoot td {
    padding: 7.63vw 0 0;
    text-align: left;
}
.p-fee-table tfoot ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.p-fee-table tfoot ul > li + li {
    margin-top: 0.8em;
}
.p-fee-table tfoot .u-text-note {
    font-size: 3.2vw;
    line-height: 1.75;
}
@media screen and (min-width: 768px) {
    .p-fee-content {
        padding-top: 3.375rem;
        padding-bottom: 18.75rem;
    }
    .p-fee-content .l-section + .l-section {
        margin-top: 10rem;
    }
    .p-fee-table caption {
        margin-bottom: 2rem;
    }
    .p-fee-table th,
    .p-fee-table td {
        font-size: 1.125rem;
    }
    .p-fee-table tfoot td {
        padding-top: 3.75rem;
    }
    .p-fee-table tfoot .u-text-note {
        font-size: 1rem;
    }
}
@media screen and (min-width: 1400px) {
    .p-fee-content.__en .p-fee-table {
        table-layout: fixed;
    }
}


/* Access */
.p-access-header {
    background-image: url(../images/pages/access/access_head.png);
}
.p-access-content {
    padding-top: 5.33vw;
}
#rdoForBeppu, #rdoForOsaka {
    display: none;
}
.p-access-tab__tabs {
    width: 89.34vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.2vw;
}
.p-access-tab__tabs label {
    position: relative;
    display: block;
    cursor: pointer;
    padding-left: 4vw;
    padding-right: 4vw;
    transition: background-color .3s ease;
}
#rdoForBeppu:checked ~ .p-access-tab__tabs label[for="rdoForBeppu"],
#rdoForOsaka:checked ~ .p-access-tab__tabs label[for="rdoForOsaka"],
.p-access-tab__tabs label:hover {
    background-color: #f7f7f7;
}
.p-access-tab__tabs label span {
    display: block;
    border-bottom: 1px solid #000;
    font-size: 4vw;
    line-height: 2.3;
    font-weight: bold;
    text-align: center;
}
.p-access-tab__tabs label::after {
    position: absolute;
    display: block;
    content: '';
    width: 3.5vw;
    height: 2vw;
    background: url(../images/common/parts/icon_10.svg) no-repeat center center;
    background-size: 100% 100%;
    right: 6vw;
    top: 50%;
    transform: translateY(-50%);
}
.p-access-tab__contents {
    background-color: #f7f7f7;
    padding: 10.66vw 5.33vw;
}
.p-access-tab__item {
    display: none;
}
#rdoForBeppu:checked ~ .p-access-tab__contents .p-access-tab__item[data-for="rdoForBeppu"],
#rdoForOsaka:checked ~ .p-access-tab__contents .p-access-tab__item[data-for="rdoForOsaka"] {
    display: block;
}
.p-access-title {
    font-size: 5.33vw;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
}
.p-access-map {
    margin-top: 6.66vw;
    height: 67.7083333333vw;
}
.p-access-map iframe {
    width: 100%;
    height: 100%;
}
.p-access-address {
    margin-top: 6.66vw;
}
.p-access-address h3 {
    font-size: 3.125vw;
    line-height: 2;
    font-weight: bold;
}
.p-access-address dl {
    display: grid;
    grid-template: auto / auto 1fr;
    column-gap: 1em;
    margin: 0;
    font-size: 3.125vw;
    line-height: 2;
}
.p-access-address dl dt {
    font-weight: normal;
    margin: 0;
}
.p-access-address dl dd {
    margin: 0;
}
.p-access-address a {
    color: #000;
    text-decoration: none;
}
.p-access-link .u-hover-link {
    font-size: 3.3vw;
    font-weight: bold;
}
@media screen and (min-width: 768px) {
    .p-access-content {
        padding-top: 7.8125rem;
    }
    .p-access-tab__tabs {
        max-width: 1360px;
        gap: 10px;
    }
    .p-access-tab__tabs label {
        padding-left: 2.8rem;
        padding-right: 2.8rem;
    }
    .p-access-tab__tabs label span {
        font-size: 2rem;
    }
    .p-access-tab__tabs.__en label span {
        font-size: 1.75rem;
    }
    .p-access-tab__tabs label::after {
        width: 28px;
        height: 16px;
        right: 4.5rem;
    }
    .p-access-tab__contents {
        padding: 6rem 20px 9.25rem;
    }
    .p-access-tab__item {
        max-width: 1340px;
        margin-inline: auto;
    }
    .p-access-title {
        font-size: 2.25rem;
    }
    .p-access-map {
        margin-top: 3rem;
        height: 520px;
    }
    .p-access-address {
        margin-top: 2.75rem;
    }
    .p-access-address h3 {
        font-size: 1.375rem;
    }
    .p-access-address dl {
        margin-top: 1rem;
        font-size: 1rem;
    }
    .p-access-link .u-hover-link {
        font-size: 1.125rem;
    }
}
@media screen and (min-width: 992px) {
    .p-access-tab__tabs label span,
    .p-access-tab__tabs.__en label span {
        font-size: 2.5625rem;
    }
}


/* Reserve */
.p-reserve-header {
    background-image: url(../images/pages/reserve/reserve_head_sp.png);
}
.p-reserve-content {
    max-width: 1400px;
    margin-inline: auto;
    padding-top: 10.66vw;
    padding-bottom: 15.71vw;
}
.p-reserve-title {
    font-size: 5.33vw;
    line-height: 1.5;
    font-weight: normal;
    text-align: center;
}
.p-reserve-box1 {
    margin-top: 15vw;
    display: flex;
    flex-direction: column;
    gap: 10vw;
}
.p-reserve-box2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid #000;
    padding: 0 5.33vw;
}
.p-reserve-box2 > .__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3.99vw;
    padding: 5.33vw 0;
}
.p-reserve-box2 > .__inner + .__inner {
    border-top: 1px dashed #000;
}
.p-reserve-box2 > .__inner h3,
.p-reserve-box2 > .__inner p {
    text-align: center;
}
.p-reserve-box2 > .__inner p.__tal {
    text-align: left;
}
.p-reserve-box2 > .__inner p .u-hover-link {
    text-align: left;
}
.p-section-text1 {
    font-size: 3.73vw;
}
.p-section-text2 {
    font-size: 6.66vw;
    color: #000;
}
.p-section-text2 small {
    font-size: 4vw;
}
@media screen and (min-width: 768px) {
    .p-reserve-header {
        background-image: url(../images/pages/reserve/reserve_head.png);
    }
    .p-reserve-content {
        padding-top: 9rem;
        padding-bottom: 15rem;
    }
    .p-reserve-title {
        font-size: 1.625rem;
        text-align: left;
    }
    .p-reserve-box1 {
        margin-top: 6rem;
        gap: 5.25rem;
    }
    .p-reserve-box2 {
        padding: 0 2rem;
    }
    .p-reserve-box2 > .__inner {
        gap: 1rem;
        padding: 2rem 0;
    }
    .p-section-text1 {
        font-size: 1.625rem;
    }
    .p-section-text2 {
        font-size: 3.75rem;
    }
    .p-section-text2 small {
        font-size: 1.875rem;
    }
    .p-reserve-box2 > .__inner p .u-hover-link {
        font-size: inherit;
    }
}
@media screen and (min-width: 992px) {
    .p-reserve-box2:not(.__en) {
        display: grid;
        grid-template-columns: 43.5% 1fr;
        padding: 1.875rem 0;
    }
    .p-reserve-box2:not(.__en) > .__inner {
        gap: 1rem;
        padding: 1.5rem 2rem;
    }
    .p-reserve-box2:not(.__en) > .__inner + .__inner {
        border-top: none;
        border-left: 1px dashed #000;
    }
}
@media screen and (min-width: 1200px) {
    .p-reserve-box2.__en {
        display: grid;
        grid-template-columns: 43.5% 1fr;
        padding: 1.875rem 0;
    }
    .p-reserve-box2.__en > .__inner {
        gap: 1rem;
        padding: 1.5rem 2rem;
    }
    .p-reserve-box2.__en > .__inner + .__inner {
        border-top: none;
        border-left: 1px dashed #000;
    }
}