@charset "UTF-8";
:root {
    --col-main-blue: #002d4d;
    --col-base-wht: #fff;
    --col-base-blk: #333;
    --col-base-gry: #666;
    --col-light-gry: #cbcbcb;
    --font-basic: "Noto Sans JP", sans-serif;
    --font-en: "Poppins", sans-serif;
    --mg10: calc(10 / 16 * 1rem);
    --mg15: calc(15 / 16 * 1rem);
    --mg20: calc(20 / 16 * 1rem);
    --mg30: calc(30 / 16 * 1rem);
    --mg40: calc(40 / 16 * 1rem);
    --mg50: calc(50 / 16 * 1rem);
    --font-size12: calc(12 / 16 * 1rem);
    --font-size14: calc(14 / 16 * 1rem);
    --font-size16: calc(16 / 16 * 1rem);
    --font-size18: calc(18 / 16 * 1rem);
    --font-size20: calc(20 / 16 * 1rem);
    --font-size24: calc(24 / 16 * 1rem);
    --font-size36: calc(36 / 16 * 1rem);
    --font-size60: calc(60 / 16 * 1rem);
    --font-size80: calc(80 / 16 * 1rem);
    --header-height: 80px;
}
body,p,td,th,ol,ul,h1, h2, h3, h4, h5, h6{
    margin: 0;
    padding: 0;
}
body {
    background-color: var(--col-base-wht);
    font-family: var(--font-basic);
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.02em;
    font-size: var(--font-size16);
    line-height: 1;
}
ol,ul{
    list-style: none
}
img {
    width: 100%;
    vertical-align: middle;
}
a {
    border: 0;
    text-decoration: none;
    color: var(--col-main-blue);
    cursor: pointer;
}
small {
    font-size: 80%;
}

.fadeIn {
    opacity : 0;
    transform : translate(0, 20px);
    transition : all 1s;
}
.fadeIn.active{
    opacity : 1;
    transform : translate(0, 0);
}
.pc_none {
    display: none;
}
.sp_none {
    display: block;
}


/* common */
.flex_container {
    display: flex;
    flex-wrap: wrap;
}
.grid_container {
    display: grid;
}
.inner {
    width: min(90.67vw,1200px);
    margin: 0 auto;
    padding-top: min(5vw, 100px);
}

/* Link Buttom */
.gnavi ul li a {
    position: relative;
    display: inline-block;
    color: var(--col-base-wht);
}
.gnavi li a::after {
    content: '';
    position: absolute;
    bottom: 1.2rem;
    left: 0;
    width: 100%;
    height: 0.05rem;
    background: var(--col-base-wht);
    transition: all .5s;
    transform: scale(0, 1);
    transform-origin: left top;
}
.gnavi li.current a::after{
    transform: scale(1, 1);
}
.btn{
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    border-radius: 40px;
    border: 1px solid var(--col-main-blue);
    padding: 14px 40px;
    text-align: center;
    outline: none;
    transition: ease .3s;
}
.link_btn .btn span {
    position: relative;
    z-index: 3;
    color:var(--col-main-blue);
    display: flex;
    align-items: center;
    gap: 1rem;
}
.link_btn .bgleft:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: var(--col-main-blue);
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}
.link_btn .btn span::before{
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid var(--col-main-blue);
    border-bottom: 1px solid var(--col-main-blue);
    transform:rotate(-45deg);  
    -webkit-transform: rotate(-45deg);
    display: inline-block;
}
.google {
    margin-top: 2rem;
    text-align: center;
}
.google .btn {
    padding: 14px 60px;
}
.google .btn span {
    position: relative;
    z-index: 3;
    color:var(--col-main-blue);
    display: flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--font-en);
}
.google .bgleft:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: var(--col-main-blue);
    width: 100%;
    height: 100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}
.google .btn span::after{
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid var(--col-main-blue);
    border-bottom: 1px solid var(--col-main-blue);
    transform:rotate(-45deg) translateY(-50%);  
    -webkit-transform: rotate(-45deg) translateY(-50%);
    display: inline-block;
    position: absolute;
    top: 50%;
    right: -27%;
}
.arrow_R::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid var(--col-base-blk);
    border-bottom: 1px solid var(--col-base-blk);
    transform:rotate(-45deg);  
    -webkit-transform: rotate(-45deg);
    display: inline-block;
}
.head_list li a,
.foot_list li {
    position: relative;
    display: inline-block;
}
.head_list li a::after {
    content: '';
    position: absolute;
    bottom: -0.4rem;
    left: 0;
    width: 100%;
    height: 0.03rem;
    background: var(--col-base-wht);
    transition: all .5s;
    transform: scale(0, 1);
    transform-origin: left top;
}
.foot_list li::after {
    content: '';
    position: absolute;
    bottom: -0.2rem;
    left: 0;
    width: 100%;
    height: 0.03rem;
    background: var(--col-base-wht);
    transition: all .5s;
    transform: scale(0, 1);
    transform-origin: left top;
}

/* pc_top */
#index_header{
    width: min(1600px,calc(100% - 5vw));
    margin: 0 auto;
}
#index_header .hamburger{
    display: none;
}
#index_header h1 {
    z-index: 999;
    position: relative;
}
#index_header h1 img{
    width: min(420px, 20vw);
    position: absolute;
    top: min(4vw,60px);
    left: 0;
}
#index_visual {
    background-color: var(--col-main-blue);
}
#index_visual .index_inner{
    position: relative;
    display: grid;
    margin: 0 auto;
    padding: min(4vw,60px) 0;
    grid-template-columns: 40% 60%;
    align-items: end;
    width: min( 1600px,calc(100% - 5vw));
}
#index_visual .kv {
    position: relative;
    grid-row: 1;
}
#index_visual .swiper {
    width: min(90.67vw,100%);
    height: auto;
    border-radius: 10px;
    position: relative;
    z-index: 9999;
    filter: drop-shadow(0.25rem 0.25rem 1rem rgba(0,0,0,.2));
}
#index_visual .swiper img {
    vertical-align: bottom;
}
#index_visual .swiper-pagination {
    position: absolute;
    left: 0;
    bottom: -1.2rem;
    text-align: left;
    display: flex;
    align-items: center;
    z-index: 99999;
}
#index_visual .swiper-pagination-bullet {
    background-color: var(--col-base-wht);
    opacity: 1;
}
#index_visual .swiper-pagination-bullet-active {
    border: 1px solid var(--col-base-wht);
    background-color: transparent;
}
#index_visual .kv .instagram {
    position: absolute;
    top: -23px;
    right: -10px;
    z-index: 99991;
}
#index_visual .kv .instagram > a {
    display: flex;
    align-items: center;
    background: linear-gradient(120deg,rgba(77, 56, 221, 1) 0%, rgba(255, 46, 115, 1) 50%, rgba(255, 168, 55, 1) 100%);
    border: 1px solid var(--col-base-wht);
    border-radius: 9999vw;
    padding: 0.6rem 1.5rem;
    color: var(--col-base-wht);
    font-size: var(--font-size14);
    font-weight: 600;
}
#index_visual .kv .instagram > a > img {
    width: min(25px, 2.38vw);
    padding-right: 10px;
}
#index_visual .bg_logo {
    position: absolute;
    left: min(23vw,320px);
    bottom: min(7vw,100px);
    z-index: 999;
    width: min(440px,24vw);
}
#index_visual .menu_wrapper {
    grid-row: 1;
    grid-column: 1;
    position: relative;
    z-index: 999999;
}
.gnavi ul li{
    font-family: var(--font-en);
    font-size: var(--font-size18);
    color: var(--col-base-wht);
    font-weight: 600;
    padding-top: min(2vw,30px);
}
.gnavi ul li span{
    font-size: var(--font-size12);
    padding-top: 0.6rem;
    color: #ebebeb;
    font-weight: 400;
    display: inline-block;
}
.gnavi .lang {
    width: min(200px,16vw);
    position: absolute;
    bottom: -70px;
    left: 0;
    z-index: 99999;
}
.gnavi .lang .gt_options,
.gnavi .lang .gt-open{
    max-width: 100%!important;
}
.gnavi .lang .gt_float_switcher .gt-selected .gt-current-lang {
    padding: 6px 10px;
}
.gnavi .lang .gt_float_switcher .gt_options a {
    font-size: 13px;
    padding: 6px 10px;
}
#index_visual .data {
    margin-top: var(--mg20);
    grid-column: 2 / 3;
    display: inline-block;
}
#index_visual .data .flex_container{
    width: fit-content;
    background-color: var(--col-base-wht);
    border-radius: 4rem;
    margin: 0 0 0 auto;
    justify-content: center;
    gap: 1.2rem;
    color: var(--col-main-blue);
    padding: 0.6rem 2.0rem;
}
#index_visual .data .flex_container p{
    display: flex;
    align-items: center;
    font-size: clamp(var(--font-size14),0.74vw, var(--font-size16));
}
#index_visual .data .flex_container p > span {
    padding-left: 20px;
}
#index_visual .data .flex_container p .ico_time {
    background: url( "../../_assets/img/common/ico_time_nvy.png" ) top left / contain no-repeat;
}
#index_visual .data .flex_container p .ico_closed {
    background: url( "../../_assets/img/common/ico_date_nvy.png" ) top left / contain no-repeat;
}
#index_visual .data > p {
    text-align: right;
    padding-top: var(--mg10);
    font-size: var(--font-size12);
    color: var(--col-base-wht);
}

