@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 { 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: 25px;
	left: 120px;
}

#wrapper header #tbsHeader .titleS a {
	display: inline-block;
	width: 214px;
	height: 28px;
	background: url(../img/title_s.png) 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: 20px;
	font-weight: 800;
	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: 86px;
}

#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: 168px;
	height: 22px;
}

#wrapper header #tbsHeader .headerTxt {
	white-space: nowrap;
	font-size: 18px;
	top: 50px;
	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 #mainImgIn {
	width: 100%;
	background: url(../img/main_img.png) no-repeat center top;
	background-size: contain;
	aspect-ratio: 160 / 99;
	position: relative;
	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: 18px;
	font-weight: 800;
	text-shadow: 1px 1px #555;
}

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

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

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

#wrapper main #mainImg #sponsor dl dt:nth-of-type(1) {
	margin-left: 0;
}

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

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

#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: 10px 0 0 10px;
	padding: 0.5em 0.5em 0.5em 0.8em;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

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



@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: 160 / 229;
	position: inherit;
}

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

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

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

#wrapper main #mainImg #menuIcon a {
	position: relative;
	width: 28px;
	height: 12px;
}

#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 {
	display: none;
	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;
	padding: 0 15px;
}

#wrapper main #mainImg #sponsor dl {
	flex-wrap: wrap;
	justify-content: center;
}

#wrapper main #mainImg #sponsor dl dt {
	font-size: 10px;
	text-align: center;
	box-sizing: border-box;
	width: 3em;
	margin: 10px 0 0 10px;
	padding: 3px 0;
}

#wrapper main #mainImg #sponsor dl dd {
	font-size: 12px;
	box-sizing: border-box;
	margin: 10px 0 0 0;
	padding: 3px 0 0 5px;
}

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

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

}

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

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

#wrapper main #lead .commentBtn {
	text-align: center;
}

#wrapper main #lead .commentBtn a {
	color: #555;
	font-size: 30px;
	font-weight: 800;
	display: inline-block;
	background: #ff3;
	border-radius: 2em;
	padding: 0.5em 1em;
}

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

#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: 80px 90px;
}

#wrapper main #lead #leadIn #leadM {
	background: url(../img/lead_m.png) no-repeat center top;
	background-size: contain;
	width: 708px;
	height: 49px;
}

#wrapper main #lead #leadIn .line {
	font-size: 18px;
	font-weight: 500;
	background-image: linear-gradient(180deg, #ccc 1px, transparent 1px);
	background-size: 100% 2.5em;
	line-height: 2.5em;
	padding-bottom: 1px;
	margin-top: 50px;
}


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

#wrapper main #lead {
	margin: -3% 0 0;
}

#wrapper main #lead .commentBtn {
	margin-top: 10px;
	padding: 0 15px;
}

#wrapper main #lead .commentBtn a {
	font-size: 16px;
	line-height: 120%;
	padding: 0.5em 1em;
}

#wrapper main #lead #leadIn {
	width: 85%;
	border-radius: 20px;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3);
	margin: 20px auto 0;
	padding: 30px 10px;
}

#wrapper main #lead #leadIn #leadM {
	width: 100%;
	height: auto;
	padding-top: 6.95%;
}

#wrapper main #lead #leadIn .line {
	font-size: 13px;
	background-size: 100% 2em;
	line-height: 2em;
	margin-top: 20px;
}

}

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

#wrapper main #info {
	background: url(../img/bg3.jpg) no-repeat center top;
	background-size: cover;
	margin-top: 80px;
	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;
}

}


