@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap');
/* チェックポイント.（ピリオド） - サブセット（開催概要公演出演者情報平成会場名日時予定時間料金注意事項販売受付問合主催企画制作後援協力他先先行抽選一般発売電子紙配信視聴本関話当楽曲内容あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉっゃゅょアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲンガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポァィゥェォッャュョヴ、。ー～「」【】『』♪■□◆◇△▲▽▼◎○●◯…・※×〒!#$%&'"()=~|{+*}<>?_-@[;:],./！”“”＃＄％＆’（）＝＋＊＜＞？＿－＠［；：］，．／abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ０１２３４５６７８９） */
@font-face {
	font-family: 'cp_period_subsetregular';
	src: url('../cp_period_subset-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
/* HachiMaruPop - サブセット（2026年7月5日（日） 会場：パシフィコ横浜　国立大ホール２０２６７５():）
@import url('https://fonts.googleapis.com/css2?family=Hachi+Maru+Pop&display=swap&text=2026%E5%B9%B47%E6%9C%885%E6%97%A5%EF%BC%88%E6%97%A5%EF%BC%89%20%E4%BC%9A%E5%A0%B4%EF%BC%9A%E3%83%91%E3%82%B7%E3%83%95%E3%82%A3%E3%82%B3%E6%A8%AA%E6%B5%9C%E3%80%80%E5%9B%BD%E7%AB%8B%E5%A4%A7%E3%83%9B%E3%83%BC%E3%83%AB%EF%BC%92%EF%BC%90%EF%BC%92%EF%BC%96%EF%BC%97%EF%BC%95%28%29%3A');
*/
/*-------------カスタムプロパティ------------*/
:root {
	--max-width: min(85vw,1260px);
	--color-white: #f9f9f9;
	--font-normal: "M PLUS 2", sans-serif;
	--font-maru: "Hachi Maru Pop", cursive;
}
/*-------------------------*/
/*Reset*/
html{margin:0; padding:0; border:0;scroll-behavior: smooth;}
*{border:0; box-sizing: border-box; margin:0; padding:0;}
body{
	font-family: var(--font-normal);
	color: var(--color-white);
	line-height:1;
	-webkit-text-size-adjust:100%;
	width:100%;
	height: auto !important;
}
body::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: -1;
	background: 
	linear-gradient(25deg, rgba(255, 101, 222, 0.3), rgba(255, 61, 61, 0.3) 20%, rgba(219, 233, 0, 0.3) 50%, rgba(34, 162, 236, 0.3) 80%, rgba(160, 88, 241, 0.3)), #000;
	background-size: cover;
}
h1,h2,h3,h4,h5,h6,p,span,table,a,img,dl,dt,dd,ul,li,ol,iframe,nav,small{
margin:0;	padding:0; font-size:100%;font-weight:normal; background:transparent;
vertical-align:baseline; border:none;}
img{vertical-align:top;}
ol, ul{list-style:none; list-style-type:none;}
a:link{color:#fffe3e; text-decoration:none;}
a:visited{color:#ffdbed; text-decoration:none;}
a:hover{color:#ffffa8; text-decoration:none;}
 .inline_block { display: inline-block; }
.onlyPc{}
.onlySp{display: none;}
/*-------------スクリーンリーダー専用（非表示）------------*/
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}

/*-- header -----------------------
#header{min-height: 94px;}
*/
/*--------------------------------------------------------*/
/*--パンくず--*/
#pan_box {
	background: #333;
	color: #fff;
	font-size: 0.8em;
	min-height: 24px;
	overflow-x: auto;
	padding: 8px 0 8px 10px;
	width: 100%;
}
#pan_box .in {
	color: #fff;
	display: flex;
	gap: 0.5em;
	margin: 0 auto;
	max-width: 1400px;
	white-space: nowrap;
}
#pan_box .in li + li::before {
	content: ">";
	padding-right: 0.5em;
}
#pan_box a:link{color:#ffffff; text-decoration:none;}
#pan_box a:visited{color:#dddddd; text-decoration:none;}
#pan_box a:hover{color:#fffd4b; text-decoration:underline;}

/*-- SNS ----------------------*/
#area-share {
display: flex;
justify-content: center;
align-items: center;
}
.ttl_share {
display: inline-block;
}
#sns_button_sp{
display: none;
}
/*
#sns_button_pc{margin: 15px auto;min-height: 50px; width: 120px;}*/
#sns_button_pc .btn_sns img{height: 50px;width: 50px;margin: 0 5px;}

