@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root{
    --color-base:#251e1c;
    --color-red:#ff0000;
    --color-brown:#231815;

    --font-en: "Montserrat", sans-serif;

    --transition:all .3s ease;
}

body{
    overflow-x:hidden;
    color:var(--color-base);
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


a, a:hover{
    transition:var(--transition);
}

*{
    box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6,p,li{
    letter-spacing:0.1em;
}



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


header#masthead,
footer#colophon{
    display:none !important;
}


/* HEADER */

.main-header{
    position:fixed;
    width:100%;
    top:0;
    left:0;
    z-index:9999;
    padding:25px 25px 0;
    transition:var(--transition);
}
.main-header::before{
    content:'';
    opacity:0;
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:calc(100% + 25px);
    background:linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,0,0,0.7), transparent);
    transition:var(--transition);
}
.main-header.scrolled::before{
    opacity:1;
}

.main-header__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.main-header__menu{
    display:flex;
    align-items:center;
    gap:25px;
}
.main-header__menu__menus{
    margin:0;
    padding:0;
    list-style:none;

    display:flex;
    gap:20px 65px;
}
.main-header__menu__menu a{
    color:#FFF;
    font-size:18px;
    font-weight:bold;
    text-decoration:none;
}

.main-header__contactbtn a{
    border:6px solid var(--color-base);
    color:var(--color-base);
    background:rgba(255,255,255,0.57);
    text-decoration: none;
    width:155px;
    height:50px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.main-header__contactbtn__text{
    margin:0;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;

    font-size:15px;
    font-weight:bold;
}
.main-header__contactbtn__text::before{
    content:'';
    display:block;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--color-red);
}

.sitelogo{
    margin:0;
}
.sitelogo img{
    transition:var(--transition);
}

.main-header.scrolled{
    padding:20px 20px 0;
}
.main-header.scrolled .sitelogo img{
    width:180px;
}


.main-header__toggle,
.main-drawer{
    display:none;
}

.drawer-toggler{
    position:relative;
    display:block;
    width:50px;
    height:50px;
}
.drawer-toggler span{
    position:absolute;
    left:0;
    display:block;
    width:100%;
    height:6px;
    background:#FFF;

    transition:var(--transition);
}
.drawer-toggler span:nth-of-type(1){
    top:calc(20% - 3px);
}
.drawer-toggler span:nth-of-type(2){
    top:calc(50% - 3px);
}
.drawer-toggler span:nth-of-type(3){
    top:calc(80% - 3px);
}

.drawer-toggler.open span:nth-of-type(1){
    top:calc(50% - 3px);
    transform:rotate(45deg);
}
.drawer-toggler.open span:nth-of-type(2){
    opacity:0;
}
.drawer-toggler.open span:nth-of-type(3){
    top:calc(50% - 3px);
    transform:rotate(-45deg);
}


/* DRAWER */

.main-drawer{
    position:fixed;
    z-index:9998;
    top:0;
    right:0;
    width:100%;
    height:100%;
    max-width:340px;
    padding:100px 40px 0;
    background:rgba(0,0,0,0.75);

    overflow-y:scroll;
    -ms-overflow-style: none;    /* IE, Edge 対応 */
    scrollbar-width: none;       /* Firefox 対応 */

    transition:var(--transition);

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

.main-drawer::-webkit-scrollbar {  /* Chrome, Safari 対応 */
    display:none;
}

.main-drawer__menus{
    list-style:none;
    padding:0;
    margin:0;
}
.main-drawer__menu:not(:last-child){
    margin-bottom:24px;
}
.main-drawer__menu a{
    color:#FFF;
    text-decoration:none;
}
.main-drawer__menu__text{
    margin:0;
    font-size:20px;
    font-weight:bold;
}
.main-drawer__menu__text small{
    display:block;
    font-size:13px;
    font-weight:bold;
}



/* FOOTER */

.main-footer{
    padding:30px 60px;
}

.main-footer__image{
    margin-bottom:80px;
}

.main-footer__inner{
    display:flex;
    flex-wrap:wrap;
    gap:10px 50px;
    flex-direction:row-reverse;
    justify-content:space-between;
}

.main-footer__address{
    margin-bottom:0;
}
.main-footer__copyright{
    width:100%;
    text-align:right;
    font-size:15px;
    margin:0;
}

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

    display:flex;
    gap:80px;
}
.main-footer__menu__menu a{
    font-size:24px;
    font-weight:bold;
    color:var(--color-base);
    text-decoration:none;
}


.main-contact__btn a{
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    padding:0 320px;

    height:360px;

    color:var(--color-red);
    background:var(--color-base);

    text-decoration:none;
}
.main-contact__btn__text{
    font-size:114px;
    font-weight:bold;
}
.main-contact__btn__icon{
    position:absolute;
    top:50%;
    left:calc(50% + 530px);
    transform:translateY(-50%);
}
.main-contact__btn__icon img{
    transition:all .8s ease;
}
.main-contact__btn a:hover{
    color:var(--color-base);
    background:var(--color-red);
}
.main-contact__btn a:hover .main-contact__btn__icon img{
    transform:rotate(360deg);
    filter:brightness(0);
}





/* COMMON */


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

.top-commonlink a{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    gap:8px;
    
    color:var(--color-base);
}
.top-commonlink__text{
    font-size:42px;
    font-weight:bold;
    line-height:1;
    margin:0;
}
.top-commonlink__icon{
    line-height:0;
}
.top-commonlink__icon img{
    transition:all 0.8s ease;
}

.top-commonlink a:hover .top-commonlink__icon img{
    transform:rotate(360deg);
}

.top-commonlink.white a{
    color:#FFF;
}




/* TOP */

