/*
Theme Name: HEIWA THEME
*/

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

/* common-css */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

input::placeholder{
	color: #ccc;
}
input::-ms-input-placeholder{
	color: #ccc;
}
input:-ms-input-placeholder{
	color: #ccc;
}

:root{
    --base-color: #242424;
    --base-font: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

    --montserrat: "Montserrat","Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

    --blue: #0033A0;
    --blue-dark: #001A66;
    --gray: #888888;
    --gray-light: #EBEBEB;
    --bg-light: #F7F7F7;

    --header-height: 80px;

    --wrap: 1400px;
    --padding: 160px;
    --space: calc((100vw - var(--wrap))/2);
    --minus-space: calc(-1 * var(--space));
}

#body-wrap{
    min-width: 1100px;
    overflow-x: hidden;
}

body{
    -webkit-text-size-adjust: 100%;
    line-height: 1.8;
    color: var(--base-color);
    position: relative;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.04em;
    font-family: var(--base-font);
}

body.home .wrap,
.wrap{
    width: 100%;
    max-width: var(--wrap);
    margin: 0 auto;
}

a{
    transition: .2s;
    text-decoration: none;
}
a:hover{
    opacity: .6;
    text-decoration: none;
}
img{
    max-width: 100%;
    vertical-align: bottom;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}
.ps-re{
    position: relative;
    z-index: 0;
}
.ps-ab{
    position: absolute;
}
.padding-top{
    padding-top: var(--padding);
}
.padding-bottom{
    padding-bottom: var(--padding);
}
.padding-tb{
    padding: var(--padding) 0;
}
br.s-up{
    display: none;
}


/* HEADER */
#header{
    height: var(--header-height);
    left: 0;
    position: fixed;
    top: 60px;
    width: 100%;
    z-index: 100;
    transition: .2s;
    background-color: transparent;
}
#header.is-scrolled{
    top: 0;
    background-color: #fff;
    height: calc(var(--header-height) + 10px);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
#header__inner{
    align-items: center;
    height: 100%;
    justify-content: space-between;
    padding: 0 80px;
    transition: .2s;
}
#header.is-scrolled #header__inner{
    padding: 0 40px;
}
.header__logo a{
    display: block;
}
.header__logo img{
    width: 320px;
    transition: .2s;
}
#header.is-scrolled .header__logo img{
    width: 280px;
}
.header__menu-btn{
    align-items: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    padding: 4px;
    outline: none;
}
header__menu-btn:focus{
    outline: none;
}
.header__menu-btn__lines{
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 77px;
}
.header__menu-btn__lines span{
    background: #00469e;
    display: block;
    height: 3px;
    transition: .3s;
    width: 100%;
}
.header__menu-btn__lines span:nth-child(2){
    width: 54%;
}
.header__menu-btn__txt{
    color: var(--base-color);
    font-family: var(--montserrat);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
}


/* CONTACT */
#contact-sec{
    background: url(img/common/contact-bnr-bg.webp) center center / cover no-repeat;
    color: #fff;
    overflow: hidden;
    padding: 85px 0 160px;
    margin: 0 30px;
}
.contact-sec__inner{
    align-items: center;
    justify-content: space-between;
}
.contact-sec__ttl-box__sub-ttl{
    align-items: center;
    display: flex;
    font-size: 14px;
    gap: 10px;
    margin-bottom: 10px;
}
.contact-sec__ttl-box__sub-ttl__icon{
    width: 19px;
    height: 16px;
    background: url(img/common/title-icon-wh.svg) no-repeat center center / contain;
}
.contact-sec__ttl-box__main-ttl{
    font-family: var(--montserrat);
    font-size: 80px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
    margin-bottom: 60px;
}
.contact-sec__ttl-box__txt{
    font-size: 14px;
    line-height: 2;
}
@media screen and (min-width: 992px) {
    .contact-sec__btn:hover{
        opacity: 1;
        transform: translateX(8px);
    }
}
.contact-sec__btn img{
    width: 100px;
}


/* FOOTER */
#footer{
    background: #fff;
}
#footer__main{
    padding: 80px 0 50px;
}
.footer__main__inner{
    justify-content: space-between;
}
.footer__main__info__logo{
    margin-bottom: 30px;
}
.footer__main__info__logo img{
    width: 400px;
}
.footer__main__info__company{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 3px;
}
.footer__main__info__address{
    font-size: 18px;
    line-height: 1.6;
    font-weight: normal;
    color: var(--gray);
}
.footer__main__nav{
    align-items: flex-start;
    gap: 120px;
}
.footer__main__nav__list{
    font-size: 14px;
}
.footer__main__nav__list__item{
    margin-bottom: 30px;
}
.footer__main__nav__list__item:last-child{
    margin-bottom: 0;
}
.footer__main__nav__list__item > a{
    color: var(--base-color);
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.16em;
}
.footer__main__nav__list__sub{
    font-size: 12px;
    margin-top: 20px;
}
.footer__main__nav__list__sub li{
    margin-bottom: 6px;
}
.footer__main__nav__list__sub li a{
    font-size: 14px;
    display: inline-block;
    letter-spacing: 0.16em;
    color: var(--gray);
    font-weight: normal;
}

#footer__bottom{
    padding: 40px 0 30px;
}
.footer__bottom__inner{
    align-items: flex-end;
    justify-content: space-between;
}
.footer__bottom__txt{
    width: 380px;
}
.footer__bottom__txt img{
    width: 100%;
}
.footer__bottom__copy-box{
    text-align: right;
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
}
.footer__bottom__copy-box__privacy{
    font-size: 12px;
    margin-bottom: 30px;
}
.footer__bottom__copy-box__privacy a{
    color: var(--gray);
}
.footer__bottom__copy-box__privacy a span{
    display: inline-block;
    vertical-align: middle;
}
.footer__bottom__copy-box__privacy a svg{
    display: block;
}
.footer__bottom__copy-box__copy{
    color: var(--gray);
    font-family: var(--montserrat);
    font-size: 12px;
    letter-spacing: 0.05em;
}

/* PAGE COMMON */
.page-mv{
    margin: 30px 30px 0;
}
.sec-ttl{
    flex-shrink: 0;
}
.sec-ttl__en{
    align-items: center;
    color: var(--blue);
    display: flex;
    font-family: var(--montserrat);
    font-weight: 500;
    gap: 10px;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 5px;
}
.sec-ttl__ja{
    font-size: 34px;
    font-weight: 600;
    letter-spacing: 0.16em;
    line-height: 1.4;
}
.sec-ttl--white .sec-ttl__en{
    color: #fff;
}
.sec-ttl--white .sec-ttl__en::before{
    background: #fff;
}
.sec-ttl--white .sec-ttl__ja{
    color: #fff;
}


/* ABOUT MV */
#about-mv{
    background: url(img/about/mv.webp) center bottom / cover no-repeat;
    height: 36.7vw;
    overflow: hidden;
}
#about-mv .front-mv__deco{
    left: 40%;
}
.about-mv__inner{
    align-items: flex-end;
    display: flex;
    height: 100%;
    max-width: var(--wrap);
    margin: 0 auto;
    padding: 0 0 80px;
}
.about-mv__ttl-box__sub{
    align-items: center;
    display: flex;
    font-size: 18px;
    font-weight: 500;
    gap: 10px;
    margin-bottom: 14px;
}
.about-mv__ttl-box__sub__icon{
    width: 20px;
    height: 16px;
    background: url(img/common/title-icon.svg) no-repeat center center / contain;
    display: inline-block;
}
.about-mv__ttl-box__main{
    font-family: var(--montserrat);
    font-size: 70px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}


/* ABOUT MESSAGE */
#message-sec{
    padding: 100px 0;
}
.message-sec__inner{
    flex-direction: column;
    flex-wrap: wrap;
    gap: 30px;
}
/* .message-sec__inner__txt-area{
    flex: 1;
    max-width: 550px;
} */
.message-sec__inner__txt-area .sec-ttl{
    margin-bottom: 60px;
}
.message-sec__inner__txt-area__catch{
    font-size: 36px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 40px;
    color: #00469e;
    letter-spacing: 0.16em;
    text-align: center;
}
.message-sec__inner__txt-area__txt{
    line-height: 2;
}
.message-sec__inner__img-area{
    /* flex-shrink: 0;
    width: 700px; */
    text-align: right;
}
.message-sec__inner__img-area__img{
    margin-bottom: 50px;
}
.message-sec__inner__img-area__img img{
    width: 100%;
}
.message-sec__inner__img-area__role{
    color: var(--blue);
    margin-bottom: 6px;
    letter-spacing: 0.16em;
    font-weight: bold;
}
.message-sec__inner__img-area__name{
    font-size: 39px;
    font-weight: 900;
    letter-spacing: 0.16em;
}
.message-sec-hr{
    pointer-events: none;
    z-index: -1;
    position: relative;
    margin-top: -100px;
}


/* ABOUT PROFILE */
.profile-sec__inner{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 60px;
}
.profile-sec__cont{
    flex: 1;
}
.profile-sec__cont__table__row{
    align-items: flex-start;
    border-top: 1px solid var(--gray-light);
    flex-wrap: nowrap;
    gap: 20px;
    padding: 16px 20px;
}
.profile-sec__cont__table__row:last-child{
    border-bottom: 1px solid var(--gray-light);
}
.profile-sec__cont__table__row__th{
    color: var(--blue);
    flex-shrink: 0;
    font-weight: 500;
    width: 220px;
    letter-spacing: 0.16em;
}
.profile-sec__cont__table__row__td{
    flex: 1;
    line-height: 1.8;
    letter-spacing: 0.16em;
}
.profile-sec__cont__iso{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 30px;
    margin-top: 40px;
    padding: 0 20px;
}
.profile-sec__cont__iso__lbl{
    color: var(--blue);
    flex-shrink: 0;
    font-weight: 500;
    width: 220px;
}
.profile-sec__cont__iso__img-box{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 20px;
}
.profile-sec__img{
    text-align: center;
    margin-top: 40px;
}
.profile-sec__img img{
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: 50% -200px;
}


