@charset "UTF-8";

/* 印刷用レイアウト */
@page {
    margin: 10mm;
    size: 210mm 297mm;
    /* A4縦サイズの場合 */
}

@media print {

    /* 全体設定 */
    html {
        background: unset;
        background-repeat: unset;
    }

    body {
        -webkit-print-color-adjust: exact;
        /* 印刷時でも背景色や背景画像を表示 */
        width: 100%;
        /* 印刷時の全ページ幅を統一（px数値はお好みで） */
        zoom: 0.8;
        /* なるべく多くのブラウザで切れないようにするため */
    }

    img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    header,
    footer,
    .top_bt,
    .sidebar,
    .pager,
    .addtoany_shortcode {
        display: none;
    }

    .inner {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
    }

    .main_page{
        margin-top: 0px;
        background-color: unset;
    }

    .page_content {
        margin-top: 0px;
        margin-bottom: 0rem;
        border-radius: unset;
        background-color: unset;
        box-sizing: border-box;
    }

    .page_main__area {
        margin-bottom: 3em;
        padding: 0rem;
        background-color: unset;
    }

    h1.page_tit{
        font-size: 1.75em;
    }

    .editor h1,
    .editor h2,
    .editor h3,
    .editor h4,
    .editor h5,
    .editor h6 {
        font-size: 1.5em;
    }

    .page_layout,
    .archive_layout {
        display: block;
    }

    .wp-block-columns {
        display: flex;
        flex-wrap: nowrap;
    }

    .page_child__item a {
        padding: 1.5em;
    }

    .page_tit{
        border-radius: unset;
        background: unset;
        box-shadow: unset;
    }

    .single_header{
        background: unset;
    }

/*====================================
 トップページ 
====================================*/
    /* メインビジュアル */
    .mainv_area{
        margin-top: 6.5em;
        margin-bottom: 0em;
        padding: 0em 1.5em;
        max-width: 100%;
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
        aspect-ratio: unset;
    }

    .mainv{
        width: 100%;
        height: 100%;
        border-radius: 60px;
        overflow: hidden;
    }

    .mainv img{
        aspect-ratio: 4 / 3;
        object-position: 50% 20%;
        object-fit: cover;
    }

    .catch-copy{
        font-family: "Sawarabi Gothic", sans-serif;
        color: var(--blue);
        letter-spacing: 8px;
    }

    .catch-copy_box{
        padding: 1.5em;
        border-radius: 0 60px 0 0;
        left: 1.5em;
        background-color: var(--white);
        position: absolute;
        bottom: 0;
        left: 1em;
        z-index: 1;
    }

    .catch-copy_box::before,
    .catch-copy_box::after{
        content: '';
        width: 59px;
        height: 59px;
        background-image: url(../img/mv_triangle.svg);
        background-size: contain;
        background-repeat: no-repeat;
        display: block;
        position: absolute;
        left: 0em;
    }

    .catch-copy_box::before{
        top: -59px;
    }

    .catch-copy_box::after{
        right: -59px;
    }

    .catch-copy_box::after{
        left: initial;
        top: initial;
        bottom: 0px;
    }

    /* 共通 */
    .front_page h2.top_tit {
        margin-bottom: 1.25em;
        font-size: 2.25em;
        font-weight: 500;
        letter-spacing: 2px;
        position: relative;
    }

    .bg_gradationation {
        padding: 10em 0;
    }

    .bg_gradationation::before, 
    .bg_gradationation::after {
        content: '';
        width: 100%;
        height: 110px;
        background-image: url(../img/waves.svg);
        background-size: 150%;
        display: block;
        position: absolute;
    }

    .bg_gradationation::before {
        top: 0;
    }

    .circle_arrow {
        min-width: 60px;
        width: 60px;
        height: 60px;
        border: solid 2px var(--blue);
        position: relative;
        right: initial;
    }

    .frontpage_news .circle_arrow,
    .frontpage_jobs .circle_arrow,
    .frontpage_interview .circle_arrow {
        border: solid 1px var(--white);
        background-color: rgba(255, 255, 255, 0.25);
    }

    .frontpage_news .circle_arrow::before, 
    .frontpage_jobs .circle_arrow::before, 
    .frontpage_interview .circle_arrow::before {
        background-color: var(--white);
    }

    .frontpage_news .circle_arrow::after,
    .frontpage_jobs .circle_arrow::after,
    .frontpage_interview .circle_arrow::after {
        border-top: 2px solid var(--white);
        border-right: 2px solid var(--white);
    }

    .circle_arrow::before {
        content: '';
        width: 20px;
        height: 2px;
        background-color: var(--blue);
        position: absolute;
    }

    .circle_arrow::after {
        content: '';
        width: 10px;
        height: 10px;
        border-top: 2px solid var(--blue);
        border-right: 2px solid var(--blue);
        transform: rotate(45deg);
        position: absolute;
        right: 20px;
    }

    /* ニュースエリア */
    .news_area button[role="tab"][aria-selected="true"] {
        background: #406DCF;
        background: linear-gradient(90deg, rgba(64, 109, 207, 1) 0%, rgba(72, 141, 219, 1) 100%);
        color: var(--white);
        font-weight: 600;
        letter-spacing: 1px;
    }

    .news_area button[role="tab"] {
        margin-bottom: 0em;
        padding: 0.75em 1em;
        width: calc((90% - 1em) / 2);
        border-radius: 40px 40px 0 0;
        font-size: 1.5em;
    }

    .news_area div[role="tablist"] {
        display: flex;
        justify-content: center;
        gap: 1.25em;
    }

    .news_post {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        border-bottom: solid 1px var(--border);
    }

    .job-list {
        display: flex;
        flex-wrap: wrap;
        gap: 1.5em;
    }

    .job-list li {
        width: calc((100% - 4.5em) / 4);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .job-category--link{
        padding: 1.5em 0.75em;
        width: 100%;
        display: flex;
        justify-content: center;
        border-radius: 15px;
        font-weight: 600;
    }

    .frontpage_jobs .job-category--link {
        font-weight: 600;
        background: var(--white);
        color: var(--blue);
        font-size: 1.35em;
        box-shadow: var(--shadow);
    }

    /* インタビュー */
    /* splide */
    .splide__list {
        backface-visibility: hidden;
        display: -ms-flexbox;
        display: flex;
        height: 100%;
        margin: 0 !important;
        padding: 0 !important;
    }

    .interview-post {
        margin-right: 2.5em;
        height: 100%;
        display: flex;
        flex-wrap: wrap;
        background-color: rgb(255 255 255 / 70%);
        border: solid 1px var(--white);
        border-radius: 40px;
        overflow: hidden;
        position: relative;
    }

    .interview-image {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        overflow: hidden;
    }

    .interview-image img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .interview-text--area {
        position: relative;
        width: 100%;
        height: 50%;
        display: flex;
        align-items: flex-start;
    }

    .interview-text--area::before {
        content: unset;
    }

    .interview-txt {
        padding: 2em;
        width: 100%;
        height: 100%;
        display: flex;
        flex-wrap: wrap;
        gap: 1.5em;
    }

    .interview-txt--shisetu {
        font-weight: bold;
    }

    .interview-txt--name {
        width: 100%;
        font-size: 1.25em;
        font-weight: bold;
    }
    
    .interview-txt--job p {
        border-radius: 50px;
        padding: 2px 14px;
        background-color: var(--green);
        font-size: 1em;
    }

    /* エントリー */
    .frontpage_entry_tit,
    .frontpage_entry_btn {
        width: 100%;
        flex: 1;
    }

    .frontpage_entry {
        margin-top: 10em;
        padding: 10em 3em;
        background-image: url(../img/back/entry_back.jpg);
        border-radius: 100px 100px 0 0;
        background-size: cover;
        background-repeat: no-repeat;
        position: relative;
        overflow: hidden;
        margin-bottom: 0;
    }

    .frontpage_entry::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        background: linear-gradient(189deg, rgb(109 174 255 / 25%) 0%, rgb(178 242 184 / 51%) 100%);
        backdrop-filter: blur(10px);
    }

    .frontpage_entry_wrap {
        display: flex;
        align-items: center;
        gap: 2em;
        position: relative;
        z-index: 2;
    }

    
    /* インタビューページ */
    .interview-list .interview-post {
        width: calc((100% - 4em) / 3);
    }

    .interview-name {
        flex-direction: column-reverse;
        align-items: unset;
    }

}