html{
    scroll-behavior:smooth;
}
a{
    text-decoration:none;
}
body{
    position:relative;
    margin:0;
    font-family:"Shippori Mincho",serif;
    background:none;
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-999;
    background:linear-gradient(90deg,#2f76bb 0%,#222b8d 100%);
}
/*======================================
Header
======================================*/
.hamburger{
    display:none;
}
.site-header{
    width:100%;
    height:88px;
    background:#fff;
    position:relative;
    z-index:999;
}
.site-header__inner{
    max-width:1200px;
    width:100%;
    height:100%;
    margin:0 auto;
    padding:0 60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* Logo */
.site-header__logo{
    margin:0;
    flex-shrink:0;
	padding-top:20px;
}
.site-header__logo a{
    display:block;
}
.site-header__logo img{
    width:90px;
    display:block;
    height:auto;
}

/* Navigation */
.site-header__nav{
    height:100%;
}
.site-header__nav ul{
    height:100%;
    display:flex;
    align-items:center;
    gap:50px;
    margin:0;
    padding:0;
    list-style:none;
}
.site-header__nav li{
    height:100%;
}
.site-header__nav a{
    height:100%;
    display:flex;
    align-items:center;
    color:#111;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    letter-spacing:.02em;
    transition:.3s;
}
.site-header__nav a:hover{
    color:#1d7cf2;
}

/* Arrow */
.has-child>a{
    display:flex;
    align-items:center;
}
.has-child{
    position:relative;
}
.service-toggle{
    height:100%;
    display:flex;
    align-items:center;
    background:none;
    border:none;
    padding:0;
    color:#111;
    font-family:"Shippori Mincho",serif;
    font-size:15px;
    font-weight:600;
    letter-spacing:.02em;
    cursor:pointer;
}
.service-toggle:hover{
    color:#1d7cf2;
}
.service-submenu{
    position:absolute;
    top:88px;
    left:50%;
    transform:translateX(-50%);
    width:180px;
    height:auto!important;
    display:block!important;
    background:#fff;
    padding:14px 0!important;
    margin:0!important;
    list-style:none;
    box-shadow:0 12px 30px rgba(0,0,0,.12);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.25s;
}
.service-submenu li{
    height:auto!important;
}
.service-submenu a{
    height:auto!important;
    display:block!important;
    padding:12px 20px;
    font-size:14px;
    color:#111;
    white-space:nowrap;
}
.has-child.is-open .service-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.has-child.is-open .nav-arrow{
    margin-top:4px;
    transform:rotate(-135deg);
}
.nav-arrow{
    width:8px;
    height:8px;
    margin-left:10px;
    margin-top:-5px;
    border-right:3px solid #1d5cb8;
    border-bottom:3px solid #1d5cb8;
    transform:rotate(45deg);
}

/* Hamburger */
.hamburger{
    display:none;
}

.fv{
    position:relative;
    height:calc(100vh - 90px);
    overflow:hidden;
}

.fv-bg{
    position:absolute;
    inset:0;
    background:url("../images/fv.jpg") center center/cover no-repeat;
}

.fv-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(255,255,255,.18);
}

.fv-inner{
    position:relative;
    z-index:20;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    padding-left:30px;
}

.fv-copy{
    width:800px;
}

.copy-box{
    display:inline-block;
    background:#1c3ea5;
    color:#fff;
    padding:28px 40px 28px 30px;
    margin-bottom:38px;
    margin-left:-30px;
}

.copy-box h2{
    font-size:30px;
    font-weight:700;
    line-height:1.4;
}

.copy-box-second{
    margin-bottom:70px;
}

.fv-btns{
    display:flex;
    gap:30px;
}

.fv-btn{
    display:flex;
    justify-content:center;
    align-items:center;
    width:200px;
    height:62px;
    background:#fff;
    color:#222;
    text-decoration:none;
    font-size:18px;
    font-weight:700;
    transition:.3s;
}

.fv-btn:hover{
    background:#1c3ea5;
    color:#fff;
}

.fv-line{
    position:absolute;
    bottom:0;
    right:0;
    background:linear-gradient(180deg,#18a4f2 0%,#2145b4 100%);
    transform-origin:bottom center;
    z-index:5;
}
.fv-line-image{
    position:absolute;
    top:0;
    right:0;
    width:60%;
    height:100%;
    z-index:5;
    overflow:hidden;
}

.fv-line-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:right center;
    display:block;
}
.fv-lines{
    position:absolute;
    inset:0;
    overflow:hidden;
    z-index:2;
}

.top-news{
    background:#071d31;
    padding:55px 0 58px;
    color:#fff;
}
.top-news-inner{
    width:90%;
    max-width:1280px;
    margin:0 auto;
    display:flex;
    align-items:flex-start;
    gap:110px;
}
.top-news-heading{
    display:flex;
    align-items:center;
    min-width:220px;
}
.top-news-heading h2{
    font-family:"Times New Roman",serif;
    font-size:46px;
    font-weight:700;
    line-height:1;
    margin:0;
}
.top-news-heading span{
    font-size:18px;
    font-weight:700;
    margin-left:12px;
}
.top-news-list{
    flex:1;
    max-width:900px;
}
.top-news-item{
    display:flex;
    align-items:center;
    color:#fff;
    text-decoration:none;
    padding:0 0 14px;
    margin-bottom:16px;
    border-bottom:1px dashed rgba(255,255,255,.75);
}
.top-news-date{
    font-size:18px;
    font-weight:700;
    line-height:1;
    margin-right:28px;
    white-space:nowrap;
}
.top-news-cat{
    font-size:18px;
    font-weight:700;
    line-height:1;
    margin-right:28px;
    white-space:nowrap;
}
.top-news-title{
    font-size:18px;
    font-weight:700;
    line-height:1.4;
    margin:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.top-news-item:hover{
    opacity:.7;
}
.top-news-empty{
    font-size:18px;
    font-weight:700;
    margin:0;
}
.top-service{
    padding:90px 0;
}

.top-service-inner{
    width:90%;
    max-width:1280px;
    margin:0 auto;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:60px;
}

.top-service-card{
    width:280px;
    height:100px;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    background:linear-gradient(135deg,#03155d 0%,#18255f 100%);
    transition:.35s;
    position:relative;
    overflow:hidden;
}

.top-service-card span{
    color:#fff;
    font-size:23px;
    font-weight:700;
    letter-spacing:.08em;
    position:relative;
    z-index:2;
}

.top-service-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 60%);
    opacity:0;
    transition:.35s;
}

.top-service-card:hover{
    background:#fff;
}

.top-service-card:hover span{
    color:#18255f;
}
.about{
    padding:140px 0;
    overflow:hidden;
}

.about-inner{
    width:90%;
    max-width:1400px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    gap:80px;
	    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}

.about-content{
    width:48%;
    color:#fff;
    position:relative;
    z-index:2;
}

.about-subtitle{
    display:flex;
    align-items:flex-end;
    margin-bottom:35px;
}

.about-subtitle span{
    font-size:60px;
    font-weight:700;
    line-height:1;
}

.about-subtitle small{
    font-size:22px;
    font-weight:600;
    margin-left:14px;
    margin-bottom:6px;
}

.about-title{
    font-size:35px;
    line-height:1.55;
    font-weight:700;
    margin-bottom:50px;
    letter-spacing:.04em;
}

.about-text{
    font-size:18px;
    line-height:2;
    color:rgba(255,255,255,.92);
    margin-bottom:70px;
}

.about-btn{
    width:250px;
    height:78px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#071d63;
    color:#fff;
    text-decoration:none;
    transition:.35s;
}

.about-btn span{
    font-size:18px;
    font-weight:700;
    transition:.35s;
}

.about-btn:hover{
    background:#fff;
}

.about-btn:hover span{
    color:#071d63;
}

.about-image{
    width:70%;
    display:flex;
    justify-content:flex-end;
    align-items:flex-end;
	    width:48%;
    overflow:hidden;
	margin-bottom:-200px;
}

.about-image img{
    width:100%;
    max-width:650px;
    display:block;
	
}
.message{
    background:#081b2e;
    padding:120px 0;
    overflow:hidden;
}

.message-inner{
    width:100%;
    max-width:1400px;
    margin:0 auto;
}

.message-copy{
    display:block;
    background:linear-gradient(90deg,#2f76bb 0%,#263ba8 100%);
    padding:22px 42px;
    margin-bottom:35px;
    margin-left:-20px;
}

.message-copy h2{
    color:#fff;
    font-size:32px;
    font-weight:700;
    line-height:1.4;
    margin:0;
    letter-spacing:.05em;
}

.message-copy-1{
    width:520px;
}

.message-copy-2{
    width:720px;
    margin-bottom:0;
}
.service-sec{
    padding:90px 0;
    background:transparent;
}
.service-box{
    width:90%;
    max-width:900px;
    margin:0 auto;
    background:#111744;
    border-radius:36px;
    padding:55px 75px 60px;
    color:#fff;
}
.service-heading{
    display:flex;
    align-items:flex-end;
    gap:18px;
    margin-bottom:42px;
}
.service-heading h2{
    font-size:58px;
    line-height:1;
    font-weight:700;
    margin:0;
}
.service-heading span{
    font-size:20px;
    font-weight:700;
    margin-bottom:8px;
}
.service-list{
    display:flex;
    flex-direction:column;
    gap:46px;
}
.service-item{
    display:grid;
    grid-template-columns:1fr 150px;
    align-items:center;
    column-gap:6px;
}
.service-text h3{
    font-size:32px;
    line-height:1;
    font-weight:700;
    margin:0 0 20px;
}
.service-text p{
    font-size:16px;
    line-height:2;
    font-weight:700;
    margin:0;
}
.service-btn{
    width:130px;
    height:46px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fff;
    color:#111744;
    border:1px solid #fff;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    transition:.3s;
}
.service-btn:hover{
    background:#111744;
    color:#fff;
}
.blog-sec{
    padding:90px 0;
    background:transparent;
}
.blog-box{
    width:90%;
    max-width:900px;
    margin:0 auto;
    background:#fff;
    border-radius:36px;
    padding:58px 75px 55px;
}
.blog-heading{
    display:flex;
    align-items:flex-end;
    gap:14px;
    margin-bottom:45px;
    color:#111744;
}
.blog-heading h2{
    font-size:52px;
    line-height:1;
    font-weight:700;
    margin:0;
}
.blog-heading span{
    font-size:18px;
    font-weight:700;
    margin-bottom:7px;
}
.blog-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:70px;
    max-width:980px;
    margin:0 auto 58px;
}
.blog-card{
    display:block;
    text-decoration:none;
    color:#111744;
    background:#ddd;
    border-radius:24px;
    overflow:hidden;
    transition:.35s;
}
.blog-card:hover{
    transform:translateY(-6px);
    box-shadow:0 16px 35px rgba(0,0,0,.18);
}
.blog-thumb{
    width:100%;
    height:160px;
    overflow:hidden;
}
.blog-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.35s;
}
.blog-card:hover .blog-thumb img{
    transform:scale(1.08);
}
.blog-body{
    padding:18px 20px 22px;
}
.blog-body time{
    display:block;
    font-size:15px;
    font-weight:700;
    margin-bottom:10px;
}
.blog-body h3{
    font-size:18px;
    line-height:1.5;
    font-weight:700;
    margin:0;
}
.blog-more-wrap{
    display:flex;
    justify-content:center;
}
.blog-more{
    position:relative;
    width:260px;
    height:62px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(90deg,#2378bd 0%,#223199 100%);
    color:#fff;
    text-decoration:none;
    font-size:20px;
    font-weight:700;
    overflow:visible;
    transition:.35s;
    transform:skewX(-16deg);
}
.blog-more::before,
.blog-more::after{
    content:"";
    position:absolute;
    top:0;
    width:28px;
    height:100%;
    background:inherit;
    transition:.35s;
}
.blog-more::before{
    left:-33px;
}
.blog-more::after{
    right:-33px;
}
.blog-more span{
    position:relative;
    z-index:2;
}
.blog-more:hover{
    background:#111744;
}
.blog-more:hover::before,
.blog-more:hover::after{
    background:#111744;
}
.blog-empty{
    grid-column:1/-1;
    text-align:center;
    color:#111744;
    font-size:18px;
    font-weight:700;
    margin:0;
}
.blog-more span{
    position:relative;
    z-index:2;
    display:inline-block;
    transform:skewX(16deg);
}
.flow-text{
    overflow:hidden;
    padding:20px 0;
    user-select:none;
		background:linear-gradient(90deg,#2f79bf 0%,#2533a1 100%);
}
.flow-text-2{
    overflow:hidden;
    padding:20px 0;
    user-select:none;
		background:linear-gradient(90deg,#2f79bf 0%,#2533a1 100%);
}
.flow-text-wrap{
    display:flex;
    width:max-content;
    animation:flowText 200s linear infinite;
}

.flow-text-inner{
    display:flex;
    align-items:center;
    flex-shrink:0;
}

.flow-text-inner span{
    display:block;
    margin-right:100px;
    font-size:180px;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
    color:rgba(255,255,255,.18);
    letter-spacing:.08em;
}

@keyframes flowText{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }

}
@keyframes flowText-2{

    from{
        transform:translateX(-50%);
    }

    to{
        transform:translateX(0);
    }

}
.contact-sec{
    padding:100px 0;
}
.recruit-sec{
    padding:100px 0;
	background:linear-gradient(90deg,#2f79bf 0%,#2533a1 100%);
}
.recruit-contact-sec{
    padding:100px 0;
	background:linear-gradient(90deg,#2f79bf 0%,#2533a1 100%);
}
.flow-sec{
    padding:100px 0;
background:linear-gradient(90deg,#2f79bf 0%,#2533a1 100%);
}
.contact-inner{
    width:100%;
    max-width:none;
    margin:0;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.contact-image{
    width:80%;
    overflow:hidden;
    clip-path:polygon(
        0 0,
        100% 0,
        82% 100%,
        0 100%
    );
}

.contact-image img{
    width:120%;
    margin-left:-60px;
    height:450px;
    object-fit:cover;
    display:block;
}

.contact-box{
    width:70%;
    background:#fff;
    padding:70px;
    position:relative;
    z-index:3;

    clip-path:polygon(
        18% 0,
        100% 0,
        100% 100%,
        0 100%
    );

    transform:none;
    margin-left:-300px;
    margin-top:80px;
}
.contact-content{
    padding-left:90px;
}


.contact-heading{
    display:flex;
    align-items:flex-end;
    gap:18px;
    margin-bottom:40px;
}

.contact-heading h2{
    font-size:60px;
    color:#1d2368;
    line-height:1;
    margin:0;
}

.contact-heading span{
    font-size:20px;
    color:#1d2368;
    font-weight:700;
    margin-bottom:8px;
}

.contact-text{
    font-size:18px;
    line-height:2;
    color:#1d2368;
    margin-bottom:55px;
}

.contact-btn{
    position:relative;
    width:250px;
    height:64px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(90deg,#2c7bc2,#27369d);
    color:#fff;
    text-decoration:none;
    transform:skewX(-16deg);
    transition:.3s;
}

.contact-btn span{
    transform:skewX(16deg);
    font-size:20px;
    font-weight:700;
}

.contact-btn::before,
.contact-btn::after{
    content:"";
    position:absolute;
    top:0;
    width:5px;
    height:100%;
    background:#fff;
}

.contact-btn::before{
    left:8px;
}

.contact-btn::after{
    right:8px;
}

.contact-btn:hover{
    background:#111744;
}
.footer{
    background:#07192d;
    padding:100px 0;
}

.footer-inner{
    width:90%;
    max-width:1400px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:100px;
}

.footer-left{
    width:48%;
}

.footer-copy{
    width:100%;
    max-width:900px;

    margin-left:calc(50% - 50vw);
    padding-left:calc(50vw - 80% + 200px);

    padding-top:120px;
    padding-bottom:120px;

    background:linear-gradient(90deg,#3b84c8 0%,#2936a8 100%);
}

.footer-copy h2{
    color:#fff;
    font-size:28px;
    line-height:1.8;
    font-weight:700;
    margin:0;
}

.footer-right{
    width:42%;
}

.footer-nav{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:70px 80px;
}

.footer-column h3{
    margin:0 0 28px;
    font-size:23px;
    color:#fff;
    font-weight:700;
}

.footer-column h3 a{
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.footer-column h3 a:hover{
    color:#3d8cff;
}

.footer-column ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-column li{
    margin-bottom:28px;
}

.footer-column li:last-child{
    margin-bottom:0;
}

.footer-column li a{
    color:#fff;
    text-decoration:none;
    font-size:17px;
    transition:.3s;
}

.footer-column li a:hover{
    color:#3d8cff;
}

.footer-space{
    margin-top:60px;
}
.recruit-page{
    background:#fff;
}
.recruit-fv{
    position:relative;
    height:calc(100vh - 88px);
    min-height:760px;
    overflow:hidden;
    background:#fff;
}
.recruit-fv-bg{
    position:absolute;
    top:0;
    right:0;

    width:100%;
    height:100%;

    background:url("../images/recruit-fv.jpg") right center / cover no-repeat;

    z-index:1;
}
.employment-fv-bg{
    position:absolute;
    top:0;
    right:0;

    width:100%;
    height:100%;

    background:url("../images/employment-fv.jpg") right center / cover no-repeat;

    z-index:1;
}
.company-fv-bg{
    position:absolute;
    top:0;
    right:0;

    width:100%;
    height:100%;

    background:url("../images/company-fv.jpg") right center / cover no-repeat;

    z-index:1;
}
.company-related{

    padding:45px;

}

.company-related__heading{
	

}

.company-related__heading h2{

    color:#fff;

    font-size:35px;

    font-weight:700;

    position:relative;

    display:inline-block;

    padding-right:170px;

}

.company-related__heading h2::after{

    content:"";

    position:absolute;

    top:50%;
    right:0;

    width:140px;
    height:1px;

    background:rgba(255,255,255,.35);

}

.company-related__list{

    display:flex;

    flex-direction:column;

    gap:80px;

}

.company-related__card{

}

.company-related__card h3{

    color:#fff;

    font-size:28px;

    margin-bottom:35px;

}

.company-related__card ul{

    margin:0;

    padding:0;

    list-style:none;

}

.company-related__card li{

    position:relative;

    color:#fff;

    font-size:18px;

    line-height:2;

    padding-left:22px;

}

.company-related__card li::before{

    content:"・";

    position:absolute;

    left:0;

}

.company-related__info{

    margin-top:45px;

}

.company-related__info p{

    display:flex;

    gap:40px;

    margin-bottom:25px;

    color:#fff;

    font-size:19px;

    line-height:1.8;

}

.company-related__info span{

    width:130px;

    flex-shrink:0;

    font-weight:700;

}
.recruit-fv-inner{
    width:100%;
    max-width:none;
    margin:0;
    height:100%;
    display:flex;
    align-items:center;
	position:relative;
	z-index:2;
}
.recruit-fv-content{
    width:68%;
    padding-top:50px;
}
.recruit-fv-titlebox{
    width:600px;
    background:linear-gradient(90deg,#2f79bf 0%,#2533a1 100%);
    color:#fff;
    padding:55px 65px 60px;
}
.recruit-fv-titlebox p{
    font-size:42px;
    line-height:1;
    font-weight:700;
    margin:0 0 25px;
}
.recruit-fv-titlebox h1{
    font-size:70px;
    line-height:1;
    font-weight:700;
    margin:0;
    letter-spacing:.06em;
}
.recruit-fv-copy{
    width:880px;
    background:linear-gradient(90deg,#2f79bf 0%,#2533a1 100%);
    color:#fff;
    padding:24px 65px;
    margin-top:-5px;
}
.recruit-fv-copy p{
    font-size:28px;
    line-height:1.7;
    font-weight:700;
    margin:0;
    letter-spacing:.04em;
}
/*======================================
求人広告 お悩み
======================================*/

.recruit-trouble{
    width:100%;
    height:900px;
    background:url("../images/recruit-trouble.jpg") center center / cover no-repeat;
}

.recruit-trouble__inner{
    width:100%;
    height:100%;
}
/*======================================
RISE careerが解決します
======================================*/

.recruit-message{
    background:#fff;
    padding:80px 20px;
}

.recruit-message-inner{
    max-width:1200px;
    margin:0 auto;
    text-align:center;
}

.recruit-message-logo{
    width:170px;
    height:auto;
    display:block;
    margin:0 auto 25px;
}

.recruit-message h2{
    margin:0;
    color:#111;
    font-size:40px;
    font-weight:700;
    line-height:1.5;
}

.recruit-btn{
    position:relative;
    width:400px;
    height:75px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(90deg,#2c7bc2,#27369d);
    color:#fff;
    text-decoration:none;
    transform:skewX(-16deg);
    transition:.3s;
    text-align:center;
}
.recruit-btn-wrap{
    display:flex;
    justify-content:center;
	margin-bottom:20px;
}
.recruit-btn-wrap-2{
    display:flex;
    justify-content:center;
	margin-top:100px;
	margin-bottom:100px;
}
.recruit-btn span{
    transform:skewX(16deg);
    font-size:20px;
    font-weight:700;
}

.recruit-btn::before,
.recruit-btn::after{
    content:"";
    position:absolute;
    top:0;
    width:5px;
    height:100%;
    background:#fff;
}

.recruit-btn::before{
    left:8px;
}

.recruit-btn::after{
    right:8px;
}
/*======================================
取り扱い求人媒体
======================================*/

.recruit-media{
    background:#fff;
    padding:100px 0;
}

.recruit-media-inner{
    width:90%;
    max-width:800px;
    margin:0 auto;
}

.recruit-media-image{
    display:block;
    width:100%;
    height:auto;
}
/*======================================
Flow
======================================*/

.flow-sec{
    padding:120px 0;
}

.flow-inner{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

.flow-heading{
    margin-bottom:80px;
}

.flow-heading h2{
    color:#fff;
    font-size:40px;
    line-height:1;
    font-weight:700;
    margin:0;
}

.flow-heading span{
    font-size:32px;
}

.flow-list{
    display:flex;
    flex-direction:column;
    gap:65px;
}

.flow-item{
    display:flex;
    align-items:flex-start;
    gap:55px;
}

.flow-num{
    flex-shrink:0;

    width:96px;
    height:96px;

    background:#fff;
    border-radius:50%;

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

    font-size:40px;
    font-weight:700;
    color:#111;
    line-height:1;
}

.flow-content{
    flex:1;
    padding-top:5px;
}

.flow-content h3{
    color:#fff;
    font-size:40px;
    line-height:1.15;
    margin:0 0 18px;
    font-weight:700;
}

.flow-content p{
    color:#fff;
    font-size:18px;
    line-height:2;
    margin:0;
    font-weight:500;
    max-width:850px;
}
/*======================================
Employment Merit
======================================*/

.employment-merit{
    padding:120px 0;
}

.employment-merit__inner{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

.employment-merit .recruit-btn-wrap{
    margin-bottom:90px;
}

.employment-merit .recruit-btn{
    width:640px;
    height:105px;
}

.employment-merit .recruit-btn span{
    font-size:22px;
    line-height:1.8;
}

.employment-merit-list{
    display:flex;
    flex-direction:column;
    gap:70px;
}

.employment-merit-item{
    display:flex;
    align-items:center;
    gap:45px;
}

.employment-merit-num{

    flex-shrink:0;

    width:64px;
    height:64px;

    border-radius:50%;

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

    color:#fff;
    font-size:22px;
    font-weight:700;

    background:linear-gradient(180deg,#3046c6,#24308f);

    box-shadow:
    0 0 0 4px rgba(255,255,255,.12),
    0 0 18px rgba(120,190,255,.45);

}

.employment-merit-box{

    flex:1;

    background:#fff;

    border-radius:18px;

    padding:24px 34px;

    font-size:24px;

    font-weight:700;

    color:#111;

    line-height:1.6;

    box-shadow:0 10px 24px rgba(0,0,0,.12);

}
/*======================================
求職者側のメリット
======================================*/

.employment-user__inner{
    width:90%;
    max-width:1200px;
    margin:0 auto;
    position:relative;
}
.employment-user{
    padding:120px 0;
}
.employment-user__box{

    background:#fff;

    padding:120px 90px 90px;

    position:relative;

}

.employment-user__title{
    position:absolute;
    top:-38px;
    left:50%;
    transform:translateX(-50%);
    z-index:10;

    width:520px;
    height:76px;

    background:linear-gradient(90deg,#2f79bf,#2634a1);

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

    color:#fff;
    font-size:36px;
    font-weight:700;
}

.employment-user__item{

    display:flex;

    align-items:stretch;

    margin-bottom:70px;

}

.employment-user__item:last-child{

    margin-bottom:0;

}

.employment-user__content{

    width:48%;

    background:linear-gradient(90deg,#2f79bf,#2634a1);

    padding:60px 50px;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.employment-user__content h3{

    color:#fff;

    font-size:32px;

    margin:0 0 25px;

    line-height:1.4;

}

.employment-user__content p{

    color:#fff;

    font-size:18px;

    line-height:2;

    margin:0;

}

.employment-user__image{

    width:52%;

}

.employment-user__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}
/*======================================
企業側のメリット
======================================*/

.employment-company{
    padding:120px 0;
}

.employment-company__inner{
    width:90%;
    max-width:1200px;
    margin:0 auto;
    position:relative;
}

.employment-company__box{
    padding:120px 60px 70px;
    position:relative;
}

.employment-company__title{

    position:absolute;

    top:-34px;
    left:60px;

    width:510px;
    height:72px;

    background:#fff;

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

    color:#2046b3;

    font-size:36px;
    font-weight:700;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.employment-company__item{

    display:flex;
    align-items:stretch;

    margin-bottom:55px;

}

.employment-company__item:last-child{
    margin-bottom:0;
}

.employment-company__content{

    width:50%;

    background:#fff;

    border:1px solid #ececec;

    padding:55px;

    display:flex;
    flex-direction:column;
    justify-content:center;

}

.employment-company__content h3{

    color:#2046b3;

    font-size:28px;

    margin:0 0 22px;

    line-height:1.4;

}

.employment-company__content p{

    color:#2046b3;

    font-size:18px;

    line-height:2;

    margin:0;

    font-weight:600;

}

.employment-company__image{

    width:50%;

}

.employment-company__image img{

    width:100%;
    height:100%;
    object-fit:cover;
    display:block;

}
/*======================================
About Intro
======================================*/

.about-intro{
    background:#08182b;
    padding:130px 0;
}

.about-intro-inner{
    width:90%;
    max-width:1300px;
    margin:auto;

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

.about-intro-content{
    width:46%;
}

.about-intro-sub{
    color:#fff;
    font-size:40px;
    font-weight:700;
    line-height:1;
    margin:0 0 40px;
}

.about-intro-sub span{
    font-size:18px;
    margin-left:12px;
}

.about-intro-content h2{
    color:#fff;
    font-size:35px;
    line-height:1.4;
    margin-bottom:55px;
}

.about-intro-text{
    color:#fff;
    font-size:18px;
    line-height:2;
}

.about-intro-circle{

    width:46%;

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

}

.circle-wrap{

    width:420px;
    height:420px;

    animation:circleRotate 28s linear infinite;

}

.circle-wrap svg{

    width:100%;
    height:100%;

}

.circle-wrap text{

    fill:#fff;

    font-size:30px;

    font-weight:700;

    letter-spacing:3px;

}

@keyframes circleRotate{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}
.company-philosophy{
    padding:100px 0 120px;
    background:transparent;
    overflow:hidden;
}
.company-philosophy__inner{
    width:90%;
    max-width:1100px;
    margin:0 auto;
    position:relative;
}
.company-philosophy__title{
    position:absolute;
    top:-55px;
    left:-120px;
    width:600px;
    height:86px;
    background:#07192d;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:2;
}
.company-philosophy__title h2{
    color:#fff;
    font-size:38px;
    font-weight:700;
    line-height:1;
    margin:0;
    letter-spacing:.04em;
}
.company-philosophy__image{
    width:82%;
    margin:55px auto 0;
	margin-bottom:100px;
}
.company-philosophy__image img{
    width:100%;
    height:430px;
    object-fit:cover;
    display:block;
}
/*======================================
Company MVV
======================================*/

.company-mvv{

    padding:140px 0;

}

.company-mvv__inner{

    width:90%;
    max-width:1200px;
    margin:auto;

}

.company-mvv__item{

    margin-bottom:130px;

}

.company-mvv__item:last-child{

    margin-bottom:0;

}

.company-mvv__heading{

    display:flex;
    align-items:flex-end;
    gap:15px;

    margin-bottom:50px;

}

.company-mvv__heading h2{

    margin:0;

    color:#fff;

    font-size:55px;

    line-height:1;

    font-weight:700;

}

.company-mvv__heading span{

    color:#fff;

    font-size:20px;

    font-weight:700;

    margin-bottom:10px;

}

.company-mvv__item h3{

    margin:0 0 45px;

    color:#fff;

    font-size:30px;

    line-height:1.45;

    font-weight:700;

}

.company-mvv__item p{

    margin:0;

    color:#fff;

    font-size:22px;

    line-height:2.2;

    font-weight:500;

    max-width:1000px;

}
/*======================================
Service
======================================*/

.company-service{

    background:#08182b;

    padding:120px 0;

}

.company-service__inner{

    width:90%;

    max-width:900px;

    margin:auto;

}

.company-service__heading{

    text-align:center;

    margin-bottom:70px;

}

.company-service__heading span{

    display:block;

    color:#fff;

    font-size:25px;

    font-weight:700;

    margin-bottom:12px;

}

.company-service__heading h2{

    margin:0;

    color:#fff;

    font-size:50px;

    line-height:1;

    font-weight:700;

}

.company-service__grid{

    display:flex;

    flex-direction:column;

}

.service-bottom{

    display:grid;

    grid-template-columns:1fr 1fr;

}

.service-card{

    position:relative;

    display:block;

    overflow:hidden;

    height:240px;

    text-decoration:none;

}

.service-card-large{

    height:280px;

}

.service-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.8s;

}

.service-overlay{

    position:absolute;

    inset:0;

    background:rgba(37,52,161,.55);

    transition:.4s;

}

.service-card h3{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    color:#fff;

    font-size:35px;

    font-weight:700;

    margin:0;

    z-index:2;

    letter-spacing:.04em;

}

.service-card:hover img{

    transform:scale(1.08);

}

.service-card:hover .service-overlay{

    background:rgba(37,52,161,.35);

}
/*======================================
Company Message
======================================*/

.company-message{

    padding:140px 0;

}

.company-message__inner{

    width:90%;
    max-width:1100px;
    margin:auto;

}

.company-message__heading{

    display:flex;
    align-items:flex-end;
    gap:15px;

    margin-bottom:55px;

}

.company-message__heading h2{

    margin:0;

    color:#fff;

    font-size:64px;

    line-height:1;

    font-weight:700;

}

.company-message__heading span{

    color:#fff;

    font-size:24px;

    font-weight:700;

    margin-bottom:10px;

}

.company-message__catch{

    color:#fff;

    font-size:52px;

    line-height:1.45;

    margin:0 0 70px;

    font-weight:700;

}

.company-message__body{

    max-width:1000px;

}

.company-message__body p{

    color:#fff;

    font-size:20px;

    line-height:2.2;

    margin:0 0 40px;

    font-weight:500;

}

.company-message__value{

    font-size:28px !important;

    font-weight:700 !important;

    line-height:2 !important;

    margin:70px 0 !important;

}

.company-message__name{

    margin-top:80px;

    color:#fff;

    font-size:28px;

    line-height:1.8;

    font-weight:700;

}
/*======================================
Company Profile
======================================*/

.company-profile{

    padding:140px 0;

}

.company-profile__inner{

    width:90%;
    max-width:1200px;
    margin:auto;

}

.company-profile__heading{

    display:flex;
    align-items:flex-end;
    gap:15px;

    margin-bottom:70px;

}

.company-profile__heading h2{

    margin:0;

    color:#fff;

    font-size:64px;

    line-height:1;

    font-weight:700;

}

.company-profile__heading span{

    color:#fff;

    font-size:24px;

    font-weight:700;

    margin-bottom:10px;

}

.company-profile__table{

    width:100%;

    border-collapse:collapse;

}

.company-profile__table tr{

    border-bottom:1px solid rgba(255,255,255,.45);

}

.company-profile__table tr:first-child{

    border-top:1px solid rgba(255,255,255,.45);

}

.company-profile__table th{

    width:220px;

    padding:32px 20px;

    color:#fff;

    text-align:left;

    vertical-align:top;

    font-size:20px;

    font-weight:700;

    line-height:1.5;

}

.company-profile__table td{

    padding:32px 20px;

    color:#fff;

    font-size:20px;

    font-weight:500;

    line-height:1.5;

}
.company-business-list{

    margin:25px 0 0;
    padding-left:1.2em;

}

.company-business-list li{

    margin-bottom:18px;

    color:#fff;

    font-size:16px;

    line-height:1;

    font-weight:600;

}

.company-business-list li:last-child{

    margin-bottom:0;

}
.business-item{

    margin-bottom:40px;

}

.business-item:last-child{

    margin-bottom:0;

}

.business-item strong{

    display:block;

    color:#fff;

    font-size:25px;

    font-weight:700;

    margin-bottom:18px;

}

.business-item p{

    margin:0;

    color:#fff;

    font-size:18px;

    line-height:1.5;

}
/*==============================
News List
==============================*/

.news-page{

padding:120px 0;

}

.news-inner{

width:90%;
max-width:1200px;
margin:auto;

}

.news-heading{

margin-bottom:80px;

}

.news-heading p{

color:#fff;
font-size:26px;
font-weight:700;
margin:0 0 15px;

}

.news-heading h1{

margin:0;
color:#fff;
font-size:72px;
line-height:1;

}

.news-grid{

display:grid;
grid-template-columns:repeat(3,1fr);
gap:60px 40px;

}

.news-card{

display:block;
text-decoration:none;

}

.news-thumb{

aspect-ratio:16/10;
overflow:hidden;
background:#fff;

}

.news-thumb img{

width:100%;
height:100%;
object-fit:cover;
display:block;
transition:.6s;

}

.news-card:hover img{

transform:scale(1.08);

}

.news-content{

margin-top:18px;

}

.news-content h2{

color:#fff;
font-size:24px;
margin:0 0 15px;
line-height:1.4;

}

.news-content p{

color:#fff;
font-size:18px;
line-height:1.8;
margin:0;

}

.news-pagination{

margin-top:90px;
text-align:center;

}

.news-pagination .page-numbers{

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

width:55px;
height:55px;

margin:0 8px;

background:#fff;

color:#2436a0;

text-decoration:none;

font-weight:700;

transition:.3s;

}

.news-pagination .current{

background:#2436a0;
color:#fff;

}

.news-pagination a:hover{

background:#2f79bf;
color:#fff;

}
/*======================================
Single News
======================================*/

.single-news{

    padding:120px 0;

}

.single-news__inner{

    width:90%;
    max-width:1000px;
    margin:auto;

}

.single-news__thumb{

    width:100%;
    aspect-ratio:16 / 9;
    margin-bottom:50px;
    overflow:hidden;

}

.single-news__thumb img{

    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;

}

.single-news__meta{

    display:flex;
    gap:15px;
    align-items:center;

    margin-bottom:25px;

}

.single-news__date{

    color:#fff;
    font-size:16px;

}

.single-news__cat{

    background:#fff;
    color:#2436a0;

    padding:6px 18px;

    font-size:14px;

    font-weight:700;

}

.single-news__title{

    color:#fff;

    font-size:48px;

    line-height:1.4;

    margin:0 0 50px;

}

.single-news__content{

    color:#fff;

    font-size:18px;

    line-height:2.2;

}

.single-news__content h2{

    margin-top:70px;
    margin-bottom:25px;

    font-size:34px;

}

.single-news__content h3{

    margin-top:45px;
    margin-bottom:18px;

    font-size:28px;

}

.single-news__content p{

    margin-bottom:28px;

}

.single-news__content img{

    max-width:100%;
    height:auto;

    margin:40px 0;

}

.single-news__content ul{

    padding-left:20px;

    margin:25px 0;

}

.single-news__content li{

    margin-bottom:12px;

}

.single-news__nav{

    margin-top:100px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    border-top:1px solid rgba(255,255,255,.3);

    padding-top:40px;

}

.single-news__nav a{

    color:#fff;

    text-decoration:none;

    transition:.3s;

}

.single-news__nav a:hover{

    color:#5fa8ff;

}

.single-news__back a{

    display:inline-block;

    padding:16px 42px;

    background:#fff;

    color:#2436a0;

    font-weight:700;

}

/*======================================
Contact Page
======================================*/

.contactpage{
    padding:120px 0;
}

.contactpage-inner{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

.contactpage-heading{
    margin-bottom:70px;
}

.contactpage-subtitle{
    margin:0 0 12px;
    color:#fff;
    font-size:24px;
    font-weight:700;
}

.contactpage-title{
    margin:0;
    color:#fff;
    font-size:64px;
    line-height:1;
    font-weight:700;
}

.contactpage-formbox{
    width:520px;
}

/* =========================
   項目
========================= */

.contactpage-formbox .wpcf7 p{
    margin:0 0 38px;
}

.contactpage-label{
    display:block;
    color:#fff;
    font-size:18px;
    font-weight:700;
    margin-bottom:12px;
}

/* =========================
   入力欄
========================= */

.contactpage-formbox input:not([type="checkbox"]):not([type="submit"]),
.contactpage-formbox select,
.contactpage-formbox textarea{

    width:100%;
    background:#fff;
    border:none;
    outline:none;
    border-radius:0;
    padding:15px 18px;
    box-sizing:border-box;
    font-size:16px;
    font-family:inherit;

}

.contactpage-formbox input{

    height:48px;

}

.contactpage-formbox textarea{

    height:170px;
    resize:none;
    padding-top:15px;

}

/* =========================
   select
========================= */

.contactpage-formbox select{
    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    width:100%;
    height:58px;

    padding:0 70px 0 20px;

    background:#fff;
    border:none;
    outline:none;

    font-size:16px;
    font-family:inherit;

    background-image:none;

}
.contactpage-select{
    position:relative;
}

.contactpage-select::after{
    content:"";
    position:absolute;

    right:24px;
    top:50%;
    transform:translateY(-50%);

    width:18px;
    height:12px;

    background:#1d4fa8;

    clip-path:polygon(0 0,100% 0,50% 100%);

    pointer-events:none;
}
/* =========================
   プライバシー
========================= */

.contactpage-privacy{

    background:#fff;
    padding:18px;
    height:130px;
    overflow-y:auto;
    font-size:13px;
    line-height:1.8;
    color:#222;
    margin-bottom:25px;

}

/* =========================
   チェック
========================= */

.contactpage-formbox .wpcf7-acceptance{

    display:block;
    margin-bottom:40px;

}

.contactpage-formbox .wpcf7-acceptance label{

    display:flex;
    align-items:center;
    gap:12px;
    color:#fff;
    font-size:16px;

}

.contactpage-formbox .wpcf7-acceptance input{

    width:20px;
    height:20px;

}

/* =========================
   ボタン
========================= */

.contactpage-formbox .wpcf7-submit{

    width:150px !important;
    height:50px !important;

    background:#fff !important;
    color:#111 !important;

    border:none !important;

    font-size:18px !important;
    font-weight:700 !important;

    cursor:pointer;
    transition:.3s;

}

.contactpage-formbox .wpcf7-submit:hover{

    background:#2436a0 !important;
    color:#fff !important;

}


















@media screen and (max-width:768px){
    .top-news{
        padding:40px 0;
    }
    .top-news-inner{
        width:88%;
        display:block;
    }
    .top-news-heading{
        margin-bottom:28px;
    }
    .top-news-heading h2{
        font-size:38px;
    }
    .top-news-heading span{
        font-size:16px;
    }
    .top-news-item{
        display:block;
        padding-bottom:16px;
        margin-bottom:18px;
    }
    .top-news-date{
        display:inline-block;
        font-size:20px;
        margin-right:16px;
        margin-bottom:8px;
    }
    .top-news-cat{
        display:inline-block;
        font-size:18px;
        margin-right:0;
        margin-bottom:8px;
    }
    .top-news-title{
        font-size:18px;
        white-space:normal;
    }
	.top-service-inner{
    display:block;
    gap:0px;
}

.top-service-card{
    width:180px;
    height:70px;
    margin-bottom:20px;
}
	.top-service-card span{
    color:#fff;
    font-size:16px;
    font-weight:700;
    letter-spacing:.08em;
    position:relative;
    z-index:2;
}
	.top-service{
    padding:60px 0;
}

.top-service-inner{
    width:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:25px;
}

.top-service-card{
    width:90%;
    max-width:220px;
    height:70px;
    margin:0 auto;
}
	.about{
    padding:80px 0;
   padding-bottom:0px;
}

.about-inner{
    flex-direction:column;
    gap:50px;
}

.about-content{
    width:100%;
}

.about-subtitle span{
    font-size:42px;
}

.about-subtitle small{
    font-size:16px;
    margin-left:10px;
}

.about-title{
    font-size:25px;
    margin-bottom:30px;
}

.about-text{
    font-size:16px;
    line-height:2;
    margin-bottom:40px;
}

.about-btn{
    width:240px;
    height:60px;
}

.about-btn span{
    font-size:18px;
}

.about-image{
    width:100%;
    justify-content:center;
	margin-bottom:0;
}

.about-image img{
    max-width:320px;
}
.message{
    padding:70px 0;
}

.message-inner{
    width:90%;
}

.message-copy{
    width:auto;
    max-width:100%;
    padding:16px 24px;
    margin-left:0;
    margin-bottom:20px;
}

.message-copy h2{
    font-size:20px;
}

.message-copy-1,
.message-copy-2{
    width:auto;
}
	    .service-sec{
        padding:60px 0;
    }
    .service-box{
        width:88%;
        border-radius:24px;
        padding:38px 24px 42px;
    }
    .service-heading{
        gap:12px;
        margin-bottom:35px;
    }
    .service-heading h2{
        font-size:42px;
    }
    .service-heading span{
        font-size:15px;
        margin-bottom:5px;
    }
    .service-list{
        gap:38px;
    }
    .service-item{
        display:block;
    }
    .service-text h3{
        font-size:30px;
        margin-bottom:16px;
    }
    .service-text p{
        font-size:14px;
        line-height:2;
        margin-bottom:22px;
    }
    .service-btn{
        width:150px;
        height:44px;
    }
    .pc-only{
        display:none;
    }
	
.blog-sec{
    padding:60px 0;
}

.blog-box{
    width:90%;
    padding:40px 0 40px;
    border-radius:24px;
}

.blog-heading{
    padding:0 20px;
    align-items:flex-end;
    gap:10px;
    margin-bottom:30px;
}

.blog-heading h2{
    font-size:40px;
}

.blog-heading span{
    font-size:14px;
    margin-bottom:4px;
}

.blog-list{
    display:flex;
    gap:18px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 20px 10px;
    margin-bottom:40px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
}

.blog-list::-webkit-scrollbar{
    display:none;
}

.blog-card{
    flex:0 0 260px;
    border-radius:20px;
    scroll-snap-align:start;
}

.blog-thumb{
    height:170px;
}

.blog-body{
    padding:16px;
}

.blog-body time{
    font-size:14px;
}

.blog-body h3{
    font-size:17px;
    line-height:1.6;
}

.blog-more{
    width:200px;
    height:52px;
    font-size:17px;
}

.blog-more::before{
    left:-24px;
}

.blog-more::after{
    right:-24px;
}
.flow-text{
    padding:10px 0;
}

.flow-text-inner span{
    font-size:90px;
    margin-right:50px;
}
.contact-sec{
    padding:60px 0;
}

.contact-inner{
    display:block;
    width:90%;
}

.contact-image{
    width:100%;
    margin:0;
    transform:none;
}

.contact-image img{
    width:100%;
    margin:0;
    height:240px;
    transform:none;
}

.contact-box{
    box-sizing:border-box;
    width:92%;
    margin:-35px auto 0;
    padding:35px 25px;
}

.contact-content{
    transform:none;
}

.contact-heading{
    gap:10px;
    margin-bottom:25px;
}

.contact-heading h2{
    font-size:38px;
}

.contact-heading span{
    font-size:15px;
}

.contact-text{
    font-size:16px;
    line-height:2;
    margin-bottom:35px;
}

.contact-btn{
    width:220px;
    height:56px;
    margin:0 auto;
}

.contact-btn span{
    font-size:17px;
}
	
.footer{
    padding:70px 0 50px;
}

.footer-inner{
    width:100%;
    display:block;
}

.footer-left{
    width:100%;
    margin-bottom:50px;
}

.footer-copy{
    width:100%;
    max-width:none;

    margin-left:0;
    padding:60px 30px;

    box-sizing:border-box;
}

.footer-copy h2{
    font-size:20px;
    line-height:1.9;
}

.footer-right{
    width:100%;
    padding:0 30px;
    box-sizing:border-box;
}

.footer-nav{
    display:block;
}
	.footer-column{
    margin-bottom:45px;
}

.footer-column:last-child{
    margin-bottom:0;
}

.footer-column h3{
    font-size:24px;
    margin-bottom:18px;
    line-height:1.4;
}

.footer-column ul{
    margin:0;
    padding:0;
}

.footer-column li{
    margin-bottom:14px;
    list-style:none;
}

.footer-column li:last-child{
    margin-bottom:0;
}

.footer-column li a{
    font-size:17px;
    line-height:1.8;
}

.footer-space{
    margin-top:45px;
}
	.recruit-fv{
    min-height:auto;
    height:auto;
    padding:50px 0 40px;
	 overflow-x:hidden;
}

.recruit-fv-bg{
    position:relative;
    width:100%;
    height:280px;
    margin-top:35px;
    background:url("../images/recruit-fv.jpg") center center / cover no-repeat;
}

.recruit-fv-inner{
    display:block;
    height:auto;
}

.recruit-fv-content{
    width:100%;
    padding-top:0;
    position:relative;
    z-index:2;
}
	.recruit-fv-titlebox{
    width:88%;
    padding:28px 22px 34px;
}

.recruit-fv-titlebox p{
    font-size:22px;
    margin-bottom:14px;
}

.recruit-fv-titlebox h1{
    font-size:52px;
    line-height:1.2;
}
	.recruit-fv-copy{
    width:94%;
    margin-top:0;
    padding:18px 22px;
}

.recruit-fv-copy p{
    font-size:18px;
    line-height:1.8;
}
	.recruit-trouble{
    height:400px;
    background-position:center;
}

.recruit-message{
    padding:60px 20px;
}

.recruit-message-logo{
    width:90px;
    margin-bottom:18px;
}

.recruit-message h2{
    font-size:24px;
    line-height:1.5;
}

.recruit-sec{
    padding:70px 0;
}

.recruit-btn-wrap{
    margin-bottom:35px;
    padding:0 20px;
}

.recruit-btn{
    width:100%;
    max-width:360px;
    height:70px;
    margin:0 auto;
}

.recruit-btn span{
    font-size:17px;
    line-height:1.6;
}

.contact-inner{
    display:flex;
    flex-direction:column;
    align-items:center;
    overflow:visible;
}

.contact-image{
    width:92%;
    clip-path:none;
}

.contact-image img{
    width:100%;
    height:230px;
    margin-left:0;
    object-fit:cover;
}

.contact-box{
    width:92%;
    margin:-35px auto 0;
    padding:35px 25px;
    clip-path:none;
    border-radius:20px;
    transform:none;
}

.contact-content{
    padding-left:0;
}

.contact-text{
    font-size:15px;
    line-height:2;
    margin-bottom:0;
}
.recruit-media{
    padding:60px 0;
}

.recruit-media-inner{
    width:70%;
}

.recruit-media-image{
    width:100%;
    height:auto;
}
	.flow-sec{
    padding:70px 0;
}
.flow-inner{
    width:88%;
}
.flow-heading{
    margin-bottom:45px;
}
.flow-heading h2{
    font-size:30px;
    line-height:1.4;
}
.flow-heading span{
    font-size:18px;
}
.flow-list{
    gap:42px;
}
.flow-item{
    display:flex;
    gap:18px;
}
.flow-num{
    width:62px;
    height:62px;
    font-size:26px;
}
.flow-content{
    padding-top:0;
}
.flow-content h3{
    font-size:20px;
    line-height:1.35;
    margin-bottom:10px;
}
.flow-content p{
    font-size:12px;
    line-height:1.9;
}
	.site-header{
    height:72px;
    position:fixed;
    top:0;
    left:0;
}
.site-header__inner{
    padding:0 20px;
	    box-sizing:border-box;
}
.site-header__logo{
    padding-top:10px;
}
.site-header__logo img{
    width:78px;
}
.hamburger{
    width:42px;
    height:42px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:7px;
    background:none;
    border:none;
    padding:0;
    cursor:pointer;
    position:relative;
    z-index:1001;
}
.hamburger span{
    width:30px;
    height:2px;
    background:#111;
    display:block;
    transition:.3s;
}
.hamburger.is-open span:nth-child(1){
    transform:translateY(9px) rotate(45deg);
}
.hamburger.is-open span:nth-child(2){
    opacity:0;
}
.hamburger.is-open span:nth-child(3){
    transform:translateY(-9px) rotate(-45deg);
}
.site-header__nav{
    position:fixed;
    top:72px;
    right:0;
    width:100%;
    height:calc(100vh - 72px);
    background:#fff;
    z-index:1000;
    transform:translateX(100%);
    transition:.35s;
    overflow-y:auto;
}
.site-header__nav.is-open{
    transform:translateX(0);
}
.site-header__nav ul{
    height:auto;
    display:block;
    padding:40px 24px;
}
.site-header__nav li{
    height:auto;
    border-bottom:1px solid rgba(0,0,0,.12);
}
.site-header__nav a,
.service-toggle{
    width:100%;
    height:auto;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:18px;
    font-weight:700;
    color:#111;
    text-decoration:none;
}
.has-child{
    position:relative;
}
.service-toggle{
    background:none;
    border:none;
    padding:0;
    font-family:"Shippori Mincho",serif;
    cursor:pointer;
}
.nav-arrow{
    margin-left:20px;
}
.service-submenu{
    position:static;
    width:100%;
    height:auto!important;
    display:none!important;
    background:#f5f7fb;
    box-shadow:none;
    padding:0!important;
    margin:0!important;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
}
.has-child.is-open .service-submenu{
    display:block!important;
}
.service-submenu li{
    border-bottom:none;
}
.service-submenu a{
    min-height:48px;
    padding:0 18px;
    font-size:15px;
}
.has-child.is-open .nav-arrow{
    transform:rotate(-135deg);
    margin-top:4px;
}
body.is-menu-open{
    overflow:hidden;
}
	.employment-merit{
    padding:80px 0;
}

.employment-merit .recruit-btn-wrap{
    margin-bottom:55px;
}

.employment-merit .recruit-btn{
    width:100%;
    max-width:340px;
    height:84px;
}

.employment-merit .recruit-btn span{
    font-size:18px;
    line-height:1.6;
}

.employment-merit-list{
    gap:35px;
}

.employment-merit-item{
    align-items:flex-start;
    gap:18px;
}

.employment-merit-num{

    width:54px;
    height:54px;

    font-size:20px;

}

.employment-merit-box{

    padding:18px;

    font-size:17px;

    line-height:1.8;

    border-radius:12px;

}
	/*======================================
求職者側のメリット
======================================*/

.employment-user{
    padding:80px 0;
}

.employment-user__inner{
    width:92%;
}

.employment-user__title{

    width:260px;
    height:58px;

    top:-28px;

    font-size:22px;

}

.employment-user__box{

    padding:60px 20px 30px;

}

.employment-user__item{

    flex-direction:column;

    margin-bottom:35px;

}

.employment-user__image{

    width:100%;
    order:1;

}

.employment-user__image img{

    height:220px;

}

.employment-user__content{

    width:100%;

    order:2;

    padding:28px 22px;

}

.employment-user__content h3{

    font-size:24px;

    line-height:1.4;

    margin-bottom:16px;

}

.employment-user__content p{

    font-size:15px;

    line-height:1.8;

}
	.employment-company{

    padding:80px 0;

}

.employment-company__box{

    padding:70px 20px 30px;

}

.employment-company__title{

    width:250px;
    height:58px;

    left:50%;
    top:-28px;

    transform:translateX(-50%);

    font-size:22px;

}

.employment-company__item{

    flex-direction:column;

    margin-bottom:35px;

}

.employment-company__image{

    width:100%;

}

.employment-company__image img{

    height:220px;

}

.employment-company__content{

    width:100%;

    padding:28px 22px;

}

.employment-company__content h3{

    font-size:24px;

    margin-bottom:18px;

}

.employment-company__content p{

    font-size:16px;

    line-height:1.8;

}

.about-intro{
    padding:70px 0;
}

.about-intro-inner{
    width:90%;
    flex-direction:column;
    gap:60px;
}

.about-intro-content{
    width:100%;
    order:2;
}

.about-intro-circle{
   display:none;
}

.circle-wrap{
    width:260px;
    height:260px;
}

.circle-wrap text{
    font-size:20px;
    letter-spacing:2px;
}

.about-intro-sub{
    font-size:34px;
    margin-bottom:25px;
    line-height:1.3;
}

.about-intro-sub span{
    display:block;
    margin:12px 0 0;
    font-size:16px;
}

.about-intro-content h2{
    font-size:34px;
    line-height:1.5;
    margin-bottom:30px;
}

.about-intro-text{
    font-size:16px;
    line-height:2;
}
	    .company-philosophy{
        padding:70px 0 80px;
		overflow-x:hidden;
    }
    .company-philosophy__inner{
        width:90%;
    }
    .company-philosophy__title{
        position:relative;
        top:auto;
        left:auto;
        width:100%;
        height:auto;
        padding:22px 18px;
        box-sizing:border-box;
        margin-bottom:25px;
    }
    .company-philosophy__title h2{
        font-size:26px;
        line-height:1.5;
    }
    .company-philosophy__image{
        width:100%;
        margin:0;
    }
    .company-philosophy__image img{
        height:260px;
    }
	
.company-mvv{

    padding:70px 0;

}

.company-mvv__item{

    margin-bottom:70px;

}

.company-mvv__heading{

    flex-direction:column;
    align-items:flex-start;
    gap:8px;

    margin-bottom:25px;

}

.company-mvv__heading h2{

    font-size:44px;

}

.company-mvv__heading span{

    margin:0;

    font-size:18px;

}

.company-mvv__item h3{

    font-size:20px;

    line-height:1.6;

    margin-bottom:25px;

}

.company-mvv__item p{

    font-size:16px;

    line-height:2;

}

.company-service{

    padding:70px 0;

}

.company-service__inner{

    width:90%;

}

.company-service__heading{

    margin-bottom:40px;

}

.company-service__heading span{

    font-size:18px;

    margin-bottom:8px;

}

.company-service__heading h2{

    font-size:40px;

}

.company-service__grid{

    gap:0;

}

.service-bottom{

    grid-template-columns:1fr;

}

.service-card,
.service-card-large{

    height:180px;

}

.service-card h3{

    width:100%;

    font-size:28px;

    line-height:1.4;

    text-align:center;

    padding:0 20px;

    box-sizing:border-box;

}

.service-card img{

    transition:none;

}

.service-card:hover img{

    transform:none;

}

.service-card:hover .service-overlay{

    background:rgba(37,52,161,.55);

}
	
.company-message{

    padding:70px 0;

}

.company-message__heading{

    flex-direction:column;
    align-items:flex-start;
    gap:8px;

    margin-bottom:30px;

}

.company-message__heading h2{

    font-size:44px;

}

.company-message__heading span{

    margin:0;

    font-size:18px;

}

.company-message__catch{

    font-size:25px;

    line-height:1.6;

    margin-bottom:40px;

}

.company-message__body p{

    font-size:14px;

    line-height:2;

    margin-bottom:28px;

}

.company-message__value{

    font-size:22px !important;

    margin:40px 0 !important;

}

.company-message__name{

    margin-top:50px;

    font-size:22px;

    line-height:1.8;

}
	.company-profile{

    padding:70px 0;

}

.company-profile__heading{

    flex-direction:column;
    align-items:flex-start;
    gap:8px;

    margin-bottom:40px;

}

.company-profile__heading h2{

    font-size:44px;

}

.company-profile__heading span{

    margin:0;

    font-size:18px;

}

.company-profile__table,
.company-profile__table tbody,
.company-profile__table tr,
.company-profile__table th,
.company-profile__table td{

    display:block;

    width:100%;

}

.company-profile__table tr{

    padding:22px 0;

}

.company-profile__table th{

    padding:0 0 10px;

    font-size:20px;

}

.company-profile__table td{

    padding:0;

    font-size:17px;

    line-height:1.8;

}
	.company-profile{

    padding:80px 0;

}

.company-profile__inner{

    width:90%;

}

.company-profile__heading{

    flex-direction:column;
    align-items:flex-start;
    gap:8px;

    margin-bottom:40px;

}

.company-profile__heading h2{

    font-size:42px;

}

.company-profile__heading span{

    font-size:18px;
    margin-bottom:0;

}

/* テーブル */

.company-profile__table,
.company-profile__table tbody,
.company-profile__table tr,
.company-profile__table th,
.company-profile__table td{

    display:block;
    width:100%;

}

.company-profile__table tr{

    padding:20px 0;

}

.company-profile__table th{

    width:100%;
    padding:0 0 12px;

    font-size:18px;

}

.company-profile__table td{

    padding:0;

    font-size:16px;
    line-height:1.8;

}

/* 事業内容 */

.business-item{

    margin-bottom:24px;

}

.business-item:last-child{

    margin-bottom:0;

}

.business-item strong{

    font-size:18px;
    margin-bottom:8px;

}

.business-item p{

    font-size:15px;
    line-height:1.8;

}

.company-business-list{

    margin-top:12px;
    padding-left:18px;

}

.company-business-list li{

    font-size:15px;
    line-height:1.8;
    margin-bottom:6px;

}
	.news-page{

padding:70px 0;

}

.news-heading{

margin-bottom:40px;

}

.news-heading p{

font-size:18px;

}

.news-heading h1{

font-size:44px;

}

.news-grid{

grid-template-columns:1fr;
gap:40px;

}

.news-content h2{

font-size:20px;

}

.news-content p{

font-size:15px;

}

.news-pagination{

margin-top:50px;

}

.news-pagination .page-numbers{

width:42px;
height:42px;
font-size:14px;

}
	.single-news{

    padding:70px 0;

}

.single-news__thumb{

    margin-bottom:30px;

}

.single-news__meta{

    flex-wrap:wrap;

    gap:10px;

}

.single-news__date{

    font-size:14px;

}

.single-news__cat{

    font-size:12px;
    padding:5px 12px;

}

.single-news__title{

    font-size:32px;

    margin-bottom:30px;

}

.single-news__content{

    font-size:16px;

    line-height:2;

}

.single-news__content h2{

    font-size:26px;

    margin-top:45px;

}

.single-news__content h3{

    font-size:22px;

}

.single-news__nav{

    flex-direction:column;

    gap:20px;

    text-align:center;

}

.single-news__back{

    order:-1;

}

.single-news__back a{

    width:220px;

    text-align:center;

}
.contactpage{
    padding:80px 0;
}

.contactpage-inner{
    width:90%;
}

.contactpage-heading{
    margin-bottom:50px;
}

.contactpage-subtitle{
    font-size:18px;
    margin-bottom:8px;
}

.contactpage-title{
    font-size:48px;
}

.contactpage-formbox{
    width:100%;
    max-width:100%;
}

/* 項目 */

.contactpage-formbox .wpcf7 p{
    margin-bottom:30px;
}

.contactpage-label{
    font-size:16px;
    margin-bottom:10px;
}

/* 入力欄 */

.contactpage-formbox input:not([type="checkbox"]):not([type="submit"]),
.contactpage-formbox select{
    height:50px;
    font-size:15px;
}

.contactpage-formbox textarea{
    height:150px;
    font-size:15px;
}

/* select */

.contactpage-formbox select{
    padding:0 55px 0 15px;
}

.contactpage-select::after{
    right:18px;
    width:14px;
    height:10px;
}

/* プライバシー */

.contactpage-privacy{
    padding:15px;
    height:140px;
    font-size:12px;
    line-height:1.8;
}

/* 同意 */

.contactpage-formbox .wpcf7-acceptance{
    margin-bottom:35px;
}

.contactpage-formbox .wpcf7-acceptance label{
    font-size:14px;
    gap:10px;
    align-items:flex-start;
    line-height:1.7;
}

.contactpage-formbox .wpcf7-acceptance input{
    width:18px;
    height:18px;
    margin-top:3px;
    flex-shrink:0;
}

/* ボタン */

.contactpage-formbox .wpcf7-submit{
    width:100% !important;
    max-width:220px;
    height:52px !important;
    font-size:16px !important;
}
	.fv{
    height:calc(100svh - 70px);
    min-height:650px;
}

.fv-bg{
    background-position:center center;
}

.fv-bg::after{
    background:rgba(0,0,0,.28);
}

.fv-inner{
    padding:0 20px;
    align-items:center;
}

.fv-copy{
    width:100%;
    position:relative;
    z-index:20;
}

.copy-box{
    width:fit-content;
    max-width:100%;
    margin-left:0;
    margin-bottom:20px;
    padding:18px 22px;
}

.copy-box h2{
    font-size:22px;
    line-height:1.6;
}

.copy-box-second{
    margin-bottom:35px;
}

.fv-btns{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.fv-btn{
    width:100%;
    max-width:260px;
    height:54px;
    font-size:16px;
}

.fv-line-image{
    width:85%;
    right:-20%;
    opacity:.25;
}

.fv-line-image img{
    object-fit:contain;
    object-position:right bottom;
}

.fv-lines{
    display:none;
}

.recruit-fv{
    height:calc(30svh - 70px);
    min-height:500px;
}

.recruit-fv-bg,
.employment-fv-bg,
.company-fv-bg{
    background-position:center center;
}

.recruit-fv-bg::after,
.employment-fv-bg::after,
.company-fv-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.18);
}

.recruit-fv-inner{
    padding:200px 20px;
    justify-content:flex-start;
    align-items:center;
}

.recruit-fv-content{
    width:100%;
    padding-top:0;
}

.recruit-fv-titlebox{
    width:100%;
    max-width:340px;
    padding:28px 24px 30px;
}

.recruit-fv-titlebox p{
    font-size:24px;
    margin:0 0 12px;
}

.recruit-fv-titlebox h1{
    font-size:42px;
    line-height:1.2;
}

.recruit-fv-copy{
    width:100%;
    max-width:340px;
    padding:18px 24px;
}

.recruit-fv-copy p{
    font-size:16px;
    line-height:1.8;
}
	.recruit-fv{
    height:calc(60svh - 70px);
    min-height:580px;
}

.recruit-fv-bg,
.employment-fv-bg,
.company-fv-bg{
    background-position:center center;
}

.recruit-fv-bg::after,
.employment-fv-bg::after,
.company-fv-bg::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.28);
}

.recruit-fv-inner{
    padding:0 20px;
    align-items:center;
}

.recruit-fv-content{
    width:100%;
    padding-top:0;
}

.recruit-fv-titlebox{
    width:100%;
    max-width:340px;
    padding:28px 24px;
}

.recruit-fv-titlebox p{
    font-size:22px;
    margin:0 0 10px;
}

.recruit-fv-titlebox h1{
    font-size:42px;
    line-height:1.2;
}

.recruit-fv-copy{
    width:100%;
    max-width:340px;
    padding:16px 24px;
    margin-top:-3px;
}

.recruit-fv-copy p{
    font-size:15px;
    line-height:1.8;
    letter-spacing:.02em;
}
	body{
		overflow-x:hidden;
	}
	.company-related{

    padding:60px 20px;

}

.company-related__heading{

    margin-bottom:40px;

}

.company-related__heading h2{

    font-size:28px;

    padding-right:80px;

}

.company-related__heading h2::after{

    width:60px;

}

.company-related__list{

    gap:50px;

}

.company-related__card h3{

    font-size:24px;

    line-height:1.5;

    margin-bottom:22px;

}

.company-related__card ul{

    margin:0;

}

.company-related__card li{

    font-size:16px;

    line-height:1.9;

    padding-left:18px;

}

.company-related__info{

    margin-top:30px;

}

.company-related__info p{

    display:block;

    margin-bottom:20px;

    font-size:15px;

    line-height:1.8;

}

.company-related__info span{

    display:block;

    width:auto;

    margin-bottom:6px;

    font-weight:700;

}


}
/* =========================
   Scroll Fade In
========================= */
/* ===== Scroll Fade In ===== */
.js-fade {
  opacity: 0;
  transform: translateY(10px); /* 保険の微移動（不要なら消してOK） */
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

/* 左から */
.js-fade-left {
  transform: translateX(-40px);
}

/* 右から */
.js-fade-right {
  transform: translateX(40px);
}

/* 表示時 */
.js-fade.is-show {
  opacity: 1;
  transform: translateX(0);
}

/* もし上下の微移動も残したいなら、表示時にこうする
.js-fade.is-show {
  opacity: 1;
  transform: translate(0, 0);
}
*/


/* “遅らせたい要素”用（任意） */
.js-fade.delay-1 { transition-delay: 0.12s; }
.js-fade.delay-2 { transition-delay: 0.24s; }
.js-fade.delay-3 { transition-delay: 0.36s; }