/* PC_Top-content */
.inner .hedding {
    font-family: var(--font-en);
    color: var(--col-main-blue);
    font-size: min( var(--font-size80),4vw);
    font-weight: 600;
    margin-bottom: var(--mg40);
}
#index_news .inner{
    gap: var(--mg50);
    flex-wrap: nowrap;
}
#index_news .inner .news_contents {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: end;    
}
#index_news .inner .news_contents .news_box{
    width: 100%;
    position: relative;
    padding: 0 0 var(--mg20) ;
    border-bottom: 0.25px solid var(--col-base-gry);
}
#index_news .inner .news_contents .news_box a {
    color: var(--col-base-blk);
}
#index_news .inner .news_contents .news_box + .news_box{
    padding: var(--mg20) 0;
}
#index_news .inner .news_contents .news_box .date {
    color: var(--col-base-gry);
    padding-bottom: var(--mg10);
}
#index_news .inner .news_contents .news_box .title {
    width: 95%;
    line-height: 1.4;
}
#index_news .inner .news_contents .news_box a::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 1px solid var(--col-base-blk);
    border-bottom: 1px solid var(--col-base-blk);
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
}
#index_news .inner .news_contents .link_btn {
    margin-top: var(--mg20);
}
#index_search {
    width: min( 1400px,calc(100% - 5vw));
    margin: min(7vw, 100px) auto 0;
    border-radius: 10px;
    background-color: var(--col-main-blue);
    padding: min(4vw, 80px) 0;
}
#index_search .inner{
    padding: 0;
}
#index_search .search_title p {
    color: var(--col-base-wht);
    font-weight: 600;
}
#index_search a {
    color: var(--col-base-blk);
}
#index_search .hedding {
    color: var(--col-base-wht);
}
#index_search .grid_container {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: var(--mg20);
}
#index_search .grid_item {
    background-color: var(--col-base-wht);
    border-radius: 5px;
    transition: .3s all;
}
#index_search .grid_item img {
    border-radius: 0 0 5px 5px;
}
#index_search .grid_item .text{
    position: relative;
    text-align: center;
    padding: var(--mg15) 0;
}
#index_search .grid_item .text p{
    font-weight: 600;
}
#index_search .grid_item .text .arrow_R::after{
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
}
#index_guide .hedding {
    margin: 0;
}
#index_guide .inner > .flex_container {
    align-items: center;
    justify-content: space-between;
}
#index_guide .inner > .grid_container {
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--mg30);
    margin-top: var(--mg30);
}
#index_guide .floor_image img {
    border-radius: 5px;
}
#index_guide .floor_image {
    position: relative;
}
#index_guide .floor_image a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,.7);
    border-radius: 5px;
    transition: all 0.6s;
}
#index_guide .floor_image .image_floor {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#index_guide .floor_image .image_floor p{
    color: var(--col-base-wht);
    font-size: var(--font-size36);
    font-family: var(--font-en);
}
#index_guide .floor_image .image_floor p span{
    font-size: var(--font-size24);
}
#index_guide .floor_image .image_floor .arrow_R::before{
    content: "";
    border: 1px solid var(--col-base-wht);
    width: 26px;
    height: 26px;
    border-radius: 16px;
    position: absolute;
    top: 50%;
    right: -3rem;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#index_guide .floor_image .image_floor .arrow_R::after{
    position: absolute;
    top: 50%;
    right: -1.7rem;
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%)rotate(-45deg);
    border-right: 1px solid var(--col-base-wht);
    border-bottom: 1px solid var(--col-base-wht);
}
#index_guide .floor_description p{
    padding: var(--mg20) 0;
    line-height: 1.8;
    letter-spacing: 0.04em;
    text-align: justify;
}
#index_about .about_text {
    margin: 0 0 var(--mg30);
}
#index_about .about_text p{
    font-size: var(--font-size20);
    font-weight: 400;
    line-height: 2;
}
#index_access .inner {
    padding-bottom: min(5vw, 100px);
}
#index_access .flex_container {
    gap: var(--mg30);
    flex-wrap: nowrap;
}
#index_access .access_map {
    flex: 1.5;
}
#index_access .access_map p {
    text-align: center;
    padding: min(20px,2vw) 0 min(30px,2vw);
    line-height: 1.6;
}
#index_access .access_detail {
    flex: 1;
}
#index_access .access_wrapper {
    margin-bottom: min(4vw,30px);
}
#index_access .access_wrapper > .title {
    font-family: var(--font-en);
    font-size: var(--font-size20);
    color: var(--col-main-blue);
    font-weight: 600;
    border-bottom: 2px solid var(--col-main-blue);
    padding-bottom: 5px;
    margin-bottom: 10px;
}
#index_access .access_wrapper > .service {
    margin: 20px 0;
}
#index_access .access_wrapper span.lost {
    display: block;
    margin-top: 10px;
    font-size: var(--font-size12);
    line-height: 1.6;
}
#index_access .access_detail p {
    line-height: 1.6;
}
#index_access .access_detail .address {
    padding-bottom: var(--mg20);
    border-bottom: 1px solid var(--col-base-blk);
}
#index_access .access_title {
    font-weight: 600;
    color: var(--col-main-blue);
    padding: 15px 0 10px;
}
#index_access .access_how + .access_how {
    padding-top: min(2vw,20px);
}
#index_access .access_how ul + ul {
    margin-top: min(3vw,20px);
}
#index_access .access_how ul .type{
    padding-bottom: 0.25rem;
}
#index_access .access_how ul li p span {
    font-size: var(--font-size12);
    color: var(--col-base-gry);
}
#index_access .access_detail .small {
    font-size: var(--font-size12);
    padding-top: 20px;
}
#footer {
    background-color: var(--col-main-blue);
}
#footer a {
    color: var(--col-base-wht);
}
#footer .head,
#footer .foot {
    width: min( 1600px,calc(100% - 5vw));
    margin: 0 auto;
    color: var(--col-base-wht);
    font-size: min(var(--font-size14),3vw);
    gap: min(3vw,var(--mg50));
}
#footer > .flex_container.head {
    padding: var(--mg50) 0 var(--mg30);
    align-items: flex-start;
}
#footer .flex_container .head_info .logo{
    width: min(250px,22vw);
}
#footer .head_banner{
    display: flex;
    flex-wrap: wrap;
    gap: min(2vw,20px);
    margin: 0 0 0 auto;
    flex: 1;
}
#footer .head_banner .banner_item{
    width: min(430px,30vw);
}
#footer .head_info .info {
    margin: var(--mg20) 0;
}
#footer .head_info .info p {
    align-items: center;
    vertical-align: middle;
    display: inline-block;
}
#footer .head_info .info p span{
    padding-left: var(--mg30);
    line-height: 1.6;
}
#footer p .ico_map {
    background: url( "../../_assets/img/common/ico_map_wht.png" ) top 0.4px left 3px / 14px no-repeat;
}
#footer p .ico_time {
    background: url( "../../_assets/img/common/ico_time_wht.png" ) top 2px left 1px / 17px no-repeat;
}
#footer .head_info .small {
    font-size: var(--font-size12);
}
#footer .head_list {
    flex: 2;
}
#footer .head_list ul li {
    font-family: var(--font-en);
    font-size: min(var(--font-size16),3vw);
    margin-bottom: var(--mg20);
}
#footer .head_list ul li span{
    font-size: min(var(--font-size12),2.6vw);
    display: inline-block;
    padding-top:min(10px,0.5vw)
}
#footer .foot_wrapper{
    border-top: 1px solid var(--col-base-wht);
}
#footer .flex_container.foot {
    justify-content: space-between;
    padding: var(--mg20) 0;
}
#footer .foot_list {
    display: flex;
    gap: var(--mg20);
    font-size: var(--font-size12);
}
button {
    margin: 0;
    padding: 0;
    outline: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    vertical-align: middle;
    text-align: inherit;
    font: inherit;
    -webkit-appearance: none;
    appearance: none;
}

#anniversary {
    position: fixed;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    width: 100vw;
    height: 100vh;
    background-color: rgba(255,255,255,.9);
    z-index: 999999;
}
#anniversary > .wrap {
    position: relative;
    width: 73.88%;
}
#anniversary video {
    width: 100%;
    max-width: 100%;
}
#anniversary .modal_close {
    position: absolute;
    top: -2.71vw;
    right: -1.86vw;
    width: 1.55vw;
    cursor: pointer;
}