.top-mv{
    position:relative;
    height: 100vh !important;
}
.top-mv__bg,
.top-mv__main{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.top-mv__bg img,
.top-mv__main img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.top-mv__bg{
    z-index:1;
}
.top-mv__main{
    z-index:3;
}

.top-mv__logo{
    position:absolute;
    z-index:2;
    top:15%;
    left:50%;
    transform:translateX(-50%);
    width:50%;
}

.top-mvbottom{
    position:relative;
    z-index:2;
    margin-bottom:-40px;
}

.top-concept{
    min-height:100dvh;
    color:#FFF;
}
.top-concept__bg{
    position:sticky;
    top:0;
    left:0;
    width:100%;
    height:100dvh;
    z-index:-1;
}
.top-concept__bg img{
    width:100%;
    height:100%;
    object-position:center;
    object-fit:cover;
}

.top-concept__title{
    -ms-writing-mode:vertical-rl;
    writing-mode:tb-rl;

    font-size:63px;
    font-weight:900;
    letter-spacing:0;

    margin:0 auto 300px;
    width:1em;
    height:12em;
    line-height:1;
}

.top-concept__text{
    margin:0;
    font-size:50px;
    font-weight:900;
    text-align:justify;
    letter-spacing:0.15em;
    line-height: calc(93/51);

    padding-bottom:200px;
}


.top-service{
    padding-top:100px;
}

.top-sectiontitle__sec{
    position:relative;
    z-index:3;
}
.top-sectiontitle{
    transform:translateY(60px);
}
.top-sectiontitle.right{
    text-align:right;
}
.top-sectiontitle.white{
    color:#FFF;
}
.top-sectiontitle__jp,
.top-sectiontitle__en{
    margin:0;
}
.top-sectiontitle__jp{
    font-size:20px;
    font-weight:400;
}
.top-sectiontitle__en{
    font-size:106px;
    font-weight:bold;
    line-height:1.2;
}

.top-section{
    display:flex;
    align-items:stretch;
    gap:0;
}
.top-section.service{
    color:#FFF;
    background:var(--color-brown);
}

.top-section__mainimage{
    position:relative;
    z-index:2;
    width:calc(480 / 1920 * 100%);
}
.top-section__content{
    width:calc(1460 / 1920 * 100%);
}

.top-section__mainimage,
.top-section__subimage{
    line-height:0;
}
.top-section__mainimage img{
    height:100%;
    object-fit:cover;
    object-position:center;
}
.top-section__mainimage__texts{
    position:absolute;
    top:115px;
    left: calc(200 / 480 * 100%);
}
.top-section__mainimage__text{
    display:inline-block;
    margin:0;
    white-space:nowrap;
    color:#FFF;
    background:var(--color-brown);
    font-size:31px;
    font-weight:bold;
    padding:10px 20px;
    line-height:1;
}
.top-section__mainimage__text:not(:last-child){
    margin-bottom:20px;
}
.top-section__mainimage__texts.company .top-section__mainimage__text{
    background:var(--color-red);
}

.top-section__wrap{
    padding:18px 30px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}

.top-section__text{
    margin:0;
    font-size:20px;
    line-height:1.8;
}
.top-section__wrap__link{
    min-width: 360px;
    width: 32%;
}

.top-sectiontitle__sec.company{
    background:var(--color-brown);
    padding-top:50px;
}
.top-section.company{
    color:#FFF;
    background:var(--color-red);
}

.top-service,
.top-company{
    overflow:hidden;
}

.top-centerslidersec{
    padding:100px 0 200px;
    overflow:hidden;
}
.top-centersliderwrap{
    position:relative;
    top:0;
    left:50%;
    width:110%;
    max-width:unset;
    transform-origin:center center;
    transform:rotate(-3deg) translateX(-50%);
}
.swiper-wrapper{
    transition-timing-function: linear !important;
}
.top-centerslide__img{
    padding:0 20px;
}

.top-technology{
    position:relative;
}
.top-technology__main{
    position:relative;
}
.top-technology__image{
    position:relative;
    z-index:1;
    line-height:0;
}
.top-technology__image img{
    display:block;
}
.top-technology__hvbox{
    position:absolute;
    z-index:2;

    color:#FFF;
}
.top-technology__hvbox__bg{
    position:absolute;
    z-index:1;
    background:#c40018;
    mix-blend-mode:multiply;
}
.top-technology__hvbox.hv01,
.top-technology__hvbox__bg.hv01{
    width:calc(580 / 1920 * 100vw);
    height:calc(380 / 1920 * 100vw);

    top:calc(470 / 1920 * 100vw);
    left:0;
}
.top-technology__hvbox.hv02,
.top-technology__hvbox__bg.hv02{
    width:calc(750 / 1920 * 100vw);
    height:calc(470 / 1920 * 100vw);

    top: calc(330 / 1920 * 100vw);
    right:calc(160 / 1920 * 100vw);

    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:0 calc(75 / 1920 * 100vw);
}
.top-technology__hvbox.hv03,
.top-technology__hvbox__bg.hv03{
    width:calc(580 / 1920 * 100vw);
    height:calc(510 / 1920 * 100vw);

    bottom: calc(-96 / 1920 * 100vw);
    right: 0;

    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    padding:calc(260 / 1920 * 100vw) calc(75 / 1920 * 100vw) 0;
}
.top-technology__hvbox__bg.hv03{
    background:var(--color-red);
}

.top-technology__title{
    position:relative;
    z-index:2;
    margin:0;
    font-size:calc(47 / 1920 * 100vw);
    font-weight:bold;
    line-height:calc(83 / 47);
    margin-bottom:calc(20 / 1920 * 100vw);
}
.top-technology__text{
    position:relative;
    z-index:2;
    margin:0;
    font-size:calc(20 / 1920 * 100vw);
    font-weight:500;
    line-height:2;
}


.top-works{
    padding:300px 0;
}

.top-works__titlesec{
    margin-bottom:100px;
}
.top-works__titlesec .top-sectiontitle{
    transform:none;
}
.top-works__flex{
    display:flex;
    justify-content:space-between;
}
.top-works__content{
    width:700px;
    padding:0 50px;
}
@media only screen and (min-width:1801px){
    .top-works__content{
        margin-left:calc((100% - 1800px) / 2);
    }
}
.top-works__slidersec{
    width:calc(100% - 700px);
}
.top-works__sliderbtn{
    cursor:pointer;
}

.top-works__subtitle{
    font-size:31px;
    font-weight:bold;
    line-height:2;
    margin:0;
    margin-bottom:50px;
}
.top-works__text{
    font-size:20px;
    line-height:2;
    margin: 0;
    margin-bottom:60px;
}

.top-works__slide__img{
    padding-right:50px;
}

.top-works__slidercontrols{
    position:absolute;
    z-index:2;
    bottom:60px;
    left:40%;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}

.top-news{
    padding:100px 0 80px;
    background:var(--color-red);
}
.top-news__flex{
    display:flex;
    justify-content:space-between;
}
.top-news__titlesec{
    width:calc(580 / 1800 * 100%);
}
.top-news__content{
    width:calc(1100 / 1800 * 100%);
}

.top-news__title--en{
    margin:0;
    margin-bottom:16px;
    font-size:58px;
    font-weight:bold;
    line-height:1.1;
}
.top-news__title{
    font-size:19px;
    font-weight:400;
    margin:0;
}
.top-news__titles{
    color:#000;
    margin-bottom:140px;
}




/* NEWS */

.news-article{
    border-bottom:2px solid #FFF;
}
.news-article:not(:last-child){
    margin-bottom:60px;
}
.news-article a{
    padding:20px 10px;
    text-decoration:none;

    display:flex;
}

.news-article__date{
    margin:0;
    font-size:20px;
    font-weight:400;
    color:#FFF;

    letter-spacing:0.15em;

    width:200px;
}
.news-article__cat{
    margin:0;
    color:#FFF;
    font-size:20px;
    font-weight:bold;
    width:140px;
}
.news-article__title{
    width:calc(100% - 340px);

    margin:0;
    color:#FFF;
    font-size:20px;
    font-weight:bold;

    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp:1;
}









/* RECRUIT */

.recruit-header .sitelogo a{
    text-decoration:none;
}

.recruit-header .main-header__inner{
    justify-content:flex-end;
    gap:40px;
    transition:var(--transition);
}
.recruit-header.scrolled .main-header__inner{
    align-items:flex-start;
}
.recruit-header .main-header__logo{
    margin-right:auto;
}
.recruit-header__logo__text{
    margin:10px 0 0;
    font-size:13px;
    font-weight:bold;
    color:#FFF;
    padding-left:46px;

    transition:var(--transition);
}
.main-header.scrolled .recruit-header__logo__text{
    margin-top:4px;
    padding-left:29px;
}

.recruit-header__btns{
    display:flex;
    gap:30px;
}
.recruit-header__btn a{
    text-decoration:none;
    color:var(--color-base);
    background:rgba(255,255,255,0.57);
    border:6px solid var(--color-base);

    display:flex;
    width:155px;
    height:50px;
    justify-content:center;
    align-items:center;
}

.main-header__toggle.recruit-header__toggle{
    display:block;
}

.drawer-toggler.recruit-drawer-toggler:not(.open) span{
    background:var(--color-base);
}
.main-header.scrolled .drawer-toggler.recruit-drawer-toggler span{
    background:#FFF;
}
.drawer-toggler.recruit-drawer-toggler small{
    display:block;
    color:var(--color-base);
    font-size:13px;
    font-weight:400;
    position:absolute;
    bottom:-12px;
    left:0;
    width:100%;
    line-height:1;
    letter-spacing: 0.2em; 
}
.main-header.scrolled .drawer-toggler.recruit-drawer-toggler small{
    color:#FFF;
}
.drawer-toggler.recruit-drawer-toggler.open small{
    color:#FFF;
}

@media only screen and (min-width:1025px){
    .recruit-drawer{
        display:block;
        padding-top:120px;
    }
    .recruit-header:not(.scrolled)+.recruit-drawer{
        padding-top:180px;
    }
}


.recruit-footer{
    padding:220px 0 30px;
}
.recruit-footer__flex{
    display:flex;
    justify-content:space-between;
    margin-bottom:30px;
}
.recruit-footer__logo a{
    color:var(--color-red);
    text-decoration:none;
}
.recruit-footer__logo__text{
    padding-left:60px;
    font-size:19px;
    font-weight:bold;
    margin:0;
    margin-top:14px;
}
.recruit-footer__address{
    margin:0;
    margin-top:20px;
    padding-left:60px;
}

.recruit-footer__copyright{
    text-align:center;
    font-size:12px;
    margin:0;
}




.recruit-mv{
    position:relative;
}
.recruit-mv__bg{
    position:sticky;
    z-index:1;
    top:0;
    left:0;
    width:100%;
    height:100dvh;
    line-height:0;
}
.recruit-mv__bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.recruit-mv__logosec{
    position:relative;
    z-index:2;
    margin-top:-100dvh;
    height:100dvh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.recruit-mv__messagesec{
    position:relative;
    z-index:2;
    height:100dvh;
    display:flex;
    align-items:center;
    justify-content:center;
}
.recruit-mv__message{
    margin:0;
    font-size:80px;
    font-weight:900;
    color:#FFF;
}

.recruit-mv__logo{
    line-height:0;
}
.recruit-mv__logo img{
    transition:all .8s ease;
    transition-delay:0.8s;

    opacity:0;
    filter:blur(18px);
}
.recruit-mv__logo.scrollin img{
    opacity:1;
    filter:none;
}


.recruit-about{
    position:relative;
    padding-bottom:260px;
}
.recruit-about__background{
    position:absolute;
    z-index:1;
    top:0;
    left:0;
    width:100%;
}
.recruit-about__coverbg{
    position:absolute;
    z-index:2;
    top:0;
    left:0;
    width:100%;
    height:100%;
    line-height:0;
}
.recruit-about__coverbg img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.recruit-about__forward{
    position:relative;
    z-index:3;
}

.recruit-about__logosec{
    padding-top:210px;
}
.recruit-about__logo{
    margin:0;
    line-height:0;

    margin-left:auto;
    width:40%;
    min-width:680px;
}

.recruit-about__forward .recruit-about__logosec{
    opacity:0;
}

.recruit-about__background .recruit-about__content{
    background:var(--color-red);
}

.recruit-about__content{
    color:#FFF;
}
.recruit-about__sectiontitle{
    margin:0;
    color:var(--color-base);
    font-size:76px;
    font-weight:bold;
    line-height:1;
    transform:translateY(-50%);
}

.recruit-about__contentbox{
    padding:120px 0 180px;
    margin-left:auto;
    width:40%;
    min-width:680px;
}

.recruit-about__title{
    font-size:54px;
    font-weight:bold;
    margin:0;
    margin-bottom:2em;
    line-height:1.4;
}
.recruit-about__text{
    color:var(--color-base);
    font-size:24px;
    font-weight:bold;
    line-height:calc(56 / 24);
    margin:0;
}


.recruit-sectiontitle01{
    margin-bottom:60px;
}
.recruit-sectiontitle01--en{
    font-size:76px;
    font-weight:bold;
    margin:0;
    line-height:1;
}
.recruit-sectiontitle01--jp{
    font-size:19px;
    font-weight:bold;
    margin:26px 0 0;
}


.recruit-sectitle02{
    margin-bottom:60px;
}
.recruit-sectitle02--en{
    font-size:58px;
    font-weight:bold;
    margin:0;
}
.recruit-sectitle02--jp{
    font-size:19px;
    font-weight:bold;
    margin:10px 0 0;
}


.recruit-infographics{
    padding:60px 0 230px;
}

.recruit-benefit{
    background:var(--color-red);
    padding-bottom:80px;
}
.recruit-benefit__title{
    transform:translateY(-42px);
}

.recruit-benefit__lists{
    padding:0;
    margin:0;
    list-style:none;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0 80px;
}
.recruit-benefit__list{
    padding:18px 0;
    border-bottom:3px solid #FFF;

    display:flex;
    align-items:center;
    gap:20px;
}

.recruit-benefit__list__num{
    color:#FFF;
    font-size:25px;
    margin:0;
    width: 1em;
}
.recruit-benefit__list__title{
    font-size:26px;
    font-weight:bold;
    margin:0;

    white-space:nowrap;

    color:#000;
}
@media only screen and (max-width:1600px){
    .recruit-benefit__list__num{
        font-size:22px;
    }
    .recruit-benefit__list__title{
        font-size:22px;
    }
}
.recruit-benefit__list__text{
    margin:0;
    margin-left:auto;

    color:#000;
}



.recruit-career{
    padding:120px 0 80px;
}

.recruit-career__head{
    display:flex;
    justify-content:space-between;
}
.recruit-career__head__title{
    font-size:38px;
    font-weight:bold;
    margin:0;
}
.recruit-career__head__text{
    margin:22px 0 0;
    font-size:17px;
    font-weight:bold;
    line-height:2;
}
.recruit-career__head__text span{
    display:inline;
    white-space:nowrap;
}
.recruit-career__head__text span::before{
    content:'●';
    color:var(--color-red);
}
.recruit-career__image{
    margin:50px 0 150px;
    padding-left:50px;
}

.recruit-career__evtitle{
    font-size:34px;
    font-weight:bold;
    margin:0 0 30px;
}
.recruit-career__evs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:calc(100 / 1800 * 100%);
}
.recruit-career__ev{
    color:#FFF;
    background:var(--color-red);

    padding:30px 50px 40px;
    position:relative;
}
.recruit-career__ev__num{
    margin:0;
    position:absolute;
    top:10px;
    right:30px;
    font-size:34px;
    font-weight:400;
    font-style:italic;
}
.recruit-career__ev__title{
    margin:0;
    font-size:36px;
    font-weight:bold;
}
.recruit-career__ev__text{
    font-size:16px;
    font-weight:bold;
    margin:20px 0 0;
    line-height:2;
}

.recruit-textslidesec{
    padding:80px 0;
}
.recruit-textslide__text{
    padding:0 calc(25 / 1920 * 100vw);
}

.recruit-interview{
    padding:80px 0 0;
}
.recruit-interview__ints{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:calc(60 / 1920 * 100%);
}
.recruit-interview__int{
    position:relative;
}
.recruit-interview__int__image{
    line-height:0;
}
.recruit-interview__int__image img{
    transition:var(--transition);
    filter:grayscale(1);
}

.recruit-interview__int a:hover .recruit-interview__int__image img{
    filter:none;
}

.recruit-interview__int__texts{
    font-size:calc(16 / 1920 * 100vw);
    position:absolute;
    display:flex;
    align-items:flex-start;
    flex-direction:row-reverse;
    gap:1em;

    position:absolute;
    z-index:2;
    top:calc(44 / 600 * 100%);
    right:calc(44 / 600 * 100%);
}
.recruit-interview__int__text{
    margin:0;

    font-size:calc(24 / 16 * 100%);
    font-weight:600;

    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;

    color:#FFF;
    background:var(--color-base);

    transition:var(--transition);

    white-space:nowrap;
    padding:10px 6px;

    line-height:1;
}

.recruit-interview__int a:hover .recruit-interview__int__text{
    background:var(--color-red);
}

.recruit-interview__int__texts.taidan{
    top:unset;
    right:unset;

    bottom:calc(44 / 600 * 100%);
    left:calc(44 / 600 * 100%);
}



.recruit-oc{
    padding:200px 0;
    overflow:hidden;
}
.recruit-ocbox{
    position:relative;

    padding:70px;
    width:100%;
    max-width:1500px;
    margin:0 auto;

    color:#FFF;
    background:var(--color-base);
}

.recruit-ocbox__titles{
    position:relative;
    margin-bottom:30px;
}
.recruit-ocbox__title--en{
    margin:0;
    font-size:170px;
    font-weight:bold;
    line-height:0.8;
    color:var(--color-red);
}
.recruit-ocbox__title--jp{
    color:#FFF;
    font-size:32px;
    font-weight:bold;

    position:absolute;
    left: 560px;
    top: 42px;
    margin: 0;
}

.recruit-ocbox__text{
    font-size:40px;
    font-weight:bold;
    margin:0 0 60px;
}

.recruit-ocbox__link a{
    color:#FFF;

    text-decoration:none;

    display:flex;
    align-items:center;
    gap:20px;
}
.recruit-ocbox__link__icon{
    line-height:0;
}
.recruit-ocbox__link__icon img{
    transition:var(--transition);
}
.recruit-ocbox__link__text{
    font-size:28px;
    font-weight:bold;
    margin:0;
    padding:8px 0;
    border-bottom:1px solid #FFF;
}

.recruit-ocbox__link a:hover .recruit-ocbox__link__icon img{
    transform:rotate(360deg);
}

.recruit-ocbox__hv{
    line-height:0;
    position:absolute;
    z-index:3;
    left:930px;
    bottom:0;

    max-width:unset;
    width:860px;
}


.recruit-faq{
    padding:110px 0;

    background:var(--color-red);
}
.recruit-faq__flex{
    display:flex;
    justify-content:space-between;
    gap:40px;
}
.recruit-faq__titles{
    color:#FFF;
}
.recruit-faq__content{
    width:100%;
    max-width:1250px;
}

.recruit-faq__faq{
    background:#FFF;
}
.recruit-faq__faq:not(:last-child){
    margin-bottom:10px;
}
.recruit-faq__faq dl,
.recruit-faq__faq dl dt,
.recruit-faq__faq dl dd{
    margin:0;
    padding:0;
}
.recruit-faq__faq dl dt{
    padding:20px 36px;
    padding-right:60px;

    position:relative;
    cursor:pointer;

    display:flex;
    align-items:center;
    gap:24px;
}
.recruit-faq__faq dl dd{
    padding:0 36px 30px;
}
.recruit-faq__faq__num{
    margin:0;
    font-size:25px;
    font-weight:200;
    color:var(--color-red);
}
.recruit-faq__faq__title{
    margin:0;
    font-size:26px;
    font-weight:bold;
}
.recruit-faq__faq__text{
    margin:0;
}

.recruit-faq__faq__indicator{
    line-height:0;
    position:absolute;
    right:24px;
    top:50%;
    transform:translateY(-50%);
}
.recruit-faq__faq__indicator img{
    transition:var(--transition);
}
.recruit-faq__faq dl dt:not(.open) .recruit-faq__faq__indicator img{
    transform:rotate(45deg);
}



.recruit-recruitment{
    padding:160px 0 100px;
}
.recruit-recruitment .page-inner{
    max-width:1300px;
}
.recruitment-togglers{
    display:flex;
    flex-wrap:wrap;
    gap:0 14px;

    list-style:none;

    margin:0;
    padding:0;
}
.recruitment-toggler{
    cursor:pointer;
    color:var(--color-red);
    background:#FFF;
    border:1px solid var(--color-red);
    border-bottom:0;

    height:78px;
    width:290px;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:22px;
    font-weight:bold;

    transition:var(--transition);
}
.recruitment-toggler.current{
    color:#FFF;
    background:var(--color-red);
}

.recruitment-tabs{
    border:1px solid var(--color-red);
}
.recruitment-tab{
    position:relative;
    padding:40px 80px 200px;
}
.recruitment-tab dl{
    margin:0;
    padding:26px 0;
    border-bottom:1px solid #999999;

    display:flex;
    flex-wrap:wrap;
}
.recruitment-tab dl dt{
    width:220px;
    padding:0 10px;

    color:var(--color-red);
    font-size:20px;
    font-weight:bold;
    letter-spacing:0;
}
.recruitment-tab dl dd{
    width:calc(100% - 220px);
    margin:0;
    font-size:20px;
}

.recruitment-btn{
    position:absolute;
    bottom:0;
    left:50%;
    transform:translate(-50%, 50%);
}
.recruitment-btn a{
    color:#FFF;
    background:var(--color-red);

    text-decoration:none;

    display:flex;
    justify-content:center;
    align-items:center;
    gap:40px;

    padding:60px 40px;
}
.recruitment-btn__text{
    margin:0;
    font-size:30px;
    font-weight:bold;
    white-space:nowrap;
}
.recruitment-btn__icon{
    line-height:0;
}
.recruitment-btn__icon img{
    transition:var(--transition);
}
.recruitment-btn a:hover .recruitment-btn__icon img{
    transform:rotate(360deg);
}





/* INTERVIEW */

.openoverlay{
    cursor:pointer;
}

.int-overlay{
    position:fixed;
    z-index:99999;
    top:0;
    left:0;
    width:100%;
    height:100dvh;

    display:none;
}
.int-overlay-close{
    cursor:pointer;
}
.int-overlay__bg{
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.7);
}
.int-overlay__closebtn{
    width:60px;
    height:60px;
    position:absolute;
    z-index:2;
    top:30px;
    right:30px;
}
.int-overlay__closebtn::before,
.int-overlay__closebtn::after{
    content:'';
    position:absolute;
    top:calc(50% - 1.5px);
    left:0;
    width:100%;
    height:3px;
    background:#FFF;
}
.int-overlay__closebtn::before{
    transform:rotate(45deg);
}
.int-overlay__closebtn::after{
    transform:rotate(-45deg);
}

