@charset 'UTF-8';

.post, .page{
    margin-bottom:0;
}

@media only screen and (max-width:1760px){
    .top-store-sliderwrap::after{
        width:20px;
    }
}

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

    :root{
        --header-height:150px;
    }

    /* HEADER */
    .main-header{
        padding:20px 20px 0;
    }
    .main-header.scrolled{
        padding:13px 20px 0;
    }
    .main-header__menus{
        gap:50px;
    }
    .main-header__logo .sitelogo{
        width:80px;
        transition:var(--transition);
    }
    .main-header.scrolled .main-header__logo .sitelogo{
        width:60px;
    }
    .main-header__menu{
        padding:24px 0;
    }
    .main-header.scrolled .main-header__menu{
        padding:14px 0;
    }

    .main-drawer__menu>a{
        font-size:18px;
    }


    /* FOOTER */

    .main-footer__box{
        border-top-left-radius:30px;
        border-top-right-radius:30px;
    }
    .main-footer__address{
        font-size:14px;
    }
    .main-footer__menusections{
        flex-wrap:wrap;
        justify-content:flex-start;
        gap:30px;
    }


    /* TOP */

    .top-concept__text{
        font-size:16px;
    }


    /* BUSINESS */

    .business-mv{
        padding-top:100px;
    }
    .business-concept__articles{
        gap:50px;
    }


    /* COMPANY */

    /*
    .company-message__images{
        max-width:500px;
        padding-top:60px;
    }
    */
    .company-philosophy{
        padding-top:150px;
    }
    .company-philosophy__box__text{
        font-size:22px;
    }
    .company-overview__dls dl{
        font-size:18px;
    }
    .company-history__list__text{
        font-size:14px;
    }
    .company-history__sliderwrap .swiper-pagination{
        gap:20px;
    }


    /* STORES */

    .ph-archive__articles__cat{
        padding-top:0;
    }

    .ph-archive__articles__term__title{
        font-size:36px;
    }

    .ph-archive__store{
        border-radius:50px;
        padding:30px;
    }
    .ph-archive__store__head__title--area{
        font-size:14px;
    }
    .ph-archive__store__head__title--name{
        font-size:18px;
    }
    .ph-archive__store__icon {
        top: -20px;
        right: 20px;
        width: 65px;
        height: 80px;
    }


    /* CSR */
    .sust-esg__text{
        font-size: 14px;
    }
    .sust-csr{
        padding-top:160px;
    }

}