/* ----------------------------------------------------------- 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: 768px;
	height: 155px;
	margin: 0 auto;
}

#wrapper main #program #programIn .stageM {
	background: url(../img/stage_m.png) no-repeat center top;
	background-size: contain;
	width: 1000px;
	height: 36px;
	margin-top: 10px;
}

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

#wrapper main .programCard li:not(.sdgsIcon li) {
	background: #fff;
	border-radius: 20px;
	margin: 0 14px;
	padding-bottom: 40px;
	box-shadow: 0 0 10px rgba(0, 0, 0, .2);
	position: relative;
}

.slick-track {
  display: flex;
}

.slick-slide {
  height: auto !important;
}

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

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

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

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

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

#wrapper main .programCard li .sdgsIcon {
	display: flex;
	justify-content: flex-end;
	padding: 0 15px;
	position: absolute;
	bottom: 15px;
	right: 0;
}

#wrapper main .programCard li .sdgsIcon li {
	width: 30px;
	height: 30px;
	border-radius: inherit;
	margin: 0 0 0 5px;
}

.sdgsIcon1 {
	background: url(../img/sdgs_icon1.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon2 {
	background: url(../img/sdgs_icon2.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon3 {
	background: url(../img/sdgs_icon3.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon4 {
	background: url(../img/sdgs_icon4.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon5 {
	background: url(../img/sdgs_icon5.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon6 {
	background: url(../img/sdgs_icon6.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon7 {
	background: url(../img/sdgs_icon7.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon8 {
	background: url(../img/sdgs_icon8.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon9 {
	background: url(../img/sdgs_icon9.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon10 {
	background: url(../img/sdgs_icon10.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon11 {
	background: url(../img/sdgs_icon11.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon12 {
	background: url(../img/sdgs_icon12.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon13 {
	background: url(../img/sdgs_icon13.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon14 {
	background: url(../img/sdgs_icon14.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon15 {
	background: url(../img/sdgs_icon15.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon16 {
	background: url(../img/sdgs_icon16.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon17 {
	background: url(../img/sdgs_icon17.png) no-repeat center top;
	background-size: contain;
}

.sdgsIcon li img {
	width: 100%;
	height: 100%;
}

.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 .workshopM {
	background: url(../img/workshop_m.png) no-repeat center top;
	background-size: contain;
	width: 1000px;
	height: 36px;
	margin-top: 50px;
}

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

#wrapper main #program #programIn .programAll a {
	color: #555;
	font-size: 30px;
	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 {
	opacity: 0.6;
}
}

#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 .stageM {
	background: url(../img/stage_m.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: 22px;
	margin-top: 10px;
}

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

#wrapper main .programCard li:not(.sdgsIcon li) {
	margin: 0 5px;
	border-radius: 10px;
	padding-bottom: 30px;
}

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

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

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

#wrapper main .programCard li .sdgsIcon {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	padding: 0 10px;
	bottom: 10px;
}

#wrapper main .programCard li .sdgsIcon li {
	width: 20px;
	height: 20px;
	border-radius: inherit;
	margin: 2px 0 0 2px;
}

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

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

.next-arrow {
	top: 18%;
	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 .workshopM {
	background: url(../img/workshop_m.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: 22px;
	margin-top: 30px;
}

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

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

#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;
}

}


/* ----------------------------------------------------------- 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: 567px;
	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;
	padding-bottom: 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: 15px;
}

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

#wrapper main #food #foodIn .foodCard li .sdgsIcon {
	display: flex;
	justify-content: flex-end;
	padding: 0 15px;
	position: absolute;
	bottom: 15px;
	right: 0;
}

#wrapper main #food #foodIn .foodCard li .sdgsIcon li {
	width: 30px;
	height: 30px;
	border-radius: inherit;
	margin: 0 0 0 5px;
}


@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: 220px;
	height: 56px;
}

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

#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: 882px;
	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: 300px;
	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 #selectBox {
	background: url(../img/bg8.jpg) no-repeat center top;
	background-size: cover;
	border-radius: 20px;
	margin-top: 10px;
	padding: 50px;
}

#programAll #wrapper main #title #titleIn #selectBox .selectM {
	color: #328918;
	font-size: 26px;
	font-weight: 800;
	text-align: center;
	border-top: #328918 2px solid;
	border-bottom: #328918 2px solid;
	padding: 10px 0;
}

#programAll #wrapper main #title #titleIn #selectBox dl {
	display: flex;
	flex-wrap: wrap;
}

#programAll #wrapper main #title #titleIn #selectBox dl dt, #programAll #wrapper main #title #titleIn #selectBox dl dd {
	border-bottom: #328918 1px dotted;
	padding: 15px 0 5px;
}

#programAll #wrapper main #title #titleIn #selectBox dl dt {
	font-size: 20px;
	font-weight: 800;
	width: 13%;
}

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

#programAll #wrapper main #title #titleIn #selectBox dl dd ul {
	display: flex;
	flex-wrap: wrap;
}

#programAll #wrapper main #title #titleIn #selectBox dl dd ul li a {
	color: #555;
	font-size: 15px;
	display: inline-block;
	background: #fff;
	border-radius: 2em;
	margin: 0 5px 10px 0;
	padding: 0.3em 1em;
}

#programAll #wrapper main #title #titleIn #selectBox dl dd ul li a.on {
	background: #ccc;
}

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

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

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

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

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

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

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


@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 .jizen {
	font-size: 13px;
	margin-top: 15px;
}

#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 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 #programCardBox #programCardBoxIn {
	box-sizing: border-box;
	width: 100%;
	margin: 30px auto 30px;
	padding: 0 15px;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .stageT {
	background: url(../img/stage_t.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: 24px;
}

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

#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:nth-of-type(2n) {
	margin-right: 0;
}

#programAll #wrapper main #programCardBox #programCardBoxIn .workshopT {
	background: url(../img/workshop_t.png) no-repeat center top;
	background-size: cover;
	width: 100%;
	height: 24px;
	margin-top: 40px;
}

}


/* ----------------------------------------------------------- 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 .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 .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 .content {
	display: flex;
	justify-content: space-between;
	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: 150%;
	margin-top: 10px;
}

#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: 2em;
}

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


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

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

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

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

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

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

#modal #wrapper main section .title .reserve, #modal #wrapper main section .title .noreserve {
	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 .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;
}

}

/* ----------------------------------------------------------- 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: 320px;
	height: 240px;
	margin: 20px 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: 30px;
}

#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 p {
	font-size: 13px;
	line-height: 180%;
	margin-top: 15px;
}


}



/* ----------------------------------------------------------- COMMENT */

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

