@charset "utf-8";
/* CSS Document */
/* theme name:ryo-un */

body{
    width: 100%;
    height: 100%;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    position: relative;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 1px;
}

@media screen and (min-width: 768px){
    body {
        font-size: 16px;
        letter-spacing: 2px;
    }
}

:root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --comhover: all .3s ease;
    --opacity: 0.55;
    --lineHeightL: 2.07;
    --black: #333;
}
.floatin,.floatleftin,.blur{opacity: 0;}
.sp,.sptab,.lg{display: block!important;}
.pctab{display: none!important;}
@media screen and (min-width:768px){
    .sp{display: none!important;}
    .pctab{display: block!important;}
}
@media all and (min-width:1024px){
    .lg{display: none!important;}
}
@media all and (min-width:1280px){
    .sptab{display: none!important;}
}
@media (any-hover: hover){
    .linkatag:hover{opacity: 0.6;}
}
.txtrl {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0.1em;
}
.serif{
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
}
/* ======================= style 01 ========================*/
.body_heading_wrapper {
    width: 90%;
    margin: 100px auto 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: min(15vw, 110px);
}

.body_heading {
    text-align: center;
    color: #003366;
    letter-spacing: 0.1em;
    margin-bottom: min(8vw, 70px);

}

.body_heading h2 {
    font-size: min(7.75vw, 29px);
    font-weight: bold;
    line-height: 1.5;
}

.body_heading p {
    font-size: 12px;
    letter-spacing: 0.5px;
}

.body_lead {
    max-width: 650px;
    line-height: 1.5;
    color: #000;
}
.body_lead.posi_bottom{
    width: 90%;
    margin: 0 auto;
    margin-top: 5rem;
    text-align: left;
}

@media screen and (min-width:680px){
    .body_lead.posi_bottom{
        text-align: center;
    }
}

.content {
    width: 90%;
    margin: 0 auto;
}

.content h3 {
    font-size: 18px;
    font-weight: bold;
}

.s-text {
    padding-top: 13px;
    font-size: 14px;
    letter-spacing: 1px;
}

.content_line {
    display: block;
    width: 70%;
    height: 1px;
    margin: 20px 0 30px;
    background-color: #ccc;
}

.content_image_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    margin-bottom: 60px;
}

.content_image_wrapper.not_flex{
    display: block;
}

.content_image {
    max-width: 540px;
    margin: 0 auto;
    line-height: 0;
}

.content_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper_image {
    max-width: 540px;
    width: 100%;
}

.swiper_image img {
    width: 100%;
    object-fit: contain;
}


/*-----------------
ストレス
-----------------*/
.content_wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 50px;
}

.environment_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.environment_list li {
    padding-left: 1.75em;
    text-indent: -0.65em;
}

.environment_list li::before {
    content: "●";
    display: inline-block;
    margin-right: 0.25em;
}

.procedure_list {
    display: flex;
    flex-direction: column;
    padding: 0 10px;
    margin: 0 auto;
}

.procedure_list li {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 498px;
    height: 60px;
    margin-bottom: 33px;
    padding: 16px;
    background-color: #ef8200;
    font-size: 14px;
    color: #FFF;
}
.procedure_list.orange li{
    background: #ffcd92;
    color: #000;
}
.procedure_list.pink li{
    background: #fdd2d7;
    color: #000;
}
.procedure_list.blue li{
    background: #aed6f9;
    color: #000;
}
.procedure_list.green li{
    background: #bddfbe;
    color: #000;
}

.procedure_list li:last-child {
    margin-bottom: 0;
}

