@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@700&display=swap');
@font-face {
    font-family: 'KristallLLWeb-Medium';
    src: url('/assets/font/KristallLLWeb-Medium.woff') format('woff');
    src: url('/assets/font/KristallLLWeb-Medium.woff2') format('woff2');
    font-weight: 700;
}
@keyframes blink {
    0%, 80% {
        opacity: 1;
    }
    100% {
        opacity: 0.5;
    }
}

/* ==================================================
common
================================================== */
html, body {
	width: 100%;
    height: 100%;
    color: #000000;
}
body {
    font-family: 'KristallLLWeb-Medium', 'Zen Kaku Gothic Antique', sans-serif;
    line-height: 1.5;
    background: #AF730F;
}
body.popup-open,
body.menu-open {
    overflow: hidden;
}
.hidden {
    opacity: 0;
    visibility: hidden;
}

/* PC */
@media screen and (min-width: 768px) , print {
    html, body {
        font-size: 1.388vw;
    }
    .hidden-pc,
    .display-sp,
    .br-sp {
        display: none !important;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    html, body {
        font-size: 3.733vw;
    }
    .hidden-sp,
    .display-pc,
    .br-pc {
        display: none !important;
    }
}
/* --------------------------------------------------
font, text
-------------------------------------------------- */
dl dt {
    font-weight: normal;
}
sup, sub {
    font-size: 0.555rem;
}
.lan-en {
    letter-spacing: 0.03em;
}
.emoji {
    font-family: "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", sans-serif;
}
img.emoji, .twemoji, img.wp-smiley {
    width: 1em !important;
    height: 1em !important;
    max-width: none !important;
    max-height: none !important;
    display: inline-block;
    vertical-align: -0.125em;
}
.small {
    font-size: 0.8em;
}
.kome-list li {
    text-indent: -1em;
    margin-left: 1em;
    margin-top: 0.25em;
}
.kome-list li:first-child {
    margin-top: 0;
}
/* --------------------------------------------------
link, btn
-------------------------------------------------- */
a {
    cursor: pointer;
    text-underline-offset: 0.25em;
}
a .hover-line {
    text-decoration: underline;
}
.link-arrow .link-arrow-txt {
    padding-right: 0.125em;
}
.link-arrow::after {
    content: '';
    display: inline-block;
    width: 0.8em;
    height: 0.8em;
    background-image: url(/assets/img/icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.link-txt-list {
    margin-top: 1rem;
}
.link-txt a .link-arrow-txt {
    text-decoration: underline;
}
.link-btn-list {
    margin-top: 2rem;
}
.link-btn a {
    display: inline-block;
    font-size: 0.9em;
    color: #FFFFFF;
    padding: 0.9em 1.75em;
    background-color: #000000;
    border-radius: 3em;
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.link-btn a:hover {
    transform: scale(1.1);
}
.link-btn a .link-arrow::after {
    background-image: url(/assets/img/icon_arrow_white.svg);
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    a:hover .hover-line,
    .link-txt a:hover .link-arrow-txt {
        text-decoration: none;
    }
}
/* --------------------------------------------------
img
-------------------------------------------------- */
img {
    width: 100%;
    height: auto;
}
/* --------------------------------------------------
w
-------------------------------------------------- */
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .w01 {
    padding: 0 3.5rem;
    }
    .w02 {
        padding: 0 9rem;
    }
    .w03 {
        padding: 0 11rem;
    }
    .w04 {
        padding: 0 15rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .w01 {
        padding: 0 2.666vw;
    }
    .w02, .w03, .w04 {
        padding: 0 5.333vw;
    }
}
/* --------------------------------------------------
box
-------------------------------------------------- */
.w04 .box {
    font-size: 0.9em;
}
.box-bg-beige {
    background: #E1CDB4;
}
.box-bg-random {
    background-color: #F0E8D9;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .w01 .box {
        padding: 5rem;
        border-radius: 6rem;
    }
    .w02 .box,
    .w03 .box {
        padding: 4.5rem;
        border-radius: 4.5rem;
    }
    .w04 .box {
        padding: 3.5rem 4.5rem;
        border-radius: 3.75rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .w01 .box,
    .w02 .box,
    .w03 .box,
    .w04 .box {
        padding: 10.666vw 8vw;
        border-radius: 10.666vw;
    }
}
/* --------------------------------------------------
word
-------------------------------------------------- */
.word-bg-random .line {
    background-color: #EDFFBE;
}
/* --------------------------------------------------
txt-wrap
-------------------------------------------------- */
.txt-wrap h4,
.txt-wrap h5 {
    line-height: 1.75;
    color: #5A230F;
    margin-bottom: 1em;
}
.txt-wrap *:first-child {
    margin-top: 0;
}
.txt-wrap p {
    line-height: 2;
    text-align: justify;
    margin-top: 1em;
}
.txt-wrap small {
    display: block;
    margin-top: 0.5em;
}
.txt-wrap a {
    text-decoration: underline;
}
.txt-wrap a:hover {
    text-decoration: none;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .txt-wrap h4 {
        font-size: 1.5em;
    }
    .txt-wrap h5 {
        font-size: 1.25em;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .txt-wrap h4 {
        font-size: 1.125em;
    }
    .txt-wrap h5 {
        font-size: 1.111em;
    }
}
/* --------------------------------------------------
editor-wrap
-------------------------------------------------- */
.editor-wrap *:first-child {
    margin-top: 0 !important;
}
.editor-wrap *:last-child {
    margin-bottom: 0 !important;
}
.editor-wrap p {
    line-height: 2;
}
.editor-wrap a {
    text-decoration: underline;
}
.editor-wrap a:hover {
    text-decoration: none;
}
.editor-wrap h1,
.editor-wrap h2 {
    line-height: 1.75;
    color: #5A230F;
    margin-top: 2em;
}
.editor-wrap h1::before,
.editor-wrap h2::before {
    content: '\1F534';
    font-family: "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", sans-serif;
    margin-right: 0.25em;
}
.editor-wrap h3 {
    line-height: 1.75;
    color: #5A230F;
}
.editor-wrap h4,
.editor-wrap h5,
.editor-wrap h6 {
    line-height: 1.75;
    color: #5A230F;
}
.editor-wrap small {
    display: block;
    line-height: 1.75;
}
.editor-wrap blockquote {
    font-size: 0.9rem;
    padding: 1.5em;
    background-color: #FFFFFF;
    border-radius: 1.5em;
}
.editor-wrap blockquote p {
    line-height: 1.75;
}
.editor-wrap blockquote cite {
    display: block;
    font-size: 11px;
    margin-top: 1em;
    color: #5A230F;
    font-style: normal;
}
.editor-wrap ol,
.editor-wrap ul {
    font-size: 0.9em;
}
.editor-wrap ol li,
.editor-wrap ul li {
    line-height: 1.75;
    margin-top: 0.5em;
}
.editor-wrap ul {
    list-style: disc;
    margin-left: 1em;
}
.editor-wrap ol {
    list-style: decimal;
    margin-left: 1.5em;
}
.editor-wrap .dl-wrap * {
    margin-top: 0;
}
.editor-wrap .dl-wrap dl {
    display: flex;
    font-size: 0.9rem;
    line-height: 1.75;
    border-top: rgba(0, 0, 0, 0.15) 1px solid;
}
.editor-wrap .dl-wrap dl:first-child {
    padding-top: 0;
    border: none;
}
.editor-wrap .dl-wrap dl:last-child {
    padding-bottom: 0;
}
.editor-wrap .dl-wrap dt {
    padding-right: 1em;
    color: #5A230F;
}
.editor-wrap .dl-wrap dt .emoji {
    margin-right: 0.25em;
}
.editor-wrap .dl-wrap dd p {
    line-height: 1.75;
}
.editor-wrap .dl-wrap small {
    margin-top: 0.5em;
}
.editor-wrap figure figcaption {
    text-align: center;
    margin-top: 1em;
}
.editor-wrap .editor-img-l img,
.editor-wrap .editor-img-s img {
    border-radius: 0.5rem;
}
.editor-wrap .editor-img-s {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}
.editor-wrap .editor-embed-wrap iframe {
    border-radius: 0.5rem;
    overflow: hidden;
}
.editor-wrap .editor-video iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}
.editor-wrap .editor-sound {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .editor-wrap * {
        margin-top: 2rem;
    }
    .editor-wrap h1,
    .editor-wrap h2 {
        font-size: 1.5em;
        margin-bottom: -0.5rem;
    }
    .editor-wrap h3 {
        font-size: 1.25em;
        margin-bottom: -1rem;
    }
    .editor-wrap h4,
    .editor-wrap h5,
    .editor-wrap h6 {
        font-size: 1.111em;
        margin-bottom: -1.5rem;
    }
    .editor-wrap small {
        font-size: 11px;
    }
    .editor-wrap .dl-wrap dl {
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        padding: 1.5rem 0;
    }
    .editor-wrap .dl-wrap dt {
        width: 20%;
    }
    .editor-wrap .dl-wrap dd {
        width: 80%;
    }
    .editor-wrap .editor-img-l,
    .editor-wrap .editor-img-m,
    .editor-wrap .editor-img-s,
    .editor-wrap .editor-embed-wrap {
        margin-top: 3rem;
        margin-bottom: 3rem;
    }
    .editor-wrap .editor-img-l {
        margin-left: -7.5rem;
        margin-right: -7.5rem;
    }
    .editor-wrap .editor-img-l figcaption {
        margin-left: 7.5rem;
        margin-right: 7.5rem;
    }
    .editor-wrap .editor-img-m {
        margin-left: -4.5rem;
        margin-right: -4.5rem;
    }
    .editor-wrap .editor-img-m figcaption {
        margin-left: 4.5rem;
        margin-right: 4.5rem;
    }
    .editor-wrap figure figcaption {
        font-size: 11px;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .editor-wrap * {
        margin-top: 5.333vw;
    }
    .editor-wrap h1,
    .editor-wrap h2 {
        font-size: 4.8vw;
        margin-bottom: -1.333vw;
    }
    .editor-wrap h3 {
        font-size: 4.266vw;
        margin-bottom: -2.666vw;
    }
    .editor-wrap h4,
    .editor-wrap h5,
    .editor-wrap h6 {
        margin-bottom: -4vw;
    }
    .editor-wrap small {
        font-size: 10px;
    }
    .editor-wrap blockquote {
        margin-left: -2.666vw;
        margin-right: -2.666vw;
    }
    .editor-wrap .dl-wrap dl {
        flex-direction: column;
        margin: 0 -2.666vw;
        padding-top: 4vw;
        padding-bottom: 4vw;
    }
    .editor-wrap .dl-wrap dt {
        margin-bottom: 0.5em;
    }
    .editor-wrap .dl-wrap dt,
    .editor-wrap .dl-wrap dd {
        padding: 0 2.666vw;
    }
    .editor-wrap .editor-img-l,
    .editor-wrap .editor-img-m,
    .editor-wrap .editor-img-s,
    .editor-wrap .editor-embed-wrap {
        margin-top: 8vw;
        margin-bottom: 8vw;
    }
    .editor-wrap .editor-img-l,
    .editor-wrap .editor-img-m,
    .editor-wrap .editor-video {
        margin-left: -8vw;
        margin-right: -8vw;
    }
    .editor-wrap .editor-img-l figcaption,
    .editor-wrap .editor-img-m figcaption {
        margin-left: 8vw;
        margin-right: 8vw;
    }
    .editor-wrap .editor-img-l img,
    .editor-wrap .editor-embed-wrap iframe {
        border-radius: 0;
    }
    .editor-wrap figure figcaption {
        font-size: 10px;
    }
}

/* --------------------------------------------------
g-nav
-------------------------------------------------- */
.g-nav-wrap {
    font-size: 1rem;
}
.g-nav {
    margin-bottom: 1.5em;
}
.g-nav .lan-ja,
.g-nav .lan-en {
    display: block;
}
.g-nav .lan-ja {
    font-size: 1.5em;
}
.g-nav .lan-en {
    font-size: 1em;
    text-transform: uppercase;
    color: #FFFFFF;
    margin-top: 0.125em;
}
.g-subnav {
    font-size: 1em;
    margin-top: -1em;
    margin-bottom: 2em;
    color: #5A230F;
}
.g-subnav .link-arrow::after {
    background-image: url(/assets/img/icon_arrow_brown.svg);
}
/* SP */
@media screen and (max-width: 767px) {
    .g-nav,
    .g-subnav {
        text-align: center;
    }
}

/* --------------------------------------------------
sns-nav
-------------------------------------------------- */
.sns-nav-list {
    display: flex;
    flex-wrap: wrap;
}
.sns-nav a {
    display: block;
    text-indent: -9999%;
    background-color: #000000;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 60%;
    border-radius: 50%;
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.sns-nav a:hover {
    transform: scale(1.1);
}
.sns-nav-ig a {
    background-image: url(/assets/img/icon_ig.svg);
}
.sns-nav-fb a {
    background-image: url(/assets/img/icon_fb.svg);
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .sns-nav-list {
        margin: 0 -0.25rem;
    }
    .sns-nav {
        padding: 0 0.25rem;
    }
    .sns-nav a {
        width: 2rem;
        height: 2rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .sns-nav-list {
        justify-content: center;
        margin: 0 -0.5rem;
    }
    .sns-nav {
        padding: 0 0.5rem;
    }
    .sns-nav a {
        width: 2.5rem;
        height: 2.5rem;
    }
}
/* --------------------------------------------------
swiper reset
-------------------------------------------------- */
.swiper-pagination {
    line-height: 1;
    bottom: 0;
}
.swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    margin-left: 0.25em;
    margin-right: 0.25em;
    background-color: #FFFFFF;
    border: #5A230F 1px solid;
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background-color: #5A230F;
}
.swiper-button-prev:after,
.swiper-button-next::after {
    position: absolute;
    top: 50%;
    content: '';
    display: inline-block;
    white-space: nowrap;
    width: 0.5em;
    height: 0.5em;
    border-top: #5A230F 3px solid;
    border-right: #5A230F 3px solid;
    transform-origin: top;
}
.swiper-button-prev:after {
    left: 0;
    transform: rotate(-135deg) translateY(-50%);
}
.swiper-button-next::after {
    right: 0;
    transform: rotate(45deg) translateY(-50%);
}

/* ==================================================
header
================================================== */
.menu-sticker-list {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    z-index: -1;
    pointer-events: none;
}
.menu-sticker-list li img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .menu-sticker-list li {
        width: 25%;
        height: 33.333%;
        padding: 5.333vw;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .menu-sticker-list li {
        width: 33.333%;
        height: 25%;
        padding: 8vw;
    }
}
/* --------------------------------------------------
header-bar
-------------------------------------------------- */
#header-bar .site-ttl a,
#menu-btn {
    position: fixed;
    z-index: 100;
}
#header-bar .site-ttl a {
    display: block;
    text-indent: -9999%;
    background-image: url(/assets/img/logo_sitettl.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    overflow: hidden;
}
#menu-btn {
    color: #FFFFFF;
    background-color: #000000;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
#menu-btn:hover {
    transform: scale(1.1);
}
#menu-btn .btn-icon {
    position: relative;
    display: block;
    width: 1rem;
    height: 1rem;
    margin: 0 auto;
}
#menu-btn .btn-icon span {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
    transition: all 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
#menu-btn .btn-icon span:first-child {
    top: 0;
}
#menu-btn .btn-icon span:nth-child(2){
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
#menu-btn .btn-icon span:last-child {
    bottom: 0;
}
body.menu-open #menu-btn .btn-icon span:first-child,
body.menu-open #menu-btn .btn-icon span:last-child {
    top: 50%;
    width: 140%;
    margin-left: -20%;
}
body.menu-open #menu-btn .btn-icon span:first-child {
    transform: rotate(45deg);
}
body.menu-open #menu-btn .btn-icon span:last-child {
    transform: rotate(-45deg);
}
body.menu-open #menu-btn .btn-icon span:nth-child(2){
    opacity: 0;
}
#menu-btn .btn-txt {
    display: block;
    font-size: 0.55rem;
    text-align: center;
    text-transform: uppercase;
    margin-top: 0.6em;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #header-bar .site-ttl a {
        width: 9.5rem;
        height: 5rem;
    }
    #menu-btn {
        width: 4.5rem;
        height: 4.5rem;
    }
    #header-bar .site-ttl a,
    #menu-btn {
        top: 0.75rem;
    }
    #header-bar .site-ttl a {
        left: 1rem;
    }
    #menu-btn {
        right: 1rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #header-bar .site-ttl a {
        width: 50%;
        height: 14vw;
        margin: 0.5vw 0;
    }
    #menu-btn {
        width: 15vw;
        height: 15vw;
    }
    #header-bar .site-ttl a,
    #menu-btn {
        top: 2.666vw;
    }
    #header-bar .site-ttl a {
        left: 2.666vw;
    }
    #menu-btn {
        right: 2.666vw;
    }
}
/* --------------------------------------------------
menu
-------------------------------------------------- */
#menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    background-image: url(/assets/img/menu_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: all 0.3s ease-out;
}
body.menu-open #menu {
    opacity: 1;
    visibility: visible;
}
body.menu-close #menu {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
#menu .menu-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
#menu .menu-nav-wrap {
    background-color: #E1CDB4;
    filter: drop-shadow(0px 0.25rem 0.5rem rgba(85, 45, 30, 0.3));
}
#menu .g-nav-wrap {
    font-size: 0.9rem;
}
#menu .g-nav,
#menu .g-subnav {
    text-align: center;
}
#menu .sns-nav-list {
    justify-content: center;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #menu .menu-nav-wrap {
        width: 25rem;
        padding: 4.5rem;
        border-radius: 5rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #menu .menu-nav-wrap {
        padding: 12vw;
        border-radius: 10.666vw;
    }
}

