@charset "UTF-8";

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,main {margin:0;padding:0;border:0;font-size:100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main {display:block;}
body {font-family:Verdana,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1;}
ol,ul {list-style:none;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}
wbr:after {content:"\00200B";}

/*	TBS reset
============================== */
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
.nocontxt {-webkit-touch-callout: none;-webkit-user-select: none;user-select: none;-webkit-user-drag:none;}
.nocontxt img {pointer-events: none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
div.embed-tbsplayer {
background-color:#000;
position:relative;
height:0;
padding-top:56.25%;
}
div.embed-tbsplayer .tbs-player {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
div.lbx-overlay {
z-index:10000;position:absolute;background-color:#000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;opacity:0.9;
}


/* ----------------------------------------------------------- COMMON */
html {
	font-size: 62.5%;
}

body {
	color: #555;
	font-size: 1.6rem;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust: 100%;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
}

/*/LINK/*/
a { text-decoration:none;}
a:hover { text-decoration:none;}
a:visited { text-decoration:none;}

@media all and (min-width: 768px) {
a:not(#menuIcon a) { text-decoration:none; transition: all .3s ease-out;}
}

#wrapper {
	min-width: 1000px;
	font-family: "m-plus-rounded-1c", sans-serif;
}


@media all and (max-width: 767px) {

#wrapper {
	min-width: 100%;
}

}

/* ----------------------------------------------------------- LOADING */
#loading {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	background-color: #fff;
	transition: all 1s;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999999;
}
#loading.loaded {
	opacity: 0;
	visibility: hidden;
}

.loadingCircle,
.loadingCircle:before,
.loadingCircle:after {
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: loadCircle 2.0s infinite ease-in-out;
  animation: loadCircle 2.0s infinite ease-in-out;
}
.loadingCircle {
  color: #555;
  font-size: 10px;
  margin: -80px auto 0;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loadingCircle:before,
.loadingCircle:after {
  content: '';
  position: absolute;
  top: 0;
}
.loadingCircle:before {
  left: -3.0em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loadingCircle:after {
  left: 3.0em;
}
@-webkit-keyframes loadCircle {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes loadCircle {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}


/* ----------------------------------------------------------- HEADER */

#wrapper header #tbsHeader {
	min-width: 1000px;
	height: 80px;
	background: #fff;
	position: relative;
}

#wrapper header #tbsHeader .tbs {
	position: absolute;
	top: 23px;
	left: 30px;
}

#wrapper header #tbsHeader .tbs a {
	display: inline-block;
	width: 65px;
	height: 30px;
	background: url(../img/tbs_logo.svg) no-repeat center top;
	background-size: contain;
}

@media all and (min-width: 768px) {
#wrapper header #tbsHeader .tbs a:hover {
	opacity: 0.5;
}
}

#wrapper header #tbsHeader .titleS {
	position: absolute;
	top: 18px;
	left: 120px;
}

#wrapper header #tbsHeader .titleS a {
	display: inline-block;
	width: 214px;
	height: 46px;
	background: url(../img/title_s.svg) no-repeat center top;
	background-size: contain;
	transition: all .3s ease-out;
}

@media all and (min-width: 768px) {
#wrapper header #tbsHeader .titleS a:hover {
	opacity: 0.5
}
}

#wrapper header #tbsHeader .headerTxt {
	font-size: 23px;
 line-height: 130%;
	font-weight: 800;
 text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50% );
}

#wrapper header #tbsHeader #snsLink {
	display: flex;
	position: absolute;
	top: 17px;
	right: 30px;
}

#wrapper header #tbsHeader #snsLink li a {
	display: inline-block;
	width: 42px;
	height: 42px;
	margin-left: 10px;
}

#wrapper header #tbsHeader #snsLink li#x a {
	background: url(../img/sns_x.png) no-repeat center top;
	background-size: contain;
}

#wrapper header #tbsHeader #snsLink li#instagram a {
	background: url(../img/sns_insta.png) no-repeat center top;
	background-size: contain;
}

#wrapper header #tbsHeader #snsLink li#line a {
	background: url(../img/sns_line.png) no-repeat center top;
	background-size: contain;
}

@media all and (min-width: 768px) {
#wrapper header #tbsHeader #snsLink li#x a:hover, #wrapper header #tbsHeader #snsLink li#instagram a:hover, #wrapper header #tbsHeader #snsLink li#line a:hover {
	opacity: 0.5;
}
}


@media all and (max-width: 767px) {

#wrapper header #tbsHeader {
	min-width: 100%;
	height: 110px;
}

#wrapper header #tbsHeader .tbs {
	top: 17px;
	left: 15px;
}

#wrapper header #tbsHeader .tbs a {
	width: 40px;
	height: 18px;
}

#wrapper header #tbsHeader .titleS {
	top: 14px;
	left: 70px;
}

#wrapper header #tbsHeader .titleS a {
	width: 120px;
	height: 26px;
}

#wrapper header #tbsHeader .headerTxt {
	white-space: nowrap;
	font-size: 18px;
	top: 65px;
	left: 50%;
	transform: translate( -50%, 0);
}

#wrapper header #tbsHeader #snsLink {
	top: 10px;
	right: 10px;
}

#wrapper header #tbsHeader #snsLink li a {
	width: 30px;
	height: 30px;
	margin-left: 5px;
}

}


/* ----------------------------------------------------------- MAIN IMG */

#wrapper main #mainImg {
	text-align: center;
	position: relative;
}

#wrapper main #mainImg #mainImgIn {
	width: 100%;
	background: url(../img/main_img.png) no-repeat center top;
	background-size: contain;
	aspect-ratio: 2560 / 1734;
	margin: 0 auto;
}

#wrapper main #mainImg #navBox {
	width: 100%;
	background: url(../img/nav_bg.png) no-repeat center top;
	background-size: contain;
	aspect-ratio: 640 / 57;
}

#wrapper main #mainImg nav {
	text-align: center;
	padding: 15px 0;
}

#wrapper main #mainImg nav.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	background: rgba(0,0,0,0.3);
	z-index: 99;
}

#wrapper main #mainImg nav ul {
	display: flex;
	justify-content: center;
}

#wrapper main #mainImg nav ul li {
	margin-right: 40px;
}

#wrapper main #mainImg nav ul li:last-child {
	margin-right: 0;
}

#wrapper main #mainImg nav ul li a {
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	text-shadow: 1px 1px #555;
}

@media all and (min-width: 768px) {
#wrapper main #mainImg nav ul li a:hover {
	opacity: 0.6;
}
}

#wrapper main #mainImg #sponsor {
	margin-top: 30px;
}

#wrapper main #mainImg #sponsor dl {
	display: flex;
	justify-content: center;
 margin-top: 15px;
}

#wrapper main #mainImg #sponsor dl dt {
	font-size: 12px;
	background: #ffff33;
	border-radius: 4px;
	padding: 5px 8px;
}

#wrapper main #mainImg #sponsor dl dd {
	font-size: 18px;
	margin-left: 10px;
}

#wrapper main #mainImg .detailBtn a {
	color: #555;
	font-size: 36px;
	font-weight: 800;
	text-align: left;
	display: inline-block;
	background: #ff3 url(../img/chirashi_thumb.png) no-repeat 1.5em center;
	background-size: 52px 75px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.3);
	border-radius: 2em;
	margin: 35px auto 0;
	padding: 0.5em 1.5em 0.5em 3.5em;
	transition: all .3s ease-out;
}

@media all and (min-width: 768px) {
	#wrapper main #mainImg .detailBtn a:hover {
		opacity: 0.7;
	}
}

#wrapper main #mainImg .detailBtn a .fontS {
	font-size: 16px;
}

#wrapper main .yoyakuBtn {
	position: fixed;
	bottom: 100px;
	right: 0;
	z-index: 99;
}

#wrapper main .yoyakuBtn a {
	color: #fff;
	font-size: 20px;
	font-weight: 800;
	line-height: 120%;
	text-align: center;
	display: inline-block;
	background: #c00;
	border-radius: 3em 0 0 3em;
	padding: 0.5em 0.5em 0.5em 1em;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