.procedure_list li::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 26px 30px 0 30px;
    border-color: #ef8200 transparent transparent;
    translate: -50% 97%;
}
.procedure_list.orange li::after{border-color: #ffcd92 transparent transparent;}
.procedure_list.pink li::after {border-color: #fdd2d7 transparent transparent;}
.procedure_list.blue li::after {border-color: #aed6f9 transparent transparent;}
.procedure_list.green li::after {border-color: #bddfbe transparent transparent;}

.procedure_list li:last-child::after {
    content: none;
}

.QA p {
    position: relative;
    padding-left: 5em;
    letter-spacing: 1.5px;
}

.question::before {
    content: "（質問）";
    display: inline-block;
    position: absolute;
    left: 0.5em;
}

.answer::before {
    content: "（回答）";
    display: inline-block;
    position: absolute;
    left: 0.5em;
}

/*-----------------
電気
-----------------*/
table {
    width: 100%;
}

.content_table th,
.content_table td {
    display: block;
    width: 100%;
}

.content_table th {
    background-color: #F7F7F7;
    height: 10%;
    padding: 15px;
    font-weight: normal;
}

.content_table td {
    padding: 4%;
}

.content_table .last {
    border-bottom: 1px solid #F7F7F7;
}

.table_item_wrapper td {
    position: relative;
    padding-left: 5em;
}

.table_item_wrapper .consult::before {
    content: "（相談）";
    display: inline-block;
    position: absolute;
    left: 0.5em;
}

/*-----------------
商事部
-----------------*/
.gifts .content_wrapper,
.disaster-prevention .content_wrapper {
    align-items: center;
}

.gifts .content_inner,
.disaster-prevention .content_inner {
    width: 100%;
}

.gifts .purpose,
.gifts .products,
.disaster-prevention .purpose,
.disaster-prevention .products {
    width: 100%;
    margin-bottom: 30px;
}

.gifts .purpose>p,
.gifts .products>p,
.disaster-prevention .purpose>p,
.disaster-prevention .products>p {
    margin-bottom: 13px;
}

.gifts .purpose_list,
.disaster-prevention .purpose_list {
    display: grid;
    gap: 15px 25px;
    justify-items: center;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    max-width: 690px;
    width: 100%;
}

/* .gifts a,
.disaster-prevention a{
    border: solid 1px;
    border-radius: 20px;
    width: 151px;
    height: 38px;
    font-size: 14px;
    transition-duration: .2s;
    display: flex;
    justify-content: center;
    align-items: center;
} */
.purpose_list > div {
    border: solid 1px;
    border-radius: 20px;
    font-size: 14px;
    transition-duration: .2s;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 0.75em 5px;
}

.procedure_list li > span{
    display: contents;
    font-weight: 600;
}
.procedure_list li > small{
    display: contents;
}

.procedure_list.tl{
    align-items: center;
}
.procedure_list.tl li{
    height: auto;
    text-align: center;
}
.procedure_list li:has(a) {
    background: #ffcd92;
    color: #000;
    font-weight: 500;
    height: auto;
    width: 90%;
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 24px;
    border-radius: 100px;
    padding: 0px;
    transition: var(--comhover);
}
.procedure_list.orange li:has(a){
    background: #ef8200;
    color: #fff;
}
.procedure_list.pink li:has(a){
    /* background: #eb6fa7; */
    background: #f596c1;
    color: #fff;
}
.procedure_list.blue li:has(a){
    background: #5e9acf;
    color: #fff;
}
.procedure_list.green li:has(a){
    background: #388542;
    color: #fff;
}
.procedure_list li a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 16px;
}
.procedure_list li:has(a)::after{
    content: none;
}
.procedure_list li:has(a):hover,
.procedure_list.orange li:has(a):hover{
    background: #ff7300;
    color: #fff;
}
.procedure_list.pink li:has(a):hover{
    background: #ff85c8;
    color: #fff;
}
.procedure_list.blue li:has(a):hover{
    background: #2c7aee;
    color: #fff;
}
.procedure_list.green li:has(a):hover{
    background: #17971d;
    color: #fff;
}
.procedure_list li .spbr{display: none!important;}

/* レスポンシブ */
@media screen and (max-width: 450px){
    .procedure_list li .spbr{display: block!important;}
}

@media screen and (min-width: 768px) {

    /*-----------------
  全体の設定
  -----------------*/
    .body_heading p {
        font-size: 14px;
    }

    .body_lead {
        max-width: 700px;
        line-height: 2;
    }

    .content {
        width: 75%;
        max-width: 1250px;
    }

    .content h3 {
        font-size: 24px;
    }

    .content_line {
        width: 50%;
        margin: 20px 0 40px;
    }

    .content_image_wrapper {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 40px;
        /* margin-bottom: 85px; */
    }

    .content_image {
        width: 48%;
        max-width: unset;
    }

    .br-sp {
        display: none;
    }

    /*-------------
  ストレス
  -------------*/
    .content_wrapper {
        flex-direction: row;
        flex-wrap: wrap;
        margin-bottom: 80px;
        gap: 0;
    }

    .stress_content {
        width: 50%;
        padding-right: 30px;
        letter-spacing: 1px;
    }

    .stress_content p {
        max-width: 530px;
    }

    .content_line._margin-b-55 {
        margin-bottom: 55px;
    }

    .procedure_list {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 1330px;
    }

    .procedure_list.tl{
        align-items: unset;
    }
    .procedure_list li {
        flex-direction: column;
        align-items: flex-start;
        writing-mode: tb-lr;
        writing-mode: vertical-lr;
        -ms-writing-mode: vertical-lr;
        -o-writing-mode: vertical-lr;
        -webkit-writing-mode: vertical-lr;
        text-orientation: upright;
        letter-spacing: 1.5px;
        max-width: 70px;
        height: 510px;
        margin-right: 40px;
        margin-top: 10px;
        padding: 16px;
        font-size: 16px;
        margin-bottom: 0px;
    }
    
    .procedure_list.tl li{
        height: 550px;
        max-width: 80px;
    }
    .procedure_list.tl.dispatch_flow li{
        height: 480px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: row;
        gap: 3px;
    }

    .procedure_list li:last-child {
        margin-right: 0;
    }

    .procedure_list li::after {
        top: 50%;
        right: 0;
        height: 0;
        border-style: solid;
        border-width: 30px 0 30px 28px;
        border-color: transparent transparent transparent #ef8200;
        translate: 98% -50%;
    }
    .procedure_list.orange li::after{border-color: transparent transparent transparent #ffcd92;}
    .procedure_list.pink li::after{border-color: transparent transparent transparent #fdd2d7;}
    .procedure_list.blue li::after{border-color: transparent transparent transparent #aed6f9;}
    .procedure_list.green li::after{border-color: transparent transparent transparent #bddfbe;}

    .content_wrapper ._position {
        letter-spacing: 1.3px;
    }

    .procedure_list.tl li{
        text-align: left;
    }
    .procedure_list li:has(a) {
        height: 450px!important;
        width: 70px;
        max-width: unset;
        margin-top: auto;
        margin-left: 0;
        margin-right: 40px;
        margin-bottom: auto;
    }
    .procedure_list li a{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

/*-----------------
  電気
  -----------------*/
    .content_line._margin-b-65 {
        margin-bottom: 65px;
    }

    .content_table tr {
        border-bottom: 4px solid #fff;
    }

    .content_table tr::after {
        content: "";
        display: table;
        position: relative;
        border-bottom: 2px solid #F7F7F7;
        width: 100%;
        max-width: 915px;
        margin-left: 15px;
    }

    .content_table th {
        width: 230px;
        display: table-cell;
        padding: 25px;
        height: unset;
    }

    .content_table td {
        padding: 28px 28px 28px 50px;
        max-width: 915px;
    }

    .content_table .last {
        border-bottom: none;
    }

    .table_item_wrapper td {
        position: relative;
        padding-left: 7.5em;
    }

    .table_item_wrapper .consult::before {
        content: "（相談）";
        display: inline-block;
        position: absolute;
        left: 3em;
    }

    .table_item_wrapper .answer::before {
        content: "（回答）";
        display: inline-block;
        position: absolute;
        left: 3em;
    }

    /*-----------------
  商事部
  -----------------*/
    .gifts .content_wrapper,
    .disaster-prevention .content_wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .gifts .list_wrapper {
        margin: 0 auto;
    }

    .gifts .content_image,
    .disaster-prevention .content_image {
        width: 100%;
    }

}

@media screen and (min-width: 1079px) {
    .body_heading_wrapper {
        margin-top: 135px;
    }

    /*-----------------
  商事部
  -----------------*/
    .gifts .content_wrapper,
    .disaster-prevention .content_wrapper {
        flex-direction: row;
        align-items: stretch;
        transform: translateY(-10px);
    }

    .gifts .content_inner,
    .disaster-prevention .content_inner {
        width: 48%;
    }

    .gifts .purpose_list,
    .disaster-prevention .purpose_list {
        display: flex;
        flex-wrap: wrap;
        gap: 15px 20px;
    }

    .gifts .content_image,
    .disaster-prevention .content_image {
        width: 48%;
        position: relative;
        top: 0;
        left: 0;
        margin-top: -31px;
    }
}
/* ========================  common  ========================== */
span.arrow{
    display: block;
    width: 22px;
    height: 8px;
    background-image: url(../ryo-un/img/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: var(--comhover);
}
span.arrow._wh{
    background-image: url(../ryo-un/img/arrow-wh.svg);
}
.btn a,
.btn.sol{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 1rem;
    font-size: 14px;
    color: #333;
    background: #fff;
    width: 234px;
    padding: 15px 0 16px;
    transition: var(--comhover);
    border-radius: 100px;
}
.btn._s a,
.btn.sol._s{
    width: 162px;
    padding: 9px 0 10px;
}
.btn._black a,
.btn.sol._black{
    color: #fff;
    background: #000;
}
@media (any-hover: hover){
    .btn a:hover,
    a:hover .btn.sol,
    .btn._black a:hover,
    a:hover .btn.sol._black{
        color: #fff;
        background: #EF8200;
    }
    /* a:hover .btn.sol.front_busi{background: #003366;} */

    .btn a:hover span.arrow,
    a:hover .btn.sol span.arrow{
        background-image: url(../ryo-un/img/arrow-wh.svg);
    }

    .btn a:hover span.arrow,
    a:hover .btn span.arrow,
    a.fc_btn:hover span.arrow,
    .btn_l a:hover span.arrow{
        transform: translateX(5px);
    }
}
.body_heading.left {
    text-align: left;
    white-space: nowrap;
}
.w_100{width: 100%;}

/* recruit link */
a.reclink {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 5px;
}
span.tabicon {
    width: 0.85em;
    display: block;
}
span.tabicon.s-l {
    width: 1.25em;
    display: block;
    margin-right: 2px;
}
a._hover span.tabicon img:nth-of-type(1){display: block;}
a._hover span.tabicon img:nth-of-type(2){display: none;}
/* hover */
@media (any-hover: hover){
    a._hover:hover span.tabicon img:nth-of-type(1){display: none;}
    a._hover:hover span.tabicon img:nth-of-type(2){display: block;}
}
/* ========================  header  ========================== */
header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: #fff;
    padding: 7px 17px;
}
@media screen and (min-width:768px){
    header {
        padding: 10px 20px;
    }
}
header nav.menu{
    display: none!important;
    position: relative;
    z-index: 333;
}
header.fixed-header{display: none!important;}
header.scroll-header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
}
header .logo{
    width: clamp(193px ,55vw, 300px);
    z-index: 5;
}
.hambBtn{
    width: 45px;
    height: 45px;
    position: relative;
    z-index: 5;
}
.hambBtn span{
    display: inline-block;
    width: 86%;
    height: 2px;
    background: #222;
    border-radius: 10px;
    position: absolute;
    right: 0%;
    transition: all .4s;
}
.hambBtn span:nth-of-type(1){
    top: 11px;
}
.hambBtn span:nth-of-type(2){
    top: 20px;
    transform-origin: right top;
    transform: scaleX(0.75);
}
.hambBtn span:nth-of-type(3){
    top: 29px;
    transform-origin: right top;
    transform: scaleX(0.5);
}
.hambBtn.active span:nth-of-type(1){
    width: 70%;
    top: 15px;
    -webkit-transform: translateX(6%) translateY(6px) rotate(-45deg);
    -moz-transform: translateX(6%) translateY(6px) rotate(-45deg);
    transform: translateX(6%) translateY(6px) rotate(-45deg);
}
.hambBtn.active span:nth-of-type(2){opacity: 0;}
.hambBtn.active span:nth-of-type(3){
    width: 70%;
    -webkit-transform: translateX(-6%) translateY(3px) rotate(45deg);
    -moz-transform: translateX(-6%) translateY(3px) rotate(45deg);
    transform: translateX(-6%) translateY(3px) rotate(45deg);
}
nav#hambnav {
    position: fixed;
    top:15vw;
    left: 0;
    z-index: 3;
    background: #f5f5f5;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    overflow-y: scroll;
    position: absolute;
    width: 100%;
    height: calc(100vh - 15vw);
}
@media screen and (max-width:320px){
    nav#hambnav {
        top:18vw;
        height: calc(100vh - 18vw);
    }
}
@media screen and (min-width:430px){
    nav#hambnav {
        top:14.5vw;
        height: calc(100vh - 14.5vw);
    }
}
@media screen and (min-width:500px){
    nav#hambnav {
        top:14vw;
        height: calc(100vh - 14vw);
    }
}
@media screen and (min-width:546px){
    nav#hambnav {
        top:77.16px;
        height: calc(100vh - 77.16px);
    }
}
nav#hambnav.is-open {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0)
}
ul.hambmenu li a,
ul.hambmenu li > .has_childhambmenu{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px;
    border-bottom: 1px solid #dedfdd;
}
ul.hambmenu li > .has_childhambmenu span.acc{
    display: block;
    width: 1em;
    height: 1em;
    position: relative;
    margin-right: 4px;
}
ul.hambmenu li > .has_childhambmenu span.acc::before{
    content: "";
    width:100%;
    height:0.1rem;
    background:#999;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%) rotate(90deg);
    transition: var(--transition);
}
ul.hambmenu li > .has_childhambmenu span.acc.active::before{
    opacity: 0;
    transform: translate(-50%,-50%) rotate(0deg);
}
ul.hambmenu li > .has_childhambmenu span.acc::after{
    content: "";
    width:100%;
    height:0.1rem;
    background:#999;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
ul.hambmenu li ul.childhambmenu li > a{
    padding: 15px 30px  15px calc(30px + 1em);
}
ul.childhambmenu{
    display: none;
    overflow: hidden;
}
.hambmenu_s{
    width: min(80%,400px);
    display: flex;
    justify-content: space-between;
    margin: 35px auto 0;
    padding-bottom: 120px;
}
.hambmenu_s a{
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    font-size: 14px;
}
.hambmenu_s a span{
    border-left: 6px solid #125EC6;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}
@media screen and (min-width:1079px){
    .hambBtn {display: none;}
    nav#hambnav.is-open {
        display: none;
        opacity: 0;
        visibility: hidden;
    }
    header.fixed-header,
    header nav.menu {
        display: block !important;
    }

    header.scroll-header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background-color: #fff;
        padding: 10px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 999;
        transform: translateY(-100%);
        transition: transform 0.3s ease;
    }

    header.scroll-header.show {
        transform: translateY(0);
    }

    header.fixed-header{
        display: flex!important;
        align-items: center;
        justify-content: space-between;
        padding-right: 0;
        background: transparent;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }
    
    nav.menu > ul {
        display: flex;
        align-items: center;
        gap: 0 min(3vw, 30px);
        font-weight: 500;
    }

    header .logo {width: 345px;}
    header.fixed-header nav.menu {
        background: rgb(18 95 163 / 51%);
        padding: 1.5em 4em 1.5em 3.5em;
        border-top-left-radius: 100px;
        border-bottom-left-radius: 100px;
    }
    header.fixed-header nav.menu.black{
        background: rgb(0 0 0 / 51%);
    }
    header.fixed-header nav.menu > ul > li,
    header.fixed-header nav.menu > ul > li > a{
        color: #fff;
    }
    nav.menu li.has_childmenu{
        position: relative;
        cursor: pointer;
    }
    nav.menu li.has_childmenu ul.childmenu {
        position: absolute;
        left: -201%;
        /* bottom: -191px; */
        bottom: -134px;
        opacity: 0;
        visibility: hidden;
        transition: all .3s;
        display: flex;
        align-items: center;
        width: 463px;
        flex-wrap: wrap;
        gap: 8px 0.75em;
        padding: 45px 23px 20px 23px;
        color: #333;
        border-radius: 8px;
    }
    nav.menu li.has_childmenu ul.childmenu li{
        position: relative;
        z-index: 2;
        width: 202px;
    }
    nav.menu li.has_childmenu ul.childmenu::after {
        content: "";
        position: absolute;
        top: 31px;
        left: 0%;
        background: #fff;
        width: 100%;
        height: calc(100% - 31px);
        border-radius: 8px;
    }
    header.scroll-header nav.menu li.has_childmenu ul.childmenu {
        bottom: -152px;
        padding: 59px 23px 20px 23px;
    }
    header.scroll-header nav.menu li.has_childmenu ul.childmenu::after {
        top: 41px;
        height: calc(100% - 41px);
    }

    nav.menu li.has_childmenu:hover > ul.childmenu,
    nav.menu li.has_childmenu:active > ul.childmenu{
        visibility: visible;
        opacity: 1;
    }
    nav.menu li.has_childmenu ul.childmenu li a{transition: var(--comhover);}
    nav.menu li.has_childmenu ul.childmenu li a:hover{color:#125EC6;}

    header.fixed-header nav.menu > ul > li > a,
    header.scroll-header nav.menu > ul > li > a{transition: var(--comhover);}
    header.fixed-header nav.menu > ul > li > a:hover,
    header.scroll-header nav.menu > ul > li > a:hover{opacity: 0.6;}
}
@media screen and (min-width:1280px){
    header .logo {width: 426px;}
    header.fixed-header {padding: 30px 0px 30px 43px;}
    header.scroll-header .logo{width: 350px;}
}
@media screen and (min-width:1366px){
    header.fixed-header {padding: 30px 0px 30px 70px;}
}
/* ========================  footer  =========================== */
section.footer_top_content {
    padding-top: 80px;
}
#footerContact {
    width: min(90%, 1159px);
    margin: 0 auto 100px;
    background: rgb(11, 88, 196);
    background: linear-gradient(180deg, rgba(11, 88, 196, 1) 0%, rgba(116, 178, 219, 1) 100%);
    padding: 32px 16px;
}
#footerContact > p{
    color: #fff;
    font-size: clamp(20px,5.85vw,29px);
    text-align: center;
    font-weight: 600;
    margin-bottom: 30px;
}
#footerContact .inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px 40px;
}
.footerContact_blk{
    display:flex;
    width: min(100%,517px);
    padding: 23px 1em;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 8px;
}
a.telnum {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: 33px;
    gap:8px;
    margin: 8px 0;
    letter-spacing: 0.01em;
}
a.telnum i{
    width:42px;
}
a.fc_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 16px;
    width: min(100%,375px);
    color: #fff;
    background: #EF8200;
    padding: 0.85em;
    border-radius: 50px;
    margin: 10px 0;
    font-weight: 500;
    font-size: 14px;
    transition: var(--comhover);
}
a.fc_btn._black{
    background: #333;
    margin: 0 auto;
}
@media (any-hover: hover){
    a.fc_btn:hover{filter: brightness(1.2);}
    a.fc_btn._black:hover{
        background: #ef8200;
        filter: unset;
    }
}
@media screen and (max-width:373px){
    a.telnum {font-size: 26px;}
    a.telnum i{width:38px;}
    a.fc_btn {gap: 0 10px;}
}
.footerContact_blk .open{
    color: #666;
    font-size: 14px;
    text-align: center;
}
@media screen and (min-width:1280px){
    section.footer_top_content {padding-top: 100px;}
    #footerContact {margin: 0 auto 120px;}
    #footerContact {padding: 40px 20px;}
    #footerContact > p {margin-bottom: 37px;}
    .footerContact_blk p.m{font-size: 18px;}
    a.telnum {font-size: 37px;}
    a.telnum i{width:41px;}
}
#f_comrec {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
#f_comrec > div{
    width: 100%;
    height: min(63vw,321px);
}
#f_comrec div a{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
#f_comrec div a > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 0% 0%;
    transition: var(--comhover);
}
#f_comrec div a .item{
    color: #fff;
    position: absolute;
    top: 25%;
    left: 13%;
    text-shadow: 0 0 4px #999;
}
#f_comrec div a .item p {
    font-size: clamp(20px, 4.75vw, 24px);
    font-weight: 600;
}
#f_comrec div a .item span{
    font-size: 14px;
}
@media (any-hover: hover){
    #f_comrec div a:hover > img{
        transform: scale(1.05);
        filter: brightness(0.85);
    }
}
@media screen and (min-width:768px){
    #f_comrec div{width: 50%;}
}
@media screen and (min-width:1280px){
    #f_comrec > div{height: min(63vw, 400px);}
}
@media screen and (min-width: 1675px) {
    #f_comrec > div {height: min(25vw, 490px);}
}
ul.f-top-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: min(90%, 787px);
    margin: 0 auto;
    padding: 70px 0 20px;
    gap: 2px 0;
}
ul.f-top-menu li {
    width: 50%;
    font-size: clamp(13px, 3.75vw, 16px);
    text-align: center;
}
ul.f-top-menu li a{transition: var(--comhover);}
@media (any-hover: hover){
    ul.f-top-menu li a:hover{color: #125EC6;}
}
@media screen and (min-width:599px){
    ul.f-top-menu {gap: 5px 0;}
    ul.f-top-menu li {width: min(33%, 225px);}
}
footer .blueArea {
    background: rgb(142, 201, 225);
    background: linear-gradient(180deg, rgba(142, 201, 225, 1) 12%, rgba(15, 92, 197, 1) 100%);
    color: #fff;
    padding: 70px 5% 35px;
}
footer .logo{
    max-width: 426px;
    margin: 0 auto;
}
footer table{
    width: min(100%,530px);
    margin: 30px auto 45px;
}
footer table th,
footer table td{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 14px;
}
footer table td{
    padding-bottom: 7px;
}
footer .copyright{
    font-size: 12px;
    display: block;
    text-align: center;
}
@media screen and (min-width:599px){
    footer table th, footer table td {
        display: table-cell;
        width: auto;
        font-size: 15px;
    }
    footer table th{text-align: right;}
    footer table td{
        text-align: left;
        padding-left: 1.2em;
    }
}
@media screen and (min-width:768px){
    footer .logo {margin: 0 auto 35px;}
    ul.f-top-menu li {width: auto;}
}
@media screen and (min-width:1079px){
    ul.f-top-menu {
        padding: 95px 0 27px;
    }
}
#page_top a{
    display: block;
    width: 45px;
    height: 45px;
    border-radius: 50px;
    position: fixed;
    right: 5%;
    bottom: 3%;
    z-index: 30;
    background: linear-gradient(180deg, rgba(11, 88, 196, 1) 0%, rgba(116, 178, 219, 1) 100%);
    transition: var(--comhover);
}
#page_top a::after {
    content: "";
    border-bottom: 13px solid #fff;
    border-right: 8.85px solid transparent;
    border-left: 8.85px solid transparent;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media screen and (min-width:1078px){
    #page_top a{
        width: 58px;
        height: 58px;
        border-radius: 70px;
        right: 2%;
    }
    #page_top a::after {
        content: "";
        border-bottom: 15px solid #fff;
        border-right: 9.25px solid transparent;
        border-left: 9.25px solid transparent;
    }   
}
/* ==================== front ===================== */
#MV{
    width: 100%;
    height: 100vh;
    position: relative;
}
#wrapper_video{
    width: 100%;
    height: 100vh;
}
.inline-YTPlayer {
    position: unset!important;
    max-width: unset!important;
}
.mv-moviewrap{
    width: 100%;
    height: 100%;
    background:url(../ryo-un/img/mvmovie-bg.webp) center no-repeat;
    background-position: center center!important;
    background-size: cover!important;
    background-repeat: no-repeat!important;
    background-attachment: unset!important;
    position: relative;
}
.mv-moviewrap video{
    width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
}
#video {
    position: absolute!important;
    z-index: -1;
    top: 0%;
    left: 50%;
    padding-bottom: unset!important;
    transform: translate(-50%,0%);
    width: 100%;
    height: 100%!important;
    opacity: 1;
}
/* .vslider-wrap{
    width: 100%;
    height: 100%;
    background: url(../ryo-un/img/mv-01.webp) center center / cover no-repeat;
} */
@media(max-width:1024px) and (orientation: portrait){
    /* front */
    #MV {height: clamp(521px, 63.75vh, 900px);}
    .mv-moviewrap{
        background:url(../ryo-un/img/mvmovie-bg-sp.webp) center no-repeat;
        background-position: center center!important;
        background-size: cover!important;
        background-repeat: no-repeat!important;
        background-attachment: unset!important;
        position: relative;
    }
    #wrapper_video {height: clamp(521px, 63.75vh, 900px);}
}
.catch_wrap {
    position: absolute;
    left: 50%;
    bottom: 18%;
    transform: translateX(-50%);
    color: #fff;
    font-weight: 600;
    width: 90%;
    text-align: center;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.85);
    font-size: clamp(26px, 6.5vw, 39px);
    line-height: 1.35;
}
.catch_wrap > p{
    font-size: 14px;
    margin-top: 2em;
    line-height: 1.75;
}
@media screen and (min-width:768px){
    .catch_wrap > p {font-size: 16px;}
}
@media screen and (min-width:1280px){
    .catch_wrap {font-size: 44px;}
    .catch_wrap > p {font-size: 18px;}
}
.front_text {
    width: min(90%, 502px);
    margin: 0 auto;
    padding: 70px 0;
    line-height: var(--lineHeightL);
}
.front_text .catch{
    font-weight: 600;
    margin-bottom: 2rem;
    font-size: min(7.5vw,29px);
    text-align: center;
}
.front_text .catch02{
    margin-top: 2rem;
}
#front_news-wrapper {
    background: #F2F2F2;
    padding: 50px 0;
}
.postContents_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 2rem;
    padding: 4px 0;
    margin-bottom: 10px;
}
.postContents_wrap .post_date{
    font-size: 14px;
    color: #666;
}
.postContents_wrap .post_title{
    width: 100%;
    transition: var(--comhover);
}
@media (any-hover :hover){
    a:hover .post_title{
        color: #125EC6;
        text-decoration: underline;
    }
}
a.newsbtn {margin: 32px auto 0;}
@media screen and (min-width:768px){
    .front_text {
        width: 565px;
    }
}
@media screen and (min-width:1280px){
    .front_text {
        font-size: 18px;
        width:620px;
    }
    #front_news-wrapper {
        padding: 61px 0;
    }
}
#front_business {
    padding-top: 73px;
}
.front_business_wrap {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 25px 20px;
}
.front_business_wrap > div{
    width: 100%;
}
.front_business_wrap > div a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    padding: 55px 35px;
    gap: 20px 0;
    overflow: hidden;
    border-radius: 5px;
}
.front_business_wrap > div a::before{
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 37%);
    position: absolute;
    top: 0;
    left: 0;
}
.front_business_wrap > div a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: var(--comhover);
}
.front_business_wrap .l_t{
    position: relative;
    z-index: 5;
}
.front_business_wrap p.l_t {
    font-weight: 600;
    color: #fff;
    font-size: 22px;
}
@media (any-hover: hover){
    .front_business_wrap > div a:hover img{
        transform: scale(1.05);
    }
}
@media screen and (min-width:768px){
    .postContents_wrap .post_title{
        width: 79%;
    }
}
@media screen and (min-width:1280px){
    #front_news-wrapper .content{
        display: flex;
        gap: 0 min(9vw,100px);
    }
    .postContents_wrap .post_title {width: 73%;}
    .front_newsContents {
        display: flex;
        align-items: center;
        padding-top: 14px;
        width: 100%;
    }
    .front_newsContents ul.front_newsList{
        width: calc(100% - 162px);
    }
}
@media screen and (min-width:974px){
    .front_business_wrap{
        justify-content: center;
        position: relative;
    }
    .front_business_wrap > div {width: min(48.5%,558px);}
    .front_business_wrap::after{
        content: "";
        width: min(48.5%,558px);
    }
    .front_business_wrap > div a {padding: min(4vw, 73px) 35px;}
    .front_business_wrap {gap: 38px 20px;}
}
@media screen and (min-width:1280px){
    .front_business_wrap {gap: 55px 25px;}
}
#pageHeader {
    width: 100%;
    height: min(59.5vw, 530px);
    position: relative;
}
#pageHeader img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 63%;
}
#pageHeader > h2{
    font-size: clamp(21px,5.75vw,29px);
    font-weight: 600;
    color: #fff;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.85);
    position: absolute;
    z-index: 3;
    left: 50%;
    transform: translateX(-50%);
    bottom: 23.5%;
}
#pageHeader > div{
    text-align: right;
    /* font-size: 11px; */
    color: #333;
    padding-top: 1em;
}
@media screen and (min-width:2300px){
    #pageHeader img {object-position: 50% 71%;}
}
/* 派遣 */
#haken_topImg {
    margin-top: max(-12vw, -120px);
    margin-bottom: clamp(55px, 10vw, 70px);
}
.btn_l {
    width: min(100%, 511px);
    margin: 30px auto 45px;
}
.btn_l a{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    color: #fff;
    background: #ff0000;
    font-size: 22px;
    font-weight: bold;
    padding: 23px 25px;
    border-radius: 100px;
    transition: var(--comhover);
}
.btn_l a span.arrow {
    display: block;
    width: 32px;
    height: 14px;
}
.welfare_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 10px;
}
.welfareBlk{width: 48%;}
.welfareBlk p{padding-top: 0.75em;}
.content_wrapper.content._wrap {
    flex-wrap: wrap;
}
.QA:nth-of-type(n+2){margin-top: 45px;}
.btn_l.recruitinfo a:hover{
    background: #EF8200;
}