/* ABOUT HISTORY */
#history-sec img{
    width: 100%;
}

/* ABOUT PLACE */
#place-sec{
    padding: 100px 0;
}
.place-sec__inner,
.partner-sec__inner{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 60px;
}
.place-sec__list,
.partner-sec__list{
    flex: 1;
    max-width: 1050px;
    margin-left: auto;
}
.place-sec__list__item,
.partner-sec__list__item{
    align-items: flex-start;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    padding: 30px 0 50px;
}
.place-sec__list__item:last-child,
.partner-sec__list__item:last-child{
    padding-bottom: 0;
}
.place-sec__list__item__name,
.partner-sec__list__item__name{
    align-items: center;
    border-top: 1px solid #000;
    border-bottom: 1px solid var(--gray-light);
    display: flex;
    flex-wrap: wrap;
    font-size: 24px;
    font-weight: 700;
    gap: 12px;
    line-height: 1.5;
    margin-bottom: 40px;
    padding: 12px 0 12px 15px;
    position: relative;
    width: 100%;
}
.place-sec__list__item__name::after,
.partner-sec__list__item__name::after{
    background: var(--blue);
    bottom: -1px;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    width: 32px;
}
.place-sec__list__item__name__tag{
    background: var(--blue);
    border-radius: 2px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4;
    padding: 2px 10px;
}
.place-sec__list__item__name__lead{
    letter-spacing: 0.16em;
    margin-left: 30px;
    font-size: 16px;
    font-weight: 500;
}
.place-sec__list__item__info,
.partner-sec__list__item__info{
    line-height: 2.1;
    letter-spacing: 0.16em;
    padding-left: 20px;
}
.place-sec__list__item__info__lead{
    color: var(--gray);
    margin-bottom: 6px;
}
.place-sec__list__item__info__tel,
.place-sec__list__item__info__fax,
.partner-sec__list__item__info__tel,
.partner-sec__list__item__info__fax{
    font-family: var(--montserrat);
}
.place-sec__list__item__map,
.partner-sec__list__item__map{
    align-items: center;
    align-self: center;
    background: var(--gray-light);
    border-radius: 8px;
    color: var(--blue);
    display: inline-flex;
    flex-shrink: 0;
    font-family: var(--montserrat);
    font-weight: 700;
    gap: 20px;
    height: 50px;
    justify-content: space-between;
    letter-spacing: 0.05em;
    padding: 0 8px 0 16px;
    transition: .3s;
    width: 100%;
    max-width: 189px;
    font-size: 13px;
    margin-top: auto;
}
.place-sec__list__item__map::after,
.partner-sec__list__item__map::after{
    background: url(img/common/view-more-arrow.svg) center center / contain no-repeat;
    content: "";
    display: block;
    flex-shrink: 0;
    height: 32px;
    width: 32px;
}
@media screen and (min-width: 992px) {
    .place-sec__list__item__map:hover,
    .partner-sec__list__item__map:hover{
        opacity: .7;
    }
}


/* ABOUT PARTNER */
#partner-sec{
    padding-top: 0;
}


/* BUSINESS MV */
#business-mv{
    background: url(img/metal-scrap/mv.webp) no-repeat center center / cover;
    height: 670px;
    position: relative;
}
#business-mv::before{
    content: "";
    position: absolute;
    top: 0;
    left: -30px;
    width: calc(100% + 60px);
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    background: url(img/metal-scrap/mv-ball.webp) no-repeat center center / 2387px;
}
#business-mv.business-treatment-mv::before{
    background: url(img/waste-treatment/mv-ball.webp) no-repeat center center / 2279px;
}
#business-mv.business-collection-mv::before{
    background: url(img/waste-collection/mv-ball.webp) no-repeat center center / 1920px;
}
.business-mv__inner{
    align-items: flex-end;
    display: flex;
    height: 100%;
    margin: 0 auto;
    max-width: var(--wrap);
    padding: 0 0 60px;
}
.business-mv__inner__ttl-box{
    color: var(--blue);
}
.business-mv__inner__ttl-box__sub{
    align-items: center;
    color: var(--blue);
    display: flex;
    font-weight: 500;
    gap: 10px;
    margin-bottom: 14px;
}
.business-mv__inner__ttl-box__sub__icon{
    background: var(--blue);
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    width: 8px;
}
.business-mv__inner__ttl-box__main{
    color: var(--blue);
    font-family: var(--montserrat);
    font-size: 80px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}


/* BUSINESS TAB NAV */
#business-tab-nav{
    padding: 100px 0;
}
.business-tab-nav__list{
    gap: 16px;
    justify-content: center;
}
.business-tab-nav__list__item{
    border: 4px solid #0071c7;
    transition: .3s;
    width: 100%;
    max-width: 260px;
}
.business-tab-nav__list__item a{
    align-items: center;
    color: #858585;
    display: flex;
    gap: 4px;
    height: 75px;
    justify-content: center;
    padding: 8px;
    text-align: center;
    transition: .3s;
    font-size: 18px;
    position: relative;
    background: #fff;
}
.business-tab-nav__list__item a::before{
    content: "";
    position: absolute;
    pointer-events: none;
    transform: translate(-50%,100%);
    bottom: 0;
    left: 50%;
    width: 17px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #0071c7;
    transition: .2s;
    opacity: 0;
}
@media screen and (min-width: 992px) {
    .business-tab-nav__list__item a:hover{
        opacity: .7;
    }
}
.business-tab-nav__list__item__num{
    font-family: var(--montserrat);
    font-size: 15px;
    line-height: 1;
    color: #0071c7;
}
.business-tab-nav__list__item__name{
    font-weight: 700;
    line-height: 1.4;
}
.business-tab-nav__list__item--active a{
    color: #fff;
    flex-direction: column;
    pointer-events: none;
    background: #0071c7;
}
.business-tab-nav__list__item--active .business-tab-nav__list__item__num{
    color: #fff;
}
.business-tab-nav__list__item--active a::before{
    opacity: 1;
}


/* METAL RECYCLE */
#metal-recycle-sec{
    background: url(img/metal-scrap/metal-recycling-bg.webp) no-repeat center center / 1864px;
    height: 1086px;
}
.metal-recycle-sec__head,
.waste-treatment-sec__head{
    margin-bottom: 60px;
    text-align: center;
}
.metal-recycle-sec__head__num,
.waste-treatment-sec__head__num{
    color: var(--blue);
    font-family: var(--montserrat);
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 4px;
}
.metal-recycle-sec__head__en,
.waste-treatment-sec__head__en{
    color: var(--blue);
    font-family: var(--montserrat);
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 18px;
}
.metal-recycle-sec__head__ttl,
.waste-treatment-sec__head__ttl{
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 80px;
}
.metal-recycle-sec__head__txt,
.waste-treatment-sec__head__txt{
    line-height: 2;
    font-size: 18px;
    font-weight: bold;
}
.metal-recycle-sec__diagram{
    text-align: center;
}
.waste-treatment-sec__qualification{
    margin-top: 30px;
}
.waste-treatment-sec__qualification img{
    width: 400px;
}



/* PRODUCT */
#product-sec{
    padding: 60px 0 0;
}
#product-sec .sec-ttl{
    margin-bottom: 50px;
}
.product-sec__cont{
    margin-top: 30px;
}
.product-sec__cont__tabs-wrap{
    overflow-x: auto;
    padding: 0 var(--space);
}
.product-sec__cont__tabs{
    flex-wrap: nowrap;
    gap: 10px;
    min-width: 1100px;
}
.product-sec__cont__tabs__item{
    flex: 1;
    align-items: center;
    background: #fff;
    border: 1px solid var(--blue-dark);
    border-bottom: 0;
    color: var(--blue-dark);
    display: flex;
    font-weight: 700;
    height: 56px;
    justify-content: center;
    transition: .3s;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    cursor: pointer;
}
.product-sec__cont__tabs__item--active{
    background: var(--blue-dark);
    color: #fff;
}
.product-sec__cont__panel{
    background: linear-gradient(to top, #1A5BD8 0%, var(--blue-dark) 100%);
    color: #fff;
    overflow: hidden;
    padding: 70px 0 50px;
    position: relative;
}
.product-sec__cont__panel__list{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 60px;
}
.product-sec__cont__panel__list__item__img{
    margin-bottom: 16px;
    overflow: hidden;
}
.product-sec__cont__panel__list__item__img img{
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}
.product-sec__cont__panel__list__item__name{
    font-weight: 700;
    letter-spacing: 0.05em;
    font-size: 18px;
}
.product-sec__cont__panel__note{
    font-size: 12px;
    margin-top: 36px;
    text-align: right;
}


/* STRENGTHS */
.strengths-sec__list{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    margin-top: 40px;
}
.strengths-sec__list__item{
    align-items: center;
    background: #0071c7;
    color: #fff;
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: flex-start;
    padding: 50px 16px 0;
    height: 310px;
    text-align: center;
    clip-path: polygon(0 0, calc(100% - 25px) 0, 100% 25px, 100% 100%, 0 100%);
}
.strengths-sec__list__item__num{
    font-family: var(--montserrat);
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    position: relative;
}
.strengths-sec__list__item__num::after{
    background: #fff;
    content: "";
    display: block;
    height: 1px;
    margin: 14px auto 0;
    width: 25px;
}
.strengths-sec__list__item__txt{
    font-weight: 700;
    line-height: 1.5;
    margin-top: 30px;
    font-size: 24px;
}
.strengths-sec__img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    z-index: -1;
    text-align: right;
}
.strengths-sec__img img{
    width: 54%;
}