#comment #wrapper main #title #titleIn h1 {
	background: url(../img/comment_t.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 128px;
	margin: -10px auto 0;
}

#comment #wrapper main .post {
	width: 900px;
	margin: 0 auto;
}

#comment #wrapper main #ambassador h2 {
	background: url(../img/ambassador_m.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 40px;
	margin-top: 50px;
}

#comment #wrapper main .post ul li {
	display: flex;
	align-items:center;
	border-radius: 20px;
	margin-top: 40px;
}

#comment #wrapper main .post ul li#ambassador1 {
	border: 6px #F18E00 solid;
}

#comment #wrapper main .post ul li#ambassador2 {
	border: 6px #DC097B solid;
}

#comment #wrapper main .post ul li#ambassador3 {
	border: 6px #009A29 solid;
}

#comment #wrapper main .post ul li#ambassador4 {
	border: 6px #E30018 solid;
}

#comment #wrapper main .post ul li#ambassador5 {
	border: 6px #0096d4 solid;
}

#comment #wrapper main .post ul li#ambassador6 {
	border: 6px #d59100 solid;
}

#comment #wrapper main .post ul li#announcer1 {
	border: 6px #e4011e solid;
}

#comment #wrapper main .post ul li#announcer2 {
	border: 6px #d6a600 solid;
}

#comment #wrapper main .post ul li#announcer3 {
	border: 6px #1b973a solid;
}

#comment #wrapper main .post ul li#announcer4 {
	border: 6px #c50e28 solid;
}

#comment #wrapper main .post ul li#announcer5 {
	border: 6px #e83418 solid;
}

#comment #wrapper main .post ul li#announcer6 {
	border: 6px #00a6d9 solid;
}

#comment #wrapper main .post ul li#announcer7 {
	border: 6px #fabd00 solid;
}

#comment #wrapper main .post ul li#announcer8 {
	border: 6px #970a31 solid;
}

#comment #wrapper main .post ul li#announcer9 {
	border: 6px #ec6a06 solid;
}

#comment #wrapper main .post ul li#announcer10 {
	border: 6px #dc097b solid;
}

#comment #wrapper main .post ul li#announcer11 {
	border: 6px #f5a20b solid;
}

#comment #wrapper main .post ul li#announcer12 {
	border: 6px #d39206 solid;
}

#comment #wrapper main .post ul li#announcer13 {
	border: 6px #407936 solid;
}

#comment #wrapper main .post ul li#announcer14 {
	border: 6px #0075ba solid;
}

#comment #wrapper main .post ul li#announcer15 {
	border: 6px #28a838 solid;
}

#comment #wrapper main .post ul li#announcer16 {
	border: 6px #004c88 solid;
}

#comment #wrapper main .post ul li#announcer17 {
	border: 6px #023067 solid;
}


#comment #wrapper main .post ul li .commentPh {
	width: 288px;
	height: 238px;
	border-radius: 14px 0 0 14px;
}

