/*
Theme Name: biscuss-child
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 7.1
Tested up to: 7.1
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: x-t9
Text Domain: biscuss-child
Tags: 
*/

a {
    text-decoration: none;
}

.mv video {
    aspect-ratio: auto !important;
}

.c-ttl--secondary {
    position: relative;
    margin-bottom: 40px;

}

.c-ttl--bg {
    font-size: 4rem !important;
}

.c-ttl--txt {
    position: absolute;
    left: 0;
    bottom: -10px;
}

.c-ttl--txt>h2 {
    font-size: 2.3rem;
}

@media screen and (min-width:860px) {
    .c-ttl--bg {
        font-size: 13rem !important;
    }

    .c-ttl--txt {
        position: absolute;
        left: 60px;
        bottom: 50px;
    }

    .c-ttl--txt>h2 {
        font-size: 3rem;
    }
}

/* 親グループを全幅にして中央寄せの土台にする */
.c-ttl--txt.is-vertical-business {
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    justify-content: center !important;
}

/* 見出しを縦書きに */
.c-ttl--txt.is-vertical-business h2 {
    writing-mode: vertical-rl !important;
    text-orientation: upright;
    letter-spacing: 10px;
    margin: 0 !important;
    width: auto !important;
}

/* ふりがな */
.c-ttl--txt.is-vertical-business rt {
    font-size: 0.3em;
    letter-spacing: 0.3em;
}

.p-information__inr {
    overflow: hidden;
}

/* ---- スライドのラッパー（左右2列をまとめる）---- */
@media (min-width: 768px) {
    .p-information__img__wrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 10px;
        transform: rotate(-5deg);
        height: 500px;
    }
}

/* ---- ul / li / img ---- */
.p-information__img__wrap .slide-contents {
    display: flex;
    /* ブロックテーマの ul 初期余白を打ち消し */
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .p-information__img__wrap .slide-contents {
        display: block;
    }
}

.p-information__img__wrap .slide-contents li {
    margin-bottom: 6px;
    padding: 0 0.25rem;
    width: 33.3333333333vw;
    height: fit-content;
}

@media (min-width: 768px) {
    .p-information__img__wrap .slide-contents li {
        padding: 0;
        width: 100%;
    }
}

.p-information__img__wrap .slide-contents img {
    display: block;
    width: 100%;
    height: auto;
}

/* ---- 左列（--lt） ---- */
.p-information__img--lt {
    display: flex;
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .p-information__img--lt {
        display: block;
    }

    .p-information__img--lt li {
        width: 100%;
    }
}

.p-information__img--lt.anime--first .slide-contents:first-child {
    animation: loop3 50s -25s linear infinite;
}

.p-information__img--lt.anime--first .slide-contents:last-child {
    animation: loop4 50s linear infinite;
}

@media (min-width: 768px) {
    .p-information__img--lt.anime--first .slide-contents:first-child {
        animation: loop 50s -25s linear infinite;
    }

    .p-information__img--lt.anime--first .slide-contents:last-child {
        animation: loop2 50s linear infinite;
    }
}

/* ---- 右列（--rt） ---- */
.p-information__img--rt {
    display: flex;
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .p-information__img--rt {
        display: block;
    }

    .p-information__img--rt li {
        width: 100%;
    }
}

.p-information__img--rt.anime--first .slide-contents:first-child {
    animation: loop3 50s -25s linear infinite reverse;
}

.p-information__img--rt.anime--first .slide-contents:last-child {
    animation: loop4 50s linear infinite reverse;
}

@media (min-width: 768px) {
    .p-information__img--rt.anime--first .slide-contents:first-child {
        animation: loop 50s -25s linear infinite reverse;
    }

    .p-information__img--rt.anime--first .slide-contents:last-child {
        animation: loop2 50s linear infinite reverse;
    }
}

/* ---- keyframes ---- */
@keyframes loop {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(-100%);
    }
}

@keyframes loop2 {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-200%);
    }
}

