/* Base styles */
:root {
    scroll-behavior: smooth;
    scroll-padding-block-start: .32rem;
}

.is-mobile-tablet body {
    background-color: #4b1e78;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, メイリオ, "Droid Sans", sans-serif;
}

.is-desktop img {
    height: auto;
}

.is-mobile-tablet .container {
    background-color: #fff;
}

div.container {
    overflow: clip;
}

.section-topics-detail.section-scene-post {
    color: #333;
    font-variant-east-asian: proportional-width;
    line-break: strict;
    text-autospace: normal;
}

.is-mobile-tablet .section-topics-detail div.topics-text>div:first-of-type {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.is-mobile-tablet .section-topics-detail div.topics-text>div:first-of-type>div:first-of-type {
    font-size: unset !important;
}

.is-mobile-tablet .section-topics-detail .sns[data-v-0219b7cb] {
    margin: .8rem .24rem .24rem;
    border-radius: .5rem;
    padding: .16rem;
    width: calc(100% - .48rem) !important;
    display: flex;
    align-items: stretch;
}

div.sns div[data-v-0219b7cb] {
    color: #7d7d7d;
    align-items: center;
    gap: .05rem;
    margin: 0;
}

div.sns ul li[data-v-0219b7cb] {
    margin: 0;
    padding-inline: .5em;
}

.is-desktop .section-topics-detail div.wrapper {
    /* padding-inline: 0; */
    width: 100%;
    max-width: 1400px;
}

.is-desktop .section-topics-detail div.box-common {
    padding: 0;
}

.is-desktop .section-topics-detail h1.common-title {
    font-size: .24rem;
    /* margin-block: 1.5em 1em; */
    color: #222;
}


.is-mobile-tablet .section-topics-detail div.topics-content {
    box-shadow: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
}

.is-desktop .section-topics-detail div.topics-photo img {
    width: 100%;
}

.is-desktop .section-topics-detail div.topics-photo {
    /* -webkit-margin-after: 0;
    margin-block-end: 0; */
    margin-block: .24rem;
}


/* Unique styles */
.is-mobile-tablet .section-topics-detail div.topics-photo {
    margin-bottom: 0;
}

.is-mobile-tablet .section-topics-detail div.topics-text {
    background-image: url(https://www.print-gakufu.com/assets/images/upload/upload_6252_1.jpg);
    background-size: cover;
    background-attachment: fixed;
    width: 100%;
    min-height: 100vh;
    padding-inline: .16rem;
    background-color: #555;
    background-blend-mode: screen;
}

.is-mobile-tablet .section-topics-detail div.topics-text>div.contents-wrapper {
    background-color: rgba(255, 255, 255, .8);
    padding: .64rem .16rem !important;
    font-size: .16rem;
}

.contents-wrapper>*+* {
    -webkit-margin-before: .64rem;
    margin-block-start: .64rem;
}

[class^="introduction"]>p+p {
    -webkit-margin-before: 1em;
    margin-block-start: 1em;
}

[class^="introduction"] .blank-2em {
    -webkit-margin-before: 2em;
    margin-block-start: 2em;
}

.introduction-2 {
    width: calc(100% + .32rem);
    -webkit-margin-start: -.16rem;
    margin-inline-start: -.16rem;
    background: rgba(102, 51, 204, .75);
    padding-inline: .16rem;
    color: #fff;
    text-align: center;
    font-weight: 500;
    padding-block: 2lh;
}

.introduction-2 em {
    background-image: linear-gradient(to top, #6633cc 50%, transparent 50%);
}

.introduction-2__period {
    position: relative;
    -webkit-margin-before: 2lh;
    margin-block-start: 2lh;
    color: #6633cc;
}

.introduction-2__period__heading {
    background-color: #6633cc;
    color: #fff;
    padding: .5em 1em;
    text-box-trim: trim-both;
    border-radius: 5px;
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 50%;
    white-space: nowrap;
    transform: translate(-50%, -50%);
}

.introduction-2__period__main {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    background-color: #fff;
    padding: .24rem .16rem;
    border-radius: 5px;
    -webkit-margin-before: calc(1lh + 1em);
    margin-block-start: calc(1lh + 1em);
    letter-spacing: .05em;
    line-height: 1.5;
    box-shadow: 6px 6px #6633cc;
}

.introduction-2__period__main time {
    display: inline-block;
    font-family: Helvetica, Arial, Noto Sans JP, sans-serif;
    font-size: 1.5em;
    font-weight: bold;
}

.period__year {
    font-size: .75em;
}

.period__date {
    font-size: .6em;
    vertical-align: middle;
}

.contents__heading {
    font-size: .18rem;
    font-weight: bold;
    color: color-mix(in srgb, #6633cc, #fff 10%);
    -webkit-margin-after: .08rem;
    margin-block-end: .08rem;
}

.contents__heading--note {
    color: #dd316f;
}

.emoji {
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Android Emoji", sans-serif;
}

.note p {
    -webkit-padding-start: 1em;
    padding-inline-start: 1em;
    text-indent: -1em;
}

.note p::before {
    content: "";
    width: .5em;
    height: .5em;
    -webkit-clip-path: circle();
    clip-path: circle();
    background-color: #dd316f;
    display: inline-block;
    margin-inline: .25em;
}

.note p b {
    font-weight: bold;
    color: color-mix(in srgb, #dd316f, #fff 10%);
}

.official-links {
    -webkit-margin-before: 2em;
    margin-block-start: 2em;
    display: flex;
    flex-wrap: wrap;
    gap: .24rem;
    justify-content: space-evenly;
    -webkit-padding-after: .05rem;
    padding-block-end: .05rem;
}

.official-links__heading {
    font-weight: bold;
    color: color-mix(in srgb, #6633cc, #fff 10%);
}

:is(.official-links__x, .official-links__instagram) img {
    width: .44rem;
    height: auto;
}

.official-links__mailnews {
    width: 100%;
    text-align: center;
    padding-block: .5em;
    border-radius: .05rem;
    background-color: #7b47d2;
    color: #fff;
    box-shadow: 0 .05rem #5e2fab;
}

/* enquete */
.is-mobile-tablet .enquete {
    aspect-ratio: 9/20;
    overflow-x: hidden;
}

.is-mobile-tablet .section-scene-post .topics-text .enquete iframe {
    height: 100%;
    width: 100%;
    min-width: 324px;
}

/* PC */
.is-desktop .section-topics-detail.section-scene-post {
    background-image: url(https://www.print-gakufu.com/assets/images/upload/upload_6324_1.jpg);
    background-attachment: fixed;
    background-size: cover;
    font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, メイリオ, "Droid Sans", sans-serif;
    font-weight: 500;
    color: #505050;
}

.is-desktop .section-topics-detail div.wrapper {
    max-width: 800px;
    background-color: rgba(255, 255, 255, .9);
    padding-inline: .32rem;
}

.is-desktop .section-topics-detail h1.common-title {
    -webkit-padding-before: 1em;
    padding-block-start: 1em;
}

.is-desktop .section-topics-detail div.topics-photo img {
    border-radius: .3rem;
}

.is-desktop .section-topics-detail div.topics-text {
    font-size: .16rem;
}

.is-desktop .introduction {
    -webkit-margin-before: .64rem;
    margin-block-start: .64rem;
}

.is-desktop [class^="introduction"]>p+p {
    -webkit-margin-before: .5lh;
    margin-block-start: .5lh;
}

.is-desktop [class^="introduction"] .blank-2em {
    -webkit-margin-before: 1lh;
    margin-block-start: 1lh;
}

.is-desktop .official-links__mailnews {
    width: 400px;
}

.is-desktop .official-links {
    -webkit-margin-before: .48rem;
    margin-block-start: .48rem;
    position: relative;
}

@media(any-hover: hover) {
    .is-desktop .official-links a {
        transition-duration: .15s;
    }

    .official-links>a:hover {
        translate: 0 .05rem;
    }

    .official-links__mailnews:hover {
        box-shadow: none;
    }
}

.is-desktop .introduction-2 {
    font-size: 1.2em;
    width: calc(100% + .64rem);
    -webkit-margin-start: -.32rem;
    margin-inline-start: -.32rem;
    padding-block: calc(2lh + 64px);
    -webkit-clip-path: url(#waveClip);
    clip-path: url(#waveClip);
}

.is-desktop .introduction-2__period__main {
    -webkit-padding-after: .75em;
    padding-block-end: .75em;
}

.is-desktop .enquete {
    height: 678px;
}

.is-desktop .enquete iframe {
    height: 100%;
    border-radius: 5px;
}

.is-desktop .section-topics-detail div.sns[data-v-0219b7cb] {
    margin-block: 1.2rem 0;
    width: 100%;
    border-width: 1px 0 0 0;
    border-radius: 0;
    -webkit-padding-before: 2em;
    padding-block-start: 2em;
    display: flex;
    gap: 1em;
    justify-content: center;
}