.gakken-live-pc {
    width: 960px;
}

.gakken-live-pc img {
    display: block;
}

/* ==============================
   main
============================== */
.gakken-live-pc__hero {
    position: relative;
    width: 960px;
    height: 650px;
}

.gakken-live-pc__hero::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 960px;
    height: 413px;
    background-color: #000;
    z-index: 0;
}

.gakken-live-pc__hero-bg {
    width: 960px;
    height: 413px;
    opacity: 0;
}

.gakken-live-pc__hero-shoes {
    position: absolute;
    left: 0;
    top: 360px;
    width: 960px;
    height: 170px;
}

.gk_hero-shoe {
    position: absolute;
    height: auto;
}

.gk_hero-shoe_pc1{
    left: 10px;
    top: 0;
}

.gk_hero-shoe_pc2{
    left: 210px;
    top: 0;
}

.gk_hero-shoe_pc3{
    left: 490px;
    top: 0;
}

.gk_hero-shoe_pc4{
    right: 20px;
    top: 0;
}

.gakken-live-pc__hero h2{
    position: absolute;
    left: 0;
    top: 580px;
    width: 960px;
    margin: 0;
    text-align: center;
}

.gk_hero-logo {
    position: absolute;
    display: block;
    height: auto;
    z-index: 3;
}

.gk_hero-logo_live {
    left: 50%;
    top: 15px;
    width: 230px;
    transform: translateX(-50%);
}

.gk_hero-logo_machgt {
    left: 50%;
    top: 265px;
    width: 245px;
    transform: translateX(-50%);
}

/* ==============================
   animation
============================== */

.gakken-live-pc__hero.is-show .gakken-live-pc__hero-bg {
    opacity: 1;
    transform: scale(1);
    transition:
        opacity 2s ease,
        transform 1.4s ease-out;
}

.gk_hero-shoe {
    position: absolute;
    height: auto;

    opacity: 0;
    transform: translateY(35px) scale(.96);
    transition:
        opacity .55s ease,
        transform .7s cubic-bezier(.22, 1, .36, 1);
    will-change: opacity, transform;
}

.gakken-live-pc__hero.is-show .gk_hero-shoe {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.gakken-live-pc__hero.is-show .gk_hero-shoe_pc1 {
    transition-delay: 1.0s;
}

.gakken-live-pc__hero.is-show .gk_hero-shoe_pc2 {
    transition-delay: 1.12s;
}

.gakken-live-pc__hero.is-show .gk_hero-shoe_pc3 {
    transition-delay: 1.24s;
}

.gakken-live-pc__hero.is-show .gk_hero-shoe_pc4 {
    transition-delay: 1.36s;
}

/* ==============================
   page_link
============================== */

.gakken-live-pc__headbtn {
    display: flex;
    justify-content: space-between;
    width: 880px;
    margin: 0 auto;
    margin-top: 60px;
}

.gakken-live-pc__headbtn a{
    text-decoration: none;
}

.gk_headbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 270px;
    height: 75px;
    border: 1px solid #c00;
    box-sizing: border-box;
    background-color: #fff;
    font-size: 17px;
    font-weight: bold;
    color: #c00;
    text-decoration: none;
    box-shadow: 5px 5px 0 #999;
}

.gk_headbtn_icon {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    margin-right: 7px;
    border-radius: 50%;
    background-color: #d60000;
}

.gk_headbtn_icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 8px solid #fff;
    transform: translate(-50%, -30%);
}

/* ==============================
   products
============================== */

.gakken-live-pc__product{
    position: relative;
    padding-bottom: 60px;
}

#products{
    position: absolute;
    height: 1px;
    top: 0;
}

.gk_product_1_title,
.gk_product_2_title {
    display: block;
    clear: both;
    width: 100%;
    padding: 70px 0 30px;
    box-sizing: border-box;
    text-align: center;
}

.gk_product_1_title h3,
.gk_product_2_title h3 {
    position: static;
    display: block;
    float: none;
    clear: both;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
    text-align: center;
    font-size: 54px;
    line-height: 1.2;
    font-weight: bold;
}

.gk_product_1_title p,
.gk_product_2_title p {
    width: 400px;
    margin: 5px auto 0;
    padding-top: 8px;
    border-top: 2px solid #cfcfcf;
    color: #666;
    font-size: 24px;
    line-height: 1;
    font-weight: bold;
    text-align: center;
}

.gk_product_1_title h3 {
    color: #a40000;
}

.gk_product_2_title h3 {
    color: #1f4f9d;
}

.gk_product_1_body,
.gk_product_2_body {
    display: flex;
    align-items: flex-start;
    width: 960px;
}

.gk_product_1_pic,
.gk_product_2_pic {
    width: 530px;
}

.gk_product_1_pic img,
.gk_product_2_pic img {
    width: 530px;
    height: auto;
}

.gk_product_1_item_wrap,
.gk_product_2_item_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 430px;
}

.gk_product_1_item,
.gk_product_2_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 430px;
}

.gk_product_1_item:first-child,
.gk_product_2_item:first-child {
    margin-bottom: 17px;
}

.gk_product_1_item img {
    display: block;
    margin: 0 auto;
}

.gk_product_1_pic,
.gk_product_2_pic  {
    overflow: hidden;
}

.gk_product_1_pic img,
.gk_product_2_pic img {
    opacity: 0.75;
    transform: scale(1.2);
    transition:
        opacity 1.4s ease,
        transform 3s cubic-bezier(.22, 1, .36, 1);
    will-change: opacity, transform;
}

