@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Acme&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=PT+Sans:wght@700&display=swap');

/*====================================
/*
/* BASE
/*
/*===================================*/
html{
height: 100%;/*-- フッターを最下部に固定するための指定 --*/
font-size: 62.5%; /*-- ベースのフォントサイズを10pxに指定 各要素のフォントサイズ指定はremで --*/
}

body{
font-family: 'M PLUS 1p', sans-serif;
color: #2D334A;
font-size: 1.4em;
font-weight: 300;
-webkit-text-size-adjust: 100%;/*-- iOSのSafariで意図せずフォントサイズが大きくなるのを防ぐ --*/
min-height: 100%; /*-- フッターを最下部に固定するための指定 --*/
display: flex; /*-- フッターを最下部に固定するための指定 --*/
flex-direction: column; /*-- フッターを最下部に固定するための指定 --*/
width: 100%;
height: 100vh;
background: #FFFFFE;
animation: fadeIn 3s ease 0s 1 normal;
-webkit-animation: fadeIn 3s ease 0s 1 normal;
}

@keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

.contents {
flex: 1; /*-- フッターを最下部に固定するための指定 --*/
}

/*====================================:
/*
/* COMMON
/*
/*===================================*/

/*-- 画像のマウスイベントを無効に --*/
img {
pointer-events: none;
}

/*-- 取り消し線 --*/
.strike {
text-decoration:line-through;
text-decoration-color:#2D334A;
}

/*====================================
 テキストリンク
====================================*/
a {
text-decoration: underline
color: #272343;
}

a:link,
a:visited {
text-decoration: underline;
color: #272343;
}

a:hover,
a:active {
text-decoration: none;
color: #272343;
}

/*====================================
 ページトップへ戻る
====================================*/
.gotop {
position: fixed;
bottom: 1em; right: 1em;
z-index: 3;
}

.gotop a {
border: solid 1px rgb(203,206,208,.8);
border-radius: 50%;
width: 40px;
height: 40px;
display: block;
transition: .5s ease;
}

.gotop a span::before {
content: "";
display: block;
width: 30%;
height: 30%;
border-left: 2px solid rgb(203,206,208,.8);
border-top: 2px solid rgb(203,206,208,.8);
border-radius: 10%;
transform: translate(-50%, 0) rotate(45deg);
position: absolute;
top: 38%; left: 50%;
}

.gotop a:link,
.gotop a:visited {
}

.gotop a:hover,
.gotop a:active {
opacity: .6;
}

/*====================================
/*
/* FOOTER
/*
/*===================================*/
footer {
width: 100%;
background: #16161a;
color: #FFFFFE;
}

footer .inner {
width: 96%;
margin: 0 auto;
padding: 3em 0 2em;
}

footer .inner a {
text-decoration: none;
color: #FFFFFE;
}

footer .inner a:link,
footer .inner a:visited {
text-decoration: none;
color: #FFFFFE;
}

footer .inner a:hover,
footer .inner a:active {
text-decoration: underline;
color: #FFFFFE;
}
/*----------------------
 フッターインフォ アウター
----------------------*/
.ft_info_box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 2em 0;
}

/*----------------------
 フッターインフォ
----------------------*/
.ft_info {
font-size: 1.1rem;
line-height: 1.8em;
text-align: center;
font-weight: 500;
order: 2;
}

.ft_info .term {
display: inline-block;
}

.ft_info .term::after {
content: "：";
}

.ft_info .desc {
display: inline-block;
}

/*----------------------
 コピーライト
----------------------*/
.credit {
font-size: 1.0rem;
line-height: 1.4em;
margin: 4em 0 0;
text-align: center;
}

/*----------------------
 SNS
----------------------*/
.sns_info {
background: #27272e;
text-align: center;
/*margin: 2em 0 0;*/
padding: 2em 0;
}

.sns_list {
display: flex;
justify-content: center;
gap: 1em;
}

.sns_list .item {
width: 2em;
height: 2em;
line-height: 2em;
border-radius: 50%;
background: rgba(156,159,159,.7);
font-size: 2rem;
transition: .5s ease;
}

.sns_list .item i {
color: #CCC;
}

.sns_list .item:hover {
opacity: .6;
cursor: pointer;
}

/*----------------------
 アーカイブリンク
----------------------*/
.archive_list {
font-family: 'Acme', sans-serif;
display: flex;
align-items: center;
gap: 0 .2em;
order: 1;
}

.archive_list .title{
font-size: 1.8rem;
}

.archive_list .item {
font-size: 1.8rem;
display: flex;
align-items: center;
gap: 0 .2em;
}

.archive_list .item a {
text-decoration: none;
color: #FFFFFE;
}

.archive_list .item a:link,
.archive_list .item a:visited {
color: #FFFFFE;
text-decoration: underline;
}

.archive_list .item a:hover,
.archive_list .item a:active {
color: #FFFFFE;
text-decoration: none;
}

.archive_list .item::before {
content: " / ";
}


/*====================================
/*
/* HEADER
/*
/*===================================*/
header {
width: 100%;
background: #000000;
text-align: center;
position: fixed;
z-index: 9999;
transition: background-color 1s linear;
}

header.scroll {
background: rgba(0,0,0,.8);
}

header .inner {
width: 96%;
height: 5em;
margin: 0 auto;
display: flex;
align-items: center;
position: relative;
}

header h1 {
width: 16em;
height: auto;
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
}

header h1 img {
width: 100%;
}

/*----------------------
 ナビゲーション
----------------------*/
nav {
font-family: 'Poppins', sans-serif;
display: block;
position: fixed;
top: -100vh; left: 0; bottom: 0;
width: 100%;
height: 100vh;
background: rgba(255, 255, 255, 1);
overflow-x: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
transition: all .5s ease;
padding-top: 5em;
text-align: center;
z-index: 8888;
}

nav.open {
top: 0;
}

nav .main_menu {
line-height: 0;
}

nav .main_menu > .item {
width: 100%;
height: 3em;
line-height: 3em;
white-space: nowrap;
font-size: 1.6rem;
cursor: pointer;
}

nav .main_menu > .item a {
width: 100%;
height: 100%;
color: #272343;
display: block;
text-decoration: none;
}

nav .main_menu > .item a:link,
nav .main_menu > .item a:visited {
color: #272343;
text-decoration: none;
}

nav .main_menu > .item a:hover,
nav .main_menu > .item a:active {
color: #272343;
background: #F2F4F6;
text-decoration: none;
}

/* ドロップダウンメニューのスタイル */
nav .sub_menu {
background: #FFF;
border-radius: .8em;
}

nav .sub_menu {
line-height: 1;
}

nav .sub_menu > li > a {
padding: 1em 0 1em 1em;
}

