body{
    font-family:var(--font-base);
    font-optical-sizing: auto;

    padding-top:var(--header-height);
}

@media only screen and (min-width:1025px){
    body{
        min-width:1280px;
    }
}

.font-en{
    font-family:var(--font-en);
    letter-spacing:0.08em;
}

a{
    transition:var(--transition);
}
a.pe-none{
    pointer-events:none;
}
h1,h2,h3,h4,h5,h6,p,li,dt,dd{
    line-height:calc(26/16);
    letter-spacing:0.02em;
    font-weight:500;
}
img{
    vertical-align:top;
}
p{
    font-size:16px;
}
ul.common-ul{
    margin:0;
    padding-left:0.75em;
    margin-left:0.5em;
}
ul.common-ul li{
    line-height:calc(20/16);
}
ul.common-ul li:not(:last-child){
    margin-bottom:0.6em;
}
ul.common-ul li::marker{
    color:var(--color-red);
}


/* SYSTEM */

.page-inner{
    width:100%;
    max-width:1340px;
    padding:0 20px;
    margin:0 auto;
}


/* COMMON PARTS */

.common-hasiconlink{
    display:inline-flex;
    align-items:center;
    gap:10px;
}
.common-hasiconlink__icon{
    width:15px;
    height:16px;
}

.common-sectiontitle{
    position:relative;
    padding-top:calc(1em / 4 * 3);
    font-size:40px;
    font-weight:500;
    margin-bottom:0.5em;
}
.common-sectiontitle::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:2px;
    background:var(--color-red);
}

.common-sectionsubtitle{
    position:relative;
    padding-top:calc(1em / 4 * 3);
    font-size:24px;
    font-weight:500;
    margin-bottom:0.5em;
}
.common-sectionsubtitle::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:2px;
    background:var(--color-red);
}

.common-anker a{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--color-base);
    text-decoration:none;
}
.common-anker.center{
    text-align:center;
}
.common-anker.white a{
    color:#FFF;
}
.common-anker__icons{
    display:flex;
    align-items:center;
    gap:4px;
}
.common-anker__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
}
.common-anker__icon.icon--btn{
    border:1px solid var(--color-red);
    transition:var(--transition);
}
.common-anker .common-anker__icon img{
    transition:var(--transition);
}

@media only screen and (min-width:1025px){
    .common-anker a:hover .common-anker__text{
        text-decoration:underline;
    }
    .common-anker a:hover .common-anker__icon.icon--btn{
        background:var(--color-red);
    }
    .common-anker a:hover .common-anker__icon.icon--btn img{
        filter:brightness(0) invert(1);
    }
}

.common-anker.white .common-anker__icon.icon--btn{
    border-color:#FFF;
}
.common-anker.white .common-anker__icon img{
    filter:brightness(0) invert(1);
}
@media only screen and (min-width:1025px){
    .common-anker.white a:hover .common-anker__icon.icon--btn{
        background:#FFF;
    }
    .common-anker.white a:hover .common-anker__icon.icon--btn img{
        filter:none;
    }
}


.common-inpagelinkbar{
    position:relative;
    padding:28px 0;
}
.common-inpagelinkbar::before{
    content:'';
    width:100%;
    height:80px;
    position:absolute;
    top:0;
    left:0;
    background:-webkit-linear-gradient(top, #E5E5E5, #FFF);
    background:linear-gradient(to bottom, #E5E5E5, #FFF);
    z-index:-1;
}
.common-inpagelink__links{
    padding:0;
    margin:0;
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:10px 40px;
}
.common-inpagelink__link{
    margin:0;
    padding:0;
}
.common-inpagelink__link a{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--color-base);
    text-decoration:none;
}
.common-inpagelink__link__icon{
    width:13px;
    height:7px;
    display:block;
    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .common-inpagelink__link a:hover{
        text-decoration:underline;
        color:var(--color-red);
    }
    .common-inpagelink__link a:hover .common-inpagelink__link__icon{
        transform:translateY(4px);
    }
}



.common-whitebox-subtitle{
    font-size:10px;
    font-weight:900;
    position:absolute;
    top:10px;
    left:10px;
    color:var(--color-border-gray);
}



.common-table table{
    color:var(--color-base);
    background:#FFF;
    border-collapse:collapse;
    border:0;
    border-spacing:0;
    border-color:var(--color-border-gray);
}
.common-table table th,
.common-table table td{
    padding:20px;
    font-size:16px;
    line-height:calc(28/16);
    text-align:left;
    border:0px;
    border-collapse:collapse;
    border:1px solid var(--color-border-gray);
}
.common-table table th{
    background:var(--color-bg-lightred);
    font-weight:500;
    vertical-align:top;
}

.common-table__attention{
    margin-top:20px;
}


/* TEXTSLIDER */
.textslider-container{
    overflow:hidden;
}
.textslider,
.textslide {
  transition-timing-function: linear !important;
}
.textslide--shoes{
    width:calc(650 / 1920 * 100vw) !important;
}
.textslide--shoes img{
    width:calc(619 / 1920 * 100vw) !important;
}
.textslide--hiraki{
    width:calc(1000 / 1920 * 100vw) !important;
}
.textslide--hiraki img{
    width:calc(950 / 1920 * 100vw) !important;
}


/* HEADER */

.main-header{
    position:fixed;
    z-index:9;
    width:100%;
    height: var(--header-height);
    top:0;
    left:0;
    background:rgba(255,255,255,0.9);
    border-bottom:1px solid var(--color-red);
    transition:var(--transition);
}

@media only screen and (min-width:1025px){
    .main-header:not(:hover).scrolled{
        height:var(--header-height--scrolled);
    }
}

.main-header__container{
    height:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.main-header__logo{
    padding-left:20px;
}

.sitelogo,
.sitelogo a,
.sitelogo a img{
    display:block;
    margin:0;
    height:34px;
}

.main-header__menu__lists{
    display:flex;
    gap:20px;
    list-style:none;
    margin:0;
    padding:0;
}
@media only screen and (min-width:1440px){
    .main-header__menu__lists{
        gap:34px;
    }
}
.main-header__menu__list a{
    color:var(--color-base);
    text-decoration:none;
    font-size:14px;
    font-weight:500;
}
.main-header__menu__list.current-page a,
.main-header__menu__list a:hover{
    color:var(--color-red);
    text-decoration:underline;
}

.main-header__rightmenu{
    display:flex;
    align-items:center;
    gap:40px;
}

.main-header__langtoggles{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
    padding:0;
    list-style:none;
}
.main-header__langtoggler a{
    color:var(--color-base);
    text-decoration:none;
    font-size:12px;
    font-weight:500;
}
.main-header__langtoggler.current a{
    pointer-events:none;
    text-decoration:underline;
    color:var(--color-red);
}

.main-header__functions{
    display:flex;
    align-items:center;
    gap:20px;
    margin:0;
    padding:0;
    margin-right:40px;
    list-style:none;
}
.main-header__function,
.main-header__function a,
.main-header__function a img{
    display:block;
    width:20px;
    height:20px;
}


/* BREADCRUMBS */

.breadcrumbs a{
    text-decoration:underline;
}
.breadcrumbs span[property="name"]{
    font-size:14px;
}
.breadcrumbs span[property="itemListElement"]:not(:last-child) span[property="name"]{
    position:relative;
    padding-right:34px;
}
.breadcrumbs span[property="itemListElement"]:not(:last-child) span[property="name"]::after{
    content:'';
    position:absolute;
    right:13px;
    top:calc(50% - 4.5px);
    width:5px;
    height:9px;
    background:no-repeat center/contain url('./img/common/icon-caret-breadcrumb.svg');
}


/* HEADER - BREADCRUMBS */

.header-breadcrumb{
    position:absolute;
    z-index:8;
    top:calc(var(--header-height) + 20px);
    width:100%;
    left:0;
}
.header-breadcrumb.white .breadcrumbs a,
.header-breadcrumb.white .breadcrumbs span[property="name"]{
    color:#FFF;
}
.header-breadcrumb.white .breadcrumbs span[property="itemListElement"]:not(:last-child) span[property="name"]::after{
    filter:brightness(0) invert(1);
}



/* FOOTER - BREADCRUMBS */

.footer-breadcrumb{
    padding:140px 0 40px;
}


/* FOOTER - CONTACT FOOTER */

.contact-footer{
    color:#FFF;
    background:var(--color-base);

    padding:85px 0 55px;
}

.contact-footer__flex{
    display:flex;
    justify-content:space-between;
}
.contact-footer__flex__content{
    width:calc(100% - 520px);
}
.contact-footer__flex__links{
    width:420px;
}
.contact-footer__link a{
    display:block;
    position:relative;

    padding:30px 20px 16px;

    background:#FFF;
    border-radius:10px;

    text-align:center;

    color:var(--color-base);
    text-decoration:none;
}
.contact-footer__link__icon{
    margin-bottom:10px;
}
.contact-footer__link__icon img{
    width:80px;
}
.contact-footer__link__btn{
    display:flex;
    justify-content:center;
    align-items:center;
    width:24px;
    height:24px;
    border:1px solid var(--color-red);

    position:absolute;
    top:calc(50% - 12px);
    right:20px;

    transition:var(--transition);
}
.contact-footer__link__btn img{
    transition:var(--transition);
}

@media only screen and (min-width:1025px){
    .contact-footer__link a:hover{
        color:#FFF;
        background:var(--color-red);
    }
    .contact-footer__link a:hover .contact-footer__link__btn{
        border-color:#FFF;
    }
    .contact-footer__link a:hover .contact-footer__link__btn img{
        filter:brightness(0) invert(1);
    }
}

.contact-footer__tel{
    display:flex;
    justify-content:center;
    align-items:center;

    margin-top:40px;
}
.contact-footer__tel__title{
    margin-right:40px;
}
.contact-footer__tel__link{
    display:flex;
    align-items:center;
    gap:10px;

    margin-right:20px;
}
.contact-footer__tel__link__icon{
    display:block;
}
.contact-footer__tel__link a{
    color:#FFF;
    text-decoration:none;
    font-size:41px;
    font-weight:900;
}
@media only screen and (min-width:1025px){
    .contact-footer__tel__link a:hover{
        color:var(--color-red);
        text-decoration:underline;
    }
}
.contact-footer__tel__desc{
    font-size:12px;
}

/* FOOTER - MAIN */

.main-footer{
    background:var(--color-bg-gray);
    padding: 60px 0;
}

.main-footer__menus{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:60px 20px;
}

.main-footer__menu__top{
    position:relative;
    padding-bottom:6px;
    margin-bottom:1em;
}
.main-footer__menu__top::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:1px;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}
.main-footer__menu__top a{
    color:var(--color-base);
    text-decoration:none;
}
.main-footer__menu__links{
    list-style:none;
    padding:0;
}
.main-footer__menu__link:not(:last-child){
    margin-bottom:6px;
}
.main-footer__menu__link a{
    position:relative;
    padding-left:17px;

    display:block;
    font-size:12px;

    color:var(--color-base);
    text-decoration:none;
}
.main-footer__menu__link a::before{
    content:'';
    position:absolute;
    width:7px;
    height:10px;
    top:calc(50% - 5px);
    left:0;
    background: no-repeat center/contain url('img/common/icon-caret-red.svg');
    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .main-footer__menu__top a:hover,
    .main-footer__menu__link a:hover{
        color:var(--color-red);
        text-decoration:underline;
    }
    .main-footer__menu__link a:hover::before{
        left:5px;
    }
}


/* FOOTER - BOTTOM FOOTER */

.bottom-footer{
    padding:13px 0;
    color:#FFF;
    background:var(--color-red);
}

.bottom-footer__container{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
}

.bottom-footer__logo{
    padding-right:40px;
}

.bottom-footer__links{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}
.bottom-footer__link a{
    position:relative;
    padding-left:17px;
    display:block;
    font-size:12px;
    color:#FFF;
    text-decoration:none;
}
.bottom-footer__link a::before{
    content:'';
    position:absolute;
    width:7px;
    height:10px;
    top:calc(50% - 5px);
    left:0;
    background: no-repeat center/contain url('img/common/icon-caret-white.svg');
    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .bottom-footer__link a:hover{
        text-decoration:underline;
    }
    .bottom-footer__link a:hover::before{
        left:5px;
    }
}

.bottom-footer__copyright{
    margin-left:auto;
    font-size:12px;
}



/* FOOTER - CORP MENU */

.corp-footermenusec{
    position:relative;
    background:var(--color-bg-gray);
    padding:80px 0 60px;
}

.corp-footermenusec__ts01{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    transform:translateY(-50%);
    mix-blend-mode:multiply;
}

.corp-footermenus{
    display:grid;
    grid-template-columns: repeat(4,1fr);
    gap:40px 20px;
}

.corp-footermenu__thumb{
    border:1px solid var(--color-border-gray);
    border-radius:10px;
    overflow:hidden;
}
.corp-footermenu__thumb a img{
    transition:var(--transition);
    width:100%;
    height:auto;
    aspect-ratio:31/22;
    object-fit:cover;
    object-position:center;
}
@media only screen and (min-width:1025px){
    .corp-footermenu__thumb a:hover img{
        transform:scale(1.1);
    }
}
.corp-footermenu__anker{
    margin-top:10px;
}



/* COMMON PAGE(PARENT) MV */

.cpage-mv{
    position:relative;
    padding-top:180px;
    padding-bottom:100px;
}
.cpage-mv__title{
    position:relative;
    color:var(--color-red);
    font-size:60px;
    padding-top:40px;
}
.cpage-mv__title::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100px;
    height:2px;
    background:var(--color-red);
}
.cpage-mv__title.white{
    color:#FFF;
}
.cpage-mv__title.white::before{
    background:#FFF;
}

.cpage-parent-mv__img{
    position:absolute;
    width:calc(930 / 1920 * 100%);
    top:calc(-1 * var(--header-height));
    right:calc(90 / 1920 * 100%);
}


/* COMMON PAGE(CHILD) MV */

.cpage-child-mv__img{
    position:absolute;
    width:calc(550 / 1920 * 100%);
    top:calc(-1 * var(--header-height));
    right:calc(190 / 1920 * 100%);
}


/* TOP (INDEX) */

.top-mv{
    position:relative;

    padding:130px 0 100px;
}

.top-mv__ts01{
    position:absolute;
    width:100%;
    top:calc((8 / 1920) * 100vw * -1);
    left:0;
}

.top-mv__ts02{
    position:absolute;
    width:100%;
    bottom:0;
    left:0;
}

.top-mv__bg{
    position:absolute;
    top:0;
    right:0;
    width:calc(680 / 1920 * 100vw);
}

.top-mv__logo{
    text-align:center;
    margin-bottom:70px;
}

.top-mv__mainslider__container{
    position:relative;
}
.top-mv__mainslider__bg{
    position:absolute;
    height:4px;
    width:100%;
    top:calc(50% - 2px);
    left:0;
}
.top-mv__mainslider__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.top-mv__mainslide__box{
    position:relative;
    padding:12px;
    z-index:1;
    transition:var(--transition);
}
.top-mv__mainslide.swiper-slide-active{
    z-index:3;
}
.top-mv__mainslide:not(.swiper-slide-active){
    opacity:0.2;
    pointer-events:none;
}

.top-mv__mainslide__catnames{
    position:absolute;
    z-index:2;
    top:0;
    left:0;
}
.top-mv__mainslide__catname{
    display:block;
    width:max-content;
    background:#FFF;
    border:1px solid var(--color-red);
    padding:2px 10px;
    color:var(--color-red);
    font-size:12px;
    font-weight:bold;
}
.top-mv__mainslide__img{
    border-radius:20px;
    overflow:hidden;
}
.top-mv__mainslide__img a img{
    width:100%;
    height:auto;
    aspect-ratio:14/8;
    object-fit:cover;
    object-position:center;
    transition:var(--transition);
}
.top-mv__mainslide__img a:hover img{
    transform:scale(1.05);
}
.top-mv__mainslide__desc{
    position:absolute;
    left:calc(100% + 20px);
    bottom:15px;
    width:100%;
    max-width:258px;
    transition:var(--transition);
}
.top-mv__mainslide:not(.swiper-slide-active) .top-mv__mainslide__desc{
    opacity:0;
}
.top-mv__mainslide__desc__title{
    font-size:24px;
    padding-top:0.91em;
    position:relative;
}
.top-mv__mainslide__desc__title::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:2px;
    background:var(--color-red);
}
.top-mv__mainslide__desc__text{
    font-size:12px;
    margin-top:10px;
}


