@charset "utf-8";
img {
	display: block;
}
.sp,
img.sp {
	display: none;
}
#header *,
#footer *,
#main .cnt * ,
#navi * {
	font-family: 'Noto Sans JP', sans-serif;
}
#header .h2_mv,
#main .h2_sec {
	font-family: 'Zen Maru Gothic', sans-serif;
}
body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

@media screen and (min-width:641px) {
	.pc,img.pc {display: block;}
	.sp,img.sp {display: none;}
}
@media screen and (max-width:640px) {
	.sp,img.sp {display: block;}
	.pc,img.pc {display: none;}
}

/*header*/
/*****************/
/*mv / title*/
#header {
	background: url(../img/mv/mv_bg_pc.svg) 50% 0 no-repeat;
	background-size: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
#header .mv {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#header .pop {
	font-weight: 600;
	line-height: 1.2;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/mv/pop_bg.svg) 0 0 no-repeat;
	background-size: 100%;
	position: absolute;
}
#header .wrap_info {
	display: flex;
	align-items: center;
	font-weight: 600;
}
#header .txt_info .bg {
	font-style: normal;
}
#header .h2_mv {
	color: #000;
	font-weight: 900;
	text-shadow: 0px 4px 0px #e0ff36;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 4;
}
#header .h2_mv::before,
#header .h2_mv::after {
	content: '';
	display: block;
	background-size: 100% auto;
}
#header .h2_mv::before{
	background: url(../img/cnt_ttl_dec06.svg) 0 0 no-repeat;
	margin-right: .15em;
	transform: translateY(-0.15em);
}
#header .h2_mv::after {
	background: url(../img/cnt_ttl_dec07.svg) 0 0 no-repeat;
	margin-left: .15em;
	transform: translateY(0.45em);
}

#header .txt_catch {
	color: #000;
	font-weight: 500;
	line-height: 1.8;
}

#header .scroll {
	transform: rotate(90deg) translate(-50%);
	position: absolute;
}
#header .scroll .wp {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	letter-spacing: 1.5px;
	padding-bottom: 3px;
	display: block;
	position: relative;
	overflow: hidden;
}
#header .scroll .wp::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000;
	position: absolute;
	bottom: 0px;
	left: 0;
	animation: scroll_line 3s linear infinite;
}
@keyframes scroll_line {
	0%  {transform: translate(-100%);}
	35% {transform: translate(0%);}
	50% {transform: translate(0%);}
	85%{transform: translate(100%);}
	100%{transform: translate(100%);}
}

@media screen and (min-width:641px) {
	#header {
		/*aspect-ratio: 1920 / 1080;	*/
		aspect-ratio: 1920 / 1458;	
	}
	#header .title {
		margin-bottom: calc(min(5vw, 60px) * .65);
	}
	#header .h1_img {
		width: min(28.125vw, 540px);
		height: auto;
	}
	#header .mv .wp {
		position: relative;
	}
	#header .pop {
		font-size: clamp(1.6rem, 2.1875vw, 4rem);
		width: min(11.5625vw, 220px);
		height: min(11.5625vw, 220px);
		top: 0;
		left: 90%;
	}
	#header .wrap_info {
		font-size: clamp(1.6rem, 2.1875vw, 4rem);
		padding: .1em 1.2em .2em;
		background-color: #fff;
		border: 2px solid #000;
		border-radius: 1.8em;
		margin-bottom: min(2.5vw, 30px);
	}
	#header .place {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-left: 0.8em;
	}
	#header .place dt {
		display: flex;
	}
	#header .place dt::after {
		content: '：';
	}
	#header .txt_info {
		font-size: clamp(1.3rem, 1.40625vw, 2.6rem);
		font-weight: 600;
		background-color: #fff;
	}

	#header .h2_mv {
		font-size: clamp(2.5rem, 5.102vw, 5rem);
		margin-top: min(2.34375vw, 45px);
		margin-bottom: min(1.09375vw, 21px);
	}
	#header .h2_mv::before,
	#header .h2_mv::after {
		width: min(3.5vw, 42px);
		height: min(4.25vw, 51px);
	}
	#header .txt_catch {
		text-align: center;
		font-size: clamp(0.9rem, 1.838vw, 1.8rem);
	}
	
	#header .scroll {
		left: 90%;
		bottom: min(2.03125vw, 39px);
	}
	#header .scroll .wp {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		padding-right: 3.5em;
	}
}
@media screen and (min-width:1300px) {
	#header .title {
		margin-bottom: min(5vw, 60px);
	}
	#header .h2_mv {
		font-size: clamp(3rem, 6.122vw, 6rem);
		margin-top: min(3.75vw, 72px);
		margin-bottom: min(1.5625vw, 30px);
	}
	#header .txt_catch {
		font-size: clamp(1.2rem, 2.45vw, 2.4rem);
	}
}
@media screen and (max-width:640px) {
	#header {
		width: 100%;
		/*background: url(../img/mv/mv_bg.svg) 50% min(15.2vw, 114px) no-repeat;*/
		/*background-size: auto calc(100% - min(15.2vw, 114px) * 0.7);*/
		background: url(../img/mv/mv_bg_sp.svg) 50% 100% no-repeat;
		background-size: 100%;
		padding: min(28vw, 210px) 2vw min(10.8vw, 81px);
	}
	#header .mv {
		position: relative;
	}
	#header .title {
		margin-bottom: min(8vw, 60px);
	}
	#header .h1_img {
		width: min(55.2vw, 430px);
		height: auto;
	}

	#header .pop {
		font-size: clamp(1.5rem, 3.908vw, 3rem);
		width: min(22.8vw, 170px);
		height: min(22.8vw, 170px);
		top: 0;
		/*right: 0;*/
		/*right: min(-4vw, -15px);*/
		right:  min(6vw, 45px);
	}

	#header .wrap_info {
		flex-direction: column;
		justify-content: center;
	}
	#header .date {
		font-size: clamp(2.5rem, 6.51vw, 5rem);
		text-align: center;
		padding: .12em 1.2em .2em;
		margin-bottom: min(8.4vw, 63px);
		background-color: #fff;
		border: 2px solid #000;
		border-radius: 4em;
	}
	#header .place {
		text-align: center;
		position: relative;
		margin-bottom: min(7.2vw, 54px);
	}
	#header .place dt {
		font-size: clamp(2rem, 5.21vw, 4rem);
		padding: 0 1.2em .08em;
		background-color: #fff;
		border: 2px solid #000;
		border-radius: 4em;
		position: absolute;
		top: -1em;
		left: calc(50% - 2.1em);
	}
	#header .place dd {
		font-size: clamp(2.5rem, 6.51vw, 5rem);
		line-height: 1.3;
		background-color: #fff;
		border: 2px solid #000;
		padding: .5em 1.5em;
		border-radius: 4em;
	}

	#header .txt_info {
		text-align: center;
		line-height: 2.1;
	}
	#header .txt_info .bg {
		font-size: clamp(2rem, 5.21vw, 4rem);
		font-weight: 600;
		background-color: #fff;
	}

	#header .h2_mv {
		font-size: clamp(3rem, 7.81vw, 6rem);
		text-align: center;
		line-height: 1.3;
		margin-bottom: min(4vw, 30px);
	}
	#header .h2_mv::before,
	#header .h2_mv::after {
		width: min(6.4vw, 48px);
		height: min(6vw, 45px);
	}
	#header .txt_catch {
		font-size: clamp(1.65rem, 4.3vw, 3.3rem);
		width: min(88vw, 660px);
		margin: auto;
	}
	#header .scroll .wp {
		font-size: clamp(1rem, 2.606vw, 2rem);
		width: min(18.4vw, 138px);
	}
	#header .scroll {
		left: calc(100% - min(2.8vw, 21px));
		bottom: min(-1.2vw, -12px);
	}
}
@media screen and (max-width:380px) {
	#header .scroll {
		left: calc(98% - min(2.8vw, 21px));
		bottom: min(-1.2vw, -12px);
	}
}