@media only screen and (max-width:1280px) and (min-width:1025px){

    body{
        min-width:1280px;
        background-size:1600px;
    }

}

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

    /* HEADER */
    .main-header__menus{
        display:none;
    }

    .main-drawer{
        padding:60px 50px 0;
    }


    /* FOOTER */
    .footer-biglinks{
        flex-wrap:wrap;
        gap:20px;
    }
    .footer-biglink a{
        height:120px;
    }
    .footer-biglink__texts--en{
        font-size:24px;
    }
    .footer-biglink__icon{
        width:58px;
    }

    .main-footer__flex{
        align-items:flex-end;
    }
    .main-footer__logo .sitelogo{
        width:200px;
    }
    .main-footer__address{
        margin-top:20px;
        font-size:13px;
        line-height:1.6;
    }
    .main-footer__banner img{
        width:280px;
    }
    .main-footer__menusections{
        display:none;
    }

    .main-footer__bottomlinks li{
        font-size:12px;
    }

    .main-footer__copyright{
        font-size:12px;
    }




    /* TOP */
    .top-mv__title{
        font-size:16px;
    }
    .top-mv__flex{
        gap:50px;
    }
    .top-mv__logosection__image{
        text-align:left;
    }
    .top-mv__mainimage,
    .top-mv__logosection{
        width:calc(50% - 25px);
    }
    .top-mv__scroll{
        bottom:-50px;
    }

    .top-concept__flex{
        gap:50px;
    }
    .top-concept__text{
        font-size:14px;
    }

    .top-business__flex{
        flex-wrap:wrap;
    }
    .top-business__link__title{
        font-size:22px;
    }
    .top-business__link__title small{
        font-size:15px;
    }
    .top-business__links{
        gap:30px;
    }
    .top-business__link__image img{
        border-radius:20px;
    }
    .top-business__hv{
        display:none;
    }
    .top-business{
        padding-bottom:100px;
    }

    .top-store__head{
        flex-wrap:wrap;
        gap:20px 40px;
    }
    .top-store__title{
        width:100%;
    }
    .top-store__title--en{
        font-size:24px;
    }
    .top-store__title--jp{
        font-size:14px;
    }

    .top-store-slide__shopname {
        margin: 10px 0;
        font-size: 18px;
    }
    .top-store-slide__infotext {
        font-size: 14px;
        line-height: 1.6;
    }

    .top-news__flex{
        flex-wrap:wrap;
        gap:40px;
    }
    .top-news__head{
        width:100%;
        display:flex;
        justify-content:space-between;
        align-items:flex-end;
    }
    .top-news__link{
        margin-top:0;
    }



    /* PAGE */

    .page-mv__titles{
        padding:40px 0 20px;
    }
    .page-mv__title{
        font-size:20px;
        margin-top:30px;
    }


    /* BUSINESS */

    .business-mv{
        padding-top:40px;
    }
    .business-mv__imagesec{
        width:50%;
        padding-right:20px;
        margin-right:0;
    }
    .business-mv__text{
        font-size:17px;
    }

    .business-concept>.page-inner{
        padding-top:0;
    }
    .business-concept__title__hv {
        display:none;
    }

    .business-concept__subtitle{
        font-size:24px;
        text-align:center;
    }
    .business-concept__hv{
        display:none;
    }

    .business-concept__flex{
        justify-content:center;
    }
    .business-concept__title{
        margin:0 auto;
    }
    .business-concept__articles{
        gap:30px;
    }
    .business-concept__article__title{
        font-size:22px;
        width:100%;
    }
    .business-concept__article__head{
        flex-wrap:wrap;
        gap:10px;
        margin-top:18px;
    }

    .business-phar{
        padding-top:80px;
        padding-bottom:80px;
    }
    .business-phar__articles{
        margin-top:100px;
    }
    .business-phar__article.article01:not(:last-child){
        margin-bottom:80px;
    }

    .business-phar__article__title{
        font-size:20px;
    }
    .business-phar__article__flex{
        flex-wrap:wrap;
        justify-content:space-between;
    }

    .business-cs__box__hv{
        position:relative;
        top:0;
        margin-top:40px;
        width:100%;
        text-align:center;
    }
    .business-cs__title__text{
        font-size:26px;
    }
    .business-cs__title__text small{
        font-size:18px;
    }
    .business-cs__subtitle{
        margin:30px 0;
        font-size:28px;
    }
    .business-cs__flex{
        flex-wrap:wrap;
        gap:150px;
        justify-content:center;
    }





    /* COMPANY */

    .company-message__images{
        padding-top:0;
        margin:0 auto;
    }
    .company-message__images__image img{
        max-width:100%;
        width:100%;
        border-radius:30px;
    }
    .company-message__images__names{
        margin-top:18px;
    }
    .company-message__images__names--div{
        font-size:16px;
    }
    .company-message__images__names--name{
        font-size:24px;
    }

    .company-philosophy__boxes{
        margin-top:40px;
        grid-template-columns:1fr;
        gap:30px 0;
    }

    .company-overview{
        padding-top:100px;
    }
    .company-overview__dls dl{
        font-size:16px;
    }

    .company-history{
        padding-top:100px;
    }
    .company-history__box__title{
        font-size:60px;
    }
    .company-history__box__title small{
        font-size:28px;
    }
    .company-history__box{
        padding:40px;
    }
    .company-history__sliderwrap .swiper-button-prev, .company-history__sliderwrap .swiper-button-next{
        width:50px;
        height:50px;
    }
    .company-history__sliderwrap .swiper-button-prev{
        left:-20px !important;
    }
    .company-history__sliderwrap .swiper-button-next{
        right:-20px !important;
    }
    .company-history__sliderwrap .swiper-pagination-bullet{
        width:15px;
        height:15px;
    }
    .company-history__sliderwrap .swiper-pagination{
        gap:14px;
    }

    .company-access{
        padding-top:100px;
    }
    .company-access__map{
        margin-top:50px;
    }
    .company-access__address{
        margin-top:30px;
        font-size:18px;
    }




    /* STORES */

    .ph-archive__filter{
        padding-top:80px;
    }
    .ph-archive__filter__box{
        padding:50px;
        border-radius:50px;
    }
    .ph-archive_filter__link:not(:last-child){
        margin-bottom:18px;
    }
    .ph-archive_filter__link{
        gap:20px;
    }
    .ph-archive__filter__link__children{
        gap:8px;
    }
    .ph-archive__filter__title span{
        font-size:14px;
    }
    .ph-archive__filter__title{
        font-size:16px;
    }

    .ph-archive__articles__term{
        padding-top:100px;
    }
    .ph-archive__articles__term__title{
        font-size:24px;
    }
    .ph-archive__articles__term__title small{
        font-size:18px;
    }

    .ph-archive__stores{
        gap:30px;
        grid-template-columns:repeat(2,1fr);
    }
    .ph-archive__store__head__image{
        width:88px;
    }
    .ph-archive__store__head__image img{
        border-radius:14px;
    }
    .ph-archive__store__head__title{
        width:calc(100% - 108px);
    }


    .ph-single__head__area span{
        font-size:14px;
    }
    .ph-single__head__shopname{
        font-size:28px;
    }
    .ph-single__gallery{
        gap:20px;
    }
    .ph-single__gallery img{
        width:calc((100% - 20px) / 2);
    }

    .ph-single__post__title{
        font-size:20px;
    }

    .ph-single__body dl dt{
        font-size:16px;
        width:140px;
    }
    .ph-single__body dl dd{
        font-size:16px;
        width:calc(100% - 140px);
    }

    .ph-single__link a::after{
        width:40px;
        height:40px;
        top:9px;
        right:10px;
    }




    /* CSR */

    .sust-esg{
        padding-top:80px;
    }
    .sust-esg__flex{
        flex-wrap:wrap;
        gap:40px;
    }
    .sust-esg__content{
        width:100%;
    }
    .sust-esg__images{
        width:100%;
        text-align:center;
    }
    .sust-esg__images img{
        max-width:70%;
    }

    .sust-esgarticle__flex{
        flex-wrap:wrap;
        gap:30px;
    }
    .sust-esgarticle__content{
        width:100%;
        gap:0 30px;
    }
    .sust-esgarticle__image{
        width:100%;
        max-width:420px;
        margin:0 auto;
    }

    .sust-articles{
        padding-top:0px;
    }
    .sust-articles__subtitle{
        font-size:24px;
    }
    .sust-articles__mainsubtitle{
        font-size:16px;
    }

    .sust-article{
        flex-wrap:wrap;
        gap:40px;
    }
    .sust-article__content{
        width:100%;
    }
    .sust-article__head__icon{
        width:60px;
    }
    .sust-article__image{
        width:100%;
        max-width:500px;
        margin:0 auto;
    }
    .sust-article__titles{
        margin-top:20px;
    }
    .sust-article__title{
        font-size:20px;
    }
    .sust-article__lists{
        margin-top:20px;
    }

    .sust-csr__head__hv{
        display:none;
    }
    .sust-csr__head__title{
        margin-top:30px;
        font-size:20px;
    }
    .sust-csr__articles{
        gap:20px;
    }

    .sust-csr__article__title{
        font-size:18px;
        margin:20px 0;
    }




    /* NEWS */

    .archive-category__select a{
        font-size:15px;
        padding:6px 12px;
    }

    .wp-pagenavi a, .wp-pagenavi span{
        width:30px;
        height:30px;
    }

    .news-archive__article__date{
        font-size:15px;
        width:130px;
    }
    .news-archive__article__category{
        width:150px;
        padding:10px;
    }
    .news-archive__article__body{
        width:calc(100% - 280px);
        padding-left:24px;
    }
    .news-archive__article__title{
        margin-bottom:4px;
        font-size:18px;
    }

    .single-head{
        padding-top:80px;
        padding-bottom:40px;
        margin-bottom:40px;
    }
    .single-title{
        font-size:24px;
    }
    .single-head__cat span{
        font-size:13px;
        padding:6px 12px;
    }
    .single-body{
        margin-top:50px;
    }
    .single-thumbnail{
        margin-bottom:50px;
    }
    .editor-content p{
        font-size:14px;
    }
    .editor-content li{
        font-size:14px;
        padding-bottom:10px;
    }

}






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

    :root{
        --header-height:120px;
    }

    p{
        font-size:14px;
    }

    /* HEADER */

    .main-header{
        padding: 10px 10px 0;
    }
    .main-header.scrolled{
        padding: 10px 10px 0;
    }

    .main-header__logo .sitelogo{
        width:50px;
    }
    .main-header.scrolled .main-header__logo .sitelogo{
        width:50px;
    }


    /* DRAWER */
    .main-drawer{
        border-radius:0;
    }



    /* FOOTER */
    .footer-biglinksection{
        margin-top:70px;
    }
    .footer-biglink a{
        height:80px;

        padding: 0 30px;

        font-size:16px;
    }
    .footer-biglink__texts--en {
        font-size: 18px;
    }
    .footer-biglink__icon{
        width:40px;
        line-height:0;
    }

    .main-footer{
        margin-top:70px;
    }
    .main-footer__inner{
        padding:0 20px;
    }
    .main-footer__flex{
        flex-wrap:wrap;
        justify-content:center;
        gap:20px;
    }
    .main-footer__address{
        margin-top:10px;
    }
    .main-footer__bottoms{
        flex-wrap:wrap;
        gap:12px 0;
    }
    .main-footer__bottomlinks{
        width:100%;
        text-align:center;
    }
    .main-footer__copyright{
        width:100%;
        text-align:center;
    }




    /* TOP */

    .top-mv__flex{
        flex-wrap:wrap;
        padding:0 20px;
        gap:20px;
    }
    .top-mv__mainimage, .top-mv__logosection{
        width:100%;
    }
    .top-mv__logosection{
        margin:0 auto;
    }

    .top-concept__maintitle{
        font-size:18px;
        margin-bottom:20px;
    }
    .top-concept__flex{
        flex-wrap:wrap;
        gap:20px;
    }
    .top-concept__mainimage{
        transform:none;
    }
    .top-concept__hv{
        width:34%;
        margin-left: auto;
    }

    .top-business{
        padding:0 0 80px;
    }
    .top-business__links{
        grid-template-columns:1fr;
        gap:30px;
    }
    .top-business__link{
        padding-right:0;
    }
    .top-business__link__title{
        font-size:18px;
    }
    .top-business__link__title small{
        font-size:12px;
    }

    .top-company{
        padding-top:60px;
    }
    .top-company__flex{
        flex-wrap:wrap;
        gap:30px;
        padding:0 20px;
    }
    .top-company__contentbox{
        padding:0;
        width:100%;
    }
    .top-company__content{
        width:100%;
        order:1;
    }
    .top-company__mainimage{
        width:100%;
        order:2;
        text-align:right;
    }


    .top-store__hv{
        width: 50%;
        right: 25%;
        top: -16%;
    }
    .top-store__container{
        padding-top:31vw;
    }
    .top-store__title{
        flex-wrap:wrap;
        gap:10px;
    }

    .top-store__head{
        justify-content:flex-end;
        margin-bottom:20px;
    }
    .top-store__slidecontrols{
        gap:10px;
        margin:0 auto;
    }
    .top-store__link{
        width:100%;
        text-align:right;
    }
    .top-store__link .common-link02 a{
        margin-left:auto;
    }
    .top-store-sliderwrap{
        padding:30px;
    }

    .top-store-sliderwrap{
        border-radius:0;
    }
    .top-store-sliderwrap::before{
        content: '';
        position: absolute;
        background: #FFF;
        height: 100%;
        top: 0;
        right: 100%;
        width:20px;
    }


    /* PAGES */

    .page-mv{
        flex-wrap:wrap;
        gap:60px;
        padding:0 20px;
    }
    .page-mv__titles{
        padding-top:0;
    }
    .page-mv__titlesec{
        padding:0;
        width:100%;
    }
    .page-mv__title--en{
        font-size:32px;
    }
    .page-mv__title{
        font-size:18px;
        margin-top:10px;
    }

    .page-mv__imagesec{
        width:100%;
        padding:0;
    }




    /* BUSINESS */
    
    .business-mv__imagesec{
        padding:0;
        width:100%;
    }

    .business-concept__articles{
        grid-template-columns:1fr;
        gap:40px;
    }
    .business-concept__article__title{
        font-size:20px;
    }
    .business-concept__article__tag{
        margin-left:auto;
    }
    .business-concept__article__text{
        font-size:14px;
    }

    .business-phar{
        overflow:hidden;
    }
    .business-phar__article__flex{
        gap:30px;
    }
    .business-phar__article__head{
        gap:20px;
        margin-bottom:20px;
    }
    .business-phar__article__title{
        font-size:16px;
    }
    .business-phar__article.article02:not(:last-child){
        margin-bottom:60px;
    }

    .business-cs__box{
        padding:60px 0;
        border-radius:30px;
    }
    .business-cs__title{
        padding:10px 20px;
    }
    .business-cs__title__text{
        flex-wrap:wrap;
        gap:0 10px;
        font-size:20px;
    }
    .business-cs__title__text small{
        font-size:12px;
    }
    .business-cs__subtitle{
        margin:20px 0;
        font-size:20px;
    }
    .business-cs__text{
        font-size:16px;
    }
    .business-cs__point__box{
        padding:40px 20px;
    }
    .business-cs__point__box__title{
        font-size:20px;
    }




    /* COMPANY */

    .company-message__title{
        font-size:20px;
    }
    .company-message__text{
        font-size:14px;
    }

    .company-message__images__names--div{
        font-size:14px;
    }
    .company-message__images__names--name{
        font-size:18px;
    }

    .company-philosophy__box__text{
        font-size:18px;
    }

    .company-overview__dls dl{
        flex-wrap:wrap;
        gap:10px;
    }
    .company-overview__dls dl dt{
        width:80px;
    }
    .company-overview__dls dl dd{
        width:100%;
        font-size:14px;
    }

    .company-history__slider{
        display:block !important;
    }

    .company-history__slide:not(:last-child){
        margin-bottom:50px;
    }
    .company-history__box{
        padding:30px 20px 20px;
    }
    .company-history__sliderwrap .swiper-pagination,
    .company-history__sliderwrap .swiper-button-prev,
    .company-history__sliderwrap .swiper-button-next{
        display: none !important;
    }

    .company-history__box__contents{
        grid-template-columns:1fr;
        gap:20px;
    }

    .company-access__address{
        font-size:14px;
    }





    /* STORES */

    .ph-archive__filter{
        padding-top:0;
    }
    .ph-archive__filter__box{
        padding:30px 20px;
        border-radius:20px;
    }

    .ph-archive_filter__link{
        flex-wrap:wrap;
        gap:10px;
    }
    .ph-archive__filter__link__children{
        width:100%;
    }
    .ph-archive__filter__link__cat a,
    .ph-archive__filter__link__children a{
        font-size:12px;
        width:94px;
        height:30px;
    }

    .ph-archive__articles__term{
        padding-top:60px;
    }

    .ph-archive__articles__term__title{
        font-size:20px;
    }
    .ph-archive__articles__term__title small{
        font-size:16px;
    }

    .ph-archive__stores{
        grid-template-columns:1fr;
    }

    .page-mv__image__main.ph-mv__image{
        display:none;
    }

    .ph-single__head__shopname{
        font-size:20px;
    }

    .ph-single__gallery{
        gap:10px;
    }
    .ph-single__gallery img{
        width:100%;
        border-radius:14px;
    }
    .ph-single__body dl{
        flex-wrap:wrap;
        gap:0px;
        padding:10px 0;
    }
    .ph-single__body dl dd{
        font-size:14px;
        width:100%;
    }

    .ph-line__link a{
        width:300px;
        font-size:14px;
    }
    .ph-single__link a{
        width:300px;
        font-size:14px;
    }





    /* NEWS */

    .archive-main{
        margin-top:60px;
    }
    .archive-pagenavi{
        margin-top:40px;
    }
    .archive-category__selector{
        gap:5px;
    }
    .archive-category__select a{
        font-size:12px;
    }

    .news-archive__article__blocks{
        flex-wrap:wrap;
    }
    .news-archive__article__category{
        padding:4px 10px;
    }
    .news-archive__article__body{
        width:100%;
        padding:10px 0 0;
    }
    .news-archive__article__title{
        font-size:16px;
    }
    .news-archive__article__excerpt{
        font-size:12px;
    }

    .wp-pagenavi a, .wp-pagenavi span{
        width:24px;
        height:24px;
        font-size:12px;
    }

    .single-head{
        margin-top:0;
        padding-top:0;
    }
    .single-title{
        font-size:20px;
    }
    .single-head__meta{
        margin-top:18px;
    }
    .single-head__cat span{
        font-size:12px;
        padding:2px 8px;
    }

    .editor-content h1{
        font-size:24px;
    }
    .editor-content h2{
        font-size:20px;
    }
    .editor-content h3{
        font-size:18px;
    }
    .editor-content h4{
        font-size:16px;
    }
    .editor-content h5{
        font-size:14px;
    }
    .editor-content h6{
        font-size:12px;
    }
    .editor-content>*{
        margin-bottom:20px;
    }
    .editor-content h1:not(:first-child), .editor-content h2:not(:first-child), .editor-content h3:not(:first-child), .editor-content h4:not(:first-child), .editor-content h5:not(:first-child), .editor-content h6:not(:first-child){
        margin-top:40px;
    }


    /* CSR */

    .sust-esg__flex{
        margin-top:20px;
    }
    .sust-esg__subtitle{
        font-size:20px;
    }
    .sust-esg02__hv{
        display:none;
    }
    .sust-esgarticle__title--en{
        font-size:32px;
    }
    .sust-esgarticle__content{
        grid-template-columns:1fr;
        gap:0;
    }
    .sust-esgarticle__list li a{
        font-size:14px;
    }
    .sust-esgarticle__list:not(:first-child) li:first-child{
        border-top:0;
    }

    .sust-article{
        padding:30px 20px;
        border-radius:20px;
    }
    .sust-article__title{
        font-size:16px;
    }
    .sust-article__lists{
        padding-left:18px;
    }
    .sust-article__list{
        font-size:14px;
    }

    .sust-csr__head{
        flex-wrap:wrap;
        gap:30px;
    }
    .sust-csr__head__title{
        margin-top:20px;
        font-size:18px;
    }
    .sust-csr__head__content,
    .sust-csr__head__image{
        width:100%;
    }
    .sust-csr__articles{
        grid-template-columns:1fr;
    }
    .sust-csr__article__title{
        height:auto;
    }

}

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

    /* BUSINESS */
    .business-cs__point__box__hv {
        top: -30vw;
        width: 64%;
    }
}


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

    /* DRAWER */
    .main-drawer{
        height:100dvh;
        padding: 80px 20px 0;
    }
    .main-drawer__inner{
        padding-bottom:100px;
    }
}