.top-mv__maimnslide__btn--next,
.top-mv__maimnslide__btn--prev{
    position:absolute;
    z-index:4;
    top:calc(50% - 20px);

    width:40px;
    height:40px;

    cursor:pointer;
}
.top-mv__maimnslide__btn--next{
    left:calc(50% + 350px + 12px + 20px);
}
.top-mv__maimnslide__btn--prev{
    right:calc(50% + 350px + 12px + 20px);
}


.top-mv__mainthumbnails__container{
    margin-top:90px;
    padding-bottom:40px !important;
    border-bottom:1px solid var(--color-red);
}

.top-mv__mainthumbnails__controls{
    position:relative;
    margin-bottom:20px;
}
.top-mv__mainthumbnails__controls::before{
    content:'';

    position:absolute;
    z-index:-1;
    top:calc(50% - 0.5px);
    left:0;

    width:100%;
    height:1px;
    background:var(--color-red);
}
.top-mv__mainthumbnails__controls__title{
    color:var(--color-red);
    font-size:12px;
    font-weight:bold;
    position:absolute;
    top:0;
    left:25px;
}

.top-mv__mainthumbnails__controls__box{
    display:flex;
    flex-direction:row-reverse;
    gap:10px;
    padding-right:25px;
}

.top-mv__mainthumbnail{
    cursor:pointer;
}
.top-mv__mainthumbnail img{
    border-radius:10px;
    width:100%;
    height:auto;
    aspect-ratio:14/8;
    object-fit:cover;
    object-position:center;
}
.top-mv__mainthumbnail.swiper-slide-active img{
    opacity:0.2;
}

.top-mv__maimnslide__btn--next,
.top-mv__maimnslide__btn--prev,
.top-mv__mainthumbnails__control--next,
.top-mv__mainthumbnails__control--prev,
.top-mv__mainthumbnails__control--stop{
    cursor:pointer;
}



.top-mv__importantnews{
    margin-top:60px;

    display:flex;
    flex-wrap:wrap;
    gap:16px 32px;
    align-items:center;
}

.top-mv__importantnews__tag{
    width:156px;
    border:1px solid var(--color-base);
    display:flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    font-size:16px;
    white-space:nowrap;
}
.top-mv__importantnews__tag--icon{
    display:flex;
    align-items:center;
    justify-content:center;
}

.top-mv__importantnews__date{
    width:8em;
}

.top-mv__importantnews__title{
    font-size:16px;
    height:1.4em;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp:1;
}
.top-mv__importantnews__title a{
    color:var(--color-base);
}