.int-overlay__window{
    position:absolute;
    z-index:2;
    top:60px;
    left:50%;
    transform:translateX(-50%);

    background:#FFF;

    width:calc(100% - 200px);
    height: calc(100dvh - 120px);
    max-width: 1200px;
    padding: 60px;

    overflow-y:scroll;
}

.int-article__head{
    position:relative;
}
.int-article__head__title{
    font-size:32px;
    font-weight:500;
    margin:0 0 1em;
}
.int-article__head__image{
    aspect-ratio:1373/684;
    overflow:hidden;
}
.int-article__head__image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.int-article__head__lines{
    position:absolute;
    display:flex;
    flex-direction:row-reverse;
    gap:18px;
}
.int-article__head__line span{
    display:inline-block;
    white-space:nowrap;
    font-size:26px;
    font-weight:bold;
    padding:12px 6px;
    line-height:1;
    color:#FFF;
    background:var(--color-red);

    -ms-writing-mode:tb-rl;
    writing-mode:tb-rl;
}

.int-article__head__lines.int01{
    top:4%;
    left:10%;
}
.int-article__head__lines.int02{
    top: 6%;
    left: 80%;
}
.int-article__head__lines.int03{
    top:4%;
    left:4%;
}

.int-article__profilebox{
    position:relative;
    display:block;
    width:100%;
    max-width: 380px;

    margin-left:auto;
    margin-right: 3%;
    margin-top: -100px;

    padding:24px 30px;
    background:#FFF;
    
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.1));
}
.int-article__name{
    margin:0;
    font-size:24px;
    font-weight:bold;
}
.int-article__name small{
    font-size:16px;
    font-weight:400;
    letter-spacing:0;
}
.int-article__division{
    margin:0;
    margin-top:8px;
    font-size:14px;
    font-weight:bold;
}
.int-article__history{
    margin-top:8px;
}
.int-article__history dl{
    margin:0;
    display:flex;
    font-size:14px;
}
.int-article__history dl dt{
    width:5em;
}
.int-article__history dl dd{
    margin:0;
    width:calc(100% - 5em);
}
.int-article__history dl:not(:last-child){
    margin-bottom:6px;
}