nav .sub_menu > li  {
position: relative;
}

/* ドロップダウンメニューの矢印アイコン */
nav .dropdown {
position: relative;
}

nav .dropdown.pc::before {
content: "";
display: block;
width: .4em;
height: .4em;
border-top: .15em solid #000;
border-left: .15em solid #000;
position: absolute;
top: 40%;
right: 2em;
transform: rotate(-135deg);
transition: transform .5s;
}

nav .dropdown.pc.active::before {
transform: rotate(45deg);
transition: transform .5s;
}

/*-- disable --*/
nav ul li.disable {
pointer-events: none;
opacity: .3;
}

/*----------------------
 高崎ロックフェスリンク
----------------------*/
nav .main_menu > .item img {
width: 9em;
height: auto;
margin: 1em 0 0;
}

/*----------------------
 toggle_btn
----------------------*/
.toggle_btn {
display: block;
position: absolute;
top: auto; right: 0;
width: 30px;
height: 30px;
text-indent: -9999px;
cursor: pointer;
transition: all .5s;
}

.toggle_btn span {
display: block;
position: absolute;
background: #FFF;
left: 4px;
width: 22px;
height: 2px;
transition: all .5s;
}

.toggle_btn span.scroll {
background: #FFFFFE;
}

.toggle_btn span:nth-child(1) {
top: 6px;
}

.toggle_btn span:nth-child(2) {
top: 14px;
}

.toggle_btn span:nth-child(3) {
top: 22px;
}

.toggle_btn.open  {
}

.toggle_btn.open span {
}

.toggle_btn.open  span:nth-child(1) {
transform: translate(0, 8px) rotate(-45deg);
}

.toggle_btn.open span:nth-child(2) {
opacity: 0;
transform: translate(0, 20px);
transition: all .4s ease-out;
}

.toggle_btn.open span:nth-child(3) {
transform: translate(0, -8px) rotate(45deg);
}


/*====================================
/*
/* CONTENTS
/*
/*===================================*/
.contents {
width: 100%;
text-align: center;
/*background: #FFFFFE;*/
}

.contents.lower {
padding: 6em 0;
background: #FFFFFE;
}

/*====================================
/*
/* Slipstream
/*
/*===================================*/
/*--
 background
--*/
.contents.ss {
width: 100%
z-index: -1;
color: #FFFFFE;
}

.contents.ss::before {
content: "";
display: block;
position: fixed;
top: 0; left: 0;
z-index: -2;
width: 100%;
height: 100vh;
/*background: url(../img/img_ss_bg.jpg) no-repeat center;
background-size: cover;
background-position: right 20% top 60%;*/
}

.contents.ss::after {
content: "";
display: block;
position: fixed;
top: 0; left: 0;
z-index: -1;
width: 100%;
height: 100vh;
background: rgba(0,0,0,1);
}

.contents.ss .headline {
width: 60%;
max-width: 480px;
margin: 1em auto 0;
}

.contents.ss .headline img {
width: 100%;
height: auto;
}

.contents.ss .lead {
text-align: center;
font-size: 1.6rem;
line-height: 1.4em;
}

.ss_list {
display: flex;
justify-content: center;
width: 90%;
max-width: 380px;
margin: 3em auto;
gap: 1em;
}

.ss_list_item {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
}

.ss_list_item a {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
line-height: 1.4em;
padding: 1em;
color: #FFFFFE;
text-decoration: none;
font-weight: bold;
border: solid 1px #FFFFFE;
border-radius: 100vh;
transition: opacity .4s ease;
}

.ss_list_item a:link,
.ss_list_item a:visited {
color: #FFFFFE;
text-decoration: none;
}

.ss_list_item a:hover,
.ss_list_item a:active {
color: #FFFFFE;
text-decoration: none;
opacity: .6;
}

/*====================================
/*
/* TOP PAGE
/*
/*===================================*/

/*====================================
 背景動画
====================================*/
#bg_video{
position: fixed;
width: 100vw;
height: 100vh;
z-index: -1;
top: 0;
right:0;
left:0;
bottom:0;
overflow: hidden;
}

#video {
position: absolute;
z-index: -1;
top: 50%;
left: 50%;
transform: translate(-50%, -55%);
/*width: 178vh;*/
width: 200vh;
height: auto;
min-height: 100%;
min-width: 100%;
}


/*====================================
 HERO
====================================*/
.hero {
width: 100%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
color: #FFF;
overflow: hidden;
}

.hero_img {
width: 70%;
max-width: 480px;
height: auto;
margin-top: 4em;
transition: all .2s ease;
}

.hero_img.after {
width: 80%;
max-width: 960px;
margin-top: -4em;
}

.hero_img img {
width: 100%;
}

.hero_img img.sp {
display: block;
}

.hero_img img.pc {
display: none;
}


.hero p {
font-family: 'PT Sans', sans-serif;
font-size: 2.2rem;
line-height: 1em;
}

.hero p span {
display: inline-block;
}

.hero .date {
font-family: 'Poppins', sans-serif;
font-size: 2.6rem;
font-weight: bold;
line-height: 1.1em;
margin: 1.5em 0 0;
}

.hero .date span {
font-size: 1.4rem;
}

.hero .venue {
margin: .5em 0 0;
line-height: 1.4em;
font-size: 1.6rem;
font-weight: 700;
}


/*====================================
 ARTICLE COMMON
====================================*/
.article {
width: 100%;
}

.article > .inner {
width: 96%;
margin: 0 auto 0;
padding: 8em 0;
}

.article.bg_wh {
background: rgba(255,255,255,.95);
}

.article.bg_gry {
background: rgba(245,247,250,.95);
}

.article.bg_blk {
background: rgba(66,66,66,.8);
}

.article.bg_prpl {
background: rgba(249,235,255,.85);
}

.article.bg_tp {
background: rgba(0,0,0,.6);
}

.contents.lower .article > .inner {
padding: 4em 0 0;
}

.article .lead {
width: 90%;
line-height: 1.6em;
margin: 3em auto 0;
text-align: left;
}

/*----------------------
 後日詳細発表
----------------------*/
.tba_box {
width: 70%;
max-width: 22em;
margin: 4em auto 0;
}

.mssg img {
width: 70%;
max-width: 22em;
}

.mssg_01 {
transform: rotate(-18deg);
}

.mssg_02 {
transform: rotate(18deg);
}

