/* ===========投稿ページ用=========== */
/* 腸活用ピーポー用CSS */
body {
    background-color: #ebc4b4;
}

/* 全体コンテナ */
.container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: column;
    background-color: white;
    height: auto;
    margin: 100px auto;
    padding-bottom: 100px;
    width: auto;
    max-width: calc(100% - 240px);
    text-align: center;
}

/* ヘッダーコンテナ */
.header {
    width: 100%;
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* タイトルブロック */
.title {
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center;
}

/* コラム種別 */
.title h1 {
    font-family: "Zen Maru Gothic", serif;
    font-style: normal;
    font-size: 85px;
    font-weight: 700;
    height: 100%;
    line-height: 1.4;
    text-align: center;
    width: 74%;
    max-width: 74%;
    margin: 0px;
}

/* 丸図形 */
.circle {
    background-color: #ff6f0aff;
    border-radius: 55.5px;
    height: 100px;
    width: 100px;
    max-width: 100%;
}

/* プレゼンツ */
.sub-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 24px;
    font-weight: 400;
    margin-top: 30px;
    width: 80%
}

/* 投稿タイトル */
.post-name {
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 50px;
    font-weight: 700;
    height: auto;
    line-height: 1.4;
    margin-top: 50px;
    text-align: center;
    width: 80%;
}

/* タイトル部分の横線 */
.horizontal-1,
.horizontal-2,
.horizontal-3,
.block-horizontal {
    background: #EEEEEE;
    height: 3px;
    width: 83%;
    border: none;
}

.horizontal-1 {
    margin-top: 30px;
}

.horizontal-2 {
    margin-top: 50px;
}

.horizontal-3 {
    margin-top: 15px;
}

/* 不要説 */
.intro {
    color: #333;
    font-size: 50px;
    font-weight: 700;
    height: auto;
    line-height: 1.4;
    margin-top: 50px;
    text-align: center;
    width: 80%;
    justify-content: center;
}

/* 情報コンテナ */
.info {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 85%;
    max-width: 85%;
    margin-top: 15px;
    font-size: 14px;
    height: 64px;
    color: #666;
}

/* 情報コンテナ：テキスト */
.info p {
    flex: auto;
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    text-align: center;
    justify-content: center;
    width: 33%;
    max-width: 33%;
    height: auto;
    line-height: 1.4;
}

/* 情報コンテナ：タグ */
.info .volume {
    font-size: 36px;
    pointer-events: none;
}

/* 情報コンテナ：日付 */
.info .date {
    font-size: 32px;
}

/* infoコンテナの縦線 */
.vertical {
    background: #EEEEEE;
    height: 60px;
    margin: 0px;
    width: 3px;
    max-width: 100%;
}

/* エディターにて入力する部分 */
.content {
    position: relative;
    color: #333;
    line-height: 1.7;
    margin-top: 100px;
    padding-top: 100px;
    text-align: left;
    justify-content: flex-start;
    height: auto;
    width: 83%;
    max-width: 83%;
}

/* コンテンツテキスト */
.content p {
    font-family: 'Noto Sans JP', sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
}

/* いいねボタン */
.top-like-btn {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 33%;
    max-width: 33%;
    top: 0;
}

.bottom-like-btn {
    transform: translateX(55px) translateY(-15px);
}

/* 擬似要素で丸い図形を表示 */
.top-like-btn button::before,
.bottom-like-btn button::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 0;
    right: 0;
}

.top-like-btn button.clicked,
.bottom-like-btn button.clicked {
    /* クリック後の枠線色 */
    border-color: #e2264d;
}

.top-like-btn p,
.bottom-like-btn p {
    /*  「腸いいいね！」テキスト */
    font-size: 16px;
}

/* ======================= レスポンシブ対応 ============================= */

@media screen and (max-width: 1280px) {
    .container {
        margin: 60px 80px;
        max-width: calc(100% - 160px);
    }

    .title h1 {
        font-size: 40px;
    }

    .circle {
        height: 40px;
        width: 40px;
        max-width: 100%;
    }

    .sub-title {
        font-size: 14px;
        margin-top: 30px;
    }

    .post-name {
        font-size: 24px;
        margin-top: 30px;
        width: 80%;
    }

    .horizontal-1,
    .horizontal-2,
    .horizontal-3 {
        width: 80%;
    }

    .horizontal-3 {
        margin: 0px;
    }

    .intro {
        font-size: 24px;
        margin-top: 30px;
        width: 80%;
    }

    .info {
        margin: 0px;
        width: 85%;
    }

    .info .volume,
    .info .date {
        font-size: 20px;
    }

    .vertical {
        height: 40px;
        max-width: 100%;
    }

    .content {
        margin-top: 30px;
        padding-top: 70px;
        width: 80%;
    }

    .top-like-btn {
        transform: scale(0.8) translateX(-30px) translateY(-20px);
    }

    .bottom-like-btn {
        transform: scale(0.65) translateX(30px) translateY(-15px);
    }
}