/* ==================================================
loading
================================================== */
#loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #AF730F;
    z-index: 999;
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.39,0.57,0.56,1);
}
#loading .loading-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
#loading .loading-inner img {
    object-fit: contain;
}
#load-wrap .body-sticker {
    position: fixed;
    object-fit: contain;
    z-index: -999;
    transition: opacity 0.5s cubic-bezier(0.39,0.57,0.56,1);
    pointer-events: none;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #loading .loading-inner img {
        width: 12vw;
        height: 12vw;
    }
    #load-wrap .body-sticker {
        width: 18vw;
        height: 18vw;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #loading .loading-inner img {
        width: 33vw;
        height: 33vw;
    }
    #load-wrap .body-sticker {
        width: 33vw;
        height: 33vw;
    }
}

/* ==================================================
footer
================================================== */
#footer {
    background-color: #E1CDB4;
    margin-top: 6rem;
    padding: 3rem 0;
}
/* --------------------------------------------------
footer-programs-slide
-------------------------------------------------- */
#footer-programs-slide {
    margin-bottom: 3rem;
}
/* --------------------------------------------------
footer-inner
-------------------------------------------------- */
#footer .footer-inner {
    display: flex;
}
#footer .footer-info-wrap .footer-info-cont {
    margin-top: 3rem;
}
#footer .footer-info-wrap .footer-info-cont:first-child {
    margin-top: 0;
}
#footer .footer-info-ttl {
    color: #5A230F;
    margin-bottom: 0.75em;
}
#footer .footer-info-ttl::before {
    content: '\1F534';
    font-family: "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", sans-serif;
    margin-right: 0.25em;
}
#footer .footer-info-cont-body {
    font-size: 0.9rem;
}
#footer .footer-info-cont-body .txt-wrap p {
    line-height: 1.75;
}
#footer .footer-info-cont-body .link-btn-list {
    margin-top: 1rem;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #footer .footer-inner {
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
        margin: 0 -1rem;
    }
    #footer .footer-inner .footer-nav-wrap,
    #footer .footer-inner .footer-info-wrap {
        width: 50%;
        padding: 0 1rem;
    }
    #footer .g-nav-home .lan-ja {
        margin-left: -0.125em;
    }
    #footer .footer-info-ttl {
        font-size: 1.1em;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #footer .footer-inner {
        flex-direction: column;
    }
    #footer .footer-inner .footer-info-wrap {
        padding: 0 2.666vw;
        margin-top: 3rem;
    }
    #footer .footer-info-ttl {
        font-size: 4.8vw;
        text-align: center;
    }
    #footer .footer-info-ttl::after {
        content: '\1F534';
        font-family: "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", sans-serif;
        margin-left: 0.25em;
    }
    #footer .footer-info-cont-body .link-btn-list {
        text-align: center;
    }
    #footer .footer-contact .txt-wrap p {
        text-align: center;
    }
}
/* --------------------------------------------------
footer-credit-wrap
-------------------------------------------------- */
#footer .footer-credit-wrap {
    margin-top: 4.5rem;
}
#footer .footer-credit,
#footer .footer-copy {
    display: block;
    text-align: center;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #footer .footer-credit,
    #footer .footer-copy {
        font-size: 11px;
    }
    #footer .footer-copy {
        margin-top: 0.5em;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #footer .footer-credit,
    #footer .footer-copy {
        font-size: 10px;
    }
    #footer .footer-copy {
        margin-top: 1em;
    }
}