@media screen and (min-width:768px){
    .welfare_wrap {padding-top: 1.75em;}
    .btn_l {margin: 80px auto 45px;}
}
@media screen and (min-width:1079px){
    .welfareBlk {width: 32%;}
}
@media screen and (min-width:1250px){
    .welfare_wrap {
        padding-top: 2em;
        gap: 50px 11px;
    }
    .btn_l {margin: 100px auto 55px;}
    .btn_l a {
        font-size: 27px;
        padding: 16px 25px;
    }
}

#lposi_swiper_outer{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
#lposi_swiper_outer.bottom_margin{margin-bottom: 65px;}
@media screen and (min-width:1280px){
    #lposi_swiper_outer.bottom_margin{margin-bottom: 85px;}
}
.lposi-swiper{
	width:95vw;
    margin-right: 0px!important;
    margin-bottom: 8px;
}
.lposi-swiper-wrapper{
	width: calc(100% + (100vw - 95vw) / 2);
	z-index: 2;
}
.lposi-swiper-slide{overflow: hidden;}
.lposi-swiper-slide a{
    display: block;
    position: relative;
}
.lposi-swiper-slide a .post_title {
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform:translate(-50%,-50%);
    -webkit-transform:translate(-50%,-50%);
    transform: translate(-50%, -50%);
    color: #fff;
    font-weight: bold;
    z-index: 3;
    width: 90%;
    height: auto;
    text-align: center;
    font-size: clamp(18px, 4.85vw, 24px);
}
.lposi-swiper-slide a img{
    transition: var(--comhover);
    position:relative;
}
.lposi-swiper-slide a::before{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background: rgb(0 0 0 / 51%);
    z-index: 2;
    transition: var(--comhover);
}