/*.mssg {
position: relative;
margin: 0 auto 0;
padding: .5em;
width: 10em;
height: 10em;
border: .3em double #dadee4;
border-radius: 50%;
color: #dadee4;
text-align: center;
font-size: 2.2rem;
font-family: 'Poppins', sans-serif;
letter-spacing: -.02em;
line-height: 8.5em;
}

.mssg::before{
position: absolute;
top: 3em;
padding: 0 0 .8em;
display: block;
width: 90%;
border-bottom:.05em solid #dadee4;
content: 'Slipstream presents';
font-size: 1.1rem;
line-height: 1;
}

.mssg::after{
position: absolute;
bottom: 16%;
display: block;
padding: .8em 0 0;
width: 90%;
border-top: .05em solid #dadee4;
content: 'KITASAN ROLLING';
font-size: 1.2rem;
line-height: 1;
}*/

/*----------------------
 見出し
----------------------*/
.headline {
font-family: 'Poppins', sans-serif;
font-size: 3.6rem;
}

.article.bg_blk .headline,
.article.bg_tp .headline {
color: #FFF;
}

.hd_lineup_sub span {
font-size: 1.8rem;
margin-left: .2em;
}
/*====================================
 NEWS
====================================*/
.news {
padding: 4em 0;
}

.news > .inner {
width: 90%;
margin: 0 auto 0;
position: relative;
}

.news > .inner > .headline {
font-size: 1.8rem;
position: absolute;
color: #FFF;
left: -.3em;
top: 50%;
transform: translate(0,-50%) rotate(270deg);
}

.link_more {
position: absolute;
bottom: .6em; right: 1.6em;
}

.link_more a {
font-family: 'Poppins', sans-serif;
position: relative;
font-size: 1.4rem;
}

.link_more a::after {
content: '';
display: block;
width: .3em;
height: .3em;
border-top: .15em solid #272343;
border-left: .15em solid #272343;
transform: translate(0,-50%) rotate(135deg);
position: absolute;
top: 50%; right: -.6em;
transition: all .2s ease;
}

.link_more a,
.link_more a:link,
.link_more a:visited {
color: #272343;
}

.link_more a:hover,
.link_more a:active {
color: #272343;
opacity: .6;
text-decoration: none;
}


.link_more a:hover::after,
.link_more a:active::after {
top: 50%; right: -.8em;
}

.news_list {
padding: 1em 2em 2em;
text-align: left;
line-height: 1.6em;
border-top: solid .2em #272343;
border-right: solid .2em #272343;
border-bottom: solid .2em #272343;
border-left: solid 3em #272343;
border-radius: .8em;
background: #FFFFFE;
display: flex;
flex-wrap: wrap;
flex-direction: column;
}

.news_list .term {
width: 100%;
margin: 1em 0 0;
}

.news_list .desc {
width: 100%;
margin: .2em 0 0;
}

/*====================================
 ABOUT
====================================*/
.lead_txt {
font-size: 2.0rem;
line-height: 1.3em;
font-weight: bold;
margin: 1.5em 0 0;
}

.sub_lead_txt {
width: 90%;
font-size: 1.5rem;
line-height: 1.8em;
margin: 1em auto 0;
text-align: left;
}

.sub_lead_txt br {
display: none;
}

.sub_txt {
font-size: 1.2rem;
font-weight: bold;
line-height: 1.6em;
text-align: center;
}

.sub_txt span {
display: inline-block;
}

.sub_txt + .sub_txt {
margin: .8em 0 0;
}

.about_info {
margin: 4em 0 0;
}

.about_info .event_name {
font-family: 'Poppins', sans-serif;
font-size: 2.8rem;
font-weight: bold;
letter-spacing: -.04em;
line-height: 1.1em;
}

.about_info .event_name > span {
display: block;
font-size: 1.3rem;
letter-spacing: 0em;
}

.about_info .date {
display: flex;
flex-wrap: wrap;
gap: .2em 0;
justify-content: center;
align-items: center;
font-family: 'Poppins', sans-serif;
font-size: 2.4rem;
font-weight: bold;
margin: 1em 0 0;
}

.about_info .date span.dow {
font-size: 1.4rem;
margin: .5em .5em 0 .2em;
}

.about_info .date span.hd {
width: 100%;
font-size: 1.4rem;
display: block;
}

.about_info .date span.hd::before,
.about_info .date span.hd::after {
content: "▼";
}

.about_info .time {
font-size: 1.8rem;
font-weight: bold;
line-height: 1.2em;
margin: .5em 0 0;
}

.about_info .site {
font-size: 1.6rem;
font-weight: bold;
line-height: 1.1em;
margin: 1em 0 0;
}

.about_info .site span.hd {
font-size: 1.4rem;
display: block;
margin: 0 0 .5em;
}

.about_info .site span.hd::before,
.about_info .site span.hd::after {
content: "▼";
}

/*====================================
 LINE UP
====================================*/
.hd_lineup_sub {
font-family: 'Poppins', sans-serif;
font-size: 2.0rem;
color: #FFF;
margin: 3em 0 0;
}

.artist_box {
width: 86%;
margin: 2em auto 0;
display: flex;
flex-wrap: wrap;
gap: 3em 1em;
}

.artist_item,
.opening_act_item {
width: calc(50% - .5em);
position: relative;
}

.artist_item a,
.opening_act_item a {
display: block;
width: 100%;
height: 100%;
cursor: pointer;
}

.artist_item:has(.new)::before,
.opening_act_item:has(.new)::before {
font-size: 1.1rem;
position: absolute;
display: inline-block;
content: "NEW";
color: #FFF;
top: .3em;
right: -.6em;
font-weight: bold;
z-index: 2;
background: #E95399;
padding: .1em .5em;
transform: rotate(30deg);
animation: blinking 1s ease-in-out infinite alternate;
}
 
@keyframes blinking {
0% {opacity: 0;}
100% {opacity: 1;}
}

.artist_img {
position: relative;
overflow: hidden;
padding-top: 65%;
background: #000;
box-shadow: -.5em .5em 0 0 rgba(255, 255, 255, .2);
}

.artist_img img {
width: 100%;
height: auto;
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
transition: transform .6s ease;
}

.artist_img img.h100 {
width: auto;
height: 100%;
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
transition: transform .6s ease;
}


/*.artist_img.kotori,
.artist_img.shishamo {
background: #FFF;
}

.artist_img.shishamo img {
width: auto;
height: 100%;
}

.artist_img.kotori img {
width: 64%;
height: auto;
}*/

.artist_name {
line-height: 1.4em;
margin: 1em 0 0;
font-weight: bold;
color: #FFF;
}

.artist_item a:link,
.artist_item a:visited,
.opening_act_item a:link,
.opening_act_item a:visited {
text-decoration: none;
}

.artist_item a:hover,
.artist_item a:active,
.opening_act_item a:hover,
.opening_act_item a:active {
opacity: .6;
text-decoration: none;
}