.top-concept{
    position:relative;
    padding:160px 0 172px;
}
.top-concept__bg{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:-1;
}
.top-concept__bg__mov{
    width:100%;
    height:100%;
}
.top-concept__bg__mov video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.top-concept-bg__cover{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(to bottom, #E5E5E5, var(--color-red));
    mix-blend-mode:multiply;
}

.top-concept__text{
    color:#FFF;
    margin:60px 0;
}

.top-concept__ts01{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
}


.top-banners--section{
    padding-top:140px;
}

.top-banners{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.top-banner__anker{
    margin-top:10px;
}


.top-news{
    padding-top:140px;
    padding-bottom:160px;
}


.top-companylinksec__fv{
    position:relative;
}

.top-companylinksec__fv__bg img{
    min-height:800px;
    width:100%;
    object-fit:cover;
    object-position:top center;
}

.top-companylinks__ts01{
    position:absolute;
    width:100%;
    top:0;
    left:0;
    transform:translateY(-50%);
}

.top-companylinksec__title{
    position:absolute;
    top:220px;
    left:0;
    width:100%;
    padding:0 20px;
    text-align:center;
}

.top-companylinksec__linksec{
    border-top:1px solid var(--color-red);
    border-bottom:1px solid var(--color-red);
}
.top-compnaylinksec__links{
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0;
}
.top-companylinksec__link:nth-child(1){
    border-right:1px solid var(--color-red);
    padding-right:50px;
}
.top-companylinksec__link:nth-child(2){
    padding-left:50px;
}
.top-companylinksec__link__thumb{
    margin-top:-250px;
}
.top-companylinksec__link__thumb a{
    display:block;
    overflow:hidden;
    border-radius:10px;
}
.top-companylinksec__link__thumb a img{
    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .top-companylinksec__link__thumb a:hover img{
        transform:scale(1.05);
    }
}
.top-companylinksec__link__cont{
    position:relative;
    padding:30px 20px 60px;
}
.top-companylinksec__link__title{
    font-size:24px;
}
.top-companylinksec__anker{
    margin-top:20px;
}
.top-companylinksec__link__hovertext{
    position:absolute;
    color:var(--color-red);
    font-size:12px;
    font-weight:bold;
    bottom:60px;
    right:20px;
}

.top-mainlinksec{
    position:relative;
    padding:140px 0 160px;
}
@media only screen and (min-width:1025px){
    .top-mainlinksec .page-inner{
        max-width:1300px;
        padding:0;
    }
}
.top-mainlinksec__bg01{
    position:absolute;
    z-index:-1;
    top:0;
    right:0;
    width:709px;
}

.top-mainlinks{
    display:flex;
    align-items:flex-end;
}
.top-mainlinks.top-mainlinks--rev{
    flex-direction:row-reverse;
}
.top-mainlinks__img{
    position:relative;
    width:50%;
    height:500px;
}
.top-mainlinks__img__bg{
    position:absolute;
    max-width:unset;
    width:calc(100% + 240px);
    height:100%;
}
.top-mainlinks__img__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.top-mainlinks--nor .top-mainlinks__img__bg{
    left:0;
    border-top-right-radius:20px;
    overflow:hidden;
}
.top-mainlinks--rev .top-mainlinks__img__bg{
    right:0;
    border-top-left-radius:20px;
    overflow:hidden;
}
.top-mainlinks__img__title{
    position:absolute;
    top:calc(50% - 105px);
    left:0;
}
@media only screen and (min-width:1340px){
    .top-mainlinks__img__bg{
        width:calc(100% + 240px + ((100vw - 1300px) / 2));
    }
    .top-mainlinks--nor .top-mainlinks__img__bg{
        left:calc(((100vw - 1300px) / 2) * -1);
    }
    .top-mainlinks--rev .top-mainlinks__img__bg{
        right:calc(((100vw - 1300px) / 2) * -1);
    }
}
.top-mainlinks__contentbox{
    width:50%;
    padding:60px;
    background:transparent;
    backdrop-filter: blur(50px);
    --webkit-backdrop-filter: blur(50px);
    background-color: rgba(255, 255, 255, 0.5);
}
.top-mainlinks--nor .top-mainlinks__contentbox{
    border-top-left-radius:20px;
}
.top-mainlinks--rev .top-mainlinks__contentbox{
    border-top-right-radius:20px;
}
.top-mainlinks__content__text{
    margin-bottom:20px;
}
.top-mainlinks.top-mainlinks--rev{
    position:relative;
    padding-top:140px;
}
.top-mainlinks--rev__bg{
    position:absolute;
    z-index:-1;
    top:40px;
    left:-310px;
    width:584px;
}

.top-sublinksec{
    position:relative;
    padding:140px 0 180px;
}
.top-sublinksec__bg{
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.top-sublinksec__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.top-sublinksec__ts01{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    transform:translateY(-50%);
}
.top-sublinksec__ts02{
    position:absolute;
    bottom:20px;
    left:0;
    width:100%;
}

.top-sublinks{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
.top-sublinks:not(:last-child){
    padding-bottom:40px;
    margin-bottom:40px;
    border-bottom:1px dotted #FFF;
}
.top-sublink{
    display:flex;
}
.top-sublink__img{
    width:290px;
    border-top-left-radius:10px;
    border-bottom-left-radius:10px;
    border:1px solid var(--color-border-gray);
    overflow:hidden;
}
.top-sublink__img img{
    height:100%;
    object-fit:cover;
}
.top-sublink__content{
    background:#FFF;
    width:calc(100% - 290px);
    padding:40px;
    border-top-right-radius:10px;
    border-bottom-right-radius:10px;
}
.top-sublink__content__text{
    font-size:12px;
    margin:10px 0 20px;
}


/* PAGETOP NEWS */

.page-news__container{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:30px 0;
}
.page-news__titlehead{
    width:300px;
}
.page-news__main{
    width:calc(100% - 300px);
}
.page-news__titlehead__anker{
    margin-top:60px;
}
.page-news__titlehead__anker02{
    margin-top:30px;
}
.page-news-categorytogglers{
    list-style:none;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    padding:0;
    margin:0;
    padding-bottom:40px;
    margin-bottom:40px;
    border-bottom:1px solid var(--color-base);
}
.page-news-categorytoggler{
    position:relative;
    text-align:center;
    padding:20px 0;
    font-size:14px;
    transition:var(--transition);
}
.page-news-categorytoggler::before{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:2px;
    background:var(--color-red);
    opacity:0;
    transition:var(--transition);
}
.page-news-categorytoggler::after{
    content:'';
    position:absolute;
    bottom:2px;
    left:calc(50% - 3.5px);
    width:7px;
    height:6px;
    background:var(--color-red);
    clip-path:polygon(50% 0, 100% 100%, 0 100%);
    opacity:0;
    transition:var(--transition);
}
.page-news-categorytoggler.current{
    pointer-events:none;
}
.page-news-categorytoggler.current{
    color:var(--color-red);
}
.page-news-categorytoggler.current::before,
.page-news-categorytoggler.current::after{
    opacity:1;
}
@media only screen and (min-width:1025px){
    .page-news-categorytoggler:hover{
        color:var(--color-red);
    }
    .page-news-categorytoggler:hover::before{
        opacity:1;
    }
}
.js-inpage-categorytoggle{
    cursor:pointer;
}


/* NEWS - ARCHIVE */

.archive-mv{
    padding-bottom:230px;
}

.archive__categorytogglesec.categorytogglesec--top{
    padding-bottom:40px;
}
.archive__categorytogglesec.categorytogglesec--bottom{
    padding-bottom:160px;
}

.archive-categorytoggler__ul{
    list-style:none;
    padding:0;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-top:1px solid var(--color-border-gray);
}
.archive-categorytoggler__li:not(:last-child){
    border-right:1px solid var(--color-border-gray);
}
.archive-categorytoggler__li a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    height:61px;
    font-size:14px;
    text-decoration:none;
    color:var(--color-base);
}
.archive-categorytoggler__li a::before{
    content:'';
    position:absolute;
    width:calc(100% - 24px);
    left:12px;
    bottom:0;
    height:1px;
    background:var(--color-red);
    opacity:0;
    transition:var(--transition);
}
.archive-categorytoggler__li a::after{
    content:'';
    position:absolute;
    left:calc(50% - 3px);
    bottom:1px;
    width:6px;
    height:6px;
    clip-path:polygon(50% 0,100% 100%,0 100%);
    background:var(--color-red);
    opacity:0;
    transition:var(--transition);
}
.archive-categorytoggler__li.current a{
    color:var(--color-red);
}
.archive-categorytoggler__li.current a::before,
.archive-categorytoggler__li a:hover::before,
.archive-categorytoggler__li.current a::after{
    opacity:1;
}

.archive__yearselectorsec{
    padding:30px 0;
    background:var(--color-bg-gray);
}
.archive__yearselector__flex{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
}
.archive__yearselector__select select{
    width:400px;
    font-size:16px;
    filter:drop-shadow(0 2px 0 rgba(0,0,0,0.2));
}

.archive-articlesec{
    padding:100px 0;
}

.news-archive__article{
    border-bottom:1px solid var(--color-border-lightgray);
}
.news-archive__article a{
    text-decoration:none;
    color:var(--color-base);
}
.news-archive__article__container{
    height:110px;
    display:flex;
    align-items:center;
    gap:20px;
    padding:0 20px;
}
.news-archive__article__date{
    font-size:12px;
    width:100px;
}
.news-archive__article__cat{
    width:120px;
}
.news-archive__article__cat span{
    display:flex;
    align-items:center;
    justify-content:center;
    height:2em;
    color:#FFF;
    background:var(--color-base);
    font-size:12px;
    letter-spacing:0;
    line-height:1;
}
.news-archive__article__title{
    width:calc(100% - 100px - 120px - 40px);
    text-decoration:underline;

    overflow: hidden;
    display: -webkit-box;
    align-items: center;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp:2;
}
.text-wrapper{
    display: inline;
}
.news-archive__article__title__pdf{
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    height: 15px;
}
.news-archive__article__icon{
    display:flex;
    justify-content:center;
    width:20px;
    align-items:center;
    height:12px;
}
.news-archive__article__icon img{
    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .news-archive__article a:hover .news-archive__article__icon img{
        transform:translateX(10px);
    }
}


.archive-pagenation{
    margin-top:40px;
}
.wp-pagenavi{
    display:flex;
    justify-content:center;
    gap:4px;
}
.wp-pagenavi span,
.wp-pagenavi a{
    display:flex;
    width:40px;
    height:40px;
    border:1px solid var(--color-red) !important;
    font-size:22px;
    align-items:center;
    justify-content:center;
}
.wp-pagenavi span.current{
    color:#FFF;
    background:var(--color-red);
}
.wp-pagenavi a{
    color:var(--color-red);
    border-color:var(--color-red) !important;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink{
    color:var(--color-base);
    border-color:var(--color-base) !important;
}
.wp-pagenavi a.first,
.wp-pagenavi a.last{
    color:#B1B1B1;
    border-color:#B1B1B1 !important;
}
.wp-pagenavi span.extend{
    border:0 !important;
}
@media only screen and (min-width:1025px){
    .wp-pagenavi a:hover{
        color:#FFF;
        background:var(--color-red);
        border-color:var(--color-red) !important;
    }
}




/* NEWS - SINGLE */

main.single{
    padding:100px 0 160px;
}

.single-article__header{
    position:relative;
    padding-bottom:40px;
    margin-bottom:60px;
}
.single-article__header::after{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}

.single-article__category{
    margin-bottom:20px;
}
.single-article__category span{
    display:inline-block;
    padding:6px 12px;
    color:#FFF;
    background:var(--color-base);
}

.single-article__header__title{
    font-size:42px;
}

.single-article__content>*{
    margin-bottom:30px;
}
.single-article__content h1,
.single-article__content h2,
.single-article__content h3,
.single-article__content h4,
.single-article__content h5,
.single-article__content h6{
    font-weight:bold;
}
.single-article__content h1{
    font-size:42px;
}
.single-article__content h2{
    font-size:36px;
}
.single-article__content h3{
    font-size:24px;
}
.single-article__content h4{
    font-size:18px;
}
.single-article__content h5,
.single-article__content h6{
    font-size:14px;
}

.single-article__footer{
    padding-top:60px;
}




/* INNER PAGE COMMON PARTS */
.page-common__pagelinks{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px 20px;
}
.page-common__pagelink{
    border:1px solid var(--color-border-lightgray);
    border-radius:10px;
    overflow:hidden;

    display:flex;
    align-items:center;
}
.page-common__pagelink__thumb{
    width:290px;
    overflow:hidden;
}
.page-common__pagelink__thumb img{
    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .page-common__pagelink__thumb a:hover img{
        transform:scale(1.1);
    }
}
.page-common__pagelink__content{
    padding:0 30px;
}
.page-common__pagelink__title{
    position:relative;
    padding-top:20px;
    font-size:24px;
    margin-bottom:20px;
}
.page-common__pagelink__title::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:1px;
    background:var(--color-red);
}



/* CONCEPT - TOP */

.concept-top-mv{
    padding-bottom:230px;
}
.concept-top-mv__img{
    position:absolute;
    top:calc(-1 * var(--header-height));
    right:0;
    width:calc(1220 / 1920 * 100%);
}

.concept-footerlinks{
    padding-bottom:160px;
}

.concept-footerlinks__title{
    margin-top:140px;
    margin-bottom:60px;
}




/* CONCEPT - VISION */
.vision-mv{
    position:relative;
    padding:180px 0 282px;
}
.vision-mv__bg{
    position:absolute;
    top:calc(-1 * var(--header-height));
    left:0;
    width:100%;
    height:calc(100% + var(--header-height));
}
.vision-mv__bg video{
    width:100%;
    height:100%;
    object-fit:cover;
}
.vision-mv__bg::after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(to bottom, #E5E5E5, #CD1203);
    background:-webkit-linear-gradient(top, #E5E5E5, #CD1203);
    mix-blend-mode:multiply;
}

.vision-mv__flex{
    display:flex;
    justify-content:space-between;
}
.vision-mv__flex__title{
    width:50%;
}
.vision-mv__flex__content{
    width:50%;
    color:#FFF;
    position:relative;
}
.vision-mv__enline{
    font-size:60px;
    font-weight:bold;
    line-height:calc(80/60);
    text-transform:uppercase;
    margin-bottom:40px;
}
.vision-mv__subline{
    font-size:12px;
    line-height:calc(16/12);
    text-transform:uppercase;
}

.vision-mv__ts01{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
}

.vision-section{
    padding-top:140px;
}
.vision-section:not(:last-of-type){
    padding-top:100px;
}
.vision-headsection__flex{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:0 50px;
}
.vision-headsection__flex__main{
    width:610px;
}
.vision-headsection__flex__text{
    padding-top:150px;
    width:600px;
}
.vision-headsection__mainimg{
    margin-top:-60px;
}
.vision-headsection__maintext{
    line-height:calc(28/16);
}
.vision-headsection__picture{
    margin-top:60px;
}
.vision-headsection__picture img{
    width:100%;
    max-width:570px;
}

.vision-rinen{
    padding-top:100px;
}
.vision-rinen__flex{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:40px;
    margin-bottom:60px;
}
.vision-rinen__flex__content{
    width:100%;
    max-width:600px;
}
.vision-rinen__flex__img{
    width:100%;
    max-width:600px;
}

.vision-rinen__lists dl{
    display:flex;
    font-size:24px;
    font-weight:900;
    padding-bottom:40px;
    margin-bottom:30px;
    border-bottom:1px solid var(--color-red);
}
.vision-rinen__lists dl dt{
    width:2.5em;
}
.vision-rinen__lists dl dd{
    margin:0;
    width:calc(100% - 2.5em);
}


/* CONCEPT - TOP MESSAGE */

.tmessage{
    overflow:hidden;
}

.tmessage-mv{
    position:relative;

    padding-top:180px;
    padding-bottom:230px;
}
.tmessage-mv__bg01{
    position:absolute;
    width:calc(750 / 1920 * 100%);
    top:calc(-1 * var(--header-height));
    left:calc(140 / 1920 * 100%);
}
.tmessage-mv__bg02{
    position:absolute;
    width:calc(950 / 1920 * 100%);
    top:calc(-1 * var(--header-height));
    right:0;
}
.tmessage-mv__bg02 img{
    border-bottom-left-radius:10px;
}

.tmessage-main01__title{
    font-size:24px;
    line-height:calc(34/24);
    margin-bottom:40px;
}
.tmessage-main__wideimg{
    margin:60px 0;
}
.tmessage-main__wideimg{
    position:relative;
    left:-20px;
    max-width:unset;
    width:calc(100% + 40px);
}
@media only screen and (min-width:1341px){
    .tmessage-main__wideimg{
        left:calc(-1 * ((100vw - 1300px) / 2));
        width:100vw;
    }
}

.tmessage-main__signatures{
    margin-top:40px;
}
.tmessage-main__signatures span{
    display:block;
    text-align:right;
    margin-bottom:8px;
}
.tmessage-main__signatures{
    margin-bottom:20px;
}

.tmessage-main01__contents{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:50px 4%;
}
.tmessage-main01__contents__body{
    width:100%;
}
.tmessage-main01__contents__image{
    width:100%;
    text-align:center;
}
.tmessage-main01__contents__image img{
    border-radius:10px;
    max-width:100%;
}
@media only screen and (min-width:481px){
    .tmessage-main01__contents__image img{
        max-width:480px;
    }
}
@media only screen and (min-width:1025px){
    .tmessage-main01__contents__body{
        width:60%;
    }
    .tmessage-main01__contents__image{
        width:33%;
    }
    .tmessage-main01__contents__image img{
        border-radius:20px;
        max-width:100%;
    }
}

.tmessage-main02{
    overflow:hidden;
    margin-top:180px;
    position:relative;
}
.tmessage-main02__tses{
    position:absolute;
    top:50%;
    left:0;
    width:100%;
    overflow:hidden;
    transform:translateY(-50%);
}
.tmessage-main02__ts01{
    margin-bottom:20px;
}

.tmessage-conceptimg{
    position:relative;
}
.tmessage-conceptimg img{
    border-radius:20px;
}



/* CONCEPT - BRAND MESSAGE */

.bmessage-mv{
    position:relative;
    padding:260px 0 60px;
}
.bmessage-mv__bg{
    position:absolute;
    top:calc(-1 * var(--header-height));
    left:0;
    width:100%;
}
.bmessage-mv__title{
    position:relative;
    text-align:center;
    padding:0 20px;
    margin-bottom:210px;
}
.bmessage-mv__contentbox{
    position:relative;
    width:calc(100% - 180px);
    margin:0 auto;
}
.bmessage-mv__content__hv01{
    position:absolute;
    top:12px;
    right:70px;
    width:130px;
}
.bmessage-mv__content__hv02{
    position:absolute;
    width:44px;
    bottom:160px;
    right:230px;
}

.bmessage-mv__content__text:not(:last-child){
    margin-bottom:40px;
}
.bmessage-mv__content__text{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}
.bmessage-mv__content__text span{
    display:flex;
    height:62px;
    align-items:center;
    color:#FFF;
    background:var(--color-red);
    font-size:40px;
    padding:0 10px;
}

.bmessage-concept{
    position:relative;

    padding-top:140px;
}
.bmessage-concept__bg{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:1300px;
}
.bmessage-concept__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.bmessage-concept__hv01{
    position:absolute;
    z-index:3;
    width:170px;
    top:280px;
    left:330px;
}
.bmessage-concept__hv02{
    position:absolute;
    width:140px;
    bottom:75px;
    right:40px;
}
.bmessage-concept__title{
    text-align:center;
    position:relative;
    z-index:2;
}

.bmessage-concept__sliders{
    margin-top:-40px;
    position:relative;
    z-index:1;
    overflow:hidden;
}
.bmessage-concept__sl01{
    margin-bottom:40px;
}

.bmessage-concept__slidebox__image img{
    aspect-ratio:36/22;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
    border-radius:10px;
}
.bmessage-concept__sliderbox__text{
    margin-top:10px;
    color:var(--color-red);
    font-size:14px;
    line-height:calc(28/14);
}

.bmessage-concept__bottomflex{
    position:relative;
    margin-top:140px;
    display:flex;
    flex-wrap:wrap;
    gap:40px;
    justify-content:space-between;
}

.bmessage-concept__bottomflex__titlesec{
    width:405px;
}
.bmessage-concept__bottomflex__title{
    font-size:46px;
    line-height:calc(7/5);
}
.bmessage-concept__bottomflex__content{
    width:840px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0 20px;
    padding:40px 20px 0;
    border-top:1px solid var(--color-red);
}

.bmessage-point{
    position:relative;
    margin-top:200px;
}

.bmessage-point__fv{
    display:flex;
    justify-content:space-between;
}
.bmessage-point__fv__bg01{
    width:calc(1000 / 1920 * 100%);
}
.bmessage-point__fv__bg01 img{
    border-top-right-radius:10px;
    border-bottom-right-radius:10px;
}
.bmessage-point__fv__bg02{
    width:calc(800 / 1920 * 100%);
    margin-top:calc(170 / 1920 * 100%);
}
.bmessage-point__fv__bg02 img{
    border-top-left-radius:10px;
    border-bottom-left-radius:10px;
}

.bmessage-point__ts01{
    position:absolute;
    width:100%;
    top:60px;
    left:0;
    mix-blend-mode: multiply;
    overflow:hidden;
}

.bmessage-point__title{
    margin-top:-140px;
    font-size:50px;
    line-height:calc(7/5);
    margin-bottom:60px;
}
.bmessage-point__flex{
    display:flex;
    flex-wrap:wrap;
    gap:40px;
    justify-content:space-between;
}


.bmessage-wide{
    margin-top:140px;
    padding-bottom:140px;
}

.bmessage-wide__fv{
    position:relative;
}
.bmessage-wide__fv__tses{
    position:absolute;
    z-index:1;
    width:100%;
    left:0;
    top:50%;
    transform:translateY(-50%);
    overflow:hidden;
}
.bmessage-wide__ts01{
    margin-bottom:40px;
}
.bmessage-wide__fv__mainimg{
    position:relative;
    text-align:center;
    z-index:2;
}

.bmessage-wide__contentbox{
    width:100%;
    max-width:840px;
    margin:0 auto;
    margin-top:40px;
}
.bmessage-wide__title{
    font-size:40px;
    line-height:calc(54/40);
    text-align:center;
}
.bmessage-wide__texts{
    position:relative;
    margin-top:40px;
    padding-top:40px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0 20px;
}
.bmessage-wide__texts::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:2px;
    background:linear-gradient(to right, #E5E5E5, #CD1203, #E5E5E5);
    background:-webkit-linear-gradient(left, #E5E5E5, #CD1203, #E5E5E5);
}
.bmessage-wide__imagetitle{
    margin-top:40px;
    text-align:center;
}

.bmessage-movie{
    position:relative;
}

.bmessage-movie__bg{
    position:relative;
    line-height:1;
}
.bmessage-movie__bg video{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    object-fit:cover;
}
.bmessage-movie__bg::after{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:3;
    background:linear-gradient(to bottom, #E5E5E5, #CD1203);
    background:-webkit-linear-gradient(top, #E5E5E5, #CD1203);
    mix-blend-mode:multiply;
}

.bmessage-movie__content{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:3;
    padding-top:80px;
}
.bmessage-movie__content .page-inner{
    position:relative;
    height:100%;
}

.bmessage-movie__titles{
    color:#FFF;
}
.bmessage-movie__subtitle{
    position:relative;
    padding-top:30px;
    font-size:50px;
    font-weight:900;
    margin-bottom:10px;
}
.bmessage-movie__subtitle::before{
    content:'';
    position:absolute;
    width:40px;
    height:2px;
    background:#FFF;
    top:0;
    left:0;
}

.bmessage-movie__anker{
    position:absolute;
    bottom:80px;
    right:0;
}
.bmessage-movie__anker a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:var(--color-base);
    background:#FFF;
    width:420px;
    height:80px;
    border-radius:10px;
    border:1px solid #FFF;
}
.bmessage-movie__anker__text{
    font-size:30px;
    font-weight:900;
    line-height:1;
}
.bmessage-movie__anker__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border:1px solid var(--color-red);
    position:absolute;
    top:calc(50% - 12px);
    right:20px;
    background:#FFF;
}
@media only screen and (min-width:1025px){
    .bmessage-movie__anker a:hover{
        color:#FFF;
        background:var(--color-red);
    }
}

.bmessage-movie__ts01{
    position:absolute;
    z-index:2;
    bottom:0;
    left:0;
    width:100%;
    transform:translateY(50%);
    overflow:hidden;
}




/* BUSINESS - TOP */

.business-top-mv{
    padding-bottom:230px;
}




/* BUSINESS - FIELDS */

.fields-mv{
    padding-bottom:230px;
}

.fields-section{
    padding-top:140px;
}
.fields-section:first-child{
    padding-top:100px;
}

.fields-contentflex{
    margin-top:60px;

    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}
.fields-contentflex.rev{
    flex-direction:row-reverse;
}

.fields-contentflex__titles{
    width:600px;
}
.fields-contentflex__content{
    width:600px;
}

.fields-contentflex__titleunder--desc{
    margin-top:60px;
}


.fields-contentflex__title{
    font-size:40px;
    font-weight:900;
    line-height:calc(56/40);
}
.fields-contentflex__title--en{
    margin-top:30px;
    font-size:12px;
    line-height:calc(16/12);
    text-transform:uppercase;
}

.fields-fields__mainimg{
    margin-top:60px;
}

.fields-oem__subsection{
    margin-top:60px;
}
.fields-oem__subsection__title{
    position:relative;
    padding-bottom:14px;
    font-size:26px;
    font-weight:bold;
    line-height:calc(36/26);
    margin-bottom:40px;
}
.fields-oem__subsection__title::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:40px;
    height:1px;
    background:var(--color-red);
}

.fields-oem__table dl{
    display:flex;
    margin:0;
}
.fields-oem__table dl dt,
.fields-oem__table dl dd{
    border:1px solid var(--color-border-lightgray);
}
.fields-oem__table dl dt{
    width:140px;
    padding:8px 12px;
    font-weight:bold;
}
.fields-oem__table dl dd{
    width:calc(100% - 140px);
    padding:8px 12px;
    margin:0;
}
.fields-oem__table dl dd a{
    text-decoration:none;
    color:var(--color-base);
}

.fields-oem__address{
    margin-top:40px;
}
.fields-oem__address dl,
.fields-oem__address dl dt,
.fields-oem__address dl dd{
    margin:0;
}
.fields-oem__address dl dt{
    font-size:18px;
    font-weight:bold;
    line-height:calc(26/18);
    margin-bottom:10px;
}



/* BUSINESS - ITEMS */

.items-pickup{
    padding:100px 0;
}
.items-pickup__title{
    font-size:26px;
    line-height:calc(36/26);
    font-weight:bold;
    padding-bottom:14px;
    position:relative;
    margin-bottom:40px;
}
.items-pickup__title::after{
    content:'';
    position:absolute;
    width:40px;
    height:1px;
    background:var(--color-red);
    bottom:0;
    left:0;
}

.items-pickup__slidercontainer{
    position:relative;
    padding:0 110px;
}
.items-pickup__sliderwrap{
    overflow:hidden;
}
.items-pickup__slider--btn{
    cursor:pointer;
    position:absolute;
    z-index:7;
    width:26px;
    height:41px;
    top:calc(50% - 20.5px);
}
.items-pickup__slider--btn.prev{
    left:30px;
}
.items-pickup__slider--btn.next{
    right:30px;
}

.items-pickup__slide__image img{
    border-radius:10px;
    width:100%;
    height:auto;
    aspect-ratio:1;
    object-fit:cover;
}


.items-items{
    margin-top:60px;
    display:grid;
    grid-template-columns:repeat(10, 1fr);
    gap:40px 20px;
}
.items-item__image img{
    width:100%;
    height:auto;
    aspect-ratio:112/100;
    object-fit:cover;
    border-radius:10px;
}
.items-item__name{
    margin-top:6px;
    text-align:center;
    line-height:calc(22/16);
}



/* COMPANY - TOP */

.company-top-mv{
    padding-bottom:230px;
}



/* COMPANY - ABOUT */

.about-mv{
    padding-bottom:230px;
}

.company-section{
    padding-top:140px;
}
.company-section:first-child{
    padding-top:100px;
}

.company-about__mainimg{
    margin-top:60px;
}
.company-about__mainimg img{
    border-radius:10px;
}

.company-about__table{
    margin-top:60px;
}
.company-about__gmaplink__anker{
    display:inline-flex;
    gap:4px;
    align-items:center;
    margin-left:10px;
}

.company-history-tab{
    padding-top:40px;
}

.company-history-tab__title{
    font-size:26px;
    line-height:calc(36/26);
    font-weight:bold;
    position:relative;
    padding-bottom:14px;
    margin-bottom:40px;
}
.company-history-tab__title::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:40px;
    height:1px;
    background:var(--color-red);
}

.company-history__table .common-table table th,
.company-history__table .common-table table td{
    padding:16px;
}
.company-history__events dl{
    display:flex;
    margin:0;
    line-height:1.8;
}
.company-history__events dl dt{
    width:3em;
    line-height:1.8;
}
.company-history__events dl dd{
    width:calc(100% - 3em);
    margin:0;
    line-height:1.8;
}


.company-shop__infobox{
    margin-top:60px;
    padding:30px 40px;
    border-radius:10px;
    background:var(--color-bg-lightred);

    display:flex;
    flex-wrap:wrap;
    gap:30px;
    align-items:stretch;
}
.company-shop__infobox__titles{
    width:200px;
    border-right:1px solid var(--color-base);
}
.company-shop__infobox__title{
    display:flex;
    align-items:center;
    gap:5px;

    font-size:16px;
    font-weight:bold;
    line-height:calc(24/16);
    color:var(--color-red);
}
.company-shop__infobox__title--icon{
    display:block;
    width:16px;
    height:16px;
}
.company-shop__infobox__articles{
    width:calc(100% - 230px);
}
.company-shop__infobox__article{
    display:flex;
    gap:10px;
}
.company-shop__infobox__article:not(:last-child){
    margin-bottom:10px;
}
.company-shop__infobox__article--date{
    width:100px;
    font-size:12px;
    line-height:calc(26/12);

}
.company-shop__infobox__article--title{
    width:calc(100% - 110px);
}
.company-shop__infobox__article--title a{
    color:var(--color-base);
}
@media only screen and (min-width:1025px){
    .company-shop__infobox__article--title a:hover{
        color:var(--color-red);
    }
}


.company-shop__desclists{
    margin-top:60px;
}

.company-shop__desclists dl{
    display:flex;
    gap:30px;
    margin:0;
}
.company-shop__desclists dl:not(:last-child){
    margin-bottom:10px;
}
.company-shop__desclists dl dt{
    position:relative;
    width:80px;
    height:26px;
}
.company-shop__desclists dl dt::after{
    content:'…';
    position:absolute;
    top:0;
    left:100%;
}
.company-shop__desclist--title{
    display:flex;
    height:100%;
    align-items:center;
    justify-content:center;
    color:var(--color-red);
    border:1px solid var(--color-red);
    border-radius:4px;
}
.company-shop__desclists dl dd{
    width:calc(100% - 110px);
    margin:0;
}

.company-shop__map__total{
    margin-top:40px;
    color:var(--color-border-gray);
    text-align:center;
}
.company-shop__mapwrap{
    margin-bottom:20px;
    margin-top:60px;
}

.company-shop__section:not(:last-child){
    margin-bottom:60px;
}
.company-shop__section__title{
    font-size:26px;
    line-height:calc(36/26);
    font-weight:bold;
    padding-bottom:14px;
    position:relative;
    margin-bottom:34px;
}
.company-shop__section__title::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:40px;
    height:1px;
    background:var(--color-red);
}


.company-shop__shops{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:34px 20px;
}

.company-shop__shop{
    position:relative;
    border:1px solid var(--color-border-gray);
    border-radius:10px;
}
.company-shop__shop__pin{
    position:absolute;
    z-index:2;
    top:-14px;
    right:20px;
    width:60px;
    height:60px;
}
.company-shop__shop__pin__num{
    position:absolute;
    top:10px;
    left:50%;
    transform:translateX(-50%);
    color:var(--color-red);
    font-size:14px;
}

.company-shop__shop__pref{
    color:var(--color-red);
    padding:16px 16px 0;
}

.company-shop__shop__mainimg{
    margin:16px 0;
}

.company-shop__shop__desc{
    padding:0 30px 30px;
}
.company-shop__shop__name{
    display:flex;
    gap:14px;
    line-height:24px;

    position:relative;
    padding-bottom:10px;

    margin-bottom:16px;
}
.company-shop__shop__name--icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:auto;
    height:24px;
    padding:0 9px;
    border:1px solid var(--color-red);
    color:var(--color-red);
    border-radius:4px;
    font-size:14px;
}
.company-shop__shop__name::after{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}

.company-shop__shop__dls dl{
    display:flex;
    gap:10px;
    margin:0;
}
.company-shop__shop__dls dl:not(:last-child){
    margin-bottom:4px;
}
.company-shop__shop__dls dl dt{
    width:70px;
    height:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#FFF;
    background:var(--color-base);
    font-size:14px;
}
.company-shop__shop__dls dl dd{
    width:calc(100% - 80px);
    margin:0;

    font-size:14px;
    line-height:calc(18/14);

    padding-top:3px;
}
.company-shop__shop__dls dl dd a[href^="tel:"]{
    color:var(--color-base);
    text-decoration:none;
}
.company-shop__shop__dd__maplink{
    display:inline-flex;
    align-items:center;
    gap:2px;
}
.company-shop__shop__dd__maplink__icon{
    width:14px;
    height:14px;
    display:block;
}

.company-shop__shop__dd__links{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    font-size:14px;
}

.company-shop__shop__icons{
    margin-top:16px;
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:2px;
}




/* COMPANY - ADGALLERY */

.adgallery-mv{
    padding-bottom:340px;
}
.adgallery-mv__jpline{
    font-size:50px;
    font-weight:900;
    line-height:calc(6/5);
    margin-bottom:40px;
}

.adgallery-headsec{
    padding-top:100px;
}
.adgallery-maingallery__date{
    margin-top:80px;
    color:var(--color-red);
    margin-bottom:20px;
}
.adgallery-maingallery__descflex{
    display:flex;
    justify-content: space-between;
}
.adgallery-maingallery__descflex__title{
    width:50%;
}
.adgallery-maingallery__title{
    font-size:60px;
    line-height:calc(76/60);
}
.adgallery-maingallery__descflex__desc{
    width:50%;
    padding-top:40px;
    position:relative;
}
.adgallery-maingallery__descflex__desc::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:2px;
    background:linear-gradient(to right, #CD1203, #E5E5E5);
    background:-webkit-linear-gradient(left, #CD1203, #E5E5E5);
}


.adgallery-maingallery__galleries{
    margin-top:80px;
}
.adgallery-maingallery__gallery{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content: space-between;
}
.adgallery-maingallery__gallery__image{
    width:100%;
    max-width:600px;
}
.adgallery-maingallery__gallery__content{
    width:100%;
    max-width:600px;
}

.adgallery-maingallery__gallery__titles{
    padding-top:40px;
    position:relative;
}
.adgallery-maingallery__gallery__titles::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:2px;
    background:#B1B1B1;
}
.adgallery-maingallery__gallery__title{
    font-size:40px;
    font-weight:900;
    line-height:calc(56/40);
}
.adgallery-maingallery__gallery__subtitle{
    margin-top:20px;
    font-size:12px;
    font-weight:100;
}

.adgallery-maingallery__gallery__text{
    margin-top:60px;
    line-height:2;
}


.adgallery-promos{
    padding-top:140px;
}
.adgallery-promos__maintext{
    margin-top:60px;
}

.adgallery-promos__promos{
    margin-top:40px;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px 16px;
}
.adgallery-promos__promo dl,
.adgallery-promos__promo dl dt,
.adgallery-promos__promo dl dd{
    margin:0;
    padding:0;
}
.adgallery-promos__promo dl{
    border-radius:10px;
    border:1px solid var(--color-border-gray);
}
.adgallery-promos__promo dl dt{
    position:relative;
    cursor:pointer;
    height:60px;
    font-size:18px;
    font-weight:bold;
    line-height:calc(60/18);
    padding:0 20px;
    padding-right:58px
}
.adgallery-promo__toggle--icon{
    position:absolute;
    width:18px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--color-red);
    top:calc(50% - 9px);
    right:20px;
}
.adgallery-promo__toggle--icon img{
    transition:var(--transition);
}
.adgallery-promos__promo dl dd{
    position:relative;
    margin:20px;
    padding:0 20px;
}
.adgallery-promos__promo dl dd::before{
    content:'';
    position:absolute;
    top:-20px;
    left:0;
    width:100%;
    height:1px;
    background:var(--color-border-gray);
}
.adgallery-promo__images{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.adgallery-promo__image a{
    display:block;
    border-radius:10px;
    border:1px solid var(--color-border-gray);
    overflow:hidden;
}
@media only screen and (min-width:1025px){
    .adgallery-promo__image a:hover{
        opacity:0.8;
    }
}



/* ESG */

.esg-mv{
    position:relative;

    padding-top:160px;
    padding-bottom:410px;
}

.esg-mv__bg{
    position:absolute;
    width:100%;
    height:1220px;
    overflow:hidden;
    z-index:1;
    top:calc(-1 * var(--header-height));
    left:0;
}
.esg-mv__bg img{
    min-width:1920px;
    min-height:1220px;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}

.esg-mv .page-inner{
    position:relative;
    z-index:2;
}
.esg-mv__title{
    text-align:center;
}
.esg-mv__text{
    margin-top:80px;
    font-size:18px;
    line-height:calc(34 / 18);
    color:var(--color-red);
    text-align:center;
}
.esg-mv__tses{
    position:absolute;
    z-index:-1;
    bottom:20px;
    left:0;
    width:100%;
}
.esg-mv__ts01{
    margin-bottom:40px;
}

.esg-policy{
    padding-top:180px;
    position:relative;
}
.esg-policy__head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}
.esg-policy__head__content{
    width:calc(600 / 1300 * 100%);
}
.esg-policy__head__mainimg{
    width:calc(650 / 1300 * 100%);
    position:relative;
}
.esg-policy__head__mainimg__img{
    position:absolute;
    bottom:10px;
    left:0;
    max-width:unset;
    width:calc(100% + 20px);
}
@media only screen and (min-width:1340px){ 
    .esg-policy__head__mainimg__img{
        width:calc(100% + ((100vw - 1300px) / 2));
    }
}
.esg-mainsec__title{
    margin-bottom:50px;
}
.esg-mainsec__title--en{
    display:block;
    font-size:18px;
    font-weight:900;
    color:var(--color-red);
    line-height:calc(19/18);
    margin-bottom:20px;
}
.esg-mainsec__title--jp{
    font-size:60px;
    line-height:calc(84/60);
}