@media (any-hover: hover) {
    header h1 a:hover,
    #index_visual .kv .swiper-slide a:hover,
    #footer .logo a:hover,
    #footer .head_banner a:hover{
        opacity: .8;
    }
    .gnavi li a:hover::after {
        transform: scale(1, 1);
    }
    .btn:hover span{
        color:#fff;
    }
    .btn:hover span::before{
        border-right: 1px solid var(--col-base-wht);
        border-bottom: 1px solid var(--col-base-wht);
    }
    .bgleft:hover:before{
        transform-origin:left top;
        transform:scale(1, 1);
    }
    .google .btn:hover span::after{
        border-right: 1px solid var(--col-base-wht);
        border-bottom: 1px solid var(--col-base-wht);
    }
    #index_news .inner .news_contents .news_box:hover {
        opacity: .8;
    }
    #index_search .grid_item:hover{
        transform: translateY(-2px);
        opacity: .7;
    }
    #index_guide .floor_image a:hover::before {
        background-color: rgba(0,0,0,0);
    }
    #index_guide .floor_image:hover .image_floor {
        opacity: 0;
    }
    .head_list li a:hover::after,
    .foot_list li:hover::after {
        transform: scale(1, 1);
    }
    #anniversary .modal_close:hover {
        opacity: .8;
    }
}
@media (max-width:1024px) {
    #index_access .flex_container {
        gap: var(--mg30);
        flex-wrap: wrap;
    }
    #index_access .access_map {
        flex: 1;
    }
    #index_access .access_map p {
        text-align: left;
    }
    #footer .head_banner .banner_item{
        width: 38vw;
    }
}
/* SP Index */
@media (max-width:768px){

    .pc_none {
        display: block;
    }
    .sp_none {
        display: none;
    }
    
    
    body {
        font-size: 3.4vw;
    }
    .btn{
        border-radius: 10vw;
        padding: 2.6vw 7vw;
    }
    .link_btn .btn span {
        color:var(--col-main-blue);
    }
    .link_btn .bgleft:before {
        content: '';
        position: static;
    }
    .link_btn .btn span::before{
        content: "";
        width: 2vw;
        height: 2vw;
        border-right: 1px solid var(--col-main-blue);
        border-bottom: 1px solid var(--col-main-blue);
    }
    .inner {
        width: 90.67vw;
        margin: 0 auto;
        padding-top: 15vw;
    }
    #index_header{
        position: relative;
        margin: 0 auto;
        width: 100%;
        z-index: 999999;
        background-color: var(--col-main-blue);
    }
    #index_header .hamburger{
        display: block;
    }
    #index_header h1 img{
        width: 32vw;
        position: absolute;
        top: 2vw;
        left: 3vw;
        z-index: 99999;
    }
    #index_visual {
        background-color: var(--col-main-blue);
    }
    #index_visual .index_inner{
        padding: 2vw 0 4vw;
        grid-template-columns: 1fr;
        width: 100%;
    }
    #index_visual .kv {
        grid-row: 2;
        grid-column: 1;
        margin-top: 18vw;
    }
    #index_visual .swiper {
        width: 94vw;
    }
    #index_visual .swiper-pagination {
        left: 4vw;
        width: 94vw;
    }
    #index_visual .kv .instagram {
        top: -3.72vw;
        right: 2.66vw;
    }
    #index_visual .kv .instagram > a {
        padding: 1.6vw 3.06vw;
        font-size: 2.39vw;
    }
    #index_visual .kv .instagram > a > img {
        width: 4.26vw;
        padding-right: 1.86vw;
    }    
    #index_visual .bg_logo {
        left: 5vw;
        bottom: 4vw;
        width: 50vw;
    }
    #index_visual .data {
        margin-top: var(--mg20);
        grid-column: 1 / 3;
        grid-row: 3;
        width: 94vw;
        margin: 6vw auto 3vw;
        z-index: 9991;
    }
    #index_visual .data .flex_container{
        flex-direction: column;
        width: 100%;
        gap: 0.8rem 1.5rem;
        margin: 5vw auto 0;
        padding: 4vw 3.5vw;
        border-radius: 2vw;
        text-align: left;
        box-sizing: border-box;
    }
    #index_visual .data .flex_container p{
        font-size: 3.2vw;
    }
    #index_visual .data > p {
        text-align: left;
        line-height: 1.6;
        font-size: 2.8vw;
        padding-top: 4vw;
    }
    #index_visual .data .flex_container p .ico_time {
        padding-left: 5vw;
    }
    #index_visual .data .flex_container p .ico_closed {
        padding-left: 5vw;
    }
    .menu_wrapper{
        grid-row: 1;
        grid-column: 1;
        position: relative;
        z-index: 99999;
    }
    .gnavi .lang {
        width: 30vw;
        top: calc(100% - 10vw);
        left: 5vw;
        z-index: 99999;
        height: 5vw;
    }
    .nav_btn {
        position: fixed;
        top: 2vw;
        right: 3vw;
        z-index: 10;
        width: 7vw;
        height: 7vw;
    }
    .btn_line {
        display: block;
        position: relative;
        width: 100%;
        height: 0.5vw;
        background-color: var(--col-base-wht);
        transition: .2s;
    }
    .btn_line::before , .btn_line::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: var(--col-base-wht);
        transition: .5s;
    }
    .btn_line::before {
        transform: translateY(-2vw);
    }
    .btn_line::after {
        transform: translateY(2vw);
    }
    .btn_line.open {
        background-color: transparent;
    }
    .btn_line.open::before , .btn_line.open::after {
        content: "";
        background-color: var(--col-base-wht);
        transition: .2s;
    }
    .btn_line.open::before {
        transform: rotate(45deg);
    }
    .btn_line.open::after {
        transform: rotate(-45deg);
    }
    .gnavi {
        position: fixed;
        left: 100%;
        width: 100vw;
        height: 100dvh;
        background-color: var(--col-main-blue);
        color: var(--col-base-wht);
        transition: .3s;
    }
    .gnavi ul {
        margin: 20vw 0;
    }
    .gnavi ul li{
        display: flex;
        width: 90.67vw;
        margin: 0 auto;
        text-align: left;
        padding: 4vw 0;
    }
    .gnavi.open {
        position: absolute;
        left: 0;
    }
    .inner .hedding {
        font-size: 12vw;
        margin-bottom: 4vw;
    }
    #index_news .inner{
        flex-wrap: wrap;
        gap: var(--mg20);
    }
    #index_news .inner .news_contents .news_box{
        padding: 0 0 4vw;
    }
    #index_news .inner .news_contents .news_box .title {
        width: 84vw;
        line-height: 1.5;
        font-size: 3.2vw;
    }
    #index_news .inner .news_contents .news_box + .news_box{
        padding: var(--mg20) 0;
    }
    #index_news .inner .news_contents .news_box .date {
        padding-bottom: 2vw;
        font-size: 3.4vw;
    }
    #index_news .inner .news_contents .news_box a::after {
        content: "";
        width: 2vw;
        height: 2vw;
        border-right: 1px solid var(--col-base-blk);
        border-bottom: 1px solid var(--col-base-blk);
    }
    #index_news .inner .news_contents .link_btn {
        margin-top: var(--mg20);
    }
    #index_search {
        width: 100%;
        margin: 15vw auto 0;
        padding: 10vw 0 15vw;
    }
    #index_search .inner{
        padding: 0;
    }
    #index_search .search_title {
        grid-column: 1 / 3;
        margin: 6vw 0 2vw;
    }
    #index_search .grid_container {
        grid-template-columns: 1fr 1fr;
        gap: 3vw;
    }
    #index_search .grid_item {
        background-color: var(--col-base-wht);
        border-radius: 5px;
        transition: .3s all;
    }
    #index_search .grid_item img {
        border-radius: 0 0 5px 5px;
    }
    #index_search .grid_item .text{
        position: relative;
        text-align: center;
        padding: var(--mg15) 0;
    }
    #index_search .grid_item .text p{
        font-weight: 600;
    }
    #index_search .grid_item .text .arrow_R::after{
        position: absolute;
        top: 50%;
        right: 1rem;
        transform: translateY(-50%) rotate(-45deg);
        -webkit-transform: translateY(-50%) rotate(-45deg);
        -ms-transform: translateY(-50%) rotate(-45deg);
    }
    .google {
        margin: 3vw 0;
    }
    #index_guide .hedding {
        margin: 0 0 4vw;
    }
    #index_guide .inner > .grid_container {
        grid-template-columns: 1fr;
        gap: 5vw;
        margin-top: 10vw;
    }
    #index_guide .floor_image img {
        border-radius: 5px;
    }
    #index_guide .floor_image {
        position: relative;
    }
    #index_guide .floor_image a::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,.7);
        border-radius: 5px;
        transition: all 0.6s;
    }
    #index_guide .floor_image .image_floor {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    #index_guide .floor_image .image_floor p{
        font-size: 8vw;
    }
    #index_guide .floor_image .image_floor p span{
        font-size: 6vw;
    }
    #index_guide .floor_image .image_floor .arrow_R::before{
        width: 7vw;
        height: 7vw;
        border-radius: 6vw;
        top: 50%;
        right: -14vw;
    }
    #index_guide .floor_image .image_floor .arrow_R::after{
        right: -8vw;
    }
    #index_guide .floor_description p{
        padding: 4vw 0;
    }
    #index_about .about_text {
        margin: 0 0 8vw;
    }
    #index_about .about_text p{
        font-size: 4vw;
        line-height: 1.8;
    }
    #index_access .inner {
        padding-bottom: 20vw;
    }
    #index_access .flex_container {
        gap: 4vw;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    #index_access .access_map {
        width: 90.67vw;
        flex: auto;
    }
    #index_access .access_map p {
        line-height: 1.6;
        padding: 4vw 0;
    }
    #index_access .access_wrapper > .title {
        font-size: 4.6vw;
        border-bottom: 2px solid var(--col-main-blue);
        padding-bottom: 2vw;
        margin-bottom: 4vw;
    }
    #index_access .access_wrapper {
        margin-bottom: 8vw;
        margin-top: 5vw;
    }
    #index_access .access_wrapper > .service {
        margin: 3vw 0;
    }
    #index_access .access_wrapper span.lost {
        margin-top: 3vw;
    }
    #index_access .access_detail {
        width: 90.67vw;
    }
    #index_access .access_detail p {
        line-height: 1.6;
    }
    #index_access .access_detail .address {
        padding-bottom: var(--mg20);
        border-bottom: 1px solid var(--col-base-blk);
    }
    #index_access .access_title {
        padding: 3vw 0 1.5vw;
    }
    #index_access .access_how {
        margin-bottom: var(--mg15);
    }
    #index_access .access_how ul + ul {
        margin-top: 4vw;
    }
    #index_access .access_how ul .type{
        padding-bottom: 0.25rem;
    }
    #index_access .access_how ul li p span {
        font-size: 2.8vw;
    }
    #index_access .access_detail .small {
        font-size: 3vw;
        padding-top: 4vw;
    }
    #footer {
        background-color: var(--col-main-blue);
    }
    #footer a {
        color: var(--col-base-wht);
    }
    #footer .head,
    #footer .foot {
        width: 95vw;
        font-size: 3.2vw;
        gap: 8vw;
    }
    #footer > .flex_container.head {
        padding: 10vw 0;
    }
    #footer .flex_container .head_info .logo{
        width: 50vw;
        margin-bottom: 4vw;
    }
    #footer .head_banner .banner_item{
        width: 95vw;
    }
    #footer .head_info .info + .info {
        margin: 0 0 4vw;
    }
    #footer .head_info .info p span{
        padding-left: 6.8vw;
        line-height: 1.8;
    }
    #footer p .ico_map {
        background: url( "../../_assets/img/common/ico_map_wht.png" ) top 0.5vw left 2vw / 3vw no-repeat;
    }
    #footer p .ico_time {
        background: url( "../../_assets/img/common/ico_time_wht.png" ) top 1vw left 1.6vw / 3.6vw no-repeat;
    }
    #footer .head_info .small {
        font-size: 2.8vw;
    }
    #footer .head_list {
        padding-left: 0;
        flex: auto;
    }
    #footer .head_list ul li {
        font-size: 3.4vw;
        margin-bottom: 4vw;
        padding-left: 1.5vw;
    }
    #footer .head_list ul li span{
        font-size: 2.4vw;
        padding-top: 0.5vw;
    }
    #footer .flex_container.foot {
        justify-content: center;
        padding: 6vw 0;
        gap: 3vw;
    }
    #footer .foot_copyright {
        order: 2;
    }
    #footer .foot_list {
        display: flex;
        gap: 2vw;
        font-size: 2.8vw;
        order: 1;
    }

    #anniversary .modal_close {
        top: -9.84vw;
        right: 0;
        width: 5.59vw;
        height: 5.59vw;
    }
}

