@charset "utf-8";

section.pt {
    padding: 10px 0 60px;
}

.coming-soon-inner.tr {
    padding: 50px 0 0;
}

.container-1500 {
    position: relative;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

/* ===================================================================
TOURISM
=================================================================== */

/* TOURISM HEADING
--------------------*/

.tourism-heading {
    margin: 0 0 30px;
    color: #0E4450;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
}

.tourism-heading.fs {
    margin: 0 0 20px;
    font-size: 24px;
}

/* TOURISM LEGACY LIST
--------------------*/

.t-legacy-list > ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.t-legacy-list > ul > li {
    position: relative;
    width: calc(100% / 3);
    height: 100%;
}

.tl-img {
    position: relative;
    width: 100%;
    padding-top: calc(100% * 333 / 500);
    overflow: hidden;
}

.tl-img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    max-width: 100%;
    max-height: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.tl-name {
    position: absolute;
    bottom: 15px;
    left: 15px;
    padding: 6px 12px 12px;
    color: #FFF;
    font-size: 30px;
    font-family: "BIZ UDMincho", serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.05em;
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.8));
}

.tl-name span {
    font-size: 20px;
}

.tl-name:before,.tl-name:after {
    content: "";
    position: absolute;
    width: 25px;
    height: 10px;
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.8));
    z-index: 1;
}

.tl-name:before {
    bottom: 0;
    left: 0;
    background: url("/assets/img/detail/tourism/common/right.webp") 50% 50% / 100% no-repeat transparent;
}

.tl-name:after {
    top: 0;
    right: 0;
    background: url("/assets/img/detail/tourism/common/left.webp") 50% 50% / 100% no-repeat transparent;
}

/* TOURISM TAB BTN
--------------------*/

.tourism-tab-btn {
    margin: 0 0 25px;
    padding: 0 0 30px;
}

.tourism-tab-btn > ul {
    display: flex;
    justify-content: center;
    column-gap: calc(26 / 1000 * 100%);
}

.tourism-tab-btn > ul > li {
    width: calc(230 / 1000 * 100%);
    max-width: 230px;
    height: 70px;
}

.tourism-tab-btn > ul > li > a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
    background: #145D6E;
    transition: opacity .3s cubic-bezier(.65,0,.45,1);
}

.tourism-tab-btn > ul > li > a:not(.active):hover {
    opacity: 0.75;
}

.tourism-tab-btn > ul > li a .trg {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 27px solid #145D6E;
    border-right: 19px solid transparent;
    border-bottom: 0;
    border-left: 19px solid transparent;
    opacity: 0;
    transition: bottom .3s cubic-bezier(.65,0,.45,1), opacity .3s cubic-bezier(.65,0,.45,1);
}

.tourism-tab-btn > ul > li a.active .trg {
    bottom: -25px;
    opacity: 1;
}

/* TOURISM TAB MNP
--------------------*/

.tourism-tab-mnp {
    position: relative;
    margin: 0 auto;
}

/* TOURISM TAB MNP LIST
--------------------*/

.tourism-tab-mnp-list {
    position: absolute;
    bottom: -15px;
    left: 0;
    width: 100%;
    opacity: 0;
    transition: bottom .3s cubic-bezier(.65,0,.45,1),opacity .3s cubic-bezier(.65,0,.45,1);
    pointer-events: none;
    z-index: 0; 
}

.tourism-tab-mnp-list.active {
    bottom: 0;
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}

.tourism-tab-mnp-list > ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 30px;
    row-gap: 15px;
}

.tourism-tab-mnp-list > ul > li > a {
    color: #FFF;
    font-weight: 700;
    letter-spacing: 0.05em;
    transition: color .3s cubic-bezier(.65,0,.45,1);
}

.tourism-tab-mnp-list > ul > li > a:hover {
    color: #FF0102;
}

/* SPOT LIST
--------------------*/

.spot-list {
    display: none;
}

.spot-list.active {
    display: block;
}

.spot-list > ul {
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.spot-list > ul > li {
    padding: 50px 0 0;
}

.spot-list > ul > li:first-of-type {
    scroll-margin-top: 70px;
}

/* MNP HEAFING
--------------------*/

.mnp-heading {
    position: relative;
    margin: 0 0 30px;
    padding: 0 0 15px;
    color: #FFF;
    font-size: 50px;
    font-family: "BIZ UDMincho", serif;
    font-style: normal;
	font-weight: 700;
    letter-spacing: 0.05em;
    overflow: hidden;
}

.mnp-heading:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #FFF;
}

