@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Yeseva+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Courgette&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
    display: block;
    margin: 0;
    padding: 0;
}
audio, canvas, video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden] {
    display: none;
}
html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
body {
    margin: 0;
}
a:focus {
    outline: thin dotted;
}
a:active, a:hover {
    outline: 0;
}
h1 {
    font-size: 2em;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b, strong {
    font-weight: bold;
}
dfn {
    font-style: italic;
}
mark {
    background: #ff0;
    color: #000;
}
code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em;
}
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}
q {
    quotes: "\201C""\201D""\2018""\2019";
}
small {
    font-size: 80%;
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
img {
    border: 0;
}
svg:not(:root) {
    overflow: hidden;
}
figure {
    margin: 0;
}
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    border: 0;
    padding: 0;
}
button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
}
button, input {
    line-height: normal;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}
button[disabled], input[disabled] {
    cursor: default;
}
input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
textarea {
    overflow: auto;
    vertical-align: top;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
dl, dt, dd, ol, ul, li, p {
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    list-style: none;
}
/* Box sizing rules */
*, *::before, *::after {
    box-sizing: border-box;
}
/* Set core body defaults */
body {
    min-height: 100vh;
    scroll-behavior: smooth;
    text-rendering: optimizeSpeed;
    line-height: 1.6;
}
a:focus, *:focus {
    outline: none;
}
.responsive {
    width: 100%;
    height: auto;
}
.migoto_hd {
    background: #c3052f;
    width: 100%;
    top: 0;
    z-index: 1000;
}
.migoto_hd .hd_h1 {
    line-height: 1;
    margin: 0;
    padding: 2vw;
    font-size: 24px;
}
.migoto_hd .hd_h1 img {
    width: 20%;
    height: auto;
}
.migoto_hd .nav_sp {
    display: block;
}
.hamburger {
    right: 0%;
}
.hamburger label {
    font-size: 2.2vw;
    right: 1%;
    cursor: pointer;
    display: block;
    background: #ff0;
    position: absolute;
    top: 2vw;
    color: #333;
    background: none;
    font-weight: bold;
    text-align: right;
    line-height: 0.65;
}
.hamburger label .subtxt {
    font-size: 0.44em;
}
#gnav {
    display: block;
}
#gnav .hd_bnrlist {
    flex-wrap: wrap;
    display: flex;
    flex-direction: row;
}
#gnav .hd_bnrlist li {
    /*background: #000;*/
    width: 20%;
    height: auto;
    line-height: 0;
}
#gnav .hd_bnrlist li:nth-child(even) {
    /*border-right: 1px solid #000;
        border-left: 1px solid #000;*/
}
#gnav .hd_bnrlist li img {
    width: 100%;
}
body {
    margin: 0px;
    padding: 0px;
    height: 100%;
    font-family: 'Noto Sans JP', 'Noto Sans Japanese', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 1.9vw;
    line-height: 1.7;
    font-feature-settings: "palt";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    transition: all 0.3s ease-out;
    color: #8b250d;
}
.contents {
    overflow: hidden;
}
.contents .teaser_img {
    background-image: url("../images/rep_yel.gif");
    background-image: url("../images/rep_yel.gif")
}
.contents .teaser_img img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    vertical-align: top;
    padding-bottom: 1vw;
}
section {
    padding: 0 0 0vw;
}
section .container {
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

section .container .mds_h2 {
    font-family: "Courgette", cursive;
    font-size: 6vw;
    text-align: center;
    letter-spacing: 0.2vw;
    margin: 0;
    line-height: 1.1;
    padding: 8vw 0 0vw;
    color: #e37500;
    font-weight: normal;
}
section .container .mds_h2_w {
    font-size: 6vw;
    text-align: center;
    letter-spacing: 0.2vw;
    margin: 0;
    line-height: 1;
    padding: 8vw 0 2vw;
    color: #e37500;
    font-weight: normal;
}
section .container .mds_h2 .txt_col {
    color: #e37500;
}
section .container .mds_h2 .subtitle {
    font-size: 2.5vw;
    letter-spacing: 1px;
    padding: 0.5vw 0 0 0;
    color: #d3a800;
    font-weight: 600;
}
section::before {
    content: '';
    display: block;
    /* padding-top: 3vw;*/
    /*margin-top: -17vw;*/
}
@media all and (max-width: 860px) {
    section::before {
        content: '';
        display: block; /*
	  padding-top: 5vw;
	  margin-top: -3vw;*/
    }
    
    section .container .mds_h2 {
        font-size: 10vw;
        letter-spacing: 0.2vw;
        margin: 0;
        line-height: 1.1;
        padding: 8vw 0 0vw;
    }
 }
@media all and (max-width: 769px) {
    a.sponly [href*="https:"] {
    cursor: default;
    pointer-events: none;
    text-decoration: none;
 }
}
/* animation setteing */
@keyframes vertical {
    0% {
        transform: translateY(-4px);
    }
    100% {
        transform: translateY(4px);
    }
}
@keyframes vertical-r {
    0% {
        transform: translateY(4px);
    }
    100% {
        transform: translateY(-4px);
    }
}
header {
    display: block;
    position: absolute;
    z-index: 2;
    width: 100%;
    padding: 0.5% 5%;
    transition: all 0.8s ease-out;
}
header.fixed {
    position: fixed;
    background: #382c19;
}
header .container .hd_nav {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
header .container .hd_nav .logo {
    font-size: 1em;
    width: 14.14vw;
    height: 1.77vw;
}
header .container .hd_nav .logo img {
    width: 100%;
    height: auto;
}
header .container .hd_nav .hd_nav_list {
    width: 60%;
    text-align: right;
}
header .container .hd_nav .hd_nav_list li {
    display: inline-block;
    padding: 1em 0 0 3em;
}
header .container .hd_nav .hd_nav_list li a {
    text-decoration: none;
    color: #fff;
}
@keyframes vertical {
    0% {
        transform: translateY(-30px);
    }
    100% {
        transform: translateY(0px);
    }
}
@keyframes vertical-r {
    0% {
        transform: translateY(0px);
    }
    100% {
        transform: translateY(-30px);
    }
}
@keyframes swing_anim {
    0% { transform: rotate(0deg); }
    50% { transform: rotate(5deg); } /* ここで揺らす */
    100% { transform: rotate(0deg); }
}
.sec_mainvisual {
    width: 100%;
    padding: 0vw 0 0 0;
    margin: 0;
    font-size: 0;
    /*background: #000;*/
}
@media all and (max-width: 860px) {
    .sec_mainvisual {
        padding: 0vw 0 0 0;
    }
}
.sec_mainvisual .container {
    width: 100%;
}
.sec_mainvisual .container img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
@media all and (max-width: 860px) {
    .sec_mainvisual .container {
        background: url("../images/mv01_sp.webp") center top no-repeat;
        background-size: contain;
        padding-top: calc(1818 / 1414 * 100%);
    }
    .sec_mainvisual .container img {
        display: none;
    }
}
.sec_mainvisual .container::before {
    content: '';
    display: block;
    width: 27vw;
    height: 40vw;
    background: url(../images/alice_drawing.webp) center left no-repeat;
    background-size: contain;
    top: 23vw;
    position: absolute;
    right: -2vw;
    animation: vertical 2.5s ease-in-out infinite alternate;
    z-index: 10;
}
.sec_mainvisual .container::after {
    content: '';
    display: block;
    width: 30vw;
    height: 40vw;
    background: url(../images/shirousagi_swing.webp) center left no-repeat;
    background-size: contain;
    top: -5vw;
    position: absolute;
    left: 3vw;    
    animation: swing_anim 3s ease-in-out infinite;
    transform-origin: center top;
    z-index: 10;
}
@media all and (max-width: 860px) {
    .sec_mainvisual .container::before {
        top: 136vw;
        animation: vertical 3.0s ease-in-out infinite alternate;
        right: -8vw;
    }
    .sec_mainvisual .container::after {
        top: 135vw;
        left: -3vw;
    }
}
.sec_lead {
    background: url("../images/bg_spring.webp") left top;
    padding: 0 0 5vw;
    position: relative;
    background-size: 100% auto;
}
.sec_lead .container {
    text-align: justify;
    text-justify: inter-ideograph;
    color: #c3052f;
    font-size: 1em;
    line-height: 1.6;
    padding: 1em 0em 0;
}
.sec_lead .container .mds_h2 {
    font-size: 4.5vw;
    text-align: center;
    /* font-family: 'Yeseva One', cursive; */
    /* letter-spacing: 0.2vw; 
        margin: 0;
        line-height: 1.2;*/
    padding: 4vw 0 5vw;
    color: #e36b00;
    font-weight: bold;
    /* text-decoration: underline; */
    /* text-underline-offset: 1vw; */
    /* text-decoration-thickness: 4px;*/
}
.sec_lead .container .mds_h2 br {
    display: block;
}
.sec_lead .container .lead_subtxt {
    font-size: 2.8vw;
    text-align: center;
    color: #e36b00;
    padding: 0vw 0 4vw;
    font-weight: bold;
}
.sec_lead .container .h2_section {
    font-size: 4vw;
    color: #e17f00;
    line-height: 0.8;
    transform: rotate(-6deg);
    padding: 0 0;
    margin: 5vw auto;
}
.sec_lead .container .h2_section span.numb {
    font-size: 8vw;
    font-family: "Courgette", cursive;
}
.sec_lead .container .nmds_h3 {
    color: #d59f00;
    width: 86%;
    margin: 2vw auto;
    padding: 0 0;
    display: flex;
    line-height: 1.4;
    border-bottom: 2px solid #d59f00;
}
.sec_lead .container .nmds_h3 p {
    padding: 2.4vw 0 0 0;
    font-size: 4.0vw;
    line-height: 1.3;
}
.sec_lead .container .h3_num {
    width: 12%;
    font-size: 6vw;
    font-family: "Courgette", cursive;
}
.sec_lead .container .nmds {
    text-decoration: underline;
    text-align: center;
    width: 26%;
    margin: 0 auto 14px;
}
.sec_lead .container .nmds img {
    width: 100%;
    height: auto;
}
.sec_lead .container .h4 {
    padding: 0 4em;
    font-size: 2.2vw;
}
.sec_lead .container .txtjf {
    text-align: justify;
    padding: 0 4em;
}
.sec_lead .container .bnr_navi_list {
    width: 100%;
    padding: 0 0vw 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.sec_lead .container .bnr_navi_list .navi_list_item {
    width: 30%;
    padding: 0 0.2vw 2vw;
}
.sec_lead .container .bnr_navi_list .navi_list_item a {
    width: 100%;
    display: block;
    color: #d70044;
    text-decoration: none;
    text-align: center;
    line-height: 1.3;
    font-size: 1.8vw;
    font-weight: 600;
}
.sec_lead .container .bnr_navi_list .navi_list_item a img {
    width: 100%;
    height: auto;
}
@media all and (max-width: 860px) {
    .sec_lead .container .h3_num {
        font-size: 8vw;
    }
    .sec_lead .container .nmds_h3 p {
        font-size: 5.0vw;
    }
    .sec_lead .container .h4 {
        padding: 0 7vw;
        font-size: 4.2vw;
        margin: 2vw auto;
    }
    .sec_lead .container .h2_section {
        font-size: 6.3vw;
        line-height: 1;
        padding: 0 0;
        margin: 5vw auto 10vw;
    }
    .sec_lead .container .nmds_h3 {
        color: #d70044;
        width: 86%;
        margin: 2vw auto;
        padding: 0 0;
        display: flex;
        line-height: 1.4;
        border-bottom: 2px solid #d70044;
    }
    .sec_lead .container .txtjf {
        padding: 0 7vw;
        font-size: 4vw;
        line-height: 1.4;
        margin-bottom: 5vw;
    }
    .sec_lead .container .bnr_navi_list {
        width: 100%;
        padding: 0 0vw 4vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .sec_lead .container .bnr_navi_list .navi_list_item {
        width: 50%;
        padding: 0 0.4vw 4vw;
    }
    .sec_lead .container .bnr_navi_list .navi_list_item a {
        width: 100%;
        display: block;
        text-decoration: none;
        text-align: center;
        line-height: 1.4;
        font-size: 3.9vw;
    }
    .sec_lead .container .bnr_navi_list .navi_list_item a img {
        width: 100%;
        height: auto;
    }
}

/* セクションごとの余白 */
.sec_contents {
    padding: 100px 0; /* 上下の余白をたっぷり取って高級感を出す */
    border-bottom: 1px solid #eee; /* 境界線（デザインに合わせて消してもOK） */
}

/* 共通のコンテナ（左右に少し余裕を持たせる） */
.container {
    margin: 0 auto;
    padding: 0 20px;
}

.works_section_single img {
    width: 100vw;
    height: auto;
}

#topofpeak {
    background-image: url("../images/bg_spring.jpg"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}

#parade {
    background-image: url("../images/secbg_confetti.jpg"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}
#tembodai {
    background-image: url("../images/bg_leavesnsky.jpg"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}
#sipshut {
    background-image: url("../images/bg_dark.webp"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}
#alicetours {
    background-image: url("../images/bg_ft.jpg"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}
#merigo {
    background-image: url("../images/bg_spring.webp"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}
#treecastle {
    background-image: url("../images/bg_leavesnsky.jpg"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}
#kasikiri {
    background-image: url("../images/bg_leavesnsky.jpg"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}

#mirrorballer {
    background-image: url("../images/bg_spring.webp"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}
#applecompany {
    background-image: url("../images/bg_autumn2.webp"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    padding: 1vw 0;
}
#charagreeting {
    background-image: url("../images/bg_autumn2.webp"); /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    padding: 1vw 0;
}

#alicescrush {
    background-color: #fffaf0; /* ほんのりクリーム色 */
    padding: 1vw 0;
}

#performer {
    background-color: #fffaf0; /* ほんのりクリーム色 */
    padding: 1vw 0;
}
#info {
    background: url("../images/bg_canvas.webp") repeat; /* 背景画像のパス */
    padding: 1vw 0;
}
#access {
    background-image: url("../images/bg_wcblue.jpg");
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    padding: 1vw 0;
}
#flyer {
    background: url("../images/bg_autumn2.webp") no-repeat center top; /* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    padding: 1vw 0;
}
#sponsorship {
    background-image: url("../images/bg_wc_pink.webp");/* 背景画像のパス */
    background-size: cover;      /* 隙間なく敷き詰める */
    background-position: center; /* 真ん中を中心に */
    background-attachment: fixed; /* スクロールしても背景が動かない（パララックス風）にするならこれ */
    padding: 1vw 0;
}

    @media all and (max-width: 860px) {
        #access {
            padding: 5vw 0;
        }
}