/* 下層ページ */
#subpage_header {
    position: fixed;
    top: 0;
    left: 0;
    background-color: var(--col-main-blue);
    width: 100vw;
    height: var(--header-height);
    z-index: 99999;
} 
#subpage_header + * {
    padding-top: var(--header-height);
}
#subpage_header .header_wrapper {
    padding: min(14px,4vw) 0;
    width: 100%;
}
#subpage_header .header_wrapper.fixed {
    position: fixed;
    left: 0;
    top: 0;
    background-color: var(--col-main-blue);
    z-index: 9999999;
}
#subpage_header .header_inner{
    width: min(1600px,calc(100% - 5vw));
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    gap: 0 min(4vw, 50px);
}


#subpage_header h1{
    width: min(180px, 20vw)
}
.hamburger {
    display: flex;
    align-items: center;
}
.hamburger .gnavi {
    position: relative;
    display: flex;
    align-items: center;
    gap: min(5vw,40px);
}
.hamburger .gnavi ul{
    display: flex;
    gap: min(2vw,var(--mg50));
    margin-right: 0;
}
.hamburger .gnavi ul li {
    padding-top: 0;
    line-height: 1.4;
    display: flex;
    align-items: center;
    font-size: min(1.6vw,var(--font-size18));
}
.hamburger .gnavi ul li span {
    display: none;
}
.hamburger .gnavi li a::after {
    bottom: 0rem;
}
.hamburger .gnavi .lang {
    position: static;
    width: fit-content;
}
.hamburger .gnavi .lang .gt_options,
.hamburger .gnavi .lang .gt-open{
    max-width: 100%!important;
}
.hamburger .gnavi .lang .gt_float_switcher .gt-selected .gt-current-lang {
    padding: 6px 10px;
}
.hamburger .gnavi .lang .gt_float_switcher .gt_options a {
    font-size: 12px;
    padding: 6px 10px;
}
.hamburger .gnavi .lang .gt_float_switcher .gt-selected {
    background: transparent;
}
@media (min-width:769px){
    .hamburger .gnavi .lang .gt_float_switcher .gt_options {
        position: absolute;
        top: 55px;
        right: 0;
        width: 230px;
        background-color: var(--col-base-wht);
    }
    .hamburger .gnavi .lang .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
        transform: rotate(0deg);
    }
    .hamburger .gnavi .lang .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow.gt_arrow_rotate {
        transform: rotate(-180deg);
    }
}
#subpage_main {
    background: url( "../../_assets/img/common/bg-logo_blue.svg" ) top min(7vw,460px) right max(-10vw,calc(100% - 78vw)) / min(32vw,460px) no-repeat;
}
#subpage_main .subpage_title {
    text-align: center;
    color: var(--col-main-blue);
    margin: min(5vw,100px) 0 min(2vw,60px);
}
#subpage_main .subpage_title p.en{
    font-size: var(--font-size60);
    font-weight: 800;
}
#subpage_main .subpage_title p.ja_small{
    font-size: var(--font-size14);
    padding-top: var(--mg20);
}
#subpage_shoplist .tab_area{
    display: flex;
    color: var(--col-main-blue);
    background-color: var(--col-base-wht);
}
#subpage_shoplist .tab_area .tab{
    flex: 1;
    border-radius: var(--mg10) var(--mg10) 0 0;
    padding: min(2vw,24px) 0;
    border: 1px solid var(--col-main-blue);
    box-sizing: border-box;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 1vw;
}
#subpage_shoplist .tab_area .tab::before{
    content: "";
    width: 20px;
    height: 20px;
    background: url( "../../_assets/img/shoplist/ico_search_blu.png" ) top 0 right 0 / contain no-repeat;
}
#subpage_shoplist .tab.active::before {
    content: "";
    width: 20px;
    height: 20px;
    background: url( "../../_assets/img/shoplist/ico_search_wht.png" ) top 0 right 0 / contain no-repeat;
}
#subpage_shoplist .tab.active {
    background-color: var(--col-main-blue);
    color: var(--col-base-wht);
}
#subpage_shoplist .panel {
    display: none;
    text-align: center;
}
#subpage_shoplist .panel.active {
    display: block;
}
#subpage_shoplist .panel.active .filter_shoplist {
    border-radius: 0 0 var(--mg10) var(--mg10);
    background-color: var(--col-main-blue);
}
#subpage_shoplist .filter_title {
    font-size: var(--font-size36);
    text-align: center;
    font-weight: 600;
    color: var(--col-main-blue);
    margin: min(4vw,60px) 0;
}
#subpage_shoplist .filter_shoplist {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mg30);
    margin: 0 auto;
    padding: min(4vw,60px) min(4vw,90px);
}
#subpage_shoplist .filter_shoplist li{
    position: relative;
    background-color: var(--col-base-wht);
    font-weight: 600;
    border-radius: 5px;
    padding: min(1vw,16px) min(3vw,20px);
    cursor: pointer;
    flex: 1;
    font-size: min(1.4vw,var(--font-size16));
    transition: all .1;
}
#subpage_shoplist .filter_shoplist li::after{
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1px solid var(--col-base-blk);
    border-bottom: 1px solid var(--col-base-blk);
    position: absolute;
    top: 50%;
    right: min(0.65vw,20px);
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
}
#subpage_shoplist .filter_item {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: min(11vw, 120px) min(2vw, 20px);
    background-color: var(--col-base-wht); 
    margin: min(12vw,160px) 0 min(8vw,200px);
}
#subpage_shoplist .filter_item .shoplist_image {
    position: relative;
    border: 0.25px solid var(--col-light-gry);
    box-sizing: border-box;
}
#subpage_shoplist .filter_item .shoplist_logo {
    position: absolute;
    top: min(-0.25vw,-70px);
    right: min(2vw,20px);
    border: 0.25px solid var(--col-light-gry);
    box-sizing: border-box;
    width: min(10vw,110px);
}
#subpage_shoplist .filter_item .shoplist_text{
    text-align: left;
    padding: min(1vw,10px) 0 min(2vw,18px);
}
#subpage_shoplist .filter_item .shoplist_text .floor,
#subpage_shoplist .filter_item .shoplist_text .category{
    color: var(--col-main-blue);
    font-size: var(--font-size14);
    line-height: 1.3;
}
#subpage_shoplist .filter_item .shoplist_text .name {
    font-size: var(--font-size18);
    font-weight: 600;
    color: var(--col-base-blk);
    padding-top: min(0.5vw,8px);
}
#subpage_shoplist .filter_btn li{
    position: relative;
    height: 16px;
}
#subpage_shoplist .filter_btn li a{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
}
#subpage_shoplist .filter_select h2{
    display: none;
    color: var(--col-main-blue);
    font-size: var(--font-size24);
}
#subpage_shoplist .filter_select {
    margin: min(4vw,100px) 0;
    text-align: center;
    display: grid;
    grid-template-columns: 1fr;
}