.artist_item a:hover .artist_img img,
.artist_item a:active .artist_img img,
.opening_act_item a:hover .artist_img img,
.opening_act_item a:active .artist_img img {
transform: translate(-50%, -50%) scale(1.1);
}

.txt_more {
font-size: 2.0rem;
color: #FFF;
margin: 1.8em 0 0;
}

/*====================================
 TICKETS
====================================*/
.ticket_info {
width: 80%;
margin: 2em auto 0;
}

.hd_ticket_sub {
width: 100%;
font-weight: bold;
font-size: 2.0rem;
margin: 1em 0 .5em;
}

.ticket_info .hd_ticket_sub02 {
width: 100%;
font-weight: bold;
line-height: 1.4em;
margin: 1em 0 .5em;
}

.ticket_info p span {
display: inline-block;
}

.ticket_type {
width: 100%;
max-width: 320px;
margin: 0 auto 0;
display: flex;
flex-direction: column;
}


.ticket_info dl {
width: 100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
gap: 0 1em;
padding: 2em 1em;
border-bottom: solid .1em #666;
font-weight: bold;
}

.ticket_info dl:first-child {
border-top: solid .1em #666;
}

.ticket_info dl dt {
font-size: 1.3rem;
text-align: left;
}

.ticket_info dl dt span {
margin: .2em 0 0;
display: block;
}

.ticket_info dl dd {
font-size: 2.8rem;
position: relative;
}

.ticket_info dl dd.sold::before {
font-family: 'Poppins', sans-serif;
font-size: 1.6rem;
font-weight: bold;
white-space: nowrap;
color: rgba( 255, 255, 255, 1);
background: rgba( 205, 34, 100, .8);
display: inline-block;
padding: .4em 2em;
position: absolute;
top: 0; left: 50%;
transform: translateX(-50%) rotate(-12deg);
z-index: 1;
content: "SOLD OUT";
}

.ticket_info dl dd.closed::before {
font-size: 1.6rem;
font-weight: bold;
white-space: nowrap;
color: rgba( 255, 255, 255, 1);
background: rgba( 205, 34, 100, .8);
display: inline-block;
padding: .4em 2em;
position: absolute;
top: 0; left: 50%;
transform: translateX(-50%) rotate(-12deg);
z-index: 1;
content: "受付終了";
}

.ticket_info dl dd.option {
font-size: 1.8rem;
width: 100%;
text-align: center;
margin: 1em 0 0;
}

.ticket_info dl dd.option span.sold {
font-family: 'Poppins', sans-serif;
font-size: 1.6rem;
font-weight: bold;
white-space: nowrap;
color: rgba( 255, 255, 255, 1);
background: rgba( 205, 34, 100, .8);
display: inline-block;
padding: .2em 1em;
margin-left: .5em;
}

.ticket_info dl dd.option span.kana {
font-size: 1.4rem;
margin-left: .1em;
}

.ticket_atte {
width: 100%;
text-indent: -1em;
padding-left: 1em;
margin: 3em auto 0;
line-height: 1.4em;
text-align: left;
}

.ticket_atte::before {
content: "※ ";
}

.ticket_info ul {
width: 100%;
text-align: left;
margin: 2em 0 0;
}

.ticket_info ul li {
line-height: 1.4em;
margin: .5em 0 0;
}


.ticket_info ul li.atte {
padding-left: 1em;
text-indent: -.8em;
}

.ticket_info ul li.atte::before {
content: "※";
margin-right: .2em;
}

/*----------------
チケット情報　注意事項
----------------*/
.ticket_info_notice {
width: 90%;
margin: 3em auto 0;
text-align: left;
}

.ticket_info_notice ul li {
margin: .4em 0 0;
line-height: 1.6em;
padding-left: 1em;
text-indent: -1.2em;
}

.ticket_info_notice ul li br {
display: none;
}

.ticket_info_notice ul li::before {
content: "・";
margin-right: .2em;
}

.ticket_info_notice ul li.atte {
padding-left: 1em;
text-indent: -.8em;
}

.ticket_info_notice ul li.atte::before {
content: "※";
margin-right: .2em;
}

.ticket_info_notice ul li.list_style_none::before {
content: "";
margin-right: 0;
}

.ticket_info_notice .new {
position: relative;
margin: .8em 0 0;
padding-left: 3.5em;
line-height: 1.4em;
font-weight: bold;
}

.ticket_info_notice .new::before {
display: inline-block;
font-size: 1.1rem;
content: "NEW!";
padding: .2em .5em;
line-height: 1;
color: #FFF;
background: #E95399;
animation: blinking 1s ease-in-out infinite alternate;
position: absolute;
top: .2em;
left: 0;
}

/*----------------
座席図
----------------*/
.seating_chart {
width: 90%;
max-width: 800px;
margin: 2em auto 0;
}

.seating_chart img {
width: 100%;
height: auto;
}

/*----------------
チケット販売情報
----------------*/
.sales_info {
width: 90%;
margin: 3em auto 0;
}

.sales_info .item_prev {
font-size: 1.8rem;
font-weight: bold;
line-height: 1.4em;
margin: 0 0 1em;
}

.sales_info > .item dl dt {
font-size: 2.0rem;
font-weight: bold;
line-height: 1.2em;
}

.sales_info > .item dl dt br {
display: block;
}

.sales_info > .item dl dt span {
display: inline-block;
}

.sales_info > .item dl dd {
font-size: 1.8rem;
font-weight: bold;
margin: .5em 0 0;
}

.sales_info .btn {
position: relative;
}

.sales_info .btn.soon::before,
.sales_info .btn.sold::before {
font-family: 'Poppins', sans-serif;
font-size: 1.8rem;
font-weight: bold;
white-space: nowrap;
color: rgba( 236, 105, 26, .6);
border: solid .2em rgba(236,105,26, .6);
display: inline-block;
padding: .8em 2em;
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%,-30%) rotate(-16deg);
z-index: 1;
}

.sales_info .btn.soon::before {
content: "on sale soon";
}

.sales_info .btn.sold::before {
content: "sold out";
}

.sales_info .btn a {
display: inline-block;
margin: 2em 0 0;
padding: 1em 2em;
background: #E95399;
font-size: 1.6rem;
color: #FFF;
text-decoration: none;
border-radius: 100vh;
}

.sales_info .btn a:link,
.sales_info .btn a:visited {
color: #FFF;
text-decoration: none;
}

.sales_info .btn a:hover,
.sales_info .btn a:active {
color: #FFF;
text-decoration: none;
opacity: .8;
}

.sales_info .btn.soon a,
.sales_info .btn.sold a {
pointer-events: none;
opacity: .2;
}

.sales_info .btn_set {
display: flex;
width: 80%;
max-width: 16em;
margin: 2em auto 0;
flex-direction: column;
justify-content: center;
gap: 1em;
}