/* --- 共通の基本設定 --- */
.works_section_single {
    padding-bottom: 5vw;
}

.works_section_single .container {
    width:80vw; /* 必要に応じて調整 */
    margin: 0 auto;
}

/* --- 画像の設定（はみ出し防止） --- */
.works_section_single img {
    width: 96%;
    max-width: 100%;
    height: auto;
    margin: 1vw auto;
    display: block;
}

/* --- 見出し（斜めに回転している赤い文字） --- */
.works_section_single .mds_kasen {
    color: #c3052f;
    text-align: center;
    font-size: 3.8vw;
    line-height: 1.2;
    transform: rotate(-6deg);
    margin: 4vw 0;
}

/* --- アコーディオン全体 --- */
.works_section_single .accordion_one {
    padding: 0 4em;
    color: #542d1d;
    margin-bottom: 5vw;
}

/* アコーディオンのヘッダー（黄色い背景） */
.works_section_single .accordion_header {
    background: #ffca4e;
    border-radius: 8px;
    padding: 0.5em 0;
    margin: 1.4em 0 0;
    font-size: 3vw;
    font-weight: bold;
    position: relative;
    text-align: center; /* 文字を真ん中に */
    user-select: none;
    transition: all 0.3s ease-out;
}

/* アコーディオンの中身（薄いベージュ） */
.works_section_single .accordion_inner {
    border-radius: 0 0 8px 8px;
    background: #f8eee2;
    line-height: 1.5;
    font-size: 2.0vw;
    display: none; /* JSで開閉するために最初は隠す */
    padding: 3em 3em 4em;
}
.accordion_one .accordion_header:before {
    content: '';
    display: block;
    width: 4vw;
    height: 4vw;
    background: #ff0;
    background: url("../images/kkm_hd_limg.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    left: 16vw;
    top: 2vw;
}
.accordion_one .accordion_header:after {
    content: '';
    display: block;
    width: 4vw;
    height: 4vw;
    background: #ff0;
    background: url("../images/kkm_hd_rimg.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    right: 16vw;
    top: 2vw;
}
.accordion_one .accordion_header .i_box {
    position: absolute;
    color: #fff;
    right: 0.5em;
    top: 0.4em;
    user-select: none;
}
.accordion_one .accordion_header .i_box .one_i {
    content: '';
    display: block;
    width: 2em;
    height: 2em;
    background: url("../images/i_plus.png") no-repeat center center;
    transition: all 0.3s ease-out;
}
.accordion_one .accordion_header.open {
    border-radius: 8px 8px 0 0;
}
.accordion_one .accordion_header.open .i_box .one_i {
    content: '';
    background: url("../images/i_minus.png") no-repeat center center;
    transform: rotate(360deg);
    display: block;
    z-index: 9999;
    position: relative;
}
.accordion_one .accordion_inner {
    border-radius: 0 0 8px 8px;
    background: #f8eee2;
    background-size: 100% auto;
    line-height: 1.5;
    font-size: 1.6vw;
    display: none;
    padding: 3vw;
    margin: 0 0 0;
}
.accordion_one .accordion_inner .txt_fwb {
    font-weight: bold;
    font-size: 1.2em;
}
.accordion_one .accordion_inner .txt_point {
    font-weight: bold;
}
.accordion_one .accordion_inner .txt_point_ul {
    font-size: 1.2em;
    font-weight: bold;
    text-decoration: underline;
}
.accordion_one .accordion_inner a {
    color: #542d1d;
}
.accordion_one .accordion_inner .txt_normal_ul {
    text-decoration: underline;
}
.accordion_one .accordion_inner .txt_point_col {
    color: #fbff7d;
}
.accordion_one .accordion_inner .ac_img img {
    width: 100%;
    height: auto;
}
/* --- ボタンエリア --- */
.works_section_single .btnarea {
    padding: 0 4em;
}

.works_section_single .btnarea a {
    border: 2px solid #59442b;
    background: #fff;
    border-radius: 8px;
    font-size: 3vw;
    text-align: center;
    padding: 1em;
    width: 100%;
    color: #59442b;
    display: block;
    text-decoration: none;
    margin: 2em auto 0;
    font-weight: bold;
}


        @media all and (max-width: 860px) {
            .works_section_single {
                padding-top: 0;
            }
            .works_section_single .container {
                width:94vw; /* 必要に応じて調整 */
                margin: 0 auto;
                }
            .works_section_single .accordion_one {
                padding: 0 4vw;
            }
            .works_section_single .mds_kasen {
                font-size: 5.8vw;
                line-height: 1.1;
                margin: 4vw 0 8vw;

            }

            /* --- アコーディオン全体 --- */
            .works_section_single .accordion_one {
                padding: 0 0;
                margin-bottom: 5vw;
            }

            /* アコーディオンのヘッダー（黄色い背景） */
            .works_section_single .accordion_header {
                padding: 0.5em 0;
                margin: 1.4em 0 0;
                font-size: 5vw;
            }

            /* アコーディオンの中身（薄いベージュ） */
            .works_section_single .accordion_inner {
                line-height: 1.5;
                font-size: 4.5vw;
                padding: 3vw 4vw 4vw;
            }
            
            .accordion_one .accordion_header:before {
                display: none;
            }
            .accordion_one .accordion_header:after {
                display: none;
            }
        }

.works_section_single .movie {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 2vw 5vw;
    ;
}
.works_section_single .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media all and (max-width: 860px) {
    .works_section_single .movie {
        margin: 6vw 0 0 0;
    }
}
.mds_h3 {
    font-size: 2.4vw;
    line-height: 1.2;
    color: #c58b04;
    text-align: center;
    font-weight: bold;
}
.normal_btn a {
    width: 100%;
    display: block;
    font-size: 3.0vw;
    padding: 3vw 0;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 0px solid #000;
    border-radius: 2vw;
    font-weight: bold;
    /*background: #645085;*/
    background: #e8c971;
    background: linear-gradient(180deg, #e8c971 0%, #df633e 100%);
    line-height: 1.3;
}
.txt_sub {
    font-size: 1.9vw;
    line-height: 1.6;
}
@media all and (max-width: 860px) {
.mds_h3 {
    font-size: 5vw;
}
    .txtjf {
        padding: 5vw;
        font-size: 3.8vw;
        line-height: 1.4;
        text-align: center;
    }
    .ticket_btn {
        padding: 0;
    }
    .normal_btn {
        padding: 0;
    }
    .ticket_btn a {
        font-size: 4.5vw;
        padding: 4vw 0;
        border-radius: 3vw;
    }
    .ticket_btn2 a {
        font-size: 3.5vw;
        padding: 4vw 0;
        border-radius: 3vw;
        line-height: 1.5;
    }
    .normal_btn a {
        font-size: 4vw;
        padding: 4vw 0;
        border-radius: 3vw;
    }
    .txt_sub {
        font-size: 4.2vw;
        line-height: 1.3;
    }
}
.pagetop {
    padding: 5vw 5vw 0;
}
.pagetop a img {
    width: 24%;
    height: auto;
}
.hunt_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 0%;
    background: url("../images/bg_pink.jpg") left top;
}
.hunt_list .hunt_list_item {
    width: 33%;
    padding: 0 1vw;
}
.hunt_h2 {
    font-size: 5vw;
    color: #8b250d;
    margin: 0;
    padding: 3vw 0 0;
    font-family: 'Kaisei Opti', serif;
    text-align: center;
    letter-spacing: 1.5vw;
}


.h3_note {
    font-size: 3.4vw;
    line-height: 1.2;
    text-align: center;
}
img {
    width: 96%;
    height: auto;
    margin: 1vw auto;
    vertical-align: middle;
}
.statue img {
    width: 50%;
    height: auto;
    margin: 1vw auto;
    vertical-align: middle;
}
p {
    text-align: left;
}
.btnarea {
    padding: 0 4em;
}
.btnarea a {
    border: 2px solid #59442b;
    background: #fff;
    border-radius: 8px;
    font-size: 3vw;
    text-align: center;
    padding: 1em;
    width: 100%;
    color: #59442b;
    display: block;
    text-decoration: none;
    margin: 2em auto 0;
    font-weight: bold;
}
.btnarea_pink {
    padding: 0 4em;
    color: #fff;
}
.btnarea_pink a {
    background: url("../images/detail_bg.jpg") repeat center top;
    background-size: 100% auto;
    border-radius: 8px;
    padding: 1em 0;
    margin: 1.4em 0 0em;
    font-size: 2vw;
    font-weight: bold;
    position: relative;
    user-select: none;
    transition: all 0.3s ease-out;
    text-decoration: none;
    color: #fff;
    display: block;
}
.btnarea_pink a:before {
    content: '';
    display: block;
    width: 4vw;
    height: 4vw;
    background: #ff0;
    background: url("../images/kkm_hd_limg.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    left: 15vw;
    top: 2vw;
}
.btnarea_pink a:after {
    content: '';
    display: block;
    width: 4vw;
    height: 4vw;
    background: #ff0;
    background: url("../images/kkm_hd_rimg.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    right: 15vw;
    top: 2vw;
}
.btnarea_red {
    padding: 0 4em;
    color: #fff;
}
.btnarea_red a {
    background: url("../images/detail_bg_red.jpg") repeat center top;
    background-size: 100% auto;
    border-radius: 8px;
    padding: 0.5em 0;
    margin: 1.4em 0 0em;
    font-size: 3vw;
    font-weight: bold;
    position: relative;
    user-select: none;
    transition: all 0.3s ease-out;
    text-decoration: none;
    color: #fff;
    display: block;
}
.btnarea_red a:before {
    content: '';
    display: block;
    width: 4vw;
    height: 4vw;
    background: #ff0;
    background: url("../images/kkm_hd_limg.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    left: 15vw;
    top: 2vw;
}
.btnarea_red a:after {
    content: '';
    display: block;
    width: 4vw;
    height: 4vw;
    background: #ff0;
    background: url("../images/kkm_hd_rimg.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    right: 15vw;
    top: 2vw;
}
.btnarea_blue {
    padding: 0 4em;
    color: #fff;
}
.btnarea_blue a {
    width: 60vw;
    background: url("../images/detail_bg_blue.jpg") repeat center top;
    background-size: 120% auto;
    border: 4px solid #ceb33e;
    border-radius: 8px;
    padding: 0.55em 0 0.4em;
    margin: 1.4em auto 0em;
    font-size: 3vw;
    font-weight: bold;
    position: relative;
    user-select: none;
    transition: all 0.3s ease-out;
    text-decoration: none;
    color: #e7cc58;
    display: block;
}
.btnarea_blue a:hover {
    color: #ffe46f;
    background-size: 100% auto;
}
.subev_wrap {
    padding-bottom: 10vw;
}
.subev_list .list_item {
    padding: 1em 2em;
    display: flex;
}
.subev_list .list_item .list_item_imgarea {
    width: 35%;
    padding: 0 5% 0 0;
}
.subev_list .list_item .list_item_imgarea img {
    width: 100%;
    height: auto;
}
.subev_list .list_item .list_item_txtarea {
    width: 65%;
}
.subev_list .list_item .list_item_txtarea .mds_kasen {
    text-align: left;
    margin: 0 0 0.4em 0;
    font-size: 1.1em;
}
.subev_list .list_item .list_item_txtarea .txtjf {
    padding: 0;
    text-align: left;
    font-size: 0.9em;
    line-height: 1.6;
}
.sp_list {
    padding: 0 4vw;
}
.sp_list .splist_item {
    display: flex;
    flex-direction: column;
    padding: 0 0 12vw;
}
.sp_list .splist_item .sptxt .sp_title {
    margin: 0;
    padding: 0.8em 0 0;
}
.sp_list .splist_item .sptxt .sp_subtitle {
    font-size: 0.5em;
    margin: 0;
    padding: 0.2em 0 0.8em;
}
.sp_list .splist_item .sptxt .sp_subtitle2 {
    text-align: center;
    font-size: 0.7em;
    margin: 0.8em 0 -0.8em;
    font-weight: bold;
    color: #ba0054;
}
.sp_list .splist_item .sptxt .sp_detail {
    font-size: 0.8em;
    text-align: center;
    line-height: 1.3;
}
.sp_list .splist_item .sptxt .sp_detail p {
    text-align: center;
}
.sp_list .splist_item .sptxt .sp_detail .sp_sns {
    font-size: 0.7em;
    padding: 0.1em 0 0 0;
}
.sp_list .splist_item .spimg {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    align-items: flex-end;
    justify-content: center;
}
.sp_list .splist_item .spimg img {
    width: 33.3%;
    height: auto;
    margin: 0;
}
.sp_list .splist_item .smds {
    margin: 1em 0 0.5em 0;
    padding: 0.5em 1em 0.5em;
    color: #fff;
    background: #ba0054;
    border-radius: 100vw 100vw;
    display: inline-block;
    border: 2px solid #fff;
}
.sp_list .splist_item .actor_qa_list {
    padding: 0 0 1.2em 0;
}
.sp_list .splist_item .actor_qa_list dt {
    display: inline-block;
    font-weight: bold;
    color: #ba0054;
    padding-left: 0.8em;
}
.sp_list .splist_item .actor_qa_list dd {
    display: inline-block;
}
.pics_area .pics_area_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.pics_area .pics_area_list li:nth-of-type(3n+1) {
    border-left: none;
}
.pics_area .pics_area_list .pics_area_item {
    width: 33.333%;
    height: auto;
    margin: 0;
    line-height: 0;
    /*border-right: 1px solid #fcebdb;
              border-bottom: 1px solid #fcebdb;*/
    box-sizing: border-box;
    padding: 0.1em;
}
.pics_area .pics_area_list .pics_area_item img {
    margin: 0 auto 0;
}
.pics_area .pics_area_list.somethingrose .pics_area_item {
    width: 50%;
}
.schedule {
    padding: 0 8vw;
    margin: 0 auto 3vw;
}
.schedule dl {
    display: flex;
    border-top: 1px solid #cfcfcf;
    padding: 1vw 1vw;
}
.schedule dl.week_sat {
    background-color: rgba(202, 241, 241, 0.5);
}
.schedule dl.week_sun {
    background-color: rgba(241, 202, 215, 0.5);
}
.schedule dl dt {
    font-weight: bold;
    font-size: 0.8em;
    width: 15%;
}
.schedule dl dd {
    font-size: 0.8em;
}
.schedule .schedule_txt {
    padding: 2em 0 0 0;
    font-size: 0.8em;
}
.swiper_area {
    position: relative;
    margin: -10vw 0 0;
    padding: 16vw 1em 12vw;
}
.swiper_area .streetp_list {
    position: relative;
    z-index: 2;
    height: auto;
    border: 2px solid #000;
    width: 100%;
    -webkit-transition-timing-function: linear !important;
    -o-transition-timing-function: linear !important;
    transition-timing-function: linear !important;
}
.streetp_member_list {
    position: relative;
    z-index: 10;
    /*							display: flex;
							flex-wrap: wrap;
							justify-content: space-between;
							*/
}
.streetp_member_list .streetplist_item {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    padding: 3vw 3vw;
    margin: 2vw auto;
    flex-direction: row;
    justify-content: space-between;
}
.streetp_member_list .streetplist_item .spimg {
    width: 30vw;
    padding: 0 2vw 0 0;
}
.streetp_member_list .streetplist_item .spimg img {
    width: 100%;
    height: auto;
}
.streetp_member_list .streetplist_item .sptxt {
    width: 68vw;
}
.streetp_member_list .streetplist_item .sptxt .sp_title {
    color: #9f322a;
    text-align: left;
    padding: 0 0 1vw;
    margin: 0;
    line-height: 1;
    font-size: 3vw;
    font-family: 'Zen Old Mincho', serif;
    font-weight: normal;
}
.streetp_member_list .streetplist_item .sptxt .sp_title .yomigana {
    font-size: 1.4vw;
}
.streetp_member_list .streetplist_item .sptxt .sp_detail {
    font-size: 1.2vw;
    line-height: 1.6;
    text-align: justify;
}
.streetp_member_list .streetplist_item .sptxt .sp_detail .streetp_sns_tw a {
    margin: 1.8vw 0 0;
    display: block;
    width: 2.8vw;
    height: 2.8vw;
    background: url("../images/twicon.png") no-repeat left center;
    background-size: auto 100%;
    text-indent: 9999px;
    float: right;
}
@media all and (max-width: 860px) {
    .streetp_member_list .streetplist_item .sptxt {
        width: 68vw;
    }
    .streetp_member_list .streetplist_item .sptxt .sp_title {
        color: #9f322a;
        text-align: left;
        padding: 0 0 1vw;
        margin: 0;
        line-height: 1;
        font-size: 4vw;
        font-family: 'Zen Old Mincho', serif;
        font-weight: bold;
    }
    .streetp_member_list .streetplist_item .sptxt .sp_title .yomigana {
        font-size: 1.4vw;
    }
    .streetp_member_list .streetplist_item .sptxt .sp_detail {
        font-size: 3.6vw;
        line-height: 1.4;
        text-align: justify;
    }
    .streetp_member_list .streetplist_item .sptxt .sp_detail .streetp_sns_tw a {
        margin: 1.8vw 0 0;
        display: block;
        width: 2.8vw;
        height: 2.8vw;
        background: url("../images/twicon.png") no-repeat left center;
        background-size: auto 100%;
        text-indent: 9999px;
        float: right;
    }
}
.apcom_mds {
    color: #c3052f;
    margin: 8vw auto;
    padding: 0;
    font-size: 1;
    line-height: 1;
}

.pics_area {
    width: 95%;
    margin: 1em auto 0;
}
.pics_area .pics_area_list.apcom_item {
    margin: 2em 0 3em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.pics_area .pics_area_list.apcom_item .pics_area_item {
    width: 50%;
    height: auto;
    margin: 0;
    line-height: 1.4;
    box-sizing: border-box;
    border: none;
}
.pics_area .pics_area_list.apcom_item .pics_area_item p {
    padding: 0 1em 1em;
    line-height: 2.9vw;
    text-align: center;
}
.pics_area .pics_area_list.apcom_item .pics_area_item img {
    border-right: 1px solid #fcebdb;
    margin: 0 auto 0;
}
        @media all and (max-width: 860px) {
            .pics_area {
                width: 100%;
            }
            .pics_area .pics_area_list.apcom_item {
                margin: 2em 0 0;
            }
            .pics_area .pics_area_list.apcom_item .pics_area_item {
                width: 100%;
                padding: 0vw 6vw;
            }
            .pics_area .pics_area_list.apcom_item .pics_area_item p {
                padding: 0 5vw;
                text-align: center;
                font-size: 4vw;
                line-height: 1.5;
                margin-bottom: 5vw;
            }
            .pics_area .pics_area_list.apcom_item .pics_area_item img {
                border: none;
                margin-bottom: 2em;
            }
        }

/* --- 共通レイアウト --- */
.item_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 5%;
    gap: 1vw; /* アイテム間の隙間 */
}

.item_card {
    width: 23%; /* PCは基本4枚並び */
    line-height: 1.2;
}

.item_card img {
    width: 100%;
    height: auto;
    display: block;
}

.item_card .acrkc_cap {
    padding: 1vw 0 4vw;
}

.item_card .acrkc_cap p {
    text-align: center;
    font-size: 1.5vw;
    margin: 0;
}

.item_hidden { display: none; }

        /* --- スマホ対応 (860px以下) --- */
        @media all and (max-width: 860px) {
            .item_grid {
                justify-content: space-between;
                gap: 3vw 1vw;
            }

            /* キーホルダー：スマホ3列（約32%） */
            .item_grid.sp_cols_3 .item_card {
                width: 31%;
            }

            /* モクリル：スマホ2列（約48%） */
            .item_grid.sp_cols_2 .item_card {
                width: 48%;
            }

            .item_card .acrkc_cap p {
                font-size: 3vw; /* 文字が重ならないよう調整 */
            }
        }


/* --- もっと見るボタン：基本設定 --- */
.morebtn_area {
    padding: 4vw 20vw;
    cursor: pointer;
    /* Flexboxで中身を完全に中央へ */
    display: flex;
    justify-content: center; /* 横方向中央 */
    align-items: center;     /* 縦方向中央 */
}

.morebtn_area p {
    /* display: block; は不要になります（Flexの子要素になるため） */
    width: 100%;             /* 親のpaddingを除いた幅いっぱいに広げる */
    color: #c3052f;
    border: 0.1vw solid #c3052f;
    padding: 2vw 0;
    font-size: 2vw;
    text-align: center;      /* これで中の文字が中央へ */
    margin: 0;               /* 余計なマージンをリセット */
}

/* --- 表示・非表示の切り替えロジック --- */

/* 1. 最初は「close」を隠しておく */
.morebtn_area .btxt_c {
    display: none;
}

/* 2. 最初は「more」を表示する（念のため明示） */
.morebtn_area .btxt_m {
    display: block;
}

/* 3. 親の .morebtn_area に .moreplus というクラスがついた時の設定 */
/* moreを隠す */
.morebtn_area.moreplus .btxt_m {
    display: none;
}

/* closeを出す */
.morebtn_area.moreplus .btxt_c {
    display: block;
}

/* --- スマホ用調整 --- */
@media all and (max-width: 860px) {
    .morebtn_area {
        padding: 6vw 15vw;
    }
    .morebtn_area p {
        font-size: 5vw;
        padding: 3vw 0; /* スマホでは少しボタンを厚くすると押しやすい */
    }
    
    
    
}

.mds_h2 {
    font-size: 6vw;
    text-align: center;
    letter-spacing: 0.2vw;
    margin: 0 0 3vw 0;
    line-height: 1;
    padding: 8vw 0 2vw;
    color: #cd0053;
    font-weight: normal;
}

.container {
    margin: 0 auto;
    padding-bottom: 5vw;
}
.about_table th {
    width: 20%;
    white-space: nowrap;
    text-align: left;
    border-bottom: 2px solid #cd0053;
    padding: 1vw 0 1vw 10%;
    font-weight: bold;
}
.about_table td {
    border-bottom: 1px dotted #cd0053;
    padding: 1vw 5% 1vw 5%;
}
.overflow-x-wrap .sp {
    display: none;
}
.overflow-x-wrap {
    padding: 4vw 10% 1vw 10%;
    width: 100%;
}
.overflow-x-wrap .overflow-x th, .overflow-x-wrap .overflow-x td {
    border: 1px solid #645042;
    background: #645042;
    padding: 1vw;
    font-size: 0.8em;
}
.overflow-x-wrap .overflow-x th {
    background: #c2103c;
    color: #fff;
    text-align: center;
}
.overflow-x-wrap .overflow-x th.longcell {
    width: 58%;
}
.overflow-x-wrap .overflow-x td {
    background: #edf5e2;
    color: #3e2818;
}
.overflow-x-wrap .overflow-x .sun td {
    background: #fbd4ce;
}
.overflow-x-wrap .overflow-x td .bg_red {
    background: #ad1d3e;
    color: #FFF;
    padding: 2px 8px;
}
.btm_notice {
    font-size: 0.7em;
    padding: 4vw 4em 0;
    line-height: 1.4;
}
.btm_notice a {
    color: #009bd6;
}
.ticket_btn {
    margin: 7vw auto 0vw;
    padding: 0 5vw;
}
.ticket_btn2 {
    margin: 7vw auto 0vw;
    padding: 0 5vw;
}
.normal_btn {
    margin: 4vw auto 4vw;
    padding: 0 5vw;
}
.ticket_btn a {
    width: 100%;
    display: block;
    font-size: 3.0vw;
    padding: 3vw 0;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 0px solid #000;
    border-radius: 2vw;
    font-weight: bold;
    /*background: #e60145;*/
    background: #ee8196;
    background: linear-gradient(180deg, #ee8196 0%, #de2046 100%);
    line-height: 1.3;
    margin-bottom: 1vw;
}
.ticket_btn2 a {
    width: 100%;
    display: block;
    font-size: 3.0vw;
    padding: 3vw 0;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 0px solid #000;
    border-radius: 2vw;
    font-weight: bold;
    /*background: #e60145;*/
    background: #ee8196;
    background: linear-gradient(180deg, #a9369f 0%, #650c93 100%);
    line-height: 1.3;
    margin-bottom: 1vw;
}
.normal_btn a {
    width: 100%;
    display: block;
    font-size: 3.0vw;
    padding: 3vw 0;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 0px solid #000;
    border-radius: 2vw;
    font-weight: bold;
    /*background: #645085;*/
    background: #e8c971;
    background: linear-gradient(180deg, #e8c971 0%, #df633e 100%);
    line-height: 1.3;
}
@media all and (max-width: 860px) {
    .about_table .td01 {
        padding: 3vw 0;
    }
    .container {
        margin: 0 auto;
        padding: 2vw 4vw 10vw;
        font-size: 3.2vw;
    }
    .mds_h2 {
        font-size: 10vw;
    }
    .about_table th {
        width: 20%;
        white-space: nowrap;
        text-align: left;
        border: none;
        /* border-bottom: 1px dotted #333; */
        padding: 1vw 0 1vw 1em;
        font-weight: normal;
        font-size: 1.1em;
    }
    .about_table td {
        border-bottom: 1px dotted #333;
        padding: 2vw 0 2vw 5%;
        font-size: 1.2em;
    }
    .btm_notice {
        font-size: 1.1em;
        padding: 4vw 0 0;
        line-height: 1.4;
    }
    .btm_notice a {
        color: #009bd6;
    }
    .ticket_btn {
        padding: 0;
    }
    .ticket_btn2 {
        /*padding: 0;*/
    }
   .normal_btn {
        padding: 0;
    }
    .ticket_btn a {
        font-size: 4.5vw;
        padding: 4vw 0;
        border-radius: 3vw;
    }
    .ticket_btn2 a {
        font-size: 3.5vw;
        padding: 4vw 0;
        border-radius: 3vw;
        line-height: 1.5;
    }
    .normal_btn a {
        font-size: 4vw;
        padding: 4vw 0;
        border-radius: 3vw;
    }
}
@media all and (max-width: 599px) {
    .about_table th {
        font-weight: 700;
    }
    .about_table th, .about_table td {
        display: block;
        width: 100%;
        padding: 1vw 0 1vw 1em;
    }
    .overflow-x-wrap .sp {
        display: block;
    }
    .overflow-x-wrap {
        padding: 5vw 2%;
        width: 100%;
    }
    .overflow-x-wrap {
        width: 100%;
        padding: 10px;
        overflow-x: scroll;
    }
    .overflow-x {
        width: 500px;
    }
    .overflow-x-wrap .overflow-x th, .overflow-x-wrap .overflow-x td {
        /*width: 500px;*/
        font-size: 1.2em;
        padding: 2vw;
    }
    .overflow-x-wrap .overflow-x th.longcell {
        width: 50%;
    }
}
    

/* 親コンテナ：横並びの設定 */
.focus_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2vw; /* アイテム間の隙間を簡単に作れます */
    padding: 0;
    margin: 0;
}

/* 各アイテムの箱 */
.focus_box {
    width: 45%;
    padding: 0 1vw;
}

.focus_box img {
    width: 100%;
    height: auto;
    display: block; /* 下の隙間防止 */
}

.focus_box .focus_h3 {
    font-size: 2vw;
    color: #830f0f;
    margin: 0.8em 0 1em 0;
}

.focus_box .focus_cap p {
    font-size: 1.5vw;
    color: #6b1236;
    line-height: 1.4;
    margin: 0;
}

/* --- レスポンシブ (スマホ対応) --- */
@media all and (max-width: 860px) {
    .focus_container {
        justify-content: space-between;
    }

    .focus_box {
        width: 44%;
        margin: 0 2vw 4vw; /* 下にも余白を追加 */
        padding: 0;
    }

    .focus_box .focus_h3 {
        font-size: 3.5vw;
        line-height: 1.5;
    }

    .focus_box .focus_cap p {
        font-size: 3.5vw;
        line-height: 1.2;
    }
}

    
    
    
#access .sec_access_h2 {
    text-align: center;
    /*color: #482f69;*/
    font-size: 7vw;
    line-height: 1.2;
    margin: 0 auto 0;
    padding: 0vw 0 3vw;
}
#access .sec_access_h2 .subname {
    color: #000;
    font-size: 1.6vw;
}
#access .about_table th {
    width: 20%;
    white-space: nowrap;
    border-bottom: 2px solid #8b402e;;
    padding: 1vw 0 1vw 10%;
    font-weight: bold;
}
#access .about_table td {
    border-bottom: 1px dotted #874d02;
    padding: 1vw 5% 1vw 5%;
}
#access .btm_notice {
    margin-left: 5vw;
}
@media all and (max-width: 860px) {
    #access .mds_h2 {
        font-size: 10vw;
        margin: -1.6vw auto 3vw;
        padding: 5vw 0;
    }
    #access .about_table th {
        width: 100%;
        padding: 1vw 0 1vw 0;
    }
    #access .about_table td {
        border-bottom: 1px dotted #8b402e;
        padding: 1vw 5% 1vw 5%;
    }
}