#wrapper main .yoyakuBtn a .fontS {
 font-size: 11px;
 font-weight: 400;
}

@media all and (min-width: 768px) {
#wrapper main .yoyakuBtn a:hover {
	opacity: 0.8;
}
}

@media all and (max-width: 767px) {

#wrapper main #mainImg #mainImgIn {
	background: url(../img/main_img_sp.png) no-repeat center top;
	background-size: contain;
	aspect-ratio: 640 / 824;
}

#wrapper main #mainImg #menuIcon {
	display: block;
	background: #fff;
	position: absolute;
	right: 10px;
	top: 10px;
	z-index: 1000;
	padding: 16px 10px;
	border: #555 1px solid;
	border-radius: 8px;
}

#wrapper main #mainImg #menuIcon.fixed {
	position: fixed;
	top: 5px;
}

#wrapper main #mainImg #menuIcon a {
 display: inline-block;
	box-sizing: border-box;
 position: relative;
	width: 28px;
	height: 12px;
}

#wrapper main #mainImg #menuIcon a span {
	display: inline-block;
	transition: all .4s ease-out;
	box-sizing: border-box;
}

#wrapper main #mainImg #menuIcon a span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: #555;
}

#wrapper main #mainImg #menuIcon a span:nth-of-type(1) {
	top: 0;
}
#wrapper main #mainImg #menuIcon a span:nth-of-type(2) {
	bottom: 0;
}

#wrapper main #mainImg #menuIcon a.active span:nth-of-type(1) {
	-webkit-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}

#wrapper main #mainImg #menuIcon a.active span:nth-of-type(2) {
	-webkit-transform: translateY(-5px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg);
}

#wrapper main #mainImg nav {
	width: 100%;
	height: 100vh;
	position: fixed;
	background: #fff;
	z-index: 999;
	top: 0;
}

#wrapper main #mainImg nav ul {
	display: block;
	margin-top: 100px;
}

#wrapper main #mainImg nav ul li {
	margin: 30px 0 0 0;
}

#wrapper main #mainImg nav ul li a {
	color: #555;
	text-shadow: none;
}

#wrapper main #mainImg #sponsor {
	margin-top: 10px;
}

#wrapper main #mainImg #sponsor dl {
	margin-top: 10px;
}

#wrapper main #mainImg #sponsor dl dt {
	font-size: 10px;
	margin: 0;
	padding: 3px 5px;
}

#wrapper main #mainImg #sponsor dl dd {
	font-size: 10px;
	margin: 0;
 padding: 2px 0 0 5px;
}

#wrapper main #mainImg .detailBtn a {
	font-size: 19px;
	background: #ff3 url(../img/chirashi_thumb.png) no-repeat 1.5em center;
	background-size: 28px 40px;
	margin: 20px 20px 0;
	padding: 0.5em 1.5em 0.5em 3.5em;
}

#wrapper main #mainImg .detailBtn a .fontS {
	font-size: 10px;
}

#wrapper main .yoyakuBtn {
	bottom: 80px;
}

#wrapper main .yoyakuBtn a {
	font-size: 13px;
}

#wrapper main .yoyakuBtn a .fontS {
 font-size: 10px;
}

}


/* ----------------------------------------------------------- COIN */

#wrapper main #coin {
	padding: 40px 0 0;
}

#wrapper main #coin .coinBnr a {
 display: block;
 width: 750px;
 height: 160px;
 background: url(../img/coin_bnr.png) no-repeat center top;
 background-size: contain;
 margin: 0 auto;
}

@media all and (min-width: 768px) {
#wrapper main #coin .coinBnr a:hover {
 opacity: 0.6;
}
}

@media all and (max-width: 767px) {

#wrapper main #coin {
 padding: 30px 0 0 0;
}

#wrapper main #coin .coinBnr {
 margin: 0 10px;
}

#wrapper main #coin .coinBnr a {
 width: 100%;
 height: auto;
 aspect-ratio: 600 / 120;
 background: url(../img/coin_bnr_sp.png) no-repeat center top;
 background-size: contain;
}

}


/* ----------------------------------------------------------- ZEROWASTE */

#wrapper main #zerowaste {
	padding: 40px 0 0;
}

#wrapper main #zerowaste .zerowasteBnr a {
 display: block;
 width: 750px;
 height: 160px;
 background: url(../img/zerowaste_bnr.png) no-repeat center top;
 background-size: contain;
 margin: 0 auto;
}

@media all and (min-width: 768px) {
#wrapper main #zerowaste .zerowasteBnr a:hover {
 opacity: 0.6;
}
}

@media all and (max-width: 767px) {

#wrapper main #zerowaste {
 padding: 30px 0 0 0;
}

#wrapper main #zerowaste .zerowasteBnr {
 margin: 0 10px;
}

#wrapper main #zerowaste .zerowasteBnr a {
 width: 100%;
 height: auto;
 aspect-ratio: 600 / 120;
 background: url(../img/zerowaste_bnr_sp.png) no-repeat center top;
 background-size: contain;
}

}

/* ----------------------------------------------------------- LEAD */

#wrapper main #lead {
	background: url(../img/bg2.png) no-repeat center top;
	background-size: contain;
	padding: 5% 0 120px;
	margin: -5% 0 0;
}

#wrapper main #lead #leadIn {
	background: url(../img/lead_bg.jpg) no-repeat center top;
	background-size: cover;
	box-sizing: border-box;
	width: 900px;
	border-radius: 20px;
	box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.3);
	margin: 60px auto 0;
	padding: 50px 100px 70px;
}

#wrapper main #lead #leadIn #leadM {
	background: url(../img/lead_m.png) no-repeat center top;
	background-size: contain;
 width: 100%;
	height: auto;
	aspect-ratio: 1447/245;
}

#wrapper main #lead #leadIn .leadTxt {
 font-size: 20px;
 line-height: 200%;
 margin-top: 30px;
}

#wrapper main #lead #leadIn .leadTxt2 {
 font-size: 16px;
 line-height: 200%;
 margin-top: 20px;
}

@media all and (max-width: 767px) {

#wrapper main #lead {
 background: url(../img/bg2.png) no-repeat center top;
 background-size: contain;
 padding: 8% 0 0;
 margin: 10px 0 0;
}

#wrapper main #lead #leadIn {
 width: 85%;
 margin: 0 auto;
	padding: 30px 20px 30px;
}

#wrapper main #lead #leadIn .leadTxt {
 font-size: 13px;
 text-align: left;
 margin-top: 10px;
}

#wrapper main #lead #leadIn .leadTxt2 {
 font-size: 11px;
 text-align: left;
 margin-top: 20px;
}

}

/* ----------------------------------------------------------- INFO */

#wrapper main #info {
	background: url(../img/bg3.jpg) no-repeat center top;
	background-size: cover;
 margin-top: 50px;
	padding: 50px 0;
}

#wrapper main #info #infoIn {
	width: 900px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}

#wrapper main #info #infoIn h2 {
	background: url(../img/info_m.png) no-repeat center top;
	background-size: contain;
	width: 204px;
	height: 158px;
}


#wrapper main #info #infoIn .infoBox {
	background: #fff;
	box-sizing: border-box;
	width: 680px;
	height: 160px;
	padding: 20px 10px 20px 30px;
	border-radius: 20px;
}

#wrapper main #info #infoIn .infoBox dl {
	font-size: 16px;
	line-height: 140%;
	height: 120px;
	overflow-y: scroll;
	display: flex;
	flex-wrap: wrap;
}

#wrapper main #info #infoIn .infoBox dt {
	font-weight: 800;
	width: 20%;
	margin-top: 10px;
}

#wrapper main #info #infoIn .infoBox dd {
	font-weight: 500;
	width: 80%;
	margin-top: 10px;
}

#wrapper main #info #infoIn .infoBox dd a {
	color: #555;
	text-decoration: underline;
}

@media all and (min-width: 768px) {
#wrapper main #info #infoIn .infoBox dd a:hover {
	opacity: 0.6;
}
}

#wrapper main #info #infoIn .infoBox dd a .red {
	color: #c00;
}