.esg-policy__section{
    padding-top:90px;
}

.esg-policy__policies__wrapper{
    max-width:unset;
    width:100vw;
    overflow-x:scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    position:relative;
    left:-20px;
    padding:0 20px;
}
@media only screen and (min-width:1340px){
    .esg-policy__policies__wrapper{
        left:calc(((100vw - 1300px) / 2 * -1));
        padding-left:calc((100vw - 1300px) / 2);
        padding-right:calc((100vw - 1300px) / 2);
    }
}
.esg-policy__policies__wrapper::-webkit-scrollbar {
    display:none;
}
.esg-policy__policies{
    display:flex;
    gap:20px;

    max-width:unset;
    width:1780px;
}
.esg-policy__policy{
    position:relative;
    background:#FFF;
    width:340px;
    border:1px solid var(--color-border-gray);
    border-radius:10px;
    padding:40px;
}
.esg-policy__policy__head{
    position:relative;
    display:flex;
    justify-content:space-between;
    padding-bottom:30px;
}
.esg-policy__policy__head::after{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}
.esg-policy__policy__title{
    color:var(--color-base);
    font-size:24px;
    line-height:calc(34/24);
}
.esg-policy__policy__text{
    color:var(--color-base);
    margin-top:20px;
}

.esg-policy__generals{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
.esg-policy__general__img img{
    width:100%;
    height:auto;
    aspect-ratio:64/38;
    object-fit:cover;
    border-top-left-radius:10px;
    border-top-right-radius:10px;
}
.esg-policy__general__contentbox{
    position:relative;
    width:100%;
    max-width:600px;
    background:#FFF;
    border-top-right-radius:10px;
    padding:34px;
    margin-top:-100px;
}

.esg-policy__contenttitle{
    position:relative;
    font-size:16px;
    line-height:calc(22/16);
    padding-bottom:6px;
    margin-bottom:20px;
}
.esg-policy__contenttitle::before{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}

.esg-sdgs{
    position:relative;
    padding-top:210px;
    padding-bottom:160px;
}
.esg-sdgs__head{
    display:flex;
    flex-direction:row-reverse;
    align-items:flex-start;
    justify-content:space-between;
}
.esg-sdgs__head__content{
    width:calc(600 / 1300 * 100%);
}
.esg-sdgs__head__mainimg{
    width:calc(552 / 1300 * 100%);
    position:relative;
}
.esg-sdgs__head__mainimg__img{
    max-width:unset;
    width:800px;
    position:absolute;
    top:-110px;
    left:-240px;
}

.esg-sdgssectionbox{
    position:relative;
    padding:60px 100px 90px;
    border-radius:10px;
    border:1px solid var(--color-border-gray);
    margin-top:100px;
    background:#FFF;
}
.esg-sdgssection:not(:last-child){
    margin-bottom:60px;
}
.sdgs-sdgssection__title__sdgsicons{
    vertical-align:middle;
    display:inline-flex;
    margin-left:20px;
    gap:4px;
}
.sdgs-sdgssection__title__sdgsicons img{
    width:50px;
}
.esg-sdgssection__lists{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    grid-template-columns: repeat(2,1fr);
    gap:40px 60px;
    margin-top:40px;
}
.esg-sdgssection__list__flex{
    display:flex;
    align-items:flex-start;
    gap:40px;
}
.esg-sdgssection__list__img{
    width:160px;
    height:auto;
    aspect-ratio:1;
    border-radius:10px;
    overflow:hidden;
}
.esg-sdgssection__list__img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.esg-sdgssection__list__content{
    width:calc(100% - 200px);
}

.esg-csr{
    position:relative;
    padding-top:200px;
    padding-bottom:160px;
}
.esg-csr__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
}
.esg-csr__head__content{
    width:calc(600 / 1300 * 100%);
}
.esg-csr__head__mainimg{
    width:calc(650 / 1300 * 100%);
    position:relative;
}
.esg-csr__head__mainimg__img{
    position:absolute;
    top:-100px;
    left:0;
    max-width:unset;
    width:calc(100% + 20px);
}
@media only screen and (min-width:1340px){
    .esg-csr__head__mainimg__img{
        width:calc(100% + ((100vw - 1300px) / 2));
    }
}

.esg-sdgs__envflex{
    display:grid;
    grid-template-columns: 1fr;
    gap:20px;
}
.esg-sdgs__envflex__table__tablename{
    margin-bottom:10px;
    font-size:14px;
    text-align:right;
}
.esg-sdgs__envflex__table .common-table table th,
.esg-sdgs__envflex__table .common-table table td{
    padding:12px 10px;
    font-size:14px;
}
.esg-sdgs__envflex__table .common-table table th.center{
    text-align:center;
}


/* RECRUIT */

.recruit-asidemenus{
    position:fixed;
    top:110px;
    right:0;
    z-index:9;
}
.recruit-asidemenus__menu{
    width:310px;
}
.recruit-asidemenus__menu:not(:last-child){
    margin-bottom:10px;
}
.recruit-asidemenus__menu a img{
    transition:var(--transition);
    filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.16));
}

@media only screen and (min-width:1025px){
    .recruit-asidemenus__menu a img{
        transform:translateX(10px);
    }
    .recruit-asidemenus__menu a:hover img{
        transform:translateX(0);
    }
}

.recruit-coverbgzone{
    color:#FFF;
    background:var(--color-red);
    position:relative;
    margin-top:calc(-1 * var(--header-height) - 24px);
}
.recruit-coverbgzone::after{
    content:'';

    position:absolute;
    z-index:7;
    top:0;
    left:0;

    width:100%;
    height:100%;
    background:repeat-y center/1920px url('./img/recruit/bg-maincover.webp');

    mix-blend-mode:overlay;

    pointer-events:none;
}

.recruit-mv{
    padding-top:170px;
    padding-bottom:190px;
}