/* ==================================================
comp
================================================== */
.comp-tag a {
    display: block;
    transition: filter 0.3s cubic-bezier(0.39,0.57,0.56,1);
    filter: drop-shadow(0px 0.125rem 0.25rem rgba(0, 0, 0, 0.15));
    transform: translateZ(0);
    will-change: filter;
}
.comp-program-march a img,
.comp-program a .comp-img img,
.comp-profile,
.comp-word a,
.comp-sound a,
.comp-archive .comp-img a,
.comp-archive .comp-video a,
.comp-archiveimg a .comp-img img,
.comp-archiveimg .comp-word a,
.comp-archive-mini a,
.comp-news a {
    display: block;
    transition: filter 0.3s cubic-bezier(0.39,0.57,0.56,1);
    filter: drop-shadow(0px 0.25rem 0.5rem rgba(0, 0, 0, 0.3));
    transform: translateZ(0);
    will-change: filter;
}
.comp-tag a:hover,
.comp-program-march a:hover img,
.comp-program a:hover .comp-img img,
.comp-profile:hover,
.comp-word a:hover,
.comp-sound a:hover,
.comp-archive .comp-img a:hover,
.comp-archive .comp-video a:hover,
.comp-archiveimg a:hover .comp-img img,
.comp-archive-mini a:hover,
.comp-news a:hover {
    filter: none;
}
/* --------------------------------------------------
comp-line-list
-------------------------------------------------- */
.comp-line-list {
    display: flex;
    font-size: 0.9rem;
    line-height: 1.75;
    border-bottom: rgba(0, 0, 0, 0.15) 1px solid;
}
.comp-line-list-wrap .comp-line-list:last-child {
    border-bottom: none;
}
.comp-line-list dt {
    color: #5A230F;
}
.comp-line-list dt .emoji {
    margin-right: 0.25em;
}
.comp-line-list dd {
    line-height: 1.75;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-line-list-wrap {
        margin: -1.5rem 0;
    }
    .comp-line-list {
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: space-between;
        margin: 0 -0.5rem;
    }
    .comp-line-list dt,
    .comp-line-list dd {
        padding: 1.5rem 0.5rem;
    }
    .comp-line-list dt {
        width: 10em;
    }
    .comp-line-list dd {
        flex: 1;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-line-list-wrap {
        margin: -4vw 0;
    }
    .comp-line-list {
        flex-direction: column;
        margin: 0 -2.666vw;
        padding-top: 4vw;
        padding-bottom: 5.333vw;
    }
    .comp-line-list dt,
    .comp-line-list dd {
        padding: 0 2.666vw;
    }
    .comp-line-list dt {
        margin-bottom: 0.5em;
    }
}
/* --------------------------------------------------
comp-tag
-------------------------------------------------- */
.comp-tag-list {
    font-size: 0.8em;
    line-height: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    margin: -0.25em;
}
.comp-tag {
    padding: 0.25em;
}
.comp-tag span {
    display: block;
    padding: 0.75em 1em;
    background-color: #FFFFFF;
    border-radius: 2em;
}
/* --------------------------------------------------
comp-cat
-------------------------------------------------- */
.comp-cat-list {
    font-size: 0.75rem;
    line-height: 1;
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    margin: 0 -0.125em 1rem;
}
.comp-cat {
    padding: 0 0.125em;
}
.comp-cat span {
    display: block;
    padding: 0.5em 0.75em 0.4em;
    background-color: #EDFFBE;
    border-radius: 2em;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-cat span {
        border: #000000 2px solid;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-cat span {
        border: #000000 1px solid;
    }
}
/* --------------------------------------------------
comp-kanban
-------------------------------------------------- */
.comp-kanban-date-wrap {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: center;
    font-size: 1rem;
}
.comp-kanban-date-wrap .comp-kanban-date {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}
.comp-kanban-date-wrap .comp-kanban-date img {
    width: auto;
}
.comp-kanban-date-wrap .comp-kanban-date .slash {
    width: auto;
    height: auto;
    aspect-ratio: 4/7;
    display: block;
    text-indent: -9999%;
    margin: 0 -0.375em;
    background-image: url(/assets/img/num_slash.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    overflow: hidden;
}
.comp-kanban-date-wrap .comp-week {
    text-transform: uppercase;
    color: #5A230F;
    margin-left: 0.25em;
}
.comp-kanban-date-wrap .comp-week.week-sat {
    color: #3778CD;
}
.comp-kanban-date-wrap .comp-week.week-sun {
    color: #D74B23;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-kanban-date-wrap .comp-kanban-date .num {
        margin: 0 0.125em;
    }
    .comp-kanban-date-wrap .comp-kanban-date img {
        height: 7em;
    }
    .comp-kanban-date-wrap .comp-kanban-date .slash {
        height: 9em;
    }
    .comp-kanban-date-wrap .comp-week {
        font-size: 2em;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-kanban-date-wrap .comp-kanban-date img {
        height: 16vw;
    }
    .comp-kanban-date-wrap .comp-kanban-date .slash {
        height: 20vw;
    }
    .comp-kanban-date-wrap .comp-week {
        font-size: 1.5em;
    }
}
/* --------------------------------------------------
comp-word
-------------------------------------------------- */
.comp-word .comp-inner {
    display: block;
    margin: 0.5em 0;
}
.comp-word .comp-inner .line {
    display: inline-block;
    padding: 0.75em 1.125em;
    margin: -0.5em 0;
    border-radius: 0.8em;
}
.comp-word a {
    display: inline-block;
}
/* --------------------------------------------------
comp-sound
-------------------------------------------------- */
.comp-sound .comp-inner {
    position: relative;
    width: 100%;
    height: 2.5em;
    line-height: 2.5em;
    color: #EDFFBE;
    border-radius: 0.45rem;
    background-color: #000000;
    white-space: nowrap;
    overflow: hidden;
}
.comp-sound .comp-ttl-line {
    display: inline-flex;
    white-space: nowrap;
    width: 100%;
}
.comp-sound .comp-ttl-wrap {
    display: inline-block;
    padding-left: 50%;
}
.comp-sound .comp-ttl {
    letter-spacing: 0.25em;
}
.comp-sound .comp-onpu {
    margin-right: 0.5em;
    animation: blink 0.9s steps(1, start) infinite;
}
.comp-sound .comp-time {
    font-size: 0.8em;
    margin-left: 1em;
    letter-spacing: 0.03em;
}
/* --------------------------------------------------
comp-archive-mini
-------------------------------------------------- */
.comp-archive-mini .box {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.comp-archive-mini .comp-body {
    flex: 1;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.comp-archive-mini .comp-body .comp-img img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
}
.comp-archive-mini .comp-body .comp-video {
    width: 90%;
}
.comp-archive-mini .comp-body .comp-video .comp-inner {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    pointer-events: none;
}
.comp-archive-mini .comp-body .comp-video iframe {
    width: 100%;
    height: 100%;
}
.comp-archive-mini .comp-body .comp-sound {
    width: 100%;
}
.comp-archive-mini .comp-body .comp-archive-piece {
    display: block;
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.comp-archive-mini .comp-body .comp-archive-piece-r01 {
    transform: rotate(2deg);
}
.comp-archive-mini .comp-body .comp-archive-piece-r02 {
    transform: rotate(-2deg);
}
.comp-archive-mini .comp-body .comp-archive-piece-r03 {
    transform: rotate(3deg);
}
.comp-archive-mini .comp-body .comp-archive-piece-r04 {
    transform: rotate(-3deg);
}
.comp-archive-mini .comp-body .comp-archive-piece-r01:hover,
.comp-archive-mini .comp-body .comp-archive-piece-r02:hover {
    transform: rotate(0);
}
.comp-archive-mini .comp-body .comp-archive-piece-r03:hover {
    transform: rotate(1deg);
}
.comp-archive-mini .comp-body .comp-archive-piece-r04:hover {
    transform: rotate(-1deg);
}
.comp-archive-mini .comp-body .comp-word-l,
.comp-archive-mini .comp-body .comp-word-m,
.comp-archive-mini .comp-body .comp-word-s {
    text-align: center;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-archive-mini-list {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: flex-start;
        margin: -1rem;
    }
    .comp-archive-mini {
        width: 50%;
        padding: 1rem;
    }
    .comp-archive-mini .box {
        padding: 1.5rem 2rem;
    }
    .comp-archive-mini .comp-header .comp-kanban-date-wrap {
        font-size: 0.555rem;
    }
    .comp-archive-mini .comp-body {
        aspect-ratio: 1/1;
        margin-top: 1rem;
    }
    .comp-archive-mini .comp-body .comp-img img,
    .comp-archive-mini .comp-body .comp-video .comp-inner {
        border-radius: 0.9em;
    }
    .comp-archive-mini .comp-body .comp-word-l {
        font-size: 1.5rem;
    }
    .comp-archive-mini .comp-body .comp-word-m {
        font-size: 1.2rem;
    }
    .comp-archive-mini .comp-body .comp-word-s {
        font-size: 0.9rem;
    }
    .comp-archive-mini .comp-body .comp-word-l,
    .comp-archive-mini .comp-body .comp-word-m,
    .comp-archive-mini .comp-body .comp-word-s {
        margin: 0 -2rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-archive-mini-list {
        margin-top: -5.333vw;
        margin-left: 2.666vw;
        margin-right: 2.666vw;
    }
    .comp-archive-mini {
        padding-top: 5.333vw;
    }
    .comp-archive-mini .box {
        padding: 5.333vw 8vw 8vw;
    }
    .comp-archive-mini .comp-body {
        aspect-ratio: 3/2;
        margin-top: 5.333vw;
    }
    .comp-archive-mini .comp-body .comp-img img,
    .comp-archive-mini .comp-body .comp-video .comp-inner {
        border-radius: 2vw;
    }
    .comp-archive-mini .comp-body .comp-word-l {
        font-size: 1.25rem;
    }
    .comp-archive-mini .comp-body .comp-word-m {
        font-size: 1rem;
    }
    .comp-archive-mini .comp-body .comp-word-s {
        font-size: 0.9rem;
    }
    .comp-archive-mini .comp-body .comp-word-l,
    .comp-archive-mini .comp-body .comp-word-m,
    .comp-archive-mini .comp-body .comp-word-s {
        margin: 0 -8vw;
    }
}
/* --------------------------------------------------
comp-archive
-------------------------------------------------- */
.comp-archive-list .comp-archive:first-child {
    margin-top: 0;
}
.comp-archive .comp-body .comp-archive-piece {
    overflow: visible;
}
.comp-archive .comp-body .comp-archive-piece a {
    display: block;
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.comp-archive .comp-body .comp-archive-piece.comp-word a {
    display: inline-block;
}
.comp-archive .comp-body .comp-archive-piece:first-child {
    margin-top: 0;
}
.comp-archive .comp-body .comp-archive-piece-r01 a {
    transform: rotate(2deg);
}
.comp-archive .comp-body .comp-archive-piece-r02 a {
    transform: rotate(-2deg);
}
.comp-archive .comp-body .comp-archive-piece-r03 a {
    transform: rotate(3deg);
}
.comp-archive .comp-body .comp-archive-piece-r04 a {
    transform: rotate(-3deg);
}
.comp-archive .comp-body .comp-archive-piece-r01 a:hover,
.comp-archive .comp-body .comp-archive-piece-r02 a:hover {
    transform: rotate(0);
}
.comp-archive .comp-body .comp-archive-piece-r03 a:hover {
    transform: rotate(1deg);
}
.comp-archive .comp-body .comp-archive-piece-r04 a:hover {
    transform: rotate(-1deg);
}
.comp-archive .comp-body .comp-word-al {
    text-align: left;
}
.comp-archive .comp-body .comp-word-ar {
    text-align: right;
}
.comp-archive .comp-body .comp-word-ac {
    text-align: center;
}
.comp-archive .comp-body .comp-img-al01 {
    margin-left: 0;
    margin-right: auto;
}
.comp-archive .comp-body .comp-img-al02 {
    margin-right: auto;
}
.comp-archive .comp-body .comp-img-ar01 {
    margin-left: auto;
    margin-right: 0;
}
.comp-archive .comp-body .comp-img-ar02 {
    margin-left: auto;
}
.comp-archive .comp-body .comp-img-ac {
    margin-left: auto;
    margin-right: auto;
}
.comp-archive .comp-body .comp-img img {
    border-radius: 0.9em;
    overflow: hidden;
}
.comp-archive .comp-body .comp-video .comp-inner {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 0.9rem;
    pointer-events: none;
}
.comp-archive .comp-body .comp-video iframe {
    width: 100%;
    height: 100%;
}
.comp-archive .comp-footer {
    display: flex;
    font-size: 0.8rem;
}
.comp-archive .comp-footer-author,
.comp-archive .comp-footer-info-list {
    flex: 1;
}
.comp-archive .comp-footer-author {
    padding-right: 1rem;
}
.comp-archive .comp-footer-author::before {
    content: 'Author';
    display: block;
    font-size: 0.8em;
    line-height: 1;
    letter-spacing: 0.03em;
    margin-bottom: 0.5em;
    color: #5A230F;
}
.comp-archive .comp-footer-info {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: space-between;
    margin-top: 0.25rem;
}
.comp-archive .comp-footer-info-list .comp-footer-info:first-child {
    margin-top: 0;
}
.comp-archive .comp-footer-info .comp-info-item {
    width: 5em;
    font-size: 0.8em;
    color: #5A230F;
}
.comp-archive .comp-footer-info .comp-info-body {
    flex: 1;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-archive {
        padding-top: 4.5rem;
        margin-top: 3rem;
    }
    .comp-archive .comp-header {
        margin-top: -8.5rem;
        margin-bottom: 4.5rem;
    }
    .comp-archive .comp-body .comp-archive-piece {
        margin-top: 3rem;
    }
    .comp-archive .comp-body .comp-word-l {
        font-size: 2rem;
    }
    .comp-archive .comp-body .comp-word-m {
        font-size: 1.5rem;
    }
    .comp-archive .comp-body .comp-word-s {
        font-size: 1rem;
    }
    .comp-archive .comp-body .comp-word-al {
        margin-left: -6.5rem;
    }
    .comp-archive .comp-body .comp-word-ar {
        margin-right: -6.5rem;
    }
    .comp-archive .comp-body .comp-img-l {
        width: 59.722vw;
    }
    .comp-archive .comp-body .comp-img-m {
        width: 44.444vw;
    }
    .comp-archive .comp-body .comp-img-s {
        width: 29.166vw;
    }
    .comp-archive .comp-body .comp-img-al02 {
        margin-left: -11rem;
    }
    .comp-archive .comp-body .comp-img-ar02 {
        margin-right: -11rem;
    }
    .comp-archive .comp-body .comp-video {
        width: 36.805vw;
    }
    .comp-archive .comp-body .comp-sound {
        padding: 1.5rem 0;
        margin-left: -2rem;
        margin-right: -2rem;
    }
    .comp-archive .comp-footer {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        padding: 1rem 1rem 0;
        margin: 4.5rem -1rem -1rem;
        border-top: #000000 2px solid;
    }
    .comp-archive .comp-footer-info-list {
        padding-left: 1rem;
        border-left: #000000 1px solid;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-archive {
        padding-top: 10vw;
        margin-top: 8vw;
    }
    .comp-archive .comp-header {
        margin-top: -20.666vw;
        margin-bottom: 8vw;
    }
    .comp-archive .comp-body .comp-archive-piece {
        margin-top: 8vw;
    }
    .comp-archive .comp-body .comp-word-l {
        font-size: 1.25rem;
    }
    .comp-archive .comp-body .comp-word-m {
        font-size: 1rem;
    }
    .comp-archive .comp-body .comp-word-s {
        font-size: 0.8rem;
    }
    .comp-archive .comp-body .comp-word-al {
        margin-left: -10.666vw;
    }
    .comp-archive .comp-body .comp-word-ar {
        margin-right: -10.666vw;
    }
    .comp-archive .comp-body .comp-img-l {
        width: 75vw;
    }
    .comp-archive .comp-body .comp-img-m {
        width: 60vw;
    }
    .comp-archive .comp-body .comp-img-s {
        width: 45vw;
    }
    .comp-archive .comp-body .comp-img-al02 {
        margin-left: -10.666vw;
    }
    .comp-archive .comp-body .comp-img-ar02 {
        margin-right: -10.666vw;
    }
    .comp-archive .comp-body .comp-video {
        width: 50vw;
    }
    .comp-archive .comp-body .comp-sound {
        padding: 4vw 0;
        margin-left: -4vw;
        margin-right: -4vw;
    }
    .comp-archive .comp-footer {
        flex-direction: column;
        margin: 8vw -2.666vw -2.666vw;
        padding: 4vw 2.666vw 0;
        border-top: #000000 1px solid;
    }
    .comp-archive .comp-footer-author {
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        margin-bottom: 0.25rem;
    }
    .comp-archive .comp-footer-author::before {
        width: 5em;
    }
    .comp-archive .comp-footer-author .comp-author-name {
        flex: 1;
    }
}
/* --------------------------------------------------
comp-archiveimg
-------------------------------------------------- */
.comp-archiveimg a .comp-inner {
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.comp-archiveimg a:hover .comp-inner {
    transform: rotate(2deg);
}
.comp-archiveimg .comp-img img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 0.9rem;
}
.comp-archiveimg .comp-video {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 0.9rem;
    pointer-events: none;
}
.comp-archiveimg .comp-video iframe {
    width: 100%;
    height: 100%;
}
.comp-archiveimg .comp-word {
    text-align: center;
}
.comp-archiveimg .comp-word-l {
    font-size: 1.5rem;
}
.comp-archiveimg .comp-word-m {
    font-size: 1.25rem;
}
.comp-archiveimg .comp-word-s {
    font-size: 1rem;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-archiveimg-list {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        margin: -1rem;
    }
    .comp-archiveimg {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 50%;
        height: auto;
        aspect-ratio: 1/1;
        padding: 1rem;
    }
}
@media screen and (min-width: 1400px) , print {
    .comp-archiveimg {
        width: 33.333%;
    }
    .comp-archiveimg .comp-word-l {
        font-size: 1.2rem;
    }
    .comp-archiveimg .comp-word-m {
        font-size: 1rem;
    }
    .comp-archiveimg .comp-word-s {
        font-size: 0.8rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-archiveimg-list {
        padding: 0 5.333vw;
    }
    .comp-archiveimg {
        margin-top: 12vw;
    }
    .comp-archiveimg-list .comp-archiveimg:first-child {
        margin-top: 0;
    }
    .comp-archiveimg .comp-img {
        text-align: center;
    }
}
/* --------------------------------------------------
comp-archiveword
-------------------------------------------------- */
.comp-archiveword-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: -1.5rem 0;
}
.comp-archiveword {
    text-align: center;
}
.comp-archiveword a .comp-inner {
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.comp-archiveword a:hover .comp-inner {
    transform: rotate(2deg);
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-archiveword-list {
        margin: -1.5rem 0;
    }
    .comp-archiveword {
        font-size: 1.5rem;
        padding: 1.5rem 0;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-archiveword-list {
        margin: -4vw 0;
    }
    .comp-archiveword {
        font-size: 1.2rem;
        padding: 4vw 0;
    }
    .comp-archiveword .comp-word-l {
        font-size: 1.25rem;
    }
    .comp-archiveword .comp-word-m {
        font-size: 1rem;
    }
    .comp-archiveword .comp-word-s {
        font-size: 0.9rem;
    }
}
/* --------------------------------------------------
comp-archivesound
-------------------------------------------------- */
.comp-archivesound a .comp-inner {
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.comp-archivesound a:hover .comp-inner {
    transform: rotate(2deg);
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-archivesound-list {
        margin: -2rem 0;
    }
    .comp-archivesound {
        font-size: 1.25rem;
        padding: 2rem 0;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-archivesound-list {
        margin: -5.333vw 0;
    }
    .comp-archivesound {
        font-size: 1rem;
        padding: 5.333vw 0;
    }
}

/* --------------------------------------------------
comp-program
-------------------------------------------------- */
.comp-program-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}
.comp-program .comp-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: contain;
}
.comp-program .comp-ttl {
    font-size: 0.9rem;
    text-align: center;
    margin-top: 1em;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-program-list {
        margin: -1.5rem;
    }
    .comp-program-list .comp-program {
        width: 33.333%;
        padding: 1.5rem;
    }
    .comp-program-search-list .comp-program {
        padding: 2rem 7.5rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-program-list {
        margin: -4vw;
    }
    .comp-program-list .comp-program {
        width: 50%;
        padding: 4vw;
    }
    .comp-program-search-list .comp-program {
        padding: 8vw 16vw;
    }
}
/* --------------------------------------------------
comp-program-march
-------------------------------------------------- */
.comp-program-march {
    width: 100%;
}
.comp-program-march .comp-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
    object-fit: contain;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-program-march {
        padding: 1.5rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-program-march {
        padding: 4vw;
    }
}
/* --------------------------------------------------
comp-profile
-------------------------------------------------- */
.comp-profile-list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
}
.comp-profile-list.row-center {
    justify-content: center;
}
.comp-profile .comp-inner {
    display: flex;
    flex-direction: column;
    text-align: center;
    height: 100%;
    background-color: #E1CDB4;
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
.comp-profile .comp-inner:hover {
    transform: scale(1.02);
}
.comp-profile .comp-img {
    width: 50%;
    height: auto;
    aspect-ratio: 1/1;
    margin: 0 auto;
    border-radius: 50%;
    border: #000000 1px solid;
    overflow: hidden;
}
.comp-profile .comp-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.comp-profile .comp-ttl-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 1.25rem;
}
.comp-profile .comp-ttl-en {
    margin-top: 0.25em;
    color: #5A230F;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-profile-list {
        margin: -0.5rem;
    }
    .comp-profile {
        width: 25%;
        font-size: 0.9rem;
        padding: 0.5rem;
    }
    .comp-profile .comp-inner {
        padding: 2rem;
        border-radius: 3rem;
    }
    .comp-profile .comp-ttl-en {
        font-size: 0.55rem;
    }
    .comp-profile .comp-position {
        font-size: 0.65rem;
        margin-top: 0.5em;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-profile-list {
        padding: 0 8vw;
    }
    .comp-profile {
        width: 100%;
        margin-top: 1.5rem;
    }
    .comp-profile-list .comp-profile:first-child {
        margin-top: 0;
    }
    .comp-profile .comp-inner {
        padding: 5.333vw 8vw;
        border-radius: 10.666vw;
    }
    .comp-profile .comp-ttl-en {
        font-size: 10px;
    }
    .comp-profile .comp-position {
        font-size: 10px;
        margin-top: 1em;
    }
}
/* --------------------------------------------------
comp-word-march
-------------------------------------------------- */
.comp-word-march-list {
    display: flex;
    align-items: baseline;
    line-height: 1;
    margin: 2rem -0.75rem;
    transition-timing-function: linear;
}
.comp-word-march {
    width: auto;
    font-size: 1.5rem;
    padding: 0 0.75rem;
}
/* --------------------------------------------------
comp-news
-------------------------------------------------- */
.comp-news .comp-inner {
    display: flex;
    width: 100%;
    background-color: #E1CDB4;
}
.comp-news .comp-img {
    position: relative;
    height: auto;
    overflow: hidden;
}
.comp-news .comp-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.comp-news .comp-ttl {
    margin: 0.25rem 0;
}
.comp-news .comp-subttl {
    font-size: 0.75em;
    line-height: 1.75;
    margin: 0.25rem 0;
}
.comp-news .comp-date {
    color: #5A230F;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .comp-news-list {
        margin-top: -2rem;
    }
    .comp-news {
        padding-top: 2rem;
    }
    .comp-news .comp-inner {
        flex-direction: row-reverse;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        padding: 1.5rem;
        border-radius: 3.75rem;
    }
    .comp-news .comp-img {
        width: 27%;
        aspect-ratio: 1/1;
        border-radius: 2.25rem;
    }
    .comp-news .comp-txt-wrap {
        flex: 1;
        padding: 2rem 3rem 2rem 2rem;
    }
    .comp-news .comp-ttl-wrap {
        font-size: 1.25rem;
    }
    .comp-news .comp-date {
        font-size: 0.75rem;
        margin-top: 1.5rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .comp-news-list {
        margin-top: -5.333vw;
    }
    .comp-news {
        padding-top: 5.333vw;
    }
    .comp-news .comp-inner {
        flex-direction: column;
        padding: 5.333vw;
        border-radius: 10.666vw;
    }
    .comp-news .comp-img {
        aspect-ratio: 5/4;
        border-radius: 8vw;
    }
    .comp-news .comp-txt-wrap {
        text-align: center;
        padding: 5.333vw 2.666vw 1.333vw;
    }
    .comp-news .comp-cat-list {
        justify-content: center;
    }
    .comp-news .comp-ttl-wrap {
        font-size: 1.111rem;
    }
    .comp-news .comp-date {
        font-size: 10px;
        margin-top: 1rem;
    }
}


/* ==================================================
contents
================================================== */
#contents .link-btn-list {
    text-align: center;
    margin-bottom: -0.5em;
}
#contents .txt-empty {
    text-align: center;
    opacity: 0.3;
}
/* --------------------------------------------------
page-header
-------------------------------------------------- */
#page-header {
    text-align: center;
}
#page-header .cont-ttl01 {
    margin-bottom: 1.5rem;
}
#page-header .detail-contttl {
    line-height: 1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #FFFFFF;
    padding-bottom: 1em;
}
#page-header .detail-subttl {
    line-height: 1.6;
    margin: 0.125rem 0;
}
#page-header .detail-ttl {
    line-height: 1.4;
    margin: 0.125rem 0;
}
#page-header .comp-cat-list,
#page-header .comp-tag-list {
    justify-content: center;
    margin-top: 1rem;
    margin-bottom: -0.125rem;
}
#page-header .detail-date {
    font-size: 0.9rem;
    color: #5A230F;
    margin-top: 1rem;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #page-header {
        padding-top: 6rem;
        padding-left: 9rem;
        padding-right: 9rem;
        margin-bottom: -3rem;
    }
    #page-header .detail-contttl {
        font-size: 1.25rem;
    }
    #page-header .detail-ttl-wrap {
        font-size: 2.25rem;
    }
    #page-header .detail-subttl {
        font-size: 0.666em;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #page-header {
        padding-top: 25.666vw;
        padding-left: 8vw;
        padding-right: 8vw;
        margin-bottom: -8vw;
    }
    #programs-detail #page-header,
    #archives-detail #page-header,
    #news-detail #page-header {
        margin-bottom: -4vw;
    }
    #page-header .detail-contttl {
        font-size: 4vw;
    }
    #page-header .detail-ttl-wrap {
        font-size: 7.2vw;
    }
    #page-header .detail-subttl {
        font-size: 0.6em;
    }
}
/* --------------------------------------------------
page-mv
-------------------------------------------------- */
#page-mv .mv-img img {
    width: 100%;
    height: auto;
    overflow: hidden;
    object-fit: cover;
}
#page-mv .detail-mv-img img {
    overflow: hidden;
}
#page-mv figcaption {
    text-align: right;
    margin-top: 1em;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #page-mv {
        padding-top: 6rem;
    }
    #page-mv .mv-img img {
        aspect-ratio: 3/2;
    }
    #page-mv .mv-img img,
    #page-mv .detail-mv-img img {
        border-radius: 2rem;
    }
    #page-mv figcaption {
        font-size: 11px;
        padding: 0 2rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #page-mv {
        padding-top: 12vw;
    }
    #page-mv .mv-img img {
        aspect-ratio: 1/1;
    }
    #page-mv .w02 .detail-mv-img {
        margin: 0 -2.666vw;
    }
    #page-mv .mv-img img,
    #page-mv .detail-mv-img img {
        border-radius: 8vw;
    }
    #page-mv figcaption {
        font-size: 10px;
        padding: 0 4vw;
    }
}