/* WORK FLOW */
.workflow-sec__list{
    gap: 22px;
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(5,1fr);
}
.workflow-sec__list__item{
    flex: 1;
}
.workflow-sec__list__item__head{
    align-items: flex-start;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding-top: 6px;
    position: relative;
}
.workflow-sec__list__item__head__num{
    color: var(--blue);
    font-family: var(--montserrat);
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #00469e;
    border-right: 1px solid #00469e;
    width: 80px;
    letter-spacing: 0.1em;
}
.workflow-sec__list__item__head__ttl-box__main{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
}
.workflow-sec__list__item__head__ttl-box__sub{
    color: var(--gray);
    font-size: 13px;
}
.workflow-sec__list__item__img{
    margin-bottom: 14px;
    overflow: hidden;
    text-align: center;
}
.workflow-sec__list__item__img img{
    aspect-ratio: 283 / 169;
    object-fit: cover;
    width: 100%;
}


/* MARQUEE TEXT */
#next-begin-sec{
    overflow: hidden;
    padding: 100px 0 50px;
}
.next-begin-sec__inner{
    overflow: hidden;
    white-space: nowrap;
}
.next-begin-sec__inner__txt{
    animation: marquee-text 30s linear infinite;
    width: 4463px;
    display: inline-block;
}
@keyframes marquee-text{
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-50%);
    }
}

.waste-treatment-bg{
    background: url(img/waste-treatment/bg.webp) no-repeat center top / 1860px;
}
.waste-collection-bg{
    background: url(img/waste-collection/bg.webp) no-repeat right -50px top / 1860px;
}


/* WASTE TREATMENT MAIN */
#waste-treatment-sec{
    padding: 60px 0 80px;
}


/* WASTE MESSAGE */
#waste-msg-sec{
    padding-top: 40px;
}
.waste-msg-sec__inner{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 80px;
    justify-content: space-between;
}
.waste-msg-sec__inner__txt-area{
    flex: 1;
    max-width: 620px;
    padding-top: 20px;
}
.waste-msg-sec__inner__txt-area__catch{
    color: #00469e;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.16em;
    line-height: 1.6;
    margin-bottom: 60px;
}
.waste-msg-sec__inner__txt-area__txt{
    line-height: 2.2;
    font-size: 18px;
}
.waste-msg-sec__inner__img-area{
    flex-shrink: 0;
    width: 100%;
    max-width: 755px;
}


/* WASTE INTRO */
.waste-intro-sec__card{
    align-items: stretch;
    background: linear-gradient(to right top, #006fb0,#2f3189);
    clip-path: polygon(0 0, calc(100% - 25px) 0, 100% 25px, 100% 100%, 0 100%);
    color: #fff;
    flex-wrap: nowrap;
    max-width: 900px;
    margin: 0 auto;
    overflow: hidden;
    padding: 40px 50px;
    justify-content: space-between;
}
.waste-intro-sec__card__head{
    flex-shrink: 0;
    max-width: 270px;
}
.waste-intro-sec__card__head__ttl{
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.4;
    margin-bottom: 4px;
}
.waste-intro-sec__card__head__en{
    font-family: var(--montserrat);
    font-size: 12px;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    opacity: .8;
}
.waste-intro-sec__card__head__img img{
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
}
.waste-intro-sec__card__body{
    max-width: 400px;
}
.waste-intro-sec__card__body__txt{
    line-height: 2.2;
}



/* WASTE GALLERY MARQUEE */
#waste-gallery-sec{
    overflow: hidden;
}
.waste-gallery-sec__inner{
    overflow: hidden;
    width: 100%;
}
.waste-gallery-sec__inner__track{
    align-items: center;
    animation: gallery-marquee 40s linear infinite;
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    gap: 50px;
}
.waste-gallery-sec__inner__track img{
    display: block;
    height: auto;
    max-width: none;
    width: 2500px;
}
@keyframes gallery-marquee{
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-50%);
    }
}


/* STRENGTHS LEAD (waste page) */
.strengths-sec__lead{
    line-height: 2;
    margin-top: 30px;
}

/* WORKFLOW (waste page - 4 items) */
.workflow-sec__list--four{
    grid-template-columns: repeat(4,1fr);
}

/* ENVIRONMENT */
#environment-sec{
    padding-top: 60px;
    background: url(img/waste-treatment/environment-img.webp) no-repeat right top / 1168px;
}
#environment-sec.aligment-sec{
    background: url(img/waste-collection/aligment-bg.webp) no-repeat right -200px top var(--padding) / 1168px;
}
.environment-sec__cont{
    margin-top: 80px;
}
.environment-sec__cont__catch{
    color: #00469e;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.16em;
    line-height: 1.6;
    margin-bottom: 50px;
}
.environment-sec__cont__txt{
    line-height: 2.2;
    font-size: 18px;
}


/* CONTACT MV */
#contact-mv{
    padding-bottom: 60px;
}
.contact-mv__ttl-box{
    color: var(--base-color);
}
.contact-mv__ttl-box__sub{
    align-items: center;
    color: var(--blue);
    display: flex;
    font-weight: 500;
    gap: 10px;
    margin-bottom: 14px;
}
.contact-mv__ttl-box__sub__icon{
    background: var(--blue);
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    width: 8px;
}
.contact-mv__ttl-box__main{
    font-family: var(--montserrat);
    font-size: 80px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}


/* CONTACT FORM */
#contact-form-sec{
    padding-top: 40px;
}
.contact-form-sec__inner{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 80px;
    justify-content: space-between;
}
.contact-form-sec__inner__lead{
    flex-shrink: 0;
    width: 400px;
    padding-top: 30px;
    border-top: 1px solid var(--gray-light);
}
.contact-form-sec__inner__lead__txt{
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 24px;
}
.contact-form-sec__inner__lead__note{
    color: #DC0E0E;
    font-size: 14px;
    margin-top: 30px;
}
.contact-form-sec__inner__form{
    flex: 1;
    position: relative;
    max-width: 800px;
}
.contact-form-sec__inner__form__tabs{
    flex-wrap: nowrap;
    gap: 0;
    margin-bottom: 0;
}
.contact-form-sec__inner__form__tabs__item{
    flex: 1;
}
.contact-form-sec__inner__form__tabs__item a{
    align-items: center;
    background: var(--gray-light);
    color: var(--gray);
    display: flex;
    font-weight: 700;
    height: 60px;
    justify-content: center;
    transition: .3s;
}
.contact-form-sec__inner__form__tabs__item--active a{
    background: var(--blue);
    color: #fff;
}
.contact-form-sec__inner__form__tabs__item a:hover{
    opacity: .8;
}
.contact-form-sec__inner__form__row{
    border-top: 1px solid var(--gray-light);
    padding: 30px 0;
}
.contact-form-sec__inner__form__tabs + .contact-form-sec__inner__form__row{
    border-top: 0;
    padding-top: 40px;
}
.contact-form-sec__inner__form__row:last-of-type{
    border-bottom: 1px solid var(--gray-light);
}
.contact-form-sec__inner__form__row__label{
    display: block;
    font-weight: 700;
    margin-bottom: 14px;
}
.contact-form-sec__inner__form__row__label__req{
    color: #DC0E0E;
    font-size: 14px;
    margin-left: 6px;
}

/* RADIO */
.contact-form-sec__inner__form__row__input input[type="radio"]{
    height: 0;
    opacity: 0;
    position: absolute;
    width: 0;
}
.contact-form-sec__inner__form__row__input input[type="radio"] + .wpcf7-list-item-label{
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    font-weight: 500;
    gap: 2px;
    margin-right: 32px;
    padding: 6px 0;
    transition: .2s;
}
.contact-form-sec__inner__form__row__input input[type="radio"] + .wpcf7-list-item-label::before{
    background: #fff;
    border: 1px solid #BBB;
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
    display: block;
    flex-shrink: 0;
    height: 22px;
    transition: .2s;
    width: 22px;
}
.contact-form-sec__inner__form__row__input input[type="radio"]:checked + .wpcf7-list-item-label::before{
    border: 6px solid var(--blue);
}
.contact-form-sec__inner__form__row__input input[type="radio"]:focus-visible + .wpcf7-list-item-label::before{
    box-shadow: 0 0 0 3px rgba(0, 51, 160, 0.18);
}
.contact-form-sec__inner__form__row__input input[type="radio"] + .wpcf7-list-item-label:hover{
    opacity: .7;
}