/*navi*/
#navi {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
}
#navi * {transition: all .4s;}
#navi.viewMemu {
	position: fixed;
	opacity: 0;
	z-index: 10;
	animation: vmenu .25s linear .05s forwards;
}
@keyframes vmenu {
	0% {opacity: 0;}
	100%{opacity: 1;}
}


#navi .nav_link {
	color: #000;
	font-weight: 500;
	text-decoration: none;
	display: block;
}

/*menu button*/
#navi #menubtn {
	width: min(18vw, 135px);
	height: 100%;
	cursor: pointer;
	position: relative;
	z-index: 3;
}
#navi #menubtn::before {
	content: 'メニュー';
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(1rem, 2.606vw, 2rem);
	font-weight: 700;
	text-align: center;
	width: 100%;
	padding-top: min(10.4vw, 78px);
}
#navi #menubtn.active::before {
	content: '閉じる';
}
#navi #menubtn .bd {
	height: min(.7vw, 4px);
	width: min(10vw, 74px);
	background-color: #000;
	position: absolute;
	left: min(4vw, 29px);
	transition: all .3s;
}
#navi #menubtn .bd:nth-of-type(1) {
	top: min(3.2vw, 24px);
	transform: rotate(0deg);
}
#navi #menubtn .bd:nth-of-type(2) {
	top: min(5.6vw, 42px);
	transform: scale(1, 1);
	transform-origin: top right;
}
#navi #menubtn .bd:nth-of-type(3) {
	top: min(8vw, 60px);
	transform: rotate(0deg);
}
#navi #menubtn.active .bd:nth-of-type(1) {
	transform: rotate(-30deg);
	top: min(5.6vw, 42px);
}
#navi #menubtn.active .bd:nth-of-type(2) {
	transform: scale(0, 1);
	opacity: .5;
}
#navi #menubtn.active .bd:nth-of-type(3) {
	transform: rotate(30deg);
	top: min(5.6vw, 42px);
}
#navi .nav_sns .wp {
	display: flex;
	align-items: center;
}
#navi .nav_sns .link_sns {
	transition: all .3s;
}
#navi .nav_sns .link_sns:hover {
	opacity: .6;
}

@media screen and (min-width:641px) {
	#navi #menubtn {display: none;}
	#navi {
		height: min(4.6875vw, 90px);
		align-items: center;
		transition: all .4s;
	}
	#navi .site_name {
		padding-left: min(3.125vw, 60px);
		padding-top: calc(min(5.78125vw, 110px) - min(4.6875vw, 90px));
	}
	#navi .site_name .img {
		width: min(22.96875vw, 440px);
		transition: all .4s;
	}
	#navi .nav_ul {
		display: flex;
		/*padding-top: calc(min(5.78125vw, 110px) - min(4.6875vw, 90px));*/
	}
	#navi .nav_li {
		margin-right: min(2.96875vw, 56px);
		/*padding-top: calc(min(5.78125vw, 110px) - min(3.125vw, 60px));*/
		padding-top: calc(min(5.78125vw, 110px) - min(4.6875vw, 90px));
	}
	#navi .nav_link {
		font-size: clamp(1rem, 1.09375vw, 2rem);
		position: relative;
		transition: all .3s;
	}
	#navi .nav_link::before {
		content: '';
		display: block;
		width: 100%;
		height: 2px;
		background-color: #1b7993;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2px;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform .3s ease-in-out;
	}
	#navi .nav_link:hover {
		color: #1b7993;
	}
	#navi .nav_link:hover::before {
		transform: scaleX(1);
		transform-origin: left;
	}
	#navi.viewMemu {
		background-color: #fff;
	}
	#navi.viewMemu .site_name,
	#navi.viewMemu .nav_ul {
		padding-top: 0;
	}
	#navi.viewMemu .site_name .img {
		width: min(18.125vw, 348px);
	}
	#navi.viewMemu .nav_li {
		padding-top: calc(min(5.78125vw, 110px) - min(5vw, 96px));
	}

	#navi .nav_sns {padding-right: min(2.1875vw, 40px);}
	#navi .nav_sns .wp {
		justify-content: center;
		padding: min(0.78125vw, 15px) 0;
		background-color: #b4fcff;
		border-radius: min(0.75vw, 8px);
		position: relative;
	}
	#navi .nav_sns .wp::before {
		content: '';
		display: block;
		width: 1px;
		height: calc(100% - (min(0.78125vw, 15px) * 2));
		background-color: #000;
		position: absolute;
		top: min(0.78125vw, 15px);
		left: calc(50% - 1px);
	}
	#navi .nav_sns .sns_icn {
		display: block;
		width: min(1.5625vw, 30px);
		height: min(1.5625vw, 30px);
	}
	#navi .nav_sns .link_sns {
		margin: 0 min(0.78125vw, 15px);
	}
}
@media screen and (min-width:1200px) {
	#navi .nav_sns .sns_icn {
		width: 30px;
		height: 30px;
	}
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	#navi {
		background-color: #fff;
		width: 100%;
		height: min(16vw, 120px);
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#navi .site_name .img {
		width: min(56.8vw, 426px);
	}
	#navi .site_name {
		padding-left: min(4vw, 30px);
	}
	#navi #menubtn {
		position: relative;
		z-index: 10;
	}
	
	#navi .gnv_wp {
		width: 100%;
		background-color: #fff;
		position: absolute;
		top: min(16vw, 120px);
		height: 100%;
		height: calc(100vh - min(16vw, 120px));
		padding: 0 min(6.8vw, 50px) min(6.8vw, 50px);
		border-top: 2px solid #000;
		display: none;
		animation:menuClose .4s ease-in-out forwards;
		z-index: 4;
	}
	#navi .gnv_wp.open {
		animation:menuOpen .4s ease-in-out forwards;
		z-index: 4;
		overflow: scroll;
	}
	#navi .nav_li {
		border-bottom: 2px solid #58c3e0;
	}
	#navi .nav_link {
		font-size: clamp(1.6rem, 4.168vw, 3.2rem);
		padding: min(5.2vw, 39px) 0 min(4vw, 30px);
	}
	#navi .nav_cntact {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	#navi .office {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		font-weight: 700;
		margin: min(6.8vw, 51px) 0 min(3.2vw, 24px);
	}
	#navi .link_cnt {
		color: #187693;
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		font-weight: 700;
		text-decoration: none;
		padding: .25em 2.5em .4em;
		border: 2px solid #187693;
		border-radius: 4em;
		position: relative;
	}
	#navi .link_cnt::after {
		content: '';
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #187693;
		border-right: 2px solid #187693;
		transform: rotate(45deg);
		position: absolute;
		top: calc(50% - 3px);
		right: 1.1em;
	}

	#navi .nav_sns {
		margin-top: min(8.4vw, 66px);
	}
	#navi .nav_sns .wp {
		justify-content: flex-start;
	}
	#navi .nav_sns .sns_icn {
		width: min(8vw, 60px);
		height: min(8vw, 60px);
	}
	#navi .nav_sns .link_sns {
		margin-right: min(6vw, 45px);
	}
}
@media screen and (max-width:380px) {
}