.sales_info .btn_set .btn {
width: 100%;
height: 4em;
}

.sales_info .btn_set .btn a {
width: 100%;
height: 100%;
white-space: nowrap;
display: flex;
margin: 0;
flex-direction: column;
justify-content: center;
align-items: center;
}

.sales_info .btn_set .btn a span {
font-size: 1.3rem;
}

/*-- キャッシュバック --*/
.cashback_info {
width: 90%;
max-width: 640px;
margin: 3em auto 0;
padding: 2.4em;
border: .1em solid #E9ECEF;
background: rgba(255,255,255,.9);
box-shadow: -.5em .5em 0 0 rgba(225, 225, 225, .2);
}

.cashback_info h4 {
font-size: 1.8rem;
line-height: 1.4em;
}

.cashback_info p {
font-size: 1.6rem;
line-height: 1.4em;
margin: 2em 0 0;
}

.cashback_info h4 span {
display: inline-block;
}

.cashback_info dl,
.cashback_info ul {
text-align: left;
}

.cashback_info dl {
margin: 2em 0 0;
font-size: 1.6rem;
line-height: 1.4em;
}

.cashback_info dl dd {
margin: .2em 0 0;
}

.cashback_info ul {
margin: 2em 0 0;
}

.cashback_info ul li {
padding-left: 1em;
text-indent: -.8em;
line-height: 1.3em;
margin: .5em 0 0;
}

.cashback_info ul li::before {
content: "※";
margin-right: .2em;
}


/*-- 追加のお知らせ枠 --*/
.more_info {
width: 90%;
max-width: 640px;
margin: 3em auto 0;
padding: 2em;
border: .1em solid #E9ECEF;
background: rgba(255,255,255,.9);
box-shadow: -.5em .5em 0 0 rgba(225, 225, 225, .2);
}

.more_info h4 {
font-size: 1.6rem;
line-height: 1.4em;
}

.more_info p {
font-size: 1.4rem;
line-height: 1.4em;
margin: 1em 0 0;
}

.more_info h4 span {
display: inline-block;
}

.more_info .btn {
position: relative;
}

.more_info .btn a {
display: inline-block;
margin: .5em 0 0;
padding: .5em 1em;
background: #E95399;
font-size: 1.4rem;
color: #FFF;
text-decoration: none;
border-radius: 100vh;
}

.more_info .btn a:link,
.more_info .btn a:visited {
color: #FFF;
text-decoration: none;
}

.more_info .btn a:hover,
.more_info .btn a:active {
color: #FFF;
text-decoration: none;
opacity: .8;
}

/*====================================
 TIME TABLE
====================================*/
.tt_img {
display: flex;
flex-direction: column;
gap: 2em 0;
width: 90%;
margin: 2em auto 0;

}

.tt_img img {
width: 100%;
height: auto;
}

.tt_atte {
width: 90%;
text-align: left;
position: relative;
padding-left: 1em;
margin: 1em auto 0;
line-height: 1.3em;
}

.tt_atte::before {
content: "※";
position: absolute;
top: 0;
left: 0;
}

.news_article .tt_img {
width: 100%;
margin: 1em auto 0;
}

.news_article .tt_atte {
width: 100%;
}

/*====================================
 GOODS
====================================*/
#goods.inner {
width: 90%;
max-width: 980px;
}

#goods .lead {
margin: 2em auto 0;
padding: 0;
text-align: center;
font-size: 1.6rem;
line-height: 1.4em;
}

#goods p {
margin: 2em auto 0;
padding: 0;
text-align: left;
line-height: 1.4em;
text-indent: -1em;
padding-left: 1em;
}

#goods .goods_img {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 1em 0 0;
gap: .8em 0;
}

#goods .goods_img dl {
width: calc(50% - .4em);
text-align: center;
border: solid .1rem #666;
padding: 1em;
}

#goods .goods_img dl dt img {
width: 100%;
height: auto;
}

#goods .goods_img dl dd {
font-size: 1.2rem;
line-height: 1.2em;
}

#goods .goods_img dl dd span {
display: block;
}

#goods > ul {
text-align: left;
margin: 2em 0 0;
}

#goods > ul > li {
position: relative;
padding-left: 1em;
margin: .5em 0 0;
}

#goods > ul > li::before {
content: "";
display: block;
width: .6em;
height: .6em;
background: #000;
position: absolute;
top: .2em; left: 0;
border-radius: .2em;
}

.switch_image {
position: relative;
}

.switch_image::before {
content: "TOUCH!";
position: absolute;
top: -.8em; left: -1.8em;
background: #000;
padding: .2em .5em;
color: #FFF;
font-size: 1.2rem;
font-weight: bold;
z-index: 1;
}

.switch_image img {
transition: opacity 0.5s;
}

.switch_image:hover img:first-of-type {
opacity: 0;
}

.switch_image img:last-of-type {
position: absolute;
top: 0px;
left: 0px;
opacity: 0;
}

.switch_image:hover img:last-of-type {
opacity: 1;
}

/*====================================
 協賛ロゴ
====================================*/
.sponsorship_01 {
font-size: 2.4rem;
}

.sponsorship_02 {
font-size: 2.0rem;
margin: 4rem 0 0;
}

.sponsorship_03 {
font-size: 1.8rem;
margin: 4rem 0 0;
}

.sponsorship_list_01,
.sponsorship_list_02,
.sponsorship_list_03 {
width: 90%;
margin: 1.5rem auto 0;
display: flex;
flex-direction: column;
flex-wrap: wrap;
gap: .5em 0;
justify-content: center;
align-items: center;
}

.sponsorship_list_01 .item {
font-size: 2.2rem;
}

.sponsorship_list_02 .item {
font-size: 1.75rem;
}

.sponsorship_list_03 .item {
font-size: 1.6rem;
}

/*====================================
 AREA MAP
====================================*/
.area_map,
.area_map_trcf {
width: 90%;
}

.area_map {
display: flex;
flex-direction: column;
gap: 2em;
margin: 2em auto 0;
}

.area_map_trcf {
margin: 3em auto 0;
}

.area_map img,
.area_map_trcf img {
width: 100%;
height: auto;
}

/*====================================
 MARKET
====================================*/
.market_logo {
width: 80%;
max-width: 480px;
margin: 3em auto 0;
}

.market_logo img {
width: 100%;
height: auto;
}

.market_map {
width: 90%;
margin: 2em auto;
}

.market_map img {
width: 100%;
height: auto;
}

.btn.market {
position: relative;
}

.btn.market a i {
display: inline-block;
margin-right: .5em;
}

.btn.market a {
display: inline-block;
margin: 2em 0 0;
padding: .5em 2em;
background: #2D3349;
font-size: 1.6rem;
color: #FFF;
text-decoration: none;
border-radius: 10em;
}