.contact-form-sec__inner__form__row__input input[type="text"],
.contact-form-sec__inner__form__row__input input[type="tel"],
.contact-form-sec__inner__form__row__input input[type="email"],
.contact-form-sec__inner__form__row__input select,
.contact-form-sec__inner__form__row__input textarea,
.contact-form-sec__inner__form__row__address__zip__input input,
.contact-form-sec__inner__form__row__address__zip__input select{
    background: var(--gray-light);
    border: 0;
    border-radius: 0;
    color: var(--base-color);
    font-family: var(--base-font);
    font-size: 16px;
    height: 56px;
    padding: 0 20px;
    transition: .3s;
    width: 100%;
}
.contact-form-sec__inner__form__row__input input::placeholder,
.contact-form-sec__inner__form__row__input textarea::placeholder,
.contact-form-sec__inner__form__row__address__zip__input input::placeholder{
    color: #999;
}
.contact-form-sec__inner__form__row__input input:focus,
.contact-form-sec__inner__form__row__input select:focus,
.contact-form-sec__inner__form__row__input textarea:focus,
.contact-form-sec__inner__form__row__address__zip__input input:focus,
.contact-form-sec__inner__form__row__address__zip__input select:focus{
    background: #E0E6F0;
    outline: 0;
}
.contact-form-sec__inner__form__row__input textarea{
    line-height: 1.8;
    padding: 18px 20px;
    resize: none;
    height: 260px;
}
.contact-form-sec__inner__form__row__input--select{
    position: relative;
}
.contact-form-sec__inner__form__row__input--select::after{
    border-bottom: 2px solid var(--base-color);
    border-right: 2px solid var(--base-color);
    content: "";
    display: block;
    height: 8px;
    pointer-events: none;
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-75%) rotate(45deg);
    width: 8px;
}
.contact-form-sec__inner__form__row__input--select select{
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    padding-right: 50px;
}
.contact-form-sec__inner__form__row__address__zip{
    align-items: center;
    flex-wrap: nowrap;
    gap: 16px;
    margin-bottom: 20px;
}
.contact-form-sec__inner__form__row__address__zip__lbl{
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 500;
}
.contact-form-sec__inner__form__row__address__zip__input{
    flex: 1;
    position: relative;
}
.contact-form-sec__inner__form__row__address__sub-lbl{
    font-size: 14px;
    margin-bottom: 10px;
}

.contact-form-sec__inner__form__privacy{
    margin-top: 50px;
}
.contact-form-sec__inner__form__privacy__lbl{
    font-size: 14px;
    margin-bottom: 12px;
}
.contact-form-sec__inner__form__privacy__box{
    border: 1px solid var(--gray-light);
    font-size: 14px;
    height: 200px;
    line-height: 1.8;
    overflow-y: auto;
    padding: 24px 28px;
}
.contact-form-sec__inner__form__privacy__box p{
    margin-bottom: 4px;
}
.contact-form-sec__inner__form__privacy__check{
    align-items: center;
    cursor: pointer;
    display: inline-flex;
    gap: 12px;
    margin-top: 30px;
}
.contact-form-sec__inner__form__privacy__check input{
    height: 0;
    opacity: 0;
    position: absolute;
    width: 0;
}
.wpcf7-list-item-label::before{
    background: #fff;
    border: 1px solid #BBB;
    display: inline-block;
    flex-shrink: 0;
    height: 22px;
    position: relative;
    transition: .2s;
    width: 22px;
    vertical-align: middle;
    margin-right: 10px;
}
.contact-form-sec__inner__form__privacy__check input:checked + .wpcf7-list-item-label::before{
    background: var(--blue);
    border-color: var(--blue);
}
.contact-form-sec__inner__form__privacy__check input:checked + .wpcf7-list-item-label::after{
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 11px;
    position: absolute;
    top: 9px;
    left: 24px;
    transform: rotate(45deg);
    width: 6px;
}
.contact-form-sec__inner__form__privacy__check__txt{
    font-size: 14px;
}

.contact-form-sec__inner__form__submit{
    margin-top: 50px;
    text-align: center;
}
.contact-form-sec__inner__form__submit__btn{
    align-items: center;
    background: #fff;
    border: 1px solid #00469e;
    border-radius: 0;
    color: var(--blue);
    cursor: pointer;
    display: inline-flex;
    font-family: var(--base-font);
    font-size: 18px;
    font-weight: 700;
    gap: 60px;
    height: 70px;
    justify-content: space-between;
    letter-spacing: 0.05em;
    padding: 8px 12px;
    transition: .3s;
    width: 280px;
    border-radius: 6px;
}
.contact-form-sec__inner__form__submit__btn:hover{
    background-color: #00469e;
    color: #fff;
    opacity: 1;
}
.contact-form-sec__inner__form__submit__btn__icon{
    width: 46px;
    height: 46px;
    background: url(img/common/contact-bnr-arrow.svg) no-repeat center center / contain;
}
.entry-mv{
    padding-top: 550px;
    background: url(img/entry/entry-bg.webp) no-repeat center right / 1382px;
}
.contact-form-sec__inner__form-img{
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-100%);
}


/* NEWS MV */
#news-mv{
    overflow: hidden;
    padding-bottom: 60px;
    position: relative;
}
.news-mv__inner{
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: space-between;
}
.news-mv__inner__ttl-box__sub{
    align-items: center;
    color: var(--blue);
    display: flex;
    font-weight: 500;
    gap: 10px;
    margin-bottom: 14px;
}
.news-mv__inner__ttl-box__sub__icon{
    background: var(--blue);
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    width: 8px;
}
.news-mv__inner__ttl-box__main{
    font-family: var(--montserrat);
    font-size: 80px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}
.news-mv__inner__filter{
    align-items: center;
    gap: 8px;
}
.news-mv__inner__filter__item a{
    align-items: center;
    color: var(--base-color);
    display: flex;
    font-weight: 500;
    height: 40px;
    justify-content: center;
    padding: 0 18px;
    transition: .3s;
}
.news-mv__inner__filter__item--active a{
    background: #D6E2F2;
    color: var(--blue);
    font-weight: 700;
}
.news-mv__inner__filter__item a:hover{
    color: var(--blue);
    opacity: 1;
}