@media (any-hover: hover){
    .lposi-swiper-slide a:hover .post_title{text-decoration: none!important;}
    .lposi-swiper-slide a:hover img{transform:scale(1.05);}
    .lposi-swiper-slide a:hover::before{background:rgb(0 0 0 / 30%)};
}
@media screen and (min-width:768px){
    .lposi-swiper {
		width: 87vw;
        margin-bottom: 50px;
	}
    .lposi-swiper-wrapper{
        width: calc(100% + (100vw - 87vw) / 2);
    }
}
@media screen and (min-width:1680px){
    .lposi-swiper {
		width: calc(1250px + (100vw - 1250px) / 2);
	}
    .lposi-swiper-wrapper{
        width: calc(1250px + (100vw - 1250px) / 2);
    }
}
.s-text.gray{color: #727272;}
.stress_content.message{
    line-height: 2;
}
.stress_content.message .sign{
    text-align: right;
    padding-top: 1.25em;
}
.body_heading_wrapper._sol{
    margin-bottom: 10px;
}
@media screen and (min-width:768px){
    .stress_content.message{
        padding-left: 30px;
        padding-right: 0px;
    }
    .body_heading_wrapper._sol{
        margin-bottom: 0px;
    }
}
.content_table.th_blue th{
    background: #D9F0F7;
}
.content_table td dl dt{
    font-weight: normal;
    padding:6px 0;
    text-align-last: justify;
    -moz-text-align-last: justify;
}
.content_table td dl dt.w-5{width: 5.5em;}
.content_table td dl dt.w-7{width: 7em;}
.content_table td dl dd{
    padding: 1px 0 12px;
}
@media all and (min-width:768px){
    .content_table td dl dt.w-5{width: 6em;}
    .content_table td dl dt.w-7{width: 7.5em;}
}
@media screen and (min-width:1024px){
    .content_table td dl dt{
        padding: 5px 0;
    }
    .content_table td dl dd{
        padding: 5px 0;
        width: 76%;
    }
}
@media screen and (min-width:1280px){
    .content_table td dl{
        display: flex;
        justify-content: space-between;
    }
}
.access_txt {width: 100%;}
.googlemap_wrapper{
    width: 100%;
    height: clamp(250px,34vw,445px);
}
@media screen and (min-width:768px){
    .access_txt {padding-bottom: 2em;}
    .googlemap_wrapper{margin-bottom: 30px;}
}
.pp_txt{
    line-height: 1.75;
}
.pp_txt ul.pp-detail-list{
    width: 100%;
    margin-top: 30px;
}
.pp_txt ul.pp-detail-list li{
    padding-left: 3em;
    text-indent: -3em;
}
.page404{padding-top: clamp(75px,26vw,120px);}
.page404 > h2{margin-bottom: 38px;}
.page404_links{margin-top: 25px;}
.page404_links li a:hover{text-decoration: underline;}

/* フォーム */
select,input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
}
table.formtable {
    max-width: 750px;
    width: 98%;
    margin: 0 auto;
}
table.formtable th,
table.formtable td{
    display: inline-block;
    width: 100%;
    font-weight: 600;
}
table.formtable th{
    vertical-align: center;
    text-align:left;
    margin-bottom: 19px;
}
table.formtable th > span{
    font-size: 12px;
    display: inline-block;
    padding: 0px 8px 2px;
    color: #fff;
    background: #cc0033;
    margin-left: 1.25em;
}
table.formtable td{margin-bottom: 28px;}
table.formtable td.calendar > div{
    max-width: 220px;
}
table.formtable td.calendar > div.contactItem{
    max-width: 310px;
}
table.formtable td .red{
    font-size: 13px;
}