@keyframes menuOpen {
	0% {
		transform: scaleY(0);
		transform-origin: top center;
	}
	100% {
		transform: scaleY(1);
		transform-origin: top center;
	}
}
@keyframes menuClose {
	0% {
		transform: scaleY(1);
		transform-origin: top center;
	}
	100% {
		transform: scaleY(0);
		transform-origin: top center;
	}
}



/*common*/
/**************/
/*h2*/
.h2_sec {
	color: #1b7993;
	font-weight: 900;
	text-shadow: 0px 4px 0px #e0ff36;
	margin-bottom: min(2.03125vw, 39px);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 4;
}
.h2_sec::before,
.h2_sec::after {
	content: '';
	display: block;
	background-size: 100% auto;
}
.h2_sec::before{
	background: url(../img/cnt_ttl_dec01.svg) 0 0 no-repeat;
	margin-right: .15em;
	transform: translateY(-0.15em);
}
.h2_sec::after {
	background: url(../img/cnt_ttl_dec02.svg) 0 0 no-repeat;
	margin-left: .15em;
	transform: translateY(0.45em);
}

.h2_sub {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}
.h2_sub .jp {
	font-family: 'Noto Sans JP', sans-serif;
}
.h2_sub .eng {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	position: relative;
}
.h2_sub .eng::before,
.h2_sub .eng::after {
	content: '';
	display: block;
	background-size: 100% auto;
	position: absolute;
}
.h2_sub .eng::before{
	background: url(../img/cnt_ttl_dec04.svg) 0 0 no-repeat;
	/*margin-right: .15em;*/
}
.h2_sub .eng::after {
	background: url(../img/cnt_ttl_dec05.svg) 0 0 no-repeat;
	margin-left: .15em;
}


@media screen and (min-width:641px) {
	.h2_sec {
		font-size: clamp(3rem, 6.122vw, 6rem);
	}
	.h2_sec::before,
	.h2_sec::after {
		width: min(3.5vw, 42px);
		height: min(4.25vw, 51px);
	}
	.h2_sub {
		margin-bottom: calc(min(6vw, 72px) * .7);
	}
	.h2_sub .jp {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		margin-bottom: 2px;
	}
	.h2_sub .eng {
		font-size: clamp(2.4rem, 4.898vw, 4.8rem);
	}
	.h2_sub .eng::before,
	.h2_sub .eng::after {
		width: min(2.5vw, 30px);
		height: min(2vw, 24px);
	}
	.h2_sub .eng::before{
		left: calc(min(-2.5vw, -30px) * .7);
		top: 0;
	}
	.h2_sub .eng::after {
		right: calc(min(-2.5vw, -30px) * .9);
		bottom: 0;
	}
}
@media screen and (min-width:980px) {
}

@media screen and (max-width:640px) {
	.h2_sec {
		font-size: clamp(3rem, 7.81vw, 6rem);
		margin-bottom: min(4vw, 30px);
	}
	.h2_sec::before,
	.h2_sec::after {
		width: min(6.4vw, 48px);
		height: min(6vw, 45px);
	}
	.h2_sub {
		margin-bottom: min(9.2vw, 72px);
	}
	.h2_sub .jp {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		margin-bottom: 2px;
	}
	.h2_sub .eng {
		font-size: clamp(2.4rem, 6.25vw, 4.8rem);
		align-items: flex-start;
	}
	.h2_sub .eng::before,
	.h2_sub .eng::after {
		width: min(4vw, 30px);
		height: min(3.2vw, 24px);
	}
	.h2_sub .eng::before{
		left: calc(min(-4vw, -30px) * .7);
		top: 0;
	}
	.h2_sub .eng::after {
		right: calc(min(-4vw, -30px) * .7);
		bottom: 0;
	}
}
@media screen and (max-width:380px) {
}

/*content bg*/
.section {
	width: 100%;
}
#stage,
#jobsession {background-color: #e5f8ff;}
.sec_event {
	position: relative;
	overflow: hidden;
}
.sec_event .deco {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
}
.sec_event .deco.__02::after,
.sec_event .deco.__02::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	z-index: 2;
}
.sec_event .deco.__02::after {
	background: url(../img/deco_t01.svg) 0 0 no-repeat;
	background-size: cover;
	left: 0;
}
.sec_event .deco.__02::before {
	background: url(../img/deco_t02.svg) 0 0 no-repeat;
	background-size: cover;
	right: 0;
}
.sec_event .deco.__01::after,
.sec_event .deco.__01::before {
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
}
.sec_event .deco.__01::after {
	left: 0;
}
.sec_event .deco.__01::before {
	right: 0;
}
#stage .deco.__01::after,
#jobsession .deco.__01::after {
	background: url(../img/bg_l01.svg) 0 0 repeat-y;
	background-size: 100% auto;
}
#schedule .deco.__01::after,
#exhibition .deco.__01::after,
#workshop .deco.__01::after {
	background: url(../img/bg_l02.svg) 0 0 repeat-y;
	background-size: 100% auto;
}
#stage .deco.__01::before,
#jobsession .deco.__01::before {
	background: url(../img/bg_r01.svg) 0 min(-1.5625vw, -30px) repeat-y;
	background-size: 100% auto;
}
#schedule .deco.__01::before,
#exhibition .deco.__01::before,
#workshop .deco.__01::before {
	background: url(../img/bg_r02.svg) 0 min(-1.5625vw, -30px) repeat-y;
	background-size: 100% auto;
}

/*sec*/
.section > .cnt {
	position: relative;
	z-index: 4;
	width: min(95vw, 1024px);
	margin: auto;
}

.flex {
	display: flex;
	flex-wrap: wrap;
}


@media screen and (min-width:641px) {
	.sec_event {
		padding: min(6.25vw, 120px) 0;
	}
	.sec_event .deco.__01::after {
		width: min(37.65625vw, 723px);
	}
	.sec_event .deco.__01::before {
		width: min(31.25vw, 600px);
	}
	.sec_event .deco.__02::after,
	.sec_event .deco.__02::before {
		width: min(30.625vw, 588px);
		height: min(7.5vw, 144px);
	}

}
@media screen and (min-width:1200px) {
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	.sec_event {
		padding: min(15.4vw, 120px) 0;
	}
	.sec_event .deco.__01::after {
		width: min(70.2vw, 578px);
	}
	.sec_event .deco.__01::before {
		width: min(54.8vw, 478px);
	}
	.sec_event .deco.__02::after,
	.sec_event .deco.__02::before {
		width: min(38vw, 284px);
		height: min(12vw, 90px);
	}
	.sec_event .deco.__02::after {background-position: -8.6vw 0;}
	.sec_event .deco.__02::before {}
}
@media screen and (max-width:380px) {
}


/*contents*/
/*****************/
/*date*/
.info_dl {
	font-weight: 600;
	justify-content: center;
	align-items: center;
}
.info_dl dt {
	color: #e0ff36;
	text-align: center;
	background-color: #1b7993;
	width: 3.8em;
}

/*top text*/
.txt_top {
	font-weight: 700;
	text-align: center;
}

/*caution*/
.wrap_caution {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	border: 1px solid #1b7993;
	width: min(100%, 824px);
	margin: auto;
}
.wrap_caution .h3_caution {
	color: #1b7993;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
}
.wrap_caution .h3_caution::before,
.wrap_caution .h3_caution::after {
	content: '';
	display: block;
	width: .8em;
	height: 2px;
	background-color: #1b7993;
	margin: 2px .5em 0;
}
.caution_ul {
	list-style: disc;
	width: 100%;
}