/* NEWS LIST */
#news-list-sec{
    padding-top: 40px;
}
.news-list-sec__list__item{
    border-top: 1px solid var(--gray-light);
}
.news-list-sec__list__item:last-child{
    border-bottom: 1px solid var(--gray-light);
}
.news-list-sec__list__item__link{
    align-items: center;
    color: var(--base-color);
    flex-wrap: nowrap;
    gap: 40px;
    padding: 24px 10px;
    transition: .3s;
}
.news-list-sec__list__item__link:hover{
    background: var(--bg-light);
    opacity: 1;
}
.news-list-sec__list__item__link__thumb{
    flex-shrink: 0;
    overflow: hidden;
    width: 200px;
}
.news-list-sec__list__item__link__thumb img{
    aspect-ratio: 10 / 7;
    object-fit: cover;
    width: 100%;
}
.news-list-sec__list__item__link__meta{
    flex-shrink: 0;
    width: 110px;
}
.news-list-sec__list__item__link__meta__cat{
    color: var(--gray);
    font-size: 14px;
}
.news-list-sec__list__item__link__body{
    flex: 1;
    min-width: 0;
}
.news-list-sec__list__item__link__body__date{
    color: var(--gray);
    font-family: var(--montserrat);
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin-bottom: 8px;
}
.news-list-sec__list__item__link__body__ttl{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 6px;
}
.news-list-sec__list__item__link__body__excerpt{
    color: var(--gray);
    font-size: 14px;
    line-height: 1.7;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* PAGINATION */
.wp-pagenavi{
    align-items: center;
    gap: 18px;
    justify-content: center;
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
}
.wp-pagenavi a,
.wp-pagenavi span{
    border: none !important;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink{
    width: 25px;
    height: 20px;
}
.wp-pagenavi a.previouspostslink{
    margin-right: 12px;
    background: url(img/common/nav-prev.svg) no-repeat center center / contain;
}
.wp-pagenavi a.nextpostslink{
    margin-left: 12px;
    background: url(img/common/nav-next.svg) no-repeat center center / contain;
}
.wp-pagenavi .page,
.wp-pagenavi .current{
    align-items: center;
    gap: 18px;
}
.wp-pagenavi .page,
.wp-pagenavi .current{
    align-items: center;
    color: var(--base-color);
    display: flex;
    font-family: var(--montserrat);
    font-weight: 500;
    height: 32px;
    justify-content: center;
    min-width: 24px;
    padding: 0 4px;
    font-size: 18px;
    transition: .3s;
}
.wp-pagenavi .current{
    color: var(--blue);
    font-weight: 700;
    position: relative;
}
.wp-pagenavi .current::after{
    background: var(--blue);
    bottom: 4px;
    content: "";
    height: 1.5px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 14px;
}
.wp-pagenavi .current:hover{
    color: var(--blue);
    opacity: 1;
}


/* NEWS SINGLE */
#news-single-sec{
    padding-top: 60px;
}
.news-single-sec__inner{
    margin: 0 auto;
    max-width: 880px;
}
.news-single-sec__inner__head{
    border-bottom: 1px solid var(--gray-light);
    margin-bottom: 40px;
    padding-bottom: 30px;
    position: relative;
}
.news-single-sec__inner__head::after{
    background: var(--blue);
    bottom: -1px;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    position: absolute;
    width: 40px;
}
.news-single-sec__inner__head__meta{
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}
.news-single-sec__inner__head__meta__date{
    color: var(--gray);
    font-family: var(--montserrat);
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1;
}
.news-single-sec__inner__head__meta__cat{
    background: var(--blue);
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    padding: 4px 14px;
}
.news-single-sec__inner__head__ttl{
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
.news-single-sec__inner__thumb{
    margin-bottom: 50px;
    overflow: hidden;
}
.news-single-sec__inner__thumb img{
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
}

.news-single-sec__inner__body{
    line-height: 2;
    margin-bottom: 60px;
}
.news-single-sec__inner__body p{
    margin-bottom: 24px;
}
.news-single-sec__inner__body p:last-child{
    margin-bottom: 0;
}
.news-single-sec__inner__body a{
    color: var(--blue);
    text-decoration: underline;
}
.news-single-sec__inner__body h1{
    font-size: 28px;
    margin: 50px 0 15px;
    font-weight: bold;
}
.news-single-sec__inner__body h2{
    border-left: 4px solid var(--blue);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 50px 0 24px;
    padding-left: 16px;
}
.news-single-sec__inner__body h3{
    color: var(--blue);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin: 40px 0 16px;
}
.news-single-sec__inner__body h4,
.news-single-sec__inner__body h5,
.news-single-sec__inner__body h6{
    color: var(--blue);
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 20px 0 10px;
}
.news-single-sec__inner__body ul,
.news-single-sec__inner__body ol{
    margin: 0 0 24px;
    padding-left: 24px;
}
.news-single-sec__inner__body ul li{
    list-style: disc;
    margin-bottom: 6px;
}
.news-single-sec__inner__body ol li{
    list-style: decimal;
    margin-bottom: 6px;
}
.news-single-sec__inner__body img{
    margin: 24px 0;
}
.news-single-sec__inner__body blockquote{
    background: var(--bg-light);
    border-left: 3px solid var(--blue);
    color: var(--gray);
    margin: 24px 0;
    padding: 20px 24px;
}

.news-single-sec__inner__back{
    border-top: 1px solid var(--gray-light);
    padding-top: 50px;
    text-align: center;
}
.news-single-sec__inner__back__btn{
    align-items: center;
    border: 1px solid var(--blue);
    color: var(--blue);
    display: inline-flex;
    font-family: var(--montserrat);
    font-weight: 700;
    gap: 16px;
    height: 60px;
    justify-content: center;
    letter-spacing: 0.05em;
    padding: 0 50px;
    transition: .3s;
    width: 280px;
}
.news-single-sec__inner__back__btn:hover{
    background: var(--blue);
    color: #fff;
    opacity: 1;
}
.news-single-sec__inner__back__btn__arrow{
    display: block;
    height: 1px;
    position: relative;
    width: 30px;
}
.news-single-sec__inner__back__btn__arrow::before{
    background: currentColor;
    content: "";
    height: 1.5px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
.news-single-sec__inner__back__btn__arrow::after{
    border-bottom: 1.5px solid currentColor;
    border-left: 1.5px solid currentColor;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: left center;
    width: 8px;
}


/* PAGE COMMON - MORE BUTTON */
.more-btn{
    align-items: center;
    background: #fff;
    border: 1px solid #00469e;
    border-radius: 0;
    color: var(--blue);
    cursor: pointer;
    display: inline-flex;
    font-family: var(--base-font);
    font-size: 14px;
    font-weight: 700;
    gap: 60px;
    height: 50px;
    justify-content: space-between;
    letter-spacing: 0.05em;
    padding: 8px 12px 8px 20px;
    transition: .3s;
    width: 280px;
    border-radius: 6px;
}
.more-btn:hover{
    opacity: .7;
}
.more-btn__txt{
    color: var(--base-color);
}
.more-btn__icon{
    width: 32px;
    height: 32px;
    background: url(img/common/contact-bnr-arrow.svg) no-repeat center center / contain;
}


/* FRONT MV */
#front-mv{
    padding: 30px 30px 0;
    overflow: hidden;
    position: relative;
}
.front-mv__bg img{
    width: 100%;
}
.front-mv__catch{
    left: 50%;
    position: absolute;
    top: calc(50% + 30px);
    transform: translate(-50%, -50%);
    width: 28%;
    z-index: 2;
}
.front-mv__catch img{
    width: 100%;
}
.front-mv__deco{
    position: absolute;
    top: 0;
    left: 70%;
    overflow: hidden;
    transform: translateX(-50%);
}
.front-mv__deco img{
    width: 25vw;
    position: relative;
    transform: translateY(-50%);
}


/* FRONT INTRO */
#front-intro-sec{
    padding-top: 200px;
    position: relative;
}
.front-intro-sec__bg{
    left: 0;
    pointer-events: none;
    position: absolute;
    top: -150px;
    width: 100%;
    z-index: 0;
}
.front-intro-sec__lead{
    margin: 0 auto 100px;
    max-width: 1100px;
    padding: 0 40px;
    position: relative;
    text-align: center;
    z-index: 2;
}
.front-intro-sec__lead img{
    width: 100%;
}
.front-intro-sec__inner{
    position: relative;
}
.front-intro-sec__inner__txt{
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.front-intro-sec__inner__txt__lead{
    font-size: 16px;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 30px;
}
.front-intro-sec__inner__txt__body{
    line-height: 3.33;
    margin-bottom: 50px;
    letter-spacing: 0.1em;
    font-size: 18px;
}
.front-intro-sec__inner__txt__catch{
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.8;
}
.front-intro-sec__content{
    padding: 200px 0;
}
.front-intro-sec__content-img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -1;
    padding: 0 30px;
}
.front-intro-sec__content-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
}


/* FRONT ABOUT */
#front-about-sec{
    overflow: hidden;
    padding: 100px 80px 0;
    position: relative;
    height: 1310px;
}
.front-about-sec__bg{
    height: 100%;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
    background: url(img/frontpage/about-bg.webp) no-repeat center top / 1915px;
}
.front-about-sec__inner{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 100px;
    justify-content: space-between;
    margin-bottom: 80px;
    position: relative;
    z-index: 2;
}
.front-about-sec__inner__head{
    flex-shrink: 0;
    width: 360px;
}
.front-about-sec__inner__head__sub{
    align-items: center;
    color: #251e1c;
    display: flex;
    font-weight: 500;
    gap: 10px;
    margin-bottom: 12px;
}
.front-about-sec__inner__head__sub__icon{
    width: 19px;
    height: 16px;
    background: url(img/common/title-icon.svg) no-repeat center center / contain;
}
#front-business-sec .front-about-sec__inner__head__sub__icon{
    background: url(img/common/title-icon-wh.svg) no-repeat center center / contain;
}
.front-about-sec__inner__head__main{
    color: var(--base-color);
    font-family: var(--montserrat);
    font-size: 64px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
}
.front-about-sec__inner__cont{
    flex: 1;
    max-width: 520px;
    padding-top: 30px;
}
.front-about-sec__inner__cont__catch{
    color: #00469e;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.8;
    margin-bottom: 30px;
}
.front-about-sec__inner__cont__txt{
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.15em;
    margin-bottom: 36px;
}
.front-about-sec__gallery{
    overflow: hidden;
    margin-top: -200px;
    z-index: -1;
    position: relative;
}
.front-about-sec__gallery__track{
    align-items: center;
    animation: about-marquee 60s linear infinite;
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    gap: 60px;
}
.front-about-sec__gallery__track img{
    display: block;
    height: auto;
    max-width: none;
    width: 2500px;
}
@keyframes about-marquee{
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(-50%);
    }
}


/* FRONT BUSINESS */
#front-business-sec{
    border-radius: 10px;
    padding: 60px 0;
    background: linear-gradient(to bottom right, #006fb0 0%, #2f3189 100%);
}
.front-business-sec__panel{
    margin: 0 80px;
    position: relative;
}
.front-business-sec__panel__body .front-about-sec__inner__head{
    margin-bottom: 40px;
}
.front-business-sec__panel__body .front-about-sec__inner__head__sub,
.front-business-sec__panel__body .front-about-sec__inner__head__main{
    color: #fff;
}
.front-business-sec__panel__body__list{
    flex-wrap: nowrap;
    gap: 24px;
}
.front-business-sec__panel__body__list__item{
    background: #2A6BD8;
    flex: 1;
}
.front-business-sec__panel__body__list__item a{
    align-items: stretch;
    color: #fff;
    display: flex;
    gap: 14px;
    transition: .3s;
    padding: 20px;
}
.front-business-sec__panel__body__list__item a:hover{
    opacity: .85;
}
.front-business-sec__panel__body__list__item__img{
    flex: 1;
    overflow: hidden;
    position: relative;
}
.front-business-sec__panel__body__list__item__img img{
    aspect-ratio: 394/320;
    object-fit: cover;
    width: 100%;
}
.front-business-sec__panel__body__list__item__img__num{
    background: #0071c7;
    color: #fff;
    font-family: var(--montserrat);
    font-size: 14px;
    font-weight: 500;
    left: 0;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 6px 30px 12px 0;
    position: absolute;
    top: 0;
    z-index: 1;
}
.front-business-sec__panel__body__list__item__body{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    justify-content: space-between;
    padding: 4px 0;
    position: relative;
    width: 36px;
}
.front-business-sec__panel__body__list__item__body__ttl{
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.4;
    text-align: left;
    writing-mode: vertical-rl;
}
.front-business-sec__panel__body__list__item__body__arrow{
    margin-top: 15px;
    width: 32px;
    height: 32px;
    background: url(img/common/contact-bnr-arrow.svg) no-repeat center center / contain;
}