table.formtable td input,.formtable td textarea,.formtable td select,.formtable option,.formtable select{
    font-size: 15px;
    border: 1px solid #125EC6;
    box-sizing: border-box;
    padding: 12px 15px;
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
    z-index: 2;
    border-radius: 0px!important;
}
table.formtable select {
    width: min(100%, 223px) !important;
    position: relative;
    background: #fff url(img/arrowbottom.svg) no-repeat right 17px center / 15px auto !important;
    color: #333 !important;
}
table.formtable td.calendar > div.contactItem select{
    width: min(100%, 310px) !important;
}
table.formtable td input:focus,.formtable td textarea:focus,.formtable td select:focus,.formtable option:focus,.formtable select:focus{
    outline: 1px solid #125EC6!important;
    border-radius: 0px!important;
    
}
table.formtable input,.formtable textarea{width: 100%;}
table.formtable textarea {
    resize: none;
    min-height: 223px;
}
table.formtable td span.mwform-radio-field.horizontal-item > label{
    display: flex;
    align-items: center;
    width: 100%;
}
.participants_old {
    display: flex;
    align-items: center;
}
.participants_old .oldinput_wrap{
    display: flex;
    align-items:center;
}
.participants_old .oldinput_wrap > div{
    width: 83px;
    margin: 0 1em 0px 1.5em;
}
.participants_old:nth-of-type(2){
    margin-top: 1em;
}
.privacycheck {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 20px;
    margin: 30px 0 35px;
    font-weight: 600;
}
.privacycheck a{
    text-decoration: underline;
}
.privacycheck a:hover{
    text-decoration: none;
}