.recruit-mv__bg{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    text-align:center;
}
.recruit-mv__bg img{
    width:680px;
}
.recruit-mv__mainimg{
    position:absolute;
    top:200px;
    left:0;

    width:100%;
    height:620px;

    overflow:hidden;
}
.recruit-mv__mainimg img{
    position:relative;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    top:0;
    left:50%;
    transform:translateX(-50%);
}

.recruit-mv .page-inner{
    position:relative;
    z-index:2;
}

.recruit-mv__title02__wrapper{
    margin-top:250px;
}
.recruit-mv__title02{
    text-align:right;
}

.recruit-concept__maintext{
    font-size:60px;
    line-height:calc(84/60);
    margin-bottom:100px;
}
.recruit-concept__title{
    position:relative;
    z-index:2;
}
.recruit-concept__title__text small{
    display:block;
    font-size:30px;
    margin-top:37px;
}

.recruit-concept__imgslider{
    position:relative;
    z-index:1;
    margin-top:-130px;
}

.recruit-imgslider-container{
    overflow:hidden;
}
.recruit-imgslider,
.recruit-imgslide{
    transition-timing-function: linear !important;
}
.recruit-imgslide{
    overflow:visible;
}
.recruit-imgslide-box{
    width:100%;
    height:auto;
    aspect-ratio:1125/700;
    transform-origin: bottom left;
    transform:skewX(-14.04deg);
    overflow:hidden;
}
.recruit-imgslide-box img{
    transform-origin: bottom left;
    transform:skewX(14.04deg);
    width:115.555%;
    height:100%;
    object-fit:cover;
    max-width:unset;
}

.recruit-benefits{
    padding-top:90px;
    overflow:hidden;
}

.recruit-commonsection__head{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-end;

    gap:30px;

    margin-bottom:60px;
}
.recruit-commonsection__head__subtitle{
    font-size:60px;
    line-height:calc(84/60);
    margin-bottom:20px;
}
.recruit-commonsection__head__title{
    font-size:28px;
    line-height:calc(54/28);
}
.recruit-commonsection__head__content{
    width:600px;
}

.recruit-infographicsection{
    padding-top:140px;
}
.recruit-infographicsection .page-inner{
    position:relative;
    z-index:2;
}

.recruit-infographics{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.recruit-infographic{
    position:relative;
    background:#FFF;
    border:1px solid var(--color-border-gray);
    border-radius:10px;
    padding:40px 20px;
}
@media only screen and (min-width:1440px){
    .recruit-infographic{
        padding:40px;
    }
}
.recruit-infographic__flex{
    display:flex;
    align-items:center;
    gap:20px;
}
.recruit-infographic__image{
    width:80px;
}
.recruit-infographic__image img{
    width:100%;
    height:auto;
    aspect-ratio:1;
    object-fit:cover;
    object-position:center;

    border-radius:10px;
}
.recruit-infographic__content{
    width:calc(100% - 100px);
}
.recruit-infographic__title{
    position:relative;
    color:var(--color-base);
    font-size:22px;
    line-height:calc(34/22);
    padding-bottom:10px;
    margin-bottom:20px;
}
.recruit-infographic__title::after{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}
.recruit-infographic__text{
    color:var(--color-red);
}
.recruit-infographic__text .pref{
    font-size:20px;
    line-height:calc(26/20);
    color:var(--color-border-gray);
}
.recruit-infographic__text .num{
    font-family:var(--font-en);
    font-weight:900;
    font-size:40px;
    line-height:calc(26/40);
}
.recruit-infographic__text .bfunit{
    font-size:20px;
    line-height:calc(26/20);
    color:#B1B1B1;
}
.recruit-infographic__text .unit{
    font-size:20px;
    line-height:calc(26/20);
}
.recruit-infographic__desc{
    margin-top:8px;
    font-size:12px;
    color:var(--color-base);
}

.recruit-internship{
    padding-top:140px;
}

.recruit-internship__section{
    margin-top:100px;
}
.recruit-internship__section__title{
    font-size:40px;
    line-height:calc(54/40);

    position:relative;
    padding-top:calc(30 / 40 * 1em);

    margin-bottom:40px;
}
.recruit-internship__section__title::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:2px;
    background:var(--color-border-gray);
}

.recruit-internship__programs{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
.recruit-internship__program{
    position:relative;
    padding:40px;
    background:#FFF;
    border:1px solid var(--color-border-gray);
    border-radius:10px;
    color:var(--color-base);
}
.recruit-internship__program__title{
    font-size:24px;
    line-height:calc(34/24);
    margin-bottom:20px;
}
.recruit-internship__program__desc{
    color:var(--color-red);
}

.recruit-internship__program__dls{
    margin-top:30px;
    padding-top:30px;
    position:relative;
}
.recruit-internship__program__dls::before{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    top:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}
.recruit-internship__program__dls>dl{
    display:flex;
    margin:0;
    padding:0;
}
.recruit-internship__program__dls>dl:not(:last-child){
    margin-bottom:14px;
}
.recruit-internship__program__dls>dl>dt,
.recruit-internship__program__dls>dl>dd{
    margin:0;
    padding:0;
}
.recruit-internship__program__dls>dl>dt{
    font-weight:bold;
    color:var(--color-red);
    width:4em;
}
.recruit-internship__program__dls>dl>dd{
    width:calc(100% - 4em);
}

.recruit-internship__features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px 20px;
}
.recruit-internship__feature__image img{
    aspect-ratio:42/26;
    width:100%;
    height:auto;
    object-fit:cover;
    object-position:center;
    border-radius:10px;
}
.recruit-internship__feature__content{
    padding:20px;
}
.recruit-internship__feature__title{
    font-size:24px;
    line-height:calc(34/24);
    padding-bottom:10px;
    margin-bottom:20px;
    border-bottom:1px solid #FFF;
}

.recruit-internship__flows{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}
.recruit-internship__flow{
    position:relative;
    padding:40px;
    border:1px solid var(--color-border-gray);
    border-radius:10px;
    background:#FFF;
    color:var(--color-base);
}
.recruit-internship__flow__title{
    color:var(--color-red);
    font-size:24px;
    line-height:calc(34/24);

    padding-bottom:20px;
    margin-bottom:20px;
    position:relative;
}
.recruit-internship__flow__title::after{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}
.recruit-internship__flow__title em{
    font-size:16px;
}
.recruit-internship__flow__title--step{
    display:block;
    font-size:12px;
    line-height:calc(19/12);
    margin-top:4px;
    font-weight:900;
}

.recruit-tour{
    padding:140px 0 160px;
}
.recruit-tour__main table tbody th{
    width:310px;
}


.recruit-search{
    position:relative;
    padding:140px 0;
}

.recruit-search__ts01{
    position:absolute;
    top:0;
    left:0;
    width:100%;
}

.recruit-search__consolelinks{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;

    margin-top:60px;
}
.recruit-search__consolelink{
    cursor:pointer;
    height:80px;
    display:flex;
    align-items:center;
    border:1px solid var(--color-red);
    border-radius:10px;
    transition:var(--transition);
}
.recruit-search__consolelink__btns{
    height:100%;
    width:80px;
    background:var(--color-red);
    display:flex;
    align-items:center;
    justify-content:center;
}
.recruit-search__consolelink__btn{
    border:1px solid #FFF;
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
}
.recruit-search__consolelink__titles{
    width:calc(100% - 24px);
    display:flex;
    align-items:center;
    justify-content:center;
}
.recruit-search__consolelink__title{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-size:18px;
    font-weight:bold;
    line-height:calc(26/18);
    transition:var(--transition);
}
.recruit-search__consolelink__title--icon img{
    transition:var(--transition);
}

.recruit-search__consolelink.current{
    pointer-events:none;
    color:#FFF;
    background:var(--color-red);
}
.recruit-search__consolelink.current .recruit-search__consolelink__title--icon img{
    filter:brightness(0) invert(1);
}
@media only screen and (min-width:1024px){
    .recruit-search__consolelink:not(.current):hover{
        color:#FFF;
        background:var(--color-red);
    }
    .recruit-search__consolelink:not(.current):hover .recruit-search__consolelink__title--icon img{
        filter:brightness(0) invert(1);
    }
}

.recruit-search__consoles{
    margin-top:40px;
}
.recruit-search__console{
    border:1px solid var(--color-bg-gray);
    border-radius:10px;
}

.recruit-search__console__titlebar{
    display:flex;
    height:60px;
    justify-content:center;
    align-items:center;
    background:var(--color-bg-gray);
}
.recruit-search__console__title{
    font-size:18px;
    font-weight:bold;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}

.recruit-search__console__box{
    padding:40px;
}
.recruit-search__console__box form{
    width:100%;
    max-width:1100px;
    margin:0 auto;
}

.recruit-search__console__dls dl{
    border-bottom:1px solid var(--color-border-gray);
    margin:0;
    padding:30px 0;

    display:flex;
}
.recruit-search__console__dls dl dt{
    width:160px;

    font-size:16px;
    line-height:calc(43/16);
    text-align:center;
}
.recruit-search__console__dls dl dd{
    width:calc(100% - 160px);
    margin:0;
}

.recruit-search__console__selectbox{
    display:block;
}
.recruit-search__console__selectbox:not(:last-child){
    margin-bottom:10px;
}

.recruit-search__console__checkboxlist{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0 10px;
}
.recruit-search__console__checkbox label{
    font-size:14px;
    line-height:calc(43/14);
}

.recruit-search__console__shopsection:not(:last-child){
    padding-bottom:20px;
    margin-bottom:20px;
    border-bottom:1px solid var(--color-border-gray);
}
.recruit-search__console__shopsection__title{
    color:var(--color-red);
    margin-bottom:10px;
}

.recruit-search__console__submit__wrapper{
    text-align:center;

    margin-top:30px;
}
.recruit-search__console__submit{
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    padding-right:44px;
    margin:0 auto;
    width:100%;
    max-width:420px;
    height:80px;
    border:1px solid var(--color-red);
    border-radius:10px;
    color:#FFF;
    background:var(--color-red);
    transition:var(--transition);
    cursor:pointer;
}
.recruit-search__console__submit--text{
    font-size:18px;
    font-weight:bold;
    line-height:calc(28/18);
    transition:var(--transition);
}
.recruit-search__console__submit--icon{
    position:absolute;
    top:calc(50% - 12px);
    right:20px;
    border:1px solid #FFF;
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:var(--transition);
}
.recruit-search__console__submit--icon img{
    filter:brightness(0) invert(1);
    transition:var(--transition);
}
.recruit-search__console__submit:disabled{
    color:var(--color-red);
    background:transparent;
    pointer-events:none;
}
.recruit-search__console__submit:disabled .recruit-search__console__submit--icon{
    border-color:var(--color-red);
}
.recruit-search__console__submit:disabled .recruit-search__console__submit--icon img{
    filter:none;
}
@media only screen and (min-width:1025px){
    .recruit-search__console__submit:not(:disabled):hover .recruit-search__console__submit--icon{
        background:#FFF;
    }
    .recruit-search__console__submit:not(:disabled):hover .recruit-search__console__submit--icon img{
        filter:none;
    }
}


.recruit-search__results{
    padding-top:100px;
}

.recruit-search__articles{
    margin-top:40px;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
.recruit-search__article{
    border:1px solid var(--color-border-gray);
    border-radius:10px;

    background:#FFF;
    padding:20px;
}

.recruit-search__article__title{
    font-size:20px;
    line-height:calc(34/20);
}
.recruit-search__article__tags{
    margin-top:10px;

    display:flex;
    flex-wrap:wrap;
    gap:4px;
}
.recruit-search__article__tags span{
    display:block;
    font-size:12px;
    font-weight:900;
    color:var(--color-red);
    border:1px solid var(--color-red);
    border-radius:4px;
    padding:2px 6px;
}
.recruit-search__article__tags span.new{
    color:#FFF;
    background:var(--color-red);
}
.recruit-search__article__division{
    margin-top:20px;
}
.recruit-search__article__desc{
    margin-top:20px;
}
.recruit-search__article__desc span{
    display:block;
}

.recruit-search__article__jobs{
    margin-top:20px;
}
.recruit-search__article__job:not(:last-child){
    margin-bottom:20px;
}
.recruit-search__article__job__title{
    font-weight:bold;
    font-size:15px;
    color:var(--color-red);
    margin-bottom:10px;
}
.recruit-search__article__job__dls dl{
    margin:0;
    padding:0;
}
.recruit-search__article__job__dls dl:not(:last-child){
    padding-bottom:10px;
    border-bottom:1px solid #CCC;
    margin-bottom:10px;
}
.recruit-search__article__job__dls dl dt{
    margin:0;
    padding:0;
    padding-bottom:5px;
    font-size:14px;
    font-weight:bold;
}
.recruit-search__article__job__dls dl dd{
    margin:0;
    padding:0;
    font-size:14px;
}

.recruit-search__article__anker{
    position:relative;
    margin-top:20px;
    padding-top:20px;
}
.recruit-search__article__anker::before{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    top:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}



/* IR - COMMONPARTS */

.ir-tabtogglers{
    border-top:1px solid var(--color-border-gray);
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:0;
}
.ir-tabtoggler:not(:last-child){
    border-right:1px solid var(--color-border-gray);
}
.ir-tabtoggler{
    cursor:pointer;
}
.ir-tabtoggler.current{
    color:var(--color-red);
    pointer-events:none;
}
.ir-tabtoggler__text{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    height:60px;
    font-size:13px;
    line-height:calc(19/13);
}
.ir-tabtoggler__text::before{
    content:'';
    position:absolute;
    bottom:0;
    left:10px;
    width:calc(100% - 20px);
    height:2px;
    background:var(--color-red);
    opacity:0;
    transition:var(--transition);
}
.ir-tabtoggler__text::after{
    content:'';
    position:absolute;
    bottom:2px;
    left:calc(50% - 3px);
    width:6px;
    height:6px;
    clip-path:polygon(50% 0, 100% 100%, 0 100%);
    background:var(--color-red);
    opacity:0;
    transition:var(--transition);
}
.ir-tabtoggler.current .ir-tabtoggler__text::before,
.ir-tabtoggler.current .ir-tabtoggler__text::after{
    opacity:1;
}
@media only screen and (min-width:1025px){
    .ir-tabtoggler:hover .ir-tabtoggler__text::before{
        opacity:1;
    }
}

.ir-links{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    padding-top:140px;
    padding-bottom:160px;
}
.ir-link a{
    display:block;
    border-radius:10px;
    overflow:hidden;
    border:1px solid var(--color-border-lightgray);
    color:var(--color-base);
    text-decoration:none;
}
.ir-link__flex{
    display:flex;
}
.ir-link__thumb{
    width:160px;
    height:auto;
    aspect-ratio:1;
    object-fit:cover;
}
.ir-link__cont{
    width:calc(100% - 160px);
    position:relative;
    display:flex;
    align-items:center;
    padding:0 64px 0 40px;
}
.ir-link__cont__icon{
    position:absolute;
    top:calc(50% - 12px);
    right:20px;
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--color-red);
    transition:var(--transition);
}
.ir-link__cont__icon img{
    transition:var(--transition);
}
@media only screen and (min-width:1025px){
    .ir-link a:hover{
        text-decoration:underline;
    }
    .ir-link a:hover .ir-link__cont__icon{
        background:var(--color-red);
    }
    .ir-link a:hover .ir-link__cont__icon img{
        filter:brightness(0) invert(1);
    }
}



/* IR - INDEX */

.irtop-mv{
    position:relative;
    padding-bottom:230px;
}

.irtop-coversection{
    padding-top:100px;
}
.irtop-covers{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
}
.irtop-cover{
    width:420px;
    height:520px;
}
.irtop-cover a{
    text-decoration:none;
}
.irtop-cover__cont{
    position:relative;
    border:1px solid var(--color-red);
}
.irtop-cover__cont__icon{
    position:absolute;
    width:40px;
    height:40px;
    background:#FFF;
    border-radius:1px solid var(--color-red);
    display:flex;
    align-items:center;
    justify-content:center;
    bottom:20px;
    right:20px;
    transition:var(--transition);
}
.irtop-cover__cont__icon img{
    transition:var(--transition);
}

