:root{
    --bg-color-black:#0c0c0c;
    --bg-color-gray:#f7f7f7;
    --text-color-black:#0c0c0c;
    --text-color-red:#da1c1c;
    --bg-text-color-wht:#eee;
    --bg-text-color-black:#1a1a1a
}
.en{
    font-family:Montserrat,sans-serif;
    font-weight:700
}
.sp{
    display:none
}
@media screen and (max-width:896px){
    .sp{
        display:block
    }
}
@media screen and (max-width:896px){
    .pc{
        display:none
    }
}
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:0 0
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box
}
html{
    box-sizing:border-box
}
:after,:before{
    box-sizing:inherit
}
body{
    line-height:1;
    -webkit-font-smoothing:antialiased
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
    display:block
}
p{
    text-align:justify
}
nav ul{
    list-style:none
}
blockquote,q{
    quotes:none
}
blockquote:after,blockquote:before,q:after,q:before{
    content:"";
    content:none
}
a{
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:0 0;
    text-decoration:none
}
ins{
    background-color:#ff9;
    color:#000;
    text-decoration:none
}
mark{
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:700
}
del{
    text-decoration:line-through
}
abbr[title],dfn[title]{
    border-bottom:1px dotted;
    cursor:help
}
table{
    border-collapse:collapse;
    border-spacing:0
}
hr{
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #ccc;
    margin:1em 0;
    padding:0
}
input,select{
    vertical-align:middle;
    outline:0
}
li,ul{
    list-style:none
}
input[type=button],input[type=email],input[type=submit],input[type=tel],input[type=text]{
    -webkit-appearance:none;
    border:none;
    box-sizing:border-box
}
input[type=button]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=text]:focus,textarea:focus{
    outline:0;
    background-color:var(--bg-color-gray)
}
input:-internal-autofill-selected{
    background-color:#fff!important
}
input[type=button]:focus:placeholder-shown,input[type=email]:focus:placeholder-shown,input[type=submit]:focus:placeholder-shown,input[type=tel]:focus:placeholder-shown,input[type=text]:focus:placeholder-shown,textarea:focus:placeholder-shown{
    color:#999
}
input[type=button]:focus:-webkit-input-placeholder,input[type=email]:focus:-webkit-input-placeholder,input[type=submit]:focus:-webkit-input-placeholder,input[type=tel]:focus:-webkit-input-placeholder,input[type=text]:focus:-webkit-input-placeholder,textarea:focus:-webkit-input-placeholder{
    color:#999
}
input[type=button]:focus:-moz-placeholder,input[type=email]:focus:-moz-placeholder,input[type=submit]:focus:-moz-placeholder,input[type=tel]:focus:-moz-placeholder,input[type=text]:focus:-moz-placeholder,textarea:focus:-moz-placeholder{
    color:#999
}
input[type=button]:focus:-ms-input-placeholder,input[type=email]:focus:-ms-input-placeholder,input[type=submit]:focus:-ms-input-placeholder,input[type=tel]:focus:-ms-input-placeholder,input[type=text]:focus:-ms-input-placeholder,textarea:focus:-ms-input-placeholder{
    color:#999
}
select{
    -moz-appearance:none;
    -webkit-appearance:none;
    appearance:none;
    border-radius:0;
    border:0;
    margin:0;
    padding:0;
    background:none transparent;
    vertical-align:middle;
    font-size:inherit;
    color:inherit;
    box-sizing:content-box
}
input[type=email]:placeholder-shown,input[type=tel]:placeholder-shown,input[type=text]:placeholder-shown{
    color:#999
}
input[type=email]::-webkit-input-placeholder,input[type=tel]::-webkit-input-placeholder,input[type=text]::-webkit-input-placeholder{
    color:#999
}
input[type=email]:-moz-placeholder,input[type=tel]:-moz-placeholder,input[type=text]:-moz-placeholder,textarea:-moz-placeholder{
    color:#999
}
input[type=email]:-ms-input-placeholder,input[type=tel]:-ms-input-placeholder,input[type=text]:-ms-input-placeholder,textarea:-ms-input-placeholder{
    color:#fff
}
textarea{
    resize:vertical
}
textarea:placeholder-shown{
    color:#999
}
textarea::-webkit-input-placeholder{
    color:#999
}
textarea::-moz-placeholder{
    color:#999
}
input:focus::placeholder,textarea:focus::placeholder{
    color:transparent;
    transition:.1s
}
input:focus::-webkit-input-placeholder,textarea:focus::-webkit-input-placeholder{
    color:transparent;
    transition:.1s
}
input:focus:-moz-placeholder,textarea:focus:-moz-placeholder{
    color:transparent;
    transition:.1s
}
input:focus::-moz-placeholder,textarea:focus::-moz-placeholder{
    color:transparent;
    transition:.1s
}
button{
    background-color:transparent;
    outline:0;
    border:0
}
a{
    -webkit-tap-highlight-color:transparent;
    color:#0d0d0d
}
@media screen and (min-width:896px){
    a{
        transition:.3s;
        backface-visibility:hidden;
        -webkit-backface-visibility:hidden;
        -webkit-font-smoothing:antialiased
    }
    a:hover{
        transition:.3s;
        cursor:pointer;
        backface-visibility:hidden;
        -webkit-backface-visibility:hidden;
        -webkit-font-smoothing:antialiased
    }
}
table{
    border-collapse:collapse;
    border:none;
    border-spacing:0;
    width:100%
}
td,th{
    vertical-align:middle;
    border:solid 1px #000;
    font-weight:400;
    text-align:left;
    border:0
}
caption{
    text-align:left
}
html{
    scroll-behavior:smooth;
    overflow-x:hidden
}
body,html{
    width:100%;
    height:100%;
    background-color:var(--bg-color-gray);
    font-size:62.5%;
    font-family:"Noto Sans JP",sans-serif;
    font-weight:500;
    letter-spacing:.05em;
    color:var(--text-color-black);
    font-display:swap;
    font-feature-settings:"palt";
    -webkit-font-smoothing:antialiased
}
@media screen and (max-width:896px){
    body.sp_fix{
        position:fixed;
        width:100%;
        height:100%;
        overflow:hidden
    }
}
img{
    max-width:100%;
    height:auto;
    vertical-align:bottom
}
svg{
    width:100%;
    height:auto
}
.slick-list:focus{
    outline:0!important
}
.basetxt{
    line-height:2;
    letter-spacing:.08em
}
@media screen and (min-width:897px){
    .basetxt{
        font-size:1.6rem
    }
}
@media screen and (max-width:896px){
    .basetxt{
        font-size:1.4rem
    }
}
.baselink{
    display:inline-block;
    padding:18px 36px;
    background-color:var(--text-color-red);
    border:1px solid var(--text-color-red);
    border-radius:25px;
    font-size:1.4rem;
    font-weight:500;
    letter-spacing:.1em;
    color:#fff
}
@media screen and (min-width:897px){
    .baselink:hover{
        background-color:#fff;
        color:var(--text-color-red)
    }
    .baselink:hover .txt{
        background-image:url(../../img/common/icon_arrow_link_red.png)
    }
}
.baselink .txt{
    padding-right:34px;
    background-image:url(../../img/common/icon_arrow_link.png);
    background-repeat:no-repeat;
    background-position:right center;
    background-size:24px
}
@keyframes fluidrotate{
    0%,100%{
        border-radius:63% 37% 54% 46%/55% 48% 52% 45%
    }
    14%{
        border-radius:40% 60% 54% 46%/49% 60% 40% 51%
    }
    28%{
        border-radius:54% 46% 38% 62%/49% 70% 30% 51%
    }
    42%{
        border-radius:61% 39% 55% 45%/61% 38% 62% 39%
    }
    56%{
        border-radius:61% 39% 67% 33%/70% 50% 50% 30%
    }
    70%{
        border-radius:50% 50% 34% 66%/56% 68% 32% 44%
    }
    84%{
        border-radius:46% 54% 50% 50%/35% 61% 39% 65%
    }
}
@media screen and (max-width:896px){
    #stage{
        overflow-x:hidden
    }
}
#stkr{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:10px;
    left:10px;
    width:138px;
    height:138px;
    border:1px solid #959595;
    border-radius:50%;
    transition:.2s ease-out;
    transition-timing-function:ease-out;
    pointer-events:none;
    opacity:0;
    z-index:10;
    display:none
}
#stkr.bgon{
    display:none
}
@media screen and (max-width:896px){
    #stkr{
        display:none
    }
}
#stkr.wht{
    background-color:#fff
}
#stkr.arrowRotate{
    background-color:#fff
}
#stkr.arrowRotate .arrow{
    transform:rotate(-90deg)
}
#stkr .txt{
    color:#898989
}
#stkr .arrow{
    width:8px;
    margin-top:16px;
    transition:.35s ease
}
.header{
    display:flex;
    align-items:center;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:10001;
    transition:.35s ease-out
}
.header.bgon,.header.on{
    background-color:#101010
}
@media screen and (min-width:897px){
    .header.bgon .logo,.header.on .logo{
        width:72px
    }
}
@media screen and (min-width:897px){
    .header{
        padding:0 4.28%
    }
}
@media screen and (max-width:896px){
    .header{
        justify-content:space-between;
        padding:8px 5%
    }
}
.header.on{
    background-color:#000
}
@media screen and (min-width:897px){
    .header .logo{
        width:82px;
        transition:.35s ease-out
    }
}
@media screen and (max-width:896px){
    .header .logo{
        position:relative;
        z-index:10;
        width:15%
    }
}
.header .logo a{
    display:block;
    position:relative
}
@media screen and (min-width:897px){
    .header .logo a:before{
        content:"";
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:58px;
        background-image:url(../../img/common/logo_wht.png);
        background-repeat:no-repeat;
        background-position:0 0;
        background-size:cover;
        opacity:0;
        transition:.35s ease
    }
}
.header .menubtn{
    position:relative;
    width:40px;
    height:40px
}
@media screen and (max-width:896px){
    .header .menubtn{
        position:relative;
        z-index:10
    }
}
.header .menubtn.close .bar{
    background-color:#000
}
.header .menubtn.close .bar:first-child{
    transform:translate(-50%,-50%) rotate(45deg);
    margin-top:0
}
.header .menubtn.close .bar:nth-child(2){
    transform:translate(-50%,-50%) rotate(-45deg);
    margin-top:0
}
.header .menubtn.close .text{
    color:#000
}
.header .menubtn .bar{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:20px;
    height:2px;
    background-color:#fff;
    transition:.35s ease
}
@media screen and (min-width:897px){
    .header .menubtn .bar:first-child{
        margin-top:-2px
    }
    .header .menubtn .bar:nth-child(2){
        margin-top:2px
    }
}
@media screen and (max-width:896px){
    .header .menubtn .bar:first-child{
        margin-top:-3px
    }
    .header .menubtn .bar:nth-child(2){
        margin-top:3px
    }
}
.header .menubtn .text{
    position:absolute;
    bottom:0;
    left:50%;
    transform:translate(-50%,0);
    font-size:1rem;
    color:#fff
}
@media screen and (min-width:897px){
    .nav{
        display:flex;
        align-items:center;
        margin-left:auto
    }
}
@media screen and (max-width:896px){
    .nav{
        overflow-y:scroll;
        position:fixed;
        top:0;
        left:0;
        transform:translate(100%,0);
        width:100%;
        height:100%;
        padding:100px 8% 120px;
        background-color:#fff;
        transition:.5s ease
    }
    .nav.on{
        transform:translate(0,0)
    }
}
@media screen and (min-width:897px){
    .nav__main{
        display:flex;
        align-items:center
    }
}
@media screen and (max-width:896px){
    .nav__main{
        margin-top:20px
    }
}
@media screen and (min-width:897px){
    .nav .mainmenu{
        position:relative;
        margin-left:40px
    }
    .nav .mainmenu:hover{
        cursor:pointer
    }
    .nav .mainmenu:hover .submenu{
        opacity:1;
        height:auto;
        visibility:inherit
    }
}
@media screen and (max-width:896px){
    .nav .mainmenu{
        margin-bottom:50px
    }
    .nav .mainmenu:last-child{
        width:100%
    }
}
.nav .linktxt{
    position:relative;
    letter-spacing:.1em
}
@media screen and (min-width:897px){
    .nav .linktxt{
        display:inline-block;
        padding:30px 5px;
        font-size:1.4rem;
        font-weight:900;
        color:#fff
    }
    .nav .linktxt:hover{
        color:var(--text-color-red)
    }
    .nav .linktxt.nohover:hover{
        color:#fff
    }
}
@media screen and (max-width:896px){
    .nav .linktxt.splink{
        position:relative;
        display:block;
        font-size:1.2rem;
        font-weight:500;
        color:var(--text-color-red)
    }
    .nav .linktxt.splink .en{
        display:block;
        font-size:1.4rem;
        font-weight:700;
        letter-spacing:.1em
    }
    .nav .linktxt.splink .jp{
        position:relative;
        display:inline-block;
        padding-right:10px;
        margin-top:8px
    }
    .nav .linktxt.splink .jp.arrow:before{
        content:"";
        position:absolute;
        top:50%;
        right:0;
        transform:translateY(-50%);
        border-style:solid;
        border-top:4px solid transparent;
        border-bottom:4px solid transparent;
        border-left:6px solid var(--text-color-red);
        border-right:0
    }
}
.nav .linktxt.contactbtn{
    padding:13px 52px 15px 27px;
    border:1px solid var(--text-color-red);
    border-radius:22px;
    background-color:var(--text-color-red);
    background-image:url(../../img/common/icon_nav_contact.png);
    background-size:15px;
    background-repeat:no-repeat;
    color:#fff
}
.nav .linktxt.ebooksbtn{
  padding: 13px 52px 15px 27px;
  border: 1px solid var(--text-color-red);
  border-radius: 22px;
  background-color: var(--text-color-red);
  background-image: url(../../img/common/dl_icon.png);
  background-size: 15px;
  background-repeat: no-repeat;
  color: #fff;
}
@media screen and (min-width: 897px) {
  .nav .linktxt.ebooksbtn,
  .nav .linktxt.contactbtn {
    background-position: 86% center;
  }
}
@media screen and (max-width: 896px) {
  .nav .linktxt.ebooksbtn,
  .nav .linktxt.contactbtn {
    background-position: 70% center;
  }
}
.nav .linktxt.contactbtn:before {
  display: none;
}
@media screen and (min-width: 897px) {
  .nav .linktxt.contactbtn:hover {
    background-color: #fff;
    background-image: url(../../img/common/icon_contact.svg);
    color: var(--text-color-red);
  }
  .nav .linktxt.ebooksbtn:hover {
		background-color: var(--text-color-red);
	}
}
@media screen and (max-width: 896px) {
  .nav .linktxt.ebooksbtn,
  .nav .linktxt.contactbtn {
    display: block;
    margin: 60px auto 0;
    font-size: 1.4rem;
    text-align: center;
  }
}
@media screen and (max-width:896px){
    .nav .sptxt{
        position:relative;
        color:var(--text-color-red)
    }
    .nav .sptxt .en{
        display:block;
        font-size:1.6rem;
        font-weight:700;
        letter-spacing:.1em
    }
    .nav .sptxt .jp{
        position:relative;
        display:inline-block;
        padding-right:10px;
        margin-top:8px;
        font-size:1.2rem;
        font-weight:500;
        letter-spacing:.1em
    }
    .nav .sptxt .jp.arrow:before{
        content:"";
        position:absolute;
        top:50%;
        right:0;
        transform:translateY(-50%);
        border-style:solid;
        border-top:4px solid transparent;
        border-bottom:4px solid transparent;
        border-left:6px solid var(--text-color-red);
        border-right:0
    }
}
@media screen and (min-width:897px){
    .nav .submenu{
        position:absolute;
        bottom:0;
        left:0;
        transform:translateY(100%);
        background-color:#141414;
        opacity:0;
        height:0;
        visibility:hidden;
        transition:opacity .3s ease-out
    }
}
@media screen and (max-width:896px){
    .nav .submenu{
        margin-top:24px
    }
}
.nav .submenu li{
    white-space:nowrap
}
@media screen and (max-width:896px){
    .nav .submenu li:not(.nav.submenuli:first-child){
        margin-top:16px
    }
}
.nav .submenu a{
    font-size:1.2rem;
    font-weight:500
}
@media screen and (min-width:897px){
    .nav .submenu a{
        display:block;
        padding:16px 26px;
        color:#fff
    }
    .nav .submenu a:hover{
        cursor:pointer;
        background-color:var(--text-color-red)
    }
}
@media screen and (max-width:896px){
    .nav .submenu a{
        position:relative;
        letter-spacing:.1em;
        line-height:1.2;
        color:#0c0c0c
    }
}
@media screen and (max-width:896px){
    .nav__submenu{
        display:flex;
        justify-content:space-between;
        flex-wrap:wrap;
        margin-top:50px
    }
    .nav__submenu li{
        width:47%;
        margin-top:20px
    }
    .nav__submenu li a{
        position:relative;
        display:inline-block;
        padding-right:12px;
        color:#a0a0a0
    }
}
@media screen and (max-width:896px) and (min-width:897px){
    .nav__submenu li a{
        font-size:1rem
    }
}
@media screen and (max-width:896px) and (max-width:896px){
    .nav__submenu li a{
        font-size:1.1rem
    }
}
@media screen and (max-width:896px){
    .nav__submenu li a:before{
        content:"";
        position:absolute;
        top:50%;
        right:0;
        transform:translateY(-50%);
        border-style:solid;
        border-top:4px solid transparent;
        border-bottom:4px solid transparent;
        border-left:6px solid #a0a0a0;
        border-right:0
    }
}
.mvunder{
    position:relative;
    background-color:var(--bg-color-black)
}
@media screen and (min-width:897px){
    .mvunder{
        min-height:580px;
        padding:200px 0 140px 10%
    }
}
@media screen and (max-width:896px){
    .mvunder{
        padding:140px 5% 100px
    }
}
.mvunder .page_ttl{
    color:#fff
}
.mvunder .page_ttl .en{
    display:inline-block;
    letter-spacing:0;
    color:var(--text-color-red);
    text-transform:uppercase
}
@media screen and (min-width:897px){
    .mvunder .page_ttl .en{
        font-size:12rem;
        text-indent:-.075em
    }
}
@media screen and (max-width:896px){
    .mvunder .page_ttl .en{
        font-size:5.2rem
    }
}
.mvunder .page_ttl .jp{
    display:block;
    font-weight:900;
    letter-spacing:.2em
}
@media screen and (min-width:897px){
    .mvunder .page_ttl .jp{
        margin-top:12px;
        font-size:2.6rem
    }
}
@media screen and (max-width:896px){
    .mvunder .page_ttl .jp{
        margin-top:8px;
        font-size:1.8rem
    }
}
.mvunder .leadtxt{
    line-height:2;
    color:#fff
}
@media screen and (min-width:897px){
    .mvunder .leadtxt{
        margin-top:36px;
        font-size:1.6rem
    }
}
@media screen and (max-width:896px){
    .mvunder .leadtxt{
        margin-top:24px;
        font-size:1.4rem
    }
}
.path{
    position:absolute;
    bottom:20px;
    left:5%
}
.path ul{
    display:flex;
    align-items:center
}
@media screen and (max-width:896px){
    .path ul{
        flex-wrap:wrap
    }
}
.path li{
    color:#fff
}
.path li.arrow{
    position:relative;
    padding-left:16px;
    margin-left:12px
}
.path li.arrow:before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    transform:translate(0,-50%);
    border-style:solid;
    border-top:3px solid transparent;
    border-bottom:3px solid transparent;
    border-left:5px solid #ccc;
    border-right:0
}
.path .home{
    display:block;
    border-radius:50%;
    background-color:#535353;
    background-image:url(../../img/common/icon_home.svg);
    background-position:center;
    background-repeat:no-repeat
}
@media screen and (min-width:897px){
    .path .home{
        width:30px;
        height:30px;
        background-size:16px
    }
}
@media screen and (max-width:896px){
    .path .home{
        width:28px;
        height:28px;
        background-size:12px
    }
}
.path .txt{
    display:block;
    padding:8px 14px;
    background-color:#535353;
    border-radius:14px;
    letter-spacing:.04em;
    color:#fff
}
@media screen and (min-width:897px){
    .path .txt{
        font-size:1.4rem
    }
}
@media screen and (max-width:896px){
    .path .txt{
        font-size:1.2rem
    }
}
.path .txt.current{
    background-color:#fff;
    color:#000
}
@media screen and (max-width:896px){
    .path .news_ttl{
        margin-top:10px
    }
}
@media screen and (min-width:897px){
    .path .news_ttl .ttl{
        font-size:1.4rem
    }
}
@media screen and (max-width:896px){
    .path .news_ttl .ttl{
        font-size:1.2rem
    }
}
@media screen and (min-width:897px){
    .companylink{
        display:flex;
        justify-content:space-between;
        padding:140px 7.7% 80px
    }
}
@media screen and (max-width:896px){
    .companylink{
        padding:100px 7.7% 80px
    }
}
@media screen and (min-width:897px){
    .companylink__item{
        width:31.5%
    }
}
@media screen and (max-width:896px){
    .companylink__item:not(.companylink__item:first-child){
        margin-top:50px
    }
}
.companylink__item .en{
    letter-spacing:0;
    color:var(--text-color-red)
}
@media screen and (min-width:897px){
    .companylink__item .en{
        font-size:3.8rem;
        white-space:nowrap
    }
}
@media screen and (max-width:896px){
    .companylink__item .en{
        font-size:3.2rem
    }
}
.companylink__item .thumb{
    margin-top:18px
}
.companylink__item .jp{
    font-weight:900;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .companylink__item .jp{
        margin-top:28px;
        font-size:2.4rem
    }
}
@media screen and (max-width:896px){
    .companylink__item .jp{
        margin-top:18px;
        font-size:2rem
    }
}
@media screen and (min-width:897px){
    .companylink__item .baselink{
        margin-top:20px
    }
}
@media screen and (max-width:896px){
    .companylink__item .baselink{
        margin-top:12px
    }
}
.footer{
    position:relative;
    z-index:2
}
.footer__contact{
    background-color:var(--bg-color-gray)
}
@media screen and (min-width:897px){
    .footer__contact{
        padding:120px 0
    }
}
@media screen and (max-width:896px){
    .footer__contact{
        padding:60px 0
    }
}
.footer__contact .heading{
    text-align:center
}
.footer__contact .heading span{
    font-weight:900;
    letter-spacing:.2em
}
@media screen and (min-width:897px){
    .footer__contact .heading span{
        font-size:2rem
    }
}
@media screen and (max-width:896px){
    .footer__contact .heading span{
        font-size:1.4rem
    }
}
@media screen and (min-width:897px){
    .footer__contact .heading h2{
        margin-top:24px;
        font-size:11.4rem
    }
}
@media screen and (max-width:896px){
    .footer__contact .heading h2{
        margin-top:16px;
        font-size:4.2rem
    }
}
.footer__contact-link{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:208px;
    height:208px;
    margin:60px auto 0;
    border-radius:50%;
    border:1px solid #000
}
@media screen and (min-width:897px){
    .footer__contact-link:hover{
        background-color:var(--text-color-red);
        color:#fff
    }
    .footer__contact-link:hover .icon{
        background-image:url(../../img/common/icon_contact_wht.png)
    }
}
.footer__contact-link .icon{
    width:44px;
    height:26px;
    background-image:url(../../img/common/icon_contact.svg);
    background-size:cover;
    background-repeat:no-repeat;
    background-position:0 0
}
.footer__contact-link p{
    margin-top:12px;
    font-size:1.4rem;
    font-weight:500;
    letter-spacing:.1em
}
.footer__logoarea{
    background-color:var(--text-color-black)
}
@media screen and (min-width:897px){
    .footer__logoarea{
        padding:60px 10%
    }
}
@media screen and (max-width:896px){
    .footer__logoarea{
        padding:40px 5%
    }
}
@media screen and (min-width:897px){
    .footer__logoarea-logo{
        width:350px
    }
}
.footer__sitemap{
    background-color:#1f1f1f
}
@media screen and (min-width:897px){
    .footer__sitemap{
        padding:80px 10% 0
    }
}
@media screen and (max-width:896px){
    .footer__sitemap{
        padding:50px 5% 0
    }
}
.footer__sitemap-upper{
    display:flex;
    justify-content:space-between
}
@media screen and (max-width:896px){
    .footer__sitemap-upper{
        flex-wrap:wrap
    }
}
@media screen and (max-width:896px){
    .footer__sitemap-upper .item{
        width:100%
    }
    .footer__sitemap-upper .item:not(.footer__sitemap-upper.item:first-child){
        margin-top:50px
    }
}
@media screen and (min-width:897px){
    .footer__sitemap-upper .item a:hover{
        color:var(--text-color-red)
    }
}
.footer__sitemap-upper h4{
    color:#fff
}
.footer__sitemap-upper h4 a{
    color:#fff
}
@media screen and (min-width:897px){
    .footer__sitemap-upper h4 a:hover{
        color:var(--text-color-red)
    }
    .footer__sitemap-upper h4 a:hover .jp.arrow:before{
        border-left:5px solid var(--text-color-red)
    }
}
.footer__sitemap-upper h4 .en{
    display:block;
    font-size:2rem;
    letter-spacing:.1em
}
.footer__sitemap-upper h4 .jp{
    display:inline-block;
    padding-right:12px;
    margin-top:10px;
    font-size:1.2rem;
    font-weight:500;
    line-height:1;
    letter-spacing:.1em
}
.footer__sitemap-upper h4 .jp.arrow{
    position:relative
}
.footer__sitemap-upper h4 .jp.arrow:before{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
    border-style:solid;
    border-top:4px solid transparent;
    border-bottom:4px solid transparent;
    border-left:5px solid #fff;
    border-right:0;
    transition:.35s ease-out
}
.footer__sitemap-upper ul{
    padding-left:15px;
    border-left:1px solid #535353
}
@media screen and (min-width:897px){
    .footer__sitemap-upper ul{
        margin-top:30px
    }
}
@media screen and (max-width:896px){
    .footer__sitemap-upper ul{
        margin-top:20px
    }
}
.footer__sitemap-upper li:not(.footer__sitemap-upperli:first-child){
    margin-top:15px
}
.footer__sitemap-upper li a{
    font-size:1.4rem;
    color:#a0a0a0
}
.footer__sitemap-lower{
    position:relative;
    padding-bottom:30px
}
@media screen and (min-width:897px){
    .footer__sitemap-lower{
        margin-top:118px
    }
}
@media screen and (max-width:896px){
    .footer__sitemap-lower{
        margin-top:68px
    }
}
.footer__sitemap-lower .submenu{
    display:flex
}
@media screen and (min-width:897px){
    .footer__sitemap-lower .submenu{
        justify-content:center;
        margin-bottom:26px
    }
}
@media screen and (max-width:896px){
    .footer__sitemap-lower .submenu{
        justify-content:space-between;
        flex-wrap:wrap;
        margin-bottom:30px
    }
}
@media screen and (min-width:897px){
    .footer__sitemap-lower li{
        position:relative;
        padding-right:20px;
        margin-right:20px
    }
    .footer__sitemap-lower li:not(.footer__sitemap-lowerli:last-child):before{
        content:"";
        position:absolute;
        top:0;
        right:0;
        width:1px;
        height:100%;
        background-color:#a0a0a0
    }
}
@media screen and (max-width:896px){
    .footer__sitemap-lower li{
        width:47%
    }
    .footer__sitemap-lower li:nth-child(n+3){
        margin-top:16px
    }
}
.footer__sitemap-lower li a{
    font-size:1.2rem;
    letter-spacing:.1em;
    color:#a0a0a0
}
@media screen and (min-width:897px){
    .footer__sitemap-lower li a:hover{
        color:var(--text-color-red)
    }
}
.footer__sitemap-lower .copyright{
    font-size:1.2rem;
    letter-spacing:.1em;
    color:#a0a0a0
}
@media screen and (min-width:897px){
    .footer__sitemap-lower .copyright{
        margin-left:auto;
        text-align:center
    }
}
@media screen and (max-width:896px){
    .footer__sitemap-lower .copyright{
        margin-top:60px
    }
}
.footer .p_mark{
    position:absolute;
    right:5%;
    padding:5px;
    background-color:#fff
}
@media screen and (min-width:897px){
    .footer .p_mark{
        bottom:0;
        width:100px
    }
}
@media screen and (max-width:896px){
    .footer .p_mark{
        bottom:10px;
        width:60px
    }
}
.text_anime{
    opacity:0;
    filter:blur(10px);
    will-change:scroll-position
}
.text_anime.on{
    animation:text_anime 1s cubic-bezier(.83,0,.17,1) forwards
}
@keyframes text_anime{
    0%{
        opacity:0;
        filter:blur(10px)
    }
    100%{
        opacity:1;
        filter:blur(0)
    }
}
.text_anime_start{
    opacity:0;
    filter:blur(10px);
    will-change:contents;
    animation:text_anime .25s linear .75s forwards
}
@keyframes text_anime{
    0%{
        opacity:0;
        filter:blur(10px)
    }
    100%{
        opacity:1;
        filter:blur(0)
    }
}
.underline{
    position:relative
}
.underline::after{
    content:"";
    background:#dadada;
    width:100%;
    height:1px;
    position:absolute;
    bottom:-4px;
    left:0;
    transform:scale(0,1);
    transition:transform .3s;
    transform-origin:right top
}
@media screen and (min-width:897px){
    .underline:hover::after{
        transform-origin:left top;
        transform:scale(1,1)
    }
}
.hoverScale .thumb{
    overflow:hidden;
    transition:transform .4s cubic-bezier(.4,.1,.3,1)
}
.hoverScale .thumb .scaleImg{
    transition:transform .4s cubic-bezier(.4,.1,.3,1)
}
.hoverScale .thumb .scaleImg img{
    backface-visibility:hidden
}
@media screen and (min-width:897px){
    .hoverScale:hover .thumb{
        transform:scale(.95)
    }
    .hoverScale:hover .thumb .scaleImg{
        transform:scale(1.15)
    }
}
.svg_anim svg{
    stroke-dasharray:1000;
    stroke-dashoffset:1000;
    transition:1s;
    width:100%;
    height:auto
}
.svg_anim.on svg{
    stroke-dashoffset:2000
}
.fade_y{
    transform:translateY(30px);
    opacity:0;
    transition:.3s ease-out;
    will-change:transform
}
.fade_y.on{
    opacity:1;
    transform:translateY(0)
}
.fade_x_left{
    transform:translateX(-30px);
    opacity:0;
    transition:.3s ease-out;
    will-change:transform
}
.fade_x_left.on{
    opacity:1;
    transform:translateX(0)
}
.fade_x_right{
    transform:translateX(30px);
    opacity:0;
    transition:.3s ease-out;
    will-change:transform
}
.fade_x_right.on{
    opacity:1;
    transform:translateX(0)
}
.scr_cvr{
    overflow:hidden;
    position:relative;
    display:block;
    opacity:0;
    transition:.5s
}
.scr_cvr::before{
    content:"";
    position:absolute;
    width:100%;
    height:100%;
    right:0;
    top:0;
    z-index:1;
    background-color:#000;
    transition:all .6s cubic-bezier(.5,0,.3,1);
    transition-timing-function:cubic-bezier(.77,0,.175,1)
}
.scr_cvr.on{
    opacity:1
}
.scr_cvr.on::before{
    right:-100%;
    transition-delay:.3s
}
.recruit #overlay{
    display:none;
    position:fixed;
    top:0;
    left:0;
    z-index:100001;
    width:100%;
    height:100%;
    background-color:rgba(0,0,0,.7)
}
@media screen and (max-width:896px){
    .recruit .rec_menu{
        position:fixed;
        right:2.5vw;
        bottom:2.5vw;
        z-index:9998;
        width:60px;
        height:60px;
        border-radius:50%;
        background-color:#0c0c0c;
        transition:transform .35s ease-out;
        will-change:transform
    }
    .recruit .rec_menu:after,.recruit .rec_menu:before{
        content:"";
        position:absolute;
        top:42%;
        left:50%;
        width:20px;
        height:2px;
        background-color:#fff;
        transition:.35s ease-out
    }
    .recruit .rec_menu:before{
        transform:translate(-50%,-50%) rotate(-90deg)
    }
    .recruit .rec_menu:after{
        transform:translate(-50%,-50%)
    }
    .recruit .rec_menu.on:before{
        transform:translate(-50%,-50%) rotate(-45deg)
    }
    .recruit .rec_menu.on:after{
        transform:translate(-50%,-50%) rotate(45deg)
    }
    .recruit .rec_menu .txt{
        position:absolute;
        bottom:8px;
        left:50%;
        transform:translate(-50%,0);
        font-size:1rem;
        color:#fff
    }
}
.recruit__popup{
    display:none;
    position:fixed;
    top:50%;
    left:50%;
    z-index:100002;
    transform:translate(-50%,-50%);
    height:84.8vh;
    background-color:#fff
}
@media screen and (min-width:897px){
    .recruit__popup{
        width:80vw
    }
}
@media screen and (max-width:896px){
    .recruit__popup{
        overflow-y:scroll;
        width:92vw
    }
}
.recruit__popup-content{
    width:100%;
    height:100%
}
@media screen and (min-width:897px){
    .recruit__popup-content{
        display:flex;
        align-items:center
    }
}
.recruit__popup .thumb{
    flex:1
}
@media screen and (max-width:896px){
    .recruit__popup .thumb{
        height:300px;
        overflow:hidden
    }
    .recruit__popup .thumb.career img{
        transform:translateY(-20px)
    }
}
@media screen and (min-width:897px){
    .recruit__popup .textarea{
        width:56.25%;
        padding-left:50px;
        padding-right:50px
    }
}
@media screen and (max-width:896px){
    .recruit__popup .textarea{
        padding:24px 5%
    }
}
.recruit__popup .textarea .label{
    font-size:1.4rem;
    color:var(--text-color-red);
    letter-spacing:0
}
.recruit__popup .textarea .phrase{
    font-weight:900;
    line-height:1.5;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__popup .textarea .phrase{
        margin-top:18px;
        font-size:3rem
    }
}
@media screen and (max-width:896px){
    .recruit__popup .textarea .phrase{
        margin-top:12px;
        font-size:2rem
    }
}
.recruit__popup .textarea .phrase .red_bg{
    display:inline-block;
    padding:2px 6px 4px;
    background-color:var(--text-color-red);
    line-height:1.3;
    color:#fff
}
.recruit__popup .textarea .basetxt{
    margin-top:20px
}
.recruit__popup .textarea .closebtn{
    padding:18px 0;
    margin-top:20px;
    border:1px solid #000;
    background-color:#000;
    border-radius:40px;
    font-size:1.4rem;
    letter-spacing:.1em;
    color:#fff;
    text-align:center;
    transition:.35s ease-out
}
@media screen and (min-width:897px){
    .recruit__popup .textarea .closebtn{
        width:220px
    }
    .recruit__popup .textarea .closebtn:hover{
        cursor:pointer;
        background-color:#fff;
        color:#000
    }
}
.recruit__heading{
    text-align:center
}
.recruit__heading .jp{
    position:relative;
    display:block;
    font-weight:900;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__heading .jp{
        font-size:5rem
    }
}
@media screen and (max-width:896px){
    .recruit__heading .jp{
        font-size:3rem
    }
}
.recruit__heading .jp.blk{
    color:#0d0d0d
}
.recruit__heading .jp.blk:before{
    color:#fff
}
.recruit__heading .jp.wht{
    color:#fff
}
.recruit__heading .jp.wht:before{
    color:#161616
}
.recruit__heading .jp.gray{
    color:#0d0d0d
}
.recruit__heading .jp.gray:before{
    color:#f7f7f7
}
.recruit__heading .jp:before{
    content:attr(data-txt);
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:15rem;
    font-family:Montserrat;
    font-weight:700;
    white-space:nowrap
}
@media screen and (min-width:897px){
    .recruit__heading .jp:before{
        font-size:15rem
    }
}
@media screen and (max-width:896px){
    .recruit__heading .jp:before{
        font-size:5rem
    }
}
.recruit__heading .jp b{
    position:relative;
    z-index:2
}
.recruit__heading .en{
    position:relative;
    z-index:2;
    display:block;
    letter-spacing:0;
    color:var(--text-color-red);
    text-transform:uppercase
}
@media screen and (min-width:897px){
    .recruit__heading .en{
        margin-top:16px;
        font-size:2rem
    }
}
@media screen and (max-width:896px){
    .recruit__heading .en{
        margin-top:8px;
        font-size:1.4rem
    }
}
.recruit__heading .en.blk{
    color:#010101
}
.recruit .leadtxt{
    margin-top:10px;
    text-align:center
}
.recruit .leadtxt.wht{
    color:#fff
}
.recruit .mvunder{
    position:relative;
    background-color:transparent;
    height:100vh;
    background-color:#000
}
.recruit .mvunder:before{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    z-index:2;
    width:100%;
    height:100%
}
@media screen and (min-width:897px){
    .recruit .mvunder:before{
        background-image:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.24) 45%,rgba(0,0,0,.75))
    }
}
@media screen and (max-width:896px){
    .recruit .mvunder:before{
        background-image:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.24) 35%,rgba(0,0,0,.75))
    }
}
.recruit .mvunder.off:before{
    opacity:0
}
.recruit .mvunder .movie{
    position:fixed;
    top:0;
    left:0;
    z-index:1;
    width:100%;
    height:100vh
}
.recruit .mvunder .movie video{
    position:absolute;
    left:50%
}
@media screen and (min-width:897px){
    .recruit .mvunder .movie video{
        top:50%;
        transform:translate(-50%,-50%)
    }
}
@media screen and (max-width:896px){
    .recruit .mvunder .movie video{
        bottom:0;
        transform:translate(-50%,0);
        height:90.4%
    }
}
.recruit .mvunder .page_ttl{
    position:absolute;
    bottom:100px;
    left:5%;
    z-index:2
}
@media screen and (min-width:897px){
    .recruit .mvunder .page_ttl{
        bottom:100px
    }
}
@media screen and (max-width:896px){
    .recruit .mvunder .page_ttl{
        bottom:84px
    }
}
.recruit .mvunder .page_ttl .en{
    color:#fff
}
.recruit .mvunder .path{
    left:5%;
    z-index:2
}
.recruit__leadtxt{
    position:relative;
    z-index:2;
    background-color:rgba(0,0,0,.75)
}
@media screen and (min-width:897px){
    .recruit__leadtxt{
        padding:100px 18%
    }
}
@media screen and (max-width:896px){
    .recruit__leadtxt{
        padding:60px 5%
    }
}
.recruit__leadtxt .txt{
    font-weight:900;
    line-height:2;
    letter-spacing:.05em;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__leadtxt .txt{
        font-size:4.6rem
    }
    .recruit__leadtxt .txt:not(.recruit__leadtxt.txt:first-child){
        margin-top:90px
    }
}
@media screen and (max-width:896px){
    .recruit__leadtxt .txt{
        font-size:2rem
    }
    .recruit__leadtxt .txt:not(.recruit__leadtxt.txt:first-child){
        margin-top:40px
    }
}
.recruit__wrapper{
    position:relative;
    z-index:2
}
.recruit__wrapper-main{
    background-color:#fff
}
@media screen and (min-width:897px){
    .recruit__wrapper-main{
        width:calc(100% - 240px)
    }
}
.recruit__wrapper-sidenav{
    top:0;
    right:0;
    width:240px;
    height:100vh;
    background-color:#fff;
    border-left:1px solid #e0e0e0
}
@media screen and (min-width:897px){
    .recruit__wrapper-sidenav{
        position:absolute;
        display:flex;
        justify-content:center;
        padding:120px 24px 0
    }
}
@media screen and (max-width:896px){
    .recruit__wrapper-sidenav{
        position:fixed;
        overflow-y:scroll;
        z-index:9999;
        transform:translateX(100%);
        transition:.35s ease-out
    }
    .recruit__wrapper-sidenav.on{
        transform:translateX(0)
    }
}
.recruit__wrapper-sidenav.fixed{
    position:fixed
}
.recruit__wrapper-sidenav.abs{
    top:auto;
    bottom:0
}
.recruit__wrapper-sidenav>div{
    width:100%
}
@media screen and (max-width:896px){
    .recruit__wrapper-sidenav>div{
        padding:80px 20px
    }
}
.recruit__wrapper-sidenav li:not(.recruit__wrapper-sidenavli:first-child){
    margin-top:30px
}
.recruit__wrapper-sidenav .txtlink{
    display:block;
    position:relative;
    padding-left:24px;
    background-image:url(../../img/common/icon_circle_red_arrow.png);
    background-size:14px;
    background-position:right center;
    background-repeat:no-repeat;
    font-size:1.4rem;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__wrapper-sidenav .txtlink:hover{
        color:var(--text-color-red)
    }
}
.recruit__wrapper-sidenav .txtlink:before{
    content:attr(data-num);
    position:absolute;
    top:50%;
    left:0;
    transform:translateY(-50%);
    font-size:1.2rem;
    font-family:Montserrat;
    font-weight:900;
    letter-spacing:.1em;
    color:#b2b2b2
}
.recruit__wrapper-sidenav .txtlink.current{
    color:var(--text-color-red)
}
.recruit__wrapper-sidenav .entrybtn{
    display:block;
    width:120px;
    height:120px;
    margin:40px auto 0;
    border-radius:50%;
    line-height:120px;
    background-color:var(--text-color-red);
    border:1px solid var(--text-color-red);
    font-size:1.6rem;
    text-align:center;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__wrapper-sidenav .entrybtn:hover{
        background-color:#fff;
        color:var(--text-color-red)
    }
}
.recruit__wrapper .bg_blk{
    background-color:#000
}
.recruit__wrapper .arrow_red{
    position:relative
}
.recruit__wrapper .arrow_red:before{
    content:"";
    position:absolute;
    top:0;
    left:10%;
    border-style:solid;
    border-bottom:0
}
@media screen and (min-width:897px){
    .recruit__wrapper .arrow_red:before{
        border-right:48px solid transparent;
        border-left:48px solid transparent;
        border-top:90px solid var(--text-color-red)
    }
}
@media screen and (max-width:896px){
    .recruit__wrapper .arrow_red:before{
        border-right:24px solid transparent;
        border-left:24px solid transparent;
        border-top:48px solid var(--text-color-red)
    }
}
@media screen and (min-width:897px){
    .recruit__wrapper .arrow_red.arrow_black:before{
        border-top:90px solid #010101
    }
}
@media screen and (max-width:896px){
    .recruit__wrapper .arrow_red.arrow_black:before{
        border-top:48px solid #010101
    }
}
.recruit__wrapper .arrow_red.border_red{
    border-top:8px solid var(--text-color-red)
}
.recruit__member.new_grads {
    background-color: #f7f7f7
}
@media screen and (min-width:897px){
    .recruit__member{
        padding:150px 3.5% 140px 6%
    }
}
@media screen and (max-width:896px){
    .recruit__member{
        padding:70px 5% 60px
    }
}
@media screen and (max-width:896px){
    .recruit__member .recruit__maxspeed-content{
        margin-top:50px;
        margin-left:0;
        margin-right:0
    }
}
@media screen and (min-width:897px){
    .recruit__member-content{
        display:flex;
        align-items:center;
        justify-content:space-between;
        margin-top:90px
    }
}
@media screen and (max-width:896px){
    .recruit__member-content{
        margin-top:50px
    }
}
@media screen and (min-width:897px){
    .recruit__member-content.reverse{
        flex-direction:row-reverse
    }
}
@media screen and (max-width:896px){
    .recruit__member-content.reverse{
        margin-top:80px
    }
}
@media screen and (min-width:897px){
    .recruit__member-content .thumb{
        width:46.5%
    }
}
.recruit__member-content .info{
    margin-top:24px;
}
@media screen and (min-width:897px){
    .recruit__member-content .info{
        display:flex
    }
}
@media screen and (max-width:896px){
    .recruit__member-content .info{
        padding-bottom:24px;
        border-bottom:1px solid #666
    }
}
.recruit__member-content .info .name{
    font-weight:900;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__member-content .info .name{
        margin-right:24px;
        font-size:2.4rem
    }
}
@media screen and (max-width:896px){
    .recruit__member-content .info .name{
        font-size:2.8rem
    }
}
.recruit__member-content .info .txt{
    font-size:1.4rem;
    line-height:1.5;
    letter-spacing:.05em
}
@media screen and (max-width:896px){
    .recruit__member-content .info .txt{
        margin-top:12px
    }
}
/*.recruit__member-content .textarea{
    color:#fff
}*/
@media screen and (min-width:897px){
    .recruit__member-content .textarea{
        width:46.7%
    }
}
@media screen and (max-width:896px){
    .recruit__member-content .textarea{
        margin-top:28px
    }
}
.recruit__member-content .textarea h4{
    font-weight:900;
    letter-spacing:.05em;
    line-height:1.5
}
@media screen and (min-width:897px){
    .recruit__member-content .textarea h4{
        font-size:3.2rem
    }
}
@media screen and (max-width:896px){
    .recruit__member-content .textarea h4{
        font-size:2.6rem
    }
}
.recruit__member-content .textarea h4 .line{
    display:inline-block;
    padding:2px 6px 4px;
    background-color:#f7f7f7;
    line-height:1.2;
    color:var(--text-color-red)
}
.recruit__member-content .textarea h4 .red_line{
    display:inline-block;
    padding:2px 6px 4px;
    background-color:var(--text-color-red);
    line-height:1.2;
    color:#f7f7f7
}
@media screen and (min-width:897px){
    .recruit__member-content .textarea .basetxt{
        margin-top:18px
    }
}
@media screen and (max-width:896px){
    .recruit__member-content .textarea .basetxt{
        margin-top:8px
    }
}
.recruit__crosstalk{
    background-color:#f2f2f2
}
@media screen and (min-width:897px){
    .recruit__crosstalk{
        padding-top:150px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk{
        padding-top:90px
    }
}
.recruit__crosstalk-mv{
    position:relative
}
@media screen and (min-width:897px){
    .recruit__crosstalk-mv{
        padding-bottom:60px
    }
}
.recruit__crosstalk-mv .leadarea{
    text-align:center
}
@media screen and (min-width:897px){
    .recruit__crosstalk-mv .leadarea{
        margin-top:54px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-mv .leadarea{
        margin-top:32px;
        margin-bottom:52vw
    }
}
.recruit__crosstalk-mv .leadarea h4{
    font-weight:900;
    color:var(--text-color-red);
    line-height:1.5;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__crosstalk-mv .leadarea h4{
        font-size:3rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-mv .leadarea h4{
        font-size:2.8rem
    }
}
.recruit__crosstalk-mv .leadarea .basetxt{
    margin-top:16px;
    text-align:center
}
@media screen and (max-width:896px){
    .recruit__crosstalk-mv .leadarea .basetxt{
        font-size:1.3rem
    }
}
.recruit__crosstalk-mv .img{
    position:absolute;
    bottom:0
}
@media screen and (min-width:897px){
    .recruit__crosstalk-mv .img{
        width:20%
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-mv .img{
        width:42%
    }
}
.recruit__crosstalk-mv .img.man{
    right:3.5%
}
.recruit__crosstalk-mv .img.woman{
    left:3.5%
}
.recruit__crosstalk-person{
    position:relative;
    z-index:2;
    display:flex;
    margin-top:48px
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person{
        justify-content:center
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person{
        justify-content:space-between;
        background-color:#fff
    }
}
.recruit__crosstalk-person .person{
    position:relative
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person{
        width:200px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person{
        width:47%;
        padding-top:12px
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person:first-child{
        margin-right:184px
    }
}
.recruit__crosstalk-person .person:first-child:after,.recruit__crosstalk-person .person:first-child:before{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    height:2px;
    background-color:#ccc
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person:first-child:after,.recruit__crosstalk-person .person:first-child:before{
        width:150px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person:first-child:after,.recruit__crosstalk-person .person:first-child:before{
        width:50px
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person:first-child:before{
        transform:translate(110%,-50%) rotate(45deg)
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person:first-child:before{
        transform:translate(75%,-75%) rotate(45deg)
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person:first-child:after{
        transform:translate(110%,-50%) rotate(-45deg)
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person:first-child:after{
        transform:translate(75%,-75%) rotate(-45deg)
    }
}
.recruit__crosstalk-person .person .info{
    display:flex;
    justify-content:center;
    align-items:center
}
.recruit__crosstalk-person .person .info .label{
    display:inline-block;
    margin-right:6px;
    border:1px solid #0d0d0d;
    font-size:1.2rem;
    font-weight:900
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person .info .label{
        padding:4px 10px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person .info .label{
        padding:2px 6px
    }
}
.recruit__crosstalk-person .person .info .age{
    font-size:1.2rem;
    font-weight:900
}
.recruit__crosstalk-person .person .name{
    margin-top:12px;
    text-align:center
}
.recruit__crosstalk-person .person .name .jp{
    font-weight:900;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person .name .jp{
        font-size:3.6rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person .name .jp{
        font-size:2.6rem
    }
}
.recruit__crosstalk-person .person .name .en{
    display:block;
    color:var(--text-color-red);
    letter-spacing:.1em
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person .name .en{
        margin-top:8px;
        font-size:1.2rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person .name .en{
        margin-top:6px;
        font-size:1rem
    }
}
.recruit__crosstalk-person .person .post{
    margin-top:10px;
    background-color:var(--text-color-red);
    font-weight:900;
    line-height:1.2;
    letter-spacing:.05em;
    color:#fff;
    text-align:center
}
@media screen and (min-width:897px){
    .recruit__crosstalk-person .person .post{
        padding:10px 20px;
        font-size:1.2rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-person .person .post{
        padding:10px 0;
        font-size:1rem
    }
}
.recruit__crosstalk-chapter{
    background-color:#fff
}
@media screen and (min-width:897px){
    .recruit__crosstalk-chapter{
        padding:120px 0
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-chapter{
        padding:60px 0 100px
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-chapter .anchor{
        padding-left:11.7%;
        padding-right:11.7%;
        margin-bottom:90px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-chapter .anchor{
        padding-left:7.5%;
        padding-right:7.5%;
        margin-bottom:0
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-chapter .anchor ul{
        display:flex;
        justify-content:space-between
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-chapter .anchor li{
        width:32%
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-chapter .anchor li{
        margin-top:20px
    }
}
.recruit__crosstalk-chapter .anchor li a{
    display:block;
    padding-bottom:16px;
    border-bottom:1px solid #ccc
}
@media screen and (min-width:897px){
    .recruit__crosstalk-chapter .anchor li a:hover{
        border-bottom:1px solid var(--text-color-red)
    }
}
.recruit__crosstalk-chapter .anchor li .en{
    display:inline-block;
    font-size:1.2rem;
    letter-spacing:.1em;
    color:var(--text-color-red);
    text-transform:uppercase
}
.recruit__crosstalk-chapter .anchor li .jp{
    position:relative;
    display:block;
    padding-left:24px;
    margin-top:10px;
    font-size:1.4rem;
    font-weight:900;
    letter-spacing:.05em
}
.recruit__crosstalk-chapter .anchor li .jp:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:16px;
    height:16px;
    border-radius:50%;
    background-color:var(--text-color-red)
}
.recruit__crosstalk-chapter .anchor li .jp:after{
    content:"";
    position:absolute;
    top:50%;
    left:5px;
    transform:translate(0,-30%);
    border-style:solid;
    border-right:3px solid transparent;
    border-left:3px solid transparent;
    border-top:5px solid #fff;
    border-bottom:0
}
@media screen and (max-width:896px){
    .recruit__crosstalk-content{
        margin-top:40px
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-content .flexbox{
        display:flex;
        align-items:center;
        justify-content:space-between;
        margin-top:90px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-content .flexbox{
        margin-top:60px
    }
}
.recruit__crosstalk-content .flexbox.reverse{
    flex-direction:row-reverse
}
@media screen and (min-width:897px){
    .recruit__crosstalk-content .flexbox .thumb{
        width:45.6%
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-content .flexbox .thumb{
        margin:20px 5% 0
    }
}
.recruit__crosstalk-content .flexbox .textarea{
    flex:1
}
@media screen and (min-width:897px){
    .recruit__crosstalk-content .textarea{
        margin-left:6%
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-content .textarea{
        margin-left:5%;
        margin-right:5%
    }
}
.recruit__crosstalk-content .textarea .chapter__label{
    position:relative;
    padding-right:64px;
    letter-spacing:0;
    color:var(--text-color-red);
    text-transform:uppercase
}
@media screen and (min-width:897px){
    .recruit__crosstalk-content .textarea .chapter__label{
        font-size:3.6rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-content .textarea .chapter__label{
        font-size:2.4rem
    }
}
.recruit__crosstalk-content .textarea .chapter__label:before{
    content:"";
    position:absolute;
    top:50%;
    right:0;
    transform:translate(0,-50%);
    width:40px;
    height:2px;
    background-color:var(--text-color-red)
}
@media screen and (min-width:897px){
    .recruit__crosstalk-content .textarea h5{
        margin-top:24px;
        font-size:2rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-content .textarea h5{
        margin-top:16px;
        font-size:1.6rem
    }
}
.recruit__crosstalk-content .textarea h5 .line{
    display:inline-block;
    padding:4px 10px;
    background-color:#e5e5e5
}
.recruit__crosstalk-content .textarea .mainhead{
    font-weight:900;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__crosstalk-content .textarea .mainhead{
        margin-top:24px;
        font-size:4rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-content .textarea .mainhead{
        margin-top:18px;
        font-size:2.2rem
    }
}
.recruit__crosstalk-content .textarea .mainhead .line{
    display:inline-block;
    padding:4px 10px;
    margin-top:12px;
    background-color:var(--text-color-red);
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__crosstalk .large{
        margin:80px 12%
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk .large{
        margin:50px 5%
    }
}
.recruit__crosstalk-item{
    display:flex
}
@media screen and (min-width:897px){
    .recruit__crosstalk-item{
        max-width:980px;
        margin:90px auto 0
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-item{
        margin-top:60px;
        margin-left:5%;
        margin-right:5%
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-item.center{
        align-items:center
    }
}
@media screen and (min-width:897px){
    .recruit__crosstalk-item .icon{
        width:100px;
        margin-right:42px
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-item .icon{
        width:70px;
        margin-right:24px
    }
}
.recruit__crosstalk-item .icon .name{
    margin-top:6px;
    font-weight:900;
    letter-spacing:.05em;
    text-align:center
}
@media screen and (min-width:897px){
    .recruit__crosstalk-item .icon .name{
        font-size:1.4rem
    }
}
@media screen and (max-width:896px){
    .recruit__crosstalk-item .icon .name{
        font-size:1.2rem
    }
}
.recruit__crosstalk-item .basetxt{
    flex:1
}
@media screen and (max-width:896px){
    .recruit__crosstalk-item .basetxt{
        font-size:1.3rem
    }
}
.recruit__crosstalk-item .basetxt .red_txt{
    font-weight:900;
    color:var(--text-color-red)
}
.recruit__maxspeed{
    background-color:#0c0c0c
}
@media screen and (min-width:897px){
    .recruit__maxspeed{
        padding:150px 0
    }
}
@media screen and (max-width:896px){
    .recruit__maxspeed{
        padding:90px 0 0
    }
}
.recruit__maxspeed-content{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    margin-top:80px
}
@media screen and (min-width:897px){
    .recruit__maxspeed-content{
        margin-left:10.8%;
        margin-right:10.8%
    }
    .recruit__maxspeed-content.new{
        justify-content:center
    }
}
@media screen and (max-width:896px){
    .recruit__maxspeed-content{
        margin-left:5%;
        margin-right:5%
    }
}
.recruit__maxspeed-content .item{
    margin-bottom:60px
}
@media screen and (min-width:897px){
    .recruit__maxspeed-content .item{
        width:48.8%
    }
    .recruit__maxspeed-content .item.new:first-child{
        margin-right:2.4%
    }
}
.recruit__maxspeed-content .item .thumb{
    position:relative;
    text-align:center
}
.recruit__maxspeed-content .item .thumb .circlelink{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position:absolute;
    left:50%;
    transform:translate(-50%,0);
    width:110px;
    height:110px;
    border-radius:50%;
    background-color:var(--text-color-red);
    background-image:url(../../img/new_grads/icon_zoom_red.png);
    background-size:20px;
    background-position:center 36%;
    background-repeat:no-repeat;
    transition:.25s ease-out;
    animation:light 3s ease-out forwards infinite
}
@keyframes light{
    0%{
        box-shadow:0
    }
    20%{
        box-shadow:1px 1px 10px var(--text-color-red)
    }
    40%{
        box-shadow:0
    }
    60%{
        box-shadow:1px 1px 10px var(--text-color-red)
    }
}
@media screen and (min-width:897px){
    .recruit__maxspeed-content .item .thumb .circlelink{
        bottom:30px
    }
    .recruit__maxspeed-content .item .thumb .circlelink:hover{
        cursor:pointer;
        background-color:#fff
    }
    .recruit__maxspeed-content .item .thumb .circlelink:hover img{
        opacity:0
    }
    .recruit__maxspeed-content .item .thumb .circlelink:hover p{
        color:var(--text-color-red)
    }
}
@media screen and (max-width:896px){
    .recruit__maxspeed-content .item .thumb .circlelink{
        bottom:20px
    }
}
.recruit__maxspeed-content .item .thumb .circlelink .zoom{
    position:relative;
    width:20px;
    margin-top:-6px
}
.recruit__maxspeed-content .item .thumb .circlelink .zoom:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-image:url(../../img/new_grads/icon_zoom_red.png);
    background-size:20px;
    background-position:0 0;
    background-repeat:no-repeat
}
.recruit__maxspeed-content .item .thumb .circlelink p{
    margin-top:6px;
    font-size:1.4rem;
    font-weight:900;
    color:#fff;
    text-align:center;
    transition:.25s ease-out
}
.recruit__maxspeed-content .item .info{
    margin-top:24px;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__maxspeed-content .item .info{
        display:flex
    }
}
.recruit__maxspeed-content .item .info.blk{
    align-items:flex-end;
    color:#010101
}
.recruit__maxspeed-content .item .info.blk .txt{
    font-size:1.8rem;
    font-weight:900
}
.recruit__maxspeed-content .item .info .name{
    font-weight:900;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__maxspeed-content .item .info .name{
        margin-right:24px;
        font-size:3rem
    }
}
@media screen and (max-width:896px){
    .recruit__maxspeed-content .item .info .name{
        font-size:2.4rem
    }
}
.recruit__maxspeed-content .item .info .txt{
    line-height:1.5;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__maxspeed-content .item .info .txt{
        font-size:1.4rem
    }
}
@media screen and (max-width:896px){
    .recruit__maxspeed-content .item .info .txt{
        margin-top:12px;
        font-size:1.3rem
    }
}
.recruit__careerstep{
    background-color:#f7f7f7
}
@media screen and (min-width:897px){
    .recruit__careerstep{
        padding:150px 0
    }
}
@media screen and (max-width:896px){
    .recruit__careerstep{
        padding:90px 0
    }
}
.recruit__careerstep-content{
    position:relative;
    margin-top:90px
}
@media screen and (min-width:897px){
    .recruit__careerstep-content{
        margin-left:15%;
        margin-right:15%
    }
}
@media screen and (max-width:896px){
    .recruit__careerstep-content{
        margin-left:5%;
        margin-right:5%
    }
}
.recruit__careerstep-content:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    height:100%;
    background-image:url(../../img/new_grads/metar.png);
    background-size:auto 100%;
    background-repeat:no-repeat
}
@media screen and (min-width:897px){
    .recruit__careerstep-content:before{
        width:50px;
        background-position:0 0
    }
}
@media screen and (max-width:896px){
    .recruit__careerstep-content:before{
        width:100%;
        background-position:center 0;
        opacity:.15
    }
}
.recruit__careerstep-item{
    margin-bottom:48px
}
@media screen and (min-width:897px){
    .recruit__careerstep-item{
        display:flex;
        justify-content:center;
        align-items:flex-start
    }
}
@media screen and (min-width:897px){
    .recruit__careerstep-item .age{
        display:flex;
        align-items:center;
        margin-right:54px
    }
}
.recruit__careerstep-item .age .num{
    font-size:6rem;
    color:var(--text-color-red)
}
.recruit__careerstep-item .age .txt{
    font-size:2rem;
    font-weight:900
}
@media screen and (min-width:897px){
    .recruit__careerstep-item .age .txt{
        -ms-writing-mode:tb-rl;
        writing-mode:vertical-rl
    }
}
@media screen and (min-width:897px){
    .recruit__careerstep-item .textarea{
        width:71.4%
    }
}
@media screen and (max-width:896px){
    .recruit__careerstep-item .textarea{
        margin-top:12px
    }
}
.recruit__careerstep-item .textarea h4{
    font-weight:900
}
@media screen and (min-width:897px){
    .recruit__careerstep-item .textarea h4{
        font-size:3rem
    }
}
@media screen and (max-width:896px){
    .recruit__careerstep-item .textarea h4{
        font-size:2.4rem
    }
}
.recruit__careerstep-item .textarea h4 .red_txt{
    color:var(--text-color-red)
}
@media screen and (min-width:897px){
    .recruit__careerstep-item .textarea .basetxt{
        margin-top:14px
    }
}
@media screen and (max-width:896px){
    .recruit__careerstep-item .textarea .basetxt{
        margin-top:8px
    }
}
.recruit__message{
    background-color:#010101;
    /* background-image:url(../../img/new_grads/bg_message.png); */
    background-position:right 0;
    background-repeat:no-repeat;
    background-size:74.8%
}
@media screen and (min-width:897px){
    .recruit__message{
        padding:150px 6%
    }
}
@media screen and (max-width:896px){
    .recruit__message{
        padding:90px 6%
    }
}
@media screen and (min-width:897px){
    .recruit__message-content{
        display:flex;
        justify-content:space-between;
        margin-top:90px
    }
}
@media screen and (max-width:896px){
    .recruit__message-content{
        margin-top:50px
    }
}
@media screen and (min-width:897px){
    .recruit__message-content .thumb{
        width:43.8%
    }
}
.recruit__message-content .sns{
    display:flex;
    justify-content:center;
    border:1px solid #5a5a5a;
    padding:32px 10px;
    margin-top:24px
}
.recruit__message-content .sns li{
    margin-right:30px
}
.recruit__message-content .sns a{
    position:relative;
    text-decoration:underline;
    text-underline-offset:4px;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__message-content .sns a{
        padding-left:40px;
        font-size:1.4rem
    }
}
@media screen and (max-width:896px){
    .recruit__message-content .sns a{
        padding-left:30px;
        font-size:1.2rem
    }
}
.recruit__message-content .sns a.twitter:before{
    top:0;
    background-image:url(../../img/executives/icon_tw.png)
}
.recruit__message-content .sns a.instagram:before{
    top:-3px;
    background-image:url(../../img/executives/icon_insta.png)
}
.recruit__message-content .sns a:before{
    content:"";
    position:absolute;
    left:0;
    background-repeat:no-repeat;
    background-position:0 0;
    background-size:100%;
    filter:invert(1)
}
@media screen and (min-width:897px){
    .recruit__message-content .sns a:before{
        width:30px;
        height:30px
    }
}
@media screen and (max-width:896px){
    .recruit__message-content .sns a:before{
        width:24px;
        height:24px
    }
}
@media screen and (min-width:897px){
    .recruit__message-content .textarea{
        width:49.5%
    }
}
@media screen and (max-width:896px){
    .recruit__message-content .textarea{
        margin-top:18px
    }
}
.recruit__message-content .textarea.on .line:before{
    transform:scale(1,1)
}
.recruit__message-content .textarea h4{
    font-weight:900;
    letter-spacing:.05em;
    line-height:1.35;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__message-content .textarea h4{
        font-size:4rem
    }
}
@media screen and (max-width:896px){
    .recruit__message-content .textarea h4{
        font-size:3rem
    }
}
.recruit__message-content .textarea h4 .line{
    position:relative;
    display:inline-block;
    padding:4px 6px 6px;
    line-height:1.2
}
.recruit__message-content .textarea h4 .line:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    z-index:-1;
    width:100%;
    height:100%;
    background-color:var(--text-color-red);
    transform:scale(0,1);
    transform-origin:left top;
    transition:transform .35s cubic-bezier(.77,0,.175,1) .3s
}
.recruit__message-content .textarea .basetxt{
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__message-content .textarea .basetxt{
        margin-top:32px
    }
}
@media screen and (max-width:896px){
    .recruit__message-content .textarea .basetxt{
        margin-top:16px
    }
}
.recruit__message-content .textarea .info{
    margin-top:30px;
    font-family:a-otf-ud-reimin-pr6n,sans-serif;
    font-weight:600;
    font-style:normal;
    color:#fff
}
.recruit__message-content .textarea .info .post{
    font-size:1.6rem
}
.recruit__message-content .textarea .info .name{
    margin-top:10px;
    font-size:2.4rem
}
.recruit__number{
    position:relative;
    background-color:#f7f7f7
}
@media screen and (min-width:897px){
    .recruit__number{
        padding:150px 3.5%
    }
}
@media screen and (max-width:896px){
    .recruit__number{
        padding:90px 5%
    }
}
.recruit__number-number{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap
}
@media screen and (min-width:897px){
    .recruit__number-number{
        margin-top:60px
    }
}
@media screen and (max-width:896px){
    .recruit__number-number{
        margin-top:32px;
        margin-left:5%;
        margin-right:5%
    }
}
.recruit__number-number .item{
    position:relative;
    background-color:#fff;
    box-shadow:0 5px 8.47px 2.53px rgba(12,12,12,.05)
}
@media screen and (max-width:896px){
    .recruit__number-number .item{
        margin-top:24px
    }
}
@media screen and (min-width:897px){
    .recruit__number-number .item.w3{
        width:31.25%;
        padding:30px
    }
}
@media screen and (max-width:896px){
    .recruit__number-number .item.w3{
        width:100%;
        padding:20px 5%
    }
}
@media screen and (min-width:897px){
    .recruit__number-number .item.mt{
        margin-top:36px
    }
}
.recruit__number-number .item .flexbox{
    display:flex;
    justify-content:center;
    align-items:center
}
@media screen and (min-width:897px){
    .recruit__number-number .item .flexbox{
        margin-top:48px
    }
}
@media screen and (max-width:896px){
    .recruit__number-number .item .flexbox{
        width:100%;
        padding:20px 5%;
        margin-top:54px
    }
}
.recruit__number-number .item .flexbox.man_woman{
    margin-top:20px
}
.recruit__number-number .item .flexbox.man_woman .person{
    text-align:center
}
.recruit__number-number .item .flexbox.man_woman .person.man .icon{
    width:28px
}
.recruit__number-number .item .flexbox.man_woman .person.man .num{
    color:#000
}
.recruit__number-number .item .flexbox.man_woman .person.woman .icon{
    width:33px
}
.recruit__number-number .item .flexbox.man_woman .person .icon{
    margin:auto
}
.recruit__number-number .item .flexbox.man_woman .person .num{
    font-size:7rem;
    margin-top:0
}
.recruit__number-number .item .flexbox .txt{
    font-size:2.4rem;
    font-weight:900;
    letter-spacing:.05em
}
.recruit__number-number .item .flexbox .txt .total{
    margin-top:0;
    font-size:2.8rem;
    color:#101010
}
.recruit__number-number .item .flexbox .num{
    margin-left:18px
}
.recruit__number-number .bg_icon{
    background-repeat:no-repeat
}
.recruit__number-number .bg_icon.bgicon01{
    background-image:url(../../img/company/people_number.png);
    background-position:92% 30px;
    background-size:42%
}
.recruit__number-number .bg_icon.bgicon03{
    background-image:url(../../img/company/age.png);
    background-position:92% 30px;
    background-size:84px
}
.recruit__number-number .bg_icon.bgicon04{
    background-image:url(../../img/company/icon_type01.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon05{
    background-image:url(../../img/company/icon_type02.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon06{
    background-image:url(../../img/company/icon_type03.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon07{
    background-image:url(../../img/company/icon_type04.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon08{
    background-image:url(../../img/company/icon_type05.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon09{
    background-image:url(../../img/company/icon_type06.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon10{
    background-image:url(../../img/company/icon_type07.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon11{
    background-image:url(../../img/company/icon_type08.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon12{
    background-image:url(../../img/company/icon_type09.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon13{
    background-image:url(../../img/company/icon_type10.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon14{
    background-image:url(../../img/company/management.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon15{
    background-image:url(../../img/company/rest.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon16{
    background-image:url(../../img/company/new_career.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon17{
    background-image:url(../../img/company/after_works.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon18{
    background-image:url(../../img/company/rest_works.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .bg_icon.bgicon19{
    background-image:url(../../img/company/baby.png);
    background-position:92% 30px;
    background-size:82px
}
.recruit__number-number .label{
    position:relative;
    padding-left:18px;
    font-size:1.8rem;
    font-weight:900;
    letter-spacing:.05em
}
.recruit__number-number .label:before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    transform:translate(0,-50%);
    width:10px;
    height:10px;
    border-radius:50%;
    background-color:#fff;
    border:3px solid var(--text-color-red)
}
.recruit__number-number .sub_label{
    font-size:1.4rem;
    font-weight:900
}
.recruit__number-number .num{
    color:var(--text-color-red);
    text-align:center
}
@media screen and (min-width:897px){
    .recruit__number-number .num{
        margin-top:42px;
        font-size:8rem
    }
}
@media screen and (max-width:896px){
    .recruit__number-number .num{
        margin-top:50px;
        font-size:6rem
    }
}
.recruit__number-number .num.mt0{
    margin-top:0
}
.recruit__number-number .num .unit{
    font-size:3rem
}
.recruit__number-number .num .note{
    margin-top:6px;
    font-size:1.2rem;
    font-weight:900;
    text-align:center;
    color:#101010
}
.recruit__number-number .block{
    width:100%;
    background-color:#fff
}
@media screen and (min-width:897px){
    .recruit__number-number .block{
        padding:20px 0 50px;
        margin:36px 0 0
    }
}
@media screen and (max-width:896px){
    .recruit__number-number .block{
        padding:18px 0 42px;
        margin:24px 0 0
    }
}
.recruit__number-number .block .box{
    display:flex;
    flex-wrap:wrap;
    padding:0 12.5%
}
.recruit__number-number .block .num{
    font-weight:900
}
@media screen and (min-width:897px){
    .recruit__number-number .block .num{
        margin-top:48px;
        font-size:7rem
    }
}
@media screen and (max-width:896px){
    .recruit__number-number .block .num{
        margin-top:40px;
        font-size:5.4rem
    }
}
.recruit__number .note{
    margin-top:32px;
    color:grey;
    text-align:center
}
.recruit__number-companylink{
    margin-top:60px;
    text-align:center
}
.recruit__number-companylink a{
    display:inline-block;
    border-radius:25px;
    border:1px solid var(--text-color-red);
    background-color:var(--text-color-red);
    background-image:url(../../img/common/icon_arrow_link.png);
    background-repeat:no-repeat;
    font-size:1.4rem;
    font-weight:600;
    letter-spacing:.1em;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__number-companylink a{
        padding:18px 75px 20px 36px;
        background-size:26px;
        background-position:92% center
    }
    .recruit__number-companylink a:hover{
        background-color:#fff;
        background-image:url(../../img/common/icon_arrow_link_red.png);
        color:var(--text-color-red)
    }
}
@media screen and (max-width:896px){
    .recruit__number-companylink a{
        padding:18px 42px 20px 20px;
        background-size:18px;
        background-position:96% center
    }
}
.recruit__system{
    position:relative;
    padding:150px 0
}
@media screen and (min-width:897px){
    .recruit__system{
        padding:150px 0
    }
}
@media screen and (max-width:896px){
    .recruit__system{
        padding:90px 0
    }
}
.recruit__system-content{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap
}
@media screen and (min-width:897px){
    .recruit__system-content{
        margin-left:2.5%;
        margin-right:6%
    }
}
@media screen and (max-width:896px){
    .recruit__system-content{
        margin-left:5%;
        margin-right:5%
    }
}
.recruit__system-content.on .item{
    opacity:1;
    transform:translateY(0)
}
.recruit__system-content .item{
    position:relative;
    opacity:0;
    transform:translateY(30px);
    transition:.35s ease-out
}
@media screen and (min-width:897px){
    .recruit__system-content .item{
        width:20.7%;
        margin-top:140px
    }
}
@media screen and (max-width:896px){
    .recruit__system-content .item{
        width:45%;
        margin-top:80px
    }
}
.recruit__system-content .item:nth-child(1){
    transition-delay:calc(1 * .1s)
}
.recruit__system-content .item:nth-child(2){
    transition-delay:calc(2 * .1s)
}
.recruit__system-content .item:nth-child(3){
    transition-delay:calc(3 * .1s)
}
.recruit__system-content .item:nth-child(4){
    transition-delay:calc(4 * .1s)
}
.recruit__system-content .item:nth-child(5){
    transition-delay:calc(5 * .1s)
}
.recruit__system-content .item:nth-child(6){
    transition-delay:calc(6 * .1s)
}
.recruit__system-content .item:nth-child(7){
    transition-delay:calc(7 * .1s)
}
.recruit__system-content .item:nth-child(8){
    transition-delay:calc(8 * .1s)
}
.recruit__system-content .item:nth-child(9){
    transition-delay:calc(9 * .1s)
}
.recruit__system-content .item:nth-child(10){
    transition-delay:calc(10 * .1s)
}
.recruit__system-content .item:nth-child(11){
    transition-delay:calc(11 * .1s)
}
.recruit__system-content .item:nth-child(12){
    transition-delay:calc(12 * .1s)
}
.recruit__system-content .item:nth-child(13){
    transition-delay:calc(13 * .1s)
}
.recruit__system-content .item:nth-child(14){
    transition-delay:calc(14 * .1s)
}
.recruit__system-content .item:nth-child(15){
    transition-delay:calc(15 * .1s)
}
.recruit__system-content .item:nth-child(16){
    transition-delay:calc(16 * .1s)
}
.recruit__system-content .item:nth-child(17){
    transition-delay:calc(17 * .1s)
}
.recruit__system-content .item:before{
    content:attr(data-num);
    position:absolute;
    top:0;
    right:0;
    font-family:Montserrat;
    font-weight:700;
    line-height:.8;
    color:#eee
}
@media screen and (min-width:897px){
    .recruit__system-content .item:before{
        font-size:16rem
    }
}
@media screen and (max-width:896px){
    .recruit__system-content .item:before{
        font-size:6rem
    }
}
.recruit__system-content .item .textarea{
    position:relative;
    z-index:2
}
.recruit__system-content .item .textarea .icon{
    width:40px
}
.recruit__system-content .item .textarea h4{
    margin-top:10px;
    font-weight:900;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__system-content .item .textarea h4{
        font-size:2.4rem
    }
}
@media screen and (max-width:896px){
    .recruit__system-content .item .textarea h4{
        font-size:2rem
    }
}
.recruit__system-content .item .textarea p{
    line-height:1.5;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__system-content .item .textarea p{
        margin-top:12px;
        font-size:1.4rem
    }
}
@media screen and (max-width:896px){
    .recruit__system-content .item .textarea p{
        margin-top:8px;
        font-size:1.2rem
    }
}
.recruit__wanted{
    background-color:#eee
}
@media screen and (min-width:897px){
    .recruit__wanted{
        padding:150px 0
    }
}
@media screen and (max-width:896px){
    .recruit__wanted{
        padding:90px 0
    }
}
.recruit__wanted.career_bg{
    background-color:#f7f7f7
}
.recruit__wanted.not_wanted{
    background-color:#f2f2f2
}
.recruit__wanted.not_wanted .item .thumb:before{
    color:#0d0d0d
}
.recruit__wanted h4{
    font-weight:900;
    line-height:1.35;
    text-align:center
}
@media screen and (min-width:897px){
    .recruit__wanted h4{
        margin-top:32px;
        font-size:3rem
    }
}
@media screen and (max-width:896px){
    .recruit__wanted h4{
        margin-top:18px;
        font-size:2.6rem
    }
}
.recruit__wanted h4 .line{
    display:inline-block;
    padding:4px 6px 6px;
    background-color:var(--text-color-red);
    line-height:1;
    color:#fff
}
.recruit__wanted .basetxt{
    margin-top:12px;
    text-align:center
}
.recruit__wanted-block h4{
    margin-left:6%;
    margin-right:6%;
    font-size:3rem;
    color:var(--text-color-red);
    letter-spacing:0;
    text-transform:uppercase
}
.recruit__wanted-block h4.career__heading{
    position:relative
}
.recruit__wanted-block h4.career__heading:after,.recruit__wanted-block h4.career__heading:before{
    content:"";
    position:absolute;
    top:50%;
    transform:translate(0,-50%);
    height:1px;
    background-color:#bfbfbf
}
@media screen and (min-width:897px){
    .recruit__wanted-block h4.career__heading:after,.recruit__wanted-block h4.career__heading:before{
        width:364px
    }
}
@media screen and (max-width:896px){
    .recruit__wanted-block h4.career__heading:after,.recruit__wanted-block h4.career__heading:before{
        width:24vw
    }
}
.recruit__wanted-block h4.career__heading:before{
    left:0
}
.recruit__wanted-block h4.career__heading:after{
    right:0
}
@media screen and (min-width:897px){
    .recruit__wanted-content{
        display:flex;
        justify-content:space-between;
        margin-top:90px;
        margin-left:6%;
        margin-right:6%
    }
    .recruit__wanted-content.carrer_content{
        margin-top:48px
    }
}
@media screen and (max-width:896px){
    .recruit__wanted-content{
        margin-top:60px;
        margin-left:5%;
        margin-right:5%
    }
    .recruit__wanted-content.carrer_content{
        margin-top:32px
    }
}
@media screen and (min-width:897px){
    .recruit__wanted-content .item{
        width:30%
    }
}
@media screen and (max-width:896px){
    .recruit__wanted-content .item:not(.recruit__wanted-content.item:first-child){
        margin-top:50px
    }
}
.recruit__wanted-content .item:nth-child(1){
    transition-delay:calc(1 * .1s)
}
.recruit__wanted-content .item:nth-child(2){
    transition-delay:calc(2 * .1s)
}
.recruit__wanted-content .item:nth-child(3){
    transition-delay:calc(3 * .1s)
}
.recruit__wanted-content .item .thumb{
    position:relative
}
.recruit__wanted-content .item .thumb:before{
    content:attr(data-num);
    position:absolute;
    top:0;
    left:10px;
    transform:translate(0,-50%);
    font-size:5rem;
    font-family:Montserrat;
    font-weight:700;
    color:var(--text-color-red)
}
.recruit__wanted-content .item .new_ttl{
    position:relative
}
@media screen and (min-width:897px){
    .recruit__wanted-content .item .new_ttl{
        padding-top:42px;
        margin-top:42px
    }
}
@media screen and (max-width:896px){
    .recruit__wanted-content .item .new_ttl{
        padding-top:24px;
        margin-top:24px
    }
}
.recruit__wanted-content .item .new_ttl:before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:20px;
    height:5px;
    background-color:var(--text-color-red)
}
.recruit__wanted-content .item .new_ttl .en{
    font-size:1.4rem;
    color:var(--text-color-red);
    text-transform:uppercase
}
.recruit__wanted-content .item .new_ttl .jp{
    display:block;
    margin-top:12px;
    font-size:3rem;
    font-weight:900;
    letter-spacing:.05em
}
.recruit__wanted-content .item .career_ttl{
    margin-top:30px;
    font-size:2rem;
    font-weight:900;
    line-height:1.5
}
.recruit__wanted-content .item .txt{
    margin-top:16px;
    font-size:1.4rem;
    letter-spacing:.05em;
    line-height:1.5
}
.recruit__wanted-content.carrer_content .item .thumb2 {
    text-align: center;
}
.recruit__wanted-content.carrer_content .item .thumb2 img {
    /*aspect-ratio: 31/19;*/
    width:82.5%;
}
.recruit__wanted-content.carrer_content .item .thumb_skill1 {
    text-align: center;
}
.recruit__wanted-content.carrer_content .item .thumb_skill1 img {
    width:92.5%;
}

.recruit__wanted-content .item .thumb03 img{
    aspect-ratio: 103/80;
}

.recruit__office{
    background-color:#010101
}
@media screen and (min-width:897px){
    .recruit__office{
        padding:150px 0
    }
}
@media screen and (max-width:896px){
    .recruit__office{
        padding:90px 0
    }
}
.recruit__office-slidearea{
    position:relative;
    margin-top:60px
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .officename{
        position:absolute;
        top:50%;
        left:7.5vw;
        transform:translate(0,-50%);
        z-index:10
    }
}
@media screen and (max-width:896px){
    .recruit__office-slidearea .officename{
        margin:0 5% 24px
    }
    .recruit__office-slidearea .officename>div{
        display:flex;
        align-items:flex-end;
        justify-content:space-between
    }
}
.recruit__office-slidearea .officename h4{
    color:#fff
}
.recruit__office-slidearea .officename h4 .en{
    letter-spacing:0
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .officename h4 .en{
        font-size:4rem
    }
}
@media screen and (max-width:896px){
    .recruit__office-slidearea .officename h4 .en{
        font-size:3.2rem
    }
}
.recruit__office-slidearea .officename h4 .jp{
    display:block;
    letter-spacing:.05em
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .officename h4 .jp{
        margin-top:12px;
        font-size:1.8rem
    }
}
@media screen and (max-width:896px){
    .recruit__office-slidearea .officename h4 .jp{
        margin-top:8px;
        font-size:1.6rem
    }
}
.recruit__office-slidearea .officename .maplink{
    position:relative;
    display:inline-block;
    padding:4px 22px 6px 10px;
    margin-top:28px;
    border-radius:12px;
    background-color:var(--text-color-red);
    font-size:1.2rem;
    font-weight:900;
    letter-spacing:.05em;
    color:#fff
}
.recruit__office-slidearea .officename .maplink:before{
    content:"";
    position:absolute;
    top:50%;
    right:10px;
    transform:translate(0,-50%);
    border-style:solid;
    border-top:4px solid transparent;
    border-bottom:4px solid transparent;
    border-left:4px solid #fff;
    border-right:0
}
.recruit__office-slidearea .swiper-slide{
    width:42.8vw;
    opacity:.35
}
.recruit__office-slidearea .swiper-slide.swiper-slide-active,.recruit__office-slidearea .swiper-slide.swiper-slide-next{
    opacity:1
}
.recruit__office-slidearea .swiper-pagination{
    position:absolute;
    bottom:30px;
    left:calc(7.5vw + 60px + 70px);
    width:auto;
    font-size:1.2rem;
    font-weight:900;
    color:#fff
}
.recruit__office-slidearea .swiper-pagination .swiper-pagination-current{
    margin-right:2px
}
.recruit__office-slidearea .swiper-pagination .swiper-pagination-total{
    margin-left:2px;
    color:#b2b2b2
}
.recruit__office-slidearea .swiper-button-next,.recruit__office-slidearea .swiper-button-prev{
    top:auto;
    bottom:10px;
    width:50px;
    height:50px;
    border-radius:50%
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .swiper-button-next,.recruit__office-slidearea .swiper-button-prev{
        border:2px solid #fff
    }
    .recruit__office-slidearea .swiper-button-next:hover,.recruit__office-slidearea .swiper-button-prev:hover{
        background-color:#fff
    }
}
@media screen and (max-width:896px){
    .recruit__office-slidearea .swiper-button-next,.recruit__office-slidearea .swiper-button-prev{
        border:2px solid #fff
    }
}
.recruit__office-slidearea .swiper-button-next:after,.recruit__office-slidearea .swiper-button-prev:after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%)
}
.recruit__office-slidearea .swiper-button-prev{
    left:7.5vw
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .swiper-button-prev:hover:after{
        border-right:8px solid #000
    }
}
.recruit__office-slidearea .swiper-button-prev:after{
    border-style:solid;
    border-top:5px solid transparent;
    border-bottom:5px solid transparent;
    border-left:0
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .swiper-button-prev:after{
        border-right:8px solid #fff
    }
}
@media screen and (max-width:896px){
    .recruit__office-slidearea .swiper-button-prev:after{
        border-right:8px solid #fff
    }
}
.recruit__office-slidearea .swiper-button-next{
    right:auto;
    left:calc(7.5vw + 60px)
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .swiper-button-next:hover:after{
        border-left:8px solid #000
    }
}
.recruit__office-slidearea .swiper-button-next:after{
    border-style:solid;
    border-top:5px solid transparent;
    border-bottom:5px solid transparent;
    border-right:0
}
@media screen and (min-width:897px){
    .recruit__office-slidearea .swiper-button-next:after{
        border-left:8px solid #fff
    }
}
@media screen and (max-width:896px){
    .recruit__office-slidearea .swiper-button-next:after{
        border-left:8px solid #fff
    }
}
.recruit__information{
    background-color:#fff
}
@media screen and (min-width:897px){
    .recruit__information{
        padding:150px 0 0
    }
}
@media screen and (max-width:896px){
    .recruit__information{
        padding:90px 0 0
    }
}
.recruit__information.career_bg{
    background-color:#f2f2f2
}
@media screen and (min-width:897px){
    .recruit__information.career_bg{
        padding-bottom:150px
    }
}
@media screen and (max-width:896px){
    .recruit__information.career_bg{
        padding-bottom:90px
    }
}
.recruit__information .leadtxt{
    text-align:center
}
.recruit__information-content{
    background-color:#f7f7f7
}
@media screen and (min-width:897px){
    .recruit__information-content{
        padding:90px 6%;
        margin:80px 2.5% 0
    }
}
@media screen and (max-width:896px){
    .recruit__information-content{
        padding:40px 6%;
        margin:40px 2.5% 0
    }
}
.recruit__information-content h4{
    position:relative;
    padding-left:20px;
    font-size:2.1rem;
    font-weight:900;
    color:var(--text-color-red);
    letter-spacing:.05em
}
.recruit__information-content h4:before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    transform:translate(0,-50%);
    width:12px;
    height:12px;
    border-radius:50%;
    border:4px solid var(--text-color-red)
}
@media screen and (min-width:897px){
    .recruit__information-content .item{
        display:flex;
        align-items:center;
        margin-left:7.5%;
        margin-right:7.5%
    }
}
@media screen and (min-width:897px){
    .recruit__information-content .item{
        margin-left:5%;
        margin-right:5%
    }
}
.recruit__information-content .item:not(.recruit__information-content.item:first-child){
    margin-top:32px
}
.recruit__information-content .item .num{
    width:70px;
    font-size:5rem;
    color:var(--text-color-red);
    letter-spacing:0
}
@media screen and (min-width:897px){
    .recruit__information-content .item .type{
        width:180px;
        margin:0 44px
    }
}
@media screen and (max-width:896px){
    .recruit__information-content .item .type{
        margin-top:10px
    }
}
.recruit__information-content .item .type .en{
    display:inline-block;
    padding:4px 6px 2px;
    background-color:var(--text-color-red);
    font-size:1.2rem;
    color:#fff;
    text-transform:uppercase
}
.recruit__information-content .item .type .jp{
    display:block;
    margin-top:4px;
    font-size:1.8rem;
    font-weight:900
}
@media screen and (min-width:897px){
    .recruit__information-content .item .basetxt{
        flex:.9
    }
}
@media screen and (max-width:896px){
    .recruit__information-content .item .basetxt{
        margin-top:12px
    }
}
.recruit__information-employment{
    margin-top:72px
}
@media screen and (min-width:897px){
    .recruit__information-employment .item{
        display:flex;
        align-items:center
    }
}
.recruit__information-employment .item:nth-child(2){
    flex-direction:row-reverse;
    margin-top:64px
}
@media screen and (min-width:897px){
    .recruit__information-employment .item .thumb{
        width:45.6%
    }
}
.recruit__information-employment .item .textarea{
    flex:1
}
@media screen and (min-width:897px){
    .recruit__information-employment .item .textarea{
        margin-left:6%;
        margin-right:6%
    }
}
@media screen and (max-width:896px){
    .recruit__information-employment .item .textarea{
        margin-top:30px;
        margin-left:5%;
        margin-right:5%
    }
}
.recruit__information-employment .item .textarea .label{
    display:inline-block;
    padding:2px 4px;
    background-color:var(--text-color-red);
    font-size:1.6rem;
    letter-spacing:.1em;
    color:#fff;
    text-transform:uppercase
}
.recruit__information-employment .item .textarea h4{
    font-weight:900
}
@media screen and (min-width:897px){
    .recruit__information-employment .item .textarea h4{
        margin-top:20px;
        font-size:3.6rem
    }
}
@media screen and (max-width:896px){
    .recruit__information-employment .item .textarea h4{
        margin-top:10px;
        font-size:2.6rem
    }
}
.recruit__information-employment .item .textarea h5{
    margin-top:24px;
    font-size:1.8rem;
    font-weight:900;
    color:var(--text-color-red)
}
.recruit__information-employment .item .textarea .basetxt{
    margin-top:16px
}
.recruit__information-employment .thumb02 img {
    aspect-ratio: 274/181;
}
.recruit__information-outline{
    padding:90px 2.5% 0;
    background-color:#fff
}
.recruit__information-outline.career_bg{
    background-color:#f2f2f2
}
.recruit__information-outline h4{
    position:relative;
    padding-left:20px;
    margin-left:6%;
    font-size:2.1rem;
    font-weight:900;
    color:var(--text-color-red)
}
.recruit__information-outline h4:before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    transform:translate(0,-50%);
    width:12px;
    height:12px;
    border-radius:50%;
    border:4px solid var(--text-color-red)
}
.recruit__information-outline table{
    margin-top:40px;
    border-top:1px solid #b2b2b2
}
.recruit__information-outline table tr:nth-child(odd){
    background-color:#f7f7f7
}
.recruit__information-outline table td,.recruit__information-outline table th{
    border-bottom:1px solid #b2b2b2;
    line-height:1.5
}
@media screen and (min-width:897px){
    .recruit__information-outline table td,.recruit__information-outline table th{
        padding:30px 10px;
        font-size:1.6rem
    }
}
@media screen and (max-width:896px){
    .recruit__information-outline table td,.recruit__information-outline table th{
        display:block;
        padding:20px 10px;
        font-size:1.4rem
    }
}
.recruit__information-outline table th{
    font-weight:900
}
@media screen and (min-width:897px){
    .recruit__information-outline table th{
        width:300px;
        padding-left:100px
    }
}
@media screen and (max-width:896px){
    .recruit__information-outline table th{
        padding-bottom:0;
        border-bottom:0
    }
}
@media screen and (max-width:896px){
    .recruit__information-outline table td{
        padding-top:5px
    }
}
.recruit__flow{
    background-color:#fff
}
@media screen and (min-width:897px){
    .recruit__flow{
        padding:150px 2.5%
    }
}
@media screen and (max-width:896px){
    .recruit__flow{
        padding:70px 5%
    }
}
.recruit__flow-content{
    background-color:#f7f7f7
}
@media screen and (min-width:897px){
    .recruit__flow-content{
        padding:60px 90px 60px 60px;
        margin:80px 0
    }
    .recruit__flow-content.new{
        padding:60px 7.5%
    }
}
@media screen and (max-width:896px){
    .recruit__flow-content{
        padding:30px 5%;
        margin:30px 0 50px
    }
}
@media screen and (min-width:897px){
    .recruit__flow-content.flexbox{
        display:flex;
        justify-content:space-between
    }
}
@media screen and (min-width:897px){
    .recruit__flow-content.flexbox .type{
        width:41.1%
    }
}
@media screen and (max-width:896px){
    .recruit__flow-content.flexbox .type:last-child{
        margin-top:64px
    }
}
.recruit__flow-content.flexbox .type h4{
    margin-bottom:32px
}
.recruit__flow-content.flexbox .type h4 .en{
    display:block;
    font-size:1.2rem;
    color:var(--text-color-red);
    text-transform:uppercase
}
.recruit__flow-content.flexbox .type h4 .jp{
    display:block;
    margin-top:6px;
    font-size:3.6rem;
    font-weight:900
}
.recruit__flow-content.flexbox .type .item{
    padding-left:0
}
.recruit__flow-content.flexbox .type .item:last-child:before{
    display:none
}
.recruit__flow-content.flexbox .type .item:not(.recruit__flow-content.flexbox.type.item:last-child){
    border-left:0
}
.recruit__flow-content.flexbox .type .item:before{
    content:"";
    position:absolute;
    top:0;
    left:18px;
    width:1px;
    height:100%;
    border-radius:0;
    border:1px dotted #000;
    border-width:0 0 0 1px
}
.recruit__flow-content.flexbox .type .item .num{
    position:relative;
    z-index:2
}
.recruit__flow-content.flexbox .type .item .textarea{
    flex:1;
    margin-top:10px
}
.recruit__flow-content .item{
    position:relative;
    display:flex
}
.recruit__flow-content .item:before{
    content:"";
    position:absolute;
    top:0;
    left:18px;
    width:1px;
    height:100%;
    border-radius:0;
    border:1px dotted #000;
    border-width:0 0 0 1px
}
.recruit__flow-content .item:last-child:before{
    display:none
}
@media screen and (min-width:897px){
    .recruit__flow-content .item:not(.recruit__flow-content.item:last-child){
        padding-bottom:60px
    }
}
@media screen and (max-width:896px){
    .recruit__flow-content .item:not(.recruit__flow-content.item:last-child){
        padding-bottom:42px
    }
}
.recruit__flow-content .item .num{
    position:relative;
    z-index:2;
    display:block;
    width:36px;
    height:36px;
    border-radius:50%;
    background-color:var(--text-color-red);
    line-height:36px;
    font-size:1.4rem;
    color:#fff;
    text-align:center
}
@media screen and (min-width:897px){
    .recruit__flow-content .item .num{
        margin-right:30px
    }
}
@media screen and (max-width:896px){
    .recruit__flow-content .item .num{
        margin-right:12px
    }
}
@media screen and (max-width:896px){
    .recruit__flow-content .item .textarea{
        flex:1;
        margin-top:10px
    }
}
.recruit__flow-content .item .textarea .subhead{
    font-size:1.8rem;
    font-weight:900
}
.recruit__flow-content .item .textarea .basetxt{
    margin-top:18px;
    line-height:1.5
}
.recruit__entry{
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:3;
    background-image:url(../../img/new_grads/bg_entry.jpg);
    background-position:center 0;
    background-repeat:no-repeat;
    background-size:cover
}
/* .recruit__entry.career_bg{
    background-image:url(../../img/career/bg_entry.jpg)
} */
@media screen and (min-width:897px){
    .recruit__entry{
        height:41.4vw
    }
}
@media screen and (max-width:896px){
    .recruit__entry{
        height:60vw
    }
}
.recruit__entry h3{
    text-align:center
}
.recruit__entry h3 .en{
    color:var(--text-color-red)
}
@media screen and (min-width:897px){
    .recruit__entry h3 .en{
        font-size:10rem
    }
}
@media screen and (max-width:896px){
    .recruit__entry h3 .en{
        font-size:3.2rem
    }
}
.recruit__entry h3 .jp{
    display:block;
    font-weight:900;
    letter-spacing:.05em;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__entry h3 .jp{
        margin-top:10px;
        font-size:2.4rem
    }
}
@media screen and (max-width:896px){
    .recruit__entry h3 .jp{
        margin-top:8px;
        font-size:1.6rem
    }
}
.recruit__entry .entry{
    display:block;
    margin:20px auto 0;
    border-radius:30px;
    background-color:var(--text-color-red);
    background-image:url(../../img/common/icon_arrow_link.png);
    background-position:86% center;
    background-repeat:no-repeat;
    font-weight:900;
    letter-spacing:.15em;
    color:#fff
}
@media screen and (min-width:897px){
    .recruit__entry .entry{
        width:214px;
        padding:20px 0 20px 40px;
        background-size:24px;
        font-size:2rem
    }
    .recruit__entry .entry:hover{
        background-color:#fff;
        background-image:url(../../img/common/icon_arrow_link_red.png);
        color:var(--text-color-red)
    }
}
@media screen and (max-width:896px){
    .recruit__entry .entry{
        width:194px;
        padding:12px 0 12px 20px;
        background-size:18px;
        font-size:1.6rem
    }
}
@media screen and (min-width:897px){
    .recruit__entry .linebnr{
        position:absolute;
        bottom:90px;
        right:6vw;
        width:150px
    }
}
@media screen and (min-width:897px){
    .recruit__entry .cheercareerbnr{
        position:absolute;
        bottom:2vh;
        right:6vw;
        width:400px
    }
}
@media screen and (max-width:896px){
    .recruit .spbnr{
        position:relative;
        z-index:2;
        display:block
    }
}

/* .member01 { */
    /*width: 80%;
    max-height: 1161px;*/
    /*height: 100%;
    aspect-ratio: 326 / 387;*/
/* } */
/*  NEWリクルートページ追記部分 */
.job-box{
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem;
    margin: 40px 2.5% 0;
    padding-top: 40px;
}
.job-box .job-box__col{
    width: 48.8%;
}
.job-box .job-box__tab{
    text-align: center;
    background-color: var(--text-color-red);
    color: #fff;
    padding: 10px;
    position: relative;
    border-radius: 6px;
    font-size: 2rem;
    font-weight: 900;
}
.job-box .job-box__tab::after{
    position: absolute;
    position: absolute;
    bottom: -15px;
    width: 30px;
    height: 15px;
    background-color: var(--text-color-red);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    left: 50%;
    transform: translateX(-50%);
}
.job-box .job-box__tab--part{
    background-color: var(--bg-color-black);
}
.job-box .job-box__tab--part::after{
    background-color: var(--bg-color-black);
}
.job-box .job-box__col .job-empty{
    margin-top: 4rem;
}
.job-box .review-list{
    margin-top: 48px;
}
.job-box .review-list .review-item{
    border: solid 1px #8a939d;
    border-radius: 4px;
    padding: 2rem;
    background-color: #fff;
    margin-bottom: 2rem;
}
.job-box .review-list .review-item:hover{
    border: solid 1px var(--text-color-red);
     box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.5), 3px 3px 8px 0px rgba(0, 0, 0, 0.3);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.job-box .review-item__link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.job-box .review-item__head{
    border-bottom: 1px solid #8a939d;
    padding-bottom: 2rem;
    position: relative;
}
.job-box .review-item__head .review-title{
    font-size: 2rem;
    font-weight: 900;
}
.job-box .review-item__head .review-title .review-subtitle{
    font-size: 1.8rem;
    display: block;
    margin-top: 0.6rem;
    font-weight: 500;
}
.job-box .review-item__head .review-icon{
    background-color: var(--text-color-red);
    width: 30px;
    height: 30px;
    display: block;
    margin-left: auto;
    border-radius: 50%;
    background-image: url(https://www.w-endless.co.jp/recruit/career/offer/wp-content/uploads/2025/11/link.png);
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: -6px;
    right: 0;
}
.job-box .review-list .review-item:hover .review-icon{
    background-color: #cf0000;
        transition: background-color .3s ease;
    overflow: hidden;
}
.job-box .review-lead{
    padding-top: .6rem;
    line-height: 2;
    padding-bottom: 1rem;
}
.job-box .review-meta{
    display: flex;
    margin-top: 1rem;
    justify-content: space-between;
}
.job-box  .review-meta__item .review-meta__label{
        border: solid 1px var(--bg-color-black);
    background-color: var(--bg-color-gray);
    font-size: 1.2rem;
    padding: 0.1rem 1.0rem 0.1rem 1.2rem;
    border-radius: 30px;
    letter-spacing: 0.4rem;
    margin-right: 0.6rem;
}
@media screen and (max-width: 1380px){
    .job-box .review-meta{
        flex-direction: column;
    }
    .job-box .review-meta .review-meta__item{
        margin-bottom: 1.6rem;
    }
    .job-box .review-meta__item .review-meta__label{
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 896px) {
    .job-box{
        flex-direction: column;
    }
    .job-box .job-box__col{
        width: 100%;
    }
    .job-box .job-box__tab {
        font-size: 1.8rem;
    }
    .job-box .review-lead {
        font-size: 1.4rem;
    }
    .job-box .review-list{
        margin-top: 40px;
    }
    .job-box .review-list .review-item{
        margin-bottom: 4rem;
    }
     .job-box .review-meta .review-meta__item:last-of-type{
        margin-bottom: 0;
     }
    .job-box .review-meta__item .review-meta__label{
        font-size: 1.1rem;
    }
    .job-box .review-meta__item .review-meta__text{
        font-size: 1.4rem;
    }
    .job-box .review-item__head .review-icon {
        width: 30px;
        height: 30px;
        top: -6px;
        right: -13px;
    }
    .job-box .review-item__head .review-title{
        padding-right: 20px;
    }
}
/* コンタクト */
@media screen and (min-width: 897px) {
  .contact__content {
    padding: 3vw 10vw
  }
}

@media screen and (max-width: 896px) {
  .contact__content {
    padding: 40px 5vw
  }
}

.contact__content-tab {
  background-color: var(--bg-color-gray)
}

@media screen and (min-width: 897px) {
  .contact__content-tab ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
  }
}

.contact__content-tab li {
  display: block;
  background-color: #0c0c0c;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #808080;
  text-align: center;
  transition: background-color .35s ease-out, color .35s ease-out
}

@media screen and (min-width: 897px) {
  .contact__content-tab li {
    width: 32.6%;
    padding: 24px 0 26px;
    font-size: 2rem
  }
}

@media screen and (max-width: 896px) {
  .contact__content-tab li {
    padding: 18px 0 20px;
    font-size: 1.6rem
  }
}

.contact__content-tab li.current {
  position: relative;
  background-color: var(--text-color-red);
  color: #fff
}

@media screen and (min-width: 897px) {
  .contact__content-tab li.current {
    padding: 32px 0 34px;
    font-size: 2.6rem;
    width:100%;
  }
}

@media screen and (max-width: 896px) {
  .contact__content-tab li.current {
    padding: 28px 0 30px;
    font-size: 2rem
  }
}

@media screen and (min-width: 897px) {
  .contact__content-tab li.current:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 10;
    transform: translate(-50%, 100%);
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 12px solid #da1c1c;
    border-bottom: 0
  }
}

@media screen and (min-width: 897px) {
  .contact__content-tab li:hover {
    cursor: pointer;
    background-color: var(--text-color-red);
    color: #fff
  }
}

.contact__content-form {
  border-width: 0 1px 1px;
  background-color: #fff
}

@media screen and (min-width: 897px) {
  .contact__content-form {
    padding: 80px 12.5%
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form {
    padding: 50px 5%;
    margin-top: 30px
  }
}

.contact__content-form.disnon {
  display: none
}

.contact__content-form .note {
  font-size: 1.2rem;
  color: var(--text-color-red)
}

.contact__content-form th, .contact__content-form td {
  padding: 28px 0;
  border-bottom: 1px solid #e5e5e5
}

@media screen and (max-width: 896px) {
  .contact__content-form th, .contact__content-form td {
    display: block
  }
}

.contact__content-form th {
  font-size: 1.8rem;
  font-weight: 900
}

@media screen and (min-width: 897px) {
  .contact__content-form th {
    width: 314px
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form th {
    border-bottom: 0;
    padding-bottom: 0
  }
}

.contact__content-form th .flexbox {
  align-items: flex-start
}

.contact__content-form th.top {
  vertical-align: text-top
}

.contact__content-form th .required {
  display: inline-block;
  padding: 4px 18px 6px;
  margin-right: 10px;
  background-color: var(--text-color-red);
  border-radius: 15px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff
}

.contact__content-form th .note {
  margin-left: 6px;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #808080
}

.contact__content-form th .any {
  display: inline-block;
  padding: 4px 18px 6px;
  margin-right: 10px;
  background-color: #fff;
  border: 1px solid #7c7878;
  border-radius: 15px;
  font-size: 1.4rem;
  font-weight: 500
}

.contact__content-form th .txt b {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #808080
}

@media screen and (min-width: 897px) {
  .contact__content-form th .txt b {
    margin-top: 10px
  }
}

.contact__content-form td {
  font-size: 1.6rem
}

@media screen and (max-width: 896px) {
  .contact__content-form td {
    padding-top: 8px
  }
}

.contact__content-form td .graduate {
  font-weight: 900
}

.contact__content-form .flexbox {
  display: flex
}

.contact__content-form .flexbox.jcsb {
  justify-content: space-between
}

.contact__content-form .flexbox.aic {
  align-items: center
}

.contact__content-form .flexbox.school {
  margin: 10px 0 30px
}

.contact__content-form .inputarea {
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 5px 18px;
  background-color: var(--bg-color-gray);
  color:#000;
}
.contact__content-form .inputarea_day {
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 5px 18px;
  background-color: var(--bg-color-gray);
  color:#000;
}
.contact__content-form .inputarea.is-empty{
  color:#666;
}

.contact__content-form .inputarea.x2 {
  width: 48.5%
}

.contact__content-form .inputarea.x3 {
  width: 30%
}

.contact__content-form .inputarea.space_side {
  margin-left: 10px;
  margin-right: 10px
}

@media screen and (min-width: 897px) {
  .contact__content-form .inputarea.w50 {
    width: 50%
  }
}

@media screen and (min-width: 897px) {
  .contact__content-form .inputarea.w75 {
    width: 75%
  }
}

.contact__content-form .textarea {
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  height: 250px;
  max-height: 250px;
  min-height: 250px;
  line-height: 40px;
  padding: 5px 18px;
  background-color: var(--bg-color-gray);
  border-width: 0;
  line-height: 1.75
}

.contact__content-form .checklist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

@media screen and (min-width: 897px) {
  .contact__content-form .checklist li {
    width: 50%
  }

  .contact__content-form .checklist li:nth-child(n+3) {
    margin-top: 18px
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form .checklist li {
    width: 100%;
    margin-top: 20px
  }
}

.contact__content-form .checklist .checkbox {
  display: none
}

.contact__content-form .checklist .checkbox:checked+.txt:before {
  background-color: var(--text-color-red)
}

.contact__content-form .checklist .checkbox:checked+.txt:after {
  opacity: 1
}

.contact__content-form .checklist .txt {
  position: relative;
  padding-left: 32px;
  font-size: 1.4rem;
  text-align: center
}

.contact__content-form .checklist .txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
  border-radius: 2px;
  border: 1px solid #f0f0f0;
  background-color: #f0f0f0
}

.contact__content-form .checklist .txt:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  transform: rotate(45deg);
  width: 6px;
  height: 12px;
  border: 1px solid #fff;
  border-width: 0 2px 2px 0;
  opacity: 0
}

@media screen and (min-width: 897px) {
  .contact__content-form .radioarea {
    display: flex
  }
}

@media screen and (min-width: 897px) {
  .contact__content-form .radioarea li {
    margin-right: 54px
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form .radioarea li {
    margin-top: 30px
  }
}

.contact__content-form .radioarea .radiobtn {
  display: none
}

.contact__content-form .radioarea .radiobtn:checked+.txt:after {
  opacity: 1
}

.contact__content-form .radioarea .txt {
  position: relative;
  padding-left: 28px;
  font-size: 1.4rem;
  text-align: center
}

.contact__content-form .radioarea .txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background-color: #f0f0f0
}

.contact__content-form .radioarea .txt:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--text-color-red);
  opacity: 0
}

.contact__content-form .thanks_head {
  margin-bottom: 20px;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.35
}

.contact__content-form .phone_number {
  display: inline-block;
  margin: 12px 0;
  font-size: 1.8rem;
  font-weight: 900
}

.contact__content-privacy {
  overflow-y: scroll;
  height: 230px;
  padding: 36px 6.2%;
  margin-top: 20px;
  background-color: var(--bg-color-gray)
}

.contact__content-privacy h4 {
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.1em
}

.contact__content-privacy p {
  margin-top: 32px;
  font-size: 1.4rem;
  line-height: 1.71;
  letter-spacing: 0.05em
}

.contact__content .agreebox {
  margin-top: 30px;
  text-align: center;
  font-size: 2rem;
}

.contact__content .agreebox .agree_check {
  display: none
}

.contact__content .agreebox .agree_check:checked+.txt:before {
  background-color: var(--text-color-red)
}

.contact__content .agreebox .txt {
  position: relative;
  padding-left: 24px;
  font-size: 1.4rem;
  text-align: center
}

.contact__content .agreebox .txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
  border-radius: 2px;
  border: 1px solid var(--text-color-red)
}

.contact__content .agreebox .txt:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  transform: rotate(45deg);
  width: 6px;
  height: 12px;
  border: 1px solid #fff;
  border-width: 0 2px 2px 0
}

.contact__content .submitbtn {
  display: block;
  width: 250px;
  padding: 20px 0;
  margin: 60px auto 0;
  border-radius: 32px;
  background-color: var(--text-color-red);
  border: 1px solid var(--text-color-red);
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #fff;
  transition: .35s ease
}

@media screen and (min-width: 897px) {
  .contact__content .submitbtn:hover {
    background-color: #fff;
    color: var(--text-color-red)
  }
}

.contact__content .comp{
  font-size: 1.8rem;
  line-height: 2;
  font-weight: normal;
}


.contact__content select {
  appearance: none;
  padding: 11px 15px;
  line-height: 30px !important;
  padding-right: 1em;
  border: none;
  outline: 0;
  width: 100%;
  background-color: var(--bg-color-gray);
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  cursor: pointer;
  box-sizing: inherit;
  display: inline-block;
 position: relative;
 vertical-align: middle;
}


.contact__content select:before {
  position: absolute;
  top: 18px;
  right: 16px;
  width: 0;
  height: 0;
  border-width: 10px 5px 0 5px;
  border-style: solid;
  border-color: #eee transparent transparent transparent;
  content: "";
  pointer-events: none;
}
.contact__content select:after{
  position: absolute;
  content: "";
  color: #23cb99;
  width: 100px;
  height: 200px;
}