@media all and (max-width: 767px) {

#wrapper main #info {
	margin-top: 40px;
	padding: 10px 20px 20px 20px;
}

#wrapper main #info #infoIn {
	width: 100%;
	display: block;
}

#wrapper main #info #infoIn h2 {
	width: 204px;
	height: 158px;
	margin: 0 auto;
}


#wrapper main #info #infoIn .infoBox {
	width: 100%;
	height: auto;
	padding: 10px 20px 15px;
}

#wrapper main #info #infoIn .infoBox dl {
	font-size: 13px;
	height: 150px;
	display: block;
}

#wrapper main #info #infoIn .infoBox dt {
	width: 100%;
	margin-top: 10px;
}

#wrapper main #info #infoIn .infoBox dd {
	width: 100%;
	margin-top: 0;
}

}

/* ----------------------------------------------------------- YOYAKU */

#wrapper main #yoyaku {
	padding: 50px 0 30px;
}
#wrapper main #yoyaku .aboutYoyakuBtn {
 text-align: center;
}

#wrapper main #yoyaku .aboutYoyakuBtn a {
 color: #555;
 font-size: 40px;
 font-weight: 800;
 display: inline-block;
 background-color: #ff3;
 border-radius: 2em;
 padding: 0.5em 1.5em;
 box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.3);
}

@media all and (min-width: 768px) {
#wrapper main #yoyaku .aboutYoyakuBtn a:hover {
 opacity: 0.6;
}
}

@media all and (max-width: 767px) {

#wrapper main #yoyaku .aboutYoyakuBtn a {
 font-size: 24px;
 display: block;
 margin: 0 20px;
 padding: 0.5em 0;
}

}

/* ----------------------------------------------------------- PROGRAM */

#wrapper main #program {
	background: url(../img/bg4.jpg) no-repeat center top;
	background-size: cover;
	border-radius: 20px;
	margin: 20px;
}

#wrapper main #program  #programIn {
	width: 1000px;
	margin: 0 auto;
	padding: 50px 0 100px;
}

#wrapper main #program #programIn h2 {
	background: url(../img/program_m.png) no-repeat center top;
	background-size: contain;
	width: 712px;
	height: 135px;
	margin: 0 auto;
}

#wrapper main #program #programIn .programLead {
 color: #fff;
 font-size: 18px;
 line-height: 150%;
 text-align: center;
 margin-top: 15px;
}

#wrapper main #program #programIn .programLeadS {
 color: #fff;
 text-align: center;
 font-size: 13px;
 line-height: 120%;
 margin-top: 15px;
}

#wrapper main #program #programIn .jizenyoteiTxt {
 color: #ff3;
 font-size: 24px;
 line-height: 140%;
 font-weight: 800;
 text-align: center;
 margin-top: 20px;
}

#wrapper main #program #programIn .jizenyoteiTxt .line {
 background-color: #f36;
}

#wrapper main #program #programIn #placeM1 {
	background: url(../img/place_m1.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 37px;
	margin-top: 50px;
}

#wrapper main #program #programIn #placeM2 {
	background: url(../img/place_m2.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 38px;
	margin-top: 80px;
}

#wrapper main #program #programIn #placeM2_1 {
	background: url(../img/place_m2_1.png) no-repeat center top;
	background-size: contain;
	width: 294px;
	height: 26px;
	margin: 50px auto 0;
}

#wrapper main #program #programIn #placeM2_2 {
	background: url(../img/place_m2_2.png) no-repeat center top;
	background-size: contain;
	width: 342px;
	height: 31px;
	margin: 50px auto 0;
}

#wrapper main #program #programIn #placeM3 {
	background: url(../img/place_m3.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 39px;
	margin-top: 80px;
}

#wrapper main #program #programIn #placeM4 {
	background: url(../img/place_m4.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 40px;
	margin-top: 80px;
}

#wrapper main #program #programIn #placeM5 {
	background: url(../img/place_m5.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 36px;
	margin-top: 80px;
}


#wrapper main #program #programIn .stageCaution {
 color: #fff;
 font-size: 15px;
 line-height: 150%;
 text-align: center;
 margin-top: 20px;
}


#wrapper main #program #programIn .programCard {
	width: 924px;
	margin: 20px auto 0;
}

/*
#wrapper main #program #programIn .programCard {
 width: 924px;
 display: flex;
 justify-content: space-between;
	margin: 30px auto 0;
}
*/

.slick-track {
 display: flex;
}

.slick-slide {
 height: auto !important;
}
/*
#wrapper main .programCard > li {
 display: flex;
 flex-direction: column;
 align-items: stretch;
	background: #fff;
 box-sizing: border-box;
 width: 280px;
	border-radius: 20px;
 margin: 30px 15px 0;
	padding-bottom: 40px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	position: relative;
}
*/
#wrapper main .programCard li a {
 display: flex;
 flex-direction: column;
 align-items: stretch;
	background: #fff;
 box-sizing: border-box;
 width: 280px;
	border-radius: 20px;
 margin: 30px 15px 0;
	padding-bottom: 40px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	position: relative;
}

#wrapper main .programCard li .cs {
 display: flex;
 flex-direction: column;
 align-items: stretch;
	background: #fff;
 box-sizing: border-box;
 width: 280px;
	border-radius: 20px;
 margin: 30px 15px 0;
	padding-bottom: 40px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	position: relative;
}

@media all and (min-width: 768px) {
#wrapper main .programCard li a:hover {
	opacity: 0.6;
}
}

#wrapper main .programCard li .yoyaku {
	color: #555;
	font-size: 13px;
 line-height: 140%;
 text-align: right;
	background: #ffc;
	position: absolute;
	top: 0;
	right: 0;
	padding: 5px 10px 5px 10px;
	border-radius: 0 20px 0 5px;
}

#wrapper main .programCard li .job {
	color: #555;
	font-size: 13px;
 line-height: 140%;
 text-align: right;
	background: #fcc;
	position: absolute;
	top: 0;
	right: 0;
	padding: 5px 10px 5px 10px;
	border-radius: 0 20px 0 5px;
}

#wrapper main .programCard li .yoyaku .waku {
 color: #c00;
}

#wrapper main .programCard li .yoyakufuyo {
	color: #06c;
	font-size: 13px;
	background: #ffc;
	position: absolute;
	top: 0;
	right: 0;
	padding: 5px 15px 5px 10px;
	border-radius: 0 20px 0 5px;
}

#wrapper main .programCard li .yoyaku .price {
 color: #06c;
}

#wrapper main .programCard li .thumb,
#wrapper main .programCard li .thumb .thumbimgs li {
	width: 280px;
	height: 210px;
	border-radius: 20px 20px 0 0;
}

#wrapper main .programCard li .thumb img {
	width: 100%;
	height: 100%;
}

#wrapper main .programCard li .fukidashi {
 position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 2px #328918;
  box-sizing: border-box;
  border-radius: 6px;
  margin: 15px 15px 0;
}

#wrapper main .programCard li .fukidashi:before {
 content: "";
 position: absolute;
 bottom: -12px;
 left: 31px;
 border: 6px solid transparent;
 border-top: 6px solid #fff;
 z-index: 2;
}

#wrapper main .programCard li .fukidashi:after {
 content: "";
 position: absolute;
 bottom: -15px;
 left: 30px;
 border: 7px solid transparent;
 border-top: 6px solid #328918;
 z-index: 1;
}

#wrapper main .programCard li .fukidashi p {
 font-size: 12px;
 line-height: 140%;
}

#wrapper main .programCard li .title {
	color: #555;
 font-size: 16px;
	line-height: 140%;
 box-sizing: border-box;
	padding: 10px 15px 0;
}

#wrapper main .programCard li .title2 {
	color: #555;
	line-height: 140%;
 box-sizing: border-box;
 margin: 10px 15px 0;
	padding: 10px 0 0;
 border-top: 3px #ccc dotted;
}

#wrapper main .programCard li .titleS {
 font-size: 13px;
 padding: 5px 15px 0;
}

#wrapper main .programCard li .title .fontS {
	font-size: 11px;
	line-height: 100%;
}

#wrapper main .programCard li .date {
	color: #328918;
	font-size: 14px;
	font-weight: 800;
	text-align: right;
	position: absolute;
	right: 20px;
	bottom: 20px;
}