/* --------------------------------------------------
page-cont
-------------------------------------------------- */
#contents .page-cont .page-subcont:first-child {
    padding-top: 0;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #contents .page-cont {
        padding-top: 6rem;
        padding-bottom: 1.5rem;
    }
    #contents .page-cont .page-subcont {
        padding-top: 2rem;
    }
    #contents .page-cont .cont-header {
        padding: 0 9rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #contents .page-cont {
        padding-top: 12vw;
        padding-bottom: 4vw;
    }
    #contents .page-cont .page-subcont {
        padding-top: 8vw;
    }
    #contents .page-cont .cont-header {
        padding: 0 4vw;
    }
}

/* --------------------------------------------------
profile-cont
-------------------------------------------------- */
#contents .profile-open-btn {
    cursor: pointer;
}
#contents .profile-cont {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s cubic-bezier(0.39,0.57,0.56,1);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
}
#contents .profile-cont.popup-active {
    visibility: visible;
    opacity: 1;
}
#contents .profile-cont .w04 {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
}
#contents .profile-cont .box {
    position: relative;
}
#contents .profile-cont .profile-close-btn {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-indent: -9999%;
    overflow: hidden;
    border-radius: 50%;
    background-color: #000000;
    transition: transform 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
#contents .profile-cont .profile-close-btn:hover {
    transform: scale(1.1);
}
#contents .profile-cont .profile-close-btn .btn-txt {
    display: block;
    height: 0.25rem;
    text-indent: -9999%;
    overflow: hidden;
}
#contents .profile-cont .profile-close-btn .btn-icon {
    position: relative;
    display: block;
    width: 1rem;
    height: 1rem;
    margin: 0 auto;
}
#contents .profile-cont .profile-close-btn .btn-icon span {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #FFFFFF;
    transition: all 0.3s cubic-bezier(0.39,0.57,0.56,1);
}
#contents .profile-cont .profile-close-btn .btn-icon span:first-child,
#contents .profile-cont .profile-close-btn .btn-icon span:last-child {
    top: 50%;
    width: 140%;
    margin-left: -20%;
}
#contents .profile-cont .profile-close-btn .btn-icon span:first-child {
    transform: rotate(45deg);
}
#contents .profile-cont .profile-close-btn .btn-icon span:last-child {
    transform: rotate(-45deg);
}
#contents .profile-cont .profile-cont-header {
    margin-bottom: 1.5rem;
}
#contents .profile-cont .profile-img {
    margin: 0 auto;
    border-radius: 50%;
    border: #000000 1px solid;
    overflow: hidden;
}
#contents .profile-cont .profile-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#contents .profile-cont .profile-ttl-wrap {
    text-align: center;
    margin-top: 1.5rem;
}
#contents .profile-cont .profile-ttl {
    font-size: 1.25rem;
}
#contents .profile-cont .profile-ttl-en {
    font-size: 0.55rem;
    margin-top: 0.25em;
    color: #5A230F;
}
#contents .profile-cont .profile-position {
    font-size: 0.65rem;
    margin-top: 0.75em;
}
#contents .profile-cont .profile-cont-body .link-btn-list {
    margin-top: 1.5rem;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #contents .profile-cont .profile-close-btn {
        top: -1rem;
        right: -1rem;
        width: 3.5rem;
        height: 3.5rem;
    }
    #contents .profile-cont .box {
        margin: 4.5rem auto;
    }
    #contents .profile-cont .profile-img {
        width: 12rem;
        height: 12rem;
    }
    #contents .profile-cont .profile-cont-body .txt-wrap {
        font-size: 0.8rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #contents .profile-cont .profile-close-btn {
        top: -1.333vw;
        right: -1.333vw;
        width: 12vw;
        height: 12vw;
    }
    #contents .profile-cont .box {
        margin: 20.333vw auto;
    }
    #contents .profile-cont .profile-img {
        width: 35vw;
        height: 35vw;
    }
    #contents .profile-cont .profile-ttl-wrap {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}