@media screen and (min-width:641px) {
	.info_dl {
		font-size: clamp(1rem, 1.666vw, 2rem);
		margin-bottom: min(1.25vw, 16px);
	}
	.info_dl dt {
		margin-right: 1em;
		padding: .15em .2em .25em;
		border-radius: 4px;
	}
	.txt_top {
		font-size: clamp(1.6rem, 2.666vw, 3.2rem);
		margin: min(3.125vw, 60px) 0 min(3.4375vw, 66px);
	}
	.wrap_caution {
		width: min(68.75vw, 824px);
		padding: min(3.75vw, 45px) min(7.5vw, 90px);
		border-radius: min(1.75vw, 20px);
	}
	.wrap_caution .h3_caution {
		font-size: clamp(1.3rem, 2.654vw, 2.6rem);
		margin-bottom: min(1.25vw, 15px);
	}
	.caution_ul {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
	}
}
@media screen and (min-width:1200px) {
}
@media screen and (min-width:1920px) {
}

@media screen and (max-width:640px) {
	.info_dl {
		font-size: clamp(1.5rem, 3.908vw, 3rem);
		margin: auto;
		margin-bottom: min(3.4vw, 24px);
		/*width: min(74.4vw, 588px);*/
		/*width: min(90vw, 588px);*/
		align-items: flex-start;
	}
	.info_dl dt {
		margin-right: 1em;
		padding: .05em .2em .15em;
		border-radius: min(1.2vw, 9px);
	}
	.info_dl.long {
		width: min(90vw, 588px);
	}
	.info_dl.long dd {
		width: calc(100% - 5em);
	}
	.txt_top {
		font-size: clamp(2.1rem, 5.47vw, 4.2rem);
		margin-bottom: min(8vw, 60px) ;
	}

	.wrap_caution {
		/*padding: min(5.7vw, 45px) ;*/
		/*padding-left: calc(min(5.7vw, 45px) * 1.5);*/
		padding: min(5.7vw, 45px) calc(min(5.7vw, 45px) * 2);
		border-radius: min(4vw, 30px);
	}
	.sec .wrap_caution {
		padding: min(5.7vw, 45px) ;
		/*padding-left: calc(min(5.7vw, 45px) * 1.5);*/
	}
	.wrap_caution .h3_caution {
		font-size: clamp(1.8rem, 4.688vw, 3.6rem);
		margin-bottom: min(2vw, 15px);
	}
	.caution_ul {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
	}
}
@media screen and (max-width:380px) {
}

/*sec01*/
/*******************/
#stage .__stage_list {
	justify-content: space-between;
}
#stage .wp_event.__01 {
	width: 100%;
	margin-bottom: min(3.25vw, 40px);
}

#stage .h3_stage {
	color: #1b7993;
	font-weight: 600;
}
#stage .h3_stage rt {
	font-size: .5em;
	margin-bottom: .05em;
}

#stage .time {
	display: flex;
	justify-content: flex-start;
}
#stage .time time {
	border: 1px solid #000;
	border-radius: 4px;
	padding: .1em .5em .2em;
}
#stage .list_ul {
	font-weight: 400;
}


@media screen and (min-width:641px) {
	#stage .time {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
	}
	#stage .wp_event.__01 .time {
		margin-bottom: min(1vw, 12px);
	}
	#stage .h3_stage {
		font-size: clamp(1.6rem, 2.666vw, 3.2rem);
		margin-bottom: min(1.2vw, 12px);
	}
	#stage .list_ul {
		font-size: clamp(0.9rem, 1.838vw, 1.8rem);
	}

	#stage .wp_event.__01 {
		width: 100%;
		align-items: flex-start;
	}
	#stage .img_event.__01 {
		width: min(53.90625vw, 552px);
		margin-right: min(2.75vw, 33px);
	}

	#stage .img_event.__02,
	#stage .img_event.__03 {
		width: min(45.546875vw, 492px);
		margin-bottom: min(1.75vw, 20px);
	}

	#stage .img_event.__02,
	#stage .img_event.__03 {}
}
@media screen and (min-width:1000px) {
	#stage .img_event.__01 {
		margin-right: min(1.71875vw, 33px);
	}
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	#stage .__stage_list {
		width: min(92vw, 720px);
		margin: auto;
	}
	#stage .h3_stage rt {
		margin-bottom: -0.25em;
	}

	#stage .img_event {
		width: 100%;
		margin-bottom: min(4vw, 30px);
	}
	#stage .wp_event {
		width: min(43.58974358974359vw, 430px);
	}
	#stage .wp_event.__01 {
		width: 100%;
		margin-bottom: min(4.4vw, 39px);
	}
	#stage .wp_event.__01 .h3_stage {
		font-size: clamp(2.1rem, 5.47vw, 4.2rem);
		margin-bottom: min(3.2vw, 24px);
	}
	#stage .wp_event.__02 .h3_stage,
	#stage .wp_event.__03 .h3_stage {
		font-size: clamp(1.6rem, 4.168vw, 3.2rem);
		margin-bottom: min(2.8vw, 21px);
	}
	#stage .time {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		margin-bottom: min(2.4vw, 18px);
	}
	#stage .list_ul {
		font-size: clamp(1.4rem, 3.646vw, 2.8rem);
	}
}
@media screen and (max-width:380px) {
}


/*exhibition*/
/*******************/
#exhibition .h3_artwork {
	color: #fff;
	font-weight: 500;
	display: flex;
	justify-content: flex-start;
}
#exhibition .h3_artwork .wp {
	padding: .05em .5em .2em;
	background-color: #1b7993;
	border-radius: 4px;
}
#exhibition .list_ul.__artwork {
	font-weight: 400;
	counter-reset: my-count;
}
#exhibition .list_li {
	padding-left: 1.35em;
	margin-bottom: 2px;
	position: relative;
}
#exhibition .list_li::before {
	content: counter(my-count);
	counter-increment: my-count;
	font-size: .75em;
	width: 1.4em;
	height: 1.4em;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #000;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: .55em;
}
#exhibition .wp_event {
	justify-content: space-between;
}

#exhibition .drawing_corner {
	justify-content: space-between;
}
#exhibition .h4_corner {
	font-weight: 500;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/artwork/fukidashi.svg) 0 0 no-repeat;
	background-size: 100% auto;
}
#exhibition .txt_crn {
	font-weight: 500;
}
#exhibition .img_artwork {
	height: auto;
	border-radius: 8px;
	border: 1px solid #e9e9e9;
}
#exhibition .wp_img figcaption {margin-top: 2px;}

