/* ---------------------
---------01.TOP PAGE-------*/
/*FV*/
.fv-wrapper{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    position: relative;
}

.fv-img{
    height: 100%;  
    padding: 0 6rem 6rem;
}

.fv-img img{
    border-radius: 3.2rem; 
}

.fixed-bg{
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: -1; 
}
.fv-area .txt{
    position: relative;
}

/* copy-animation */
.text-reveal-container {
    position: absolute;
    bottom: 120px;
    right: 120px;
    z-index: 11;
    display: flex;
    flex-direction: column;
    justify-content: start;
    color: #fff;
}

    .reveal-title {
    font-size: clamp(4.8rem, 4.571rem + 1.14vw, 6rem);
    font-weight: 600;
    overflow: hidden;
    line-height: 1.4;
}

    .reveal-subtitle {
    font-size: clamp(1.8rem, 1.762rem + 0.19vw, 2rem);
    opacity: 0.9;
    overflow: hidden;
    color: #fff;
    margin-top: 20px;
}

    .char {
    display: inline-block;
}

@media (max-width: 1200px) {
    .fv-img{
    padding: 16px 40px;
}
.text-reveal-container {
    bottom: 40px;
}
}

@media (max-width: 768px) {
.reveal-title {
    font-size: clamp(2.4rem, 1.257rem + 5.71vw, 4rem);
}
.text-reveal-container{
    left: 60px;
}
}

@media (max-width: 576px) {
.fv-img{
    padding: 16px 20px;
}
.text-reveal-container{
    left: 40px;
    width: 68%;
}
.fv-img img{
    object-position: 65% 0;
}
}

.s-lead p{
    position: relative;
    font-size: 1.8rem;
    text-align: center;
}

.s-lead p::before{
    content:"";
    display:block;
    width:80px;
    height:6px;
    background: #2143D3;
    background: linear-gradient(90deg,rgba(33, 67, 211, 1) 0%, rgba(81, 186, 225, 1) 100%);
    position:absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width: 576px) {
.s-lead p{
    text-align: justify;
    font-size: var(--font-size-sp-base);
}
}