@media (any-hover: hover) {
    #subpage_shoplist .filter_shoplist li:hover {
        transform: translateY(-2px);
        opacity: .9;
    }
    #subpage_shoplist .filter_item li:hover {
        opacity: .8;
    }
}

@media (max-width:768px){
    :root {
        --header-height: 12vw;
    }
    #subpage_header .header_wrapper {
        margin: 0 auto;
        justify-content: center;
        width: 100%;
        padding: 0;
    }
    #subpage_header h1{
        width: 32vw;
        position: absolute;
        top: 6vw;
        left: 3vw;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        z-index: 9999;
    }
    #subpage_header .hamburger .nav_btn {
        top: 6vw;
    }
    .hamburger .gnavi{
        top: 0;
        width: 100%;
        position: absolute;
    }
    .hamburger .gnavi.open {
        position: absolute;
        left: 0;
        top: 0;
    }
    .hamburger .gnavi ul {
        margin: 0 auto 20vw;
        flex-wrap: wrap;
        gap: 3vw;
        width: 90.67vw;
    }
    .hamburger .gnavi ul li{
        display: flex;
        width: 90.67vw;
        margin: 0 auto;
        text-align: left;
        font-size: 4.3vw;
        line-height: 1;
    }
    .hamburger .gnavi ul li span {
        display: inline-block;
        font-size: 2.8vw;
        padding-top: 2vw;
    }
    .hamburger .gnavi li a::after {
        display: none;
        position: static;
    }
    .hamburger .nav_btn {
        position: absolute;
        top: 9vw;
        right: 3vw;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        z-index: 9999;
    }
    .hamburger .gnavi .lang {
        position: absolute;
        width: 70vw;
        top: calc(100% - 52vw);
        left: 5vw;
        bottom: auto;
        right: auto;
        z-index: 99999;
    }
    .hamburger .gnavi .lang .gt_float_switcher .gt-selected .gt-current-lang {
        padding: 1.8vw 3vw;
    }
    .hamburger .gnavi .lang .gt_float_switcher .gt_options a {
        font-size: 2.8vw;
        padding: 1.8vw 3vw;
    }
    #subpage_main {
        background: url( "../../_assets/img/common/bg-logo_blue.svg" ) top min(35vw,calc(100% - 7vw)) right max(-22vw,calc(100% - 88vw)) / 50vw no-repeat;
    }
    #subpage_main .subpage_title {
        margin: 20vw 0 0;
    }
    #subpage_main .subpage_title p.en{
        font-size: 10vw;
    }
    #subpage_main .subpage_title p.ja_small{
        font-size: 3vw;
        padding-top: 4vw;
    }
    #subpage_shoplist .tab_area .tab{
        border-radius: 1vw 1vw 0 0;
        padding: 5vw 0;
        border: 1px solid var(--col-main-blue);
        gap: 1.4vw;
        font-size: 3.6vw;
    }
    #subpage_shoplist .tab_area .tab::before{
        width: 5vw;
        height: 4vw;
    }
    #subpage_shoplist .tab.active::before {
        width: 5vw;
        height: 4vw;
    }
    #subpage_shoplist .filter_title {
        font-size: 4.6vw;
        margin: 10vw 0 0;
    }
    #subpage_shoplist .panel.active .filter_shoplist {
        border-radius: 0 0 1vw 1vw;
    }
    #subpage_shoplist .filter_shoplist {
        gap: 3vw;
        padding: 8vw 4vw;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    #subpage_shoplist .filter_shoplist li{
        border-radius: 1vw;
        padding: 4vw 0;
        font-size: 3.4vw;
    }
    #subpage_shoplist .filter_shoplist li::after{
        width: 1.8vw;
        height: 1.8vw;
        right: 2vw;
    }
    #subpage_shoplist .filter_item {
        grid-template-columns: 1fr 1fr;
        gap: 20vw 4vw;
        margin: 30vw 0;
    }
    #subpage_shoplist .filter_item .shoplist_logo {
        top: -12vw;
        right: 2vw;
        width: 23vw;
    }
    #subpage_shoplist .filter_item .shoplist_text{
        padding: 2vw 0;
    }
    #subpage_shoplist .filter_item .shoplist_text .floor,
    #subpage_shoplist .filter_item .shoplist_text .category{
        font-size: 3.2vw;
    }
    #subpage_shoplist .filter_item .shoplist_text .name {
        font-size: 3.6vw;
        padding-top: 1.5vw;
    }
    #subpage_shoplist .filter_btn li{
        height: 3vw;
    }
    #subpage_shoplist .filter_select h2{
        font-size: 4.2vw;
    }
    #subpage_shoplist .filter_select {
        margin: 12vw 0 0;
        text-align: center;
        display: grid;
        grid-template-columns: 1fr;
    }
}
/* Floor Guide - PC */
#subpage_floorguide {
    padding-bottom: min(40vw,220px);
}
#subpage_floorguide #floormap_2f,
#subpage_floorguide #floormap_3f,
#subpage_floorguide #floormap_4f,
#subpage_floorguide #floormap_5f{
    padding-top: min(160px,40vw);
}
#subpage_floorguide .inner + .inner {
    padding-top: 0;
} 
#subpage_floorguide .floorguide_tab{ 
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: min(2vw,20px);
    margin-bottom: min(10vw,40px);
}
#subpage_floorguide .tab_item{ 
    border-radius: 10px;
    border: 1px solid var(--col-main-blue);
    background-color: var(--col-base-wht);
    color: var(--col-main-blue);
    font-size: var(--font-size20);
    font-weight: 600;
    text-align: center;
    position: relative;
}
#subpage_floorguide .tab_item a{ 
    padding: min(3vw,15px) 0;
    display: block;
    transition : all .5s;
}
#subpage_floorguide .tab_item a::after{ 
    content: "";
    width: 8px;
    height: 8px;
    border-right: 1px solid var(--col-main-blue);
    border-bottom: 1px solid var(--col-main-blue);
    position: absolute;
    top: 45%;
    right: min(1vw,30px);
    transform: translateY(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
}
#subpage_floorguide .floor_head > p {
    font-size: var(--font-size60);
    font-weight: 600;
    font-family: var(--font-en);
    color: var(--col-main-blue);
    text-align: center;
}
#subpage_floorguide .floor_head .floor_map {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    gap: min(2vw,10px) 0;
}
#subpage_floorguide .floor_head .floor_map img {
    width: auto;
    height: min(230px,20vw);
    object-fit: contain;
}
#subpage_floorguide .floor_head .map_info {
    width: 100%;
    text-align: right;
}
#subpage_floorguide .floor_head .flex_container {
    justify-content: flex-end;
    gap: min(2vw,20px);
}
#subpage_floorguide .floor_head .map_info p{
    font-size: var(--font-size12);
    line-height: 1.6;
    display: flex;
    align-items: center;
}
#subpage_floorguide .map_info .ico_elevator {
    background: url( "../../_assets/img/floorguide/ico_elevator.svg" ) top left / contain no-repeat;
    padding-left: min(25px,4.5vw);
}
#subpage_floorguide .map_info .ico_escalator {
    background: url( "../../_assets/img/floorguide/ico_escalator.svg" ) top left / contain no-repeat;
    padding-left: min(25px,4.5vw);
}
#subpage_floorguide .map_info .ico_toilet {
    background: url( "../../_assets/img/floorguide/ico_toilet.svg" ) top left / contain no-repeat;
    padding-left: min(25px,4.5vw);
}
#subpage_floorguide .floor_shop {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: min(8vw,40px) min(4vw,25px);
    margin: min(20vw,80px) 0 0;
}
#subpage_floorguide .floor_shop .floorguide_logo {
    position: relative;
    background-color: var(--col-base-wht);
    border: 0.25px solid var(--col-light-gry);
    box-sizing: border-box;
    text-align: center;
}
#subpage_floorguide .floorguide_logo img{
    width: 70%;
    margin: min(2vw,40px) 0;
}
#subpage_floorguide .floor_tag {
    position: absolute;
    top: 0;
    left: 0;
    width: min(35px,12vw);
    height: min(35px,12vw);
    border-radius: 0 0 5px 0;
    color: var(--col-base-wht);
    background-color: var(--col-main-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size16);
}
#subpage_floorguide .floor_tag.Lsize {
    width: min(94px,15vw);
    font-size: 80%;
}
#subpage_floorguide .floorguide_text {
    margin: min(1vw,15px) 0;
}
#subpage_floorguide .floorguide_text .category {
    font-size: var(--font-size14);
    color: var(--col-main-blue);
}
#subpage_floorguide .floorguide_text .name {
    padding-top: min(0.5vw,10px);
    font-size: var(--font-size18);
    color: var(--col-base-blk);
    font-weight: 600;
}
@media (any-hover: hover) {
    #subpage_floorguide .tab_item a:hover{ 
        background-color: var(--col-main-blue);
        color: var(--col-base-wht);
        border-radius: 8px;
    }
    #subpage_floorguide .tab_item:hover a::after{ 
        border-right: 1px solid var(--col-base-wht);
        border-bottom: 1px solid var(--col-base-wht);
    }
    #subpage_floorguide .floor_foot .floor_shop li:hover {
        opacity: .8;
    }
}