#sns_button{
width:30%;
height:40px;
margin: 20px auto;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
#sns_button a{
display:block;
width:40px;
height:40px;
margin:0 !important;
}
#sns_button img{
width:40px !important;
height:40px !important;
margin:0 !important;
}

/*-- footer/PC	-------------------*/
footer{
background: #333;
clear: both;
font-size: 0.9em;
line-height: 1.5em;
margin-top: 30px;
min-height: 640px;
position: relative;
text-align: center;
z-index: 999;
}
footer .mx_copyright{
color:#fff;
padding: 8px 0;
}
footer .mx_copyright a{
color:#fff;
text-decoration:underline;
}
footer a{
color: #d00;
text-decoration: none;
}

/*-- 緊急テキスト ----------------------*/
#rp_textbox{
background: rgba(255,255,255,0.7);
border: #928484 solid 1px;
font-size: 0.9em;
margin: 20px auto;
padding: 8px;
line-height: 1.6em;
text-align: left;
max-width: 960px;
width: 90%;
}
#rp_textbox .pop_text{
background:#fff;
-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;
border: #c9c9c9 solid 1px;
font-size:0.9em;
line-height:1.5em;
margin:0 auto;
padding:20px;
text-align:left;
max-width: 900px;
word-break: break-all;
width:75%;
}
#rp_textbox .pop_text .popup_title{
border-bottom: #999 dotted 1px;
font-size:1.1em;
line-height:1.5em;
font-weight:bold;
margin:0 0 15px 0;
padding-bottom:5px;
text-align:center;
width:100%;
}
#rp_textbox .ema_img {
display: block;
text-align: center;
width: 100%;
}
#rp_textbox .ema_img img{
margin: 0 auto 10px;
max-width: 100%;
}
#rp_textbox a{
color:#d00;
text-decoration:underline;
}

/* 動画囲いタグ ----------------------　<div class="video-container"></div> */
.video-container {
padding: 56.25% 0 0;
position: relative;
width: 100%;
}
.video-container iframe{
height: 100% !important;
position: absolute;
right: 0;
top: 0;
width: 100% !important;
}