@media screen and (min-width:641px) {
	#exhibition .wp_event {
		margin-bottom: min(5vw, 60px);
	}
	#exhibition .wp_img,
	#exhibition .img_event {
		width: min(53.90625vw, 552px);
		/*margin-right: min(2.75vw, 33px);*/
		margin-right: 0;
	}
	#exhibition .wp_img figcaption {
		font-size: clamp(0.7rem, 1.43vw, 1.4rem);
	}
	#exhibition .wrap_txt {
		width: min(38vw, 440px) ;
	} 

	#exhibition .h3_artwork {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		margin-bottom: min(1vw, 12px);
	}
	#exhibition .list_ul.__artwork {
		font-size: clamp(0.9rem, 1.838vw, 1.8rem);
		margin-bottom: min(1.25vw, 15px);
	}
	
	#exhibition .drawing_corner .wp {
		width: min(18.5vw, 210px);
	}
	#exhibition .h4_corner {
		/*font-size: clamp(0.8rem, 1.634vw, 1.6rem);*/
		/*width: min(13.75vw, 165px);*/
		/*height: min(10vw, 120px);*/
		/*margin-right: min(0.5vw, 12px);*/
		font-size: clamp(0.7rem, 1.43vw, 1.4rem);
		width: min(18.5vw, 210px);
		height: min(5.75vw, 68px);
	}
	#exhibition .txt_crn {
		font-size: clamp(0.7rem, 1.43vw, 1.4rem);
	}
	#exhibition .img_artwork {
		/*width: min(21.666vw, 260px);*/
		width: min(17.75vw, 214px);
	}
}
@media screen and (min-width:1200px) {
	#exhibition .txt_crn,
	#exhibition .h4_corner {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
	}
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	#exhibition .wp_event {
		width: min(92vw, 720px);
		margin: 0 auto min(12vw, 90px);
	}
	#exhibition .wp_img,
	#exhibition .img_event {
		width: 100%;
	}
	#exhibition .wp_img {
		margin-bottom: min(4vw, 30px);
	}
	#exhibition .wp_img figcaption {
		font-size: clamp(1.2rem, 3.126vw, 2.4rem);
	}
	#exhibition .h3_artwork {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		margin-bottom: min(1.6vw, 12px);
	}
	#exhibition .list_ul.__artwork {
		font-size: clamp(1.4rem, 3.646vw, 2.8rem);
		margin-bottom: min(6.8vw, 51px);
	}
	#exhibition .list_li::before {
		top: .4em;
	}
	#exhibition .drawing_corner {
		width: min(92vw, 720px);
	}
	#exhibition .drawing_corner .wp {
		width: min(46vw, 360px);
	}
	#exhibition .h4_corner {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		/*width: min(36vw, 270px);
		height: min(26vw, 195px);
		margin-right: min(3.2vw, 24px);*/
		width: min(45vw, 360px);
		height: min(14.8vw, 117px);
		margin-bottom: min(2vw, 21px);
	}
	#exhibition .txt_crn {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
	}
	#exhibition .img_artwork {
		/*width: min(52.4vw, 424px);*/
		width: min(44vw, 330px);
		height: auto;
	}

}
@media screen and (max-width:380px) {
}


/*jobsession*/
/*******************/
#jobsession .wrap {
	background-color: #fff;
}
#jobsession .tbl {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}
#jobsession .h3_sec03,
#jobsession .tbl caption {
	color: #1b7993;
	font-weight: 600;
	text-align: center;
	position: relative;
}
#jobsession .h3_sec03::before,
#jobsession .tbl caption::before {
	content: '';
	display: block;
	background: url(../img/cnt_ttl_dec03.svg) 0 0 no-repeat;
	background-size: 100% auto;
	position: absolute;
}
#jobsession .tbl thead th {
	color: #1b7993;
	text-align: left;
	background-color: #e5f8ff;
	border-top: 2px solid #1b7993;
	border-bottom: 2px solid #1b7993;
}
#jobsession .tbl tbody th,
#jobsession .tbl thead th:first-child {
	border-left: 2px solid #1b7993;
	border-right: 1px dashed #1b7993;
}
#jobsession .tbl tbody td,
#jobsession .tbl thead th:last-child {
	border-right: 2px solid #1b7993;
	/*border-left: 1px dashed #1b7993;*/
}
#jobsession .tbl tbody th,
#jobsession .tbl tbody td {
	text-align: left;
	vertical-align: top;
	background-color: #fff;
	border-bottom: 1px solid #1b7993;
	/*border-bottom: 1px solid #1b7993;*/
}
#jobsession .tbl tbody tr:last-child th,
#jobsession .tbl tbody tr:last-child td {
	border-bottom: 2px solid #1b7993;
}
#jobsession .tbl .cname {
	font-weight: 500;
}
/*btn*/
#jobsession .cmp_btn {
	color: #fff;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	border-radius: 8em;
	background-color: #1b7993;
	box-shadow: 0px 2px 0 0 #0a303b;
	transition: all .2s;
	position: relative;
}
#jobsession .cmp_btn::after {
	content: '';
	display: block;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
}
#jobsession .cmp_btn:hover {
	box-shadow: 0 0 0 0;
	transform: translateY(2px);
}

/*job type*/
#jobsession .joblist {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#jobsession .jobtype {
	color: #000;
	font-weight: 400;
	border-radius: 4px;
	padding: .05em 1em .1em;
}
#jobsession .jobtype.__animator {background-color: #58c3e0;}
#jobsession .jobtype.__director {background-color: #e46868;}
#jobsession .jobtype.__3dcg {background-color: #7580ee;}
#jobsession .jobtype.__bg-art {background-color: #f2d535;}
#jobsession .jobtype.__other {background-color: #56f5a1;}

#jobsession .img_map {
	display: block;
	width: 100%;
}

#jobsession .sec .info_dl dt {
	color: #fff;
	background-color: #1b7993;
}

#jobsession .block {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/*caution*/
#jobsession .wrap_caution {
	border: none;
}
#jobsession .sec .wrap_caution {
	padding-bottom: 0;
	padding-top: 0;
}
#jobsession .h4_sec {
	color: #1b7993;
	font-weight: 600;
}

.btn_c {
	display: flex;
	justify-content: center;
	align-items: center;
}
/*form btn*/
.form_btn {
	color: #1b7993;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	width: 100%;
	display: block;
	background-color: #e0ff36;
	border-radius: 4em;
	box-shadow: 0px 4px 0 0 #1b7993;
	position: relative;
	transition: all .2s;
}
.form_btn::after {
	content: '';
	display: block;
	border-top: 2px solid #1b7993;
	border-right: 2px solid #1b7993;
	transform: rotate(45deg);
	position: absolute;
}
.form_btn:hover {
	box-shadow: 0 0 0 0;
	transform: translateY(4px);
}
.form_btn.__before,
.form_btn[href^="not"] {
	color: #000;
	background-color: #dadada;
	border: 1px solid #000;
	box-shadow: 0 0 0 0;
	pointer-events: none;	
}
.form_btn[href^="not"]:hover {
	transform: translateY(0);
}
.form_btn.__before::after,
.form_btn[href^="not"]::after {
	display: none ;
}