/* --------------------------------------------------
cont-ttl
-------------------------------------------------- */
.cont-ttl01 {
    text-align: center;
    line-height: 1;
    margin-bottom: 3rem;
}
.cont-ttl01 .lan-ja .ttl-txt {
    display: inline-block;
    letter-spacing: -0.03em;
}
.cont-ttl01 .lan-ja .ttl-img {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    object-fit: contain;
    margin: 0 0.25rem;
    pointer-events: none;
}
.cont-ttl01 .lan-ja .ttl-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.cont-ttl01 .lan-en {
    text-transform: uppercase;
    color: #FFFFFF;
    margin-top: 1em;
}
.cont-ttl02 {
    text-align: center;
    color: #5A230F;
    margin-bottom: 1em;
}
.cont-ttl02::before {
    content: '\1F534';
    font-family: "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", sans-serif;
    margin-right: 0.25em;
}
.cont-ttl02::after {
    content: '\1F534';
    font-family: "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", sans-serif;
    margin-left: 0.25em;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    .cont-ttl01 .lan-ja {
        font-size: 3rem;
    }
    .cont-ttl01 .lan-en {
        font-size: 1.2rem;
    }
    .cont-ttl02 {
        font-size: 2rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    .cont-ttl01 .lan-ja {
        font-size: 8.5vw;
        letter-spacing: -0.025em;
    }
    .cont-ttl01 .lan-en {
        font-size: 4vw;
    }
    .cont-ttl02 {
        font-size: 5.866vw;
    }
}

/* --------------------------------------------------
list-pagenav
-------------------------------------------------- */
#list-pagenav {
    margin-top: 4.5rem;
}
#list-pagenav .wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
#list-pagenav .wp-pagenavi a.previouspostslink,
#list-pagenav .wp-pagenavi a.nextpostslink {
    display: block;
    width: 1em;
    height: 1em;
    text-indent: -9999%;
    background-image: url(/assets/img/icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    overflow: hidden;
}
#list-pagenav .wp-pagenavi a.previouspostslink {
    margin-right: 1em;
    transform: rotate(180deg);
}
#list-pagenav .wp-pagenavi a.nextpostslink {
    margin-left: 1em;
}
#list-pagenav .wp-pagenavi a.page,
#list-pagenav .wp-pagenavi .current {
    display: block;
    width: 2em;
    height: 2em;
    text-align: center;
    line-height: 2em;
    margin: 0.25em;
    border-radius: 50%;
}
#list-pagenav .wp-pagenavi a.page {
    background-color: #E1CDB4;
}
#list-pagenav .wp-pagenavi .current {
    background-color: #5A230F;
    color: #FFFFFF;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #list-pagenav {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #list-pagenav {
        padding-left: 2.666vw;
        padding-right: 2.666vw;
    }
}
/* --------------------------------------------------
detail-related-programs
-------------------------------------------------- */
#detail-related-programs .comp-program-list {
    justify-content: center;
}