#sponsorship .mds_h2 {
    text-align: center;
    color: #ba0054;
    font-size: 6vw;
    line-height: 1.2;
    margin: 0vw auto 0;
    padding: 12vw 0 3vw;
}
#sponsorship .sptxt h4.sp_subtitle {
    color: #ffdaba;
    font-size: 3vw;
    text-align: center;
    margin: 5vw 20vw 0;
    border-bottom: solid 3px #ffdaba;
}
.sp_list .splist_item {
    display: flex;
    flex-direction: column;
    padding: 1em 0;
}
.sp_list .splist_item .sptxt {
    text-align: center;
    width: 100%;
    padding: 0 0 0 0;
}
.sp_list .splist_item .sptxt .sp_title {
    font-size: 2.4vw;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    font-weight: normal;
}
.sp_list .splist_item .sptxt .sp_subtitle {
    font-size: 1.0vw;
    line-height: 1.4;
    margin: 0 auto 20px;
    padding: 0.2vw 0;
    font-weight: bold;
    color: #d91247;
    text-decoration: underline;
    text-underline-offset: 0.5vw;
    text-decoration-thickness: 2px;
}
.sp_list .splist_item .sptxt .sp_detail {
    font-size: 0.8vw;
    line-height: 1.6;
    margin: 0.6vw 0 0 0;
    padding: 1vw 5vw;
    font-weight: normal;
}
.sp_list .splist_item .spimg {
    width: 100%;
    margin: auto;
    text-align: center;
}
.sp_list .splist_item .spimg img {
    width: 30vw;
    height: auto;
}
.sp_list .splist_item .spimg.flex a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.sp_list .splist_item .spimg.flex a img {
    width: 70px;
}
.sp_list .splist_item .spimg.flex a .comName {
    text-align: left;
    padding: 0 0 0 2vw;
}
@media all and (max-width: 860px) {
    #sponsorship .container .mds_h2 {
        font-size: 9vw;
    }
    .sp_list .splist_item .spimg img {
        width: 50vw;
        height: auto;
    }
    .sp_list .splist_item {
        padding: 1vw 0;
    }
    #sponsorship .sptxt h4.sp_subtitle {
        font-size: 4.7vw;
        margin: 5vw 20vw 0;
    }
}
footer {
    background: #e37513;
    padding: 0 0 1em;
    color: #333;
}
footer .container {
    text-align: center;
    color: #fff;
}
@media all and (max-width: 860px) {
    .migoto_hd {
        background: #000;
        width: 100%;
        top: 0;
        z-index: 1000;
    }
    .migoto_hd .hd_h1 {
        line-height: 1;
        margin: 0;
        padding: 2vw 1vw;
    }
    .migoto_hd .hd_h1 img {
        width: 50%;
    }
    .migoto_hd .nav_sp {
        display: block;
    }
    .hamburger {
        right: 0%;
    }
    .hamburger label {
        font-size: 14px;
        right: 1%;
        cursor: pointer;
        display: block;
        background: #ff0;
        position: absolute;
        top: 8px;
        color: #fff;
        background: none;
        font-weight: bold;
        line-height: 1;
    }
    .hamburger label .subtxt {
        font-size: 0.5em;
        line-height: 1;
    }
    #gnav {
        display: block;
    }
    #gnav .hd_bnrlist li {
        width: 16.66666%;
    }
    body {
        font-size: 3vw;
    }
    /*	.nav_pc {
		display: none;
	}*/
    .nav_sp {
        display: block;
    }
    section {
        padding: 0 0 10vw;
    }
    section .container {
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }
    section .container .mds_h2 .subtitle {
        font-size: 3.5vw;
        padding: 0.6em 0 0 0;
    }
    header {
        display: block;
        position: fixed;
        width: 100%;
        padding: 4% 5%;
        transition: all 0.2s ease-out;
        background: #382c19;
    }
    header.fixed {
        background: #382c19;
    }
    header .container .hd_nav {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    header .container .hd_nav .logo {
        font-size: 1em;
        width: 49.8vw;
        height: 5.6vw;
    }
    header .container .hd_nav .logo img {
        width: 100%;
        height: auto;
    }
    header .container .hd_nav .hd_nav_list {
        display: none;
    }
    a a .img_wrap {
        height: 36vw;
    }
    .subev_list .list_item {
        padding: 1em 1em;
        display: flex;
        flex-direction: column;
    }
    .subev_list .list_item .list_item_imgarea {
        width: 100%;
        padding: 0 0 0 0;
        margin: auto;
    }
    .subev_list .list_item .list_item_imgarea img {
        width: 100%;
        height: auto;
    }
    .subev_list .list_item .list_item_txtarea {
        width: 100%;
    }
    .subev_list .list_item .list_item_txtarea .mds_kasen {
        text-align: left;
        margin: 0 0 0.4em 0;
        font-size: 1.1em;
    }
    .subev_list .list_item .list_item_txtarea .txtjf {
        padding: 0;
        text-align: left;
        font-size: 0.9em;
        line-height: 1.6;
    }
    .pics_area {
        width: 100%;
        /* margin: -1.5em 0 0; */
        width: 115%;
        margin: 0 0 0 -6.8%;
    }
    .pics_area .pics_area_list {
        display: flex;
        flex-wrap: wrap;
    }
    .pics_area .pics_area_list .pics_area_item {
        width: 33.333%;
        height: auto;
        margin: 0;
        line-height: 0;
    }
    .pics_area .pics_area_list .pics_area_item img {
        margin: 0 auto 0;
        width: 100%;
        height: auto;
    }
    
    
    .about_table th {
        width: 100%;
        display: block;
        white-space: nowrap;
        text-align: left;
        border-bottom: 1px solid #cd0053;
        padding: 1vw 0 1vw 1em;
        font-weight: bold;
        font-size: 1.4em;
    }
    .about_table td {
        width: 100%;
        display: block;
        border-bottom: 1px dotted #cd0053;
        padding: 2vw 0 2vw 5%;
        padding: 0vw 2vw 6vw 5%;
        font-size: 1.4em;
    }
    .btm_notice {
        font-size: 1.1em;
        padding: 4vw 0 0;
        line-height: 1.4;
    }
   .btm_notice a {
        color: #009bd6;
    }
    .sp_list .splist_item {
        flex-direction: column;
        padding: 1em 0;
        /*
				display:flex;
				flex-direction: row-reverse;
				align-items: flex-start;
				border-bottom: 1px dashed #333;
				padding: 2vw 0vw;*/
    }
    .sp_list .splist_item .sptxt {
        width: 100%;
        padding: 0 0 0 0;
    }
    .sp_list .splist_item .sptxt .sp_title {
        font-size: 4vw;
        /*	line-height: 1.4;
						margin: 0;
						padding: 0;
						font-weight:normal; */
    }
    .sp_list .splist_item .sptxt .sp_subtitle {
        font-size: 3vw;
        /*	line-height: 1.4;
						margin: 0;
						padding: 0.2vw 0 0.6vw;
						font-weight:normal; 		*/
    }
    .sp_list .splist_item .sptxt .sp_detail {
        font-size: 3.4vw;
        /*	line-height: 1.6;
						margin: 0;
						padding: 0;
						font-weight:normal; 		*/
    }
    .sp_list .splist_item .spimg {
        width: 60%;
        margin: auto;
        /*
					img {
						width:100%;
						height:auto;
					}
					*/
    }
    footer {
        padding: 6vw 0 1em;
        font-size: 3vw;
    }
    footer .container .footer_txt_corp {
        width: 35vw;
    }
    footer .container .copy {
        font-size: 3vw;
    }
}
.newitem {
    font-family: "Courgette", cursive;
    font-weight: 400;
    font-style: normal;
    color: #c3052f;
}


    