@media screen and (min-width:641px) {
	#jobsession .wrap {
		border-radius: min(1.75vw, 20px);
		padding: min(4vw, 48px) min(4vw, 48px) ;
		margin: min(5vw, 60px) auto;
	}
	#jobsession .h3_sec03,
	#jobsession .tbl caption {
		font-size: clamp(1.6rem, 3.266vw, 3.2rem);
		padding-top: min(2.75vw, 33px);
	}
	#jobsession .h3_sec03 {
		margin-bottom: min(2vw, 24px);
	}
	#jobsession .tbl caption {
		margin-bottom: min(3.25vw, 39px);
	}
	#jobsession .h3_sec03::before,
	#jobsession .tbl caption::before {
		width: min(4vw, 48px);
		height: min(2.75vw, 33px);
		/*top: min(-2.25vw, -20px);*/
		top: 5px;
		left: calc(50% - (min(4vw, 48px) / 2) );
	}
	#jobsession .tbl thead th {
		font-size: clamp(1rem, 2.042vw, 2rem);
		padding: min(1.75vw, 21px) min(2vw, 24px);
	}
	#jobsession .tbl thead th:first-child {
		border-top-left-radius: 10px;
	}
	#jobsession .tbl thead th:last-child {
		border-top-right-radius: 10px;
	}
	#jobsession .tbl tbody tr:last-child th {
		border-bottom-left-radius: 10px;
	}
	#jobsession .tbl tbody tr:last-child td {
		border-bottom-right-radius: 10px;
	}
	#jobsession .tbl tbody th {
		white-space: nowrap;
	}
	#jobsession .tbl tbody th,
	#jobsession .tbl tbody td {
		padding: min(1.25vw, 15px) min(2vw, 24px) min(1.5vw, 18px);
	}
	#jobsession .tbl .cname {
		font-size: clamp(0.9rem, 2.345vw, 1.8rem);
		margin-bottom: min(0.5vw, 6px);
	}
	#jobsession .cmp_btn {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		padding: 0 0 .15em;
		width: min(16vw, 160px);
	}
	#jobsession .cmp_btn::after {
		width: min(1vw, 8px);
		height: min(1vw, 8px);
		top: calc(50% - min(.5vw, 4px));
		right: min(1.25vw, 18px);
	}
	#jobsession .jobtype {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		margin-right: min(1vw, 8px);
		margin-bottom: min(1vw, 8px);
	}
	#jobsession .__review,
	#jobsession .scrollable {
		margin-bottom: min(3.5vw, 40px);
	}

	#jobsession .img_review {
		width: min(38.5vw, 460px);
		margin: 0 min(1.75vw, 21px) min(3.25vw, 40px) 0;
		border-radius: 8px;
	}
	#jobsession .img_map {
		display: block;
		width: 100%;
	}
	#jobsession .txt {
		font-size: clamp(0.9rem, 1.838vw, 1.8rem);
	}
	#jobsession .flex .txt {
		width: calc(100% - (min(38.5vw, 460px) + min(3.25vw, 40px)));
	}
	#jobsession .flex._fxc {
		justify-content: center;
	}
	#jobsession .sec .info_dl {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		padding-right: 2em;
	}
	#jobsession .sec .wrap_caution .h3_caution {
		font-size: clamp(1rem, 2.042vw, 2rem);
	}
	#jobsession .block {
		margin: min(3vw, 36px) auto min(4.5vw, 54px) ;
	}
	#jobsession .h4_sec {
		font-size: clamp(1rem, 2.042vw, 2rem);
		margin-bottom: min(1.25vw, 15px);
	}

	.form_btn {
		font-size: clamp(1.2rem, 2.45vw, 2.4rem);
		padding: .6em 0 .7em;
	}
	.form_btn::after {
		width: 12px;
		height: 12px;
		right: min(4.25vw, 51px);
		top: calc(50% - 6px);
	}
	.form_btn.__before,
	#workshop .form_btn[href^="not"] {
		/*font-size: clamp(0.9rem, 1.838vw, 1.8rem);*/
		font-size: clamp(1rem, 2.042vw, 2rem);
		padding: 1.1em 0 1em;
	}
	.workshop .form_btn.__before {
		font-size: clamp(0.85rem, 1.736vw, 1.7rem);
		padding: 1.1em 0 1.2em;
	}
	#jobsession .btn_c {margin-top: min(2.5vw, 30px);}
	#jobsession .btn_c .form_btn {
		width: min(50vw, 500px);
	}
}
@media screen and (min-width:1200px) {
	#jobsession .flex .txt {
		width: min(31.5vw, 378px);
	}
	.form_btn.__before,
	#workshop .form_btn[href^="not"] {
		font-size: clamp(1rem, 2.042vw, 2rem);
		padding: .8em 0 .9em;
	}
	.workshop .form_btn.__before {
		font-size: clamp(0.85rem, 1.736vw, 1.7rem);
		padding: 1.15em 0 1.15em;
	}
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	#jobsession .wrap {
		width: min(92vw, 720px);
		padding: min(6vw, 48px) min(2.4vw, 20px) ;
		border-radius: min(4vw, 30px);
		margin-bottom: min(4.4vw, 36px);
	}
	#jobsession .__review,
	#jobsession .scrollable {
		margin-bottom: min(7.2vw, 54px);
	}
	#jobsession .h3_sec03,
	#jobsession .tbl caption {
		font-size: clamp(2.1rem, 5.47vw, 4.2rem);
		padding-top: min(8.4vw, 63px) ;
		margin-bottom: min(5.6vw, 42px);
	}
	#jobsession .tbl caption {
		margin-bottom: min(4.8vw, 36px);
	}
	#jobsession .h3_sec03::before,
	#jobsession .tbl caption::before {
		width: min(12.8vw, 98px);
		height: min(8.4vw, 63px);
		/*top: min(-8vw, -50px);*/
		top: 5px;
		left: calc(50% - (min(12.8vw, 98px) / 2) );
	}
	#jobsession .tbl thead th {
		font-size: clamp(1.5rem, 3.908vw, 3rem);
		padding: min(3.2vw, 24px) min(2.8vw, 21px);
	}
	#jobsession .tbl tbody th,
	#jobsession .tbl tbody td {
		padding: min(3.2vw, 24px) min(2.8vw, 21px);
	}
	#jobsession .tbl thead th:first-child {
		border-top-left-radius: min(2.4vw, 20px);
	}
	#jobsession .tbl thead th:last-child {
		border-top-right-radius:  min(2.4vw, 20px);
	}
	#jobsession .tbl tbody tr:last-child th {
		border-bottom-left-radius:  min(2.4vw, 20px);
	}
	#jobsession .tbl tbody tr:last-child td {
		border-bottom-right-radius:  min(2.4vw, 20px);
	}
	#jobsession .tbl .cname {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		white-space: nowrap;
		margin-bottom: min(1.6vw, 12px);
	}
	#jobsession .cmp_btn {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		padding: 0 0 .15em;
		width: min(32vw, 220px);
	}
	#jobsession .cmp_btn::after {
		width: min(1vw, 8px);
		height: min(1vw, 8px);
		top: calc(50% - min(.5vw, 4px));
		right: min(1.25vw, 18px);
	}
	#jobsession .jobtype {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		margin-right: min(1vw, 8px);
		margin-bottom: min(1vw, 8px);
	}
	#jobsession .scrollable {
		overflow: auto;
	}
	#jobsession .tbl {
		width: min(150vw, 990px);
	}
	#jobsession .tbl td {
		width: 60%;
		white-space: nowrap;
	}
	#jobsession .img_review {
		width: 100%;
		border-radius: min(2vw, 15px);
		margin-bottom: min(4vw, 30px);
	}
	#jobsession .txt {
		font-size: clamp(1.4rem, 3.646vw, 2.8rem);
		margin-bottom: min(6.4vw, 48px);
	}
	#jobsession .sec .info_dl {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
	}
	#jobsession .sec .wrap_caution .h3_caution {
		font-size: clamp(1.5rem, 3.908vw, 3rem);
	}
	#jobsession .h4_sec {
		font-size: clamp(1.5rem, 3.908vw, 3rem);
		margin-bottom: min(2.4vw, 18px);
	}
	#jobsession .block {
		margin: min(6vw, 48px) auto min(8vw, 60px);
	}
	#jobsession .btn_c {width: 100%;}
	.form_btn {
		font-size: clamp(1.7rem, 4.428vw, 3.4rem);
		padding: .5em 0 .6em;
	}
	.form_btn::after {
		width: min(2.4vw, 12px);
		height: min(2.4vw, 12px);
		right: min(5.8vw, 51px);
		top: calc(50% - min(1.2vw, 6px));
	}
	.form_btn.__before,
	#workshop .form_btn[href^="not"] {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		padding: .5em 0 ;
	}
}
@media screen and (max-width:480px) {
	#jobsession .tbl caption::before {
		top: -8vw;
	}
}