/*-- google翻訳 ----------------------*/
.skiptranslate.goog-te-gadget,
a.goog-logo-link{color:#fff !important;}

/*-- ローディング ----------------------*/
#loader{background-color:#fff; position:fixed;width:100%;height:100%;z-index: 1000;}/*背景*/
.loader,.loader:before,.loader:after {
background: #aaa;
-webkit-animation: load1 1s infinite ease-in-out;
animation: load1 1s infinite ease-in-out;
height: 4em;
width: 1em;
top: 50%;
}
.loader {
color: #ccc;
text-indent: -9999em;
margin: auto;
position: relative;
font-size: 11px;
-webkit-transform: translateZ(0);-ms-transform: translateZ(0);transform: translateZ(0);
-webkit-animation-delay: -0.16s;animation-delay: -0.16s;
position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
}
.loader:before,.loader:after {
position: absolute;
top: 0;
content: '';
}
.loader:before {
left: -1.5em;
-webkit-animation-delay: -0.32s;animation-delay: -0.32s;
}
.loader:after {
left: 1.5em;
}
@-webkit-keyframes load1 {
	0%,80%,100% {
	box-shadow: 0 0;
	height: 4em;
	}
	40% {
	box-shadow: 0 -2em;
	height: 5em;
	}
	}
	@keyframes load1 {
	0%,80%,100% {
	box-shadow: 0 0;
	height: 4em;
	}
	40% {
	box-shadow: 0 -2em;
	height: 5em;
	}
}

/* -- 花火ここから -----------------------------------------------*/
.hanabi-bg {
	position: sticky;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.hanabi {
	opacity: 0.5;
	position: absolute;
}

.hanabi-left {
	width: min(25vw,300px);
	top: 7vh;
	left: 1em;
}

.hanabi-right {
	width: min(25vw,300px);
	top: 25vh;
	right: 1em;
}

.hanabi-bottom {
	width: min(25vw,300px);
	top: 60vh;
	left: 2em;
}
/* -- 花火ここまで -----------------------------------------------*/

/* -- main ------------------------------------------------------*/
main,
header,
nav {
	position: relative;
	z-index: 1; 
}
section, nav {
	transform: rotate(0.01deg);
}
.title {
	background: url(../img/base_header.webp) center center / cover no-repeat;
	margin: auto;
	text-align: center;
}
.title img {
	width: min(100%, 1000px);
	height: auto;
	margin: auto;
	display: block;
}
.time {
	background-color: #fff;
	color: #e6005c;
	font-size: min(3.4vw, 1.75em);
	font-weight: bold;
	padding: min(3vw, 1em);
	text-align: center;
}
.txt-num{
	font-size: 1.5em;
}
.about {
	display: inline-block;
	font-family: var(--font-maru);
	font-size: min(4.5vw, 2.6em);
	font-weight: bold;
	margin-top: max(-8vw, -2em);
	line-height: min(10vw, 1.6em);
	padding-bottom: min(4vw, 1.5em);
	background: linear-gradient(90deg, #ffb1b1, #fbdf99, #cff1be, #b0e2e6, #d9bcf9);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.venue {
	font-weight: inherit;
	border-top: dotted 0.12em #746f51;
	margin-top: 0.2em;
	display: block;
}
/*-----------------------------------*/
/* nav */
#box_menu {
	align-items: center;
	background: url(../img/kirakira.png) center center / min(80%,1234px) no-repeat #f9f9f9;
	box-shadow: min(2vw, 0.4em) min(2vw, 0.4em) 0px 0px #e3007f;
	font-size: min(3.6vw, 1.5em);
	position: sticky;
	padding: min(3vw, 1em) 0;
	top: 0;
	transition: padding 0.2s ease;
	z-index: 998;
	font-family: 'cp_period_subsetregular';
}
#box_menu ul {
	align-items: center;
	display: flex;
	width: min(90vw, 800px);
	justify-content: space-between;
	margin: auto;
}
#box_menu.is-sticky {
	padding: min(2.5vw, 0.5em) 0;
}
#box_menu img {
	width: 100%;
}
.btn_top a,
.btn_about a,
.btn_program a,
.btn_tickets a,
.btn_cast a,
.btn_official a
{
	color: #333;
	text-align: center;
	display: block;
	text-shadow: 2px 2px 0 #f9f9f9, -2px -2px 0 #f9f9f9, -2px 2px 0 #f9f9f9, 2px -2px 0 #f9f9f9, 0px 2px 0 #f9f9f9, 0 -2px 0 #f9f9f9, -2px 0 0 #f9f9f9, 2px 0 0 #f9f9f9;
}
.btn_top span,
.btn_about span,
.btn_program span,
.btn_tickets span,
.btn_cast span,
.btn_official span {
	display: block;
	font-size: 0.6em;
	margin-top: 0.25em;
	transform: rotate(0.05deg);
}

.btn_official {
	background-color: #f8fcf8;
	padding: min(1vw, 0.25em) min(3vw, 1em);
	border-radius: min(2vw, 0.25em);
}

.btn_official a {
	color: #281d1b;
	text-shadow: none;
	font-weight: normal;
}

[id^="area-"] {
  scroll-margin-top: 5em; /* メニュー分の余白 */
}

/*-----リード文ここから-----*/
#area-lead {
	background: transparent;
	border-radius: min(4vw, 1.2em);
}
.decorated-box {
	font-size: min(3.6vw, 1.8em);
	font-weight: bold;
	line-height: 1.8em;
	word-break: keep-all;
	text-align: center;
}
/*-----リード文ここまで-----*/

.area-box {
	background-image: url(../img/heart.png);
	border-radius: min(3vw, 1em);
	width: var(--max-width);
	margin: min(15vw, 5em) auto;
	display: flow-root;
	position: relative;
}

#area-cast { background-color: rgb(160 0 120 / 80%); }
#area-program { background-color: rgb(138 145 16 / 80%); }
#area-about { background-color: rgb(16 61 145 / 80%); }
#area-tickets { background-color: rgb(13 96 0 / 80%); }

