/* ============================================================
KVエリア：タブレット
============================================================ */
@media screen and (max-width: 1024px) {
    .kv-img:nth-of-type(1) {
        width: 26%;
    }

    .kv-img:nth-of-type(2) {
        width: 22%;
    }

    .kv-img:nth-of-type(3) {
        width: 36%;
    }

    .kv-img:nth-of-type(4) {
        width: 28%;
    }

    .kv-img:nth-of-type(5) {
        width: 24%;
    }

    .kv-img:nth-of-type(6) {
        width: 24%;
    }

    .kv-img:nth-of-type(7) {
        width: 28%;
    }

    .kv-img:nth-of-type(8) {
        width: 28%;
    }

    .kv-img:nth-of-type(9) {
        width: 30%;
    }

    .kv-img:nth-of-type(10) {
        width: 30%;
    }

    /* ============================================================
沿革背景円：タブレット（width × 0.7）
============================================================ */
    .circle:nth-child(1) {
        width: 289px;
    }

    .circle:nth-child(2) {
        width: 280px;
    }

    .circle:nth-child(3) {
        width: 257px;
    }

    .circle:nth-child(4) {
        width: 225px;
    }

    .circle:nth-child(5) {
        width: 193px;
    }

    .circle:nth-child(6) {
        width: 169px;
    }

    .circle:nth-child(7) {
        width: 161px;
    }

    .circle:nth-child(8) {
        width: 169px;
    }

    .circle:nth-child(9) {
        width: 193px;
    }

    .circle:nth-child(10) {
        width: 225px;
    }

    .circle:nth-child(11) {
        width: 257px;
    }

    .circle:nth-child(12) {
        width: 280px;
    }

    .circle:nth-child(13) {
        width: 289px;
    }

    .circle:nth-child(14) {
        width: 280px;
    }

    .circle:nth-child(15) {
        width: 257px;
    }

    .circle:nth-child(16) {
        width: 225px;
    }

    .circle:nth-child(17) {
        width: 193px;
    }

    .circle:nth-child(18) {
        width: 169px;
    }

    .circle:nth-child(19) {
        width: 161px;
    }

    .circle:nth-child(20) {
        width: 169px;
    }

    .circle:nth-child(21) {
        width: 193px;
    }

    .circle:nth-child(22) {
        width: 225px;
    }

    .circle:nth-child(23) {
        width: 257px;
    }

    .circle:nth-child(24) {
        width: 280px;
    }

    .circle:nth-child(25) {
        width: 289px;
    }

    .circle:nth-child(26) {
        width: 280px;
    }

    .circle:nth-child(27) {
        width: 257px;
    }

    .circle:nth-child(28) {
        width: 225px;
    }

    .circle:nth-child(29) {
        width: 193px;
    }

    .circle:nth-child(30) {
        width: 169px;
    }

    .circle:nth-child(31) {
        width: 161px;
    }

    .circle:nth-child(32) {
        width: 169px;
    }

    .circle:nth-child(33) {
        width: 193px;
    }
}