@media only screen and (min-width:1025px){
    .irtop-cover a:hover .irtop-cover__cont__icon{
        background:var(--color-red);
    }
    .irtop-cover a:hover .irtop-cover__cont__icon img{
        filter:brightness(0) invert(1);
    }
}

.irtop-cover__c01__content{
    position:absolute;
    left:40px;
    bottom:60px;
    width:calc(100% - 80px);

    color:var(--color-base);
}
.irtop-cover__c02__content{
    position:absolute;
    top:240px;
    left:40px;
    width:calc(100% - 80px);

    color:#FFF;
    text-align:center;
}

.irtop-cover__cont__title{
    font-size:24px;
    font-weight:bold;
    line-height:calc(38/24);
    margin-bottom:20px;
}
.irtop-cover__cont__date{
    font-size:14px;
}

.irtop-coversection__anker{
    margin-top:40px;
}

.irtop-news{
    padding-top:80px;
}

.irtop-documents{
    padding-top:140px;
}
.ir-documents__lists{
    display:grid;
    grid-template-columns: repeat(3,1fr);
    gap:0 20px;
}
.ir-documents__list{
    padding:30px 0;
    border-bottom:1px solid var(--color-border-lightgray);
}
.ir-documents__list a{
    display:flex;
    align-items:center;
    gap:10px;

    text-decoration:none;
    color:var(--color-base);
}
.ir-documents__list__icon{
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--color-red);
    transition:var(--transition);
}
.ir-documents__list__icon img{
    transition:var(--transition);
}
.ir-documents__list__title{
    font-size:16px;
}
.ir-documents__list__pdficon{
    display:block;
    width:15px;
    height:16px;
}

@media only screen and (min-width:1025px){
    .ir-documents__list a:hover{
        text-decoration:underline;
    }
    .ir-documents__list a:hover .ir-documents__list__icon{
        background:var(--color-red);
    }
    .ir-documents__list a:hover .ir-documents__list__icon img{
        filter:brightness(0) invert(1);
    }
}

.irtop-library{
    padding-top:140px;
}
.irtop-library__flex{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}
.irtop-library__content{
    width:422px;
}
.irtop-library__mainimg{
    width:calc(100% - 502px);
}

.irtop-library__links__ul{
    margin:0;
    padding:0;
    list-style:none;
}
.irtop-library__links__li{
    padding:30px 0;
    border-bottom:1px solid var(--color-border-lightgray);
}

@media only screen and (min-width:1025px){
    .irtop-livrary__mainimg__anker a:hover{
        opacity:0.8;
    }
}

.irtop-links{
    padding-top:140px;
}
.irtop-links .ir-links{
    padding-top:40px;
}


/* IR - CALENDAR */

.ircal-calendar{
    padding-bottom:140px;
}
.ircal-calendar__attention{
    margin-top:30px;
}

.ircal-listtab{
    padding-top:60px;
}
.ircal-listtab__title{
    font-size:30px;
    font-weight:bold;
    line-height:calc(54/30);
    margin-bottom:40px;
}


/* IR - LIBARRY */

.irlib-tab {
    padding-top:100px;
}

.irlib-tab__maintext{
    margin-top:60px;
}

.irlib-tab__mainflex{
    margin-top:60px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}
.irlib-tab__mainflex__image{
    width:100%;
    max-width:360px;
}
.irlib-tab__mainflex__image img{
    border:1px solid var(--color-border-gray);
}
.irlib-tab__mainflex__content{
    width:100%;
    max-width:calc(100% - 460px);
}

.irlib-table{
    width:100%;
}
.irlib-table__pdflink a{
    color:var(--color-base);
    text-decoration:none;
    display:flex;
    flex-wrap: wrap;
    align-items:center;
    gap:10px;
}
@media only screen and (min-width:1025px){
    .irlib-table__pdflink a:hover{
        text-decoration:underline;
    }
}
.irlib-table__pdflink__icon{
    width:15px;
    height:16px;
}

.irlib-backnumber{
    margin-top:140px;
}
.irlib-backnumber__tables{
    margin-top:60px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:40px 20px;
}

.irlib-table__pdflink__bite{
    font-size:12px;
    color:#555;
}


.irlib-yukashoken__anker{
    margin-top:40px;
}


/* IR - HIGHLIGHT */

.irhighlight__section:not(:first-child){
    padding-top:100px;
}

.irhighlight-maintable .common-table th,
.irhighlight-maintable .common-table td{
    text-align:center;
}

.irhighlight__maintable__title{
    margin-top:60px;
    line-height:calc(22/16);

    position:relative;
    padding-bottom:6px;
    margin-bottom:20px;
}
.irhighlight__maintable__title::after{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}

.irhighlight-flexgraphs{
    margin-top:60px;

    display:flex;
    flex-wrap:wrap;
    gap:40px 20px;
    justify-content:center;
}
.irhighlight-flexgraph{
    width:calc(50% - 10px);
}


/* IR - 株主総会 */

.irkabunushi-tab{
    padding-top:100px;
}

.irkabunushi__content{
    margin-top:50px;
}

.irkabunushi__linklists{
    list-style:none;
    margin:0;
    padding:0;
}
.irkabunushi__link:not(:last-child){
    margin-bottom:10px;
}
.irkabunushi__link a{
    color:var(--color-base);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:10px;
}
@media only screen and (min-width:1025px){
    .irkabunushi__link a:hover{
        text-decoration:underline;
    }
}
.irkabunushi__link__icon{
    width:15px;
    height:16px;
}

