.tamoku-image {
    text-align: center;
    margin: 32px;
}

.tamoku-image img {
    max-width: 100%;
}

.tamoku-image-description {
    font-size: 13px;
    margin-top: 12px;
}

.introduction-text {
    margin: 48px auto;
    width: 90%;
    text-align: left;
    color: black;
}

.image-selection {
    margin: 32px;
}

.media-table {
    width: 90%;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    background: #FBFBF2;
    box-shadow: 2px 4px 6px rgba(0, 0, 0, 0.1);
    margin: 32px;
}

.media-table.pattern-sp {
    display: none;
}

.media-table-header {
    background: #71A370;
    border-radius: 12px;
    padding: 12px;
    color: white;
    text-align: center;
}

.media-table-header .header-main {
    margin: 4px;
    font-size: 1.3rem;
}

.media-table-header .header-sub {
    margin: 4px;
}

.media-table-row {
    display: flex;
    padding: 32px;
    border-bottom: dotted 1px #D8D8D8;
}

.media-table-row:last-child {
    border-bottom: none;
}

.contents-set {
    display: flex;
    flex: 1;
}

.contents-set .comment {
    margin-top: 16px;
    flex: 1;
}

.contents-set {
    display: flex;
    flex: 1;
    align-items: center;
}

.pattern-c .contents-set,
.pattern-d .contents-set {
    display: block;
    text-align: center;
}

.pattern-d .contents-set .comment {
    margin-top: 16px;
}

.pattern-d .contents-set .comment {
    margin-bottom: 16px;
}

.contents-set .media {
    display: flex;
    margin: 0px 16px;
    flex: 1;
    justify-content: center;
}

.contents-set .media2 {
    margin: 0px 16px;
    flex: 1;
    justify-content: center;
}

.contents-set .media2 img {
    width: 100%;
    height: auto;
    object-fit: scale-down;
    border-radius: 50%;
    border: 5px solid pink;
}

.contents-set .media2 p {
    text-align: center;
}

.contents-set img {
    width: 100%;
    height: auto;
    object-fit: scale-down;
}

.button-wrapper {
    text-align: center;
    margin-top: 64px;
    margin-bottom: 64px;
}

.no-image-text {
    text-align: center;
    margin: 128px 0px;
}

.iframe-container {
    width: 90%;
    margin: 0 auto;
    margin-top: 32px;
    margin-bottom: 32px;
}

iframe {
    width: 100%;
    height: 450px;
}

@media screen and (max-width: 768px) {
    .tamoku-image {
        margin-left: 0px;
        margin-right: 0px;
    }

    .introduction-text {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
    }

    .media-table {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
    }

    .media-table.pattern-a,
    .media-table.pattern-b,
    .media-table.pattern-c,
    .media-table.pattern-d {
        display: none;
    }

    .media-table.pattern-sp {
        display: block;
    }

    .media-table.pattern-sp .media-table-row {
        display: block;
        padding: 24px 16px;
    }

    .media-table.pattern-sp .comment {
        text-align: center;
        margin: 8px 0px;
    }

    .iframe-container {
        width: 100%;
    }

    .media-table-row .comment:last-child {
        margin-bottom: 0px;
    }

    .contents-set .media {
        margin: 16px;
    }
}

@media (orientation: portrait) {
    .tamoku-image {
        margin-left: 0px;
        margin-right: 0px;
    }

    .introduction-text {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
    }

    .media-table {
        width: 100%;
        margin-left: 0px;
        margin-right: 0px;
    }

    .media-table.pattern-a,
    .media-table.pattern-b,
    .media-table.pattern-c,
    .media-table.pattern-d {
        display: none;
    }

    .media-table.pattern-sp {
        display: block;
    }

    .media-table.pattern-sp .media-table-row {
        display: block;
        padding: 24px 16px;
    }

    .media-table.pattern-sp .comment {
        text-align: center;
        margin: 8px 0px;
    }

    .iframe-container {
        width: 100%;
    }

    .media-table-row .comment:last-child {
        margin-bottom: 0px;
    }

    .contents-set .media {
        margin: 16px;
    }
}