@media (max-width:768px){
    #subpage_floorguide {
        padding-bottom: 25vw;
    }
    #subpage_floorguide #floormap_2f,
    #subpage_floorguide #floormap_3f,
    #subpage_floorguide #floormap_4f,
    #subpage_floorguide #floormap_5f{
        padding-top:20vw;
    }
    #subpage_floorguide .floorguide_tab{ 
        grid-template-columns: 1fr 1fr;
        gap: 3vw;
        margin-bottom: 0vw;
    }
    #subpage_floorguide .tab_item{ 
        border-radius: 1vw;
        font-size: 3.8vw;
    }
    #subpage_floorguide .tab_item a{ 
        padding: 3vw 0;
    }
    #subpage_floorguide .tab_item a::after{ 
        width: 2vw;
        height: 2vw;
        top: 45%;
        right: 3vw;
    }
    #subpage_floorguide .floor_head > p {
        font-size: 9vw;
    }
    #subpage_floorguide .floor_head .floor_map {
        gap: 4vw 0;
    }
    #subpage_floorguide .floor_head .floor_map img {
        width: auto;
        min-height: 24vw;
        object-fit: contain;
    }
    #subpage_floorguide .map_info .flex_container {
        justify-content: flex-end;
        gap: 3vw;
    }
    #subpage_floorguide .floor_head .map_info p{
        font-size: 2.6vw;
        line-height: 1.2;
    }
    #subpage_floorguide .map_info .ico_elevator {
        padding-left: 4vw;
    }
    #subpage_floorguide .map_info .ico_escalator {
        padding-left: 4vw;
    }
    #subpage_floorguide .map_info .ico_toilet {
        padding-left: 4vw;
    }
    #subpage_floorguide .floor_shop {
        grid-template-columns: 1fr 1fr;
        gap: 8vw 4vw;
        margin: 10vw 0 0;
    }
    #subpage_floorguide .floorguide_logo img{
        margin: 4vw 0;
    }
    #subpage_floorguide .floor_tag {
        width: 7vw;
        height: 7vw;
        border-radius: 0 0 1vw 0;
        font-size: 3.4vw;
    }
    #subpage_floorguide .floor_tag.Lsize {
        width: 17vw;
    }
    #subpage_floorguide .floorguide_text {
        margin: 2vw 0;
    }
    #subpage_floorguide .floorguide_text .category {
        font-size: 3.2vw;
        line-height: 1.4;
    }
    #subpage_floorguide .floorguide_text .name {
        padding-top: 2vw;
        font-size: 3.6vw;
        line-height: 1.6;
    }
}

/* shop-detail_PC */
#subpage_shopdetail .shopdetail_head {
    flex-wrap: nowrap;
    justify-content: space-between;
}
#subpage_shopdetail .shopdetail_head .shopdetail_image {
    position: sticky;
    top: var(--header-height);
    left: 0;
    flex-shrink: 0;
    width: 45vw;
    height: calc(100vh - var(--header-height));
}
#subpage_shopdetail .shopdetail_head .shopdetail_image > img {
    height: calc(100vh - var(--header-height));
    object-fit: cover;
}
#subpage_shopdetail .shopdetail_head .shopdetail_text {
    flex: 1;
    width: 55vw;
}
#subpage_shopdetail .shopdetail_head .shopdetail_text > .wrap {
    padding: 60px 3.72vw 0;
    box-sizing: border-box;
}
#subpage_shopdetail .shopdetail_text .shopdetail_logo{
    width: min(30vw,170px);
    margin-bottom: min(4vw,40px);
}
#subpage_shopdetail .shopdetail_text .shopdetail_logo img {
    border: 0.25px solid var(--col-light-gry);
}
#subpage_shopdetail .shopdetail_text .category{
    font-size: var(--font-size16);
    color: var(--col-main-blue);
}
#subpage_shopdetail .shopdetail_text .name{
    font-size: var(--font-size24);
    color: var(--col-base-blk);
    font-weight: 600;
    padding: min(2vw,20px) 0 min(10px,1vw);
}
#subpage_shopdetail .shopdetail_text .name > span{
    font-size: var(--font-size14);
    display: block;
    padding-top: min(1vw,8px);
}
#subpage_shopdetail .shopdetail_text .announce {
    line-height: 1.8;
    text-align: justify;
    margin: min(10vw,22px) 0;
}
#subpage_shopdetail .shopdetail_text .announce p {
    display: inline-block;
    border: #333 solid 1px;
    padding: min(1vw,5px) min(2vw,10px);
    font-size: 80%;
}
#subpage_shopdetail .shopdetail_text .description {
    line-height: 1.8;
    text-align: justify;
    margin: min(10vw,22px) 0;
}
#subpage_shopdetail .shopdetail_text .information {
    display: flex;
    justify-content: space-between;
    column-gap: min(6vw,60px);
    margin-top: min(5vw,50px);
}
#subpage_shopdetail .shopdetail_text .information ul {
    width: 100%;
    text-align: left;
}
#subpage_shopdetail .shopdetail_text .information li {
    padding: min(2vw,16px) 0;
    border-bottom: 0.25px solid var(--col-light-gry);
    line-height: 1.6;
}
#subpage_shopdetail .shopdetail_text .information li p:first-child {
    color: var(--col-main-blue);
    font-weight: 600;
    margin-bottom: min(0.5vw,5px);
}
#subpage_shopdetail .shopdetail_text .information .information_img {
    flex-shrink: 0;
    width: min(22.37vw,310px);
}
#subpage_shopdetail .link_website a {
    text-decoration: underline;
    color: var(--col-base-blk);
}
#subpage_shopdetail .link_sns .flex_container {
    gap: min(4vw,20px);
}
#subpage_shopdetail .link_sns .flex_container img{
    width: auto;
    height: min(4vw,26px);
    object-fit: contain;
}
#subpage_shopdetail .link_sns .flex_container > div {
    display: flex;
    align-items: center;
}
#subpage_shopdetail .link_sns .flex_container .sns_ig > span {
    display: block;
    font-size: 80%;
    margin-left: 10px;
}
#subpage_shopdetail .shopdetail_foot {
    border-top: 4px solid var(--col-main-blue);
    margin: min(7vw,90px) 0 0;
}
#subpage_shopdetail .shopdetail_foot .shopdetail_title {
    border-top: 2px solid var(--col-main-blue);
    margin: min(0.5vw,6px) 0;
    padding: min(4vw,40vw) 0;
    font-size: var(--font-size20);
    color: var(--col-base-blk);
    text-align: center;
}
#subpage_shopdetail .swiper-wrapper {
    padding: min(6vw,80px) 0;
}
#subpage_shopdetail .shoplist_image {
    position: relative;
    border: 0.25px solid var(--col-light-gry);
    box-sizing: border-box;
}
#subpage_shopdetail .shoplist_logo {
    position: absolute;
    top: min(-0.25vw,-70px);
    right: min(2vw,20px);
    border: 0.25px solid var(--col-light-gry);
    box-sizing: border-box;
    width: min(10vw,110px);
}
#subpage_shopdetail .shoplist_text{
    text-align: left;
    padding: min(1vw,10px) 0 min(2vw,18px);
}
#subpage_shopdetail .shoplist_text .floor,
#subpage_shopdetail .shoplist_text .category{
    color: var(--col-main-blue);
    font-size: var(--font-size14);
    line-height: 1.3;
}
#subpage_shopdetail .shoplist_text .name {
    font-size: var(--font-size18);
    font-weight: 600;
    color: var(--col-base-blk);
    padding-top: min(0.5vw,8px);
}
#subpage_shopdetail .swiper_container {
    position: relative;
}
#subpage_shopdetail .swiper-button-next, 
#subpage_shopdetail .swiper-button-prev {
    color: var(--col-main-blue);
    position: absolute;
    top: 0;
    width: 0.78vw;
    height: 1.57vw;
    margin-top: calc(99% / 2 * 0.75 / 2 - 0.785vw + min(6vw,80px));
}
#subpage_shopdetail .swiper-button-next {
    right: -2.16vw;
    left: auto;
}
#subpage_shopdetail .swiper-button-prev {
    left: -2.16vw;
    right: auto;
}
#subpage_shopdetail .swiper-button-next:after,
#subpage_shopdetail .swiper-button-prev:after {
    font-size: 1.6vw;
}
#subpage_shopdetail .swiper-pagination {
    position: absolute;
    text-align: left;
    display: flex;
    align-items: center;
    left: 0;
    bottom: 3rem;
    justify-content: center;
}
#subpage_shopdetail .swiper-pagination-bullet {
    background-color: var(--col-main-blue);
    opacity: 1;
}
#subpage_shopdetail .swiper-pagination-bullet-active {
    border: 1px solid var(--col-main-blue);
    background-color: transparent;
}
#subpage_shopdetail .link_btn {
    text-align: center;
    margin: 0 0 min(5vw,90px);
}
#subpage_shopdetail .link_btn .btn span::before{
    content: "";
    width: 8px;
    height: 8px;
    border-right: none;
    border-bottom: none;
    border-left: 1px solid var(--col-main-blue);
    border-top: 1px solid var(--col-main-blue);
}