.area-box h2 {
	font-size: min(4.2vw, 2.4em);
	font-family: 'cp_period_subsetregular';
	padding: min(16vw, 2.8em) 0;
	background-color: #ffffff;
	background: url(../img/dot_fukidashi.svg) center top / contain no-repeat transparent;
	width: min(70vw, 16em);
	aspect-ratio: 966 / 385;
	color: #333;
	position: absolute;
	top: max(-4vw, -1em);
	left: -1em;
	text-align: center;
}
#cast-title { filter: drop-shadow(0.2em 0.2em 0 rgba(92, 121, 255, 0.9)); }
#program-title { filter: drop-shadow(0.2em 0.2em 0 rgb(23 208 255 / 80%)); }
#about-title { filter: drop-shadow(0.2em 0.2em 0 rgba(152, 246, 90, 0.9)); }
#tickets-title { filter: drop-shadow(0.2em 0.2em 0 rgba(255, 216, 0, 0.9)); }

.title_main {
	font-weight: inherit;
	transform: rotate(-10deg);
	display: block;
}
.title_sub {
	letter-spacing: 0.1em;
	font-size: 0.6em;
}
.contents {
	drop-shadow(0px 0px 3px rgba(0,0,0,0.1));
	font-size: min(3.2vw, 1.2em);
	line-height: min(5vw, 1.4em);
	margin: min(5vw, 5em);
	margin-top: min(20vw, 10em);
	/*word-break: keep-all;
	overflow-wrap: break-word;
	word-break: normal;*/
}

.contents-note {
	margin-top: 1.5em;
	font-size: 2em;
	font-weight: bold;
	color: #f9ff25;
	text-align: right;
	transform: rotate(-10deg);
}

.event-items {
	text-align: left;
	padding-top: 2vw;
}

.event_item_title {
	border-bottom: 1px solid rgb(255 255 255 / 50%);
	font-size: min(4vw, 1.2em);
	font-weight: bold;
	line-height: 1.2em;
	margin: min(5vw, 2em) 0 min(2vw, 0.5em);
	padding-bottom: min(2vw, 0.5em);
}

.event-address, .event-access, .event-note {
	margin-top: 0.5em;
	display: inline-block;
	opacity: 0.9;
	font-size: 0.9em;
}

.event-access a, .event-access a:visited {
	border: solid 1px #fffe3e;
	padding: 0.2em 0.5em;
	border-radius: 2em;
	color: #fffe3e;
}

.event-organizers li {
	list-style-type: none;
}
/*
.event-organizers li:not(:last-child)::after {
	content: "、";
}
*/

#areaCorner {
	align-items: stretch;
	padding-top: min(5vw, 3em);
	align-items: start;
	display: flex;
	justify-content: space-between;
	margin-top: min(4vw, 60px);
	flex-wrap: wrap;
}

#areaCorner dl {
	width: 49%;
	background-color: rgba(255, 255, 255, 0.8);
	border-radius: min(3vw, 1em);
	box-shadow: 0.05em 0.1em 0.3em rgba(0, 0, 0, 0.5);
	margin-top: 2%;
}
#areaCorner dt {
	border-bottom: dashed 1px #786b3d;
	color: #333;
	font-size: min(3.8vw, 1.1em);
	font-weight: bold;
	margin: min(3vw, 1em) min(3vw, 1em) 0;
	padding-bottom: min(0.8vw, 14px);
	text-align: center;
	word-break: keep-all;
}
#areaCorner dd {
	font-size: min(3vw, 1em);
	margin: min(3vw, 1em);
	color: #333;
}
#areaCorner dd img {
	width: 100%;
}

/*-----リンクボタンここから-----*/
.list_btn {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    gap: 1em 0;
    justify-content: space-between;
    margin-top: 1em;
}
.list_btn li {
	flex-basis: calc(50% - 0.5em);
	list-style: none;
}

.list_btn .btn-w-full {
	flex-basis: 100%;
}

.link_btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	align-items: center;
	margin: 0;
	justify-content: space-between;
	background: linear-gradient(90deg, rgb(255 255 190 / 90%), rgb(255 255 75 / 90%));
	box-shadow: 0 0 10px rgba(43, 22, 41, 0.4);
	color: rgb(0 0 0 / 80%) !important;
	font-weight: normal;
	text-align: left;
	display: flex;
	padding: min(2vw, 0.5em) min(3vw, 1em) min(2vw, 0.5em) min(3vw, 1em);
	width: auto;
	border-radius: 2em;
}

.link_btn span {
    width: calc(100% - min(4vw, 1.2em));
    font-weight: bold;
}
.link_btn small {
    font-size: min(3.6vw, 1em);
}

li:has(.link_btn) {
    margin: 0 !important;
}

.ext-icon {
	width: min(4vw, 1.2em);
	height: min(4vw, 1.2em);
	fill: currentColor;
}