#comment #wrapper main .post ul li .commentPh img {
	width: 100%;
	height: 100%;
}

#comment #wrapper main .post ul li dl {
	box-sizing: border-box;
	width: 612px;
	padding: 0 20px 0 0;
}

#comment #wrapper main .post ul li dl dt {
	font-size: 30px;
	font-weight: 800;
}

#comment #wrapper main .post ul li#ambassador1 dl dt {
	color: #F18E00;
}

#comment #wrapper main .post ul li#ambassador2 dl dt {
	color: #DC097B;
}

#comment #wrapper main .post ul li#ambassador3 dl dt {
	color: #009A29;
}

#comment #wrapper main .post ul li#ambassador4 dl dt {
	color: #E30018;
}

#comment #wrapper main .post ul li#ambassador5 dl dt {
	color: #0096d4;
}

#comment #wrapper main .post ul li#ambassador6 dl dt {
	color: #d59100;
}

#comment #wrapper main .post ul li#announcer1 dl dt {
	color: #e4011e;
}

#comment #wrapper main .post ul li#announcer2 dl dt {
	color: #d6a600;
}

#comment #wrapper main .post ul li#announcer3 dl dt {
	color: #1b973a;
}

#comment #wrapper main .post ul li#announcer4 dl dt {
	color: #c50e28;
}

#comment #wrapper main .post ul li#announcer5 dl dt {
	color: #e83418;
}

#comment #wrapper main .post ul li#announcer6 dl dt {
	color: #00a6d9;
}

#comment #wrapper main .post ul li#announcer7 dl dt {
	color: #fabd00;
}

#comment #wrapper main .post ul li#announcer8 dl dt {
	color: #970a31;
}

#comment #wrapper main .post ul li#announcer9 dl dt {
	color: #ec6a06;
}

#comment #wrapper main .post ul li#announcer10 dl dt {
	color: #dc097b;
}

#comment #wrapper main .post ul li#announcer11 dl dt {
	color: #f5a20b;
}

#comment #wrapper main .post ul li#announcer12 dl dt {
	color: #d39206;
}

#comment #wrapper main .post ul li#announcer13 dl dt {
	color: #407936;
}

#comment #wrapper main .post ul li#announcer14 dl dt {
	color: #0075ba;
}

#comment #wrapper main .post ul li#announcer15 dl dt {
	color: #28a838;
}

#comment #wrapper main .post ul li#announcer16 dl dt {
	color: #004c88;
}

#comment #wrapper main .post ul li#announcer17 dl dt {
	color: #023067;
}

#comment #wrapper main .post ul li dl dd {
	font-size: 18px;
	line-height: 150%;
	margin-top: 10px;
}

#comment #wrapper main #announcer h2 {
	background: url(../img/announcer_m.png) no-repeat center top;
	background-size: contain;
	width: 900px;
	height: 40px;
	margin-top: 80px;
}



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

#comment #wrapper main #title #titleIn {
	width: 100%;
}

#comment #wrapper main #title #titleIn h1 {
	width: 100%;
	height: auto;
	aspect-ratio: 300 / 43;
	margin: 10px auto 0;
}

#comment #wrapper main .post {
	box-sizing: border-box;
	width: 100%;
	padding: 0 15px;
}

#comment #wrapper main #ambassador h2 {
	background-size: cover;
	box-sizing: border-box;
	width: 100%;
	height: 22px;
	margin-top: 20px;
}

#comment #wrapper main .post ul li {
	display: block;
	border-radius: 10px;
	margin-top: 20px;
}

#comment #wrapper main .post ul li .commentPh {
	width: 90%;
	height: auto;
	aspect-ratio: 288 / 238;
	border-radius: 0;
	margin: 0 auto;
}


#comment #wrapper main .post ul li dl {
	box-sizing: border-box;
	width: 100%;
	padding: 20px;
}

#comment #wrapper main .post ul li dl dt {
	font-size: 16px;
}

#comment #wrapper main .post ul li dl dd {
	font-size: 13px;
}

#comment #wrapper main #announcer h2 {
	background-size: cover;
	box-sizing: border-box;
	width: 100%;
	height: 22px;
	margin-top: 40px;
}


}



/* ----------------------------------------------------------- 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: 12% 0 0;
}

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

#wrapper footer #footerIn .archive ul li {
	color: #fff;
	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: 80px;
}

#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%;
}

}