@media (any-hover: hover) {
    #subpage_shopdetail .shopdetail_text a:hover {
        opacity: .8;
    }
    #subpage_shopdetail .link_btn .btn:hover span::before{
        border-left: 1px solid var(--col-base-wht);
        border-top: 1px solid var(--col-base-wht);
    }
}
@media (max-width:768px){
    /* shop-detail_SP */
    #subpage_shopdetail .shopdetail_head {
        flex-direction: column;
        gap: 4vw;
    }
    #subpage_shopdetail .shopdetail_head .shopdetail_image {
        width: 100vw;
        height: 128vw;
    }
    #subpage_shopdetail .shopdetail_head .shopdetail_image > img {
        height: 128vw;
    }
    #subpage_shopdetail .shopdetail_head .shopdetail_text {
        position: relative;
        width: 100vw;
        background-color: var(--col-base-wht);
        border-radius: 5.32vw 5.32vw 0 0;
        margin-top: -8.91vw;
    }
    #subpage_shopdetail .shopdetail_head .shopdetail_text > .wrap {
        padding: 11.97vw 4.79vw 0;
    }
    #subpage_shopdetail .shopdetail_text .shopdetail_logo{
        position: absolute;
        top: -8.11vw;
        right: 7.18vw;
        width: 29.76vw;
        background-color: var(--col-base-wht);
        padding: 0 2.66vw;
        margin-bottom: 0;
        border-radius: 1.6vw;
        box-shadow: 0px 0px 29.1px 0.9px rgba(0, 0, 0, 0.16);
        overflow: hidden;
        box-sizing: border-box;
    }
    #subpage_shopdetail .shopdetail_text .shopdetail_logo img {
        border: none;
    }
    #subpage_shopdetail .shopdetail_text .category{
        font-size: 3.6vw;
    }
    #subpage_shopdetail .shopdetail_text .name{
        font-size: 5vw;
        padding: 3vw 0 0vw;
    }
    #subpage_shopdetail .shopdetail_text .name > span{
        font-size: 3.2vw;
        padding-top: 2vw;
    }
    #subpage_shopdetail .shopdetail_text .announce {
        margin: 5vw 0;
    }
    #subpage_shopdetail .shopdetail_text .description {
        margin: 5vw 0;
    }
    #subpage_shopdetail .shopdetail_text .information {
        flex-direction: column;
        row-gap: 10.64vw;
        margin-top: 5vw;
    }
    #subpage_shopdetail .shopdetail_text .information li {
        padding: 4vw 0;
        display: grid;
        grid-template-columns: 20% 80%;
        gap: 2vw;
    }
    #subpage_shopdetail .shopdetail_text .information .information_img {
        width: 82.45vw;
        margin: auto;
    }
    #subpage_shopdetail .link_sns .flex_container {
        gap: 4vw;
    }
    #subpage_shopdetail .link_sns .flex_container img{
        height: 4.4vw;
    }
    #subpage_shopdetail .link_sns .flex_container .sns_ig > span {
        margin-left: 2vw;
    }
    #subpage_shopdetail .shopdetail_foot {
        border-top: 1.4vw solid var(--col-main-blue);
        margin: 15vw 0 0;
    }
    #subpage_shopdetail .shopdetail_foot .shopdetail_title {
        border-top: 0.5vw solid var(--col-main-blue);
        margin: 1vw 0;
        padding: 8vw 0 3vw;
        font-size: 4vw;
    }
    #subpage_shopdetail .swiper-wrapper {
        padding: 20vw 0 14vw;
    }
    #subpage_shopdetail .shoplist_logo {
        top: -12vw;
        right: 2vw;
        width: 19vw;
    }
    #subpage_shopdetail .shoplist_text{
        padding: 2vw 0;
    }
    #subpage_shopdetail .shoplist_text .floor,
    #subpage_shopdetail .shoplist_text .category{
        font-size: 3.2vw;
    }
    #subpage_shopdetail .swiper_container {
        width: 80vw;
        margin: 0 auto;
    }
    #subpage_shopdetail .shoplist_text .name {
        font-size: 3.6vw;
        padding-top: 1.5vw;
    }
    #subpage_shopdetail .swiper-button-next, 
    #subpage_shopdetail .swiper-button-prev {
        margin-top: calc(99% / 2 * 0.75 / 2 - 0.785vw + 20vw);
    }
    #subpage_shopdetail .swiper-button-next {
        right: -5vw;
    }
    #subpage_shopdetail .swiper-button-prev {
        left: -5vw;
        right: auto;
    }
    #subpage_shopdetail .swiper-button-next:after,
    #subpage_shopdetail .swiper-button-prev:after {
        font-size: 4vw;
    }
    #subpage_shopdetail .swiper-pagination {
        bottom: 1.8rem;
    }
    #subpage_shopdetail .link_btn {
        margin: 5vw 0 10vw;
    }
    #subpage_shopdetail .link_btn .btn span::before{
        content: "";
        width: 2vw;
        height: 2vw;
        border-right: none;
        border-bottom: none;
        border-left: 1px solid var(--col-main-blue);
        border-top: 1px solid var(--col-main-blue);
    }
}
/* News_index */
#subpage_news .inner .news_wrapper ul {
    width: min(90.67vw,1000px);
    margin: 0 auto;
}
#subpage_news .inner .news_wrapper ul li {
    position: relative;
}
#subpage_news .inner .news_wrapper ul a::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 1px solid var(--col-base-blk);
    border-bottom: 1px solid var(--col-base-blk);
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
}
#subpage_news .news_wrapper .news_text {
    display: flex;
    align-items: center;
    gap: min(3vw,60px);
    border-bottom: 0.25px solid var(--col-light-gry);
    padding: min(3vw,25px) 0;
}
#subpage_news .news_wrapper .news_text .news_date{
    color: var(--col-main-blue);
}
#subpage_news .news_wrapper .news_text .news_title{
    color: var(--col-base-blk);
    line-height: 1.6;
    width: 85%;
}
.news .pager {
    display: flex;
    gap: min(5vw,80px);
    justify-content: center;
    margin: min(8vw,80px) 0;
}
.news .pager span.slash {
    padding: 0 min(0.8vw,10px);
}
.news .page_btn a {
    position: relative;
}
.news .prev_btn a::before {
    content: "";
    width:8px;
    height: 8px;
    border-left: 1.5px solid var(--col-main-blue);
    border-bottom: 1.5px solid var(--col-main-blue);
    position: absolute;
    top: 52%;
    left: -18px;
    transform: translateY(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
}
.news .next_btn a::after {
    content: "";
    width:8px;
    height: 8px;
    border-right: 1.5px solid var(--col-main-blue);
    border-bottom: 1.5px solid var(--col-main-blue);
    position: absolute;
    top: 52%;
    right: -18px;
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
}
#subpage_news .pager .current {
    font-size: var(--font-size18);
    color: var(--col-main-blue);
}
@media (any-hover: hover) {
    .news .page_btn a:hover,
    .news .btn_back a:hover,
    #subpage_news .news_wrapper ul li:hover{
        opacity: .8;
    }
}
@media (max-width:768px){
    #subpage_news .inner .news_wrapper ul {
        width: 90.67vw;
    }
    #subpage_news .inner .news_wrapper ul a::after {
        content: "";
        width: 2vw;
        height: 2vw;
    }
    #subpage_news .news_wrapper .news_text {
        flex-wrap: wrap;
        gap: 2vw;
        padding: 6vw 0;
    }
    #subpage_news .news_wrapper .news_text .news_date{
        font-size: 3.4vw;
        width: 100%;
    }
    #subpage_news .news_wrapper .news_text .news_title{
        font-size: 3.6vw;
        width: 95%;
    }
    .news .pager {
        gap: 10vw;
        margin: 12vw 0;
    }
    .news .pager span.slash {
        padding: 0 2vw;
        vertical-align: baseline;
    }
    .news .page_btn a {
        position: relative;
    }
    .news .prev_btn a::before {
        width: 2vw;
        height: 2vw;
        top: 52%;
        left: -4vw;
    }
    .news .next_btn a::after {
        width: 2vw;
        height: 2vw;
        top: 52%;
        right: -4vw;
    }
    #subpage_news .pager .current {
        font-size: 3.6vw;
    }
}

/* News_Contents */

#subpage_article .inner {
    width: min(90.67vw,1050px);
    margin: 0 auto min(4vw,70px);
    padding: min(4vw,40px);
}
#subpage_article .article_wrapper {
    border-bottom: 1px solid var(--col-main-blue);
    padding: min(40px,4vw);
}
#subpage_article .title_area .article_thumbnail {
    text-align: center;
    margin: min(4vw,50px);
}
#subpage_article .title_area .article_thumbnail img {
    width: 700px;
    max-width: 100%;
}
#subpage_article .title_area .article_date {
    font-size: var(--font-size18);
    color: var(--col-main-blue);
    padding: 0 0 min(2vw,10px);
}
#subpage_article .title_area .article_title {
    padding-bottom: min(4vw,20px);
    font-size: var(--font-size24);
    color: var(--col-base-blk);
    font-weight: 600;
    line-height: 1.8;
}
#subpage_article .title_area {
    margin: min(40px,8vw) 0;
}
#subpage_article .article_content p{
    padding-bottom: min(10px,2vw);
    line-height: 1.6;
}
#subpage_article .article_content .article_image {
    margin: min(4vw,40px) 0 min(3vw,60px);
    text-align: center;
}
#subpage_article .article_content .article_image img {
    width: 700px;
    max-width: 100%;
}
#subpage_article .btn_back span{
    padding-bottom: min(0.4vw,7px);
    display: inline-block;
    border-bottom: 0.5px solid var(--col-main-blue);
}
#subpage_article .news .pager {
    margin: min(4vw,40px) 0 min(8vw,80px);
}