@media screen and (max-width: 840px) {
    .container {
        height: auto;
        margin: 60px auto;
        width: 85%;
        max-width: 85%;
    }

    .title h1 {
        font-size: 28px;
    }

    .circle {
        height: 30px;
        width: 30px;
        max-width: 100%;
    }

    .sub-title {
        margin-top: 30px;
        font-size: 13px;
    }

    .post-name {
        font-size: 14px;
        margin-top: 10px;
        width: 80%;
    }

    .horizontal-1,
    .horizontal-2,
    .horizontal-3 {
        height: 2px;
        width: 80%;
    }

    .horizontal-2 {
        margin-top: 10px;
    }

    .horizontal-3 {
        margin: 0px;
    }

    .intro {
        font-size: 14px;
        margin-top: 10px;
        width: 80%;
    }

    .info {
        margin: 0px;
        height: 40px;
        width: 85%;
    }

    .info .volume,
    .info .date {
        font-size: 13px;
    }

    .vertical {
        height: 30px;
        width: 2px;
        max-width: 100%;
    }

    .content {
        width: 80%;
        padding-top: 55px;
    }

    .content p {
        font-size: 14px;
        line-height: 1.7;
    }

    .top-like-btn {
        transform: scale(0.65) translateX(-50px) translateY(-30px);
    }

    .bottom-like-btn {
        transform: scale(0.8) translateX(35px) translateY(-15px);
    }
}

@media screen and (max-width: 700px) {
    .top-like-btn {
        transform: scale(0.65) translateX(-40px) translateY(-25px);
    }
}

@media screen and (max-width: 550px) {
    .bottom-like-btn {
        transform: scale(0.8) translateX(0px) translateY(15px);
    }
}

@media screen and (max-width: 420px) {
    .container {
        margin: 40px 20px;
        padding-bottom: 30px;
        width: auto;
        max-width: calc(100% - 40px);
    }

    .header {
        padding-top: 15px;
        width: 100%;
    }

    .title {
        height: 37px;
    }

    .title h1 {
        font-size: 24px;
    }

    .circle {
        height: 30px;
        width: 30px;
    }

    .sub-title {
        font-size: 11px;
        font-weight: 400;
        height: 20px;
        margin-top: 20px;
        width: 100%;
    }

    .post-name {
        font-size: 14px;
        margin-top: 7px;
        width: 80%;
    }

    .horizontal-1,
    .horizontal-2,
    .horizontal-3 {
        background: #474f5533;
        height: 1px;
        width: 90%;
    }

    .horizontal-1 {
        margin-top: 20px;
    }

    .horizontal-2 {
        margin-top: 7px;
    }

    .horizontal-3 {
        margin-top: 3px;
    }

    .intro {
        font-size: 14px;
        margin-top: 7px;
        width: 80%;
    }

    .info {
        height: 23px;
        margin-top: 3px;
        width: 85%;
    }

    .info .volume,
    .info .date {
        font-size: 12px;
        width: 50%;
    }

    .vertical {
        background: #474f5533;
        height: 100%;
        width: 1px;
        max-width: 100%;
    }

    .content {
        width: 90%;
        max-width: 90%;
        padding-top: 55px;
    }

    .top-like-btn {
        transform: scale(0.65) translateX(-30px) translateY(-25px);
    }

    .bottom-like-btn {
        transform: scale(0.65) translateX(25px) translateY(18px);
    }
}

@media screen and (max-width: 360px) {
    .container {
        border-radius: 0px;
        height: auto;
    }

    .title {
        align-items: flex-start;
        justify-content: center;
    }

    .title h1 {
        font-size: 21px;
    }

    .post-name {
        font-size: 12px;
        width: 90%;
    }

    .intro {
        font-size: 12px;
        width: 90%;
    }

    .content {
        padding-top: 40px;
    }

    .top-like-btn {
        transform: scale(0.5) translateX(-40px) translateY(-50px);
    }
}