.slide-arrow {
	width: 30px;
	height: 30px;
	position: absolute;
	cursor: pointer;
	transition: all .3s ease-out;
}

@media all and (min-width: 768px) {
.slide-arrow:hover {
	opacity: 0.7;
}
}

.prev-arrow {
	top: 50%;
	left: -36px;
}

.next-arrow {
	top: 50%;
	right: -36px;
}

#wrapper main #program #programIn .timeschedule {
	text-align: center;
	margin-top: 40px;
}

#wrapper main #program #programIn .timeschedule a {
	color: #fff;
	font-size: 22px;
	font-weight: 800;
	display: inline-block;
	border: 3px #fff solid;
	border-radius: 2em;
	padding: 0.7em 2em;
}

@media all and (min-width: 768px) {
#wrapper main #program #programIn .timeschedule a:hover {
	opacity: 0.6;
}
}

#wrapper main #program #programIn .programAll {
	text-align: center;
	margin-top: 40px;
}

#wrapper main #program #programIn .programAll2 {
	text-align: center;
	margin-top: 60px;
}

#wrapper main #program #programIn .programAll a,
#wrapper main #program #programIn .programAll2 a {
	color: #555;
	font-size: 24px;
	font-weight: 800;
	display: inline-block;
	background: #ff6;
	border-radius: 2em;
	padding: 0.6em 2em;
}

@media all and (min-width: 768px) {
#wrapper main #program #programIn .programAll a:hover,
#wrapper main #program #programIn .programAll2 a:hover {
	opacity: 0.6;
}
}

#wrapper main #program #programIn .bnr {
 display: block;
	background: url(../img/furima_bnr.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 260px;
	margin: 20px auto 0;
}

@media all and (min-width: 768px) {
#wrapper main #program #programIn .bnr a:hover {
 opacity: 0.7;
}
}

#wrapper main #program #programIn #join {
	background: #fff;
	box-sizing: border-box;
	width: 900px;
	margin: 60px auto 0;
	padding: 10px 70px 40px;
	border-radius: 20px;
}

#wrapper main #program #programIn #join h3 {
	background: url(../img/join_m.png) no-repeat center top;
	background-size: contain;
	width: 553px;
	height: 131px;
	margin: 0 auto;
}

#wrapper main #program #programIn #join p {
	font-size: 22px;
	line-height: 180%;
	margin-top: 10px;
}

@media all and (max-width: 767px) {

#wrapper main #program {
	border-radius: 20px;
	margin: 10px;
}

#wrapper main #program #programIn {
	box-sizing: border-box;
	width: 100%;
	padding: 30px 15px;
}

#wrapper main #program #programIn h2 {
	width: 300px;
	height: 61px;
}

#wrapper main #program #programIn .jizenyoteiTxt {
 font-size: 16px;
 line-height: 160%;
 margin-top: 10px;
}

#wrapper main #program #programIn .programLead {
 font-size: 13px;
 text-align: left;
 margin-top: 10px;
}

#wrapper main #program #programIn .programLeadS {
 font-size: 10px;
}

#wrapper main #program #programIn #placeM1 {
	background: url(../img/place_m1_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
	margin-top: 30px;
}

#wrapper main #program #programIn #placeM2 {
	background: url(../img/place_m2_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
	margin-top: 30px;
}

#wrapper main #program #programIn #placeM2_1 {
	background: url(../img/place_m2_1.png) no-repeat center top;
	background-size: cover;
	background-size: cover;
	width: 180px;
	height: 16px;
 margin-top: 20px;
}

#wrapper main #program #programIn #placeM2_2 {
	background: url(../img/place_m2_2.png) no-repeat center top;
	background-size: cover;
	background-size: cover;
	width: 202px;
	height: 18px;
 margin-top: 30px;
}

#wrapper main #program #programIn #placeM3 {
	background: url(../img/place_m3_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
	margin-top: 30px;
}

#wrapper main #program #programIn #placeM4 {
	background: url(../img/place_m4_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
	margin-top: 30px;
}

#wrapper main #program #programIn #placeM5 {
	background: url(../img/place_m5_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
	margin-top: 30px;
}

#wrapper main #program #programIn .stageCaution {
 font-size: 10px;
 margin-top: 15px;
}

#wrapper main #program #programIn .programCard {
	width: 100%;
 display: block;
	margin: 10px auto 0;
}

/*
#wrapper main .programCard > li {
 width: auto;
	margin: 20px 5px 0;
	border-radius: 10px;
	padding-bottom: 50px;
}
*/

#wrapper main .programCard li {
 width: 50%;
}

#wrapper main .programCard li a {
 width: auto;
	margin: 10px 5px 0;
	border-radius: 10px;
	padding-bottom: 25px;
}


#wrapper main .programCard li .cs {
 width: auto;
	margin: 10px 5px 0;
	border-radius: 10px;
	padding-bottom: 30px;
}

#wrapper main .programCard li .yoyaku,
#wrapper main .programCard li .yoyakufuyo {
	font-size: 10px;
	padding: 3px 5px;
	border-radius: 0 10px 0 5px;
}

#wrapper main .programCard li .thumb,
#wrapper main .programCard li .thumb .thumbimgs li  {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 10px 10px 0 0;
}

#wrapper main .programCard li .thumb img {
 width: 140px;
 height: 110px;
}

#wrapper main .programCard li .fukidashi p {
 font-size: 12px;
 line-height: 140%;
}

#wrapper main .programCard li .title {
	font-size: 13px;
	padding: 10px 15px;
}


#wrapper main .programCard li .title2 {
	font-size: 13px;
}

#wrapper main .programCard li .title .fontS {
	font-size: 10px;
}



#wrapper main .programCard li .date {
	font-size: 12px;
	right: 10px;
	bottom: 10px;
}

.slide-arrow {
	width: 30px;
	height: 30px;
	z-index: 1;
}

.prev-arrow {
 top: 48%;
	left: -10px;
}

.next-arrow {
	top: 48%;
	right: -10px;
}

#wrapper main #program #programIn .timeschedule {
	margin-top: 20px;
}

#wrapper main #program #programIn .timeschedule a {
	font-size: 13px;
	border: 2px #fff solid;
}

#wrapper main #program #programIn .programAll {
	margin-top: 20px;
}

#wrapper main #program #programIn .programAll2 {
	margin-top: 30px;
}

#wrapper main #program #programIn .programAll a,
#wrapper main #program #programIn .programAll2 a {
	font-size: 16px;
	width: 100%;
	padding: 0.6em 0;
}

#wrapper main #program #programIn .bnr {
	background: url(../img/furima_bnr_s.png) no-repeat center top;
	background-size: contain;
	width: 100%;
	height: auto;
	aspect-ratio: 640 / 482;
 margin-top: 10px;
}

#wrapper main #program #programIn #join {
	width: 100%;
	margin: 30px auto 0;
	padding: 10px 15px 20px;
	border-radius: 10px;
}

#wrapper main #program #programIn #join h3 {
	width: 220px;
	height: 52px;
}

#wrapper main #program #programIn #join p {
	font-size: 13px;
	line-height: 180%;
	margin-top: 10px;
}

}

/* ----------------------------------------------------------- MAP */

#wrapper main #map {
	padding: 50px 0 30px;
}
#wrapper main #map .mapBtn {
 text-align: center;
}

#wrapper main #map .mapBtn a {
 color: #555;
 font-size: 40px;
 font-weight: 800;
 display: inline-block;
 background-color: #ff3;
 border-radius: 2em;
 padding: 0.5em 1.5em;
 box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.3);
}

@media all and (min-width: 768px) {
#wrapper main #map .mapBtn a:hover {
 opacity: 0.6;
}
}

@media all and (max-width: 767px) {

#wrapper main #map .mapBtn a {
 font-size: 24px;
 display: block;
 margin: 0 20px;
 padding: 0.5em 0;
}

}

/* ----------------------------------------------------------- FOOD */

#wrapper main #food {
	background: url(../img/bg5.jpg) no-repeat center top;
	background-size: cover;
	border-radius: 20px;
	margin: 20px;
}