@keyframes loop3 {
    from {
        transform: translateX(100%);
    }

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

@keyframes loop4 {
    from {
        transform: translateX(0);
    }

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

@media (min-width: 782px) {
    .p-information__link-col {
        padding-right: max(var(--wp--preset--spacing--60), calc(50vw - 550px)) !important;
    }
}

/* 従業員数を正円で囲む */
.p-data__circle {
    width: clamp(240px, 18vw, 220px);
    aspect-ratio: 1 / 1;
    border: 1px solid #000 !important;
    /* ブロック側で border:none が付いているため上書き */
    border-radius: 50% !important;
    /* 同上 */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    box-sizing: border-box;
}

.p-data__circle .js-countUp,
.p-data__circle .p-data__employee__inr {
    margin: 0;
    line-height: 1;
    white-space: nowrap;
}

/* ===== 円グラフ:レイアウト ===== */
.p-data__doughnut__contents {
    display: block;
    margin-inline: auto;
    gap: 14%;
}

@media (min-width: 768px) {

    /* ←元のmq('tablet')の幅に合わせてください */
    .p-data__doughnut__contents {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: calc(970 / 1280 * 100%);
    }
}

.p-data__doughnut__content {
    position: relative;
}

/* ===== ラベル ===== */
.pos-wrap {
    position: absolute;
    z-index: 2;
    color: #fff;
    line-height: 1.1;
    text-align: center;
    clip-path: inset(0);
}

.pos-wrap span {
    display: block;
    font-size: 2rem;
}

.pos-wrap1 {
    top: 12%;
    right: 20%;
}

.pos-wrap2 {
    top: 66%;
    right: 14%;
}

.pos-wrap3 {
    top: 71%;
    left: 20%;
}

.pos-wrap4 {
    top: 15%;
    left: 18%;
}

.pos {
    transform: translateY(100%);
}

/* ===== 円 ===== */
.c-circle {
    display: inline-block;
    transform: rotate(-90deg);
}

.type {
    fill: none;
    /* 塗りつぶし防止(今回追加) */
}

/* ===== アニメーション(.is-active が付いたら動く) ===== */
.is-active .c-circle {
    opacity: 1;
}

.is-active .type {
    stroke-width: 10;
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
}

.is-active .type1 {
    stroke: #33447D;
    animation: strokeAnime1 0.8s 0.3s ease-in-out forwards;
}

.is-active .type2 {
    stroke: #3E85B8;
    animation: strokeAnime2 0.8s 0.4s ease-in-out forwards;
}

.is-active .type3 {
    stroke: #75A5B5;
    animation: strokeAnime3 0.8s 0.5s ease-in-out forwards;
}

.is-active .type4 {
    stroke: #A8B2B7;
    animation: strokeAnime4 0.8s 0.6s ease-in-out forwards;
}

.is-active .type5 {
    stroke: #488BBB;
    animation: strokeAnime5 0.8s 0.3s ease-in-out forwards;
}

.is-active .type6 {
    stroke: #E77474;
    animation: strokeAnime6 0.8s 0.3s ease-in-out forwards;
}

@keyframes strokeAnime1 {
    100% {
        stroke-dashoffset: 80;
    }
}

@keyframes strokeAnime2 {
    100% {
        stroke-dashoffset: 50;
    }
}

@keyframes strokeAnime3 {
    100% {
        stroke-dashoffset: 25;
    }
}

@keyframes strokeAnime4 {
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes strokeAnime5 {
    100% {
        stroke-dashoffset: 65;
    }
}

@keyframes strokeAnime6 {
    100% {
        stroke-dashoffset: 0;
    }
}

.is-active .pos {
    transform: translateY(0);
    transition-duration: 1s;
    transition-delay: 1.8s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Snow Monkey Forms設定 */
.smf-item__label__text::after {
    display: inline-block;
    width: 40px;
    height: 20px;
    margin-left: 8px;
    color: #fff;
    font-size: 12px;
    text-align: center;
    content: "";
}

.required .smf-item__label__text::after {
    background-color: #d42c2c;
    content: "必須";
}

.optional .smf-item__label__text::after {
    background-color: #123872;
    content: "任意";
}

.report-form-regulations {
    height: 200px;
    padding: 4%;
    overflow: auto;
    border: 1px solid #000;
}

/* パスワード*/
input[name="post_password"] {
    padding: 10px 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}