@media (max-width:768px) {
    #subpage_article .inner {
        width: 90.67vw;
        margin: 0 auto 8vw;
        padding: 12vw 0 10vw;
    }
    #subpage_article .article_wrapper {
        border-bottom: 0.3vw solid var(--col-main-blue);
        padding: 0 0 10vw;
    }
    #subpage_article .title_area .article_thumbnail {
        margin: 4vw 0;
    }
    #subpage_article .title_area .article_thumbnail img {
        width: 100%;
    }
    #subpage_article .title_area .article_date {
        font-size: 3.8vw;
        padding: 0 0 2vw;
    }
    #subpage_article .title_area .article_title {
        padding-bottom: 4vw;
        font-size: 4.2vw;
    }
    #subpage_article .title_area {
        margin: 6vw 0 8vw;
    }
    #subpage_article .article_content p{
        padding-bottom: 2vw;
        line-height: 1.8;
    }
    #subpage_article .article_content .article_image {
        margin: 4vw 0 6vw;
    }
    #subpage_article .article_content .article_image img {
        width: 100%;
    }
    #subpage_article .btn_back span{
        padding-bottom: 1vw;
        border-bottom: 0.25vw solid var(--col-main-blue);
    }
    #subpage_article .news .pager {
        margin: 7vw 0 4vw;
    }

}

/* Specilal Contents */
#special_contents .btn{
    font-size: min(1.4vw,var(--font-size16));
    padding: min(1.4vw,14px) min(40px,2vw);
}
#special_contents .special_title{
    display: flex;
    align-items: center;
    gap: min(40px,4vw);
}
#special_contents .special_title > div {
    flex: 1;
}
#special_contents .shop_wrapper.top {
    display: grid;
    gap: min(4vw,40px);
    grid-template-columns: 1fr 1fr;
    margin: min(10vw,200px) 0 0;
    align-items: end;
}
#special_contents .section_logo img{
    width: min(2vw,35px);
}
#special_contents .section_logo {
    text-align: center;
    grid-row: 1;
}
#special_contents .shop_text {
    grid-row: 2;
} 
#special_contents .shop_img {
    grid-row: 1 / 3;
}
#special_contents .shop_img img{
    width: min(650px,40vw);
}
#special_contents .description {
    margin-top: min(80px,1vw);
}
#special_contents .description .link_btn{
    margin-top: min(40px,8vw);
}
#special_contents .description p {
    line-height: 1.8;
    font-size: var(--font-size14);
    text-align: justify;
}
#special_contents #special_sec01 .shop_wrapper.bottom {
    margin-top: min(15vw,100px);
}
#special_contents .shop_wrapper.bottom {
    position: relative;
    padding-top: min(230px,10vw);
    display: flex;
    align-items: end;
    gap: min(4vw,40px);
}
#special_contents .profile {
    position: absolute;
    top: min(500px,0vw);
    right: 0;
    width: min(22vw,320px);
}
#special_contents #special_sec02 .profile {
    position: absolute;
    top: min(500px,15vw);
    right: 0;
    width: min(22vw,320px);
}
#special_contents .profile .caption{
    font-size: var(--font-size12);
    padding-top: min(15px,2vw);
    line-height: 1.6;
    text-align: justify;
}
#special_contents #special_sec02 {
    margin-bottom: min(20vw,140px);
}
#special_contents #special_sec02 .shop_wrapper.top  {
    position: relative;
    padding: 0 0 min(460px, 31vw);
}
#special_contents .sub_cut01 {
    position: absolute;
    right: min(100px,10vw);
    bottom: min(70px,5vw);
    width: min(22vw,320px);
}
#special_contents .sub_cut02 {
    position: absolute;
    left: min(350px,30vw);
    bottom: 0;
    width: min(22vw,320px);
}


@media (max-width:1280px)  {
    #special_contents .profile .caption {
        padding-top: 0;
    }
    #special_contents .profile {
        position: absolute;
        top: 0;
        right: 0;
        width: 42vw;
        display: flex;
        gap: 2vw;
    }
    #special_contents #special_sec02 .profile {
        position: absolute;
        top: 10vw;
        right: 0;
        width: 42vw;
    }
}

@media (max-width:768px)  {
    #special_contents .btn {
        font-size: 3vw;
        padding: 2.6vw 7vw;
    }
    #special_contents .special_title{
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    #special_contents .special_title > div {
        flex: auto;
    }
    #special_contents .special_title .logo img{
        margin: 5vw auto;
    }
    #special_contents .shop_wrapper.top {
        margin: 0;
        grid-template-columns: 1fr;
    }
    #special_contents .shop_wrapper.top .section_logo {
        grid-row: 1;
    }
    #special_contents .shop_wrapper.top .shop_img {
        grid-row: 2;
    }
    #special_contents .shop_wrapper.top .shop_text {
        grid-row: 3;
    }
    #special_contents .section_logo img{
        width: 5vw;
        margin: 20vw 0 5vw;
    }
    #special_contents .shop_img img{
        width: 90.67vw;
    }
    #special_contents .description {
        margin-top: 0;
    }
    #special_contents .description .link_btn{
        margin-top: 4vw;
    }
    #special_contents .description p {
        font-size: 3.4vw;
    }
    #special_contents #special_sec01 .shop_wrapper.bottom {
        margin-top: 16vw;
        padding-bottom: 80vw;
    }
    #special_contents .shop_wrapper.bottom {
        flex-wrap: wrap;
        gap: 4vw;
        justify-content: center;
        position: relative;
        padding-top: 0vw;
        padding-bottom: 55vw;
    }
    #special_contents .profile {
        position: absolute;
        top: auto;
        right: 0;
        width: 90.67vw;
        display: flex;
        gap: 4vw;
        bottom: 0;
    }
    #special_contents .profile .profile_img,
    #special_contents .profile .caption{
        flex: 1;
    }
    #special_contents #special_sec02 .profile {
        position: absolute;
        top: auto;
        bottom: 0;
        right: 0;
        width: 90.67vw;
    }
    #special_contents .profile .caption{
        font-size: 3vw;
        padding-top: 0;
    }
    #special_contents #special_sec02 {
        margin: 10vw 0 20vw;
    }
    #special_contents .shop_wrapper + .shop_wrapper {
        margin-top: 16vw;
    }
    #special_contents #special_sec02 .shop_wrapper.top  {
        padding: 0 0 50vw;
    }
    #special_contents .sub_cut01 {
        right: 0;
        bottom: 4vw;
        width: 40vw;
    }
    #special_contents .sub_cut02 {
        left: 6vw;
        bottom: -4vw;
        width: 40vw;
    }
}

/* Company */
/* Privicy Policy */
#subpage_company,
#subpage_policy {
    margin-bottom: min(10vw,120px);
}
.company_table {
    width: 100%;
    font-size: var(--font-size14);
    text-align: left;
    border-collapse: collapse;
}
.company_table tr {
    border-bottom: 1px solid rgba(204, 204, 204,.3);
}
.company_table tr:first-child {
    border-top: 1px solid rgba(204, 204, 204,.3)
}
.company_table th, .company_table td {
    padding: min(2.33vw, 35px) min(2vw, 30px);
}
.company_table th {
    width: 27%;
    background-color: #f7f7f7;
    font-weight: 500;
}
.company_table td {
    width: 73%;
}
#subpage_policy .inner  {
    font-size: var(--font-size14);
    line-height: 1.8;
    text-align: justify;
}
#subpage_policy .inner a{
    border-bottom: 0.25px solid var(--col-main-blue);
}
#subpage_policy h2 {
    font-size: var(--font-size20);
    padding: min(4vw,40px) 0 min(1vw,10px);
}
#subpage_policy h2:first-child {
    padding-top: 0;
}
#subpage_policy h3 {
    padding-top: min(1vw,10px);
    font-size: var(--font-size14);
}
#subpage_policy .inner p {
    padding-bottom: 5px;
}
#subpage_policy .inner ol li {
    text-indent: -1.2em;
    margin-left: 1.2em;
    padding-left: 1.2em;
}
#subpage_policy .inner ul {
    margin: 0 0 min(1vw,10px) 0;
}
#subpage_policy .inner ul li {
    text-indent: -1.2em;
    padding-left: 1.2em;
    margin-left: 1.2rem;
}


@media (max-width:768px)  {
    #subpage_company,
    #subpage_policy {
        margin-bottom: 15vw;
    }
    .company_table {
        font-size: 3.5vw;
    }
    .company_table tr {
        display: flex;
        flex-direction: column;
        gap: 2.5vw;
    }
    .company_table th, .company_table td {
        padding: 0;
    }
    .company_table th {
        width: 100%;
        background-color: inherit;
        padding-top: 5vw;
    }
    .company_table td {
        width: 100%;
        padding-bottom: 5vw;
    }
    #subpage_policy .inner  {
        font-size: 3.6vw;
        line-height: 1.6;
    }
    #subpage_policy h2 {
        font-size: 4.2vw;
        padding: 10vw 0 3vw
    }
    #subpage_policy h3 {
        padding: 2vw 0 0;
        font-size: 3.6vw;
    }
    #subpage_policy .inner > p {
        padding-bottom: 2vw;
    }
    #subpage_policy .inner ol {
    margin-bottom: 2vw;
    }
    #subpage_policy .inner ul {
        margin: 0 0 2vw;
    }

    
}


.test{
    background: #e40d83;
    line-height: 2;
    font-size: 90%;
    color: #fff;
    text-align: center;
    margin: 0 auto;
}
#wp-admin-bar-aioseo-main{
    display: none;
}