.gk_product_1_pic.is-show img,
.gk_product_2_pic.is-show img {
    opacity: 1;
    transform: scale(1);
}

.gk_product_more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 165px;
    height: 46px;
    margin-top: 8px;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

.gk_product_more::before {
    content: "";
    width: 0;
    height: 0;
    margin-right: 8px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #fff;
}

/* ==============================
   novelty
============================== */

.gakken-live-pc__novelty{
    position: relative;
    background-color: #ffd;
    padding-top: 40px;
    padding-bottom: 40px;
}

#novelty{
    position: absolute;
    height: 1px;
    top: 0;
}

.gk_novelty_head {
    display: flex;
    justify-content: center;
    width: 100%;
}

.gk_novelty_head img {
    display: block;
    margin: 0;
}

.gk_novelty_item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin: 30px auto;
}

.gk_novelty_item1 {
    margin-right: 20px;
    transform: rotate(-10deg);
}

.gk_novelty_item2 {
    transform: rotate(10deg);
}

.gk_novelty_item img {
    display: block;
    margin: 0;
}

.gk_novelty_notice {
    width: fit-content;
    margin: 0 auto;
    padding: 24px 32px;
    background-color: #fff;
    border-radius: 24px;
}

.gk_novelty_notice p{
    margin: 0;
    font-size: 14px;
    line-height: 1.6em;
}

/* ==============================
   popup
============================== */

.gakken-live-pc__popup{
    position: relative;
    background-color: #fff;
    padding-top: 60px;
    padding-bottom: 60px;
}

#popup{
    position: absolute;
    height: 1px;
    top: 0;
}

.gk_popup_head img{
    display: block;
    margin: 0 auto;
}

.gk_popup_text{
    width: fit-content;
    margin: 0 auto;
    padding: 24px 32px;
}

.gk_popup_text p{
    font-size: 16px;
    line-height: 1.6em;
}

.gk_popup_notice {
    width: fit-content;
    margin: 0 auto;
    margin-bottom: 30px;
    padding: 24px 32px;
    background-color: #ffd;
    border-radius: 24px;
}

.gk_popup_notice p{
    margin: 0;
    font-size: 16px;
}

.gk_popup_more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 266px;
    height: 46px;
    margin: 8px auto 0;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

.gk_popup_more::before {
    content: "";
    width: 0;
    height: 0;
    margin-right: 8px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid #fff;
}

/* ==============================
   BOX
============================== */

        .box_ani_wrap {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            width: 680px;
            margin: 0 auto;
            margin-bottom: 30px;
        }

        .box_ani_item {
            width: 330px;
        }

        .box_ani_t_images,
        .box_ani_s_images {
            width: 330px;
        }

        .box_ani_t_images img,
        .box_ani_s_images img {
            display: none;
            width: 100%;
            height: auto;
        }

        .box_ani_t_images img.is-active,
        .box_ani_s_images img.is-active {
            display: block;
        }

        .box_ani_buttons {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin-top: 15px;
        }

        .box_ani_btn {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 50px;
            height: 40px;
            padding: 0;
            border: none;
            background-color: #000;
            cursor: pointer;
        }

        .box_ani_btn::before {
            content: "";
            width: 0;
            height: 0;
            border-top: 8px solid transparent;
            border-bottom: 8px solid transparent;
        }

        .box_ani_btn--prev::before {
            border-right: 12px solid #fff;
        }

        .box_ani_btn--next::before {
            border-left: 12px solid #fff;
        }

        .box_ani_btn:disabled {
            background-color: #ccc;
            cursor: default;
        }

        .box_ani_btn:disabled::before {
            opacity: 0.6;
        }


/* ==============================
   shop
============================== */

.open-3 {
    width: 680px;
    margin: 30px auto 0;
}

.open-3 .btn-4 {
    position: relative;
    margin: 0;
    padding: 18px 10px 14px;
    border-bottom: 1px solid #555;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    cursor: pointer;
}

.open-3 .btn-4::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 10px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 9px solid #000;
    vertical-align: middle;
}

.open-3 .btn-4.active::after {
    border-top: 0;
    border-bottom: 9px solid #000;
}

.open-4 {
    padding: 18px 10px 24px;
}

.open-4 ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}

.open-4 li {
    width: 50%;
    margin: 0 0 14px;
    padding: 0;
    box-sizing: border-box;
}

.open-4 a {
    color: #06c;
    font-size: 16px;
    text-decoration: underline;
}

.open-4 a:hover {
    text-decoration: none;
}

/* ==============================
   movie
============================== */

.gakken-live-pc__mov{
    background-color: #ffd;
    padding-top: 60px;
    padding-bottom: 60px;
}

.gk_mov_head img{
    display: block;
    margin: 0 auto;
}

.gk_mov_wrap{
    position: relative;
    width: 680px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
}

/* ==============================
   other_link
============================== */

.gakken-live-pc__other{
    padding-top: 60px;
    padding-bottom: 60px;
}

.gakken_official_btn{
    width: 460px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8px auto 50px;
    background-color: #014b27;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    font-weight: bold;
}

.hawkins_other_btn{
    width: 460px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 8px auto 0;
    background-color: #000;
    color: #fff;
    font-size: 22px;
    text-decoration: none;
    font-weight: bold;
}