@media screen and (max-width:768px) {

    html,
    body {
        font-size: min(3.73vw, 16px);
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /* ============================================================
ファーストビュー
============================================================ */
    .fv-digit-slot {
        width: min(11.73vw, 64px);
    }

    .fv-digit-item {
        font-size: min(14.93vw, 80px);
    }

    .fv-tagline {
        line-height: 2;
    }

    .kv-logo {
        width: 110%;
        max-width: 500px;
    }

    /* ============================================================
KVエリア
============================================================ */
    .top-btn {
        bottom: 20px;
        right: 20px;
    }

    .kv-img:nth-of-type(1) {
        width: 40%;
        translate: -105% -381%;
    }

    .kv-img:nth-of-type(2) {
        width: 34%;
        translate: -115% -128%;
    }

    .kv-img:nth-of-type(3) {
        width: 54%;
        translate: -100% 112%;
    }

    .kv-img:nth-of-type(4) {
        width: 42%;
        translate: 35% -333%;
    }

    .kv-img:nth-of-type(5) {
        width: 36%;
        translate: 50% -104%;
    }

    .kv-img:nth-of-type(6) {
        width: 36%;
        translate: 30% 61%;
    }

    .kv-img:nth-of-type(7) {
        width: 42%;
        translate: 45% 120%;
    }

    .kv-img:nth-of-type(8) {
        width: 41%;
        translate: -140% -208%;
    }

    .kv-img:nth-of-type(9) {
        width: 46%;
        translate: -11% -208%;
    }

    .kv-img:nth-of-type(10) {
        width: 46%;
        translate: -50% 231%;
    }

    /* ============================================================
Section
============================================================ */
    section {
        position: relative;
        padding: min(18.67vw, 100px) 0;
    }

    h2 {
        font-size: min(8vw, 40px);
        margin: 0 auto 40px;
    }

    h2 span.h2_ja {
        font-size: min(5.33vw, 26px);
    }

    /* ============================================================
メッセージ
============================================================ */
    .message-content-wrap {
        flex-direction: column-reverse;
        padding: 0;
    }

    .message-content-wrap .top-img {
        width: 100%;
    }

    .message-content-wrap .message-content {
        width: 100%;
    }

    .message {
        margin-top: 20px;
    }

    /* ============================================================
沿革背景円：スマートフォン（width × 0.5、left 振れ幅を圧縮）
============================================================ */
    .circle:nth-child(1) {
        width: 207px;
        left: 35%;
    }

    .circle:nth-child(2) {
        width: 200px;
        left: 47%;
    }

    .circle:nth-child(3) {
        width: 184px;
        left: 57%;
    }

    .circle:nth-child(4) {
        width: 161px;
        left: 60%;
    }

    .circle:nth-child(5) {
        width: 138px;
        left: 57%;
    }

    .circle:nth-child(6) {
        width: 121px;
        left: 47%;
    }

    .circle:nth-child(7) {
        width: 115px;
        left: 35%;
    }

    .circle:nth-child(8) {
        width: 121px;
        left: 23%;
    }

    .circle:nth-child(9) {
        width: 138px;
        left: 13%;
    }

    .circle:nth-child(10) {
        width: 161px;
        left: 10%;
    }

    .circle:nth-child(11) {
        width: 184px;
        left: 13%;
    }

    .circle:nth-child(12) {
        width: 200px;
        left: 23%;
    }

    .circle:nth-child(13) {
        width: 207px;
        left: 35%;
    }

    .circle:nth-child(14) {
        width: 200px;
        left: 47%;
    }

    .circle:nth-child(15) {
        width: 184px;
        left: 57%;
    }

    .circle:nth-child(16) {
        width: 161px;
        left: 60%;
    }

    .circle:nth-child(17) {
        width: 138px;
        left: 57%;
    }

    .circle:nth-child(18) {
        width: 121px;
        left: 47%;
    }

    .circle:nth-child(19) {
        width: 115px;
        left: 35%;
    }

    .circle:nth-child(20) {
        width: 121px;
        left: 23%;
    }

    .circle:nth-child(21) {
        width: 138px;
        left: 13%;
    }

    .circle:nth-child(22) {
        width: 161px;
        left: 10%;
    }

    .circle:nth-child(23) {
        width: 184px;
        left: 13%;
    }

    .circle:nth-child(24) {
        width: 200px;
        left: 23%;
    }

    .circle:nth-child(25) {
        width: 207px;
        left: 35%;
    }

    .circle:nth-child(26) {
        width: 200px;
        left: 47%;
    }

    .circle:nth-child(27) {
        width: 184px;
        left: 57%;
    }

    .circle:nth-child(28) {
        width: 161px;
        left: 60%;
    }

    .circle:nth-child(29) {
        width: 138px;
        left: 57%;
    }

    .circle:nth-child(30) {
        width: 121px;
        left: 47%;
    }

    .circle:nth-child(31) {
        width: 115px;
        left: 35%;
    }

    .circle:nth-child(32) {
        width: 121px;
        left: 23%;
    }

    .circle:nth-child(33) {
        width: 138px;
        left: 13%;
    }

    /* スマホ補間円（34〜65）：既存円の全隙間を埋めて均等 1.5% 間隔に */
    .circle:nth-child(34) {
        top: 5.5%;
        width: 192px;
        left: 52%;
        background: #DF2A54;
    }

    .circle:nth-child(35) {
        top: 11.5%;
        width: 150px;
        left: 59%;
        background: #D524A7;
    }

    .circle:nth-child(36) {
        top: 17.5%;
        width: 118px;
        left: 41%;
        background: #8624DB;
    }

    .circle:nth-child(37) {
        top: 23.5%;
        width: 130px;
        left: 18%;
        background: #263FC9;
    }

    .circle:nth-child(38) {
        top: 29.5%;
        width: 173px;
        left: 12%;
        background: #074478;
    }

    .circle:nth-child(39) {
        top: 35.5%;
        width: 204px;
        left: 29%;
        background: #18449A;
    }

    .circle:nth-child(40) {
        top: 41.5%;
        width: 192px;
        left: 52%;
        background: #4A2ADB;
    }

    .circle:nth-child(41) {
        top: 47.5%;
        width: 150px;
        left: 59%;
        background: #AF24DB;
    }

    .circle:nth-child(42) {
        top: 53.5%;
        width: 118px;
        left: 41%;
        background: #DC2672;
    }

    .circle:nth-child(43) {
        top: 59.5%;
        width: 130px;
        left: 18%;
        background: #DD3534;
    }

    .circle:nth-child(44) {
        top: 65.5%;
        width: 173px;
        left: 12%;
        background: #DF2A54;
    }

    .circle:nth-child(45) {
        top: 71.5%;
        width: 204px;
        left: 29%;
        background: #8230B8;
    }

    .circle:nth-child(46) {
        top: 77.5%;
        width: 192px;
        left: 52%;
        background: #4A2ADB;
    }

    .circle:nth-child(47) {
        top: 83.5%;
        width: 150px;
        left: 59%;
        background: #AF24DB;
    }

    .circle:nth-child(48) {
        top: 89.5%;
        width: 118px;
        left: 41%;
        background: #A424A7;
    }

    .circle:nth-child(49) {
        top: 95.5%;
        width: 130px;
        left: 18%;
        background: #263FC9;
    }

    .circle:nth-child(50) {
        top: 2.5%;
        width: 204px;
        left: 41%;
        background: #DB4324;
    }

    .circle:nth-child(51) {
        top: 8.5%;
        width: 173px;
        left: 59%;
        background: #E0286A;
    }

    .circle:nth-child(52) {
        top: 14.5%;
        width: 130px;
        left: 52%;
        background: #C024DB;
    }

    .circle:nth-child(53) {
        top: 20.5%;
        width: 118px;
        left: 29%;
        background: #6D24DB;
    }

    .circle:nth-child(54) {
        top: 26.5%;
        width: 150px;
        left: 12%;
        background: #284BBC;
    }

    .circle:nth-child(55) {
        top: 32.5%;
        width: 192px;
        left: 18%;
        background: #074b78;
    }

    .circle:nth-child(56) {
        top: 38.5%;
        width: 204px;
        left: 41%;
        background: #284BBC;
    }

    .circle:nth-child(57) {
        top: 44.5%;
        width: 173px;
        left: 59%;
        background: #6D24DB;
    }

    .circle:nth-child(58) {
        top: 50.5%;
        width: 130px;
        left: 52%;
        background: #C024DB;
    }

    .circle:nth-child(59) {
        top: 56.5%;
        width: 118px;
        left: 29%;
        background: #E0286A;
    }

    .circle:nth-child(60) {
        top: 62.5%;
        width: 150px;
        left: 12%;
        background: #DB4324;
    }

    .circle:nth-child(61) {
        top: 68.5%;
        width: 192px;
        left: 18%;
        background: #E0286A;
    }

    .circle:nth-child(62) {
        top: 74.5%;
        width: 204px;
        left: 41%;
        background: #284BBC;
    }

    .circle:nth-child(63) {
        top: 80.5%;
        width: 173px;
        left: 59%;
        background: #6D24DB;
    }

    .circle:nth-child(64) {
        top: 86.5%;
        width: 130px;
        left: 52%;
        background: #C024DB;
    }

    .circle:nth-child(65) {
        top: 92.5%;
        width: 118px;
        left: 29%;
        background: #6D24DB;
    }

    /* ============================================================
沿革
============================================================ */
    .history-nav {
        gap: 10px;
        flex-direction: column;
    }

    .history-nav-btn {
        font-size: min(3.73vw, 16px);
        padding: 1em;
    }

    .history-nav-btn span {
        font-size: min(4.27vw, 20px);
    }

    .history-year-wrap {
        padding-left: 28px;
        width: 88px;
    }

    .history-year-wrap::before {
        left: 39px;
    }

    .history-year.active .year-dot-wrap::before {
        font-size: min(3.73vw, 18px);
    }

    .history-year.active .year-dot-wrap::after {
        width: 80px;
        height: 80px;
    }

    .history-item li {
        margin-left: 6px;
    }

    .history-title {
        font-size: min(4.27vw, 20px);
        margin-bottom: 0.5em;
    }

    .history-info {
        flex-direction: column-reverse;
        gap: 20px;
    }

    .history-img {
        width: 100%;
    }

    /* ============================================================
ライブラリ
============================================================ */
    .library-content {
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

    .library-content:not(:first-of-type) {
        margin-top: 30px;
    }

    .library-content a {
        width: 100%;
    }

    .library-title {
        font-size: min(4.27vw, 20px);
        text-align: left;
    }



}