@charset "utf=8";

/*=============================
日本語
=============================*/

/*========= cover =========*/

.cover-frame {
    width: 100%;
    position: relative;
}

.cover-mask-block {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background: var(--mask-black);
    z-index: 1;
}

/* cover text */

.cover-text-block {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 15.5%;
    left: 0;
    margin: auto;
    z-index: 10;
}

.cover-text-block .text-shadow {
    text-shadow: var(--text-shadow-black)
}

.cover-text-block h1 {
    font-size: 5.5rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    text-align: center;
}

.cover-text-block h1 br {
    display: none;
}

/* cover navi */

.cover-navi-block {
    position: absolute;
    max-width: 128.5rem;
    width: 100%;
    top: auto;
    right: 0;
    bottom: 3%;
    left: 0;
    margin: auto;
    padding: 0 1.5rem;
    z-index: 10;
}

.cover-navi-row, .cover-navi-left, .cover-navi-right {
    display: flex;
}

.cover-navi-row {
    justify-content: space-between;
    align-items: center;
}

.cover-navi-left {
    justify-content: center;
    align-items: flex-end;
    width: 47.01%;
    padding: 0 0 2rem 0;
}

.cover-navi-link {
    position: relative;
    width: 14rem;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.15em;
    text-align: center;
    padding: 0 0 .2rem 0;
}

.cover-navi-link:first-child {
    width: 17rem;
    padding: 0 3rem 0 0;
    text-align: center;
}

.cover-navi-link:after {
    content: "";
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 0.1rem;
    height: 2.5rem;
    background: var(--white);
    z-index: 10;
}

.cover-navi-link.white {
    color: var(--white);
}

.cover-navi-link span {
    font-size: 1.3rem;
}

.cover-navi-link-small {
    font-size: 1.6rem !important;
}

.ko-KR .cover-navi-link {
    font-size: 1.8rem;
}

/* cover navi btn */

.cover-navi-right {
    justify-content: space-between;
    align-items: center;
    width: 50.6%;
}

.cover-navi-ec-link {
    max-width: 26rem;
    width: 40.94%;
    height: 6rem;
	font-size: 2rem;
    line-height: 1.45em;
}

.cover-navi-ec-link figure {
    max-width: 3.1rem;
}

.cover-navi-btob-link {
    margin: 0 1.5rem 0 0;
}

.cover-navi-instagram-link {
    display: block;
    max-width: 30px;
    width: 100%;
}

/* swiper btn */

.cover .swiper-pagination, .cover .swiper-button-prev, .cover .swiper-button-next {
    display: none;
}


/*========= top01 news =========*/

.top01 {
    padding: 6.5rem 0;
}

.top01-btn {
    margin: 3rem 0 0;
}