/* チェックボックス */
.check_btn input[type=checkbox].check_btn_item{display: none;}
.check_btn label {display: inline-block;}
.check_btn .check_btn_item + span {
	padding-left:2.5em;
	display: inline-block;
	position: relative;
    font-weight: 600;
}
.check_btn .check_btn_item + span::after,
.check_btn .check_btn_item + span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
}
.check_btn .check_btn_item + span::before {
    top: 54%;
    transform: translateY(-50%);
    border: 1px solid #333;
    left: 0;
    height: 1.5em;
    background: #fff;
    width: 1.5em;
}
.check_btn .check_btn_item + span::after {
    border: none;
    border-right: 0.25em solid #333;
    border-bottom: 0.25em solid #333;
    height: 0.75em;
    width: 0.45em;
    left: 0.55em;
    opacity: 0;
    top: 0.45em;
    transform: rotate(45deg);
}
.check_btn .check_btn_item:checked + span::after {opacity: 1;}

/* フォームボタン */
.formbtn {
    position: relative;
    cursor: pointer !important;
    transition: all .3s ease;
    text-align: center;
}
.formbtn.back{
    margin-bottom: 13px;
}
.formbtn input {
    width: min(67.5vw, 344px);
    text-align: center;
    padding: 22px 30px 22px 30px;
    background: #333;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
    border: none;
    letter-spacing: 0.2em;
    cursor: pointer !important;
    font-size: 15px;
    border-radius: 100px;
    transition: var(--comhover);
}
.formbtn input:hover{background-color: #ef8200;}
.form_finished {line-height: 1.75;}
.form_finished_btn {
    width: min(67.5vw, 310px);
    text-align: center;
    padding: 14px 20px 15px 20px;
    background: #333;
    color: #ffffff;
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
    border: none;
    letter-spacing: 0.2em;
    cursor: pointer !important;
    font-size: 15px;
    border-radius: 100px;
    transition: var(--comhover);
    margin-top: 50px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.form_finished_btn:hover{background-color: #ef8200;}
.newslist_wrapper,.jobNewslist_wrapper,#pagecontents.single{
    padding-top: min(17vw, 100px);
}
@media screen and (min-width:768px){
    .newslist_wrapper ul.front_newsList li .post_title {
        width: calc(100% - 8em);
    }
}
.newslist_wrapper ul.front_newsList {
    width: 100%;
}
.pagenation {
    text-align: center;
    margin-top: 45px;
}
.wp-pagenavi{
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
}
.wp-pagenavi span,.wp-pagenavi a{
    width: 2.15em;
    height: 2.15em;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(67, 136, 209, 0.2)!important;
    color: #333!important;
    font-size: 15px;
    letter-spacing: 0;
}
.wp-pagenavi span.pages{
    display: none!important;
}
.wp-pagenavi span.pages:hover{
    border:none!important;
    color: #333333!important;
    background: unset!important;
    width: auto;
    height: auto;
}
.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi span.extend{
    display:none!important;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink{
    border: none!important;
}
@media (any-hover: hover){
    .wp-pagenavi span:hover,.wp-pagenavi a:hover,.wp-pagenavi span:hover{
        background: rgba(67, 136, 209, 0.2)!important;
        font-weight: normal!important;
        border: none!important;
    }
}
.wp-pagenavi span.current{
    background: rgba(67, 136, 209, 0.2)!important;
    font-weight: normal!important;
    border: none!important;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink{
    color: #333!important;
    background: none!important;
}
ul.jobNewslist{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 35px 0;
}
ul.jobNewslist li{
    overflow: hidden;
    width: 100%;
}
@media screen and (min-width:768px){
    ul.jobNewslist li{width: 48%;}
}
@media screen and (min-width:1024px){
    ul.jobNewslist li{width: 32%;}
}
ul.jobNewslist li a{
    display: block;
    position: relative;
}
ul.jobNewslist li a .post_title {
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform:translate(-50%,-50%);
    -webkit-transform:translate(-50%,-50%);
    transform: translate(-50%, -50%);
    color: #fff;
    font-weight: bold;
    z-index: 3;
    width: 90%;
    height: auto;
    text-align: center;
    font-size: clamp(18px, 4.85vw, 19px);
}
ul.jobNewslist li a img{
    transition: var(--comhover);
    position:relative;
}
ul.jobNewslist li a::before{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    -moz-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    background: rgb(0 0 0 / 51%);
    z-index: 2;
    transition: var(--comhover);
}
@media (any-hover: hover){
    ul.jobNewslist li a:hover .post_title{text-decoration: none!important;}
    ul.jobNewslist li a:hover img{transform:scale(1.05);}
    ul.jobNewslist li a:hover::before{background:rgb(0 0 0 / 30%)};
}
.single .post-wrapper .post_info{
    margin-bottom: 27px;
}
@media screen and (min-width:768px){
    .single .post-wrapper .post_info{
        margin-bottom: 45px;
    }
}
.single .post-wrapper .post_info .post_date{
    font-size: 12px;
    padding-bottom: 0.65em;
    color: #999;
}
.single .post-wrapper .post_info .post-title{
    position: relative;
    padding-bottom: 20px;
}
.single .post-wrapper .post_info .post-title::after{
    content: "";
    width: clamp(30px,15.78vw,117px);
    height: 4px;
    background: #125EC6;
    position: absolute;
    left: 0;
    bottom: 0;
}
@media screen and (min-width:768px){
    .single .post-wrapper .post_info .post_date{
        font-size: 14px;
    }
}
#post_pagenation-wrapper {
    margin-top: 45px;
}
.post_pagenation {
    width: min(100%, 600px);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.post_pagenation > div{
    width: 90px;
    display: block;
    border-radius: 4px;
}
.post_pagenation > div a{
    display: block;
    width: 100%;
    background: rgba(67, 136, 209, 0.2)!important;
    padding: 4px 0.75em 5px;
    transition: var(--comhover);
    font-size: 13px;
    text-align: center;
}
.post_pagenation > div a:hover{
    background: rgba(67, 136, 209, 0.37)!important;
}
@media screen and (min-width:420px){
    .post_pagenation > div{width: 115px;}
    .post_pagenation > div a{font-size: 14px;}
}

.content_wrapper.content._wrap._mainExTxt {
    margin-bottom: 45px;
}
@media screen and (min-width:768px){
    .content_wrapper.content._wrap._mainExTxt {
        margin-bottom: 55px;
    }
}

#philosophyTop {
    padding: 45px 0 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#philosophyTop h3 {
    width: clamp(90px, 38vw, 190px);
    margin: 0 auto 60px;
}
#philosophyTop .txtrl{
    font-size: 20px;
    line-height: 1.85;
}
@media (min-width:481px){
    #philosophyTop h3 {
        width: clamp(190px, 10.75vw, 244px);
        margin: 0 auto 70px;
    }
    #philosophyTop .txtrl{
        font-size: 24px;
        line-height: 2;
    }
}
@media (min-width:768px){
    #philosophyTop .txtrl{font-size: 27px;}
}
@media (min-width: 1250px) {
    #philosophyTop h3 {margin: 0 auto 80px;}
    #philosophyTop {padding: 35px 0 85px;}
}
.content_wrapper.content._wrap.philosophy_contentsLeft{
    justify-content: flex-start;
    position: relative;
}
.content-rowImg {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.stress_content._philosophy .subItem{
    font-size: 20px;
    line-height: 1.75;
    margin-bottom: 0.75em;
}
@media (min-width:481px){
    .stress_content._philosophy .subItem{font-size: 24px;}
}
.stress_content._philosophy .image{
    margin-top: 45px;
}
@media (min-width:768px){
    .content-rowImg {
        height: 316px;
        position: absolute;
        z-index: -1;
    }
    .content-rowImg > img{
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: right;
        position: relative;
    }
    .content-rowImg::after{
        content: "";
        width: 100%;
        height: 100%;
        background: rgb(255,255,255);
        background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0.6)83%, rgba(255,255,255,0) 98%);
        position: absolute;
        top: 0;
        left: 0;
    }
}
@media (min-width:975px){
    .content-rowImg::after {
        background: rgb(255, 255, 255);
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.6) 60%, rgba(255, 255, 255, 0) 85%);
    }
}
@media (min-width:1366px){
    .content-rowImg::after {
        content: none;
    }
}
@media (min-width:1537px){
    .content-rowImg {
        width: 100%;
        left: calc((100vw - 1250px) / 1.85);
        position: absolute;
        z-index: -1;
    }
}
.stress_content._philosophy {
    width: 100%;
    max-width: 598px;
    padding-right: 0;
}
.stress_content._philosophy p{
    width: 100%;
    max-width: unset;
    line-height: 1.75;
}
@media (min-width:768px){
    #philosophy_bottom {padding-top: 55px;}
    #philosophy_bottom ._left .content_line,
    #philosophy_bottom ._right .content_line{
        width: 100%;
    }
}
@media (min-width: 800px) {
    #philosophy_bottom {
        padding-top: 85px;
        display: flex;
        justify-content: center;
        position: relative;
    }
    #philosophy_bottom::after{
        content: "";
        width: 100%;
        height: 1px;
        background: #ccc;
        position: absolute;
        top: 144px;
        left: 0;
    }
    #philosophy_bottom ._left > .content_line,
    #philosophy_bottom ._right > div:first-child > .content_line{background: transparent;}
    #philosophy_bottom > div {
        width: min(42.5%, 716px);
    }
    #philosophy_bottom ._left .content_wrapper.content._wrap.philosophy_contentsLeft .subItem,
    #philosophy_bottom ._right .content_wrapper.content._wrap.philosophy_contentsLeft .subItem {
        font-size: 22px;
    }
}
@media (min-width:987px){
    #philosophy_bottom {
        padding-top: 145px;
    }
    #philosophy_bottom::after{
        top: 204px;
    }
}
@media (min-width: 1250px) {
    #philosophy_bottom ._left .content_wrapper.content._wrap.philosophy_contentsLeft .subItem,
    #philosophy_bottom ._right .content_wrapper.content._wrap.philosophy_contentsLeft .subItem {
        font-size: 24px;
    }
}
@media (min-width: 1366px) {
    .stress_content._philosophy .subItem,
    #philosophy_bottom ._left .content_wrapper.content._wrap.philosophy_contentsLeft .subItem,
    #philosophy_bottom ._right .content_wrapper.content._wrap.philosophy_contentsLeft .subItem {
        font-size: 27px;
    }
}
.blur{
    opacity: 0;
    filter: "blur(6px)";
}
.content_image.cmdImg{
    width: 100%;
    max-width: 924px;
}
.forspList {
    width: 100%;
}
.forspList ul{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}
.forspList ul li {
    line-height: 1.2;
    text-align: center;
    font-size: 14px;
    padding: 7px 12px 7px;
    border-radius: 25px;
    position: relative;
}
.forspList ul li:before{
    content: "";
    width: 9px;
    height: 9px;
    background: #008c23;
    border-radius: 20px;
    position: absolute;
    top: 40%;
    left: 0;
    transform: translateX(-50%);
}

.content_wrapper._message {
    align-items: flex-start;
    justify-content: center;
}
.philosophyPage {
    width: 100%;
    margin-top: 65px;
}

a.linktxt{
    color: #125EC6;
    text-decoration: underline;
}
@media (any-hover: hover){
    a.linktxt:hover{
        text-decoration: none;
    }
}
span.commenttxt{
    display: inline-block;
    background: #D9F0F7;
    padding: 0.5em 1.35em;
    border-radius: 8px;
    margin-bottom: 0.75em;
}

.itemsSlider-wrapper {
    max-width: 924px;
    margin: 15px auto 0;
}

.swiper-button-prev,
.swiper-button-next {
    width: 30px;
    height: 30px;
    background: #125EC6;
    border-radius: 50px;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 12px;
    font-weight: bold!important;
    color: #fff;
}

.swiper-button-next,
.swiper-button-prev {
    top: 55%;
}

.content_text{
    margin-bottom: 1.325em;
}
.addalongblk:nth-of-type(n+2){
    margin-top: 30px;
}
.addalongitem{
    margin-bottom: 1em;
    padding-left: 1.5em;
    font-weight: 500;
    position: relative;
}
.addalongitem::before {
    content: "";
    width: 0.75em;
    height: 0.75em;
    background: #125EC6;
    position: absolute;
    left: 0;
    top: 7px;
    transform: rotate(45deg);
}
.addalongitem.flowitem{
    margin-bottom: 1.75em;
    display: inline-block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    font-size: 17px;
    font-weight: 600;
}
@media all and (min-width:768px){
    .addalongblk:nth-of-type(2) {margin-top: 55px;}
    .addalongblk:nth-of-type(3) {margin-top: 70px;}
    .addalongitem.flowitem{font-size: 19px;}
}