/*sec04*/
/*******************/
#workshop .__workshopList {
	/*justify-content: space-between;*/
	flex-wrap: wrap;
	/*align-items: flex-start;*/
	align-items: stretch;
}
#workshop .img_ws {
	width: 100%;
	height: auto;
	display: block;
}
#workshop .workshop {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#workshop .ws_dl dt,
#workshop .ws_dl dd,
#workshop .workshop .h3_ws {
	font-weight: 500;
}
#workshop .workshop .txt {
	font-weight: 400;
}
#workshop .ws_dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
#workshop .ws_dl dd {
	width: calc(100% - 3em);
}
#workshop .workshop .at_venue {
	color: #e0ff36;
	font-weight: 500;
	text-align: center;
	background-color: #1b7993;
	border-radius: 4em;
}


@media screen and (min-width:641px) {
	#workshop .workshop {
		width: min(calc(30.6640625vw * 0.96), 314px);
		margin-bottom: min(5.5vw, 66px);
		margin-right: min(3.25vw, 40px);
	}
	#workshop .workshop:nth-of-type(3n) {margin-right: 0;}
	
	#workshop .img_ws {
		margin-bottom: min(1.25vw, 15px);
	}
	#workshop .workshop .h3_ws {
		font-size: clamp(1.2rem, 2.246vw, 2.4rem);
		margin-bottom: min(1vw, 12px);
	}
	#workshop .workshop .txt {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		margin-bottom: min(1.25vw, 15px);
	}
	#workshop .ws_dl {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		margin-bottom: min(1.75vw, 21px);
	}
	#workshop .workshop .at_venue {
		font-size: clamp(1.2rem, 2.45vw, 2.4rem);
		padding: .6em 0 .7em;
	}
}
@media screen and (min-width:1200px) {
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	#workshop .workshop {
		width: min(45vw, 340px);
		margin-bottom: min(8.8vw, 66px);
	}
	#workshop .workshop .h3_ws {
		font-size: clamp(1.2rem, 2.45vw, 2.4rem);
	}
	#workshop .__workshopList {
		justify-content: space-between;
	}
	#workshop .img_ws {
		margin-bottom: min(2vw, 15px);
	}
	#workshop .workshop .h3_ws {
		font-size: clamp(1.7rem, 4.428vw, 3.4rem);
		margin-bottom: min(2vw, 15px);
	}
	#workshop .workshop .txt {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		margin-bottom: min(2.4vw, 18px);
	}
	#workshop .ws_dl {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		margin-bottom: min(4vw, 30px);
	}
	#workshop .workshop .at_venue {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		padding: .9em 0 1em;
	}
}
@media screen and (max-width:380px) {
}

/*sec05*/
/*******************/
#sec05 {
	background: url(../img/repo_bg.jpg) 50% 0 no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#sec05 .txt_soon {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	text-align: center;
	border: 1px solid #000;
	background-color: #fff;
}


@media screen and (min-width:641px) {
	#sec05 {
		padding: min(7.1875vw, 130px) 0 ;
	}
	#sec05 .txt_soon {
		font-size: clamp(1.6rem, 3.266vw, 3.2rem);
		padding: 1.2em 4em 1.4em;
		border-radius: min(1.75vw, 20px);
		margin-top: min(2.75vw, 33px);
	}
}
@media screen and (min-width:1200px) {
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	#sec05 {
		padding: min(16vw, 120px) 0;
	}
	#sec05 .txt_soon {
		font-size: clamp(2.1rem, 5.47vw, 4.2rem);
		padding: .8em 2em .9em;
		border-radius: min(2.8vw, 20px);
		margin-top: min(4vw, 30px);
	}
}
@media screen and (max-width:380px) {
}

/*sec06*/
/*******************/
#sec06 {
	background-color: #e5f8ff;
}
#sec06 .bnr_support {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
sec06 .bnr_img {
	width: auto;
}
#sec06 .list_support + .txt,
#sec06 .list_support {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
#sec06 .list_support + .txt {
}
#sec06 .bnr_supo a {
	transition: all .3s;
}
#sec06 .bnr_supo a:hover {
	opacity: .7;
}

@media screen and (min-width:641px) {
	#sec06 {
		padding: min(10vw, 120px);
	}
	#sec06 .bnr_img {
		height: min(6.5vw, 72px);
	}
	#sec06 .bnr_support.__01 {
		margin-bottom: min(1.75vw, 20px);
	}
	#sec06 .bnr_support.__02 {
		margin-bottom: min(6vw, 72px);
	}
	#sec06 .bnr_supo {
		margin: 0 10px;
	}
	#sec06 .list_support {
		width: min(95vw, 680px);
		/*margin: min(6vw, 72px) auto 0;*/
		margin: auto;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	#sec06 .li_supo {
		font-size: clamp(0.9rem, 1.838vw, 1.8rem);
		margin-top: .2em;
		width: 50%;
	}
	#sec06 .li_supo:nth-child(1),
	#sec06 .li_supo:nth-child(2) {margin-top: 0;}
	#sec06 .list_support + .txt {
		width: min(95vw, 680px);
		font-size: clamp(0.9rem, 1.838vw, 1.8rem);
		margin: .2em auto 0;
	text-align: right;
	}
}
@media screen and (min-width:1200px) {
	#sec06 .li_supo {
		width: 48%;
	}
}
@media screen and (min-width:1600px) {
}

@media screen and (max-width:640px) {
	#sec06 {
		padding: min(14.8vw, 120px);
	}
	#sec06 .bnr_support.__02 {
		margin-bottom: min(9.6vw, 72px);
	}
	#sec06 .bnr_support {
		flex-direction: column;
	}
	#sec06 .bnr_img {
		height: min(16.666vw, 130px);
	}
	#sec06 .bnr_supo {
		margin-bottom: min(3.2vw, 24px);
	}
	#sec06 .list_support {
		text-align: center;
		margin-top: min(8vw, 60px);
	}
	#sec06 .li_supo {
		font-size: clamp(1.4rem, 3.646vw, 2.8rem);
		margin-top: .4em;
	}
	#sec06 .li_supo:nth-child(1) {margin-top: 0;}
	#sec06 .list_support + .txt {
		font-size: clamp(1.4rem, 3.646vw, 2.8rem);
		text-align: center;
		margin-top: .4em;
	}
}
@media screen and (max-width:380px) {
}


/*sec07*/
/*******************/
#sec07 .bnr_org {
	display: flex;
	justify-content: center;
}

@media screen and (min-width:641px) {
	#sec07 {
		padding: min(10vw, 120px);
	}
	#sec07 .bnr_org .img_org {
		width: min(23vw, 275px);
		height: auto;
	}
}
@media screen and (max-width:640px) {
	#sec07{
		padding: min(14.8vw, 120px);
	}
	#sec07 .bnr_org .img_org {
		width: min(36.4vw, 275px);
		height: auto;
	}
}



/*footer*/
/*******************/
/*gotop*/
.gotop {
	position: fixed;
	z-index: 4;
	cursor: pointer;
	transition: all .3s;
	display: none;
}
#footer.stop .gotop {
	position: absolute;
}
.gotop:hover {
	opacity: .6;
}
#circle {
	fill:none;
}
.circleText * {
	fill:#000;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
}
.gotop_txt {
	animation: rotateAnime 10s linear infinite;
}
@keyframes rotateAnime {
	from { 
		transform: rotate(0deg);
	}
	to { 
		transform: rotate(360deg);
	}
}