.top01-row {
    max-width: 122rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top01-right {
    width: 20%;
}

.top01-left {
    width: 72.3%;
}

.top-news-row:nth-child(n+2) {
    margin: 1.6rem 0 0;
}

.top-news-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.top-news-link:nth-child(n+2){
    margin: 0 1.6rem 0 0;
}

.top-news-link .date {
    font-family: var(--font-family01);
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    margin: 0 6rem 0 0;
}

.top-news-link .tit {
    font-size: 1.6rem;
}

.top-news-link:hover .tit {
    text-decoration: underline;
}

/*========= top02 =========*/

.top02 {
    position: relative;
    padding: 0 0 10rem 0;
}

.top02-frame {
    max-width: 155rem;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding: 13rem 0 4rem;
    z-index: 10;
}

.top02-img-box {
    max-width: 117.6rem;
    width: 80%;
    margin: 0 0 0 auto;
}

.top02-text-block {
    max-width: 68.5rem;
    width: 40%;
    margin: 4rem 0 0;
}

.top02-text-box:nth-child(n+2) {
    margin: 1.8rem 0 0;
    line-height: 2.2em;
}

.top02-text-box .text-underline {
    position: relative;
}

.top02-text-box .text-underline {
    display: inline;
    border-bottom: 1px solid var(--gray01);
    line-height: 2.2em;
}

/*========= top03 =========*/

.top03-frame {
    max-width: 172rem;
    width: 95%;
    margin: 0 auto 0 0;
}

.top03-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.top03-left {
    max-width: 100rem;
    width: 58.14%;
}

.top03-right {
    max-width: 660rem;
    width: 38.37%;
}

.top03-text-box {
    margin: 4rem 0 0;

}

.top03-btn {
    margin: 4rem 0 0 auto;
    text-align: right;
}

/*========= top04 =========*/

.top04 {
    padding: 13rem 0 16rem;
}

.top04 .btn01 {
	padding: 0 5.8rem 1rem 0;
}

.top04-title-box {
    text-align: center;
}

.top04-text-box {
    margin: 4rem 0 0;
    text-align: center;
}

.top04-row {
    margin: 3rem auto 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    max-width: 115rem;
    width: 100%;
}

.top-menu-link {
    display: flex;
    align-items: center;
    justify-content: center; 
    flex-direction: column;
}

.top-menu-link:nth-child(2) {
    margin: 0 11rem 0 7.6rem;
}

.top-menu-img-box figure {
    display: flex;
    align-items: center;
    justify-content: center;  
}

.top-menu-img-box03 {
    max-width: 184px;
    width: 100%;
    margin: 0 auto;
}

.top-menu-link:hover .btn01.white:before {
    background: var(--white);
}

.top-menu-link:hover .btn01-arrow:after {
    right: -.5rem;
}

.top-menu-link:first-child .top04-btn {
    margin: 4.2rem 4rem 0 0;
}

.top04-btn {
    margin: 4.2rem 0 0;
}


/*========= top05 souvenir =========*/

.top05 {
    position: relative;
}

/*.top05-row  {
    display: flex;
    align-items: center;
    justify-content: space-between;  
}*/

.top05-img-box {
    max-width: 120.8rem;
    width: 80%;
    margin: 0 0 0 auto;
}

.top05-text-contents {
    max-width: 172rem;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    margin: auto;
    padding: 16.2rem 0;
    z-index: 10;
}

.top05-text-block {
    max-width: 60rem;
    width: 100%;
    margin: 3rem 0 0;
}

.top05-btn {
    margin: 4rem 0 0 auto;
    text-align: right;
}

/*========= top06 ec =========*/

.top06 {
    padding: 13rem 0 10rem;
}

.top06-frame {
    max-width: 122rem;
    width: 100%;
    margin: 0 auto;
}

.top06-text {
    font-size: 2.5rem;
    font-weight: 600;
    text-align: center;
}

.top06-text br {
    display: none;
}

.top06-ec-link {
    max-width: 63rem;
    width: 100%;
    height: 10rem;
	font-size: 3.5rem;
    margin: 1.5rem auto 0;
}

.top06-ec-link figure {
    margin: 0 1.5rem 0 0;
}

.top06-btn02 {
    margin: 5rem auto 0;
    text-align: center;
}

.top06-row {
    margin: 10rem 0 0;
}

.top06-instagram-img-link {
    display: block;
    transition: .3s all;
}

.top06-instagram-img-link:hover {
    filter: brightness(1.2);
    transition: .3s all;
}

.top06-instagram-btn {
    font-family: var(--font-family01);
    font-size: 2rem;
    margin: 5rem 0 0;
}

.top06-instagram-btn figure {
    max-width: 3rem;
    width: 100%;
    margin: 0 1.5rem 0 0;
}

.top06-instagram-btn:hover {
    text-decoration: underline;
}

/*=============================
英語
=============================*/

.en-US .cover-text-block h1 br {
    display: block;
}

.en-US .jp-title01 {
    font-size: 3rem;
}


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1920px) {

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {

    .top02-text-contents.padding-x {
        padding: 0 4rem;
    }

    .top02-img-box {
        width: 66%;
    }

    .top-menu-link {
        width: 30%;
    }

    .top-menu-link:nth-child(2) {
        margin: 0;
    }

    .top-menu-img-box02 {
        width: 70%;
    }

    .top-menu-img-box03 {
        width: 50%;
    }

    .top05-text-contents {
        padding: 16.2rem 4rem;
    }
    

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

    .cover-text-block {
        bottom: 22%;
    }

    .cover-text-block h1 {
        font-size: 4rem;
    }

    .cover-navi-link {
        font-size: 1.5rem;
    }

    .cover-navi-link span {
        font-size: 1.2rem;
    }

    .ko-KR .cover-navi-link {
        font-size: 1.6rem;
    }

    .cover-navi-link-small {
        font-size: 1.4rem !important;
    }

    .ec-link {
        font-size: 1.6rem;
    }

    .btob-link {
        font-size: 1.4rem;
    }

    /* .top01 {
        padding: 10rem 0;
    } */

    .top02 {
        padding: 0 0 10rem 0;
    }

    .top02-frame {
        position: static;
        padding: 0;
    }

    .top02-text-block {
        width: 100%;
    }

    .top02-img-box {
        width: 70%;
    }

    .top03-right {
        width: 78%;
    }
    
    .top03-text-box .text01 br {
        display: none;
    }

    .top04 {
        padding: 10rem 0 12rem;
    }
    
    .top05-img-box {
        width: 74%;
    }

    .top05-text-contents {
        padding: 2.2rem 3rem;
    }

    .top05-text-block {
        width: 42%;
    }

    .top06 {
        padding: 10rem 0 8rem;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {

    .main-visual-img-sp img {
        width: 100%;
        height: 85vh !important;
        object-fit: contain;
        background: #151713;
        padding-bottom: 6.5rem;
    }

    .cover-text-block {
        bottom: 8%;
    }

	.cover-text-block h1 {
        font-size: 3.5rem;
    }

	.cover-text-block h1 br {
        display: block;
    }

    .top01 {
        padding: 5rem 0;
    }

    .top01-row {
        flex-direction: column;
    }

    .top01-right, .top01-left {
        width: 100%;
        text-align: center;
    }

    .top01-left {
        margin: 4rem auto 0;
    }

    .top01-btn {
        margin: 4rem auto 0;
    }
    
    .top02, .top03 {
        padding: 0 0 8rem 0;
    }
    
    .top02-img-box {
        width: 100%;
    }

    .top03-frame, .top03-left, .top03-right {
        width: 100%;
    }

    .top03-row, .top04-row {
        flex-direction: column;
        align-items: center;
    }

    .top03-right {
        margin: 4rem 0 0;
        padding: 0 1.5rem;
    }

    .top03-btn, .top05-btn {
        text-align: center;
    }

    .top04 {
        padding: 8rem 0 10rem;
    }

    .top-menu-link, .top-menu-img-box02, .top-menu-img-box03 {
        width: 100%;
        margin: 0 auto;
    }

    .top-menu-link {
        margin: 5rem 0 0;
    }

    .top-menu-link:nth-child(2) {
        margin: 5rem 0 0;
    }

    .top05-img-box {
        width: 100%;
    }

    .top05-text-contents {
        position: static;
        margin: 4rem 0 0;
        padding: 0 1.5rem;
    }

    .top05-text-block {
        max-width: 80rem;
        width: 100%;
    }

    .top06 {
        padding: 8rem 0;
    }

    .top06-text br {
        display: block;
    }


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {

    .cover-text-block {
        bottom: 8%;
        padding: 0 0.35rem;
    }

	.cover-text-block h1 {
        font-size: 3.5rem;
    }

	.cover-text-block h1 br {
        display: block;
    }

    .top02-text-contents.padding-x {
        padding: 0 2rem;
    }

    .top04-text-box .text01 {
        text-align: left;
    }

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */