@charset "UTF-8";
/* ============================================== */
/*                    共通設定                    */
/* ============================================== */

:root{
    --txtColor: #1D2231;
    --mainBlue01: #599FEF;
    --mainBlue02: #364BAF;
    --mainBlue03: #3f6cc8;
    --mainBlue04: #3d62b0;
    /* --subPurple01: #6482C0; */
    --subPurple01: #3f6cc8;
    --subRed01: #d66d77;
    --accentYellow01: #C9BA42;
    --accentYellow02: #b4a602;
    --accentGreen01: #aeebb1;
    --ctaYellow01: #CCBD4A;
    --ctaYellow02: #B49D03;
    --bg_entry: #f5f3dd;
    --gray01: #dcdcdc;
    --gray02: #4c423f;
    --default_font_color: #3c3c3c;
    --gradient_bgBlue: linear-gradient(to right, var(--mainBlue01) 0%, var(--mainBlue02) 100%);
    --gradient_entry: linear-gradient(100deg, var(--ctaYellow01) 0%, var(--ctaYellow02) 100%);
    --gradient_cta_entry:linear-gradient(100deg, #B49D03 0%,#CCBD4A 50%, #B49D03 100%);
    --ff_notoSans: "Noto Sans JP", serif;
    --ff_PoiretOne: "Poiret One", sans-serif;
    --ff_oswald: "Oswald", sans-serif;
}
html:has(body){overflow-x: hidden;margin-top: 0 !important;}
body{
    position: relative;
    z-index: 0;
    overflow-x: hidden;
    color: var(--txtColor);
    font-family: var(--ff_notoSans);
    font-size: 16px;
    line-height: 1.5;
}
html:has(.rct-entry_new),
body:has(.rct-entry_new){overflow-x: clip;}

figure,img,video{display: block;width: 100%;max-width: 100%;height: auto;}

a{
    transition: .3s;
    text-decoration: none;
}
a:hover{opacity: 0.8;}
main a:has(img) img{transition: .3s;}
main a:has(img) figure{overflow: hidden;transform: translateZ(0);}
main a:has(img):hover{opacity: 1;}
main a:has(figure.noimg figcaption):hover{opacity: 1;}
main a:has(img):hover figure{overflow: hidden;transform: translateZ(0);}
main a:has(img):hover img{scale: 1.1;}
main a:has(figure.noimg figcaption):hover figure.noimg{overflow: hidden;}
main a:has(figure.noimg figcaption) figure.noimg figcaption{transition: .3s;}
main a:has(figure.noimg figcaption):hover figure.noimg figcaption{scale: 1.1;}

a[href*=tel]{pointer-events: none;}

.inner{
    width: 100%;
    max-width: 1340px;
    padding: 0 50px;
    margin: 0 auto;
}
.flex{display: flex;}

.pc_cont{display: block;}
.sp_cont{display: none;}

/* ============================================== */
/*            WP用クラス            */
/* ============================================== */
.aligncenter,
.aligncenter img {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.alignleft,
.alignleft img {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}
.alignright,
.alignright img {
    text-align: right;
    margin-left: auto;
    margin-right: 0;
}

.mb30{margin-bottom: 30px !important;}
.mb40{margin-bottom: 40px !important;}
.mb50{margin-bottom: 50px !important;}
.mb60{margin-bottom: 60px !important;}
.mb100{margin-bottom: 100px !important;}
.fz_s{font-size: 0.875em !important;}
.fz_m{font-size: 1em !important;}
.fz_l{font-size: 1.125em !important;}
.fw400{font-weight: 400 !important;}
.fw500{font-weight: 500 !important;}
.fw700{font-weight: 700 !important;}

/* .wp-block-table td,
.wp-block-table th{border: none !important;} */

/* ============================================== */
/*            スクロールアニメーション            */
/* ============================================== */
.scrollin {
    visibility: hidden;
    opacity: 0;
    transition: 1.2s;
  }
  .scrollin.bottom {transform: translateY(30px);}
  .scrollin.left {transform: translateX(-30px);}
  .scrollin.right {transform: translateX(30px);}
  .scrollin.active,
  .scrollin.bottom.active,
  .scrollin.left.active,
  .scrollin.right.active {
    visibility: visible;
    opacity: 1;
    transform: translate(0,0);
}

/* =========================================================== */
/* 全ページ共通パーツ  */
/* =========================================================== */
/* ====================================== */
/* パンくずリスト */
/* ====================================== */
.breadcrumbs > span {
    position: relative;
    z-index: 0;
    display: inline-block;
    font-size: 13px;
    font-weight: 300;
    padding: 0 1em 0 0;
    margin: 0 .6em 0 0;
}
.breadcrumbs > span::after {
    position: absolute;
    z-index: 0;
    display: block;
    content: "/";
    margin: auto;
    inset: 0 0 0 auto;
}
.breadcrumbs > span:nth-last-child(1)::after {display: none;}
/* ====================================== */
/* ボタン */
/* ====================================== */
.btn{
    position: relative;
    z-index: 0;
    color: #fff;
    border-radius: 8px 0 0 0;
    border-top: 1px solid var(--gray02);
    border-left: 1px solid var(--gray02);
    overflow: hidden;
    transition: 0.3s;
}
.btn:hover{opacity: 0.8;}
.btn:hover a{opacity: 1;}
.btn:not(:has(a)){padding: .8em 0 .5em 1.5em;}
.btn::after{
    content: '';
    display: inline-block;
    width: 26px;
    height: 8px;
    background: url(../img/common/ico/btn_arrow.svg) no-repeat center / contain;
    margin: 0 0 0 0.8em;
}
.btn:has(a)::after{display: none;}
.btn a::after{
    content: '';
    display: inline-block;
    width: 26px;
    height: 8px;
    background: url(../img/common/ico/btn_arrow.svg) no-repeat center / contain;
    margin: 0 0 0 0.8em;
}
/* 四角ボタン */
.btn.btn_square{
    border: 1px solid currentColor;
    border-radius: 0;
    width: 260px;
    margin: 0 auto !important;
}
.btn.btn_square::after{display: none;}
.btn.btn_square a{
    display: flex;
    justify-content: center;
    padding: .6em;
    /* column-gap: 12px; */
}
.btn.btn_square a::after{
    content: '';
    display: inline-block;
    width: 35px;
    height: 16px;
    background: #fff;
    -webkit-mask-image: url(../img/common/ico/btn_arrow_entry.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url(../img/common/ico/btn_arrow_entry.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transition: background-color .3s;
}
.btn.btn_square:hover{
    color: var(--mainBlue03);
    background: #fff;
    opacity: 1;
}
.btn.btn_square a:hover::after{background: var(--mainBlue03);}

.btn.btn_gray{
    background: #fff;
    color: var(--gray02);
}
.btn.btn_gray::after{display: none;}
.btn span{
    display: inline-block;
    transition: .3s;
}
.btn span:last-of-type:after{
    content: '';
    display: inline-block;
    width: 26px;
    height: 8px;
    margin: 0 0 0 0.8em;
    background: url(../img/common/ico/btn_arrow_gray.svg) no-repeat center / contain;
}

.btn:has(a){padding: 0;}
.btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.btn.btn_entry{
    width: 470px;
    margin: 0 auto;
    border-radius: 0 0 25px 0;
    border: none;
}
.btn.btn_entry::after{display: none;}
.btn.btn_entry a{
    display: block;
    background: linear-gradient(100deg, var(--ctaYellow02) 0%, var(--ctaYellow01) 50%, var(--ctaYellow02) 100%) no-repeat right center / 200% 100%;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
    padding: 1em;
}
.btn.btn_entry a::after{
    content: '';
    display: inline-block !important;
    /* display: none !important; */
    width: 35px;
    height: 16px;
    background: url(../img/common/ico/btn_arrow_entry.svg) no-repeat center / contain;
}
.btn.btn_entry a:hover{
    /* opacity: 0.8 !important; */
    background-position: left center;

}

.btn:not(.btn_square) a::after{display: none;}
.btn:not(.btn_square) a span{transition: 0.3s;}
.btn:not(.btn_square) a span:last-of-type:after{
    content: '';
    display: inline-block;
    width: 26px;
    height: 8px;
    background: url(../img/common/ico/btn_arrow.svg) no-repeat center / contain;
    margin: 0 0 0 0.8em;
    margin: 0 0 0 0.5em;
}
.btn:not(.btn_square):hover{opacity: 1;}
.btn:not(.btn_square) a:hover{opacity: 1;}
.btn:not(.btn_square) a:hover span{transform: translateX(10px);}
a:hover .btn:not(.btn_square) span{transform: translateX(10px);}
/* ====================================== */
/* フローティングバナー */
/* ====================================== */
.bnr_entry{
    position: relative;
    z-index: 0;
    position: fixed;
    z-index: 52;
    inset: auto 50px 105px auto;
    transform: translateY(180%);
    opacity: 0;
    visibility: hidden;
    transition: .6s;
}
.flag_on .bnr_entry{
    bottom: 50px;
}
.bnr_entry a img{width: 140px;height: 140px;transition: 0.3s;}
.bnr_entry span{
    position: absolute;
    z-index: 52;
    inset: 5px 5px auto auto;
    display: block;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #f5f5f5;
    cursor: pointer;
}
.bnr_entry span::before,
.bnr_entry span::after{
    position: absolute;
    z-index: 0;
    inset: -100%;
    margin: auto;
    content: '';
    width: 14px;
    height: 1px;
    background: #000;
}
.bnr_entry span::before{transform: rotate(45deg);}
.bnr_entry span::after{transform: rotate(-45deg);}
.pagetop_posision{margin: 0 !important;}

.bnr_entry.is_visible{
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}
.bnr_entry.is_visible.is_hidden{
    transform: translateY(180%);
    opacity: 0;
    visibility: hidden;
}

.bnr_entry a:hover{
    opacity: 1;
    filter: brightness(1.1);
}
.bnr_entry a:hover img{scale: 1.05;}
/* ====================================== */
/* カードアイテム */
/* ====================================== */
.ul_card{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 80px 2%;
}
.ul_card::after{
    content: '';
    width: 100%;
    max-width: 600px;
    height: 0;
    pointer-events: none;
}
.ul_card li{
    display: grid;
    /* max-width: 600px; */
    max-width: 400px;
}
.ul_card li a{
    /* display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5; */
    height: 100%;
    background: #fff;
}
.ul_card li a div{ display: contents; }
.ul_card li figure{
    width: 100%;
    aspect-ratio: 25 / 14;
    border: 1px solid var(--gray01);
    border-radius: 0 0 20px 0;
    overflow: hidden;
    margin: 0 0 10px;
}
.ul_card li figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ul_card li .txt{
    font-size: 14px;
    line-height: 2;
    color: #000;
}
.ul_card li .btn{
    font-size: 14px;
    width: 140px;
    margin: 3em 0 0 auto;
    max-height: 40px;
}
.rct-event .ul_card{grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));}
.ul_card li a div > *:not(.btn){transition: 0.3s;}
.ul_card li a:hover div > *:not(.btn){opacity: 0.7;}
/* ====================================== */
/* ヘッダー */
/* ====================================== */
.rct-header{
    position: fixed;
    inset: 0 auto auto 0;
    z-index: 60;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: #fff;
    padding: 21px 20px 21px 35px;
}
.rct-header .logo a{
    display: flex;
    align-items: center;
}
.rct-header .logo a span:has(img){
    display: block;
    width: 200px;
    max-width: 200px;
    height: auto;
    margin: 0 10px 0 0;
}
.rct-header .logo a span{
    font-family: var(--ff_oswald);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0.025em;
}
/* ====================================== */
/* ナビゲーション */
/* ====================================== */
.rct-header nav div{
    display: flex;
    align-items: center;
    column-gap: 1.5em;
    font-weight: 500;
}
.rct-header nav div ul{
    display: flex;
    align-items: center;
    column-gap: 1.5em;
}
/* ctaボタン */
.rct-header .btn_cta{
    display: flex;
    color: #fff;
}
.rct-header .btn_cta a{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 25px 15px 15px;
    background:  linear-gradient(100deg, var(--ctaYellow02) 0%, var(--ctaYellow01) 50%, var(--ctaYellow02) 100%) no-repeat right center / 200% 100%;
    line-height: 1;
}
.rct-header .btn_cta a span:nth-of-type(1)::before{
    content: '';
    display: inline-block;
    width: 17px;
    height: 14px;
    background: url(../img/common/ico/entry.svg) no-repeat center / contain;
    margin: 0 0.4em 0 0;
}
.rct-header .btn_cta a span{display: block;}
.rct-header .btn_cta a span:nth-of-type(1){
    font-family: var(--ff_oswald);
    font-size: 16px;
    font-weight: 400;
    padding: 0 1em 0 0;
}
.rct-header .btn_cta a span:nth-of-type(2){
    font-size: 14px;
    padding: 0 0 0 1em;
    border-left: 1px solid currentColor;
}
.rct-header .btn_cta a:hover{
    opacity: 1;
    background-position: left center;
}

main{margin: 90px auto 0;}

.bg_area{
    padding: 60px 0 120px;
    background: #fff;
}
.bg_area.bg_entry{background: var(--bg_entry);}
.bg_area.bg_gradient{background: var(--gradient_bgBlue);}
/* ====================================== */
/* フッター */
/* ====================================== */
footer .footer_outer{border-top: none !important;}
.rct-entry_career + footer .footer_outer{border-top: 1px solid#4C423F !important;}

/* =========================================================== */
/* 下層共通  */
/* =========================================================== */
/* ============================================== */
/* kv */
/* ============================================== */
.kv{
    position: relative;
    z-index: 0;
    width: 100%;
    height: 435px;
    background: var(--gradient_bgBlue);
    color: #fff;
}
.kv::before{
    position: absolute;
    z-index: 1;
    inset: auto -100% -1px;
    margin: auto;
    content: '';
    width: 100%;
    height: 10vw;
    background: #fff;
    clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
}
.kv img{
    position: absolute;
    z-index: -1;
    inset: -100%;
    margin: auto;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .25;
}
.kv.kv_aboutus img{opacity: 0.58;}
.kv .inner{
    position: relative;
    z-index: 0;
    text-align: center;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    /* max-width: 1070px; */
}
.kv .inner .breadcrumbs{
    position: absolute;
    z-index: 1;
    inset: 2em auto auto 50px;
    margin: auto;
    text-align: left;
}
.kv .ttl_box {margin: 0 auto 5.5vw;}
.kv .ttl_box p{
    font-family: var(--ff_PoiretOne);
    font-size: 72px;
    letter-spacing: 0.025em;
    line-height: 1.2;
}
.kv .ttl_box h1{
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.kv.kv_aboutus .ttl_box h1{font-size: 54px;}

/* ============================================== */
/*              ハンバーガーメニュー              */
/* ============================================== */
.rct-header .ham {display: none;}
.rct-header .ham span {font-size: 0;}

/* ====================================== */
/* cta_entry */
/* ====================================== */
.sec_cta{
    position: relative;
    z-index: 0;
    overflow: hidden;
    color: #fff;
    height: 315px;
    background: var(--gradient_cta_entry) no-repeat right 0 center / 200% 100%;
    transition: .3s;
}
.sec_cta a{
    display: flex;
    align-items: center;
    height: 100%;
}
.sec_cta .inner{max-width: 1100px;padding: 0 70px 0 100px;}
.sec_cta .flex{
    justify-content: space-between;
    align-items: center;
}
.sec_cta .flex > div:nth-of-type(1){
    padding: 0 0 0 70px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    border-radius: 0 0 100% 0;
    margin: 0 3% 0 auto;
    padding: 45px 85px 90px 0;
}
.sec_cta .flex > div:nth-of-type(1) h2 span{display: block;}
.sec_cta .flex > div:nth-of-type(1) h2 span:nth-of-type(1){
    position: relative;
    z-index: 0;
    font-family: var(--ff_oswald);
    font-size: 48px;
    font-weight: 400;
    letter-spacing: 0.025em;
    margin: 0 0 0.3em;
}
.sec_cta .flex > div:nth-of-type(1) h2 span:nth-of-type(2){
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.sec_cta .flex > div:nth-of-type(1) h2 span:nth-of-type(1)::before{
    position: absolute;
    z-index: 0;
    inset: 0 auto auto -70px;
    content: '';
    width: 44px;
    height: 37px;
    background: url(../img/common/ico/entry.svg) no-repeat center / contain;
}
.sec_cta .flex > div:nth-of-type(2) {width: fit-content;}
.sec_cta .flex > div:nth-of-type(2) p:nth-of-type(1){
    font-size: min(29px, 2.3vw);
    font-weight: 500;
    line-height: 1.7;
}
.sec_cta .flex > div:nth-of-type(2) .has_arrow{
    position: relative;
    z-index: 0;
    font-size: 18px;
    letter-spacing: 0.05em;
    margin: 1.5em 0 0;
}
.sec_cta .flex > div:nth-of-type(2) .has_arrow::after{
    content: '';
    display: inline-block;
    width: 28px;
    height: 8px;
    background: url(../img/common/ico/btn_arrow.svg) no-repeat center / contain;
    margin: 0 0 0 5px;
}
.sec_cta:hover{background-position: left 0 center;}
.sec_cta a:hover{opacity: 1;}
/* =========================================================== */
/* front-page.php */
/* =========================================================== */
.kv.kv_home{
    height: auto;
    aspect-ratio: 2 / 1;
    aspect-ratio: 3.5 / 1;
    margin: 90px 0 auto;
}
.kv.kv_home::before{display: none;}

.kv.kv_home .video_cont{
    position: absolute;
    z-index: -10;
    inset: 0 auto auto 0;
    width: 100%;
    height: 100%;
    height: calc(100% - 23%);
}
.kv.kv_home .video_cont video{
    height: 100%;
    object-fit: cover;
}
.kv.kv_home .video_cont::before{
    position: absolute;
    z-index: 1;
    inset: 0 auto auto 0;
    content: '';
    display: block;
    width: 100%;
    height: calc(100% + 10vh);
    background: rgba(63, 108, 200, 0.1);
}
.kv.kv_home .inner > div{
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* column-gap: 17vw; */
    width: 100%;
    max-width: 800px;
    margin: 0 auto 1vw;
}
.kv.kv_home .inner > div h2{
    font-family: var(--ff_PoiretOne);
    font-size: 120px;
    font-weight: 400;
    line-height: 1;
}
.kv.kv_home .inner > div p{
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 15px;
    align-items: center;
    width: 200px;
    height: auto;
    aspect-ratio: 1 / 1;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-family: var(--ff_oswald);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: 0.3s;
}
.kv.kv_home .inner > div p::before{
    content: '';
    display: block;
    width: 24px;
    height: 28px;
    background: currentColor;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.kv.kv_home .inner > div p::after{
    position: absolute;
    z-index: -1;
    inset: 0;
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--gradient_bgBlue);
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
}
.kv.kv_home .inner > div p:hover{scale: 1.05;}
.kv.kv_home .inner > div p:hover::after{opacity: 0.8;}

.kv.kv_home .bg_wrap{position: relative;z-index: 0;}
.kv.kv_home .bg_wrap::before,
.kv.kv_home .bg_wrap::after{
    position: absolute;
    z-index: -1;
    margin: auto;
    content: '';
    width: 200vw;
    background: linear-gradient(to right, var(--mainBlue01) 25%, var(--mainBlue02) 75%);

}
.kv.kv_home .bg_wrap::before{
    inset: -11.8vw -100% auto;
    clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
    height: auto;
    aspect-ratio: 49 / 6;
}
.kv.kv_home .bg_wrap::after{
    inset: auto -100% -1px;
    height: calc(100% - 120px);
}
 .inner_kvsec{
    width: 100%;
    max-width: 1070px;
    padding: 0 50px;
    margin: 0 auto;
}
.kv.kv_home .inner_kvsec section{
    position: relative;
    z-index: 1;
}
.kv.kv_home .inner_kvsec section h3{
    font-size: 32px;
    font-weight: 500;
    margin: 0 0 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.025em;
}
.kv.kv_home .inner_kvsec section p{
    font-weight: 500;
    line-height: 2;
    margin: 0 0 45px;
}
.kv.kv_home + .anc_list{
    position: relative;
    z-index: 0;
    background: var(--gradient_bgBlue);
    padding: 160px 0 150px;
}
.kv.kv_home + .anc_list .inner{
    max-width: 1320px;
}
.kv.kv_home + .anc_list ul{
    display: flex;
    justify-content: center;
    align-items: center;
}
.kv.kv_home + .anc_list ul li{
    width: calc(100% / 3);
    text-align: center;
    border-left: 1px solid #ffffff67;
}
.kv.kv_home + .anc_list ul li:last-of-type{border-right: 1px solid #ffffff67;}
.kv.kv_home + .anc_list ul li a{
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    font-size: 28px;
    font-weight: 500;
    color: #fff;
    line-height: 1.3;
    padding: 0.3em 0 0;
}
.kv.kv_home + .anc_list ul li a span{
    font-family: var(--ff_PoiretOne);
    font-size: 21px;
}
.kv.kv_home + .anc_list ul li a::after{
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    margin: 20px auto 0;
}

.rct-home{
    background: var(--gradient_bgBlue);
    margin: 0 auto;
    color: #fff;
}
.rct-home > div{background: #fff;}
.rct-home .btn.btn_square a::after,
.kv.kv_home .btn.btn_square a::after{
    width: 30px;
    height: 11px;
}
.rct-home .ttl_box{margin: 0 0 35px;}
.rct-home .ttl_box p{
    font-family: var(--ff_PoiretOne);
    font-size: 54px;
    font-weight: 400;
}
.rct-home .ttl_box h2{
    font-size: 20px;
    font-weight: 400;
}

.rct-home section > .inner > .flex{
    justify-content: space-between;
    column-gap: 30px;
}
.rct-home section .flex > div{
    width: 300px;
    width: fit-content;
}
.rct-home section .flex > div + ul{
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    width: calc(100% - 300px);
    gap: 10px;
}
.rct-home section .flex > div .btn:not(.btn_square){
    border-color: #fff;
    width: 280px;
    margin: 0 auto;
}
.rct-home section .flex > div .btn:not(.btn_square) a{padding: 0.7em 0em 0.7em 1em;}
.rct-home .sec_event{
    margin: 50px 0 0;
    padding: 100px 0 130px;
}
.rct-home .sec_event .flex > div{width: 300px;}
.rct-home .sec_event .flex ul{margin: 0;}
.rct-home .sec_event .flex .ttl_box + .btn{
    width: 160px;
    margin: 0 auto 0 0;
}
/* 中段バナーリスト */
.sec_bnrList{padding: 100px 0;}
.sec_bnrList .btn{
    border-color: #ffffff67;
    /* pointer-events: none; */
    padding-right: 1em;
}
.sec_bnrList ul{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}
.sec_bnrList ul li{
    position: relative;
    z-index: 0;
    overflow: hidden;
    transition: 0.3s;
}
.sec_bnrList ul li figure{margin: 0;}
.sec_bnrList ul li img{
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}
.sec_bnrList ul li:hover img{scale: 1.1;}

.sec_bnrList ul li .btn span{
    display: inline-block;
    transition: 0.3s;
}
.sec_bnrList .btn::after{display: none;}
.sec_bnrList .btn span::after{
    content: '';
    display: inline-block;
    width: 26px;
    height: 8px;
    background: url(../img/common/ico/btn_arrow.svg) no-repeat center / contain;
    margin: 0 0 0 0.8em;
}
.sec_bnrList ul li:hover .btn span{transform: translateX(10px);}
.sec_bnrList ul li a{
    position: relative;
    z-index: 1;
    display: flex;
    width: 100%;
    height: 100%;
    padding: 35px 45px;
}
.sec_bnrList ul li:nth-of-type(3n-2){
    width: 100%;
    height: 380px;
    aspect-ratio: 16 / 5;
}
.sec_bnrList ul li:nth-of-type(1){height: 440px;}
.sec_bnrList ul li:nth-of-type(3n-2) a{
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.sec_bnrList ul li:not(:nth-of-type(3n-2)){
    width: calc(50% - 5px);
    height: 380px;
}
.sec_bnrList ul li:not(:nth-of-type(3n-2)) a{
    justify-content: space-between;
    align-items: flex-end;
}
.sec_bnrList ul li:not(:nth-of-type(3n-2)) a .ttl_box{margin: 0;}

.sec_bnrList ul li:nth-of-type(3n-2)::before,
.sec_bnrList ul li:not(:nth-of-type(3n-2)):before{
    position: absolute;
    z-index: 0;
    inset: auto auto 0 0;
    content: '';
    opacity: .5;
    transition: .5s;
}
.sec_bnrList ul li:nth-of-type(3n-2)::before{
    width: 51%;
    height: 100%;
    background: linear-gradient(to right, #000019 0%, #00001900 100%);
}
.sec_bnrList ul li:not(:nth-of-type(3n-2)):before{
    width: 100%;
    height: 53%;
    background: linear-gradient(to top, #000019 0%, #00001900 100%);
}
/* .sec_bnrList ul li:has(a:hover):before{width: 120%;height: 120%;opacity: 0.8;} */
.sec_bnrList ul li a:hover{opacity: 1;}

.sec_bnrList .ttl_box p{font-size: 25px;}
.sec_bnrList .ttl_box h2{
    font-size: 32px;
    font-weight: 500;
}
/* 社員紹介 */
.sec_interview{padding: 150px 0;}
.scroll_outer,
.scroll_wrapper{display: contents;}
.rct-home .ul_card li a{
    border-radius: 0 0 15px 0;
    overflow: hidden;
    grid-row: span 4;
    color: var(--mainBlue03);
    padding: 0 0 20px;
}
.rct-home .ul_card li a:hover{
    color: #fff;
    background: var(--mainBlue03);
}
.rct-home .ul_card li a:hover p{opacity: 1 !important;}
.rct-home .ul_card li a .int_job{transition: .3s;}
.rct-home .ul_card li a:hover .int_job{color: #fff;}
.rct-home .ul_card li figure{
    border: none;
    border-radius: 0;
    margin: 0 0 20px;
}
.rct-home .ul_card li a div > *{padding: 0 20px;}
.rct-home .ul_card li .int_dept{margin: 0 0 5px;}
.rct-home .ul_card li .int_name{font-size: 18px;}
.rct-home .ul_card li .int_job{font-size: 14px;}
.rct-home .sec_interview .flex ul li{
    flex: 1 1 0%;
    min-width: 0;
}
.sec_interview .flex ul li img {
    width: 100%;
    height: auto;
}
.rct-home .sec_interview .ul_card::after{display: none;}
/* 下段バナーリスト */
.sec_linkList{padding: 135px 0;}
.sec_linkList ul{
    display: flex;
    flex-wrap: wrap;
    gap: 32px 16px;
}
.sec_linkList li{
    border-radius: 0 0 20px 0;
    overflow: hidden;
    height: 210px;
}
.sec_linkList li:last-of-type{height: auto;}
.sec_linkList li:last-of-type a:hover{opacity: 0.8;}
.sec_linkList li:last-of-type img{scale: 1;}
.sec_linkList li:not(:last-of-type){width: calc(50% - 8px);}
.sec_linkList li:not(:last-of-type) a{padding: 1em;}
.sec_linkList li:not(:last-of-type) a::after{
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background: url(../img/common/ico/blank.svg) no-repeat center / contain;
    margin: 0 0 0 10px;
}
.sec_linkList li a{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 100%;
    background: var(--mainBlue03);
    font-size: 32px;
    font-weight: 500;
}
.sec_linkList li a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* 関連サイト */
.rct-home .sec_related{
    background: #ecf0f9;
    padding: 85px 0 130px;
}
.sec_related h2{
    text-align: center;
    font-size: 40px;
    font-weight: 500;
    color: var(--mainBlue03);
    margin: 0 auto 60px;
}
.sec_related ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 70px 20px;
    color: var(--txtColor);
}
.sec_related ul::after{
    content: '';
    display: block;
    width: calc((100% / 3) - 14px);
    height: 0;
}
.sec_related ul li{width: calc((100% / 3) - 14px);}
.sec_related ul li figure{
    border-radius: 0 0 16px 0;
    overflow: hidden;
    margin: 0 0 10px;
    aspect-ratio: 20 / 11;
    background: #fff;
}
.sec_related ul li figure.noimg{
    display: flex;
    justify-content: center;
    align-items: center;
}
.sec_related ul li figure figcaption{
    font-weight: 500;
    color: var(--mainBlue03);
    font-size: 18px;
}
.sec_related ul li figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sec_related ul li a dl{transition: 0.3s;}
.sec_related ul li a dl dt{margin: 0 0 .1em;}
.sec_related ul li a:hover dl{color: var(--mainBlue03);}


/* モーダル */
.modal_wrap{
    position: fixed;
    z-index: 100;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100dvh;
    opacity: 0;
    visibility: hidden;
    transition: 0.6s;
}
.modal_wrap .modal_bg{
    position: absolute;
    z-index: 90;
    background: #000005;
    opacity: 0.85;
    width: 100%;
    height: 100%;
}
.modal_wrap .modal_cont{width: 100%;}
.modal_wrap .modal_cont .inner{
    position: relative;
    z-index: 101;
    width: 100%;
    height: 100%;
    max-width: 1340px;
    padding: 0 50px;
}
.iframe-wrapper{
    position: relative;
    z-index: 101;
    width: 100%;
    max-width: 100%;
    padding-top: 56.25%;
}
.iframe-wrapper iframe{
    position: absolute;
    inset: 0;
    z-index: 101;
    width: 100%;
    height: 100%;
}
.modal_wrap .modal_cont .inner p{
    position: absolute;
    z-index: 101;
    inset: -35px -100% auto -100px;
    margin: auto;
    font-size: 0;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
}
.modal_wrap .modal_cont .inner p::before,
.modal_wrap .modal_cont .inner p::after{
    position: absolute;
    z-index: 0;
    inset: -100%;
    margin: auto;
    content: '';
    width: 15px;
    height: 2px;
    background: var(--txtColor);
}
.modal_wrap .modal_cont .inner p::before{rotate: 45deg;}
.modal_wrap .modal_cont .inner p::after{rotate: -45deg;}

.modal_wrap.is_visible{
    opacity: 1;
    visibility: visible;
}
html:has(.modal_wrap.is_visible){overflow: hidden;}

/* =========================================================== */
/* archive-interview.php  */
/* =========================================================== */
.ul_card.ul_card_int{grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));}
.ul_card.ul_card_int a{grid-row: span 6;}
.ul_card li .int_job{
    font-size: 21px;
    line-height: 1.2;
    color: var(--mainBlue03);
    margin: 0 0 5px;
}
.ul_card li .int_name{
    font-size: 26px;
    font-weight: 500;
    margin: 0 0 5px;
}
.ul_card li .int_dept{
    font-size: 18px;
    margin: 0 0 1em;
}
.pagetop_posision{margin: 0 !important;}

/* 一覧カードデザイン変更 */
.rct-interview .ul_card_int a *{color: #fff !important;}
.rct-interview .ul_card_int a{
    position: relative;
    z-index: 0;
    overflow: hidden;
    background: transparent;
    padding: 70% 30px 30px;
}
.rct-interview .ul_card_int a::before{
    position: absolute;
    z-index: -1;
    inset: auto -100% -4%;
    margin: auto;
    content: '';
    width: 200%;
    background: linear-gradient(135deg, var(--mainBlue01) 0%, var(--mainBlue01) 25%,  var(--mainBlue02) 75%,  var(--mainBlue02) 100%);
    height: 52%;
    transform: rotate(-6deg);
}
.rct-interview .ul_card_int a .flex{display: flex !important;}
.rct-interview .ul_card_int li figure{
    position: absolute;
    z-index: -2;
    inset: 0 -100% auto;
    margin: auto;
    border-radius: 0;
    border: none;
    aspect-ratio: 375 / 335;
    max-width: 100%;
    height: 56%;
}
.rct-interview .ul_card_int li figure::before{
    position: absolute;
    z-index: 1;
    inset: auto 0 -5px;
    content: '';
    width: 100%;
    height: 145px;
    background: linear-gradient(to top, var(--mainBlue02)0%, #599fef00 100%);
    mix-blend-mode: multiply;
}
.rct-interview .ul_card_int li figure img{object-position: top center;}
.rct-interview .ul_card_int .flex01{
    gap: 0.2em;
    flex-wrap: wrap;
    margin: 0 0 5px;
}
.rct-interview .ul_card_int .int_job,
.rct-interview .ul_card_int .int_dept,
.rct-interview .ul_card_int .int_join_year,
.rct-interview .ul_card_int .int_entry_type{
    font-size: 16px;
    font-weight: 500;
    margin: 0;
    line-height: 1.2;
}
.rct-interview .ul_card_int .int_name{
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 8px;
}
.rct-interview .ul_card_int .flex02{
    gap: .5em 1em;
    margin: 0 0 30px;
}

.rct-interview .ul_card_int a p.txt{
    min-height: 3lh;
    font-size: 16px;
}
.rct-interview .ul_card_int a .btn{
    background: none;
    border-color: #fff;
    margin: 3em 0 0 auto;
}
.rct-interview .ul_card_int a .btn span:last-of-type::after{
    background: #fff;
    mask-image: url(../img/common/ico/btn_arrow_gray.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}
.rct-interview .ul_card_int a:hover *{opacity: 1 !important;}

/* =========================================================== */
/* single-interview.php  */
/* =========================================================== */
.int_cf + .bg_area{padding-top: calc(60px + min(2vw,50px));}
.int_cf + .bg_area .editor_contents{position: relative;z-index: 0;}
.kv.kv_single_int{
    /* height: 450px; */
    /* height: auto; */
    background: none;
    margin: 0 auto -1vw;
    aspect-ratio: 1500  / 675;
    height: 100%;
    max-height: 630px;
}
.kv.kv_single_int img{
    inset: 0 -100% auto -100%;
    opacity: 1;
    height: calc(100% + 7vw);
}
/* .kv.kv_single_int::before{
    height: 7vw;
} */
.kv.kv_single_int::after{
    position: absolute;
    z-index: 0;
    inset: auto -100% -4.5vw;
    margin: auto;
    content: '';
    width: 105%;
    height: 11vw;
    background: linear-gradient(to top, var(--mainBlue02) 0%,transparent 100%);
    transform: rotate(-4deg);
    opacity: 0.5;
}
.kv.kv_single_int .ttl_box{
    margin: 0 auto 0 0;
    text-align: left;
}
.kv.kv_single_int .ttl_box p{
    font-size: 27px;
    font-weight: 300;
    letter-spacing: 0.025em;
    margin: 0 0 .1em;
}
.kv.kv_single_int .ttl_box h2{
    font-size: 32px;
    color: var(--mainBlue04);
    line-height: 2.2;
    font-feature-settings: "halt";
}
.kv.kv_single_int .ttl_box h2 span{
    background: #fff;
    padding: .1em .3em .3em;
}
.kv.kv_single_int .inner .breadcrumbs{top: 0.7em;}

/* 社員情報 */
.interview-single .kv.kv_single_int::before{display: none;}
.interview-single .int_cf{
    position: relative;
    z-index: 0;
    /* padding: 0 0 165px; */
    padding: 0 0 70px;
}
.interview-single .int_cf::before,
.interview-single .int_cf::after{
    position: absolute;
    margin: auto;
    content: '';
    width: 100%;
    transform: skewY(-4deg);
}
.interview-single .int_cf::before{
    z-index: -1;
    inset: auto -100% 0 -100%;
    height: 86%;
    background: var(--gradient_bgBlue);
}
.interview-single .int_cf::after{
    z-index: -2;
    inset: 100% -100% auto -100%;
    height: 105%;
    background: #fff;
    bottom: -100%;
}
.interview-single .int_cf .inner{color: #fff;}
.interview-single .int_cf .inner > *{
    margin: 0 auto 0 0;
    width: 100%;
    max-width: 610px;
}
.interview-single .int_cf .int_info{margin: 0 0 30px;
}
.interview-single .int_cf .int_info > div:nth-of-type(1){
    margin: 0 0 14px;
    justify-content: flex-start;
    gap: .7em;
}
.interview-single .int_cf .int_job,
.interview-single .int_cf .int_dept{
    font-size: 18px;
    font-weight: 500;
}
.interview-single .int_cf .int_info > div:nth-of-type(2){
    justify-content: flex-start;
    align-items: center;
}
.interview-single .int_cf .int_name{
    font-size: 28px;
    font-weight: 500;
    line-height: 1.3;
    padding: 0 .64em 0 0;
    border-right: 2px solid currentColor;
}
.interview-single .int_cf .int_join_year,
.interview-single .int_cf .int_entry_type{
    font-size: 17px;
    font-weight: 500;
}
.interview-single .int_cf .int_join_year{padding: 0 0 0 .625em;}
.interview-single .int_cf .int_entry_type{margin: 0 0 0 1em;}
.interview-single .int_cf{
    font-weight: 500;
    line-height: 1.75;
}

/* スクロールインtransition */
.interview-single .int_cf .int_info{transition-delay: .3s;}
.interview-single .int_cf .txt{transition-delay: .6s;}
/* .interview-single .int_cf .txt {
    padding: 0 0 0 1em;
    border-left: 3px solid #ffffff67;
} */
/* .interview-single .int_cf > figure{
    position: absolute;
    z-index: 0;
    inset: -100% 0 -95% auto;
    margin: auto;
    width: fit-content;
    height: fit-content;
}
.interview-single .int_cf > figure img{width: min(50vw, 730px);} */

/* 1日のスケジュール */
.int_schedule{
    background: #ecf0f9;
    padding: 65px 0 120px;
}
.int_schedule h2{
    position: relative;
    z-index: 0;
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 .9em;
    padding: 0 0 .8em;
}
.int_schedule h2::before{
    position: absolute;
    z-index: 0;
    inset: auto -100% 0;
    margin: auto;
    content: '';
    width: 120px;
    height: 4px;
    background: var(--accentGreen01);
}
.int_schedule .slick-list,
.int_schedule .slick-track{overflow: hidden visible;}
.slick-track{
    display: flex !important;
    align-items: stretch !important;
    height: 100%;
}
.slick-slide {
    display: flex !important;
    flex-direction: column;
    row-gap: .3em;
    height: auto !important;
    align-items: stretch !important;
  }
.int_schedule ul{padding: 25px 0 0;}
.int_schedule ul li{
    position: relative;
    z-index: 0;
    background: #fff;
    border-radius: 0 0 18px 0;
    margin: 25px 8px 0;
    padding: 40px 20px 25px;
    height: 100%;
    min-height: 150px;
}
.slick-slide{display: flex !important;height: 100%;}
.int_schedule ul li p:nth-of-type(1){
    position: absolute;
    z-index: 0;
    inset: -.9em -100% auto;
    width: fit-content;
    margin: auto;
    font-family: var(--ff_oswald);
    font-weight: 300;
    font-size: 40px;
    color: var(--mainBlue03);
}
.int_schedule ul li p:nth-of-type(2){
    font-size: 18px;
    /* font-weight: 700; */
    line-height: 1.7;
}
.int_schedule .slick-prev::before,
.int_schedule .slick-next::before{
    width: 23px;
    height: 23px;
    content: '';
    display: block;
    border-top: 2px solid var(--mainBlue03);
    opacity: 1 !important;
    transition: 0.3s;
}
.int_schedule .slick-prev::before{
    border-left: 2px solid var(--mainBlue03);
    transform: rotate(-45deg);
}
.int_schedule .slick-next::before{
    border-right: 2px solid var(--mainBlue03);
    transform: rotate(45deg);
}
.int_schedule .slick-prev,
.int_schedule .slick-next{
    top: 57% !important;
    transition: .2s;
}
.int_schedule .slick-prev:hover{left: -30px;}
.int_schedule .slick-next:hover{right: -30px;}
.int_schedule .slick-arrow.slick-disabled{pointer-events: none;}
.int_schedule .slick-arrow.slick-disabled::before{border-color: #bcbcbc;}
/* ページネーション
=================================*/
.int_pager .inner{max-width: 1100px;}
/* 一覧戻るボタン */
.int_pager .btn{color: var(--mainBlue02);}
.int_pager .btn a::after{display: none;}
.int_pager .btn:hover{
    background: var(--mainBlue02);
    color: #fff;
}
/* 前の記事、次の記事 */
.int_pager .pager_btn{
    position: relative;
    z-index: 0;
    color: var(--mainBlue03);
}
.int_pager .pager_btn a{display: block;}
.int_pager .pager_btn.prev a{padding: 0 20px 15px 30px;}
.int_pager .pager_btn.next a{padding: 0 30px 15px 20px;}
.int_pager .pager_btn span:nth-of-type(1){
    font-family: var(--ff_oswald);
    font-weight: 300;
    font-size: 32px;
    line-height: 1;
}
.int_pager .pager_btn span:nth-of-type(2){
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 0 1em;
}
.int_pager .pager_btn.disable{
    pointer-events: none;
    color: #bcbcbc;
}
.int_pager .pager_btn.disable::before{border-color: #bcbcbc !important;}
/* あしらい */
.int_pager .pager_btn::before{
    position: absolute;
    z-index: 0;
    inset: auto auto 0 0;
    content: '';
    width: 100%;
    height: 8px;
    background: transparent;
    border-bottom: 1px solid var(--mainBlue03);
}
.int_pager .pager_btn.prev::before{
    border-left: 1px solid var(--mainBlue03);
    transform: skewX(-45deg);
}
.int_pager .pager_btn.next::before{
    border-right: 1px solid var(--mainBlue03);
    transform: skewX(45deg);
}
/* =========================================================== */
/* page-news.php  */
/* =========================================================== */
.archive-news .bg_area{padding: 80px 0 120px;}
.rct-news .list_a > li {display: none!important;}
.rct-news .page_list > li.show {display: none !important;}
.rct-news .page_list > li.show.on {display: block !important;}

.rct-news .pagination a.active {opacity: 1;}
.rct-news .pagination a:not(.active){cursor: pointer;}
.rct-news .pagination a.disabled {
  /* pointer-events: none;
  cursor: default; */
  display: none;
}
/* =========================================================== */
/* page-event.php  */
/* =========================================================== */
.ul_card li .evt_date{
    font-size: 14px;
    font-weight: 300;
    color: #000;
    margin: 0 0 .7em;
}
.ul_card li .evt_ttl{
    color: var(--subPurple01);
    font-size: 18px;
    line-height: 1.8;
    margin: 0 0 1em;
}
.ul_card li figure.noimg{
    background: var(--subPurple01);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2em;
}
.ul_card li figure.noimg figcaption{
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.77;
}
.rct-event .ul_card figure{aspect-ratio: 25 / 14;}
/* =========================================================== */
/* editor_contents  */
/* =========================================================== */
.editor_contents h2{
    position: relative;
    z-index: 0;
    font-size: 28px;
    font-weight: 700;
    margin: 30px 0 .9em;
    padding: 0 0 .8em;
}
.editor_contents h2::before{
    position: absolute;
    z-index: 0;
    inset: auto auto 0 0;
    content: '';
    width: 120px;
    height: 5px;
    background: var(--accentGreen01);
}
.editor_contents h3{
    font-size: 22px;
    font-weight: 700;
    margin: 30px 0 .7em;
}
.editor_contents h4{
    font-size: 18px;
    font-weight: 700;
    margin: 25px 0 .4em;
}
.editor_contents p{margin: .5em 0 1em;}
.editor_contents .btn{margin: .5em auto 1em !important;}
.editor_contents p:not(.btn) a{text-decoration: underline;}
main:not(.rct-about-us) .editor_contents .btn.btn.btn_square{
    width: fit-content;
    color: var(--mainBlue03);
    background: #fff;
    opacity: 1;
}
main:not(.rct-about-us) .editor_contents .btn.btn_square a::after{background: var(--mainBlue03);}
main:not(.rct-about-us) .editor_contents .btn.btn.btn_square:hover{
    color: #fff;
    background: var(--mainBlue03);
}
main:not(.rct-about-us) .editor_contents .btn.btn_square a:hover::after{background: #fff;}

/* bg_blue */
.editor_contents .bg_blue{
    background: #ecf0f9;
    margin: 30px 0 45px;
    padding: 45px;
}
.editor_contents .bg_blue h3{
    margin-top: 0;
    border-bottom: 1px solid #99ADD6;
    padding: 0 0 .6em;
}
.editor_contents .bg_blue p:last-of-type{margin-bottom: 0;}
.editor_contents .bg_blue .wp-block-column{max-width: 31%;}
.editor_contents .bg_blue .wp-block-columns:last-of-type{margin-bottom: 0;}

/* =========================================================== */
/* エントリー  */
/* =========================================================== */
/* エントリー共通 */
.rct-entry .kv{background: var(--gradient_entry);}
.rct-entry .kv .ttl_box p{
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    letter-spacing: 0.045em;
}
.rct-entry .kv .ttl_box p::before{
    content: '';
    display: inline-block;
    width: 50px;
    height: 42px;
    background: url(../img/common/ico/entry.svg) no-repeat center / contain;
    margin: 0 18px 0 0;
}
/* エントリー下層共通 */
.kv.kv_sub{height: 300px;}
.kv.kv_sub::before{display: none;}
.kv.kv_sub img{opacity: 0.12;}
.kv.kv_sub .ttl_box{margin: 0 auto;}
.kv.kv_sub .ttl_box p{font-size: 34px;}
.kv.kv_sub .ttl_box p::before{
    width: 26px;
    height: 22px;
}
.kv.kv_sub .ttl_box h1{font-size: 42px;}
.rct-entry_sub .bg_area{padding: 50px 0 120px;}
.rct-entry_sub .breadcrumbs{
    position: relative;
    z-index: 0;
    inset: auto auto auto -1em;
    margin: 0 0 70px;
}

/* page-entry_portal */
.rct-entry_portal .kv::before{background: var(--bg_entry);}
.bg_wht{max-width: 800px;margin: 0 auto;}
.bg_wht:not(:last-of-type){margin: 0 auto 40px;}
.rct-entry_portal .bg_wht{margin: 0 auto 40px;}
.rct-entry_portal .bg_wht a > .btn{margin: 0 0 0 auto !important;}
.rct-entry_portal .btn.btn_entry{
    width: 100%;
    max-width: 470px;
    margin: 100px auto 0;
}
.bg_wht a{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 40px 15px 20px 40px;
    background: #fff;
    border-radius: 0 0 20px 0;
    flex-direction: column;
    align-items: flex-start;
}
.bg_wht a:hover{opacity: 1;}
.bg_wht.bg_wht_ylw a{
    background: var(--bg_entry);
    padding: 75px 15px 25px 40px;
}
.bg_wht.bg_wht_ylw .btn.btn_gray{background: transparent;}

.bg_wht a > div{width: 100%;}
.bg_wht a > .btn{
    width: 160px;
    margin: 0 0 0 auto;
}
.bg_wht h2{
    color: var(--ctaYellow02);
    font-size: 28px;
    font-weight: 500;
    margin: 0 0 0.6em;
    padding: 0;
}
.bg_wht h2::before{display: none;}
.bg_wht h2 + p{
    font-weight: 500;
    margin: 0 0 1em;
}
.bg_wht_contact h2{
    position: relative;
    z-index: 0;
    padding-left: 2.2em;
}
.bg_wht_contact h2::before{
    position: absolute;
    z-index: 0;
    inset: 0 auto auto 0;
    display: block;
    content: '';
    width: 1.5em !important;
    height: 1.2em !important;
    background: url(../img/page/entry/ico_contact.svg) no-repeat center / contain;
}
.rct-entry_portal hr{
    width: 100%;
    max-width: 800px;
    height: 1px;
    border-top: 1px solid var(--ctaYellow02);
    margin: 40px auto;
}
/* page-entry_new.php */
.rct-entry_new.rct-entry_sub .bg_area{padding-bottom: 0;}
.rct-entry_new .editor_contents .anc_list{
    justify-content: center;
    color: var(--accentYellow02);
    margin: 0 auto 90px !important;
}
.rct-entry_sub.rct-entry_new .editor_contents .anc_list a::after{
    width: 25px;
    height: 14px;
    transform: translateY(2px);
}
.rct-entry_new .editor_contents .anc_list li{
    padding: .3em min(3%, 60px);
    border-right: 1px solid #92929267;
}
.rct-entry_new .editor_contents .anc_list li:last-of-type{border: 0;}
.rct-entry_new .editor_contents .anc_list a {
    font-size: min(25px, 2.2vw);
    font-weight: 500;
}
.rct-entry_new .editor_contents .anc_list a span{
    font-family: var(--ff_oswald);
    font-size: min(45px, 4.6875vw);
    font-weight: 400;
    margin: 0 0.1em 0 0;
}
/* 2カラム */
.rct-entry_new .editor_contents .column_wrapper{
    display: flex;
    justify-content: center;
    border-top: 1px solid var(--accentYellow02);
}
/* 2カラム 左 */
.rct-entry_new .editor_contents .column_wrapper .col_left{
    position: relative;
    z-index: 0;
    background: var(--bg_entry);
    padding: 60px 5% 60px 0;
    width: 30%;
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box{
    position: sticky;
    z-index: 0;
    top: 160px;
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box p:not(.btn){
    color: var(--accentYellow02);
    font-family: var(--ff_oswald);
    font-size: 59px;
    line-height: 1;
    margin: 0 0 0.3em;
}
.rct-entry_new .editor_contents .column_wrapper .col_left::before{
    position: absolute;
    z-index: -1;
    inset: -1px auto auto -100vw;
    content: '';
    width: 100vw;
    height: calc(100% + 2px);
    background: var(--bg_entry);
    border-top: 1px solid var(--accentYellow02);
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box h2{
    font-size: 27px;
    font-weight: 500;
    margin: 0 0 1.5em;
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn{
    width: 100%;
    max-width: 300px;
    margin: 0 auto 0 0;
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a{
    font-size: 15px;
    font-weight: 700;
    padding: .7em 1em 1.3em 1em;
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a span:nth-of-type(1){
    font-family: var(--ff_oswald);
    font-size: 24px;
    font-weight: 400;
    margin: 0 0.05em 0 0;
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a span:nth-of-type(2){display: inline;}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a span:nth-of-type(2)::after{display: none;}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a::after{
    width: 25px;
    height: 11px;
}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a:hover{opacity: 1;}
.rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a:hover span{transform: none;}
/* 2カラム 右 */
.rct-entry_new .editor_contents .column_wrapper .col_right{
    position: relative;
    z-index: 0;
    width: 65%;
    padding: 60px 0 60px 5%;
}
.rct-entry_new .editor_contents .column_wrapper .col_right::before{
    position: absolute;
    z-index: -1;
    inset: -1px -100vw auto auto;
    content: '';
    width: 100vw;
    height: calc(100% + 2px);
    border-top: 1px solid var(--accentYellow02);
}
.rct-entry_new .editor_contents .column_wrapper .col_right > p{
    margin: 0 0 1.5em;
}
.rct-entry_new .editor_contents .wp-block-table tr:last-of-type{border-bottom: none;}
.rct-entry_new .editor_contents > section:last-of-type,
.rct-entry_new .editor_contents > section:last-of-type .col_left::before,
.rct-entry_new .editor_contents > section:last-of-type .col_right::before{border-bottom: 1px solid #36363667;}
/* page-entry_career.php */
.common_info{margin: 0 auto 100px;}
.btn_simple{
    display: block;
    margin: 1em 0 8px;
}
.btn_simple a{
    position: relative;
    z-index: 0;
    display: block;
    width: fit-content;
    padding: .3em 1.5em .3em 2em;
    border-radius: 20px;
    border: 1px solid var(--ctaYellow02);
    font-size: 15px;
    font-weight: 500;
}
.btn_simple a::after{
    content: '';
    display: inline-block;
    width: 19px;
    height: 7px;
    background: url(../img/common/ico/btn_arrow_gray.svg) no-repeat center / contain;
    margin-left: 5px;
}
/* =========================================================== */
/* page-event.php  */
/* =========================================================== */
.rct-about-us{color: #fff}
.rct-about-us .kv::before{background: var(--gradient_bgBlue);}
.rct-about-us p{line-height: 2;}

/* ====================================== */
/* エントリー */
/* ====================================== */
.rct-entry_sub .editor_contents h2{
    color: var(--ctaYellow02);
    font-size: 26px;
    font-weight: 500;
    margin: 0 0 1.3em;
    padding: 0;
}
.rct-entry_sub .editor_contents h2::before{display: none;}
.rct-entry_sub .editor_contents .wp-block-table table{
    border-collapse: collapse;
    width: 100%;
}
.rct-entry_sub .editor_contents .wp-block-table table th,
.rct-entry_sub .editor_contents .wp-block-table table td{border: none !important;}
.rct-entry_sub .editor_contents .wp-block-table tr{border-bottom: 1px solid #00000067;}
.rct-entry_sub .editor_contents .wp-block-table tr:first-of-type{border-top: 1px solid #00000067;}
.rct-entry_sub .editor_contents .wp-block-table td{
    padding: 1em 0;
    vertical-align: baseline;
    line-height: 1.5;
}
.rct-entry_sub .editor_contents .wp-block-table td:nth-of-type(1){
    font-size: 18px;
    font-weight: 500;
    padding-right: 1em;
    width: 145px;
}
.rct-entry_sub .editor_contents .wp-block-table td:nth-of-type(2){width: calc(100% - 145px);}
.rct-entry_sub .editor_contents .wp-block-table td:nth-of-type(2) a{
    text-decoration: none;
    color: var(--mainBlue03);
}
.rct-entry_sub .editor_contents .wp-block-table td:nth-of-type(2) a::after{
    content: '';
    display: inline-block;
    width: 1.2em;
    height: 1em;
    background: currentColor;
    -webkit-mask: url(../img/common/ico/btn_arrow_entry.svg) no-repeat center / contain;
            mask: url(../img/common/ico/btn_arrow_entry.svg) no-repeat center / contain;
    vertical-align: middle;
    margin-left: 0.4em;
}
/* アンカーリンクリスト */
.rct-entry_sub .editor_contents .anc_list{
    display: flex;
    gap: 1em 2em;
    margin: 0 0 35px;
}
.rct-entry_sub .editor_contents .anc_list li{
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3;
}
.rct-entry_sub .editor_contents .anc_list li a{
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
}
.rct-entry_sub .editor_contents .anc_list li a::after{
    content: '';
    display: inline-block;
    width: 16px;
    height: 9px;
    background: url(../img/page/entry/ico_anc.svg) no-repeat center / contain;
    margin-left: 12px;
}
/* 職種アコーディオン */
.rct-entry_sub .editor_contents h3.ac:not(:nth-child(1)){margin-top: 45px;}
.rct-entry_sub .editor_contents h3.ac{
    position: relative;
    z-index: 0;
    font-size: 26px;
    font-weight: 500;
    color: #fff;
    background: var(--ctaYellow02);
    padding: .5em 3em .5em 1em;
    cursor: pointer;
    margin-bottom: 0;
}
.rct-entry_sub .editor_contents h3.ac::before,
.rct-entry_sub .editor_contents h3.ac::after{
    position: absolute;
    z-index: 0;
    inset: 30px 40px auto auto;
    margin: auto;
    content: '';
    width: 28px;
    height: 2px;
    background: #fff;
    transition: 0.3s;
}
.rct-entry_sub .editor_contents h3.ac::after{transform: rotate(90deg);}
.rct-entry_sub .editor_contents h3.open.ac::after{transform: rotate(180deg);}
.rct-entry_sub .editor_contents h3.ac + div{
    background: #FAF9EE;
    padding: 0 30px 70px;
    margin: 0 auto 45px;
}
.rct-entry_sub .editor_contents h3.ac + div .wp-block-table{margin: 0 auto 65px;}
.rct-entry_sub .editor_contents h3.ac + div .wp-block-table tr:first-of-type{border-top: none;}
.rct-entry_sub .editor_contents h3.ac + div .wp-block-table td{padding: 2.5em 0;}
.rct-entry_sub .editor_contents h3.ac + div .wp-block-table td:nth-of-type(1){padding-left: 1em;}
.rct-entry_sub .editor_contents h3.ac + div .wp-block-table td:nth-of-type(2){
    letter-spacing: -0.03em;
    padding-right: 3.5em;
}
.rct-entry_sub .editor_contents .wp-block-table{overflow: hidden;}
/* ====================================== */
/* カスタムブロック */
/* ====================================== */
/* FAQアコーディオン */
.blk_faq{margin: 0 auto 100px;}
.blk_faq h2{
    color: var(--subPurple01);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin: 0 0 .5em;
}
.blk_faq h2::before{display: none;}
.blk_faq dl{border-top: 1px solid var(--gray01);}
.blk_faq dl dt{
    font-size: 20px;
    line-height: 1.75;
    font-weight: 500;
    padding: 1em 3em 1em 0;
    cursor: pointer;
}
.blk_faq dl dd{
    letter-spacing: 0.05em;
    padding: 0 3.5em 1.2em;
    display: none;
}
.blk_faq dl dt,
.blk_faq dl dd{
    position: relative;
    z-index: 0;
    padding-left: 45px;
}
.blk_faq dl span{
    position: absolute;
    z-index: 0;
    inset: auto auto auto 0;
    font-size: 22px;
    font-weight: 500;
}
.blk_faq dl dt span{color: var(--subPurple01);top: .8em;}
.blk_faq dl dd span{color: var(--subRed01);top: -.1em;}

.blk_faq dl dt::before,
.blk_faq dl dt::after{
    position: absolute;
    z-index: 0;
    inset: 39px 10px auto auto;
    margin: auto;
    content: '';
    width: 20px;
    height: 2px;
    background: var(--subPurple01);
    transition: 0.3s;
}
.blk_faq dl dt::after{transform: rotate(90deg);}
.blk_faq dl.open dt::after{transform: rotate(180deg);}
/* データで見るPRAPブロック */
.blk_about{margin: 0 auto 150px;}
.blk_about h2{
    text-align: center;
    font-family: var(--ff_PoiretOne);
    font-size: 80px;
    font-weight: 400;
    color: var(--accentGreen01);
    border-bottom: 1px solid var(--accentGreen01);
    margin: 0 1px 0.7em;
    padding: 0 0 0.2em;
}
.blk_about h2::before{display: none;}
.blk_about .flex{
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    row-gap: 80px;
}
.blk_about .flex > section{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 30px;
}
.blk_about .flex > section figure{
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0;
}
.blk_about .flex > section > div{max-width: calc(100% - 140px);}
.blk_about .flex > section h3{
    font-weight: 500;
    margin-top: 0;
}
.blk_about .flex > section p:nth-of-type(1){
    font-weight: 500;
    margin: 0 0 0.6em;
}
.blk_about .flex > section p:nth-of-type(2) {line-height: 1;}
.blk_about .flex > section p:nth-of-type(2) span:not(.num){letter-spacing: 0.05em;}
.blk_about .flex > section p:nth-of-type(2) span.num{
    display: inline-block;
    margin: 0 0.1em;
    font-family: var(--ff_oswald);
}
.blk_about .flex > section > p{
    width: 100%;
    margin: .1em auto 0 .3em !important;
    font-size: 16px !important;
}
/* 2カラム */
.blk_about .flex.col2{column-gap: 10%;}
.blk_about .flex.col2 > section{width: 470px;}
.blk_about .flex.col2 > section figure{max-width: 200px;}
.blk_about .flex.col2 > section h3{font-size: 24px;}
.blk_about .flex.col2 > section p:nth-of-type(1){font-size: 15px;}
.blk_about .flex.col2 > section p:nth-of-type(2) span:not(.num){font-size: 34px;}
.blk_about .flex.col2 > section p:nth-of-type(2) span.num{font-size: 80px;}
.blk_about .flex.col2 > section > p{margin-top: 0.6em !important;}
/* 3カラム */
.blk_about .flex.col3{column-gap: 5.7%;}
.blk_about .flex.col3 > section{width: 360px;}
.blk_about .flex.col3 > section figure{max-width: 110px;}
.blk_about .flex.col3 > section h3{font-size: 22px;}
.blk_about .flex.col3 > section p:nth-of-type(1){font-size: 14px;}
.blk_about .flex.col3 > section p:nth-of-type(2) span:not(.num){font-size: 28px;}
.blk_about .flex.col3 > section p:nth-of-type(2) span.num{font-size: 65px;}