.btn.market a:link,
.btn.market a:visited {
color: #FFF;
text-decoration: none;
}

.btn.market a:hover,
.btn.market a:active {
color: #FFF;
text-decoration: none;
opacity: .8;
}

.market_article h3 {
font-size: 2.0rem;
font-weight: bold;
margin: 3em 0 0;
}

.market_article h3 + p.lead {
margin: 1em auto 0;
}

.market_shops {
display: flex;
justify-content: start;
flex-wrap: wrap;
gap: .5em;
margin: 3em auto 0;
}

.market_shops h4 {
font-weight: normal;
width: 100%;
color: #FFF;
font-size: 2.0rem;
background: rgba(117,86,145,.4);
padding: 1em 0;
}

.shop {
width: calc(50% - .25em);
padding: .8em;
/*border: solid .08rem #666;*/
position: relative;
background: rgba(255,255,255,.8);
}

.shop a,
.shop a:link,
.shop a:visited {
text-decoration: none;
}

.shop a:hover,
.shop a:active {
text-decoration: none;
opacity: .8;
}

.shop_name .name {
display: flex;
align-items: center;
text-align: left;
font-weight: bold;
height: 2.6em;
gap: 0 .5em;
}

.shop_name .name {
font-size: 1.2rem;
flex: 1;
}

.shop_name .name::before {
content: "";
display: block;
background: #000;
width: .3em;
height: 2.0em;
}

.shop_img {
margin: .2em 0 0;
position: relative;
}

.shop_img img {
width: 100%;
height: auto;
}

.shop_img span {
position: absolute;
top: 0;
right: 0;
background: #000;
color: #FFF;
padding: .5em;
font-size: 1.1rem;
z-index: 2;
}

.shop_menu {
font-size: 1.2rem;
line-height: 1.4em;
margin: .5em 0 0;
}


/*====================================
 ACCESS
====================================*/
.map_top {
margin: 4em auto 0;
width: 90%;
max-width: 800px;
}

.map_top img {
width: 100%;
height: auto;
}

.btn_access_dtl a {
display: inline-block;
margin: 1em 0 0;
padding: .5em 2em;
background: #FFFFFE;
font-size: 1.4rem;
color: #2D3349;
text-decoration: none;
border-radius: 100vw;
}

.btn_access_dtl a,
.btn_access_dtl a:link,
.btn_access_dtl a:visited,
.btn_access_dtl a:hover,
.btn_access_dtl a:active {
text-decoration: none;
color: #2D3349;
}

.btn_access_dtl a:hover,
.btn_access_dtl a:active {
opacity: .8;
}


/*====================================
/*
/* CONTENTS LOWER 共通
/*
/*===================================*/
.contents.lower a.txt_link,
.contents.lower a.txt_link:link,
.contents.lower a.txt_link:visited {
color: #E8446D;
text-decoration: underline;
transition: all .2s ease;
}

.contents.lower a.txt_link:hover,
.contents.lower a.txt_link:active {
color: #E8446D;
text-decoration: none;
opacity: .6;
}

/*====================================
/*
/* ACCESS
/*
/*===================================*/
/*.switching_btn {
display: flex;
justify-content: center;
width: 90%;
max-width: 380px;
margin: 3em auto;
gap: 0 1em;
}

.switching_btn .item {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
border: solid 2px #2D3349;
border-radius: 100vh;
}

.switching_btn .item a {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
line-height: 100%;
line-height: 1.4em;
text-decoration: none;
font-weight: bold;
padding: .5em 0;
}
*/
.map {
margin: 4em auto 0;
width: 96%;
aspect-ratio: 1/1;
}

.map iframe {
width: 100%;
aspect-ratio: 1/1;
}

.place_box {
width: 90%;
margin: 1em auto 0;
display: flex;
justify-content: center;
flex-direction: column;
gap: 1em;
}

.place {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: solid 1px #000;
padding: 1em;
}

.place .btn a {
display: inline-block;
margin: .5em 0 0;
padding: .5em 1em;
background: #2D3349;
font-size: 1.4rem;
color: #FFF;
text-decoration: none;
border-radius: 100vh;
}

.place .btn a:link,
.place .btn a:visited {
color: #FFF;
text-decoration: none;
}

.place .btn a:hover,
.place .btn a:active {
color: #FFF;
text-decoration: none;
opacity: .8;
}

.place .ttl {
font-size: 1.6rem;
font-weight: bold;
line-height: 1.3em;
}

.place .address {
line-height: 1.3em;
margin: .5em 0 0;
}

.transportation {
display: flex;
flex-warp: wrap;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 2em auto 0;
gap: 1em;
width: 90%;
}

.transportation img {
width: 100%;
height: auto;
}

/*
.transportation > .ttl {
width: 100%;
font-weight: bold;
font-size: 1.8rem;
margin: 2em 0 0;
}

.transportation > .item dt {
font-weight: bold;
font-size: 1.6rem;
}

.transportation > .item dd {
margin: .5em 0 0;
line-height: 1.6em;
font-weight: bold;
}

.transportation > .item dd ul li {
font-size: 1.4rem;
font-weight: normal;
line-height: 1.3em;
margin: .5em 0 0;
text-indent: -1em;
padding-left: 1em;
}

.transportation > .item dd ul li::before {
content: "・";
}

.transportation_notice {
width: 100%;
padding: 1.5em;
border: solid .1rem #666;
line-height: 1.4em;
font-weight: bold;
}

.transportation_notice p + p {
margin: 1em 0 0;
}

.transportation_item {
width: 100%;
line-height: 1.6em;
font-size: 1.6rem;
font-weight: bold;
}

.access_atte {
line-height: 1.4em;
}

.access_atte li {
text-indent: -1em;
padding-left: 1em;
margin: .5em 0 0;
}

.access_atte li::before {
content: "※";
margin-right: .3em;
}
*/

/*====================================
/*
/* NOTICE
/*
/*===================================*/
.notice_list {
margin: 4em auto 0;
width: 80%;
text-align: left;
font-size: 1.6rem;
line-height: 1.4em;
}

.notice_list .item {
margin: 1.5em 0 0;
position: relative;
padding-left: 1em;
}

.notice_list .item::before {
content: "";
display: block;
background: #000;
width: .4em;
height: .4em;
border-radius: 50%;
position: absolute;
top: .5em; left: 0;
}

/*====================================
 Q&A
====================================*/
.qa_contents {
margin: 6em auto 0;
width: 80%;
}

.qa_contents a {
display: inline-block;
margin: 0 .2em;
}

.qa_contents a,
.qa_contents a:link,
.qa_contents a:visited {
color: #E8446D;
text-decoration: underline;
transition: all .2s ease;
}