.inner {
    padding: 0 10% 5% 10%;
    width: 100%;
}
.txtType01 {
    font-size: 1.8vw;
    color: #6f001e;
}
@media all and (max-width: 599px) {
    .inner {
        padding: 0;
        width: 100%;
    }
    .txtType01 {
        font-size: 3.5vw;
        padding: 3vw 0 0;
    }
}

.btnArea {
    width: 80%;
    margin: 0 auto;
}
.btnArea .txtType01 {
    /* font-size: 0.8em; */
    margin: 1vw 0 0 0;
}
@media all and (max-width: 599px) {
    .btnArea {
        width: 90%;
        margin: 0 auto;
    }
    .btnArea .txtType01 {
        font-size: 3.5vw;
        margin: 1vw 0 0 0;
    }
}
.ticket_btn {
    margin: 2vw auto 0vw;
    padding: 0 5vw;
}
.ticket_btn a {
    width: 100%;
    background-image: url(../images/btn_kei_a.png), url(../images/detail_bg.jpg);
    background-size: 100% auto, 120% auto;
    background-repeat: no-repeat, no-repeat;
    background-position: center, top;
    border-radius: 8px;
    padding: 1em 0.5em;
    font-size: 2.5vw;
    line-height: 1;
    font-weight: bold;
    text-align: center;
    position: relative;
    user-select: none;
    transition: all 0.3s ease-out;
    text-decoration: none;
    color: #FFF;
    display: block;
}
.ticket_btn a:hover {
    background-size: 100% auto;
}
@media all and (max-width: 599px) {
    .ticket_btn a {
        width: 100%;
        background-image: url(../images/detail_bg.jpg);
        background-size: 100% auto, 120% auto;
        background-repeat: no-repeat, no-repeat;
        background-position: center, top;
        border-radius: 8px;
        padding: 1em 0.5em;
        font-size: 5vw;
        line-height: 1;
        text-align: center;
        position: relative;
        user-select: none;
        transition: all 0.3s ease-out;
        text-decoration: none;
        color: #FFF;
        display: block;
        font-weight: bold;
    }
}