#wrapper main #food #foodIn {
	width: 900px;
	margin: 0 auto;
	padding: 50px 0 100px;
}

#wrapper main #food #foodIn h2 {
	background: url(../img/food_m.png) no-repeat center top;
	background-size: contain;
	width: 583px;
	height: 144px;
	margin: 0 auto;
}

#wrapper main #food #foodIn .foodLead {
	color: #fff;
	line-height: 150%;
	text-align: center;
	margin-top: 10px;
}

#wrapper main #food #foodIn .circularBtn {
	text-align: center;
	margin-top: 20px;
}

#wrapper main #food #foodIn .circularBtn a {
	color: #555;
	font-size: 20px;
	font-weight: 800;
	display: inline-block;
	background: #ff6;
	padding: 0.5em 2em;
	border-radius: 2em;
}

@media all and (min-width: 768px) {
#wrapper main #food #foodIn .circularBtn a:hover {
	opacity: 0.6;
}
}

#wrapper main #food #foodIn .foodCard {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 0px;
}

#wrapper main #food #foodIn .foodCard > li {
	width: 430px;
	background: #fff;
	border-radius: 20px;
	margin-top: 40px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	position: relative;
}

@media all and (min-width: 768px) {
#wrapper main #food #foodIn .foodCard li a:hover {
	opacity: 0.6;
}
}

#wrapper main #food #foodIn .foodCard li .thumb {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 20px 20px 0 0;
}

#wrapper main #food #foodIn .foodCard li .thumb img {
	width: 100%;
	height: 100%;
}

#wrapper main #food #foodIn .foodCard li .title {
	color: #555;
	line-height: 140%;
	box-sizing: border-box;
	padding: 20px 25px;
}

#wrapper main #food #foodIn .foodCard li .title .fontS {
	font-size: 11px;
	line-height: 100%;
}


@media all and (max-width: 767px) {

#wrapper main #food {
	border-radius: 10px;
	margin: 10px;
}

#wrapper main #food #foodIn {
	box-sizing: border-box;
	width: 100%;
	padding: 30px 15px;
}

#wrapper main #food #foodIn h2 {
	width: 227px;
	height: 56px;
}

#wrapper main #food #foodIn .foodLead {
	font-size: 13px;
 text-align: left;
}

#wrapper main #food #foodIn .circularBtn {
	margin-top: 20px;
}

#wrapper main #food #foodIn .circularBtn a {
	font-size: 14px;
	padding: 0.5em 1em;
}

#wrapper main #food #foodIn .foodCard {
	display: block;
}

#wrapper main #food #foodIn .foodCard > li {
	width: 100%;
	border-radius: 10px;
	margin-top: 20px;
}

#wrapper main #food #foodIn .foodCard li .thumb {
	border-radius: 10px 10px 0 0;
}

#wrapper main #food #foodIn .foodCard li .title {
	font-size: 13px;
}


}



/* ----------------------------------------------------------- ACCESS */

#wrapper main #access {
	background: url(../img/bg6.jpg) no-repeat center top;
	background-size: cover;
	border-radius: 20px;
	margin: 20px;
}

#wrapper main #access #accessIn {
	width: 900px;
	margin: 0 auto;
	padding: 50px 0 100px;
}

#wrapper main #access #accessIn h2 {
	background: url(../img/access_m.png) no-repeat center top;
	background-size: contain;
	width: 492px;
	height: 126px;
	margin: 0 auto;
}

#wrapper main #access #accessIn #accessInIn {
	background: #fff;
	box-sizing: border-box;
	border-radius: 20px;
	margin-top: 10px;
	padding: 20px 50px 50px;
}

#wrapper main #access #accessIn #accessInIn #accessMap {
	background: url(../img/accessmap.png) no-repeat center top;
	background-size: contain;
	width: 100%;
	aspect-ratio: 795 / 568;
}

#wrapper main #access #accessIn #accessInIn #accessMap img {
	width: 100%;
	height: 100%;
}

#wrapper main #access #accessIn #accessInIn .accessTxt {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#wrapper main #access #accessIn #accessInIn .accessTxt dl dt {
	color: #1066B6;
	font-size: 24px;
	font-weight: 800;
}

#wrapper main #access #accessIn #accessInIn .accessTxt dl dd {
	font-size: 15px;
	line-height: 150%;
	margin-top: 10px;
}

#wrapper main #access #accessIn #accessInIn .accessTxt .googleMap a {
	color: #555;
	font-size: 20px;
	font-weight: 800;
	display: inline-block;
	border: 2px #555 solid;
	border-radius: 2em;
	padding: 0.5em 1.5em;
}

@media all and (min-width: 768px) {
#wrapper main #access #accessIn #accessInIn .accessTxt .googleMap a:hover {
	opacity: 0.5;
}
}

#wrapper main #access #accessIn #accessInIn #kaijoMap {
	background: url(../img/kaijo_map.png) no-repeat center top;
	background-size: contain;
	width: 100%;
	aspect-ratio: 800 / 1158;
	margin-top: 50px;
}

#wrapper main #access #accessIn #accessInIn #kaijoMap img {
	width: 100%;
	height: 100%;
}


@media all and (max-width: 767px) {

#wrapper main #access {
	border-radius: 20px;
	margin: 10px;
}

#wrapper main #access #accessIn {
	box-sizing: border-box;
	width: 100%;
	padding: 30px 15px;
}

#wrapper main #access #accessIn h2 {
	width: 168px;
	height: 43px;
}

#wrapper main #access #accessIn #accessInIn {
	border-radius: 10px;
	margin-top: 10px;
	padding: 10px 15px 20px;
}

#wrapper main #access #accessIn #accessInIn .accessTxt {
	display: block;
}

#wrapper main #access #accessIn #accessInIn .accessTxt dl dt {
	font-size: 16px;
	margin-top: 20px;
}

#wrapper main #access #accessIn #accessInIn .accessTxt dl dd {
	font-size: 13px;
	margin-top: 10px;
}

#wrapper main #access #accessIn #accessInIn .accessTxt .googleMap {
	text-align: center;
	margin-top: 15px;
}

#wrapper main #access #accessIn #accessInIn .accessTxt .googleMap a {
	font-size: 13px;
}

#wrapper main #access #accessIn #accessInIn #kaijoMap {
	margin-top: 30px;
}

}


/* ----------------------------------------------------------- Q&A */

#wrapper main #qa {
	background: url(../img/bg7.jpg) no-repeat center top;
	background-size: 200%;
	border-radius: 20px;
	margin: 20px;
}

#wrapper main #qa #qaIn {
	width: 900px;
	margin: 0 auto;
	padding: 50px 0 100px;
}

#wrapper main #qa #qaIn h2 {
	background: url(../img/qa_m.png) no-repeat center top;
	background-size: contain;
	width: 438px;
	height: 139px;
	margin: 0 auto;
}

#wrapper main #qa #qaIn .qaBox {
	background: #fff;
	border-radius: 20px;
	margin-top: 20px;
	padding: 20px 50px;
}

#wrapper main #qa #qaIn .qaBox dl dt {
	background: url(../img/qa_q.png) no-repeat left center;
	background-size: 40px 40px;
	padding: 10px 0 10px 55px;
}

#wrapper main #qa #qaIn .qaBox dl dt a {
	color: #555;
	font-size: 20px;
	line-height: 150%;
	font-weight: 800;
	display: block;
	padding-right: 60px;
	position: relative;
}

@media all and (min-width: 768px) {
#wrapper main #qa #qaIn .qaBox dl dt a:hover {
	opacity: 0.6;
}
}

#wrapper main #qa #qaIn .qaBox dl dt a:after {
	content: '';
	display: inline-block;
	background: url(../img/qa_arrow.png) no-repeat center top;
	background-size: contain;
	width: 40px;
	height: 40px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

#wrapper main #qa #qaIn .qaBox dl dt a.active:after {
	transform: translateY(-50%) rotateX(180deg);
}


#wrapper main #qa #qaIn .qaBox dl dd {
	font-size: 16px;
	line-height: 160%;
	margin-top: 10px;
	border-top: #ccc 3px dotted;
	padding-top: 20px;
}