.qa_contents a:hover,
.qa_contents a:active {
color: #E8446D;
text-decoration: none;
opacity: .6;
}

.qa_contents dl {
text-align: left;
border-bottom: solid #E9ECEF 1px;
padding: 1.5em 1em 1.3em;
}

.qa_contents .headline + dl {
border-top: solid #E9ECEF 1px;
margin: 2em 0 0;
}

.qa_contents dt,
.qa_contents dd {
font-size: 1.4rem;
line-height: 1.4em;
position: relative;
margin: 0;
padding: 0 0 0 2.8em;
}

.qa_contents dd {
margin: 1em  0 0;
}

.qa_contents dd span {
}

.qa_contents dt::before,
.qa_contents dd::before {
font-family: 'Poppins', sans-serif;
display: inline-block;
position: absolute;
font-size: 2.8rem;
top: -.1em; left: 0;
}

.qa_contents dt::before {
/*border: .16em solid #016FBA;*/
color: #016FBA;
content: 'Q.';
}

.qa_contents dd::before {
/*border: .16em solid #E8446D;*/
color: #E8446D;
content: 'A.';
}


@media screen and (min-width: 721px) {
/*-- min-width: 721px //--*/

.market_shops {
width: 90%;
margin: 4em auto 0;
gap: 1em;
}

.shop {
width: calc(33.33% - .67em);
padding: .8em;
position: relative;
}

.shop_name {
display: flex;
align-items: center;
text-align: left;
font-weight: bold;
height: 2.6em;
gap: 0 .5em;
}

.shop_name .name {
font-size: 1.3rem;
}

.shop_img span {
font-size: 1.3rem;
}

/*--// min-width: 415px --*/
}


@media screen and (min-width: 960px) {
/*-- min-width: 960px //--*/
/*====================================
/*
/* FOOTER -- min-width: 960px 
/*
/*===================================*/
/*footer {
min-width: 1200px;
}

footer .inner {
width: 1200px;
}

.ft_link_list {
width: 600px;
}*/

/*----------------------
 フッターインフォアウター
----------------------*/
.ft_info_box {
flex-direction: row;
justify-content: space-between;
}

/*----------------------
 フッターインフォ
----------------------*/
.ft_info {
text-align: left;
order: 1;
}

/*----------------------
 アーカイブリンク
----------------------*/
.archive_list {
font-size: 2rem;
order: 2;
}

/*====================================
/*
/* HEADER -- min-width: 960px 
/*
/*===================================*/
/*header {
min-width: 1200px;
}

header .inner {
width: 1200px;
justify-content: space-between;
}*/

/*header h1 {
margin: 0;
left: 0;
transform: translate(0,-50%);
}*/

/*----------------------
 ナビゲーション: 960px
----------------------*/
/*nav {
width: 1200px;
margin: 0 auto;
padding: 0;
height: 6em;
top: 0; right: 0;
overflow: visible;
background: transparent;
transition: unset;
z-index: 10000;
display: flex;
justify-content:flex-end;
align-items: center;
pointer-events:none;
}


nav .main_menu {
display: flex;
text-align: right;
justify-content:flex-end;
align-items: center;
pointer-events: auto;
gap: 0 2em;
}

nav .main_menu > .item {
font-size: 1.3rem;
}

nav .main_menu > .item > a {
padding: 0;
}

nav .main_menu > .item a:link,
nav .main_menu > .item a:visited {
}

nav .main_menu > .item a:hover,
nav .main_menu > .item a:active {
background: transparent;
opacity: 0.6;
}

.dropdown {
position: relative;
}

nav .sub_menu {
display: none;
position: absolute;
left: 0;
text-align: left;
min-width: 120%;
}

.sub_menu_item a {
padding: 3em;
}

/* ドロップダウンメニューの+,-アイコン（PCのみ） */
/*nav .dropdown.pc::before {
top: 40%;
right: -.8em;
transform: rotate(-135deg);
}

/*----------------------
 toggle_btn: 960px
----------------------*/
.toggle_btn {
width: 33px;
height: 30px;
}

.toggle_btn span {
width: 33px;
height: 3px;
left: 0;
}

.toggle_btn span:nth-child(1) {
top: 0;
}

.toggle_btn span:nth-child(2) {
top: 14px;
}

.toggle_btn span:nth-child(3) {
top: 27px;
}

.toggle_btn.open  span:nth-child(1) {
transform: translate(0, 13px) rotate(-45deg);
}

.toggle_btn.open span:nth-child(3) {
transform: translate(0, -14px) rotate(45deg);
}*/

/*----------------------
 高崎ロックフェスリンク
----------------------*/
.link_takasaki {
margin: 0 2.5em 0 0;
pointer-events: auto;
}



/*====================================
/*
/* TOP PAGE -- min-width: 960px 
/*
/*===================================*/

/*====================================
 HERO
====================================*/
.hero {
height: 125vh
}

.hero_img {
max-width: 580px;
margin-top: -8em;
}

.hero_img img.sp {
display: none;
}

.hero_img img.pc {
display: block;
}

.hero_img.after {
margin-top: -16em;
}

.hero p {
font-size: 3.6rem;
}

.hero p.prefecture {
font-size: 4.8rem;
margin: .5em auto 0;
}

.hero .date {
font-size: 6.2rem;
margin: 1em 0 0;
}

.hero .date span {
font-size: 4.2rem;
}

.hero .venue {
font-size: 2.8rem;
}



/*====================================
 ARTICLE COMMON
====================================*/
/*.article {
min-width: 1200px;
}*/

/*.article > .inner {
width: 1200px;
}*/

.article .lead > span {
font-size: 1.6rem;
display: block;
text-align: center;
}

/*----------------------
 見出し
----------------------*/
.headline {
font-size: 4.8rem;
}

.hd_lineup_sub {
font-size: 3.6rem;
}

.hd_lineup_sub span {
font-size: 2.4rem;
}


/*====================================
 NEWS
====================================*/
.news > .inner {
width: 840px;
}

.news_list {
flex-direction: row;
}

.news_list .term {
width: 8em;
margin: 1em 0 0;
}

.news_list .desc {
width: calc(100% - 8em);
margin: 1em 0 0;
}


/*====================================
 ABOUT
====================================*/
.lead_txt {
font-size: 3.6rem;
margin: 1.5em 0 0;
}

.sub_lead_txt {
font-size: 1.8rem;
text-align: center
}

.sub_lead_txt br {
display: block;
}

.sub_txt + .sub_txt {
margin: .8em 0 0;
}

.about_info {
margin: 4em 0 0;
}

.about_info .event_name {
font-size: 4.8rem;
line-height: 1em;
}

.about_info .event_name > span {
font-size: 1.8rem;
}

.about_info .date {
font-size: 4.6rem;
flex-wrap: nowrap;
}

.about_info .date span.dow {
font-size: 2.6rem;
}

.about_info .date span.hd {
font-size: 2.2rem;
width: auto;
margin: .5em 0 0;
}

.about_info .date span.hd::before {
content: "";
}

.about_info .date span.hd::after {
content: "：";
}

.about_info .time {
font-size: 2.6rem;
}

.about_info .time br {
display: none;
}

.about_info .site {
font-size: 2.6rem;
margin: .6em 0 0;
}

.about_info .site span.hd {
font-size: 2.2rem;
display: inline-block
}

.about_info .site span.hd::before {
content: "";
}

.about_info .site span.hd::after {
content: "：";
}


/*====================================
 LINE UP
====================================*/
.hd_lineup_sub {
font-size: 2.8rem;
}

.artist_box {
width: 100%;
max-width: 1200px;
margin: 3em auto;
justify-content: center;
flex-direction: row;
flex-wrap: wrap;
gap: 3em;
}

.artist_item,
.opening_act_item {
width: calc(33.3% - 2em);
}

.artist_item:has(.new)::before,
.opening_act_item:has(.new)::before {
font-size: 1.4rem;
}

.artist_name {
font-size: 1.6rem;
}

.txt_more {
font-size: 2.8rem;
}

/*====================================
 TICKETS
====================================*/
.ticket_info {
max-width: 1200px;
gap: 1em 2em;
}

.ticket_type {
width: 100%;
max-width: 800px;
margin: 1em auto 0;
display: flex;
flex-direction: row;
gap: 0 2em;
}

.hd_ticket_sub {
font-size: 2.4rem;
margin: 2em auto 0;
}

.ticket_info dl {
justify-content: center;
gap: 0 2em;
padding: 2em 0;
border-top: solid .1em #666;
}

.ticket_info dl dt {
text-align: center;
font-size: 1.6rem;
}

.ticket_info dl dd {
font-size: 3.4rem;
}

.ticket_atte {
text-align: center;
}

/*----------------
チケット情報　注意事項
----------------*/
.ticket_info_notice {
max-width: 800px;
margin: 4em auto 0;
}

.ticket_info_notice ul li {
font-size: 1.5rem;
}

.ticket_info_notice ul li br {
display: block;
}


/*----------------
チケット販売情報
----------------*/
.sales_info .btn::before {
font-size: 2.2rem;
}

.sales_info .item_prev {
font-size: 2.0rem;
}

.sales_info > .item dl dt {
font-size: 2.4rem;
}

.sales_info > .item dl dt br {
display: none;
}


.sales_info > .item dl dd {
font-size: 2.4rem;
}

.sales_info .btn a {
font-size: 2.2rem;
}

.sales_info .btn_set {
flex-direction: row;
width: 100%;
max-width: 860px;
}

.sales_info .btn_set .btn {
height: 5em;
}

.sales_info .btn_set .btn a span {
font-size: 1.4rem;
}

/*====================================
 TIME TABLE
====================================*/
.tt_img {
flex-direction: row;
gap: 0;
width: 100%;
margin: 3em auto 0;
}

.tt_img img {
width: 50%;
height: auto;
}

.tt_atte {
width: 100%;
}

.tt_atte span {
display: block;
}

.news_article .tt_img {
margin: 1em auto 0;
}

/*====================================
 AREA MAP
====================================*/
.area_map {
flex-direction: row;
}

.area_map img {
width: calc( 50% - 1em );
height: auto;
}

/*====================================
 MARKET
====================================*/
.shop {
width: calc(25% - .75em);
}

.market_map {
width: 80%;
}

/*====================================
 GOODS
====================================*/
#goods .goods_img {
margin: 3em 0 0;
gap: 1em 0;
}