.container h2 {
    text-align: center;
    padding-left: 2vw;
    margin: -7vw auto 0;
}
.container .title_en {
    font-size: 3vw;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}
.container .title_jp {
    font-size: 1.7vw;
}
@media all and (max-width: 860px) {
    .container h2 {
        margin: 0 0 15px;
        font-size: 4.5vw;
    }
    .container .title_en {
        font-size: 5vw;
        margin: 0 13px 0 0;
    }
    .container .title_jp {
        font-size: 4vw;
    }
}

/* --- スライダー全体の共通設定 --- */
.photo-slider {
    width: 60vw;
    margin: 40px auto;
    position: relative;
}

/* スライダーの窓 */
.photo-slider .swiper-container {
    overflow: visible !important; /* カードが重なるのを見せる */
}
/* 写真を包む枠 */
.photo-slider .slider-item {
    width: 100%;
    aspect-ratio: 3 / 2; /* 3:2の箱を作る */
    overflow: hidden;    /* はみ出た部分は隠す */
    background: transparent; /* グレーの帯が出るならここを透明に、または消す */
}

/* 中の写真：ここが重要！ */
.photo-slider .slider-item img {
    width: 100% !important;  /* 親の幅いっぱいに */
    height: 100% !important; /* 親の高さ（3:2）いっぱいに */
    object-fit: cover;      /* ★重要：比率を保ったまま、隙間なく埋める */
    object-position: center; /* 写真の真ん中を中心に合わせる */
    display: block;
}

