@charset "utf-8";
@import 'https://fonts.googleapis.com/css?family=Chewy|Bowlby+One|Kavoon|Shrikhand|Titan+One|Wendy+One|Mogra|Noto+Fonts|Rammetto+One|Noto+Serif|Baloo+Paaji|Racing+Sans+One';
@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:100,300,400,500,700,800,900&display=swap&subset=japanese');

/* YUI 3.5.0 reset.css (http://developer.yahoo.com/yui/3/cssreset/) - http://cssreset.com */
html{color:#000;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

body {width: 100%; position: relative; background: #fff;	font: 100%/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS P Gothic", sans-serif;}

.containers {max-width: 1000px; margin: auto; display: block; position: relative; z-index: 1;}
.clearfix:after {display: block; clear: both; content: "";}
a {text-decoration: none; color: rgba(34,139,171,1); font-weight: bold;}
a:hover {text-decoration: none; color: rgba(34,139,171,.7);}

.mt10 {margin-top: 10px;}
.text-ind {text-indent: 10px;}
.text-ind2 {text-indent: 20px;} 
.text-sml {font-size: smaller;}
.non-disp {display: none;}
.tc {text-align: center;}
.tr {text-align: right;}
.pl30 {padding-left: 30px;}
.gray-text {color: rgba(100,100,100,.9);}
.block-ind {margin-left: 1em;}
.block-margin-top {margin-top: 1em;}

/* header */
header {display: block; position: relative; z-index: 2;}
header img {width:100%;	height: auto;}
header a h1 {color: #fff;}
header img.l-wide {display: block; max-width: 1000px; margin: 0 auto .5em;}
header img.s-wide {display: none;}

@media screen and (max-width: 599px) {
header img.l-wide {display: none;}
header img.s-wide {display: block; max-width: 1000px; margin: .5em  auto;}
}

/* main */
main {max-width: 1000px; margin: auto; display: block; position: relative; z-index: auto; word-break: break-all;}
main h1,h2,h3,h4,h5,h6 {font-weight: bold;}
main h1 {font-size: 1.8em; margin: .2em 0}
main h2 {font-size: 1.4em; margin: .2em 0;}
main h3 {font-size: 1.2em; margin: .2em 0;}
main h4,h5,h6 {font-size: 1.1em; margin: .2em 0;}

.notice-box {background: rgba(226,226,226,.8); border-radius: 15px;	padding: 8px 15px; margin: 7px 0;}
.nb-cent {display: block;	max-width: 96%;	margin: 7px auto;}
.def-box {display: block;	margin: 0 auto;	max-width: 560px;	border: solid 1px #fff;	border-radius: 10px; padding: 7px 10px 5px;	margin-bottom: 10px;}
.center-box {text-align: center; font-size: 1.2em;	font-weight: bold; color: rgba(40,40,40,1);}
.center-box a:hover {color: rgba(170,73,207,.7);}
.right-box {text-align: right; font-size: .8em; margin-bottom: .7em;}

.news-box {margin: 5px 0;	text-align: left; border-radius: 10px; background: rgba(250,250,250,.6);	padding: 7px 10px 5px 15px;}
.news-box a {color: rgba(100,100,100,.8); padding: 0 .2em;}
.news-box a:hover {color: rgba(170,73,207,.7);}

.news-box-top {margin: 0; padding: .5em 1.4em 0; background: rgba(120,120,120,1); border: .4em rgba(120,120,120,1) solid; border-radius: 1em 1em 0 0; font-family: 'M PLUS Rounded 1c', sans-serif; letter-spacing: 0.05em; color: rgba(255,255,255,1);}
.news-box-top h1 {font-weight: 600; line-height: 1.5; font-size: 1.5em;}
.news-box-btm h1 {font-weight: 800; line-height: 1.5;}
.news-box-btm {padding: 1em 1.3em; background: rgba(255,255,255,.9); border: .4em rgba(120,120,120,1) solid; border-radius: 0 0 1em 1em; line-height: 1.5;}

.box-top {margin: 1em 0 0; padding: .3em 1.2em 0; border-radius: 1em 1em 0 0; font-family: 'M PLUS Rounded 1c', sans-serif; letter-spacing: 0.05em; display: flex; justify-content: space-between; align-items: center;}
.box-top h1 {font-weight: 800; line-height: 1.5; font-size: 2em; color: white}
.box-top h1 span {font-size: .9em; display: inline-block;}

.yellow-box {background: rgba(255,241,0,.7); margin: .2em 0 .8em; padding: .8em 1em; border-radius: .5em;}
.yellow-box h3 {color: rgba(230,0,0,1); font-size: 1.6em;}

.box-bottom {padding: 1em 1.3em; border-width: 0 .4em .4em; border-radius: 0 0 1em 1em; line-height: 1.6;}
.box-bottom h2.box-midashi {margin-top: .3em;}
.box-bottom h2.box-midashi span.lg {font-size: 1.3em; display: inline-block;}
.box-bottom img {width: 100%; height: auto; border-radius: .3em; margin: .4em 0;}
.box-bottom a {word-break: break-all;}
.box-bottom section {margin: .2em 0 .5em;}

.box-top-cat1, .s-box-cat1 {background: rgba(232,82,152,1); border: .4em rgba(232,82,152,1) solid;}
.box-bottom-cat1 {background: rgba(255,255,255,.9); border: .4em rgba(232,82,152,1) solid;}
.box-bottom-cat1 h2.box-midashi {color: rgba(232,82,152,1); display: inline-block;}
.box-bottom-cat1 p.box-midashi2 {color: rgba(230,0,0,1); display: inline-block; font-size: 1.1em; font-weight: bold; margin-bottom: .3em;}

.box-top-cat2, .s-box-cat2 {background: rgba(0,160,233,1); border: .4em rgba(0,160,233,1) solid;}
.box-bottom-cat2 {background: rgba(255,255,255,.9); border: .4em rgba(0,160,233,1) solid;}
.box-bottom-cat2 h2.box-midashi {color: rgba(0,160,233,.9); display: inline-block;}

.box-top-cat3, .s-box-cat3 {background: rgba(238,135,180,1); border: .4em rgba(238,135,180,1) solid;}
.box-bottom-cat3 {background: rgba(255,255,255,.9); border: .4em rgba(238,135,180,1) solid;}
.box-bottom-cat3 h2.box-midashi {color: rgba(238,135,180,1); display: inline-block;}

.box-top-cat4, .s-box-cat4 {background: rgba(76,67,152,1); border: .4em rgba(76,67,152,1) solid;}
.box-bottom-cat4 {background: rgba(255,255,255,.9); border: .4em rgba(76,67,152,1) solid;}
.box-bottom-cat4 h2.box-midashi {color: rgba(76,67,152,1); display: inline-block;}

.box-top-cat5, .s-box-cat5 {background: rgba(234,85,4,1); border: .4em rgba(234,85,4,1) solid;}
.box-bottom-cat5 {background: rgba(255,255,255,.9); border: .4em rgba(234,85,4,1) solid;}
.box-bottom-cat5 h2.box-midashi {color: rgba(234,85,4,1); display: inline-block;}

.box-top-cat6, .s-box-cat6 {background: rgba(143,195,31,1); border: .4em rgba(143,195,31,1) solid;}
.box-bottom-cat6 {background: rgba(255,255,255,.9); border: .4em rgba(143,195,31,1) solid;}
.box-bottom-cat6 h2.box-midashi {color: rgba(143,195,31,1); display: inline-block;}

.box-top-cat7, .s-box-cat7 {background: rgba(209,117,50,1); border: .4em rgba(209,117,50,1) solid;}
.box-bottom-cat7 {background: rgba(255,255,255,.9); border: .4em rgba(209,117,50,1) solid;}
.box-bottom-cat7 h2.box-midashi {color: rgba(209,117,50,1); text-align: center;}

.box-top-cat8, .s-box-cat8 {background: rgba(220,126,145,1); border: .4em rgba(220,126,145,1) solid;}
.box-bottom-cat8 {background: rgba(255,255,255,.9); border: .4em rgba(220,126,145,1) solid;}
.box-bottom-cat8 h2.box-midashi {color: rgba(220,126,145,1); text-align: center;}

ul.disc {list-style: disc inside; font-weight: bolder;}
ul.list-style-disc {list-style: disc; margin-left: 1em; padding-left: 1em;}

.inbox-pink {border-top: .3em rgba(232,82,152,1) solid; padding: .5em .2em; margin: .4em 0;}
.red-text {color: rgba(230,0,0,1);}
.red-box {border: solid .3em  rgba(230,0,18,1); border-radius: .8em; padding: .8em 1em; margin: .4em 0 .8em;}
img.upper-star {display: inline-block; width: 2.5em; height: 2.5em; vertical-align: middle; margin: 0 0 .5em .9em;}
img.downer-star {display: inline-block; width: 2.5em; height: 2.5em; vertical-align: middle; margin: 0 0 .8em .9em;}
h3.kaijyo {color: rgba(230,0,0,1); display: inline-block;}
p.star-r-text {display: inline; margin-left: .9em;}
.premiums-box {background: rgba(230,0,18,.8); border-radius: 1em; padding: 1em 1.2em; margin: .5em 0 0;}

.box-bottom .youtube-outer {max-width: 700px;}
.youtube-outer {margin: 0 .3em 1em;}
.youtube {position: relative; width: 100%; padding-top: 56.25%;}
.youtube iframe {position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important;}

.list-zone span {border-radius: 5px; padding: 4px 8px 4px;}
figure {margin: 0; display: inline-block;}
figcaption {text-align: center; padding-left: 10px; color: #fff;}
.figfood {max-width: 154px;}

.for_banner {margin-top: 15px; font-size: smaller; color: #fff;}
.for_banner img {max-width: 400px; width: 100%;}
.for_banner img:hover {opacity: 0.6;}

.attention {color: rgba(232,107,43,1); font-weight: bold; font-size: 1.1em;}
.ow {display: inline-block;}
.bold {font-weight: bold;}

.lead-box {text-align: center; font-size: 1.1em; margin: .8em 0;}

/* タイムテーブル */
table.time-t th {min-width: 100px; padding: 8px; font-weight: bold; vertical-align: top; background: rgba(140,140,140,.3); color: #ffffff; border-bottom: 1px solid rgba(200,200,200,.8); text-align: center;}
table.time-t td {width: 100%; min-width: 80px; padding: 10px 6px 6px 10px; vertical-align: top; border-bottom: 1px solid rgba(200,200,200,.8);}

table.exb-list th {min-width: 60px; padding: 8px; font-weight: bold; vertical-align: top; border-bottom: 1px solid rgba(200,200,200,.8); text-align: center;}
table.exb-list td {min-width: 60px; padding: 10px 6px 6px 10px; vertical-align: top; border-bottom: 1px solid rgba(200,200,200,.8);}
table.exb-list img {max-width: 400px;}

.stage-box h2 {font-size: 1.5em; color: rgba(103,68,152,1); font-family: 'M PLUS Rounded 1c', sans-serif; font-weight: 800;}
.stage-box h3 {font-size: 1.4em; color: rgba(103,68,152,1); font-family: 'M PLUS Rounded 1c', sans-serif; font-weight: 800; margin-top: .5em;}
.stage-time {color: rgba(227,0,127,1); font-weight: bold; font-size: 1.4em;}

/* キッチンカーテーブル */
table.kitchen-t {border-collapse: collapse; width: 100%; margin: .5em 0;}
.kitchen-t th, .kitchen-t td{padding: 10px; border: solid 1px #ccc; text-align:center; box-sizing:border-box;}
.kitchen-t th {background: rgba(250,190,0,.9); color: #fff; font-weight: bold; font-size: 1.2em;}
@media screen and (max-width: 640px) {
    .kitchen-t thead {display: none;}
    .kitchen-t tbody, .kitchen-t tr, .kitchen-t td {display: block;}
    .kitchen-t tr {border: solid 1px #ccc; margin-bottom: 10px; padding: 10px;}
    .kitchen-t td {border: none; padding: 5px 0; text-align: left;}
    .kitchen-t td:before {content: attr(data-label2) ": "; font-weight: bold; display: inline-block; width: 40%; margin-right: 10px;}
}

.thumbnail-photo { display: flex; flex-wrap: wrap; gap: 10px;}
.thumbnail-photo img {flex: 1 1 calc(33.33% - 10px); max-width: calc(33.33% - 10px); box-sizing: border-box;}
@media screen and (max-width: 500px) {
    .thumbnail-photo img {flex: 1 1 calc(50% - 10px); max-width: calc(50% - 10px);}
}

.artist-zone-odd {background: rgba(200,200,200,.1); padding: .8em 2em;}
.artist-zone-even {background: rgba(200,200,200,.2); padding: .8em 2em;}
.artist-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px;}
.artist {text-align: center;}
.artist img {max-width: 100%; height: auto;}

/* 訓練デモンストレーション */
.demo-img img {max-width: 400px;}

/* 関連プログラム */
.circle-outer {display: flex;}
.op-circle {border: solid 1px rgba(200,200,200,.8); border-radius: .5em; padding: .8em 2em; margin: .5em auto; text-align: center; display: inline-block; position: relative;}

/* navigation まわり */
nav {display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; gap: .5em; margin: .5em 0;}

@media screen and (max-width: 599px) {
nav {gap: .3em;}
}

a > button {font-size: 1.4em; text-align: center;	margin: 0 auto; padding: .3em .6em; font-weight: bold;	color: rgba(255,255,255,1); cursor:pointer; display: block; border-radius: .5em; font-family: 'M PLUS Rounded 1c', sans-serif; border: none; min-width: 19%;}

button.cat1 {background: rgba(232,82,152,1);}
button.cat2 {background: rgba(0,160,233,1);}
button.cat3 {background: rgba(238,135,180,1);}
button.cat4 {background: rgba(76,67,152,1);}
button.cat5 {background: rgba(234,85,4,1);}
button.cat6 {background: rgba(143,195,31,1);}
button.cat7 {background: rgba(209,117,50,1);}
button.cat8 {background: rgba(220,126,145,1);}
button.cat1:hover {color: rgba(254,254,254,.9); background: rgba(232,82,152,.9);}
button.cat2:hover {color: rgba(254,254,254,.9); background: rgba(0,160,233,.9);}
button.cat3:hover {color: rgba(254,254,254,.9); background: rgba(238,135,180,.9);}
button.cat4:hover {color: rgba(254,254,254,.9); background: rgba(76,67,152,.9);}
button.cat5:hover {color: rgba(254,254,254,.9); background: rgba(234,85,4,.9);}
button.cat6:hover {color: rgba(254,254,254,.9); background: rgba(143,195,31,.9);}
button.cat7:hover {color: rgba(254,254,254,.9); background: rgba(209,117,50,.9);}
button.cat8:hover {color: rgba(254,254,254,.9); background: rgba(220,126,145,.9);}

img.b-pdf {width: 30px; border-radius: 0; vertical-align: middle; margin: 0 .5em;}
img.b-pdf:hover {opacity: .7;}
img.c-pdf {width: 30px; border-radius: 0; margin: -6px; padding: 0 10px;}
img.c-pdf:hover {opacity: .7;}

/* カラムレイアウト */
.two-col {display: flex; flex-wrap: wrap; gap: 20px; margin: 1em 0;}
.two-col > div {flex: 1; min-width: 300px;}

/* footer */
footer {text-align: center; padding: .8em 5%; max-width: 1000px; margin: 0 auto;}
footer div {display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; gap: .5em; margin: .5em 0;}
footer div a {border: 2px solid rgba(200,200,200,1); border-radius: 5px; text-align: center; padding: .6em 1em; font-weight: bold; color: rgba(100,100,100,1); background: white;}
/* Accordion styles */
.accordion-title { cursor: pointer; background: rgba(120,120,120,.1); padding: 0.8em 1em; border: 4px solid rgba(180,180,180,.3); border-radius: 10px; position: relative; font-weight: 700; margin: 0.6em 0 0.4em 0; }
.accordion-title::after { content: ''; position: absolute; right: 1em; top: 50%; transform: translateY(-50%) rotate(0deg); transition: transform 0.25s ease; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid rgba(102,102,102,0.9); }
.accordion-title[aria-expanded="true"]::after { transform: translateY(-50%) rotate(180deg); }
.accordion-content { overflow: hidden; max-height: 0; transition: max-height 0.32s ease, padding 0.25s ease; padding: 0 1.5em; border-left: 1px solid transparent; border-right: 1px solid transparent; border-bottom: 1px solid transparent; text-align: left; background: rgba(200,200,200,.2);}
.accordion-content.open { padding: 1em 1em .8em 1.5em; border-left-color: #e0e0e0; border-right-color: #e0e0e0; border-bottom-color: #e0e0e0; }
.accordion-content p, .accordion-content div { margin: 0 0 0.6em 0; }
/* Accessibility focus */
.accordion-title:focus, .accordion-title:focus-visible { outline: none !important; box-shadow: none !important; }

footer div a:hover {color: rgba(100,100,100,.7);}
footer div a.current {background: rgba(232,82,152,1); color: white; border-color: rgba(232,82,152,1);}

@media screen and (max-width: 599px) {
a > button {font-size: 1.1em; min-width: 45%;}
.two-col > div {min-width: 100%;}
footer div {flex-wrap: wrap;}
footer div a {width: 100%;}
}

address {margin-top: 1em; padding: .5em;	font-size: smaller;}

@media all and (min-width: 1640px) {
.news-box {max-width: 1200px; margin: 5px auto;}
.nb-cent {max-width: 98%;}
.two-col {max-width: 1200px; margin: 1em auto;}
.two-col-l {width: 58%; float: left;}
.two-col-r {width: 38%; float: right;}
}

/* scroll top 用 */
#topcontrol {z-index: 3;}

.time {font-weight: bold; color: navy; margin: 0 .3em;}
.schedule h3 {color: #915da3;}
.schedule h3::before {content: "●";}
div.s-box {padding: .8em 1em; margin: .8em 0;}
div.s-box-cat1 {border: solid 5px rgba(232,82,152,1); border-radius: 10px;}
div.s-box-cat2 {border: solid 5px rgba(238,135,180,1); border-radius: 10px;}
div.s-box-cat3 {border: solid 5px rgba(250,190,0,1); border-radius: 10px;}
div.s-box-cat4 {border: solid 5px rgba(76,67,152,1); border-radius: 10px;}
div.s-box-cat5 {border: solid 5px rgba(234,85,4,1); border-radius: 10px;}
div.s-box-cat6 {border: solid 5px rgba(29,122,179,1); border-radius: 10px;}
div.s-box-cat7 {border: solid 5px rgba(209,117,50,1); border-radius: 10px;}

@media screen and (max-width: 599px) {
.s-box {margin: .5em 0;}
}

.txtbox {margin-left: .8em;}
div.artist-box {display: flex; flex-wrap: wrap;}
div.artist-box > div {width: 22%; padding: 2%;}

.point-list > div {margin: .8em 0; padding: .8em 1.2em; border-radius: .5em;}
.point-list .zone1 {background: rgba(126,206,244,.2); border-left: 5px solid rgba(126,206,244,1);}
.point-list .zone2 {background: rgba(60,176,53,.2); border-left: 5px solid rgba(60,176,53,1);}
.point-list .zone3 {background: rgba(0,161,233,.2); border-left: 5px solid rgba(0,161,233,1);}
.point-list .zone4 {background: rgba(238,135,180,.2); border-left: 5px solid rgba(238,135,180,1);}
.point-list .zone5 {background: rgba(234,85,4,.2); border-left: 5px solid rgba(234,85,4,1);}
.point-list h3 {color: #333; font-weight: bold; margin-bottom: .5em;}
.point-list h3 span {font-size: 0.8em; color: #666; font-weight: normal;}
.point-list p {margin: .3em 0; color: #555;}

.blue-circle {background: rgba(126,206,244,1); color: white; padding: 2px 8px; border-radius: 12px; font-weight: bold; display: inline-block;}
.green-circle {background: rgba(60,176,53,1); color: white; padding: 2px 8px; border-radius: 12px; font-weight: bold; display: inline-block;}
.red-circle {background: rgba(0,161,233,1); color: white; padding: 2px 8px; border-radius: 12px; font-weight: bold; display: inline-block;}
.lightgreen-circle {background: rgba(238,135,180,1); color: white; padding: 2px 8px; border-radius: 12px; font-weight: bold; display: inline-block;}

/* MixItUp animations */
.mix {opacity: 1; transform: translateY(0); transition: all 0.3s ease;}
.mix.hidden {transform: translateY(-20px); opacity: 0;}

.inner-h2-cat1 {color: rgba(0,161,233,1)}
.inner-h2-cat2 {color: rgba(143,130,188,1)}
.inner-h2-cat3 {color: rgba(193,89,157,1)}
.inner-h2-cat4 {color: rgba(29,32,136,1)}
.inner-h2-cat5 {color: rgba(230,0,18,1)}

/* ラリーポイント用ボックス */
.rally-box {padding: 0.8em 1em; border-radius: 10px; margin: 0.6em 0;}
.rally-box h5 {margin: 0 0 0.4em 0; font-weight: 700;}
.rally-box ol {margin: 0 0 0 1.2em; padding-left: 0.2em;}
.rally-box li {margin: 0.3em 0;}
.rally-cat2 {background: rgba(0,160,233,0.08); border: 4px solid rgba(0,160,233,0.25);} /* 脇の浜 水色 */
.rally-cat3 {background: rgba(238,135,180,0.08); border: 4px solid rgba(238,135,180,0.25);} /* なぎさ ピンク */

.rally-cat4 {background: rgba(76,67,152,0.08); border: 4px solid rgba(76,67,152,0.25);} /* cat4 紺色 */

/* ALL HAT 基調色で囲む（イントロ用） */
.rally-box.allhat {background: rgba(232,82,152,0.06); border: 4px solid rgba(232,82,152,0.3); margin-bottom: 1em;} 
.rally-box.allhat p {color: rgba(60,60,60,0.95);} 
.rally-box.allhat img {max-width: 220px; display: block; margin: 0.6em 0 0;}

/* inline illustrations used in program text */
.inline-illust {max-width: 300px; width: 80%; height: auto; border-radius: .4em; display: block;}
@media screen and (max-width: 640px) {
    .inline-illust {max-width: 260px; width: 90%;}
}

/* 同日開催テキスト */
.same-day {opacity: 0.5; font-size: 90%;}
/* アイコンは float で右寄せ・テキスト折り返しを許可 */
    .box-bottom .section-title-icon {float: right; margin: 0 0 0 1em; width: 33%; max-width: 33%; height: auto; object-fit: contain; opacity: 1; display: block;}
/* 互換のために相対定位は維持（他の絶対配置アイテムがある場合） */
    .box-bottom {position: relative; display: flow-root;}
@media screen and (max-width: 640px) {
        .box-bottom .section-title-icon {float: none; width: 100%; max-width: 100%; margin: 0 0 1em 0;}
    .same-day {font-size: 90%; opacity: 0.5;}
}