.irkabunushi__content__subtitle{
    line-height:calc(22/16);
    padding-bottom:6px;
    margin-bottom:20px;
    position:relative;
}
.irkabunushi__content__subtitle::after{
    content:'';
    position:absolute;
    width:100%;
    height:1px;
    bottom:0;
    left:0;
    background:-webkit-linear-gradient(
        left,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
    background: linear-gradient(
        to right,
        var(--color-red) 0px,
        var(--color-red) 20px,
        var(--color-border-gray) 20px,
        var(--color-border-gray) 100%
    );
}


/* IR - 株主優待 */

.irbenefits__main__image img{
    border-radius:10px;
    width:100%;
    height:440px;
    object-fit:cover;
    object-position:center;
}

.irbenefits__main__flex{
    display:flex;
}
.irbenefits__main__titles{
    background:#FFF;
    width:50%;
    padding:40px 40px 0;
    border-top-right-radius:10px;
    transform:translateY(-50%);
}
.irbenefits__main__title{
    font-size:40px;
    font-weight:900;
    line-height:calc(56/40);
    margin-bottom:20px;
}
.irbenefits__main__subtitle{
    font-size:12px;
    font-weight:100;
    text-transform: uppercase;
}
.irbenefits__main__content{
    width:50%;
    padding-top:60px;
    padding-left:60px;
}

.irbenefits__section__text{
    margin-top:60px;
}
.irbenefits__section__table{
    margin:20px 0;
}

.irbenefits__section{
    padding-top:140px;
}

.irbenefits__subsections{
    margin-top:100px;
}
.irbenefits__subsection{
    margin-top:60px;
}

.irbenefits__subsection__title{
    font-size:26px;
    font-weight:bold;
    line-height:calc(36/26);
    position:relative;
    padding-bottom:14px;
    margin-bottom:20px;
}
.irbenefits__subsection__title::before{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:40px;
    height:1px;
    background:var(--color-red);
}

.irbenefits__section__table__undertext{
    margin-top:20px;
}


/* CONTACT */

.contact-main{
    padding-bottom:140px;
}

.contact-main__section:not(:last-child){
    margin-bottom:100px;
}

.contact-main__toptext{
    margin-bottom:60px;
    font-size:18px;
}

.contact-main__section__text{
    margin:40px 0;
    font-size:18px;
}

.contact-main__section__boxes{
    margin-top:40px;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}
.contact-main__section__box{
    padding:40px;
    border-radius:20px;
    border:1px solid var(--color-border-lightgray);
}

.contact-main__dls{
    margin:20px 0;
}
.contact-main__dls dl{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin:0;
    padding:0;
}
.contact-main__dls dl dt{
    position:relative;
    width:150px;
}
.contact-main__dls dl dt::after{
    content:'：';
    position:absolute;
    left:100%;
    top:0;
}
.contact-main__dls dd{
    width:calc(100% - 170px);
    margin:0;
}


.wpcf7{
    padding-top:60px;
}

.form-dls dl{
    display:flex;
    flex-wrap:wrap;
    margin:0;
    padding:0;
    gap:10px 40px;
    min-height:60px;
}
.form-dls dl:not(:last-child){
    margin-bottom:12px;
}
.form-dls dl dt{
    width:320px;
    position:relative;
}
.form-dls dl dt span.must{
    position:absolute;
    display:block;
    top:0;
    right:0;
    background:var(--color-red);
    color:#FFF;
    padding:4px 10px;
    font-size:14px;
}
.form-dls dl dd{
    width:calc(100% - 360px);
    margin:0;
}

.form-flexinputs{
    display:flex;
    gap:10px;
    align-items:center;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea{
    appearance: none;
    -webkit-appearance: none;
    width:100%;
    font-size:14px;
    font-weight:500;
    color:var(--color-base);
    border:1px solid var(--color-base);
    border-radius:4px;
    padding:10px;
}
input[type="number"]{
    appearance: none;
    -webkit-appearance: none;
    font-size:14px;
    font-weight:500;
    color:var(--color-base);
    border:1px solid var(--color-base);
    border-radius:4px;
    padding:10px;
}

.submit-box{
    display:flex;
    justify-content:center;
    margin-top:40px;
}
.wpcf7-spinner{
    display:none;
}
.wpcf7-form-control.wpcf7-submit{
    color:#FFF;
    background:var(--color-red);
    font-size:20px;
    font-weight:bold;
    padding:20px 30px;
    border-radius:10px;
    border:1px solid var(--color-red);
    transition:var(--transition);
}
.wpcf7-form-control.wpcf7-submit:disabled{
    opacity:0.8;
    background:#FFF;
    color:var(--color-red);
}


/* SP DRAWER */
.main-header__sptoggler__wrap{
    display:none;
}
.main-drawer{
    display:none;

    position:fixed;
    top:0;
    right:0;
    padding-top:var(--header-height);
    background:#FFF;
    width:100%;
    max-width:480px;
    height:100%;
    z-index:8;

    transition:var(--transition);
}
@media only screen and (max-width:1024px){
    .main-header__sptoggler__wrap{
        display:block;
    }
    .sp-toggler{
        position:relative;
        display:block;
        width:var(--header-height);
        height:var(--header-height);
        cursor:pointer;
    }
    .sp-toggler span{
        display:block;
        position:absolute;
        left:20%;
        width:60%;
        height:2px;
        background:var(--color-red);
        transition:var(--transition);
    }
    .sp-toggler span:nth-of-type(1){
        top:calc(50% - 10px);
    }
    .sp-toggler span:nth-of-type(2){
        top:calc(50% - 1px);
    }
    .sp-toggler span:nth-of-type(3){
        top:calc(50% + 8px);
    }
    .sp-toggler.open span:nth-of-type(1){
        top:calc(50% - 1px);
        transform:rotate(-45deg);
    }
    .sp-toggler.open span:nth-of-type(2){
        opacity:0;
    }
    .sp-toggler.open span:nth-of-type(3){
        top:calc(50% - 1px);
        transform:rotate(45deg);
    }

    .main-drawer{
        display:block;
        opacity:0;
        transform:translateX(101%);
    }
    .main-drawer.open{
        opacity:1;
        transform:translateX(0);
    }

    .main-drawer__inner{
        padding:40px;
        height:100%;
        overflow-y:scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .main-drawer__inner::-webkit-scrollbar {
        display:none;
    }

    .main-drawer__lists{
        margin:0;
        padding:0;
        list-style:none;

        margin-bottom:40px;

        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:0;
    }
    .main-drawer__list{
        padding:10px;
    }
    .main-drawer__list a{
        display:block;
        height:100%;
        padding:6px 0;
        text-decoration:none;
        border-bottom:1px solid var(--color-border-lightgray);
    }
    .main-drawer__list__text{
        font-size:18px;
        font-weight:bold;
    }


    .main-drawer__sublists{
        margin:0;
    }
    .main-drawer__sublist{
        margin-bottom:6px;
    }
    .main-drawer__sublist a{
        display:block;
    }
}



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

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

    /* HEADER */
    .main-header__menu{
        display:none;
    }
    .main-header__rightmenu{
        justify-self:flex-end;
        margin-left: auto;
    }
    .main-header__functions{
        margin-right:20px;
    }

    .header-breadcrumb{
        z-index:7;
    }

    /* FOOTER */

    .footer-breadcrumb{
        padding-top:100px;
    }

    .contact-footer__flex{
        gap:30px;
        flex-wrap:wrap;
    }
    .contact-footer__flex__content{
        width:100%;
    }
    .contact-footer__flex__links{
        width:100%;
    }

    .contact-footer__tel{
        flex-wrap:wrap;
        gap:20px;
    }
    .contact-footer__tel__title{
        width:100%;
        margin:0;
        text-align:center;
    }

    .main-footer__menus{
        grid-template-columns:repeat(4,1fr);
    }

    .bottom-footer{
        padding:20px 0;
    }
    .bottom-footer__logo{
        padding:0;
        margin-bottom:20px;
        width:100%;
    }
    .bottom-footer__links{
        gap:10px;
    }
    .bottom-footer__link{
        width:100%;
    }


    /* COMMON */
    .common-sectiontitle{
        font-size:34px;
    }

    .cpage-mv{
        padding:100px 0 50px;
    }
    .cpage-mv__title{
        padding-top:28px;
        font-size:42px;
    }

    .page-common__pagelinks{
        grid-template-columns:1fr;
        gap:20px;
    }

    .corp-footermenus{
        grid-template-columns:repeat(3,1fr);
    }


    .common-table table th, .common-table table td{
        padding:12px;
    }


    /* TOP */

    .top-mv__maimnslide__btn--prev{
        left:0;
        right:unset;
    }
    .top-mv__maimnslide__btn--next{
        right:0;
        left:unset;
    }

    .top-companylinksec__fv__bg img{
        min-height:82vw;
    }
    .top-companylinksec__link__thumb{
        margin-top:-100px;
    }
    .top-companylinksec__link:nth-child(1){
        padding-right:20px;
    }
    .top-companylinksec__link:nth-child(2){
        padding-left:20px;
    }
    .top-companylinksec__link__title{
        font-size:20px;
    }

    .top-mainlinks{
        flex-wrap:wrap;
    }
    .top-mainlinks__img{
        width:100%;
    }
    .top-mainlinks__img__bg{
        width:100%;
    }
    .top-mainlinks__contentbox,
    .top-mainlinks--nor .top-mainlinks__contentbox{
        width:100%;
        padding:50px 0 0;
    }
    .top-mainlinks__img__title{
        width:100%;
        text-align:center;
    }

    .top-sublinks{
        grid-template-columns:1fr;
    }



    /* PAGE NEWS */
    .page-news__titlehead{
        width:100%;
    }
    .page-news__main{
        width:100%;
    }
    .page-news__titlehead__anker{
        margin-top:20px;
    }


    /* CONCEPT */
    .concept-top-mv{
        padding-bottom:100px;
    }


    /* CONCEPT - VISION */
    .vision-mv__flex{
        flex-wrap:wrap;
        gap:30px;
    }
    .vision-mv__flex__title,
    .vision-mv__flex__content{
        width:100%;
    }

    .vision-headsection__flex__main,
    .vision-headsection__flex__text{
        width:100%;
    }
    .vision-headsection__flex__text{
        padding-top:60px;
    }
    .vision-headsection__mainimg{
        text-align:center;
    }

    .vision-rinen__flex__content,
    .vision-rinen__flex__img{
        max-width:100%;
    }



    /* CONCEPT - BRAND MESSAGE */
    .bmessage-mv__contentbox{
        width:100%;
    }
    .bmessage-mv__content__text span{
        font-size:28px;
    }

    .bmessage-concept__hv01,
    .bmessage-concept__hv02{
        display:none;
    }

    .bmessage-concept__bottomflex__content{
        width:100%;
        padding:45px 0 0;
    }

    .bmessage-point__title{
        margin-top:0;
    }
    .bmessage-movie__anker{
        bottom:30px;
        right:20px;
    }


    /* CONCEPT - TOP MESSAGE */
    .tmessage-mv{
        padding-bottom:100px;
    }



    /* COMPANY */
    .company-top-mv{
        padding-bottom:100px;
    }


    /* COMPANY - ABOUT */
    .about-mv{
        padding-bottom:60px;
    }

    .company-section:first-child{
        padding-top:50px;
    }

    .company-shop__shops{
        grid-template-columns:repeat(2,1fr);
    }


    /* COMPANY - AD GALLERY */
    .adgallery-maingallery__descflex{
        flex-wrap:wrap;
        gap:30px;
    }
    .adgallery-maingallery__descflex__title,
    .adgallery-maingallery__descflex__desc{
        width:100%;
    }
    .adgallery-maingallery__gallery{
        gap:40px;
    }
    .adgallery-maingallery__gallery:not(:first-child){
        margin-top:60px;
    }
    .adgallery-maingallery__gallery__image{
        max-width:100%;
        text-align:center;
    }
    .adgallery-maingallery__gallery__content{
        max-width:100%;
    }
    .adgallery-maingallery__gallery__titles{
        padding-top:30px;
    }
    .adgallery-maingallery__gallery__title{
        font-size:32px;
    }

    .adgallery-promos__promo dl dd{
        padding:0;
    }




    /* BUSINESS */

    .business-top-mv{
        padding-bottom:100px;
    }


    /* BUSINESS - ITEMS */
    .items-pickup{
        padding:50px 0 100px;
    }

    .items-items{
        grid-template-columns:repeat(5,1fr);
    }


    /* BUSINESS - FIELDS */

    .fields-section:first-child{
        padding-top:60px;
    }
    .fields-section{
        padding-top:60px;
    }

    .fields-contentflex{
        gap:40px;
    }
    .fields-contentflex__titles,
    .fields-contentflex__content{
        width:100%;
    }

    .fields-contentflex__title{
        font-size:32px;
    }



    /* ESG */

    .esg-mv{
        padding:60px 0 220px;
    }
    .esg-mv__bg{
        height:100%;
    }
    .esg-mv__bg img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
        min-width:unset;
        min-height:unset;
        top:0;
        left:0;
        transform:none;
    }

    .esg-mainsec__title--jp{
        font-size:42px;
    }

    .esg-policy{
        padding-top:60px;
    }
    .esg-policy__head{
        flex-wrap:wrap;
        gap:60px;
    }
    .esg-policy__head__content{
        width:100%;
        position:relative;
        z-index:2;
    }
    .esg-policy__head__mainimg{
        width:100%;
    }
    .esg-policy__head__mainimg__img{
        opacity:0.2;
        bottom:unset;
        top:-120px;
    }

    .esg-policy__general__contentbox{
        padding:30px 0;
        margin-top:0;
        border-radius:0;
    }


    .esg-sdgs__head{
        flex-wrap:wrap;
        gap:40px;
    }
    .esg-sdgs__head__content{
        width:100%;
        position:relative;
        z-index:2;
    }
    .esg-sdgs__head__mainimg{
        width:100%;
        opacity:0.2;
    }

    .esg-sdgssectionbox{
        margin-top:60px;
        padding:30px;
    }

    .esg-sdgssection__list__flex{
        flex-wrap:wrap;
        gap:30px;
    }
    .esg-sdgssection__list__img{
        margin:0 auto;
    }
    .esg-sdgssection__list__content{
        width:100%;
    }


    .esg-csr{
        padding-top:120px;
    }
    .esg-csr__head{
        flex-wrap:wrap;
        gap:60px;
    }
    .esg-csr__head__content{
        width:100%;
        position:relative;
        z-index:2;
    }
    .esg-csr__head__mainimg{
        width:100%;
    }
    .esg-csr__head__mainimg__img{
        opacity:0.2;
        top:-160px;
    }



    /* RECRUIT */

    .recruit-mv__mainimg{
        top:374px;
        height:420px;
    }

    .recruit-asidemenus{
        top:unset;
        bottom:60px;
    }
    .recruit-asidemenus__menu{
        width:280px;
    }

    .recruit-concept__maintext{
        font-size:3.5vw;
    }

    .recruit-commonsection__head__subtitle{
        font-size:48px;
    }

    .recruit-infographics{
        grid-template-columns:repeat(2,1fr);
    }
    .recruit-infographic{
        padding:40px 20px;
    }

    .recruit-internship__programs{
        grid-template-columns:repeat(2,1fr);
    }
    .recruit-internship__program{
        padding:40px 20px;
    }

    .recruit-internship__feature__content{
        padding:20px 0;
    }
    .recruit-internship__feature__title{
        font-size:18px;
    }

    .recruit-internship__section__title{
        font-size:32px;
    }

    .recruit-internship__flows{
        grid-template-columns:repeat(2,1fr);
    }
    .recruit-internship__flow{
        padding:40px 20px;
    }


    .recruit-search__console__box{
        padding:0 20px 40px;
    }

    .recruit-search__console__dls dl{
        flex-wrap:wrap;
        gap:12px;
    }
    .recruit-search__console__dls dl dt{
        width:100%;
        text-align:left;
    }
    .recruit-search__console__dls dl dd{
        width:100%;
    }

    .recruit-search__console__checkboxlist{
        gap:10px;
    }
    .recruit-search__console__checkbox {
        display: flex;
        gap: 4px;
        align-items: flex-start;
    }
    .recruit-search__console__checkbox input[type="checkbox"]{
        margin-top:4px;
    }
    .recruit-search__console__checkbox label{
        line-height:1.6;
    }

    .recruit-search__articles{
        grid-template-columns:repeat(2,1fr);
    }



    /* IR */

    .ir-links,
    .irtop-links .ir-links{
        grid-template-columns:repeat(2,1fr);
    }

    .ir-link__thumb{
        width:120px;
    }
    .ir-link__cont{
        width:calc(100% - 120px);
        padding-left:20px;
        padding-right:40px;
    }
    .ir-link__cont__icon{
        right:10px;
    }

    .ir-documents__lists{
        grid-template-columns:1fr;
    }

    .irtop-library__flex{
        gap:30px;
    }
    .irtop-library__content{
        width:100%;
        order:2;
    }
    .irtop-library__mainimg{
        width:100%;
        order:1;
    }



    /* IR - CALENDAR */
    .ircal-calendar__imgwrapper{
        overflow-x:scroll;
    }
    .ircal-calendar__imgwrapper img{
        max-width:unset;
        width:1000px;
    }



    /* IR - LIBRARY */
    .irlib-tab__mainflex{
        flex-wrap:wrap;
        gap:40px;
    }
    .irlib-tab__mainflex__content{
        max-width:100%;
    }

    .irlib-backnumber__tables{
        grid-template-columns:1fr;
    }



    /* IR - HIGHLIGHT */

    .irhighlight-flexgraph{
        width:620px;
    }

    .irhighlight-maintable .common-table{
        overflow-x:scroll;
    }
    .irhighlight-maintable .common-table table{
        max-width:unset;
        width:1000px;
    }




    /* IR - BENEFITS */

    .irbenefits__main__flex{
        flex-wrap:wrap;
        gap:50px;
    }
    .irbenefits__main__titles{
        width:100%;
        max-width:520px;
        transform:none;
        margin-top:-80px;
        margin-left:-1px;
        padding-left:1px;
    }
    .irbenefits__main__title{
        font-size:32px;
    }
    .irbenefits__main__content{
        width:100%;
        padding:0;
    }




    /* CONTACT */
    .contact-main__section__boxes{
        grid-template-columns:1fr;
    }



    /* NEWS - SINGLE */
    .single-article__header__title{
        font-size:32px;
    }
}




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

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

    p{
        font-size:14px;
    }


    /* COMMON */
    .sitelogo, .sitelogo a, .sitelogo a img{
        height:28px;
    }

    .common-sectiontitle{
        font-size:24px;
        margin-bottom:1em;
    }
    .common-sectionsubtitle{
        font-size:18px;
    }

    .common-anker__icon{
        width:20px;
        height:20px;
    }


    .cpage-mv{
        padding:80px 0 50px;
    }
    .cpage-mv__title{
        font-size:28px;
        padding-top:18px;
    }


    .page-common__pagelink{
        gap:0;
    }
    .page-common__pagelink__thumb{
        width:120px;
        height:100%;
    }
    .page-common__pagelink__thumb img{
        width:100%;
        height:100%;
        object-fit:contain;
    }
    .page-common__pagelink__content{
        padding:12px 20px;
    }
    .page-common__pagelink__title{
        font-size:18px;
        padding: 0;
        margin: 0 0 10px;
    }
    .page-common__pagelink__title::before{
        content:none;
    }
    .page-common__pagelink__anker .common-anker a .common-anker__text{
        font-size:12px;
    }
    .page-common__pagelink__anker .common-anker a .common-anker__icon{
        width:18px;
        height:18px;
    }

    .common-inpagelink__links{
        gap:10px 16px;
    }
    .common-inpagelink__link a{
        gap:6px;
    }
    /*
    .common-inpagelink__link{
        width:100%;
    }
    */


    ul.common-ul li{
        font-size:14px;
    }

    .common-table table th,
    .common-table table td{
        font-size:14px;
    }


    .breadcrumbs{
        overflow-x:scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    .breadcrumbs::-webkit-scrollbar {
        display:none;
    }





    /* HEADER */

    .header-breadcrumb{
        z-index:7;
    }
    .breadcrumbs span[property="name"]{
        white-space:nowrap;
    }


    /* DRAWER */
    .main-drawer__list{
        padding:0 10px;
    }
    .main-drawer__list__text{
        font-size:16px;
    }


    /* FOOTER */

    .footer-breadcrumb{
        padding:80px 0 20px;
    }

    .contact-footer{
        padding:50px 0;
    }
    .contact-footer__link a{
        padding:20px;
    }
    .contact-footer__link__title{
        font-size:14px;
    }
    .contact-footer__tel__link a{
        font-size:34px;
    }

    .main-footer{
        padding:50px 0;
    }
    .main-footer__menus{
        grid-template-columns:1fr;
        gap:20px;
    }
    .main-footer__menu__links{
        margin:0;
    }



    /* DRAWER */
    .main-drawer__inner{
        padding:30px 20px 40px;
    }


    /* TOP */
    .top-mv{
        padding:80px 0;
    }

    .top-mv__mainslide__img{
        border-radius:10px;
    }
    .top-mv__maimnslide__btn--next,
    .top-mv__maimnslide__btn--prev{
        display:none;
    }
    .top-mv__mainthumbnails__container{
        margin-top:20px;
        border:0;
        padding-bottom:0 !important;
    }
    .top-mv__mainthumbnails{
        display:none !important;
    }

    .top-mv__importantnews{
        gap:16px 10px;
    }
    .top-mv__importantnews__tag{
        width:130px;
        font-size:12px;
    }
    .top-mv__importantnews__date{
        font-size:14px;
    }
    .top-mv__importantnews__title{
        height:auto;
        display:block;
    }

    .top-concept{
        padding:80px 0;
    }

    .top-banners--section{
        padding-top:80px;
    }
    .top-banners{
        grid-template-columns:1fr;
        gap:40px;
    }

    .top-news{
        padding-top:80px;
        padding-bottom:80px;
    }

    .top-companylinksec__linksec{
        padding-bottom:50px;
    }
    .top-companylinksec__fv__bg{
        position:absolute;
        top:0;
        left:0;
        height:100%;
    }
    .top-companylinksec__fv__bg img{
        height:100%;
        min-height:auto;
    }
    .top-companylinksec__title{
        position:relative;
        top:0;
        padding:100px 0;
    }

    .top-compnaylinksec__links{
        grid-template-columns:1fr;
    }
    .top-companylinksec__link:nth-child(1){
        padding:30px 0;
        border:0;
        border-bottom:1px solid var(--color-red);
    }
    .top-companylinksec__link:nth-child(2){
        padding:30px 0;
        border:0;
    }
    .top-companylinksec__link__thumb{
        margin-top:0;
    }
    .top-companylinksec__link__cont{
        padding:40px 0 0;
    }
    .top-companylinksec__link__hovertext{
        bottom:unset;
        top:14px;
        right:0;
    }


    .top-mainlinksec{
        padding:50px 0 100px;
    }

    .top-mainlinks__img{
        height:280px;
    }

    .top-mainlinks--nor .top-mainlinks__img__bg{
        border-radius:10px;
    }
    .top-mainlinks__img__title{
        top:50%;
        transform:translateY(-50%);
        padding: 0 20px;
    }
    .top-mainlinks__contentbox,
    .top-mainlinks--nor .top-mainlinks__contentbox{
        padding:30px 0 0;
    }

    .top-mainlinks.top-mainlinks--rev{
        padding-top:50px;
    }
    .top-mainlinks--rev .top-mainlinks__img__bg{
        border-radius:10px;
    }


    .top-sublinksec{
        padding:80px 0;
    }
    .top-sublink{
        flex-wrap:wrap;
        border:18px;
    }
    .top-sublink__img{
        width:100%;
        border-radius:0;
        border-top-left-radius:18px;
        border-top-right-radius:18px;
    }
    .top-sublink__img img{
        width:100%;
    }
    .top-sublink__content{
        width:100%;
        padding:30px 20px;
        border-radius:0;
        border-bottom-left-radius:18px;
        border-bottom-right-radius:18px;
    }



    /* CONCEPT - VISION */
    .vision-mv{
        padding:100px 0;
    }
    .vision-mv__enline{
        font-size:6vw;
    }

    .vision-section,
    .vision-section:not(:last-of-type){
        padding-top:80px;
    }

    .vision-rinen__lists dl{
        font-size:14px;
    }

    .concept-footerlinks{
        padding-bottom:80px;
    }
    .concept-footerlinks__title{
        margin-top:60px;
    }

    .corp-footermenusec{
        padding:60px 0;
    }
    .corp-footermenus{
        grid-template-columns:repeat(2,1fr);
        gap:28px 10px;
    }


    /* CONCEPT - BRAND MESSAGE */
    .bmessage-mv{
        padding:160px 0 60px;
    }
    .bmessage-mv__title{
        margin-bottom:80px;
    }
    .bmessage-mv__content__text span{
        height:auto;
        font-size:22px;
    }

    .bmessage-concept{
        padding-top:80px;
    }
    .bmessage-concept__sliders{
        margin:20px 0 0;
    }
    .bmessage-concept__sl01{
        margin-bottom:20px;
    }

    .bmessage-concept__bottomflex{
        gap:20px;
    }
    .bmessage-concept__bottomflex__title{
        font-size:22px;
    }
    .bmessage-concept__bottomflex__content{
        width:100%;
        grid-template-columns:1fr;
        gap:0;
        padding:20px 0 0;
    }

    .bmessage-point{
        margin-top:80px;
    }
    .bmessage-point__title{
        font-size:24px;
        margin-bottom:20px;
    }

    .bmessage-wide{
        margin-top:80px;
        padding-bottom:80px;
    }
    .bmessage-wide__title{
        font-size:22px;
        text-align:left;
    }
    .bmessage-wide__texts{
        margin-top:20px;
        padding-top:20px;
        grid-template-columns: 1fr;
        gap:0;
    }


    .bmessage-movie__bg{
        position:absolute;
        height:100%;
    }
    .bmessage-movie__content{
        position:relative;
        padding:100px 0;
    }
    .bmessage-movie__subtitle{
        font-size:28px;
        padding-top:20px;
    }
    .bmessage-movie__anker{
        position:relative;
        bottom:0;
        right:0;
        margin-top:40px;
    }
    .bmessage-movie__anker a{
        width:100%;
        max-width:320px;
    }
    .bmessage-movie__anker__text{
        font-size:22px;
    }



    /* CONCEPT - TOP MESSAGE */

    .tmessage-mv{
        padding:80px 0 30px;
    }
    .tmessage-mv__bg02{
        position:relative;
        width:100%;
        top:0;
        margin-bottom:30px;
    }
    .tmessage-mv__bg02 img{
        border-radius:0;
    }



    /* COMPANY - ABOUT */
    .company-about__mainimg{
        margin-top:30px;
    }

    .company-about__table{
        margin-top:30px;
    }
    .company-about__table .common-table table,
    .company-about__table .common-table tbody,
    .company-about__table .common-table tr,
    .company-about__table .common-table th,
    .company-about__table .common-table td{
        display:block;
        width:100%;
        border:0;
    }

    .company-history-tab__title{
        font-size:20px;
    }

    .company-history__table .common-table table th{
        padding:10px;
        white-space:nowrap;
    }
    .company-history__table .common-table table td{
        padding:10px;
    }


    .company-section{
        padding-top:80px;
    }

    .company-shop__infobox{
        margin-top:40px;
        padding:30px 20px;
        gap:20px;
    }
    .company-shop__infobox__titles{
        width:100%;
        border:0;
    }
    .company-shop__infobox__articles{
        width:100%;
    }
    .company-shop__infobox__article{
        flex-wrap:wrap;
        gap:0;
    }
    .company-shop__infobox__article--title{
        width:100%;
    }

    .company-shop__desclists{
        margin-top:30px;
    }
    .company-shop__desclists dl{
        flex-wrap:wrap;
        gap:10px;
        margin:0;
    }
    .company-shop__desclists dl:not(:last-child){
        margin-bottom:30px;
    }
    .company-shop__desclists dl dd{
        width:100%;
        font-size:14px;
    }

    .company-shop__section__title{
        font-size:20px;
    }

    .company-shop__shops{
        grid-template-columns:1fr;
    }
    .company-shop__shop__desc{
        padding:0 20px 30px;
    }
    .company-shop__shop__name{
        flex-wrap:wrap;
        gap:6px;
    }
    .company-shop__shop__dls dl dt{
        font-size:12px;
    }




    /* COMPANY - AD GALLERY */
    .adgallery-mv__jpline{
        font-size:7vw;
    }

    .adgallery-headsec{
        padding-top:80px;
    }

    .adgallery-maingallery__date{
        margin-top:40px;
    }
    .adgallery-maingallery__title{
        font-size:28px;
    }
    .adgallery-maingallery__gallery__title{
        font-size:24px;
    }
    .adgallery-maingallery__gallery__text{
        margin-top:30px;
    }

    .adgallery-promos__maintext{
        margin-top:30px;
    }
    .adgallery-promos__promos{
        grid-template-columns:1fr;
    }




    /* BUSINESS - ITEMS */

    .items-pickup{
        padding:0 0 80px;
    }
    .items-pickup__slider--btn{
        width:20px;
    }
    .items-pickup__slider--btn.prev{
        left:0;
    }
    .items-pickup__slider--btn.next{
        right:0;
    }
    .items-pickup__slidercontainer{
        padding:0 40px;
    }

    .items-items{
        margin-top:30px;
        grid-template-columns:repeat(3,1fr);
        gap:30px 10px;
    }



    /* BUSINESS - FIELDS */
    .fields-contentflex__title{
        font-size:6vw;
    }
    .fields-contentflex{
        margin-top:0;
    }

    .fields-fields__mainimg{
        overflow-x:scroll;
        margin:0 0 30px;
    }
    .fields-fields__mainimg img{
        max-width:unset;
        width:900px;
    }

    .fields-oem__table dl{
        flex-wrap:wrap;
    }
    .fields-oem__table dl:not(:last-child){
        margin-bottom:10px;
    }
    .fields-oem__table dl dt,
    .fields-oem__table dl dd{
        width:100%;
        border:0;
        padding:6px 0;
    }
    .fields-oem__table dl dd{
        font-size:14px;
    }
    .fields-oem__address dl dd{
        font-size:14px;
    }

    .fields-contentflex__image{
        margin-bottom:30px;
    }



    /* ESG */
    .esg-mv{
        padding-bottom:120px;
    }
    .esg-mv__text{
        font-size:16px;
        margin-top:30px;
        filter:drop-shadow(0 0 1px #FFF);
    }
    .esg-mv__ts01{
        margin-bottom:10px;
    }

    .esg-mainsec__title--jp{
        font-size:24px;
    }

    .esg-policy{
        overflow:hidden;
    }
    .esg-policy__policy{
        width:280px;
        padding:40px 20px 30px;
    }
    .esg-policy__policies{
        width:calc(280px * 5 + (20px * 4));
    }
    .esg-policy__policy__title{
        font-size:20px;
    }

    .esg-policy__generals{
        grid-template-columns:1fr;
    }
    .esg-policy__general__img img{
        border-radius:10px;
    }

    .esg-sdgs{
        overflow:hidden;
        padding-top:80px;
        padding-bottom:80px;
    }
    .esg-sdgssectionbox{
        margin-top:30px;
        padding:30px 20px;
    }
    .esg-sdgssection__lists{
        grid-template-columns:1fr;
        gap:30px;
    }

    .sdgs-sdgssection__title__sdgsicons{
        width:100%;
        display:flex;
        justify-content:center;
        margin:20px auto 0;
    }

    .esg-csr{
        padding-bottom:80px;
    }



    /* RECRUIT */
    .recruit-mv{
        padding-top:120px;
        padding-bottom:100px;
    }
    .recruit-mv__title01 img{
        width:100%;
    }
    .recruit-mv__mainimg{
        top:62vw;
    }

    .recruit-concept__maintext{
        font-size:16px;
    }

    .recruit-concept__title__text small{
        font-size:18px;
    }

    .recruit-concept__imgslider{
        margin-top:30px;
    }

    .recruit-commonsection__head__subtitle{
        font-size:28px;
    }
    .recruit-commonsection__head__title{
        font-size:20px;
    }

    .recruit-infographicsection{
        padding-top:80px;
    }
    .recruit-infographics{
        grid-template-columns:1fr;
    }
    .recruit-infographic__flex{
        flex-wrap:wrap;
    }
    .recruit-infographic__image{
        width:100%;
        text-align:center;
    }
    .recruit-infographic__image img{
        max-width:120px;
    }
    .recruit-infographic__content{
        width:100%;
    }
    .recruit-infographic__title{
        font-size:18px;
    }

    .recruit-internship{
        padding-top:80px;
    }
    .recruit-internship__section{
        margin-top:60px;
    }
    .recruit-internship__section__title{
        font-size:20px;
    }

    .recruit-internship__programs{
        grid-template-columns:1fr;
    }
    .recruit-internship__program__title{
        font-size:18px;
    }
    .recruit-internship__program__dls>dl>dt{
        font-size:15px;
    }
    .recruit-internship__program__dls>dl>dd{
        font-size:14px;
    }
    .recruit-internship__features{
        grid-template-columns: 1fr;
    }

    .recruit-internship__flows{
        grid-template-columns:1fr;
    }
    .recruit-internship__flow__title{
        font-size:20px;
    }

    .recruit-tour{
        padding:80px 0;
    }
    .recruit-commonsection__head{
        margin-bottom:30px;
    }

    .recruit-tour__main .common-table table,
    .recruit-tour__main .common-table tbody,
    .recruit-tour__main .common-table tr,
    .recruit-tour__main .common-table th,
    .recruit-tour__main .common-table td{
        border:0;
        display:block;
        width:100%;
        font-size:14px;
    }

    .recruit-search{
        padding:80px 0;
    }

    .recruit-search__consolelinks{
        margin-top:30px;
        grid-template-columns:1fr;
        gap:12px;
    }
    .recruit-search__consolelink{
        height:50px;
        overflow:hidden;
    }
    .recruit-search__consolelink__title{
        font-size:16px;
    }
    .recruit-search__consolelink__btns{
        width:60px;
    }

    .recruit-search__console__title{
        font-size:16px;
    }

    .recruit-search__console__dls dl{
        padding:18px 0;
    }

    .recruit-search__console__dls dl dt{
        font-size:15px;
    }

    .recruit-search__console__checkboxlist{
        grid-template-columns:repeat(2,1fr);
    }

    .recruit-search__results{
        padding-top:60px;
    }

    .recruit-search__console__checkbox label{
        font-size:13px;
    }
    .recruit-search__console__submit{
        height:50px;
    }
    .recruit-search__console__submit--text{
        font-size:16px;
    }

    .recruit-search__articles{
        grid-template-columns:1fr;
    }
    .recruit-search__article__title{
        font-size:16px;
    }

    .recruit-asidemenus{
        bottom:0;
        width:100%;
    }
    .recruit-asidemenus__menus{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:0;
    }
    .recruit-asidemenus__menu,
    .recruit-asidemenus__menu:not(:last-child){
        width:auto;
        margin:0;
        overflow:hidden;
    }
    .recruit-asidemenus__menu a img{
        max-width:unset;
        width:110%;
        position:relative;
        left:-10%;
    }

    body.recruit-page{
        padding-bottom:17.5vw;
    }





    /* IR */

    .ir-tabtogglers{
        border:0;
        grid-template-columns:1fr;
    }
    .ir-tabtoggler:not(:last-child){
        border-right:0;
    }
    .ir-tabtoggler__text{
        height:auto;
        padding:10px 0;
    }

    .irtop-coversection{
        padding-top:60px;
    }
    .irtop-cover{
        width:250px;
        max-width:100%;
        height:auto;
    }
    .irtop-cover__cont__title{
        font-size:18px;
    }
    .irtop-cover__c01__content{
        bottom:80px;
    }
    .irtop-cover__c02__content{
        top:124px;
    }

    .irtop-documents{
        padding-top:80px;
    }
    .ir-documents__list a{
        flex-wrap:wrap;
    }
    .ir-documents__list__title{
        width: auto;
        max-width: calc(100% - 80px);
    }

    .irtop-library{
        padding-top:80px;
    }
    .irtop-library__links__li{
        padding:20px 0;
    }

    .irtop-links{
        padding-top:80px;
    }

    .ir-links, .irtop-links .ir-links{
        padding-bottom:80px;
        grid-template-columns:1fr;
        gap:12px;
    }
    .irtop-links .ir-links{
        padding-top:0;
    }
    .ir-links{
        padding-top:80px;
    }
    .ir-link__title{
        font-size:16px;
    }



    /* IR - CALENDAR */
    .ircal-calendar{
        padding-bottom:80px;
    }

    .ircal-listtab{
        padding-top:40px;
    }
    .ircal-listtab__title{
        font-size:24px;
        margin-bottom:18px;
    }

    .ircal-listtab__table .common-table{
        overflow-x:scroll;
    }
    .ircal-listtab__table .common-table table{
        min-width:560px;
    }




    /* IR - LIBRARY */
    .irlib-tab{
        padding-top:60px;
    }
    .irlib-tab__maintext{
        margin-top:30px;
    }

    .irlib-backnumber__tables{
        margin-top:30px;
    }
    .irlib-tab__mainflex,
    .irlib-backnumber__tables{
        gap:20px;
    }
    .irlib-backnumber{
        margin-top:60px;
    }


    /* IR - PUBLIC NOTICE */
    .irpublicnotice-table .common-table tbody th{
        white-space:nowrap;
    }



    /* IR - KABUNUSHI */
    .irkabunushi-tab{
        padding-top:60px;
    }
    .irkabunushi__content{
        margin-top:30px;
    }
    .irkabunushi__link a{
        flex-wrap:wrap;
    }




    /* IR - STOCK ADMIN */

    .irstockadmin-table .common-table table,
    .irstockadmin-table .common-table tbody,
    .irstockadmin-table .common-table tr,
    .irstockadmin-table .common-table th,
    .irstockadmin-table .common-table td{
        display:block;
        width:100%;
        border:0;
    }




    /* IR - BENEFITS */
    .irbenefits__main__image img{
        height:auto;
    }

    .irbenefits__main__flex{
        gap:20px;
    }
    .irbenefits__main__titles{
        margin:0;
        padding:20px 0;
    }
    .irbenefits__main__title{
        font-size:24px;
    }

    .irbenefits__section{
        padding-top:80px;
    }
    .irbenefits__section__text{
        margin-top:30px;
    }





    /* NEWS */

    .page-news-categorytogglers{
        grid-template-columns:1fr;
        padding-bottom:0;
        border:0;
    }
    .page-news-categorytoggler{
        padding:10px 0;
    }


    .archive-categorytoggler__ul{
        grid-template-columns:1fr;
        border:0;
        margin-bottom:0;
    }
    .archive-categorytoggler__li:not(:last-child){
        border:0;
    }
    .archive-categorytoggler__li a{
        height:40px;
    }

    .archive__yearselectorsec{
        padding:20px 0;
    }
    .archive__yearselector__flex{
        flex-wrap:wrap;
    }
    .archive__yearselector__select select{
        width:100%;
    }

    .archive-articlesec{
        padding:40px 0 80px;
    }
    .archive__categorytogglesec.categorytogglesec--bottom{
        display:none;
    }

    .news-archive__article__container{
        flex-wrap:wrap;
        height:auto;
        gap:12px 10px;
        padding:16px 0;
    }
    .news-archive__article__title{
        width:100%;
        font-size:16px;
    }
    .news-archive__article__icon{
        display:none;
    }


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



    /* NEWS - SINGLE */
    main.single{
        padding:80px 0 80px;
    }
    .single-article__header{
        padding-bottom:30px;
        margin-bottom:50px;
    }
    .single-article__category{
        margin-bottom:14px;
    }

    .single-article__header__title{
        font-size:24px;
    }


    .single-article__content h1{
        font-size:32px;
    }
    .single-article__content h2{
        font-size:24px;
    }
    .single-article__content h3{
        font-size:19px;
    }
    .single-article__content h4{
        font-size:16px;
    }
    .single-article__content h5{
        font-size:14px;
    }
    .single-article__content h6{
        font-size:12px;
    }

    .single-article__content li{
        font-size:14px;
    }

    .single-article__footer{
        padding-top:40px;
    }



    /* CONTACT */

    .contact-main{
        padding-bottom:80px;
    }
    .contact-main__toptext{
        font-size:14px;
        margin-bottom:40px;
    }

    .contact-main__section__text{
        font-size:14px;
        margin:20px 0;
    }

    .contact-main__section__box{
        padding:30px 20px;
    }

    .contact-main__dls dl:not(:last-child){
        margin-bottom:14px;
    }
    .contact-main__dls dd{
        width:100%;
    }
    .contact-main__dls dt,
    .contact-main__dls dd{
        font-size:14px;
    }


    .form-dls dl{
        flex-wrap:wrap;
    }
    .form-dls dl:not(:last-child){
        margin-bottom:32px;
    }
    .form-dls dl dt,
    .form-dls dl dd{
        width:100%;
    }
    .form-dls dl dt{
        font-size:15px;
        display:flex;
        flex-direction:row-reverse;
        gap:6px;
        align-items:center;
        justify-content: flex-end;
    }
    .form-dls dl dt span.must{
        font-size:12px;
        position:relative;
    }

    .wpcf7-list-item-label{
        font-size:14px;
    }

    .wpcf7-form-control.wpcf7-submit{
        font-size:16px;
    }



}



@media only screen and (max-width:767px) and (min-width:481px){
    .recruit-asidemenus__menu a img{
        aspect-ratio: 4.6 / 1;
        object-fit: cover;
        object-position: right 63%;
    }
}



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

    /* BREADCRUMBS */
    .breadcrumbs span[property="name"]{
        font-size:12px;
    }
    .breadcrumbs span[property="itemListElement"]:not(:last-child) span[property="name"]{
        padding-right:24px;
    }
    .breadcrumbs span[property="itemListElement"]:not(:last-child) span[property="name"]::after{
        right:9px;
    }

    /* PAGES */
    .cpage-parent-mv__img{
        top:0;
        right:0;
        width:30%;
    }
}