/* FRONT NEWS */
#front-news-sec{
    padding: 100px 80px;
}
.front-news-sec__inner{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 80px;
}
.front-news-sec__inner__head{
    flex-shrink: 0;
    width: 220px;
}
.front-news-sec__inner__head__sub{
    align-items: center;
    display: flex;
    font-weight: 500;
    gap: 10px;
    margin-bottom: 12px;
}
.front-news-sec__inner__head__sub__icon{
    width: 19px;
    height: 16px;
    background: url(img/common/title-icon.svg) no-repeat center center / contain;
}
.front-news-sec__inner__head__main{
    color: var(--base-color);
    font-family: var(--montserrat);
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    margin-bottom: 30px;
}
.front-news-sec__inner__head__btn{
    margin-top: 20px;
    width: 200px;
}
.front-news-sec__inner__list{
    flex: 1;
}
.front-news-sec__inner__list__item{
    border-top: 1px solid var(--gray-light);
}
.front-news-sec__inner__list__item:last-child{
    border-bottom: 1px solid var(--gray-light);
}
.front-news-sec__inner__list__item__link{
    align-items: center;
    color: var(--base-color);
    flex-wrap: nowrap;
    gap: 30px;
    padding: 20px 10px;
    transition: .3s;
}
.front-news-sec__inner__list__item__link:hover{
    background: var(--bg-light);
    opacity: 1;
}
.front-news-sec__inner__list__item__link__date{
    color: var(--gray);
    flex-shrink: 0;
    font-family: var(--montserrat);
    font-size: 14px;
    letter-spacing: 0.05em;
    width: 100px;
}
.front-news-sec__inner__list__item__link__cat{
    align-items: center;
    background: #0071c7;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex-shrink: 0;
    font-family: var(--montserrat);
    font-size: 11px;
    font-weight: 500;
    height: 24px;
    justify-content: center;
    letter-spacing: 0.05em;
    padding: 0 16px;
    width: 100px;
}
.front-news-sec__inner__list__item__link__ttl{
    flex: 1;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/* FRONT RECRUIT */
#front-recruit-sec{
    padding: 0 0 100px;
    height: 1000px;
    display: flex;
    align-items: flex-end;
    margin-bottom: 230px;
}
.front-recruit-sec__inner{
    margin: 0 auto;
    width: 100%;
    max-width: 1300px;
    overflow: hidden;
    position: relative;
}
.front-recruit-sec__inner__bg{
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
    padding: 0 30px;
}
.front-recruit-sec__inner__bg img{
    height: 100%;
    object-fit: cover;
    object-position: center center;
    width: 100%;
}
.front-recruit-sec__inner__bg-text{
    color: rgba(255, 255, 255, 0.85);
    font-family: var(--montserrat);
    font-size: 320px;
    font-weight: 700;
    left: 50%;
    letter-spacing: 0.02em;
    line-height: 0.9;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    z-index: 2;
}
.front-recruit-sec__inner__cont__catch{
    margin-bottom: 80px;
    max-width: 420px;
}
.front-recruit-sec__inner__cont__catch img{
    width: 100%;
}
.front-recruit-sec__inner__cont .more-btn{
    background: transparent;
}


/* RECRUIT MV */
#recruit-mv{
    margin: 30px 30px 0;
}
.recruit-mv__inner{
    overflow: hidden;
    position: relative;
}
.recruit-mv__inner__img{
    display: block;
    height: auto;
    width: 100%;
}
.sr-only{
    clip: rect(0 0 0 0);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}


/* RECRUIT ANCHOR */
#recruit-anchor{
    padding: 60px 30px 60px;
}
.recruit-anchor__list{
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}
.recruit-anchor__list__item a{
    align-items: center;
    background: #fff;
    border: 1px solid var(--blue);
    color: var(--blue);
    display: inline-flex;
    font-size: 14px;
    font-weight: 500;
    height: 44px;
    justify-content: center;
    padding: 0 24px;
    transition: .3s;
}
.recruit-anchor__list__item a:hover{
    background: var(--blue);
    color: #fff;
    opacity: 1;
}


/* RECRUIT MESSAGE */
.recruit-msg-sec{
    overflow: hidden;
    padding: 60px 30px 100px;
    position: relative;
}
.recruit-msg-sec__inner{
    position: relative;
}
.recruit-msg-sec__inner__head{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 0;
    position: relative;
}
.recruit-msg-sec__inner__head__title{
    align-items: center;
    display: flex;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-30%, -50%);
    width: 60%;
    z-index: 2;
}
.recruit-msg-sec__inner__head__title img{
    width: 100%;
}
.recruit-msg-sec__inner__head__img{
    width: 50%;
}
.recruit-msg-sec__inner__head__img img{
    width: 100%;
}
.recruit-msg-sec__inner__txt{
    margin-top: 60px;
    max-width: 600px;
}
.recruit-msg-sec__inner__txt__catch{
    color: var(--base-color);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.8;
    margin-bottom: 40px;
}
.recruit-msg-sec__inner__txt__body{
    line-height: 2;
}


/* RECRUIT INFOGRAPHICS */
.recruit-info-sec{
    padding: 40px 30px 80px;
}
.recruit-info-sec__head{
    margin-bottom: 30px;
}
.recruit-info-sec__head__sub{
    color: var(--blue);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
}
.recruit-info-sec__head__title img{
    height: auto;
    max-width: 480px;
}
.recruit-info-sec__img img{
    width: 100%;
}


/* RECRUIT BENEFITS */
.recruit-benefits-sec{
    padding: 80px 30px;
}
.recruit-benefits-sec__inner{
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 80px;
    justify-content: space-between;
}
.recruit-benefits-sec__inner__head{
    flex-shrink: 0;
    width: 360px;
}
.recruit-benefits-sec__inner__head__sub{
    color: var(--blue);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
}
.recruit-benefits-sec__inner__head__title img{
    height: auto;
    max-width: 100%;
}
.recruit-benefits-sec__inner__list{
    flex: 1;
    flex-wrap: wrap;
    gap: 0;
}
.recruit-benefits-sec__inner__list__item{
    align-items: center;
    border-bottom: 1px solid var(--gray-light);
    display: flex;
    font-size: 16px;
    font-weight: 500;
    padding: 20px 10px;
    position: relative;
    width: 50%;
}
.recruit-benefits-sec__inner__list__item::before{
    background: var(--blue);
    border-radius: 50%;
    content: "";
    display: block;
    flex-shrink: 0;
    height: 8px;
    margin-right: 14px;
    width: 8px;
}


/* RECRUIT INTERVIEW */
.recruit-interview-sec{
    background: linear-gradient(135deg, #1A5BD8 0%, var(--blue-dark) 100%);
    color: #fff;
    margin: 0 30px;
    padding: 80px 60px;
}
.recruit-interview-sec__head{
    margin-bottom: 60px;
    text-align: center;
}
.recruit-interview-sec__head__title img{
    filter: brightness(0) invert(1);
    height: auto;
    max-width: 600px;
}
.recruit-interview-sec__body{
    margin: 0 auto;
    max-width: 880px;
}
.recruit-interview-sec__body__profile{
    align-items: center;
    flex-wrap: nowrap;
    gap: 40px;
    margin-bottom: 50px;
}
.recruit-interview-sec__body__profile__img{
    flex-shrink: 0;
    width: 300px;
}
.recruit-interview-sec__body__profile__img img{
    aspect-ratio: 4 / 3;
    object-fit: cover;
    width: 100%;
}
.recruit-interview-sec__body__profile__info{
    flex: 1;
}
.recruit-interview-sec__body__profile__info__role{
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.6;
    margin-bottom: 24px;
}
.recruit-interview-sec__body__profile__info__name{
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 8px;
}
.recruit-interview-sec__body__profile__info__sub{
    font-size: 12px;
    line-height: 1.6;
    opacity: .85;
}
.recruit-interview-sec__body__qa{
    margin-bottom: 50px;
}
.recruit-interview-sec__body__qa__item{
    margin-bottom: 36px;
}
.recruit-interview-sec__body__qa__item__q{
    align-items: baseline;
    display: flex;
    gap: 24px;
    margin-bottom: 16px;
}
.recruit-interview-sec__body__qa__item__q .num{
    font-family: var(--montserrat);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}
.recruit-interview-sec__body__qa__item__q .txt{
    font-size: 18px;
    font-weight: 500;
}
.recruit-interview-sec__body__qa__item__a{
    line-height: 2;
    padding-left: 76px;
}


/* RECRUIT CAREER */
.recruit-career-sec{
    padding: 100px 30px 80px;
}
.recruit-career-sec__head{
    margin-bottom: 50px;
}
.recruit-career-sec__head__sub{
    color: var(--blue);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
}
.recruit-career-sec__head__title{
    color: var(--base-color);
    font-family: var(--montserrat);
    font-size: 56px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.1;
}
.recruit-career-sec__chart{
    margin: 0 auto 80px;
    max-width: 880px;
    text-align: center;
}
.recruit-career-sec__chart img{
    width: 100%;
}
.recruit-career-sec__model{
    background: var(--bg-light);
    margin: 0 auto;
    max-width: 880px;
    padding: 30px;
}
.recruit-career-sec__model__lbl{
    color: var(--blue);
    font-family: var(--montserrat);
    font-size: 12px;
    letter-spacing: 0.05em;
}
.recruit-career-sec__model__name{
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 24px;
}
.recruit-career-sec__model__inner{
    margin-bottom: 20px;
}
.recruit-career-sec__model__inner img{
    width: 100%;
}
.recruit-career-sec__model__comment{
    background: #fff;
    padding: 20px 24px;
}
.recruit-career-sec__model__comment__lbl{
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
}
.recruit-career-sec__model__comment__txt{
    font-size: 14px;
    line-height: 1.8;
}


/* RECRUIT JOB DESCRIPTION */
.recruit-job-sec{
    padding: 0 30px 100px;
}
.recruit-job-sec__head{
    margin-bottom: 30px;
}
.recruit-job-sec__head__sub{
    color: var(--blue);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 10px;
}
.recruit-job-sec__head__title img{
    height: auto;
    max-width: 520px;
}
.recruit-job-sec__tabs{
    flex-wrap: nowrap;
    gap: 0;
}
.recruit-job-sec__tabs__item{
    flex: 0 0 200px;
}
.recruit-job-sec__tabs__item a{
    align-items: center;
    background: var(--gray-light);
    color: var(--gray);
    display: flex;
    font-size: 14px;
    font-weight: 700;
    height: 50px;
    justify-content: center;
    transition: .3s;
}
.recruit-job-sec__tabs__item--active a{
    background: var(--blue);
    color: #fff;
}
.recruit-job-sec__table{
    border: 1px solid var(--gray-light);
}
.recruit-job-sec__table__row{
    align-items: stretch;
    border-bottom: 1px solid var(--gray-light);
    flex-wrap: nowrap;
}
.recruit-job-sec__table__row:last-child{
    border-bottom: 0;
}
.recruit-job-sec__table__row__th{
    background: var(--bg-light);
    color: var(--blue);
    flex-shrink: 0;
    font-weight: 500;
    padding: 20px 28px;
    width: 220px;
}
.recruit-job-sec__table__row__td{
    flex: 1;
    line-height: 1.8;
    padding: 20px 30px;
}


/* RECRUIT ENTRY */
#recruit-entry-sec{
    margin: 0 30px 80px;
}
.recruit-entry-sec__link{
    display: block;
    overflow: hidden;
    transition: .3s;
}
.recruit-entry-sec__link:hover{
    opacity: .85;
}
.recruit-entry-sec__link__bg{
    display: block;
    height: auto;
    width: 100%;
}