/* ==================================================
home
================================================== */
/* SP */
@media screen and (max-width: 767px) {
    #home .page-cont {
        padding-top: 25.666vw;
    }
    #home-news,
    #home-archives {
        margin-bottom: -13.666vw;
    }
}
/* --------------------------------------------------
home-news
-------------------------------------------------- */
#home-news .comp-news-list {
    height: 100vh;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
#home-news .comp-news {
    margin: 0;
    padding: 0;
}
#home-news .comp-news .w01 {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#home-news .comp-news .news-next-date {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    z-index: 10;
    pointer-events: none;
}
#home-news .comp-news .news-guide-wrap {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    z-index: 10;
    pointer-events: none;
}
#home-news .comp-news a {
    flex: 1;
    width: 100%;
    height: auto;
}
#home-news .comp-news .comp-inner {
    width: 100%;
    height: 100%;
}
#home-news .comp-news .comp-img {
        height: 100%;
        aspect-ratio: unset;
    }
#home-news .comp-news .news-guide {
    height: 100%;
    text-indent: -9999%;
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
    pointer-events: none;
    z-index: 10;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}
#home-news .comp-news .news-guide01 {
    background-image: url(/assets/img/news_guide01.png);
}
#home-news .comp-news .news-guide02 {
    background-image: url(/assets/img/news_guide02.png);
}
#home-news .comp-news .news-next-date .next-date {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.25em;
}
#home-news .comp-news .news-next-date .next-date img {
    width: auto;
    aspect-ratio: 3/1;
}
#home-news .comp-news .news-next-date .next-date .lan-en {
    font-size: 0.65rem;
    text-transform: uppercase;
    text-align: center;
    color: #FFFFFF;
    margin-left: 1.5em;
}
#home-news .kanban-date {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}
#home-news .kanban-date .date-hyphen {
    color: #FFFFFF;
    margin: 0 -0.1em;
}
#home-news-slide .swiper-pagination {
    bottom: 0;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #home-news .comp-news-list {
        padding: 4.5rem 0;
    }
    #home-news-slide .swiper-pagination {
        padding-bottom: 2rem;
    }
    #home-news .comp-news .comp-img {
        width: 50%;
    }
    #home-news .comp-news .news-next-date {
        margin-top: -1.5rem;
        margin-bottom: -6vh;
    }
    #home-news .comp-news .news-guide-wrap {
        height: 25%;
        margin-top: -12vh;
        margin-bottom: -1.5rem;
        padding-left: 1.5rem;
    }
    #home-news .comp-news a {
        max-height: 70vh;
    }
    #home-news .comp-news .news-guide {
        width: 33.333%;
    }
    #home-news .comp-news .news-next-date .next-date img {
        height: 8vh;
    }
    #home-news .comp-kanban-date-wrap .comp-kanban-date img {
        height: 12vh;
    }
    #home-news .comp-kanban-date-wrap .comp-kanban-date .slash {
        height: 15vh;
    }
    #home-news .comp-kanban-date-wrap.big .comp-kanban-date img {
        height: 13.5vh;
    }
    #home-news .comp-kanban-date-wrap.big .comp-kanban-date .slash {
        height: 16.875vh;
    }
    #home-news .comp-kanban-date-wrap .comp-week {
        font-size: 1.5rem;
    }
    #home-news .kanban-date .date-hyphen {
        font-size: 8vh;
        transform: rotate(-10deg);
    }
}
@media screen and (min-width: 768px) and (aspect-ratio <= 5/4) {
    #home-news .comp-news a {
        max-height: 60vh;
    }
    #home-news .comp-news .news-next-date {
        margin-bottom: -5vw;
    }
    #home-news .comp-news .news-guide-wrap {
        height: 20%;
        margin-top: -10vw;
    }
    #home-news .comp-news .news-next-date .next-date img {
        height: 8vw;
    }
    #home-news .comp-kanban-date-wrap .comp-kanban-date img {
        height: 10vw;
    }
    #home-news .comp-kanban-date-wrap .comp-kanban-date .slash {
        height: 12.5vw;
    }
    #home-news .comp-kanban-date-wrap.big .comp-kanban-date img {
        height: 12.5vw;
    }
    #home-news .comp-kanban-date-wrap.big .comp-kanban-date .slash {
        height: 15.625vw;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #home-news .comp-news-list {
        padding: 22vw 0 16.666vw;
    }
    #home-news-slide .swiper-pagination {
        padding-bottom: 4vw;
    }
    #home-news .comp-news .news-next-date {
        margin-bottom: -5.333vw;
        margin-top: -5.333vw;
    }
    #home-news .comp-news .news-guide-wrap {
        height: 20%;
        padding-left: 2.666vw;
        margin-top: -12vw;
        margin-bottom: -8vw;
    }
    #home-news .comp-news .news-guide {
        width: 100%;
    }
    #home-news .comp-news .news-next-date .next-date img {
        height: 12vw;
    }
    #home-news .comp-kanban-date-wrap .comp-kanban-date img {
        height: 12vw;
    }
    #home-news .comp-kanban-date-wrap .comp-kanban-date .slash {
        height: 15vw;
    }
    #home-news .comp-kanban-date-wrap.big .comp-kanban-date img {
        height: 15vw;
    }
    #home-news .comp-kanban-date-wrap.big .comp-kanban-date .slash {
        height: 18.75vw;
    }
    #home-news .comp-kanban-date-wrap .comp-week {
        font-size: 1rem;
    }
    #home-news .kanban-date .date-hyphen {
        font-size: 8vw;
        transform: rotate(-15deg);
        margin-left: -0.5em;
    }
    #home-news .comp-news .news-next-date .next-date .lan-en {
        display: none;
    }
}
/* --------------------------------------------------
home-more
-------------------------------------------------- */
#home-more .cont-body .txt-wrap p {
    text-align: center;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #home-more .cont-body .txt-wrap p {
        font-size: 1.125rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #home-more .cont-body .txt-wrap {
        padding-left: 8vw;
        padding-right: 8vw;
    }
    #home-more .cont-body .txt-wrap p {
        font-size: 1.111rem;
    }
}