/* 左右の矢印ボタン（外枠）の設定 */
.photo-slider .swiper-button-next,
.photo-slider .swiper-button-prev {
    background: #ffca4e;
    width: 5.5vw;
    height: 5.5vw;
    margin-top: 18vw;
    border-radius: 50%;
    box-shadow: 3px 3px 0px #560f14;
    flex: none;
    justify-content: center;
}

/* 矢印の記号（オレンジの部分）の設定 */
.photo-slider .swiper-button-next::after,
.photo-slider .swiper-button-prev::after {
    font-family: swiper-icons;
    font-size: 2vw !important;
    color: #560f14 !important;
    background: transparent !important;
    font-weight: 900;
}

/* ドットの間隔をあける */
.photo-slider .swiper-pagination {
    margin-top: 2vw;
    position: relative;
}

.photo-slider .swiper-pagination-bullet-active {
    background: var(--accent-color, #e60012) !important;
}

    @media (max-width: 864px) {
        .photo-slider {
            width: 80vw;
            margin: 40px auto;
        }
        .photo-slider .swiper-button-next,
        .photo-slider .swiper-button-prev {
            width: 10vw;
            height: 10vw;
            margin-top: 24vw;
        }

        /* 矢印の記号（オレンジの部分）の設定 */
        .photo-slider .swiper-button-next::after,
        .photo-slider .swiper-button-prev::after {
            font-size: 5vw !important;
        }

        /* ドットの間隔をあける */
        .photo-slider .swiper-pagination {
            margin-top:2vw;
        }
        .swiper-button-next, .swiper-button-prev {
            width: calc(var(--swiper-navigation-size) / 40* 27);
        }
        .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
            top: 2vw;
        }
        }