.s-news{
    background-image: url("/img/news-bg.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.news-list{
overflow-y: scroll; 
height: 480px;
}

.news-list ul{
margin-right: 1.6rem;
padding-bottom: 1rem;
}

.news-list::-webkit-scrollbar{
    width: 12px;
}

.news-list::-webkit-scrollbar-thumb{
    background: var(--primary-color);
    border-radius: 30px;
}

.news-list::-webkit-scrollbar-track{
    background: #fff;
}

.s-news li{
    background-color: #fff;
    border-radius: 8px;
    margin-top: 6px;
    box-shadow: 3px 3px 0px 0px rgba(227, 227, 227, 1);
}

.s-news article{
    display: flex;
}

.s-news article .info{
    flex: 2;
    font-family: "Noto Sans JP", sans-serif;
    display: flex;
}

.s-news article .info .date{
    color: #b6b6b9;
    font-weight: 600;
}

.s-news article .txt{
    flex: 6;
}

.s-news article .txt .ttl{
font-size: var(--font-size-pc-base);
font-weight: 600;
}

.new-tag{
    margin-left: 2rem;
    color: var(--text-red);
    font-weight: 600;
}

@media (min-width: 991px) and (max-width:1200px) {
.s-news article .info{
    display: block;
}
.new-tag{
    margin-left: 0;
}
.news-list ul{
margin-right: 0;
}
}

@media (max-width: 991px) {
.s-news{
    width: 100%;
}
.s-news .container{
    width: 80%;
    padding: unset;
}
.s-news article{
    display: block;
}
.s-news article .txt{
    margin-top: 2rem;
}
}

@media (max-width: 576px) {
.s-news .container{
    width: 100%;
}
.s-news article .txt .ttl{
font-size: var(--font-size-sp-base);
}
}

.s-about .row{
    justify-content: space-between;
    align-items: end;
    align-items: start;
}

.s-about .__txt{
    margin-left: clamp(3rem, 0.054rem + 4.76vw, 6rem);
}

@media (max-width:991px) {
    .s-about .__txt{
    margin-left: 0;
}
}

.s-link .link .__img{
    overflow: hidden;
}

/* .s-link .recruit .__img img{
    width: 800px;
    object-position: center;
} */

.s-link .link .__img img{
    transition: transform 0.3s ease;
}

.s-link .link a .wrapper{
    padding: 6rem;
}

.s-link .row{
    justify-content: space-between;
}

.s-link .col-md-6{
    width: 49%;
}

.link {
    background-color: #f8f8f8;
    border-radius: 16px;
    box-shadow: 3px 3px 0px 0px #e3e3e3;
    transition: background-color 0.3s ease;
}

.link .__txt{
    margin-top: 3.6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.link h2{
    font-size: clamp(3.2rem, 2.895rem + 1.52vw, 4.8rem);
    padding-left: 0;
}

.link .sec-ttl h2::before{
    content: none;
}

.link span{
    font-size: var(--font-size-pc-base)
}

.link .__txt .text{
    width: 76%;
}

.link .__txt p{
    margin-top: 2.4rem;
}

.link-arrow{
    transition: transform 0.3s ease;
    background: var(--primary-color);
    width: 60px;
    height: 60px;
    position: relative;
    border-radius: 50px;
}

.link-arrow .__icon{
    width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* hover */
@media (hover: hover) {
.s-link .link a:hover .__img img{
    transform: scale(1.1);
}
.s-link .link a:hover .link-arrow{
    transform: translateX(8px);
}
.s-link .link:hover{
    background-color: #ebebeb;
}
}

@media (max-width:991px) {
    .s-link .link a .wrapper{
        padding: 3rem;
    }
}

@media (max-width:768px) {
.s-link .col-md-6{
    width: 100%;
}
}

@media (max-width:576px) {
.link .__txt{
    display: block;
}
.link .__txt .text{
    width: 100%;
}
.link-arrow{
    margin-top: 3rem;
}
.link h2{
    font-size: clamp(5rem, 4.75rem + 1.25vw, 5.2rem);
}
}

.s-contact .col-lg-8{
    background-image: url(/img/contact-bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.s-contact .contents{
    color: #fff;
    padding: 6rem 12rem;
}

.s-contact h2{
    font-size: clamp(3.2rem, 2.895rem + 1.52vw, 4.8rem);
    padding-left: 0;
}

.s-contact h2::before{
    content: none;
}

.s-contact h2{
    font-size: clamp(3.2rem, 2.895rem + 1.52vw, 4.8rem);
    padding-left: 0;
    color: #fff;
}

.s-contact span, .s-contact p{
    font-size: var(--font-size-pc-base);
    color: #fff;
}

.s-contact .contents .wrapper{
    display: flex;
    gap: 3rem;
}

.s-contact .button{
    background: transparent;
    border: #fff 1px solid;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
    border-radius: 8px;
    width: 48%;
}

.s-contact .tel-button{
    border: #fff 1px solid;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.3s ease;
    border-radius: 8px;
    width: 48%;
}

.s-contact .tel-button .num{
font-size: clamp(2.8rem, 2.762rem + 0.19vw, 3rem);
margin-left: 4px;
}

.s-contact .cv-button {
    border: none;
}

.s-contact .cv-button a{
    width: 100%;
    height: 100%;
    background: #fff;
    border: none;
    padding: 4.8rem 0;
    color:var(--primary-color) !important;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.3s ease;
}

@media (hover: hover) {
.s-contact .button a:hover{
    opacity: 0.8;
}
}
.s-contact path{
    fill: var(--primary-color);
}

.s-contact .button .num{
    font-size:clamp(2.4rem, 2.248rem + 0.76vw, 3.2rem);
    margin-left: 16px;
}

@media (max-width: 1200px) {
.s-contact .contents{
    padding: 6rem;
}
}

@media (max-width:991px) {
    .s-contact{
        width: 100%;
    }
    .s-contact .contents{
    padding: 6rem 3rem
}
}

@media (max-width:768px) {
    .s-contact .contents{
        width: 80%;
        margin: 0 auto;
    }
.s-contact .contents .wrapper{
    display: block;
}
.s-contact .button{
    width: 100%;
    height: 90px;
}
.s-contact .tel-button{
    width: 100%;
    height: 90px;
}
.s-contact .cv-button{
    margin-top: 2rem;
}
}

@media (max-width:576px) {
.s-contact .contents{
    width: 100%;
    margin: 0 auto;
    }
.s-contact .cv-button{
    margin-top: 1.2rem;
}
.s-contact h2{
    font-size: clamp(5rem, 4.75rem + 1.25vw, 5.2rem);
    padding-left: 0;
    color: #fff;
}
}


/* ==================
02.p-company
=====================*/
.anchor-link ul{
    display: flex;
    gap: 0 1.6rem;
    flex-wrap: wrap;
}

.anchor-link li{
    font-size: var(--font-size-pc-small);
}

.anchor-link li a{
    display: flex;
    justify-content: space-between;
    width: 160px;
    padding: 1rem 1rem;
    border-bottom: 1px solid var(--text-color);
    transition: all 0.3s;
    color: var(--text-color);
    font-weight: 400;
}

#greeting,#outline,#history,#access,#management{
scroll-margin-top: 240px; 
}

@media (hover: hover) {
.anchor-link li a:hover{
    background-color: #e7e7e7;
    color: var(--text-color);
    font-weight: 600;
}

}
.anchor-link_arrow{
    fill: #acacac;
    width: 16px;
    transform: rotate(90deg);
}

.representative-name{
display: flex;
justify-content: end;
}


.outline li{
    display: flex;
    border-bottom: 1px solid #f0f0f0;
    padding: 1.2rem 0;
    gap: 2rem;
}

.outline  li .ttl{
    flex:2;
    font-weight: 600;
}

.outline  li .txt{
    flex:10;
}

.history .__txt{
    display: flex;
    justify-content: end;
    position: relative;
}

.history .__txt li{
    position: relative;
}

.history .__txt li::before{
    content: "";
    position: absolute;
    width: 40px;
    height: 3px;
    top: 16px;
    left: -110px;
    background-color: var(--primary-color);
}

.history .__txt li:first-child {
    margin-top: 0 !important;
}

.history .__txt .date{
    font-weight: 500;
    color: var(--text-gray);
    font-size: clamp(1.6rem, 1.404rem + 0.32vw, 1.8rem);
}

.history .__txt::after{
    position: absolute;
    content: "";
    width: 4px;
    height: 100%;
    background-color: var(--primary-color);
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);   
}

.history ul{
    width: 60%;
}

.bg-img{
    display: flex;
    height: 80vh;
    justify-content: center;
    align-items: center;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("/img/p-company/company-bg_img.jpg");
}

iframe{
    width: 100%;
    height: 60vh;
}

.access .__txt h4{
font-weight: 600;
font-size: clamp(1.6rem, 1.404rem + 0.32vw, 1.8rem);
}

.access .__txt p span{
    background-color: #a5a5a5;
    color: #fff;
    padding: 2px 6px;
    font-size: var(--font-size-pc-small);
    font-weight: 400;
}

.management-bg{
    position: relative;
    width: 100%;
    background-color:rgba(231, 247, 255, 0.6);
    z-index: 0;
    background-image: url("/img/p-company/management-bg.png");
    background-blend-mode: lighten;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

.management{
    position: sticky;
    z-index: 1;
}

.p-company .container-fluid{
    background-color: #fff;
}

.management h4{
position: relative;
padding-left: 16px;
font-size: clamp(1.6rem, 1.404rem + 0.32vw, 1.8rem);
}

.management h4::before{
    position: absolute;
    content: "";
    width: 4px;
    height: 72%;
    top: 3px;
    left: 4px;
    background-color: var(--text-color);
}

.policy_wrapper{
    margin-top: 1rem;
}

.policy-item{
background-color: rgba(255, 255, 255, 0.4);
    border-radius: 8px;
    box-shadow: 3px 3px 0px 0px #e3e3e3;
    transition: transform 0.3s ease;
    padding: 3rem;
    margin-bottom: 1.2rem;
}

.policy-item h5{
font-size: clamp(1.6rem, 1.404rem + 0.32vw, 1.8rem);
    display: flex;
    align-items: center;
    font-weight: 600;
    position: relative;
    padding-left: 40px;
}

.policy-item h5::before{
position: absolute;
content: "";
background-image: url("/img/common/check.svg");
background-repeat: no-repeat;
background-size: cover;
width: 24px;
height: 24px;
top: 50%;
left: 14px;
transform: translate(-50%, -50%);
}

.management .__img{
    margin-left: 4rem;
}

@media (max-width:1470px) {
.history .__txt li::before{
    left: -100px;
}
}

@media (max-width:1024px) {
.history .__txt li::before{
    left: -78px;
}
#greeting,#outline,#history,#access,#management{
scroll-margin-top: 160px; 
}
}

@media (max-width:991px) {
.management .__img{
    margin-left: 0;
    height: 30vh;
}
.anchor-link{
    width: 80%; 
    margin: 0 auto;
}
.outline .__txt{
    margin-left: 3rem;
}
.anchor-link li a{
    padding: 1.4rem 1rem;
}
.bg-img,.management-bg{
    background-attachment: scroll;
    background-size: cover;
}
.management-bg{
background-position: 40% 0;
}
}

@media (max-width:768px) {
.outline .__txt{
    margin-left: 0;
}
.history .__txt::after{
    left: 20%;
}
.history ul {
    width: 72%;
}
.anchor-link li{
    width: 48%;
}
.anchor-link li a{
    width: unset;
}
}

@media (max-width:576px) {
    .anchor-link{
        width: 100%;
    }
    .outline li{
    display: block;
    }
    .history .__txt::after{
        left: 6%;
    }
    .history ul{
        width: 86%;
    }
    .bg-img{
        height: 60vh;
        
    }
    .management .__img{
    height: 20vh;
    }
.history .__txt li::before{
    width: 20px;
    left: -36px;
    }
    .policy-item{
    padding: 2rem;
}
#greeting,#outline,#history,#access,#management{
scroll-margin-top: 120px; 
}
.anchor-link ul{
    justify-content: space-between;
}
.anchor-link li{
    width: 47%;
}
.anchor-link li a{
    font-size: var(--font-size-sp-small);
}
}


/* ==================
03.p-business
=====================*/
.business-content .__txt{
    margin-left: 3rem;
}

.business-content .__txt h3{
    font-size: clamp(1.6rem, 1.524rem + 0.38vw, 2rem);
    font-weight: 600;
}

.business-content .__img{
    width: 88%;
    margin: 0 auto;
}

.business-content .list{
    border: 1px solid #ebebeb;
    padding: 3rem;
    border-radius: 8px;
}

.business-content .list ul{
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
    grid-column-gap: 24px;
    grid-row-gap: 12px;
}

.business-content .list li{
    position: relative;
    padding-left: 20px;
}

.business-content .list li::before{
    display: block;
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 4px;
    background-color: var(--primary-color);
    top: 4px;
    left: 0;
}
.swiper-wrapper {
    transition-timing-function: linear;
}

.swiper-slide{
    padding: 0 1rem;
}

.swiper-slide p{ 
    text-align: end;
    margin-top: 0.6rem;
}

@media (max-width:768px) {
.business-content .__txt{
    margin-left: 0;
}
}

@media (max-width:576px) {
.business-content .list ul{
display: block;
}
.business-content .list li{
    margin-bottom: 1.2rem;
}
.business-content .__txt h3{
    font-size: var(--font-size-sp-base);
}
.swiper-slide p{ 
    font-size: 1.2rem;
}
}


/* ==================
04.p-recruit
=====================*/
.information .__wrapper,.margin-rate .__wrapper{
    display: flex;
}
.information .sub_sec-ttl,.margin-rate .sub_sec-ttl{
    flex: 4;
}
.information p,.margin-rate p{
    flex: 8;
}
.p-recruit .list li{
    display: flex;
    border-bottom: 1px solid #f0f0f0;
    padding: 2rem 0;
}

.p-recruit .list li:last-child{
    border-bottom: none;
}

.p-recruit .list li .ttl {
    flex: 3;
    font-weight: 600;
}

.p-recruit .list li .txt {
    flex: 9;
}

.information .list{
    border: 1px solid #f0f0f0;
    border-radius: 16px;
}

.information .list li{
    padding: 2rem 3rem;
}

.information h4{
    font-size: clamp(1.6rem, 1.404rem + 0.32vw, 1.8rem) ;
    position: relative;
    padding: 2rem;
    border-radius: 8px 8px 0 0;
    width: fit-content;
    margin: 0 auto;
    width: 100%;
    text-align: center;
    background-color: #efefef;
    color: var(--text-color);
}

.compensation{
border: 1px solid rgb(240, 238, 238);
border-radius: 4px;
padding: 1.6rem;
margin-top: 2rem;
}

.compensation h5{
font-size: var(--font-size-pc-base);
font-weight: 500;
}

.margin-rate{
    position: relative;
}

.margin-rate::before{
    position: absolute;
    content: "";
    width: 95%;
    height: 1px;
    background-color: #000;
    top: 10%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.margin-rate .list li .ttl,.margin-rate .list li .txt{
    flex: 5;
}

.recruit-photo{
	display: flex;
	flex-wrap: wrap;
    gap: 12px;
}

.recruit-photo div{
	width: 32%;
    margin-bottom: 2rem;
}

.recruit-photo img{
    aspect-ratio: 3 / 2;
}

.recruit-photo div p{
	font-size:var(--font-size-pc-small);
}

@media (max-width:1470px) {
.margin-rate::before{
    top: 8%;
}
}


@media (max-width:991px) {
.information .__wrapper,.margin-rate .__wrapper{
    display: block;
}
.information .__wrapper p,.margin-rate .__wrapper p{
    margin-top: 3rem;
}
.margin-rate{
    width: 100%;;
}
.margin-rate .sub-container{
width: 80%;
        margin: 0 auto;
}
}

@media (max-width:768px) {
.recruit-photo div{
    width: 48%;
}
}

@media (max-width:576px) {
    .margin-rate .sub-container{
        width: 100%;
    }
    .margin-rate .list li{
        display: block;
    }
    .information .list li{
    padding: 1.2rem 1.6rem;
}
.p-recruit .list li{
    display: block;
}
.margin-rate::before{
    top: 6%;
}
.recruit-photo div p{
	font-size: var(--font-size-sp-small);
}
.compensation h5{
font-size: var(--font-size-sp-base);
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
}
.p-recruit .list li .ttl {
    font-family: "Noto Sans JP", sans-serif;
    font-size: var(--font-size-sp-base);
}
}


/* ==================
05.p-contact
=====================*/
.number span{
    font-size: 3.2rem;
    font-weight: 500;
    font-family: "Onest", sans-serif;
}

.number .txt{
    font-size: var(--font-size-pc-base);
    font-weight: 500;
}

.attention-txt{
    display: block;
    font-size: var(--font-size-pc-small);
}

.tel-fax{
    display: flex;
    gap: 6rem;
}

.tel-fax .time{
    font-size: var(--font-size-pc-small);
    text-align: center;
}

.tel-fax li{
    position: relative;
    padding-left: 3rem;
    display: flex;
    flex-direction: column;
}

.tel-fax li::before{
    position: absolute;
    content: "";
    width: 4px;
    height: 80%;
    top: 14px;
    left: 4px;
    background-color: var(--primary-color);
}

.mail .__wrapper{
    display: flex;
}

.mail .__wrapper .sub_sec-ttl{
    flex: 4;
}

.mail .__wrapper p{
    flex: 8;
}

.required{
    color: var(--text-red);
    font-size: var(--font-size-pc-small);
}

.input-item_wrapper{
    display: flex;
    gap: 2.4rem;
}

.ttl_policy{
    font-size: clamp(1.8rem, 1.762rem + 0.19vw, 2rem);
    font-weight: 600;
}

.lead_policy{
    position: relative;
    padding-bottom: 2rem;
}

.lead_policy::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    bottom: 0;
    right: 0;
    background-color: #e6e6e9;
}

.pp__wrapper{
    height: 40vh;
    overflow-y: scroll;
    
}

.pp__wrapper::-webkit-scrollbar{
    width: 12px;
}

.pp__wrapper::-webkit-scrollbar-thumb{
    background: var(--primary-color);
    border-radius: 30px;
}

.pp__wrapper::-webkit-scrollbar-track{
    background: #f1f1f1;
}

.p-contact th{
    padding-left: 1.2rem;
}

.pp-txt{
    line-height: 1.6 !important;
    margin-top: 2rem;
    font-size: var(--font-size-pc-small);
    color: #858585;
    font-weight: 400;
}

.pp-txt strong{
    font-size: var(--font-size-pc-base);
    color: var(--text-color);
}

.information-address{
    border: 1px solid #ddd;
    padding: 1.6rem;
    border-radius: 4px;
}

.agree-txt{
    margin-left: 8px;
}

.form-button{ /* PG設置用スタイル（不要となったら削除下さい） */
    display: flex;
    justify-content: center;
    align-items: center;
}

button{
    border: none;
    background: none;
}

.go-back a{
background: #636363;
transition: opacity 0.4s ease;
}

.go-back a .btn-arrow-icon{
    transform: rotate(180deg);
}

@media (hover: hover) {
.go-back a:hover{
    opacity: 0.8;
}
.go-back a:hover .btn-arrow-icon{
    transform: rotate(180deg) translateX(4px);
}
}

@media (max-width:991px) {
    .mail .__wrapper{
    display: block;
    }
    .mail .__wrapper p{
        margin-top: 3rem;
    }
    td{
        margin-top: 0 !important;
    }
    .tel-fax {
        display: block;
    }
    .tel-fax li{
        margin-bottom: 3rem;
    }
    .number span{
    font-size: clamp(2rem, 1.618rem + 1.91vw, 2.8rem); 
    }
    .input-item_wrapper {
        display: block;
    }
    .input-item_wrapper .input-item{
        margin-top: 1.0rem;
    }
    .tel-fax .time{
    text-align: left;
}
}

@media (max-width:576px) {
.pp-txt,.lead_policy{
    font-size: var(--font-size-sp-small) ;
}
.form-button{ /* PG設置用スタイル（不要となったら削除下さい） */
    display: block;
}
}