/* ==================================================
about
================================================== */
#about-project .site-ttl {
    margin: 0 auto 3rem;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #about-project .site-ttl {
        width: 50%;
    }
    #management .comp-profile {
        width: 33%;
    }
    #management .comp-profile .comp-inner {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #about-project .site-ttl {
        width: 80%;
    }
}

/* ==================================================
programs-detail
================================================== */
#programs-detail #page-mv .program-mv-img {
    margin: 0 auto;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #programs-detail #page-header .detail-ttl-wrap {
        font-size: 2.5rem;
    }
    #programs-detail #page-mv .program-mv-img {
        width: 44.444%;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #programs-detail #page-mv .program-mv-img {
        width: 70%;
    }
}
/* ==================================================
keywords-detail
================================================== */
#keywords-detail .detail-ttl-wrap {
    font-size: 2rem;
}

/* ==================================================
archives-detail
================================================== */
#archives-detail .detail-ttl {
    line-height: 1.6;
}
#archives-detail .comp-kanban-date-wrap {
    font-size: 1.111rem;
    margin: 0.5rem 0;
}
#archives-detail .subcont-header-author .comp-tag-list {
    font-size: 0.9rem;
    margin-bottom: -1.5em;
}
#archives-detail .subcont-header-author .comp-tag span {
    color: #FFFFFF;
    background-color: #5A230F;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #archives-detail .detail-ttl-wrap {
        font-size: 1.5rem;
        margin-top: 1.25rem;
    }
    #archives-detail .subcont-header-author .comp-tag-list {
        margin-left: 3rem;
        margin-right: 3rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #archives-detail .detail-ttl-wrap {
        font-size: 4.8vw;
        margin-top: 4vw;
    }
    #archives-detail .comp-kanban-date-wrap .comp-kanban-date img {
        height: 17.6vw;
    }
    #archives-detail .subcont-header-author .comp-tag-list {
        margin-left: 8vw;
        margin-right: 8vw;
    }
}
/* ==================================================
archives
================================================== */
#archive-page-nav-wrap.page-cont {
    padding-bottom: 0;
}
#archive-page-nav-wrap .archive-page-nav-list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}
#archive-page-nav-wrap .archive-page-nav {
    width: 25%;
    text-align: center;
}
#archive-page-nav-wrap .link-arrow {
    display: block;
    margin-top: 1em;
}
#archive-page-nav-wrap a.current .link-arrow {
    color: #5A230F;
}
#archive-page-nav-wrap a.current .comp-word .link-arrow {
    color: #000000;
}
#archive-page-nav-wrap .comp-word .link-arrow {
    margin-top: 0;
}
#archive-page-nav-wrap a.current .link-arrow-txt,
#archive-page-nav-wrap .comp-word .link-arrow-txt {
    padding: 0;
}
#archive-page-nav-wrap a.current .link-arrow::after,
#archive-page-nav-wrap .comp-word .link-arrow::after {
    display: none;
}
#archive-page-nav-wrap a .nav-thumb {
    transition: filter 0.3s cubic-bezier(0.39,0.57,0.56,1);
    filter: drop-shadow(0px 0.125rem 0.25rem rgba(0, 0, 0, 0.3));
    transform: translateZ(0);
    will-change: filter;
}
#archive-page-nav-wrap a.current .nav-thumb,
#archive-page-nav-wrap a:hover .nav-thumb {
    filter: none;
}
#archive-page-nav-wrap .nav-thumb {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
}
#archive-page-nav-wrap .nav-thumb .comp-sound {
    width: 100%;
    font-size: 0.6rem;
}
#archive-page-nav-wrap .archive-page-nav01 .comp-sound {
    position: absolute;
    bottom: 0;
    transform: rotate(5deg);
    width: 70%;
    z-index: 3;
}
#archive-page-nav-wrap .archive-page-nav01 .comp-img {
    position: absolute;
    top: 0;
    right: 0;
    transform: rotate(10deg);
    z-index: 1;
}
#archive-page-nav-wrap .archive-page-nav01 .comp-word {
    position: absolute;
    left: 0;
    transform: rotate(-5deg);
    z-index: 2;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #archive-page-nav-wrap .box {
        padding: 2.5rem 3.5rem;
    }
    #archive-page-nav-wrap .archive-page-nav-list {
        margin: 0 -1rem;
    }
    #archive-page-nav-wrap .archive-page-nav {
        padding: 0 1rem;
        font-size: 0.9rem;
    }
    #archive-page-nav-wrap .nav-thumb {
        aspect-ratio: 3/2;
    }
    #archive-page-nav-wrap .nav-thumb .comp-word {
        font-size: 1.111rem;
    }
    #archive-page-nav-wrap .nav-thumb .comp-img {
        width: 85%;
    }
    #archive-page-nav-wrap .nav-thumb .comp-img img {
        border-radius: 0.45rem;
    }
    #archive-page-nav-wrap .archive-page-nav01 .comp-sound {
        font-size: 0.5rem;
    }
    #archive-page-nav-wrap .archive-page-nav01 .comp-img {
        width: 60%;
    }
    #archive-page-nav-wrap .archive-page-nav01 .comp-word {
        font-size: 0.75rem;
        top: 25%;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #archive-page-nav-wrap .box {
        padding: 8vw;
    }
    #archive-page-nav-wrap .archive-page-nav-list {
        margin: 0 -2.666vw;
    }
    #archive-page-nav-wrap .archive-page-nav {
        padding: 0 2.666vw;
    }
    #archive-page-nav-wrap .nav-thumb {
        aspect-ratio: 1/1;
    }
    #archive-page-nav-wrap .nav-thumb .comp-word {
        font-size: 0.8rem;
    }
    #archive-page-nav-wrap .nav-thumb .comp-img {
        width: 100%;
    }
    #archive-page-nav-wrap .nav-thumb .comp-img img {
        border-radius: 2vw;
    }
    #archive-page-nav-wrap .archive-page-nav01 .comp-sound {
        font-size: 0.45rem;
    }
    #archive-page-nav-wrap .archive-page-nav01 .comp-img {
        width: 75%;
    }
    #archive-page-nav-wrap .archive-page-nav01 .comp-word {
        font-size: 0.5rem;
        top: 30%;
    }
}