/* TOURISM LIST
--------------------*/

.tourism-list > ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: calc(30 / 1000 * 100%);
    row-gap: 30px;
}

.tourism-list > ul > li {
    width: calc(485 / 1000 * 100%);
    max-width: 485px;
}

.tourism-list-info {
    display: grid;
    grid-template-columns: 170px 1fr;
    grid-template-rows: max-content 1fr;
    grid-auto-rows: auto;
    align-items: start;  
    column-gap: 15px;
    width: 100%;
    max-width: 460px;
    padding: 20px 20px 40px;
    background: #FFF;
}

.tourism-list-info.w100 {
    grid-template-columns: 1fr 1fr;
}

.tourism-list-info.l-none {
    padding: 20px 20px 20px;
}

.tourism-list-img {
    position: relative;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    width: 170px;
    height: 170px;
    overflow: hidden;
}

.tourism-list-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    max-width: 100%;
    max-height: 100%;
    transform: translate(-50%, -50%);
    transition: transform .3s cubic-bezier(.65,0,.45,1);
    object-fit: cover;
}

.tourism-list-top {
    grid-row: 1 / 2;
    align-items: start;  
}

.text-s {
    font-size: 12px;
    letter-spacing: 0.05em;
}

.text-m {
    font-size: 14px;
    letter-spacing: 0.05em;
}

.text-l {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.text-s.mt-10,
.text-m.mt-10,
.text-l.mt-10 {
    margin: 10px 0 0;
}

.text-link {
    display: inline-block;
    color: #0000EE;
    text-decoration: underline #0000EE;
}

.tourism-list-bottom {
    grid-row: 2 / 3;
    align-items: start;  
    margin: 10px 0 0;
}

.tourism-list-link {
    width: fit-content;
    margin: -20px 0 0 auto;
}

.tourism-list-info.w100 .tourism-list-top,
.tourism-list-info.w100 .tourism-list-bottom {
  grid-column: 1 / -1;
}

/* LINK
--------------------*/

.link-inner.mt {
    margin: 30px auto 0;
}

/* TOURISM IMG
--------------------*/

.tourism-img {
    width: 100%;
    max-width: 468px;
    margin: 0 auto;
}

/* MODAL
--------------------*/

.iziModal,
.iziModal * {
  box-shadow: none !important;
}

.iziModal,
.iziModal .iziModal-content,
.iziModal .iziModal-header,
.iziModal .iziModal-body {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.izi-modal {
    display:none;
}

.iziModal-content {
    color: #FFF;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    letter-spacing: 0.05em;
}

.iziModal-content a {
    display: inline-block;
}

.iziModal-content a span {
    display: inline-block;
    padding: 0 0 0 8px;
    font-size: 18px;
    font-weight: 700;
}

.iziModal-overlay {
    background: rgba(20, 93, 110, 0.95) !important;
}

.modal-inner {
    padding: 0 0 20px;
}

/* SWIPER
--------------------*/

.tourism-slider {
    position: relative;
    overflow: hidden;
}

#tourism_slider .swiper-wrapper{
    transition-timing-function: linear !important;
    will-change: transform;
}

.tourism-slider .swiper {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.tourism-slider .swiper-slide {
    display: flex;
    justify-content: center;
    width: 100%;
    min-width: 800px;
}

.tourism-swiper-operation .swiper-button-next,
.tourism-swiper-operation .swiper-button-prev {
    width: 50px;
    height: 50px;
    margin: 0;
    background: #B5CDD3;
    transition: opacity .3s ease-out 0s;
}

.tourism-swiper-operation .swiper-button-next {
    right: 0
}

.tourism-swiper-operation .swiper-button-prev {
    left: 0;
}

.tourism-swiper-operation .swiper-button-next:before,
.tourism-swiper-operation .swiper-button-prev:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 20px;
    background: url("/assets/img/detail/tourism/common/arrow.svg") 50% 50% / contain no-repeat, transparent;
}

.tourism-swiper-operation .swiper-button-prev:before {
    transform: translate(-50%, -50%) rotate(180deg);
}

.tourism-swiper-operation .swiper-button-next:hover,
.tourism-swiper-operation .swiper-button-prev:hover{
    opacity: .7;
}

.tourism-swiper-operation .swiper-button-next:after,
.tourism-swiper-operation .swiper-button-prev:after {
    content: none;
}

.tourism-swiper-operation .swiper-button-next.swiper-button-disabled,
.tourism-swiper-operation .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}