/*
.gotop .wp{
	position: relative;
}*/
.gotop::before {
	content: '';
	display: block;
	border-top: 3px solid #000;
	border-right: 3px solid #000;
	transform: rotate(-45deg);
	position: absolute;
}

@media screen and (min-width:641px) {
	.gotop {
		right: min(2.5vw, 30px);
		bottom: min(2.5vw, 30px);
	}
	#footer.stop .gotop {
		right: min(2.5vw, 30px);
		top: calc(min(7.5vw, 90px) * -0.35);
	}
	.gotop,
	.gotop_txt {
		width: min(7.5vw, 90px);
		height: min(7.5vw, 90px);
		overflow: visible;
	}
	.gotop::before {
		width: min(1.75vw, 21px);
		height: min(1.75vw, 21px);
		left: calc(50% - min(1vw, 12px));
		top: calc(50% - min(0.75vw, 9px));
	}
	.circleText {
		font-size: clamp(0.7rem, 1.43vw, 1.4rem);
	}
}
@media screen and (min-width:980px) {
	.circleText {
		font-size: clamp(0.55rem, 1.124vw, 1.1rem);
	}
}
@media screen and (max-width:640px) {
	.gotop {
		right: min(6.4vw, 48px);
		bottom: min(6.4vw, 48px);
	}
	#footer.stop .gotop {
		right: min(6.4vw, 48px);
		top: calc(min(15.2vw, 120px) * -0.35);
	}
	.gotop,
	.gotop_txt {
		width: min(15.2vw, 120px);
		height: min(15.2vw, 120px);
	}
	.gotop::before {
		width: min(3.2vw, 24px);
		height: min(3.2vw, 24px);
		left: calc(50% - min(1.6vw, 12px));
		top: calc(50% - min(1.2vw, 10px));
	}
}

/*footer*/
#footer {
	background: url(../img/ft_bg.svg) 50% 0 no-repeat;
	position: relative;
}
#footer .h2_office {
	font-weight: 500;
}
#footer .btn_contact {
	color: #187693;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	display: block;
	background-color: #fff;
	border: 2px solid #187693;
	border-radius: 4em;
	position: relative;
	transition: all .4s;
}
#footer .btn_contact::after {
	content: '';
	display: block;
	border-top: 2px solid #187693;
	border-right: 2px solid #187693;
	transform: rotate(45deg);
	position: absolute;
	width: 8px;
	height: 8px;
	top: calc(50% - 4px);
}
#footer .btn_contact:hover {
	color: #fff;
	background-color: #187693;
}
#footer .btn_contact:hover::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
#footer .txt_kome {
	font-weight: 400;
}
.link,
.link_blank {
	display: inline-block;
	text-decoration: none;
	padding-bottom: 2px;
	position: relative;
}
.link_blank::before,
.link_blank::after {
	content: '';
	display: block;
	position: absolute;
}
.link_blank::before {
	border: 1px solid #1626ff;
}
.link_blank::after {
	border-left: 1px solid #1626ff;
	border-bottom: 1px solid #1626ff;
}
.link .bd,
.link_blank .bd {
	width: 100%;
	height: 2px;
	background-color: #1626ff;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	transform: scaleX(1);
	transform-origin: left;
	transition: transform .3s ease-in-out;
}
.link:hover .bd,
.link_blank:hover .bd {
	transform: scaleX(0);
	transform-origin: right;
}
#footer .link,
#footer .link_blank {
	color: #000;
	display: block;
}
#footer .link_blank::before {
	border: 1px solid #000;
}
#footer .link_blank::after {
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
}
#footer .link .bd,
#footer .link_blank .bd {
	background-color: #000;
}
#footer .copy {
	font-weight: 300;
	text-align: center;
	background-color: #58c3e0;
}

#footer .slide {
	color: #1b7993;
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	white-space: nowrap;
}
#footer .slide_cnt {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	overflow: hidden;
}
#footer .slide_wp {
	display: flex;
	animation: loop-text 15s linear infinite;
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media screen and (min-width:641px) {
	#footer {
		background-size: cover;
	}
	#footer .name_ft {
		padding: min(4.6875vw, 90px) 0 min(2.34375vw, 45px) min(3.125vw, 60px);
	}
	#footer .ft_img {
		width: min(29.5vw, 354px);
	}
	#footer .flex {
		padding: 0  min(3.125vw, 60px) 0;
		justify-content: space-between;
		align-items: flex-end;
	}
	#footer .h2_office {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		margin-bottom: min(.78125vw, 15px);
	}
	#footer .btn_contact {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
		padding: .3em 0;
		width: min(25vw, 250px);
	}
	#footer .btn_contact::after {
		right: min(2.25vw, 27px);
	}
	#footer .txt_kome {
		font-size: clamp(0.7rem, 1.43vw, 1.4rem);
		margin-top: min(.78125vw, 15px);
	}
	.link_blank {
		padding-right: 1.15em;
	}
	#footer .link,
	#footer .link_blank {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
	}
	.link_blank::before,
	.link_blank::after {
		width: min(1vw, 12px);
		height: min(1vw, 12px);
	}
	.link_blank::before {
		right: 0;
		top: calc(50% - min(.5vw, 6px));
	}
	.link_blank::after {
		right: 2px;
		top: calc((50% - min(.5vw, 6px)) + 2px);
	}
	#footer .copy {
		font-size: clamp(1rem, 1.226vw, 1.2rem);
		padding: .4em 0;
	}
	#footer .slide {
		font-size: clamp(9rem, 18.36vw, 18rem);
	}
}
@media screen and (min-width:1200px) {
}
@media screen and (max-width:640px) {
	#footer {
		background-size: auto 100%;
	}
	#footer .name_ft {
		padding: min(11.2vw, 90px) 0 min(5.6vw, 45px) min(5.6vw, 45px);
	}
	#footer .ft_img {
		width: min(47.2vw, 354px);
	}
	#footer .flex {
		flex-direction: column;
		align-items: flex-start;
		padding: 0 min(5.6vw, 45px) min(4vw, 30px);
	}
	#footer .h2_office {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		margin-bottom: min(1.6vw, 12px);
	}
	#footer .btn_contact {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		padding: .3em 0;
		width: min(37.6vw, 280px);
	}
	#footer .btn_contact::after {
		right: min(2.25vw, 27px);
	}
	#footer .txt_kome {
		font-size: clamp(1.2rem, 3.126vw, 2.4rem);
		margin: min(1.6vw, 12px) 0 min(6vw, 45px);
	}
	.link_blank {
		padding-right: 1.15em;
	}
	#footer .link,
	#footer .link_blank {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
	}
	.link_blank::before,
	.link_blank::after {
		width: min(2.4vw, 18px);
		height: min(2.4vw, 18px);
	}
	.link_blank::before {
		right: 0;
		top: calc(50% - min(1.4vw, 9px));
	}
	.link_blank::after {
		right: 2px;
		top: calc((50% - min(1.4vw, 9px)) + 2px);
	}
	#footer .copy {
		font-size: clamp(0.8rem, 2.086vw, 1.6rem);
		padding: .4em 0;
	}
	#footer .slide {
		font-size: clamp(9rem, 23.42vw, 18rem);
	}
}

/*schedule*/
/*****************/
#schedule .wp_schedule {
	width: min(95vw, 1024px);
	margin: auto;
	padding: min(4vw, 48px);
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 18px;
	position: relative;
	z-index: 3;
}

@media screen and (max-width:640px) {
	#schedule .wp_schedule {
	padding: min(6.4vw, 48px);
		border-radius: min(2.4vw, 18px);
	}
}