/* ==================================================
tags
================================================== */
#tags #archive-page-nav-wrap.page-cont {
    padding-top: 1rem;
}
/* --------------------------------------------------
tag-header
-------------------------------------------------- */
#tag-header.page-cont {
    padding-bottom: 0;
}
#tag-header .tag-ttl-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
#tag-header .thumb-profile {
    border-radius: 50%;
    border: #000000 1px solid;
    overflow: hidden;
}
#tag-header .thumb-profile img {
    object-fit: cover;
}
#tag-header .box .box-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    font-size: 1.111rem;
}
#tag-header .tag-contttl {
    display: block;
    font-size: 0.7rem;
    margin-bottom: 0.25em;
    color: #5A230F;
    text-transform: uppercase;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #tag-header .box {
        padding: 2.5rem 4.5rem;
    }
    #tag-header .tag-ttl-thumb {
        width: 5rem;
        height: 5rem;
        margin-right: 1.25rem;
        margin-left: -0.5rem;
        margin-top: -0.5rem;
        margin-bottom: -0.5rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #tag-header .box {
        padding: 8vw;
    }
    #tag-header .tag-ttl-thumb {
        width: 16vw;
        height: 16vw;
        margin-right: 4vw;
        margin-top: -2.666vw;
        margin-bottom: -2.666vw;
    }
}
/* --------------------------------------------------
list-search-tags
-------------------------------------------------- */
#list-search-tags select {
    width: 100%;
    font-size: 0.9rem;
    line-height: 1;
    padding: 1em;
    border-radius: 0.5em;
    border: #000000 1px solid;
    background: #FFFFFF;
}
#list-search-tags .select-wrap {
    position: relative;
}
#list-search-tags .select-wrap::after {
    position: absolute;
    top: 50%;
    right: 1.25em;
    content: '';
    display: inline-block;
    white-space: nowrap;
    width: 0.8em;
    height: 0.8em;
    background-image: url(/assets/img/icon_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(90deg) translateY(-50%);
    transform-origin: top;
}
/* PC, Tablet */
@media screen and (min-width: 768px) , print {
    #list-search-tags #program-search-slide {
        margin-bottom: 3rem;
        margin-top: -2rem;
    }
}
/* SP */
@media screen and (max-width: 767px) {
    #list-search-tags #program-search-slide {
        margin-bottom: 5.333vw;
        margin-top: -8vw;
    }
}
/* ==================================================
error404
================================================== */
#error404 .error-message p {
    text-align: center
}