.ext-icon path {
    fill: rgb(0 0 0 / 80%);
}
/*-----リンクボタンここまで-----*/

.event-items summary {
	font-size: min(5vw, 1.2em);
	font-weight: bold;
	margin: min(5vw, 2em) 0 min(3vw, 1em) 0;
	background-color: rgb(0 0 0 / 50%);
	padding: min(2.5vw, 0.6em);
}

del {
	text-decoration-thickness: 2px;
}

summary .inline_block {
	margin-left: 1em;
}

.ticket-list {
    display: flex;
    align-items: flex-start;
    gap: min(2vw, 0.25em);
    background: #f2f2f2;
    margin: min(5vw, 2em) 0 min(3vw, 1em) 0;
    padding: min(2vw, 0.25em);
}

.ticket-list-text p {
    margin: 0;
    line-height: min(5vw, 1.4em);
    font-weight: bold;
    font-size: min(5vw, 1.2em);
}

.ticket-price {
    margin-left: 1.5em;
}
/*
#area-tickets .event_item_text + .event_item_title {
	margin-top: min(4vw, 1.2em);
}
*/
#area-ticket .event_item_text ul {
    margin-top: 2em !important;
}

.event_item_text ul, .ticket-benefits li {
    list-style-type: disc;
}
/*
.event_item_text ul li {
    margin: 0.8em 0;
}
*/
.ticket-benefits li a::before {
	content: "▶";
	margin-right: 0.3em;
}

.emphasis {
	border: solid 0.25em rgba(194, 44, 212, 0.4);
	display: block;
	font-size: min(4vw, 1.2em);
	border-radius: min(2vw, 0.5em);
	padding: min(3vw, 1em);
	margin: min(4vw, 1.2em) 0;
	font-weight: normal;
	word-break: keep-all;
}

.t_underline {
	color: #ce0d3d;
	display: inline !important;
	font-weight: bold;
	text-decoration: underline;
}

.ticket-notes {
	list-style: '※ ' !important;
	margin-left: 1.5em;
}

.toiawase_btn {
	background: linear-gradient(90deg, #9cdc79, #b5ec93);
	box-shadow: 0 0 10px rgba(43, 22, 41, 0.4);
	color: #101b0a !important;
	border-radius: 10px;
	display: block;
	font-size: min(2.8vw, 1em);
	font-weight: bold;
	margin: 1em auto;
	padding: 1em;
	text-align: center;
	text-decoration: none !important;
	transition: 0.2s opacity;
	width: 100%;
	max-width: 30em;
}

/*-----出演者ここから-----*/

.media-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	padding: 0;
	padding-top: 5vw;
	margin: 0;
	list-style: none;
}

.media-card img {
	width: 100%;
	height: auto;
	display: block;
}

.media-text {
	margin-top: 0.5em;
	line-height: 1.2em;
	text-align: center;
}

/* スマホ：2カラム */
@media (max-width: 767px) {
	.media-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}


.media-thumb {
	display: block;
	padding: 0;
	border: none;
	background: none;
	width: 100%;
	cursor: pointer;
	position: relative;
}

.media-thumb img {
	width: 100%;
	height: auto;
	display: block;
}

/* 拡大アイコン */
.media-thumb::after {
	content: "＋";
	position: absolute;
	right: min(1vw, 0.5em);
	bottom: min(1vw, 0.5em);
	width: min(5vw, 1.5em);
	height: min(5vw, 1.5em);
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgb(255 255 255 / 80%);
	color: #221715;
	font-size: min(5vw, 1.5em);
	font-weight: bold;
	border-radius: 50%;
	pointer-events: none;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

/* hover時にちょいアピール（PCのみ） */
@media (hover: hover) {
	.media-thumb:hover::after {
		transform: scale(1.2);
		opacity: 1;
	}
}

.list_mc {
	border-top: dotted 0.1em rgba(255, 255, 255, 0.5);
	padding-top: 2em;
	margin-top: 2em;
}

.deg {
	padding: 0.2em 0.6em 0.35em;
	border-radius: 1em;
	display: inline-block;
	background-color: rgba(0, 0, 0, 0.5);
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.8em;
	width: fit-content;
	margin-right: 0.2em;
	margin-left: -0.4em;
}

/* --- modal --- */

/* overlay */
.modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease;
}

.modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.modal.is-open .modal-overlay {
	opacity: 1;
}


/* box */
.modal-content {
	color: #333;
	position: relative;
	max-width: min(90vw, 900px);
	max-height: 90vh;
	margin: 5vh auto 0;
	background: #fff;
	border-radius: 12px;
	padding: min(6vw,2em);
	box-sizing: border-box;
	overflow: auto;
	opacity: 0;
	transform: translateY(20px) scale(0.98);
	transition:
		opacity 0.3s ease,
		transform 0.3s cubic-bezier(.2,.8,.2,1);
}

.modal.is-open .modal-content {
	opacity: 1;
	transform: translateY(0) scale(1);
}

/* アニメーションOFFにしている人用 */
@media (prefers-reduced-motion: reduce) {
	.modal,
	.modal-overlay,
	.modal-content {
		transition: none;
	}
}

/* close */
.modal-close {
	position: absolute;
	top: min(2vw, 0.25em);
	right: min(3vw, 0.3em);
	font-size: min(8vw, 3em);
	line-height: 0.8em;
	background: none;
	border: none;
	cursor: pointer;
}

/* logo */
.modal-logo img {
	display: block;
	max-width: 200px;
	margin: 0 auto 16px;
}

/* image */
.modal-image {
	max-width: 520px;
	margin: auto;
}
.modal-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

/* name */
.modal-name {
	margin-top: min(3vw, 1em);
	text-align: center;
	font-weight: bold;
	font-size: min(4vw, 1.4em);
}

.modal-deg {
    padding: 0.2em 0.6em 0.35em;
    border-radius: 1em;
    display: block;
    background-color: rgb(0 0 0 / 80%);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9em;
    width: fit-content;
    margin: 1em auto -0.5em;
}

/*-----出演者ここまで-----*/

.upgrade-box {
	border: 1px solid #ffb6a5;
	background: #fff;
}

.upgrade-title {
    margin: 0;
    padding: min(2vw, 0.5em);
    background: #ffdb8d;
    font-weight: bold;
}

.upgrade-body {
    padding: min(3vw, 1em);
    line-height: min(5vw, 1.3em);
}

.upgrade-body p {
	margin: 0 0 1em;
	font-size: 0.9em;
}

.upgrade-body p:last-child {
	margin-bottom: 0;
}

/* -------------------------------------------------- */
.sns-menu {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	font-size: min(3vw, 1.2em);
}
.sns-menu ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1em;
	margin: 1em;
}
.sns-btn {
	--radius: 3em;
	--icon-size: 1.5em;
	display: flex;
	align-items: center;
	gap: 0.75em;
	padding: 0.5em 1em;
	border-radius: var(--radius);
	color: #fff !important;
	text-decoration: none;
	font-weight: 600;
	line-height: 1;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	outline: min(1vw, 0.1em) solid rgba(255, 255, 255, 0.9);
	outline-offset: -2px;
	height: 3.5em;
}
.sns-btn:hover, .btn_tweet:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.sns-icon {
	flex: 0 0 auto;
	width: var(--icon-size);
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
}
.sns-x {
	background: #000;
	border: 1px solid rgba(255, 255, 255, 0.6);
}
.sns-instagram {
	background: linear-gradient(135deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5);
}
/* TAB	-------------------------------------------------- */
@media screen and (max-width:900px) {

	/*-- 緊急テキスト ----------------------*/
	#rp_textbox{
	margin: 10px auto;
	max-width:640px;
	width:85%;
	}
	#rp_textbox .pop_text{}
	#rp_textbox .popup_title{
	margin-bottom:10px;
	}

	/*-- SNS -----------------------*/
	#sns_button_pc{
	display: none;
	}
	#sns_button_sp{
	display: block;
	padding: 0;
	text-align: center;
	}
	#sns_button_sp .btn_sns{
	margin: 0 2px;
	}
	#sns_button_sp .btn_sns img{
	height: 50px; width: 50px;
	}

}
/* SP	-------------------------------------------------- */
@media screen and (max-width:640px) {
	#pan_box {
		overflow-x: auto;
	}
	#box_menu.is-sticky {
		font-size: min(3vw, 1.8em);
		padding: min(4vw, 1.5em) 0;
	}
	#box_menu ul {
		justify-content: space-around;
	}
	.list_btn li {
		flex-basis: 100%;
	}
	#areaCorner dl {
	    width: 100% !important;
	}
}