.int-article__body{
    margin-top:50px;
}

.int-article__body__content:not(.int-article__bigimg){
    margin: 50px;
    padding: 25px 50px;
}
.int-article__body__content.int-article__bigimg{
    margin-bottom:50px;
}

.int-article__body__question{
    display:flex;
    gap:12px;

    font-size: 20px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 20px;
    margin-top: 20px;
}
.int-article__body__question span{
    display:block;
    font-weight:bold;
    font-size: 32px;
    line-height: 24px;
    color:var(--color-red);
}
.int-article__body__answer{
    line-height:2;
}

.int-article__body__content>img{
    display:block;
    width:100%;

    margin: 20px auto;
    max-width: 740px;
}


.int-article__multiprofiles{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    padding: 10px;
    position: relative;
    margin: -80px 40px 0;
}
.int-article__multiprofile{
    display:flex;
    align-items: center;
    gap: 30px;

    padding: 24px 20px;
    background: #fff;
    margin: 0 10px;
    filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.1));
}

.int-article__iconanswer{
    display: flex;
    gap: 30px;
}
.int-article__iconanswer.ia2{
    flex-direction:row-reverse;
}
.int-article__iconanswer:not(:last-child){
    margin-bottom:50px;
}
.int-article__iconanswer__icon{
    width:80px;
}
.int-article__iconanswer__icon figcaption{
    display:block;
    text-align:center;
    font-size:13px;
    font-weight: bold;
    margin-top:6px;
}
.int-article__iconanswer__content{
    position:relative;
    width:calc(100% - 110px);
    padding:30px;
    border-radius:10px;
    background:rgba(255,0,0,0.1);
}
.int-article__iconanswer.ia2 .int-article__iconanswer__content{
    background:rgba(0,0,0,0.05);
}
.int-article__iconanswer__content::before{
    content:'';
    position:absolute;
    width:20px;
    height:20px;
    clip-path:polygon(0 0, 100% 0, 100% 100%);
    background:rgba(255,0,0,0.1);
    right:100%;
    top:40px;
}
.int-article__iconanswer.ia2 .int-article__iconanswer__content::before{
    clip-path:polygon(0 0, 100% 0, 0 100%);
    background:rgba(0,0,0,0.05);
    left:100%;
    right:unset;
}
.int-article__iconanswer__content .int-article__body__answer{
    font-size:15px;
    margin:0;
}