/* DRAWER MENU */
body.is-drawer-open{
    overflow: hidden;
}
#drawer{
    inset: 0;
    pointer-events: none;
    position: fixed;
    transition: visibility 0s linear .4s;
    visibility: hidden;
    z-index: 200;
}
#drawer.is-open{
    pointer-events: auto;
    transition-delay: 0s;
    visibility: visible;
}
.drawer__overlay{
    background: rgba(0, 26, 102, 0.5);
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: opacity .35s ease;
    width: 100%;
}
#drawer.is-open .drawer__overlay{
    opacity: 1;
}
.drawer__panel{
    background: #fff;
    background-color: #fff;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    height: 100%;
    max-width: 480px;
    overflow-y: auto;
    padding: 40px 50px;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: transform .4s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    z-index: 9999;
}
#drawer.is-open .drawer__panel{
    transform: translateX(0);
}
.drawer__panel__head{
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
}
.drawer__panel__head__logo{
    display: block;
    width: 200px;
}
.drawer__panel__head__logo img{
    width: 100%;
}
.drawer__panel__head__close{
    background: transparent;
    border: 0;
    cursor: pointer;
    height: 40px;
    padding: 4px;
    position: relative;
    transition: .3s;
    width: 40px;
}
.drawer__panel__head__close:hover{
    opacity: .6;
}
.drawer__panel__head__close span{
    background: var(--blue);
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    width: 28px;
}
.drawer__panel__head__close span:nth-child(1){
    transform: translate(-50%, -50%) rotate(45deg);
}
.drawer__panel__head__close span:nth-child(2){
    transform: translate(-50%, -50%) rotate(-45deg);
}
.drawer__panel__nav{
    flex: 1;
}
.drawer__panel__nav__list__item{
    border-bottom: 1px solid var(--gray-light);
    padding: 18px 0;
}
.drawer__panel__nav__list__item:first-child{
    border-top: 1px solid var(--gray-light);
}
.drawer__panel__nav__list__item__link{
    align-items: baseline;
    color: var(--base-color);
    display: flex;
    gap: 18px;
    transition: .3s;
}
.drawer__panel__nav__list__item__link:hover{
    color: var(--blue);
    opacity: 1;
}
.drawer__panel__nav__list__item__link__en{
    color: var(--blue);
    font-family: var(--roboto);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    width: 90px;
}
.drawer__panel__nav__list__item__link__ja{
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.drawer__panel__nav__list__sub{
    margin-top: 14px;
    padding-left: 108px;
}
.drawer__panel__nav__list__sub li{
    margin-bottom: 8px;
}
.drawer__panel__nav__list__sub li a{
    color: var(--gray);
    font-size: 14px;
    transition: .3s;
}
.drawer__panel__nav__list__sub li a:hover{
    color: var(--blue);
    opacity: 1;
}
.drawer__panel__foot{
    margin-top: 40px;
    padding-top: 30px;
}
.drawer__panel__foot__company{
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
}
.drawer__panel__foot__address{
    color: var(--gray);
    font-size: 12px;
    line-height: 1.6;
}

/* MENU BTN ACTIVE STATE */
/* #js-menu-btn[aria-expanded="true"] .header__menu-btn__lines span:nth-child(1){
    transform: rotate(45deg) translate(6px, 6px);
}
#js-menu-btn[aria-expanded="true"] .header__menu-btn__lines span:nth-child(2){
    opacity: 0;
} */

@media screen and (max-width: 767px){
    .drawer__panel{
        max-width: 320px;
        padding: 30px 25px;
    }
    .drawer__panel__head{
        margin-bottom: 30px;
    }
    .drawer__panel__head__logo{
        width: 150px;
    }
    .drawer__panel__nav__list__item__link__en{
        font-size: 12px;
        width: 70px;
    }
    .drawer__panel__nav__list__item__link__ja{
        font-size: 14px;
    }
    .drawer__panel__nav__list__sub{
        padding-left: 88px;
    }
}



.recruit-design img{
    width: 100%;
}
.recruit-design{
    margin-top: 120px;
}
.recruit-entryBtn{
    z-index: 99;
    position: fixed;
    transform: translateY(-50%);
    top: 50%;
    right: 0;
}
.recruit-entryBtn img{
    width: 210px;
}


.recruit-anchor-nav a::before{
    opacity: 1;
}
.recruit-sec01{
    padding-top: 150px;
    background: url(img/recruit/bg01.webp) no-repeat top center / 1920px;
}
.recruit-sec01__inner{
    padding: 0 30px;
}
.recruit-sec01__flex{
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
}
.recruit-sec01__text{
    font-size: 40px;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;   
}
.recruit-sec01__box{
    background: linear-gradient(to right, #006fb0, #2f3189);
    color: #fff;
    position: relative;
    padding: 80px 50px;
    position: relative;
    z-index: 1;
    margin-top: -50px;
}
.recruit-sec01__box-text{
    font-weight: bold;
    letter-spacing: 0.16em;
    line-height: 2;
    font-size: 18px;
}
.recruit-sec01__box-img{
    position: absolute;
    bottom: 0;
    right: 0;
}
.recruit-sec02 .recruit-sec02__title__main{
    margin-bottom: -60px;
}
.recruit-sec02__title__main{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}
.recruit-sec03__flex{
    justify-content: space-between;
}
.recruit-sec03__flex-list{
    max-width: 800px;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 50px;
}
.recruit-sec03__flex-list li{
    padding: 20px 20px 20px 45px;
    border-top: 1px solid #000;
    position: relative;
    font-size: 20px;
}
.recruit-sec03__flex-list li:last-child{
    border-bottom: 1px solid #000;
}
.recruit-sec03__flex-list li::before{
    content: "";
    width: 16px;
    height: 16px;
    background: url(img/frontpage/mv-deco.webp) no-repeat center center / contain;
    position: absolute;
    top: 30px;
    left: 15px;
    display: inline-block;
}
.recruit-sec04{
    overflow: hidden;
}
.recruit-sec04__title{
    text-align: right;
}
.recruit-sec04__title img{
    position: relative;
    right: -30px;
}
.recruit-sec04__inner{
    padding: 0 30px;
}
.recruit-sec04__content-box{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    background: linear-gradient(to right, #006fb0, #2f3189);
    z-index: 0;
}
.recruit-sec04__content-box::before,
.recruit-sec04__content-box::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: .3s;
}
.recruit-sec04__content-box::before{
    background: linear-gradient(to right, #006fb0, #2f3189);
}
.recruit-sec04__content-box::after{
    background: #0071c7;
    opacity: 0;
}
.recruit-sec04__content-box.active::before{
    opacity: 0;
}
.recruit-sec04__content-box.active::after{
    opacity: 1;
}
.recruit-sec04__content-box__img{
    overflow: hidden;
    width: 45%;
    position: relative;
}
.recruit-sec04__content-box__img img{
    position: absolute;
    top: 50%;
    left: 5%;
    width: 72%;
    height: 72%;
    transform: translateY(-50%);
    object-fit: cover;
    transition: .3s;
}
.recruit-sec04__content-box.active .recruit-sec04__content-box__img img{
    width: 100%;
    height: 100%;
    left: 0;
}
.recruit-sec04__content-box__item{
    padding: 60px 50px;
    color: #fff;
    width: 55%;
    position: relative;
}
.recruit-sec04__content-box__item-toggle{
    position: absolute;
    bottom: 30px;
    right: 100px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #fff;
    cursor: pointer;
}
.recruit-sec04__content-box__item-toggle span{
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    width: 20px;
    height: 3px;
    border-radius: 4px;
    background-color: var(--blue);
    transition: .3s;
}
.recruit-sec04__content-box__item-toggle span:nth-of-type(2){
    transform: translate(-50%,-50%) rotate(90deg);
}
.recruit-sec04__content-box.active .recruit-sec04__content-box__item-toggle span:nth-of-type(2){
    transform: translate(-50%,-50%) rotate(0deg);
}
.recruit-sec04__content-box__item-lead{
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.07em;
    line-height: 1.6;
    margin-bottom: 30px;
}
.recruit-sec04__content-box__item-name{
    font-size: 38px;
    font-weight: bold;
    letter-spacing: 0.07em;
    line-height: 1.6;
}
.recruit-sec04__content-box__item-entry{
    font-size: 18px;
    margin-top: 10px;
}
.recruit-sec04__content-box__body{
    width: 100%;
    color: #fff;
    padding: 100px 50px;
    background: url(img/recruit/bg02.webp) no-repeat top center / 100%;
}
.recruit-sec04__content-box__body-q{
    display: flex;
    flex-wrap: wrap;
}
.recruit-sec04__content-box__body-q__ttl{
    width: 45%;
}
.recruit-sec04__content-box__body-q__ttl-text{
    font-size: 26px;
    font-weight: bold;
    position: relative;
    padding-left: 160px;
}
.recruit-sec04__content-box__body-q__ttl-text span{
    font-family: var(--montserrat);
    font-size: 66px;
    font-weight: 500;
    letter-spacing: 0.04em;
    position: absolute;
    top: -40px;
    left: 0;
}
.recruit-sec04__content-box__body-q:not(:last-child){
    margin-bottom: 100px;
}
.recruit-sec04__content-box__body-q__answer{
    width: 55%;
}
.recruit-sec04__content-box__body-q__answer-text{
    letter-spacing: 0.07em;
    font-size: 20px;
    line-height: 2;
}
.recruit-sec05{
    background: url(img/recruit/bg03.webp) no-repeat top center / 1920px;
}
.recruit-sec05 .recruit-sec02__title__main{
    margin-bottom: -100px;
}
.recruit-sec05__flex{
    justify-content: space-between;
}
.recruit-sec05__career{
    margin-top: 150px;
    max-width: 850px;
    margin-left: auto;
    width: 100%;
}
.recruit-sec05__career-ttl{
    margin-bottom: 20px;
}
.recruit-sec05__career-box{
    position: relative;
    margin-bottom: 50px;
}
.recruit-sec05__career-box:last-child{
    margin-bottom: 0;
}
.recruit-sec05__career-box__ttl{
    position: absolute;
    top: 130px;
    left: 20px;
}
.recruit-sec05__career-box__flex{
    align-items: flex-end;
}
.recruit-sec05__career-box__flex-img{
    width: 100%;
    max-width: 320px;
    text-align: right;
}
.recruit-sec05__career-box__flex-item{
    width: 100%;
    max-width: calc(100% - 320px);
    padding-left: 50px;
    padding-bottom: 30px;
}
.recruit-sec05__career-box__flex-item dl{
    border-bottom: 1px solid #ccc;
    padding: 15px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.recruit-sec05__career-box__flex-item dl:first-child{
    padding-top: 0;
}
.recruit-sec05__career-box__flex-item dl dt{
    font-weight: bold;
    color: #969697;
    width: 100%;
    max-width: 100px;
}
.recruit-sec05__career-box__flex-item dl dd{
    width: 100%;
    max-width: calc(100% - 100px);
}
.recruit-sec05__career-box__flex-item dl.big dt{
    color: var(--base-color);
    font-size: 24px;
}
.recruit-sec05__career-box__flex-item dl.big dd{
    font-size: 20px;
    color: var(--blue);
    font-weight: bold;
}
.recruit-sec05__career-box__flex-item dl.big dd span{
    font-size: 68px;
    display: inline-block;
    line-height: 1.2;
}
.recruit-sec05__career-box__body{
    background: linear-gradient(to right, #006fb0, #2f3189);
    color: #fff;
    padding: 20px 50px 100px 150px;
    word-break: break-word;
    font-size: 18px;
    font-weight: bold;
}
.recruit-sec05__career-box__comment{
    width: calc(100% - 60px);
    margin: -60px auto 0;
    position: relative;
    z-index: 1;
    background-color: #fff;
    border-radius: 40px;
    border: 2px solid #0071c7;
    padding: 20px 30px;
}
.recruit-sec05__career-box__comment-lead{
    color: #00469e;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6;
    border-bottom: 2px dashed #00469e;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
.recruit-sec05__career-box__comment-text{
    font-size: 18px;
    word-break: break-word;
    font-weight: bold;
}
.recruit-sec06 .recruit-sec02__title__main{
    margin-bottom: -70px;
}

.recruit-sec06__type{
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    margin-bottom: 30px;
}
.recruit-sec06__type li{
    border-bottom: 2px solid transparent;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding: 5px 30px;
    cursor: pointer;
}
.recruit-sec06__type li.active{
    border-bottom-color: #fff;
}
.recruit-sec06__inner{
    position: relative;
    z-index: 1;
    margin-top: -70px;
    padding-top: 80px;
}
.recruit-sec06__inner::before{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100% - 60px);
    height: 300px;
    background: linear-gradient(to right, #006fb0, #2f3189);
    transform: translateX(-50%);
    z-index: -1;
    min-height: 200px;
}
.recruit-sec06__content-box{
    background-color: #fff;
    padding: 40px 80px;
}
.recruit-sec06__content-box__item{
    margin-bottom: 120px;
}
.recruit-sec06__content-box__item:last-child{
    margin-bottom: 0;
}
.recruit-sec06__content-box__item-ttl{
    color: var(--blue);
    font-size: 22px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 15px;
}
.recruit-sec06__content-box__item-info table th,
.recruit-sec06__content-box__item-info table td{
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
}
.recruit-sec06__content-box__item-info table th{
    font-weight: bold;
    width: 15%;
}
.recruit-sec06__content-box__item-info table td{
    width: 85%;
    padding-left: 40px;
}
.recruit-sec06__tab{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px;
}
.recruit-sec06__tab li{
    position: relative;
    z-index: 0;
    color: #fff;
    font-size: 18px;
    padding: 8px 30px;
    cursor: pointer;
    border: 1px solid #fff;
}
.recruit-sec06__tab li::before,
.recruit-sec06__tab li::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    transition: .2s;
}
.recruit-sec06__tab li::before{
    background: linear-gradient(to right, #006fb0 0%, #2f3189 100%);;
    opacity: 0;
}
.recruit-sec06__tab li::after{
    z-index: -2;
    background-color: #a7a7a7;
}
.recruit-sec06__tab li.active::before{
    opacity: 1;
}
.recruit-sec06__tab li.active::after{
    opacity: 0;
}


#history-sec{
    padding: 60px 0 100px;
    color: #fff;
    background: url(img/about/history-bg.webp) no-repeat top -10px left -100px / 280px, linear-gradient(to bottom, #006fb0 0%, #2f3189 100%);
    position: relative;
}
#history-sec::before{
    content: "";
    position: absolute;
    width: 34vw;
    height: 70px;
    top: 0;
    left: 0;
    border-top-right-radius: 15px;
    transform: translateY(-100%);
    background-color: #006fb0;
}
#history-sec .sec-ttl__en{
    color: #fff;
}
.history-sec__content{
    margin-top: 50px;
    padding-left: calc((100vw - var(--wrap))/2);
    overflow-x: auto;
    position: relative;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.history-sec__content::-webkit-scrollbar {
    display: none;
}
.history-sec__content__inner{
    display: flex;
    flex-wrap: nowrap;
    position: relative;
    width: max-content;
}
.history-sec__content-box{
    width: 265px;
    min-width: 265px;
    position: relative;
}
.history-sec__content-box:nth-of-type(even){
    padding-top: 200px;
}
.history-sec__content-box__year{
    font-size: 46px;
    font-family: var(--montserrat);
    font-weight: 500;
    line-height: 1;
    margin-bottom: 5px;
}
.history-sec__content-box__month,
.history-sec__content-box__text{
    font-weight: bold;
    font-size: 14px;
}
.history-sec__content-bar{
    position: absolute;
    top: 140px;
    left: 0;
    width: 100%;
    z-index: 1;
    background-color: #fff;
    height: 6px;
}
/* .history-sec__content-box::before{
    content: "";
    position: absolute;
    top: 140px;
    left: 0;
    width: 100%;
    z-index: 1;
    background-color: #fff;
    height: 6px;
} */
.history-sec__content-box::after{
    content: "";
    position: absolute;
    top: 130px;
    left: -12px;
    width: 24px;
    height: 24px;
    background: linear-gradient(to right top, #59ade6,#2f3189);
    border-radius: 50%;
    z-index: 2;
}

.link-sec{
    padding: 100px 0;
}
.link-sec__grid{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}
.link-sec__grid-item a.more-btn{
    width: 100%;
    font-size: 22px;
    height: 90px;
    line-height: 1.5;
}
.link-sec__grid-item a.more-btn small{
    display: block;
    color: var(--blue);
    font-size: 18px;
    font-family: var(--montserrat);
}

.wpcf7-not-valid-tip{
    font-size: 13px;
    margin-top: 4px;
}

.workflow-sec__list__item__img img[src$="workflow-img02_02.webp"] {
  object-position: center -15px;
}
@media screen and ( max-width:767px ) {
  .workflow-sec__list__item__img img[src$="workflow-img02_02.webp"] {
    object-position: center -20px;
  }
}