/* ツールチップ */
.tooltip {
  position: relative;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 230px;
    background-color: #f5f5f5;
    color: #393939;
    text-align: center;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
    bottom: 86%;
    left: 50%;
    transform: translateX(-50%);
    margin-left: 0px;
    writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    -o-writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    text-orientation: unset;
    letter-spacing: 0;
    font-size: 14px;
    padding: 1em;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.22);
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}

.tooltip > span > i{
    display: inline-block;
    width: 1.05em;
    margin-left: 3px;
}
@media all and (min-width:768px){
    .tooltip > span > i {margin-left: 0px;}
    .tooltip .tooltiptext {
        bottom: 65%;
        left: 50%;
        transform: unset;
    }
}

/* よくある質問 */
.faq-block {
	margin: 40px 0;
}
.faq-item {
	border: 1px solid #ccc;
	border-radius: 6px;
	margin-bottom: 15px;
	overflow: hidden;
}
.faq-question {
	width: 100%;
	padding: 1.25em 2.75em 1.25em 1.25em;
	font-size: 16px;
	font-weight: 600;
	text-align: left;
	border: none;
	cursor: pointer;
	position: relative;
	background: #d9e8f6;
	/* 求職者 */
	transition: background .25s ease;
}
.faq-block.employer .faq-question {
	background: #fde2da;
}
.faq-question:hover {
	filter: brightness(.97);
}
.faq-question::before,
.faq-question::after {
	content: "";
	position: absolute;
	background: #333;
	border-radius: 1px;
	transition: transform 0.25s ease;
	top: 50%;
	left: calc(100% - 1.25em);
	transform: translate(-50%, -50%);
}
.faq-question::before {
	width: 18px;
	height: 2px;
}
.faq-question::after {
	width: 2px;
	height: 18px;
}
.faq-item.is-open .faq-question::after {
	transform: translate(-50%, -50%) scaleY(0);
}
.faq-panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .35s var(--ease, cubic-bezier(.2, 1, .2, 1));
}
.faq-item.is-open .faq-panel {
	grid-template-rows: 1fr;
}
.faq-panel__inner {
	overflow: hidden;
	padding: 0 1.25em;
	background: #f9f9f9;
	font-size: 15px;
	line-height: 1.75;
	transition: padding .25s ease;
}
.faq-item.is-open .faq-panel__inner {
	padding: 1em 1.25em;
}
.syoujibu-bannerwrap{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px 30px;
    margin-top: 35px;
}
.syoujibu-bannerwrap > div{
    width: 200px;
}
.syoujibu-bannerwrap > a{
    display: block;
    width: 400px;
    border: 5px solid #dedfdd;
}
.offficeaddblks {
    display: grid;
    flex-wrap: wrap;
    align-items: center;
    gap: 25px 15px;
    justify-content: space-between;
    grid-template-columns: 48.5% 48.5%;
    max-width: 924px;
    margin-right: auto;
    margin-left: auto;
}
.office-banners{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px auto;
    margin-top: 35px;
    margin-bottom: 50px;
    max-width: 924px;
    margin-right: auto;
    margin-left: auto;
}
.office-banners > div{width: 31%;}
.office-banners > div img{width: 100%;}
@media (max-width:480px){
    .office-banners > div{width:46.75%;}
}

/* 商事部追加修正 */
.content.sj_explain {
    width: 90%;
    max-width: 924px;
    margin: 0 auto;
}

/* ------------ cookie ------------- */
.cookie-consent {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 13px;
  gap:0 1.15em;
  color: #fff;
  background: rgba(0,0,0,.7);
  padding: 0.75em 1.2em;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
}
.cookie-consent{
  line-height:1.5;
}
.cookie-agree {
  color: #fff;
  background: dodgerblue;
  padding: .5em 1.5em;
  border-radius: 3px;
}
.cookie-agree:hover {
  cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
@media (any-hover: hover){
    .cookie-text > a:hover{text-decoration: underline;}
}

@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 600px) {
  .cookie-consent{
    font-size:12px;
  }
}
/* -------------- cookie -------------- */