@media screen and (max-width : 1023px) {

    section.pt {
        padding: 0 0 40px;
    }

    .container-1500 {
        max-width: 500px;
    }

    /* ===================================================================
    TOURISM
    =================================================================== */

    /* TOURISM HEADING
    --------------------*/

    .tourism-heading {
        font-size: 24px;
    }

    /* TOURISM LEGACY LIST
    --------------------*/

    .t-legacy-list > ul {
        justify-content: center;
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }

    .t-legacy-list > ul > li {
        width: 100%;
    }

    .tl-name {
        font-size: 22px;
    }

    .tl-name span {
        font-size: 15px;
    }

    .tl-name:before,.tl-name:after {
        width: 20px;
        height: 8px;
    }

    /* TOURISM TAB BTN
    --------------------*/

    .tourism-tab-btn {
        margin: 0 0 20px;
        padding: 0 0 20px;
    }

    .tourism-tab-btn > ul {
        display: flex;
        justify-content: center;
        column-gap: calc(8 / 345 * 100%);
    }

    .tourism-tab-btn > ul > li {
        width: calc(80 / 345 * 100%);
        max-width: 80px;
        height: 64px;
    }

    .tourism-tab-btn > ul > li > a {
        font-size: 16px;
    }

    .tourism-tab-btn > ul > li > a:not(.active):hover {
        opacity: 1;
    }

    .tourism-tab-btn > ul > li a.active .trg {
        bottom: -20px;
    }

    /* TOURISM TAB MNP LIST
    --------------------*/

    .tourism-tab-mnp-list > ul {
        column-gap: 25px;
    }

    .tourism-tab-mnp-list > ul > li > a {
        font-size: 13px;
    }

    .tourism-tab-mnp-list > ul > li > a:hover {
        color: #FFF;
    }

    /* SPOT LIST
    --------------------*/

    .spot-list > ul > li {
        padding: 40px 0 0;
    }

    .spot-list > ul > li:first-of-type {
        scroll-margin-top: 0;
    }

    /* MNP HEADING
    --------------------*/

    .mnp-heading {
        margin: 0 0 20px;
        padding: 0 0 10px;
        font-size: 30px;
    }

    .mnp-heading:before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: #FFF;
    }

    /* TOURISM LIST
    --------------------*/

    .tourism-list > ul {
        column-gap: 0;
        row-gap: 20px;
    }

    .tourism-list > ul > li {
        width: 100%;
        max-width: 345px;
    }

    .tourism-list-info {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        column-gap: calc(15 / 315 * 100%);
        padding: 15px 15px 40px;
    }

    .tourism-list-info.l-none {
        padding: 15px 15px 15px;
    }

    .tourism-list-top {
        flex: 1;
    }
    
    .text-s {
        font-size: 10px;
    }
    
    .text-m {
        font-size: 12px;
    }
    
    .text-l {
        font-size: 14px;
    }
    
    .text-s.mt-10,
    .text-m.mt-10,
    .text-l.mt-10 {
        margin: 10px 0 0;
    }

    .tourism-list-bottom {
        flex: 1 1 100%;
        margin: 10px 0 0;
    }
    
    .tourism-list-link {
        width: fit-content;
        margin: -20px auto 0
    }

    /* LINK
    --------------------*/

    .link-inner.mt {
        margin: 20px auto 0;
    }

    /* TOURISM IMG
    --------------------*/

    .tourism-img {
        max-width: 234px;
    }

    /* MODAL
    --------------------*/

    .modal-inner {
        padding: 0 15px 20px;
    }

    /* SWIPER
    --------------------*/

    .tourism-slider .swiper {
        width: 100%;
        max-width: 100%;
    }

    .tourism-slider .swiper-slide {
        width: 100%;
        min-width: unset;
    }

    .tourism-swiper-operation {
        display: flex;
        justify-content: space-between;
        margin: 15px auto 0;
    }

    .tourism-swiper-operation .swiper-button-next,
    .tourism-swiper-operation .swiper-button-prev {
        position: relative;
        width: 30px;
        height: 30px;
    }

    .tourism-swiper-operation .swiper-button-next:before,
    .tourism-swiper-operation .swiper-button-prev:before {
        width: 8px;
        height: 16px;
    }

    .tourism-swiper-operation .swiper-button-next:hover,
    .tourism-swiper-operation .swiper-button-prev:hover{
        opacity: 1;
    }

}