/* 上下にふわふわ */
@keyframes floatY {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }

    100% {
        transform: translateY(0);
    }
}

#column p {
    color: #033410;
}
.column_con03_text p span {
    color: #FFF700;
}

/***********************************************************************
    「★PC版 CSS★」ブラウザの幅が751px以上ならここの記述が有効になる
  **********************************************************************/
@media all and (min-width: 751px) {

    .column_wrapper {
        background: url(../images/column_bg_pc.png) no-repeat top;
        width: 1920px;
        position: relative;
        margin-top: 0;
        height: 2733px;
    }

    .column_area {
        padding: 157px 0 0;

    }

    .column_tit {
        background: url(../images/column_tit.png) no-repeat center;
        background-size: cover;
        width: 900px;
        height: 231px;
        margin: 0 auto;
    }

    .column_read p {
        font-size: 20px;
        width: 1002px;
        line-height: 33px;
        margin: 38px auto;
        text-align: center;
        position: relative;
        font-weight: 600;

    }

    .column_read::before {
        content: '';
        position: absolute;
        top: 404px;
        left: 50%;
        transform: translateX(-50%);
        width: 1030px;
        height: 138px;
        background-image: url(../images/column_kazari_pc.svg);
        background-size: contain;
        background-repeat: no-repeat;
    }

    .column_con {
        width: 1464px;
        position: relative;
        padding: 0px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* 共通：コンテンツブロック（01〜03） */
    .column_con01,
    .column_con02,
    .column_con03 {
        width: 100%;
        border-radius: 30px;
    }

    .column_con01 {
        background: url(../images/column_con01_bg_pc.png) no-repeat center / cover;
        margin: 17px 0 0;
        padding: 44px 0;
        position: relative;
    }

    .column_con01_tit {
        background: url(../images/column_con01_tit.svg) no-repeat center / cover;
        width: 215px;
        height: 51px;
        margin: 0 auto;
    }

    .column_con01_read,
    .column_con02_read {
        margin: 0 auto;
        width: 1038px;
    }

    .column_con01_read p {
        font-size: 18px;
        border: solid 1px #73DB8E;
        margin: 0;
        padding: 14px 22px;
        font-weight: bold;
        text-align: center;
    }

    .column_con01_table {
        display: flex;
        gap: 19px;
        width: 1031px;
        margin: 23px auto -6px;
    }

    .column_con01_table01 {
        background: url(../images/column_table01_pc.png) no-repeat center / cover;
        width: 506px;
        height: 410px;
        position: relative;
        left: 12px;
    }

    .column_con01_table02 {
        background: url(../images/column_table02_pc.png) no-repeat center / cover;
        width: 506px;
        height: 410px;
        position: relative;
        right: 12px;
    }

    .column_con02 {
        background: url(../images/column_con02_bg_pc.png) no-repeat center / cover;
        height: 566px;
        margin-top: 53px;
        padding: 44px 0;
        position: relative;
    }

    .column_con02_tit {
        background: url(../images/column_con02_tit.svg) no-repeat center / cover;
        width: 241px;
        height: 51px;
        margin: 0 auto;
    }

    .column_con02_read p {
        font-size: 18px;
        border: solid 1px #73DB8E;
        margin: 0;
        padding: 14px 22px;
        font-weight: bold;
        text-align: center;
    }

    .column_con02_table {
        background: url(../images/column_table03_pc.png) no-repeat center / cover;
        width: 877px;
        height: 264px;
        position: relative;
        margin: 11px auto -48px;
    }

    .column_con03 {
        background: url(../images/column_con03_bg_pc.png) no-repeat center / cover;
        height: 335px;
        width: 1513px;
        margin-top: 28px;
    }

    .column_con03_tit {
        background: url(../images/column_con03_tit_pc.svg) no-repeat center / cover;
        width: 1030px;
        height: 40px;
        margin: 77px auto 13px;
    }

    /* 共通：テキストコンテナ */
    .column_con01_text,
    .column_con02_text,
    .column_con03_text {
        width: 1030px;
        position: relative;
        margin: 0 auto;
    }

    /* 共通：テキストボックス本体 */
    .column_con01_text p,
    .column_con02_text p,
    .column_con03_text p {
        font-size: 18px;
        line-height: 32.6px;
        font-weight: 600;
        z-index: 1;
        position: relative;
        text-decoration: underline;
        text-decoration-style: dashed;
        text-decoration-thickness: 2px;
        text-underline-offset: 7px;
    }

    /* 個別：テキストボックスの装飾色とマージン差分 */
    .column_con01_text p {
        text-decoration-color: #73DB8E;
    }

    .column_con02_text p {
        text-decoration-color: #73DB8E;
        margin: 72px 0;
        letter-spacing: 1px;
    }

    .column_con03_text p {
        /* text-decoration-color: #00832c; */
        text-decoration: inherit;
        margin: 0;
        color: #fff !important;
        font-size: 20px !important;
    }

    /* 共通：画像の下に引くピンクライン */
    .column_con01::before,
    .column_con02::before {
        content: "";
        position: absolute;
        width: 190px;
        height: 204px;
        animation: floatY 3s ease-in-out infinite;
    }

    /* 個別：ピンクラインの位置 */
    .column_con01::before {
        background: url(../images/column_toto01.png) no-repeat center / cover;
        right: 0px;
        top: 695px;
    }

    .column_con02::before {
        background: url(../images/column_toto02.png) no-repeat center / cover;
        left: 9px;
        top: 494px;
    }

}

/***********************************************************************
    「★SP版 CSS★」ブラウザの幅が750px以下ならここの記述が有効になる
  **********************************************************************/
@media only all and (max-width: 750px) {

#column p {
    letter-spacing: -0.8px;
}

    /* =========================
    ベース
========================= */
    .column_wrapper {
        background: url(../images/column_bg_sp.png) no-repeat top / cover;
        width: 750px;
        position: relative;
        height: 5740px;
        margin-bottom: 128px;
    }

    .column_area {
        padding: 101px 0 0;
    }

    .column_tit {
        background: url(../images/column_tit.png) no-repeat center;
        background-size: cover;
        width: 741px;
        height: 230px;
        margin: 0 auto;
    }

    .column_read p {
        font-size: 30px;
        width: 620px;
        line-height: 53px;
        margin: 63px auto -4px;
        text-align: center;
        position: relative;
        font-weight: 600;
    }

    .column_read::before {
        content: '';
        position: absolute;
        top: 373px;
        left: 50%;
        transform: translateX(-50%);
        width: 684px;
        height: 408px;
        background-image: url(../images/column_kazari_sp.svg);
        background-size: cover;
        background-repeat: no-repeat;
    }

    .column_con {
        position: relative;
        padding: 0;
    }


    /* 共通：コンテンツブロック（01〜03） */
    .column_con01,
    .column_con02,
    .column_con03 {
        width: 100%;
    }

    .column_con01 {
        background: url(../images/column_con01_bg_sp.png) no-repeat center / cover;
        margin: 73px 0 0;
        padding: 75px 0;
        position: relative;
    }

    .column_con01_tit {
        background: url(../images/column_con01_tit.svg) no-repeat center / cover;
        width: 308px;
        height: 67px;
        margin: 0 auto;
    }

    .column_con01_read,
    .column_con02_read {
        margin: 10px auto;
        width: 688px;
    }

    .column_con01_read p {
        font-size: 28px;
        border: solid 3px #73DB8E;
        margin: 0;
        padding: 14px 26px;
        font-weight: bold;
        text-align: center;
        line-height: 49px;
    }

    .column_con01_table {
        display: flex;
        gap: 19px;
        width: 690px;
        margin: 37px auto -6px;
        flex-direction: column;
        align-items: center;
    }

    .column_con01_table01 {
        background: url(../images/column_table01_pc.png) no-repeat center / cover;
        width: 712px;
        height: 568px;
        position: relative;
    }

    .column_con01_table02 {
        background: url(../images/column_table02_sp.png) no-repeat center / cover;
        width: 712px;
        height: 568px;
        position: relative;
    }

    .column_con02 {
        background: url(../images/column_con02_bg_sp.png) no-repeat center / cover;
        margin-top: 87px;
        padding: 59px 0 25px;
        position: relative;
    }

    .column_con02_tit {
        background: url(../images/column_con02_tit.svg) no-repeat center / cover;
        width: 336px;
        height: 73px;
        margin: 0 auto;
    }

    .column_con02_read p {
        font-size: 28px;
        line-height: 48px;
        border: solid 3px #73DB8E;
        margin: 0;
        padding: 14px 22px;
        font-weight: bold;
        text-align: center;
    }

    .column_con02_table {
        background: url(../images/column_table03_sp.png) no-repeat center / cover;
        width: 699px;
        height: 436px;
        position: relative;
        margin: 30px auto -48px;
    }

    .column_con03 {
        background: url(../images/column_con03_bg_sp.png) no-repeat center / cover;
        margin-top: 81px;
        padding: 89px 0px;
        width: 821px;
        height: 538px;
        position: relative;
        left: -35px;
    }

    .column_con03_tit {
        background: url(../images/column_con03_tit_sp.svg) no-repeat center / cover;
        width: 690px;
        height: 67px;
        margin: 0px auto 41px;
    }

    .column_con01_text,
    .column_con02_text,
    .column_con03_text {
        width: 642px;
        position: relative;
        margin: -17px auto 0;
    }

    .column_con01_text p,
    .column_con02_text p,
    .column_con03_text p {
        font-size: 28px;
        line-height: 54.6px;
        font-weight: 600;
        z-index: 1;
        position: relative;
        text-decoration: underline;
        text-decoration-style: dashed;
        text-decoration-thickness: 2px;
        text-underline-offset: 7px;
    }

    .column_con01_text p {
        text-decoration-color: #73DB8E;
    }

    .column_con02_text p {
        text-decoration-color: #73DB8E;
        margin: 72px 0;
        letter-spacing: 0.2px !important;
    }

    .column_con03_text p {
        /* text-decoration-color: #00832c; */
        text-decoration: inherit;
        margin: 0;
        color: #fff !important;
        letter-spacing: 0.5px !important;
        font-size: 30px;
    }

    .column_con01::before,
    .column_con02::before {
        content: "";
        position: absolute;
        width: 190px;
        height: 204px;
        animation: floatY 3s ease-in-out infinite;
        z-index: 1;
    }

    .column_con01::before {
        background: url(../images/column_toto01.png) no-repeat center / cover;
        left: 30px;
        bottom: -130px;
    }

    .column_con02::before {
        background: url(../images/column_toto02.png) no-repeat center / cover;
        right: 29px;
        bottom: -76px;
    }


}