/* ANIMATION */
.fadein {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
.fadeinr {
    opacity : 0.1;
    transform : translate(50px, 0);
    transition : all 800ms;
}
.fadeinb {
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
.fadeint {
    opacity : 0.1;
    transform : translate(0, -50px);
    transition : all 800ms;
}
.fadeinl {
    opacity : 0.1;
    transform : translate(-50px, 0);
    transition : all 800ms;
}
.fadeino {
    opacity : 0.1;
    transition : all 800ms;
}

.fadein.scrollin, .fadeinr.scrollin, .fadeinb.scrollin, .fadeint.scrollin, .fadeinl.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}
.fadeino.scrollin {
   opacity : 1;
}

@supports (-ms-ime-align:auto) {
.fadein {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinr {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinb {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeint {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeinl {
    opacity : 1;
    transform : inherit;
    transition : inherit;
}
.fadeino {
    opacity : 1;
    transition : inherit;
}

.fadein.scrollin, .fadeinr.scrollin, .fadeinb.scrollin, .fadeint.scrollin, .fadeinl.scrollin {
    opacity : 1;
    transform : inherit;
}
.fadeino.scrollin {
   opacity : 1;
}
}/* @ supports end */

@media only screen and (max-width:1280px){
/* ANIMATION */
.fadein,
.fadeinr,
.fadeinl,
.fadeinb,
.fadeint{
    opacity : 0.1;
    transform : translate(0, 50px);
    transition : all 800ms;
}
}/* fade animation wrap over */



.clear_from_top.ef,
.inner-clear_from_top.ef>*{
	-webkit-clip-path: inset(0 0 100% 0);
	clip-path: inset(0 0 100% 0);
	transition:all .8s ease;
}
.clear_from_bottom.ef,
.inner-clear_from_bottom.ef>*{
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
	transition:all .8s ease;
}
.clear_from_left.ef,
.inner-clear_from_left.ef>*{
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transition:all .8s ease;
}
.clear_from_right.ef,
.inner-clear_from_right.ef>*{
	-webkit-clip-path: inset(0 0 0 100%);
	clip-path: inset(0 0 0 100%);
	transition:all .8s ease;
}
.clear_from_lefttop.ef,
.inner-clear_from_lefttop.ef>*{
	-webkit-clip-path: inset(0 100% 100% 0);
	clip-path: inset(0 100% 100% 0);
	transition:all .8s ease;
}
.clear_from_righttop.ef,
.inner-clear_from_righttop.ef>*{
	-webkit-clip-path: inset(0 100% 0 100%);
	clip-path: inset(0 100% 0 100%);
	transition:all .8s ease;
}
.clear_from_leftbottom.ef,
.inner-clear_from_leftbottom.ef>*{
	-webkit-clip-path: inset(100% 100% 0 0);
	clip-path: inset(100% 100% 0 0);
	transition:all .8s ease;
}
.clear_from_rightbottom.ef,
.inner-clear_from_rightbottom.ef>*{
	-webkit-clip-path: inset(100% 0 0 100%);
	clip-path: inset(100% 0 0 100%);
	transition:all .8s ease;
}
.clear_from_top.ef.scrollin,
.clear_from_bottom.ef.scrollin,
.clear_from_left.ef.scrollin,
.clear_from_right.ef.scrollin,
.inner-clear_from_top.ef.scrollin>*,
.inner-clear_from_bottom.ef.scrollin>*,
.inner-clear_from_left.ef.scrollin>*,
.inner-clear_from_right.ef.scrollin>*,
.clear_from_lefttop.ef.scrollin,
.clear_from_righttop.ef.scrollin,
.clear_from_leftbottom.ef.scrollin,
.clear_from_rightbottom.ef.scrollin,
.inner-clear_from_lefttop.ef.scrollin>*,
.inner-clear_from_righttop.ef.scrollin>*,
.inner-clear_from_leftbottom.ef.scrollin>*,
.inner-clear_from_rightbottom.ef.scrollin>*{
	-webkit-clip-path: inset(0);
	clip-path:inset(0);
}








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

    /* FOOTER */

    .main-footer__inner{
        justify-content:center;
        gap:40px;
    }
    .main-footer__menu{
        width:100%;
    }
    .main-footer__menu__menus{
        justify-content:center;
    }

}



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


    /* HEADER */

    .main-header.scrolled{
        padding:10px 10px 0;
    }
    .main-header__menu__menus{
        gap:40px;
    }
    .main-header__menu__menu a{
        font-size:16px;
    }

    /* FOOTER */

    .main-footer__menu__menus{
        gap:40px;
    }
    .main-footer__menu__menu a{
        font-size:18px;
    }


    /* COMMON */

    .top-commonlink__text{
        font-size:32px;
    }


    /* TOP */

    .top-concept__title{
        font-size:46px;
    }
    .top-concept__text{
        font-size:30px;
    }

    .top-section__text{
        font-size:16px;
    }
    .top-section__mainimage__text{
        font-size:24px;
    }

    .top-works{
        padding:150px 0;
    }
    .top-works__titlesec{
        margin-bottom:60px;
    }

    .top-news__titles{
        margin-bottom:80px;
    }

    .main-contact__btn a{
        height:250px;
    }
    .main-contact__btn__text{
        font-size:80px;
    }
    .main-contact__btn__icon{
        left:calc(50% + 280px);
    }



    /* RECRUIT */

    .recruit-about__title{
        font-size:42px;
    }
    .recruit-about__text{
        font-size:20px;
    }

    .recruit-benefit__list__num{
        font-size:20px;
    }
    .recruit-benefit__list__title{
        font-size:20px;
    }

    .recruit-career__evs{
        gap:30px;
    }

    .recruit-ocbox__title--en{
        font-size:120px;
    }
    .recruit-ocbox__title--jp{
        left: 460px;
        top: 24px;
    }
    .recruit-ocbox__hv{
        left:820px;
    }
    .recruit-ocbox__text{
        font-size:32px;
    }

    .recruitment-tab{
        padding:40px 40px 200px;
    }

    .recruitment-tab dl dt,
    .recruitment-tab dl dd{
        font-size:24px;
    }



    /* NEWS */

    .news-article__date{
        width:160px;
        font-size:16px;
    }
    .news-article__cat{
        font-size:16px;
        width:120px;
    }
    .news-article__title{
        width:calc(100% - 280px);
        font-size:18px;
    }
    .news-article:not(:last-child){
        margin-bottom:30px;
    }

}




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

    body{
        min-width:1280px;
    }

}


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

    /* HEADER */

    .main-header{
        padding:20px 20px 0;
    }

    .sitelogo img{
        width:150px;
    }

    .main-header__menu{
        display:none;
    }

    .main-header__toggle{
        display:block;
    }


    .main-drawer{
        display:block;
    }



    /* FOOTER */

    .main-footer__image{
        margin-bottom:50px;
    }

    .main-footer{
        padding:40px 20px 20px;
    }
    .main-footer__inner{
        gap:30px;
        justify-content:center;
    }


    /* TOP */

    .top-sectiontitle__en{
        font-size:70px;
    }

    .top-section{
        flex-wrap:wrap;
    }

    .top-section__content{
        width:100%;
    }
    .top-section__wrap{
        flex-wrap:wrap;
    }
    .top-section__wrap__content{
        width:100%;
    }

    .top-section__mainimage{
        width:50%;
    }

    .top-sectiontitle{
        transform:none;
        padding-bottom:30px;
    }
    .top-sectiontitle.right{
        text-align:left;
    }

    .top-technology__hvbox.hv03, .top-technology__hvbox__bg.hv03{
        width:320px;
    }

    .top-works__flex{
        flex-wrap:wrap;
        gap:60px
    }
    .top-works__content{
        width:100%;
    }
    .top-works__slidersec{
        width:100%;
    }

    .top-news__flex{
        flex-wrap:wrap;
        gap:60px;
    }
    .top-news__titlesec{
        width:100%;
    }
    .top-news__content{
        width:100%;
    }
    .top-news__titles{
        margin-bottom:30px;
    }

    .top-section__mainimage__texts{
        top:50%;
        left:100%;
        transform: translateY(-50%);
    }



    /* RECRUIT */

    .recruit-mv__message{
        font-size:44px;
    }

    .recruit-about__contentbox{
        width:100%;
        min-width:unset;
    }

    .recruit-benefit__lists{
        gap:0;
        grid-template-columns:1fr;
    }

    .recruit-career__head{
        flex-wrap:wrap;
        gap:30px;

        margin-bottom:50px;
    }

    .recruit-career__image{
        overflow-x:scroll;
    }
    .recruit-career__image img{
        width:1400px;
        max-width:unset;
    }

    .recruit-career__evtitle{
        font-size:28px;
    }
    .recruit-career__evs{
        grid-template-columns:1fr;
        gap:30px;
    }
    .recruit-career__ev__title{
        font-size:30px;
    }

    .recruit-interview__ints{
        width:100%;
        max-width:500px;
        margin:0 auto;
        grid-template-columns:1fr;
    }
    .recruit-interview__int__text{
        font-size:22px;
    }

    .recruit-ocbox__title--en{
        font-size:100px;
    }
    .recruit-ocbox__title--jp {
        left: 350px;
        top: 18px;
        font-size: 24px;
    }
    .recruit-ocbox__text{
        font-size:24px;
    }
    .recruit-ocbox{
        padding-bottom:0;
    }
    .recruit-ocbox__hv {
        position: relative;
        left: 0;
        width: 100%;
        margin-top: 50px;
    }

    .recruit-faq__flex{
        flex-wrap:wrap;
    }
    .recruit-faq__faq__title{
        font-size:24px;
    }

    .recruitment-tab dl dt, .recruitment-tab dl dd{
        font-size:16px;
    }
    .recruitment-tab dl dt{
        width:180px;
    }
    .recruitment-tab dl dd{
        width:calc(100% - 180px);
    }
    .recruitment-btn__text{
        font-size:20px;
    }
    .recruitment-btn__icon{
        width:60px;
    }

    .recruit-footer__flex{
        flex-wrap:wrap;
        gap:20px;
        justify-content:center;
    }

}


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

    /* RECRUIT */

    .int-article__body__content:not(.int-article__bigimg) {
        margin: 0;
        padding: 25px 0;
    }
    .int-article__profilebox{
        margin-top:0;
        margin-right:0;
        filter:none;
    }
    .int-article__head__line span{
        font-size:15px;
    }

    .int-article__head__lines.int01 {
        top: -12%;
        left: 77%;
    }
    .int-article__head__lines.int02{
        top:-12%;
    }

    .int-article__multiprofiles{
        margin:0;
        padding:0;
        grid-template-columns:1fr;
    }
    .int-article__multiprofile{
        gap: 20px;
        padding: 18px 0px;
        filter: none;
        justify-content: center;
    }
}

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

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


    /* HEADER */

    .main-header.scrolled .sitelogo img{
        width:120px;
    }

    .drawer-toggler{
        width:45px;
        height:45px;
    }
    .drawer-toggler span{
        height:3px;
    }

    /* DRAWER */

    .main-drawer{
        max-width:100%;
    }
    .main-drawer__menus{
        padding-bottom:80px;
    }
    .main-drawer__menu__text small{
        font-size:12px;
    }
    .main-drawer__menu__text{
        font-size:18px;
    }



    /* FOOTER */

    .main-footer__menu{
        display:none;
    }
    .main-footer__address{
        font-size:14px;
    }
    .main-footer__copyright{
        font-size:12px;
        text-align:center;
    }




    /* COMMON */

    .top-commonlink__icon img{
        width:24px;
    }
    .top-commonlink__text{
        font-size:22px;
    }





    /* TOP */

    .top-concept__inner{
        margin-top:-40dvh;
    }
    .top-concept__title{
        font-size:32px;
        margin-bottom:100px;
    }
    .top-concept__text{
        font-size:18px;
    }


    .top-sectiontitle__en{
        font-size:32px;
    }
    .top-sectiontitle__jp{
        font-size:18px;
    }

    .top-section__mainimage__text:not(:last-child){
        margin-bottom:10px;
    }
    .top-section__mainimage__text{
        font-size:14px;
        padding:6px 12px;
    }

    .top-section__subimage img{
        clip-path: inset(0) !important;
    }

    .top-section__wrap{
        padding:20px;
    }

    .top-section__text{
        font-size:14px;
    }

    .top-centerslidersec{
        padding:80px 0;
    }
    .top-centersliderwrap{
        transform:none;
        left:0;
        width:100%;
    }


    .top-technology__hvbox.hv01,
    .top-technology__hvbox__bg.hv01,
    .top-technology__hvbox__bg.hv02,
    .top-technology__hvbox__bg.hv03{
        display:none;
    }
    .top-technology__hvbox.hv02,
    .top-technology__hvbox.hv03{
        position:relative;
        width:100%;
        height:auto;
        top:0;
        right:0;
        padding:20px;
        background:var(--color-red);
    }
    .top-technology__hvbox.hv03{
        padding-bottom:60px;
    }

    .top-technology__title{
        font-size:24px;
        margin-bottom:0.7em;
    }
    .top-technology__text{
        font-size:14px;
    }

    .top-works{
        padding:80px 0;
    }
    .top-works__content{
        padding:0 20px;
    }
    .top-works__titlesec{
        margin-bottom:20px;
    }
    .top-works__subtitle{
        font-size:24px;
        margin-bottom:0.7em;
    }
    .top-works__text{
        font-size:14px;
    }
    .top-works__sliderbtn{
        width:50px;
    }
    .top-works__slide__img{
        padding-right:0;
    }
    .top-works__slidercontrols{
        width:100%;
        padding:0 20px;
        left:0;
        display: flex;
        justify-content: space-between;
    }

    .top-news{
        padding:80px 0;
    }
    .top-news__title--en{
        font-size:42px;
    }
    .top-news__title{
        font-size:18px;
    }

    .main-contact__btn a{
        padding:0;
        height:180px;

        align-items:center;
        gap:10px;
    }
    .main-contact__btn__text{
        font-size:40px;
    }
    .main-contact__btn__icon{
        left:unset;
        right:20px;

        right:0;
        top:0;
        transform:none;
        position:relative;
    }
    .main-contact__btn__icon img{
        width:40px;
    }



    /* RECRUIT */

    .recruit-header .sitelogo a{
        line-height:1;
    }
    .recruit-header__logo__text{
        font-size:12px;
        padding-left:26px;
        margin-top:2px;
    }
    .main-header.scrolled .recruit-header__logo__text{
        padding-left:20px;
        margin-top:2px;
        font-size:10px;
    }
    .drawer-toggler.recruit-drawer-toggler small{
        font-size:10px;
        text-align:center;
    }

    .recruit-mv__logosec{
        margin-top:-80dvh;
        height:80dvh;
    }
    .recruit-mv__messagesec{
        height:50dvh;
        align-items:flex-start;
    }

    .recruit-mv__bg{
        background:var(--color-red);
    }
    .recruit-mv__bg img{
        object-fit:contain;
        object-position:bottom center;
    }

    .recruit-mv__message{
        font-size:28px;
    }

    .recruit-about{
        padding-bottom:100px;
    }
    .recruit-about__logosec{
        padding-top:100px;
    }
    .recruit-about__sectiontitle{
        font-size:32px;
    }
    .recruit-about__contentbox{
        padding:80px 0;
    }
    .recruit-about__logo{
        width:100%;
        min-width:unset;
        text-align:center;
    }
    .recruit-about__logo img{
        width:100%;
        max-width:200px;
    }
    .recruit-about__title{
        font-size:24px;
    }
    .recruit-about__text{
        font-size:15px;
        line-height:1.8;
    }

    .recruit-sectiontitle01,
    .recruit-sectitle02{
        margin-bottom:50px;
    }
    .recruit-sectitle02--en{
        font-size:30px;
    }
    .recruit-sectiontitle01--en{
        font-size:24px;
    }

    .recruit-benefit__list{
        flex-wrap:wrap;
        gap:10px;
    }
    .recruit-benefit__list__num,
    .recruit-benefit__list__title{
        font-size:17px;
    }
    .recruit-benefit__list__text{
        width:100%;
        font-size:14px;
    }

    .recruit-career{
        padding:80px 0;
    }
    .recruit-career__head__title{
        font-size:20px;
    }
    .recruit-career__head__text{
        font-size:14px;
    }

    .recruit-career__evtitle{
        font-size:18px;
    }
    .recruit-career__evs{
        gap:12px;
    }
    .recruit-career__ev{
        padding:20px;
    }
    .recruit-career__ev__num{
        font-size:20px;
    }
    .recruit-career__ev__title{
        font-size:20px;
    }
    .recruit-career__ev__text{
        font-size:14px;
    }

    .recruit-infographics{
        padding-bottom:140px;
    }

    .recruit-career__image img{
        width:800px;
    }

    .recruit-interview__int__text{
        font-size:14px;
    }

    .recruit-oc{
        padding:80px 0;
    }
    .recruit-ocbox{
        padding:60px 20px 0;
    }
    .recruit-ocbox__title--en{
        font-size:48px;
    }
    .recruit-ocbox__title--jp{
        position:relative;
        left:0;
        top:0;
        font-size:20px;
        margin-top:6px;
    }
    .recruit-ocbox__text{
        font-size:16px;
    }
    .recruit-ocbox__link__text{
        font-size:18px;
    }

    .recruit-faq{
        padding:80px 0;
    }
    .recruit-faq__flex{
        gap:0;
    }
    .recruit-faq__faq__title{
        font-size:16px;
    }
    .recruit-faq__faq__text{
        font-size:14px;
    }
    .recruit-faq__faq dl dt{
        padding:16px;
        padding-right:60px;
        gap:10px;
    }
    .recruit-faq__faq__num{
        font-size:20px;
    }
    .recruit-faq__faq dl dd{
        padding:0 16px 16px;
    }

    .recruit-recruitment{
        padding:80px 0;
    }
    .recruitment-togglers{
        gap:0;
    }
    .recruitment-toggler{
        width:50%;
        height:50px;
        font-size:16px;
    }

    .recruitment-tab{
        padding:30px 20px 80px;
    }
    .recruitment-tab dl{
        flex-wrap:wrap;
    }
    .recruitment-tab dl dt,
    .recruitment-tab dl dd{
        width:100%;
        font-size:14px;
        padding:0;
    }
    .recruitment-tab dl dt{
        margin-bottom:6px;
    }

    .recruitment-btn a{
        padding:20px;
        gap:10px;
    }
    .recruitment-btn__text{
        font-size:16px;
    }
    .recruitment-btn__icon{
        width:50px;
    }

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

    .recruit-footer__address{
        font-size:14px;
    }

    .int-overlay__closebtn {
        width: 50px;
        height: 50px;
        top: 10px;
        right: 10px;
    }
    .int-overlay__window{
        width:calc(100% - 40px);
        padding:20px 20px;
    }
    .int-article__head__title{
        font-size:18px;
    }
    .int-article__body{
        grid-template-columns:1fr;
        gap:30px;
    }
    .int-article__head{
        margin-bottom:12px;
    }
    .int-article__title{
        font-size:18px;
    }
    .int-article__text{
        font-size:14px;
    }

    .int-article__head__lines {
        margin-top:12px;
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right:0 !important;
        bottom:0 !important;
        display: block !important;
    }
    .int-article__head__line{
        margin:0;
    }
    .int-article__head__line span{
        writing-mode: rl-tb;
        display: block;
        white-space: nowrap;
        font-size: 14px;
        padding:5px 15px;
    }
    .int-article__profilebox{
        margin:0;
        padding:0;
        filter: none;
        width: 100%;
        max-width: 100%;
    }
    .int-article__name{
        font-size:18px;
    }
    .int-article__name small{
        font-size:12px;
        display:block;
    }
    .int-article__division{
        font-size:12px;
    }
    .int-article__history dl{
        font-size:12px;
    }

    .int-article__body{
        margin-top:20px;
    }
    .int-article__body__content:not(.int-article__bigimg){
        margin:0;
        padding:20px 0;
    }

    .int-article__body__question{
        font-size:16px;
    }
    .int-article__body__question span{
        font-size:20px;
        line-height:20px;
    }
    .int-article__body__answer{
        font-size:14px;
    }


    .int-article__multiprofiles{
        margin: 0;
        grid-template-columns: 1fr;
        padding: 0;
    }
    .int-article__multiprofile{
        gap: 10px;
        padding: 20px 0;
        margin: 0;
        justify-content:center;
    }

    .int-article__iconanswer{
        gap:10px;
    }
    .int-article__iconanswer__icon{
        width:50px;
    }
    .int-article__iconanswer__icon figcaption{
        font-size:10px;
    }
    .int-article__iconanswer__content{
        width:calc(100% - 60px);
        padding:14px;
    }
    .int-article__iconanswer__content .int-article__body__answer{
        font-size:14px;
        letter-spacing:0;
    }
    .int-article__iconanswer__content::before{
        width:10px;
        height:10px;
    }

    .int-article__multiprofile{
        padding-right:20px;
    }
    .int-article__multiprofile__data .int-article__name{
        font-size:16px;
    }
    .int-article__multiprofile__data .int-article__name small{
        font-size:10px;
    }
    .int-article__multiprofile__data .int-article__division{
        font-size:10px;
        margin-top:4px;
    }
    .int-article__multiprofile__data .int-article__history{
        margin-top:4px;
    }
    .int-article__multiprofile__data .int-article__history dl{
        font-size:10px;
    }
    .int-article__multiprofile__data .int-article__history dl:not(:last-child){
        margin-bottom:3px;
    }



    /* NEWS */

    .news-article a{
        flex-wrap:wrap;
        gap:6px 0;
        padding:10px 0;
    }
    .news-article__date,
    .news-article__cat{
        width:120px;
        font-size:13px;
    }

    .news-article__title{
        width:100%;
        font-size:16px;
    }
}