@media all and (max-width: 767px) {

#wrapper main #qa {
	background: url(../img/bg7.jpg) no-repeat center top;
	background-size: 800%;
	border-radius: 20px;
	margin: 10px;
}

#wrapper main #qa #qaIn {
	box-sizing: border-box;
	width: 100%;
	padding: 30px 15px;
}

#wrapper main #qa #qaIn h2 {
	width: 189px;
	height: 60px;
}

#wrapper main #qa #qaIn .qaBox {
	border-radius: 10px;
	margin-top: 10px;
	padding: 5px 15px;
}

#wrapper main #qa #qaIn .qaBox dl dt {
	background: url(../img/qa_q.png) no-repeat left center;
	background-size: 30px 30px;
	padding: 10px 0 7px 40px;
}

#wrapper main #qa #qaIn .qaBox dl dt a {
	font-size: 13px;
	padding-right: 40px;
}

#wrapper main #qa #qaIn .qaBox dl dt a:after {
	width: 30px;
	height: 30px;
}

#wrapper main #qa #qaIn .qaBox dl dd {
	font-size: 13px;
	padding-top: 10px;
}

}


/* ----------------------------------------------------------- NOTES */

#wrapper main #notes #notesIn {
	box-sizing: border-box;
	width: 900px;
	margin: 100px auto 0;
	padding: 40px 50px 40px;
	border: #ccc 2px solid;
	border-radius: 20px;
}

#wrapper main #notes #notesIn h2 {
	background: url(../img/notes_m.png) no-repeat center top;
	background-size: contain;
	width: 199px;
	height: 49px;
	margin: 0 auto;
}

#wrapper main #notes #notesIn ul {
	margin-top: 30px;
}

#wrapper main #notes #notesIn ul li {
	font-size: 16px;
	line-height: 150%;
	list-style: disc;
	margin: 15px 0 0 1em;
}


@media all and (max-width: 767px) {

#wrapper main #notes {
	padding: 30px 15px;
}

#wrapper main #notes #notesIn {
	width: 100%;
	margin: 0;
	padding: 20px 15px;
	border-radius: 10px;
}

#wrapper main #notes #notesIn h2 {
	width: 105px;
	height: 26px;
}

#wrapper main #notes #notesIn ul {
	margin-top: 20px;
}

#wrapper main #notes #notesIn ul li {
	font-size: 13px;
	margin: 15px 0 0 1em;
}

}

/* ----------------------------------------------------------- PROGRAM ALL */

#programAll #wrapper main #title #titleIn {
	width: 900px;
	margin: 0 auto;
}

#programAll #wrapper main #title #titleIn h1 {
	background: url(../img/program_t.png) no-repeat center top;
	background-size: contain;
	width: 730px;
	height: 155px;
	margin: -20px auto 0;
}

#programAll #wrapper main #title #titleIn .subNav {
 text-align: center;
 display: flex;
 justify-content: space-between;
 margin-top: 50px;
}

#programAll #wrapper main #title #titleIn .subNav li a {
 color: #fff;
 font-size: 16px;
 line-height: 120%;
 font-weight: 800;
 display: inline-block;
 background: #328918;
 padding: 0.7em 1.4em;
 border-radius: 2em;
}

@media all and (min-width: 768px) {
#programAll #wrapper main #title #titleIn .subNav li a:hover {
 opacity: 0.6;
}
}

#programAll #wrapper main #title #titleIn .subNav li a .fontS {
 font-size: 12px;
}

#programAll #wrapper main #title #titleIn .programLead {
 font-size: 18px;
 line-height: 150%;
 text-align: center;
 margin-top: 15px;
}

#programAll #wrapper main #title #titleIn .programLeadS {
 font-size: 13px;
 line-height: 150%;
 text-align: center;
 margin-top: 10px;
}

#programAll #wrapper main #title #titleIn .jizen {
	font-size: 16px;
	line-height: 150%;
	text-align: center;
	margin-top: 20px;
}

#programAll #wrapper main #title #titleIn .jizenyoteiTxt {
 color: #c00;
 font-size: 24px;
 line-height: 140%;
 font-weight: 800;
 text-align: center;
 margin-top: 10px;
}

#programAll #wrapper main #title #titleIn .jizenyoteiTxt .line {
 background-color: #ff3;
}

#programAll #wrapper main #programCardBox #programCardBoxIn {
	width: 900px;
	margin: 0 auto 80px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT1 {
	background: url(../img/place_t1.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 37px;
 margin-top: 80px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT2 {
	background: url(../img/place_t2.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 38px;
 margin-top: 100px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT2_1 {
	background: url(../img/place_t2_1.png) no-repeat center top;
	background-size: contain;
	width: 294px;
	height: 26px;
 margin: 50px auto 0;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT2_2 {
	background: url(../img/place_t2_2.png) no-repeat center top;
	background-size: contain;
	width: 342px;
	height: 31px;
 margin: 50px auto 0;
}


#programAll #wrapper main #programCardBox #programCardBoxIn #placeT3 {
	background: url(../img/place_t3.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 39px;
 margin-top: 100px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT4 {
	background: url(../img/place_t4.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 40px;
 margin-top: 100px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT5 {
	background: url(../img/place_t5.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 37px;
 margin-top: 100px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .stageCaution {
 font-size: 15px;
 line-height: 150%;
 text-align: center;
 margin-top: 20px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -30px 0 -15px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard > li {
	width: 280px;
	margin: 30px 30px 0 0;
 position: relative;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard > li .overlay {
 background-color: #000;
 opacity: 0.8;
 position: absolute;
 top: 30px;
 left: 15px;
 border-radius: 20px;
 padding-bottom: 40px;
 z-index: 1;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard > [class*="hidden-"] {
 display: none;
}

@media all and (max-width: 767px) {

#programAll #wrapper main #title #titleIn {
	box-sizing: border-box;
	width: 100%;
	padding: 0 15px;
}

#programAll #wrapper main #title #titleIn h1 {
	width: 300px;
	height: 64px;
	margin: 0 auto 0;
}

#programAll #wrapper main #title #titleIn .programLead {
	font-size: 13px;
 text-align: left;
 margin-top: 10px;
}

#programAll #wrapper main #title #titleIn .programLeadS {
	 font-size: 10px;
  text-align: left;
}

#programAll #wrapper main #title #titleIn .jizen {
	font-size: 13px;
	margin-top: 15px;
}

#programAll #wrapper main #title #titleIn .jizenyoteiTxt {
 font-size: 16px;
 line-height: 160%;
 margin-top: 10px;
}

#programAll #wrapper main #title #titleIn #selectBox {
	border-radius: 10px;
	margin-top: 10px;
	padding: 20px;
}

#programAll #wrapper main #title #titleIn #selectBox .selectM {
	font-size: 16px;
}

#programAll #wrapper main #title #titleIn #selectBox .tagAllBox {
 margin-top: 20px;
}

#programAll #wrapper main #title #titleIn #selectBox .tagAllBox #tagAll {
	font-size: 16px;
}

#programAll #wrapper main #title #titleIn #selectBox dl {
	display: block;
}

#programAll #wrapper main #title #titleIn #selectBox dl dt {
	font-size: 16px;
	box-sizing: border-box;
	width: 100%;
	border: none;
	padding: 15px 0 0;
}

#programAll #wrapper main #title #titleIn #selectBox dl dd {
	width: 100%;
}

#programAll #wrapper main #title #titleIn #selectBox dl dd ul li a {
	font-size: 13px;
}

#programAll #wrapper main #title #titleIn #selectBox dl dd ul li a.on::before {
 top: 5px;
 left: 8px;
 width: 8px;
 height: 5px;
 border-left: 3px solid #ea545d;
 border-bottom: 3px solid #ea545d;
}

#programAll #wrapper main #title #titleIn #selectBox .tagAllBox #tagAll.on::before {
 top: 6px;
 left: 12px;
 width: 10px;
 height: 6px;
 border-left: 3px solid #ea545d;
 border-bottom: 3px solid #ea545d;
}