#goods .goods_img dl {
width: calc(33% - .5em);
}

#goods .goods_img dl dt img {
width: 100%;
}

#goods .goods_img dl dd {
font-size: 1.4rem;
}

#goods .goods_img dl dd span {
display: inline;
}

.switch_image::before {
content: "MOUSE ON!";
top: 0; left: -1.5em;
padding: .2em .5em;
font-size: 1.4rem;
transform: rotate(-15deg);
}

/*====================================
 協賛ロゴ
====================================*/
.sponsorship_01 {
font-size: 2.8rem;
}

.sponsorship_02 {
font-size: 2.4rem;
margin: 6rem 0 0;
}

.sponsorship_03 {
font-size: 2.0rem;
margin: 6rem 0 0;
}

.sponsorship_list_01,
.sponsorship_list_02,
.sponsorship_list_03 {
margin: 1.5rem auto 0;
gap: 1em;
flex-direction: row;
}

.sponsorship_list_01 .item::before,
.sponsorship_list_02 .item::before,
.sponsorship_list_03 .item::before {
content: "/";
margin-right: .6em;
}

.sponsorship_list_01 .item:first-child::before,
.sponsorship_list_02 .item:first-child::before,
.sponsorship_list_03 .item:first-child::before {
content: "";
}

.sponsorship_list_01 .item {
font-size: 2.6rem;
}

.sponsorship_list_02 .item {
font-size: 2.0rem;
}

.sponsorship_list_03 .item {
font-size: 1.8rem;
}


/*====================================
 ACCESS
====================================*/
.map.top {
width: 55%;
}

/*====================================
/*
/* ACCESS -- min-width: 960px 
/*
/*===================================*/
.map {
max-width: 800px;
aspect-ratio: 16/9;
}

.map iframe {
width: 100%;
aspect-ratio: 16/9;
}

.place_box {
max-width: 800px;
flex-direction: row;
}

.place .ttl {
font-size: 2.0rem;
}


.transportation {
max-width: 800px;
flex-direction: row;
flex-wrap: wrap;
gap: 0 1em;
}

.transportation > .item {
width: calc( 50% - .5em );
}

/*
.transportation > .item dt {
font-size: 1.6rem;
}

.transportation > .item dd {
font-size: 1.4rem;
}

.transportation > .ttl {
width: 100%;
}
*/

/*====================================
/*
/* NOTICE -- min-width: 960px 
/*
/*===================================*/
/*====================================
 Q&A
====================================*/
.qa_contents dt,
.qa_contents dd {
font-size: 1.6rem;
}

.qa_contents dd span {
display: block;
}

.qa_contents dt::before,
.qa_contents dd::before {
font-size: 3.2rem;
}

/*====================================
/*
/* Slipstream -- min-width: 960px
/*
/*===================================*/
.contents.ss .lead {
font-size: 2rem;
}



/*--// min-width: 960px //--*/
}