#programAll #wrapper main #title #titleIn .subNav {
 display: block;
 margin-top: 20px;
}

#programAll #wrapper main #title #titleIn .subNav li {
 margin-top: 10px;
}

#programAll #wrapper main #title #titleIn .subNav li a {
 font-size: 15px;
 line-height: 140%;
 display: block;
 padding: 0.5em 1.7em;
 border-radius: 2em;
}

#programAll #wrapper main #title #titleIn .subNav li a .fontS {
 font-size: 11px;
}

#programAll #wrapper main #title #titleIn .subNav li a br {
 display: none;
}

#programAll #wrapper main #programCardBox #programCardBoxIn {
	box-sizing: border-box;
	width: 100%;
	margin: 30px auto 30px;
	padding: 0 15px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard {
	box-sizing: border-box;
	margin: 0 -15px 0 0;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard > li {
	box-sizing: border-box;
	width: calc( (100% - 30px) / 2 );
	margin: 20px 15px 0 0;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard > li .overlay {
 top: 10px;
 left: 5px;
 border-radius: 10px;
 padding-bottom: 30px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .programCard > li:nth-of-type(2n) {
	margin-right: 0;
}


#programAll #wrapper main #programCardBox #programCardBoxIn #placeT1 {
	background: url(../img/place_t1_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
 margin-top: 50px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT2 {
	background: url(../img/place_t2_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
 margin-top: 50px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT2_1 {
	background: url(../img/place_t2_1.png) no-repeat center top;
	background-size: cover;
	width: 180px;
	height: 16px;
 margin-top: 20px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT2_2 {
	background: url(../img/place_t2_2.png) no-repeat center top;
	background-size: cover;
	width: 202px;
	height: 18px;
 margin-top: 30px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT3 {
	background: url(../img/place_t3_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
 margin-top: 50px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT4 {
	background: url(../img/place_t4_sp.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
 margin-top: 50px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn #placeT5 {
	background: url(../img/place_t5_sp.png) no-repeat center top;
	background-size: contain;
	width: 100%;
	height: auto;
 aspect-ratio: 642/46;
 margin-top: 50px;
}

}


/* ----------------------------------------------------------- MODAL */

#modal #wrapper {
	min-width: 900px;
}

#modal #wrapper main {
	width: 900px;
	margin: 0 auto;
}

#modal #wrapper main section {
	padding: 50px 50px 100px;
}

#modal #wrapper main section .title {
	border-bottom: #328918 5px solid;
	padding-bottom: 5px;
	position: relative;
}

#modal #wrapper main section .title h1 {
	font-size: 26px;
	line-height: 140%;
	font-weight: 800;
	padding-right: 120px;
}

#modal #wrapper main section.yoyaku .title h1,
#modal #wrapper main section.sanka .title h1 {
	font-size: 40px;
	line-height: 140%;
	font-weight: 800;
}

#modal #wrapper main section .title h1 .fontS {
 font-size: 16px;
}

#modal #wrapper main section .title .reserve {
	color: #c00;
	font-size: 14px;
	display: inline-block;
	border: #c00 1px solid;
	border-radius: 6px;
	padding: 0.4em 0.5em;
	position: absolute;
	top: 5px;
	right: 0;
}

#modal #wrapper main section .title .reserve2 {
	color: #c00;
	font-size: 14px;
	display: inline-block;
	border: #c00 1px solid;
	border-radius: 6px;
	padding: 0.4em 0.5em;
	position: absolute;
	top: 5px;
	right: 160px;
}

#modal #wrapper main section .title .noreserve {
	color: #06c;
	font-size: 14px;
	display: inline-block;
	border: #06c 1px solid;
	border-radius: 6px;
	padding: 0.4em 0.5em;
	position: absolute;
	top: 5px;
	right: 0;
}

#modal #wrapper main section .title .price {
	color: #06c;
	font-size: 14px;
	display: inline-block;
	border: #06c 1px solid;
	border-radius: 6px;
	padding: 0.4em 0.5em;
	position: absolute;
	top: 40px;
	right: 0;
}

#modal #wrapper main section .title .price2 {
	color: #06c;
	font-size: 14px;
	display: inline-block;
	border: #06c 1px solid;
	border-radius: 6px;
	padding: 0.4em 0.5em;
	position: absolute;
	top: 5px;
	right: 0;
}


#modal #wrapper main section .content {
	display: flex;
	justify-content: space-between;
	padding: 30px 0 0;
}

#modal #wrapper main section.sanka .content {
	display: block;
	padding: 30px 0 0;
}

#modal #wrapper main section .content .left {
	width: 400px;
}

#modal #wrapper main section .content .left .modalimgs {
	width: 400px;
	height: 300px;
}

#modal #wrapper main section .content .left .modalimgs li {
	width: 400px;
	height: 300px;
}

#modal #wrapper main section .content .left .modalimgs li img {
	width: 100%;
	height: 100%;
}

.modal-arrow {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	transition: all .3s ease-out;
	z-index: 1;
}

@media all and (min-width: 768px) {
.modal-arrow:hover {
	opacity: 0.7;
}
}

.modal-prev-arrow {
	left: 5px;
}

.modal-next-arrow {
	right: 5px;
}

#modal #wrapper main section .content .left .sdgsIcon {
	display: flex;
	margin-top: 30px;
}

#modal #wrapper main section .content .left .sdgsIcon li {
	width: 60px;
	height: 60px;
	margin-right: 8px;
}

#modal #wrapper main section .content .left .sdgsIcon li:last-child {
	margin-right: 0;
}

#modal #wrapper main section .content .right {
	width: 370px;
}

#modal #wrapper main section .content .right p {
	font-size: 16px;
	line-height: 170%;
	margin-top: 10px;
}

#modal #wrapper main section.yoyaku .content p {
	font-size: 18px;
	line-height: 200%;
}

#modal #wrapper main section.sanka .content p {
	font-size: 16px;
	line-height: 180%;
 margin-top: 20px;
}

#modal #wrapper main section.sanka .content h2 {
 color: #328918;
 font-size: 24px;
}

#modal #wrapper main section.sanka .content ul {
 margin-bottom: 40px;
}

#modal #wrapper main section.sanka .content ul li {
 font-size: 16px;
 line-height: 160%;
 list-style: disc;
 margin: 1em 0 0 1em;
}

#modal #wrapper main section .content .right p a {
	color: #555;
	text-decoration: underline;
}

@media all and (min-width: 768px) {
#modal #wrapper main section .content .right p a:hover {
	opacity: 0.5;
}
}

#modal #wrapper main section .content .right p:first-child {
	margin-top: -5px;
}

#modal #wrapper main section .content .right p .fontS {
	font-size: 12px;
}

#modal #wrapper main section .content .right p .fin {
	text-decoration: line-through;
}

#modal #wrapper main section .content .right p .finTxt {
	color: #c00;
	font-size: 12px;
}

#modal #wrapper main section .content .right h2 {
	color: #328918;
	font-size: 20px;
	font-weight: 800;
	border-bottom: #328918 1px solid;
	margin-top: 30px;
	padding-bottom: 5px;
}

#modal #wrapper main section .applyBtnBox {
	text-align: center;
	background: #fff;
	width: 100%;
	position: fixed;
	right: 0;
	bottom: 0;
	padding: 20px 0;
}

#modal #wrapper main section .applyBtnBox .applyBtn a {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	display: inline-block;
	background: #c00;
	padding: 0.5em 2em;
	border-radius: 3em;
 margin: 0 10px;
}

@media all and (min-width: 768px) {
#modal #wrapper main section .applyBtnBox .applyBtn a:hover {
	opacity: 0.6;
}
}

#modal #wrapper main section .applyBtnBox .applyBtn a .fontS {
 font-size: 10px;
 font-weight: 400;
 margin-top: 5px;
}

@media all and (max-width: 767px) {

#modal #wrapper {
	min-width: 100%;
}

#modal #wrapper main {
	width: 100%;
}

#modal #wrapper main section {
	padding: 20px 20px 120px;
}

#modal #wrapper main section.pb2 {
	padding: 20px 20px 200px;
}

#modal #wrapper main section .title {
	border-bottom: #328918 5px solid;
	padding-bottom: 8px;
	position: relative;
}

#modal #wrapper main section .title h1 {
	font-size: 20px;
	padding-right: 0;
}

#modal #wrapper main section.yoyaku .title h1,
#modal #wrapper main section.sanka .title h1 {
	font-size: 20px;
}

#modal #wrapper main section .title h1 .fontS {
 font-size: 11px;
}

#modal #wrapper main section .title .reserve, 
#modal #wrapper main section .title .noreserve, 
#modal #wrapper main section .title .price,
#modal #wrapper main section .title .reserve2, 
#modal #wrapper main section .title .price2 {
	font-size: 12px;
	position: static;
	margin-top: 5px;
}

#modal #wrapper main section .content {
	display: block;
	padding: 20px 0 0;
}

#modal #wrapper main section .content .left {
	width: 100%;
}

#modal #wrapper main section .content .left .modalimgs {
	width: 250px;
	height: 188px;
	margin: 0 auto;
}

#modal #wrapper main section .content .left .modalimgs li {
	width: 250px;
	height: 188px;
}

#modal #wrapper main section .content .left .sdgsIcon {
	display: flex;
	margin-top: 20px;
}

#modal #wrapper main section .content .left .sdgsIcon li {
	width: 40px;
	height: 40px;
}

#modal #wrapper main section .content .right {
	width: 100%;
	margin-top: 20px;
}

#modal #wrapper main section .content .right p {
	font-size: 13px;
}

#modal #wrapper main section.yoyaku .content p {
	font-size: 13px;
}

#modal #wrapper main section.sanka .content p {
	font-size: 13px;
 margin-top: 20px;
}

#modal #wrapper main section.sanka .content h2 {
 font-size: 16px;
}

#modal #wrapper main section.sanka .content ul {
 margin-bottom: 30px;
}

#modal #wrapper main section.sanka .content ul li {
 font-size: 13px;
}

#modal #wrapper main section .content .right p .fontS {
	font-size: 10px;
}

#modal #wrapper main section .content .right p .finTxt {
	font-size: 10px;
}

#modal #wrapper main section .content .right h2 {
	font-size: 16px;
	margin-top: 20px;
	padding-bottom: 5px;
}

#modal #wrapper main section .applyBtnBox .applyBtn a {
	font-size: 16px;
 margin: 10px 0;
}

}

/* ----------------------------------------------------------- CIRCULAR */

#circular #wrapper {
	min-width: 900px;
}

#circular #wrapper main {
	width: 900px;
	margin: 0 auto;
}

#circular #wrapper main section {
	padding: 50px;
}

#circular #wrapper main section .title {
	border-bottom: #328918 5px solid;
	padding-bottom: 5px;
}

#circular #wrapper main section .title h1 {
	font-size: 32px;
	line-height: 140%;
	font-weight: 800;
}

#circular #wrapper main section .content h2 {
	color: #328918;
	font-size: 26px;
	font-weight: 800;
	margin-top: 40px;
}

#circular #wrapper main section .content .circularImg {
	float: right;
	width: 240px;
	height: 180px;
	margin: 20px 0 20px 20px;
}

#circular #wrapper main section .content .circularImg:first-of-type {
	margin: 0 0 20px 20px;
}

#circular #wrapper main section .content .circularImg img {
	width: 100%;
	height: 100%;
}

#circular #wrapper main section .content p {
	line-height: 180%;
	margin-top: 20px;
}


@media all and (max-width: 767px) {

#circular #wrapper {
	min-width: 100%;
}

#circular #wrapper main {
	width: 100%;
}

#circular #wrapper main section {
	padding: 20px;
}

#circular #wrapper main section .title {
	border-bottom: #328918 5px solid;
	padding-bottom: 8px;
}

#circular #wrapper main section .title h1 {
	font-size: 24px;
}

#circular #wrapper main section .content h2 {
	font-size: 16px;
	line-height: 140%;
	margin-top: 40px;
}

#circular #wrapper main section .content .circularImg {
	float: none;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin: 20px 0 0 0;
}

#circular #wrapper main section .content .circularImg:first-of-type {
 margin: 20px 0 0 0;
}

#circular #wrapper main section .content p {
	font-size: 13px;
	line-height: 180%;
	margin-top: 15px;
}

}

/* ----------------------------------------------------------- COIN */

#modal #wrapper main #coin {
 box-sizing: border-box;
	min-width: 900px;
 width: 900px;
	margin: 0 auto;
 padding: 50px;
}

#modal #wrapper main #coin .title {
	border-bottom: #328918 5px solid;
	padding-bottom: 5px;
}

#modal #wrapper main #coin .title h1 {
	font-size: 36px;
	line-height: 140%;
	font-weight: 800;
}

#modal #wrapper main #coin .content {
 display: block;
}

#modal #wrapper main #coin .content .coinImg {
	float: right;
	width: 200px;
	height: 171px;
	margin: 0 0 20px 20px;
}

#modal #wrapper main #coin .content .coinImg img {
	width: 100%;
	height: 100%;
}

#modal #wrapper main #coin .content p {
 font-size: 18px;
	line-height: 180%;
	margin-top: 20px;
}


@media all and (max-width: 767px) {

#modal #wrapper main #coin {
	min-width: 100%;
 width: 100%;
 padding: 20px;
}

#modal #wrapper main #coin .title {
	border-bottom: #328918 5px solid;
	padding-bottom: 8px;
}

#modal #wrapper main #coin .title h1 {
	font-size: 24px;
}

#modal #wrapper main #coin .content h2 {
	font-size: 16px;
	line-height: 140%;
	margin-top: 30px;
}

#modal #wrapper main #coin .content .coinImg {
	float: none;
	width: 100%;
	height: auto;
	aspect-ratio: 412 / 352;
	margin: 20px 0 0 0;
}

#modal #wrapper main #coin .content p {
	font-size: 13px;
	line-height: 180%;
	margin-top: 15px;
}

}


/* ----------------------------------------------------------- FOOTER */

#wrapper aside #toTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 99;
}

#wrapper aside #toTop a {
	display: inline-block;
	width: 60px;
	height: 60px;
	background: url(../img/totop.png) no-repeat center center;
	background-size: cover;
	border-radius: 30px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

@media all and (min-width: 768px) {
#wrapper aside #toTop a:hover {
	opacity: 0.6;
}
}

#wrapper footer {
	background: url(../img/footer_bg.png) no-repeat center top;
	background-size: cover;
	aspect-ratio: 640 / 213;
	margin-top: 80px;
}

#wrapper footer #footerIn {
	padding: 9% 0 0;
}

#wrapper footer #footerIn .archive {
	width: 16em;
	margin: 0 auto;
}

#wrapper footer #footerIn .archive ul li {
	color: #fff;
 font-size: 14px;
	margin-top: 15px;
	list-style: disc;
}

#wrapper footer #footerIn .archive ul li a {
	color: #fff;
}

#wrapper footer #footerIn .archive ul li a:hover {
	opacity: 0.6;
}

#wrapper footer #footerIn .copyright {
	margin-top: 55px;
}

#wrapper footer #footerIn .copyright p {
	color: #fff;
	font-size: 12px;
	text-align: center;
}

#wrapper footer #footerIn .copyright p a {
	color: #fff;
	text-decoration: underline;
}

@media all and (min-width: 768px) {
#wrapper footer #footerIn .copyright p a:hover {
	opacity: 0.5;
}
}


@media all and (max-width: 767px) {

#wrapper aside #toTop a {
	width: 40px;
	height: 40px;
}

#wrapper footer {
	margin-top: -15px;
}

#wrapper footer #footerIn {
	padding: 20% 0 25px;
}

#wrapper footer #footerIn .archive {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 30px 0 0;
}

#wrapper footer #footerIn .archive ul {
	width: 14em;
	margin: 0 auto;
	
}

#wrapper footer #footerIn .archive ul li {
	font-size: 13px;
	margin-top: 13px;
}

#wrapper footer #footerIn .copyright {
	margin-top: 50px;
}

#wrapper footer #footerIn .copyright p {
	font-size: 10px;
	line-height: 140%;
}

}
