/* ******************************************************************
 *	File name		: top.css
 *	Summary			: css base
 * ******************************************************************
 */
/* -----------------------------------------------------------------
   base
----------------------------------------------------------------- */

p,dl,dt,dd{
	color:#FFF;
}

section h2{
	margin:0 0 40px;
	font-weight:500;
	font-size:2.90rem;
	line-height:2.5;
	color:#FFF;
}

section h3{
	color:#FFF;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	section h2{
		font-size:1.7rem;
		line-height:2.0;
	}
}

/* -----------------------------------------------------------------
   main_img
----------------------------------------------------------------- */

#top_slide_box{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:100%;
	height:800px;
}

#main_img{
	position:relative;
	margin:0px auto;
	width:1170px;
	height:410px;
	padding:0 0 0 0px;
	z-index:10;
	transition-duration:0.5s;
	}
	#main_img p#rnd_type{
		position:absolute;
		top:0px;
		left:0px;
		font-weight:500;
		font-size:1.35rem;
		text-align:left;
		color:#FFF;
		opacity:0;
		animation:opacity 0s ease 0.2s forwards;
}
@keyframes opacity{
    0%  {opacity:0;}
    100%{opacity:1;}
}

#main_img_01,
#main_img_02,
#main_img_03{
	position:absolute;
	height:120px;
	overflow:hidden;
	text-align:left;
	}
	#main_img_01{
		top:48px;
		left:0px;
		width:485px;
		background:rgba(0,0,0,0.3);
		animation:main_img_01 1s ease 0s 1 both;
	}
	#main_img_02{
		top:167px;
		left:123px;
		width:550px;
		background:rgba(0,0,0,0.3);
		animation:main_img_02 1s ease 0.5s 1 both;
	}
	#main_img_03{
		top:286px;
		left:0px;
		width:360px;
		background:rgba(0,0,0,0.3);
		animation:main_img_03 1s ease 1s 1 both;
}
@keyframes main_img_01{
    0%  {opacity:0;width:0px;left:-100px;}
    100%{opacity:1;width:485px;left:0px;}
}
@keyframes main_img_02{
    0%  {width:0px;left:-100%;}
    100%{width:550px;left:123px;}
}
@keyframes main_img_03{
    0%  {width:0px;left:-100%;}
    100%{width:360px;left:0px;}
}


#main_img_01 img,
#main_img_02 img,
#main_img_03 img{
	position:relative;
	top:1px;
	height:118px;
	z-index:2;
	}
	#main_img_01 img{animation:main_img 2s ease 0.3s 1 both;}
	#main_img_02 img{animation:main_img 2s ease 0.8s 1 both;}
	#main_img_03 img{animation:main_img 2s ease 1.3s 1 both;}
@keyframes main_img{
    0%  {opacity:0;left:-100%;}
    100%{opacity:1;left:1px;}
}


#main_img_01 span,
#main_img_02 span,
#main_img_03 span{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
}

#main_img_01::before,
#main_img_02::before,
#main_img_03::before,
#main_img_01 span::before,
#main_img_02 span::before,
#main_img_03 span::before,
#main_img_01::after,
#main_img_02::after,
#main_img_03::after,
#main_img_01 span::after,
#main_img_02 span::after,
#main_img_03 span::after{
	content:" ";
	position:absolute;
	background:#FFF;
	z-index:1;
}

#main_img_01::before,
#main_img_02::before,
#main_img_03::before{
	top:0px;
	left:0px;
	width:100%;
	height:1px;
	}
	#main_img_01::before{animation:main_flame_w 0.5s linear 1.0s 1 both;}
	#main_img_02::before{animation:main_flame_w 0.5s linear 1.5s 1 both;}
	#main_img_03::before{animation:main_flame_w 0.5s linear 2.0s 1 both;}

#main_img_01::after,
#main_img_02::after,
#main_img_03::after{
	right:0px;
	top:0px;
	width:1px;
	height:100%;
	}
	#main_img_01::after{animation:main_flame_h 0.3s linear 1.5s 1 both;}
	#main_img_02::after{animation:main_flame_h 0.3s linear 2.0s 1 both;}
	#main_img_03::after{animation:main_flame_h 0.3s linear 2.5s 1 both;}

#main_img_01 span::before,
#main_img_02 span::before,
#main_img_03 span::before{
	bottom:0px;
	right:0px;
	width:100%;
	height:1px;
	}
	#main_img_01 span::before{animation:main_flame_w 0.5s linear 1.8s 1 both;}
	#main_img_02 span::before{animation:main_flame_w 0.5s linear 2.3s 1 both;}
	#main_img_03 span::before{animation:main_flame_w 0.5s linear 2.8s 1 both;}

#main_img_01 span::after,
#main_img_02 span::after,
#main_img_03 span::after{
	bottom:0px;
	left:0px;
	width:1px;
	height:100%;
	}
	#main_img_01 span::after{animation:main_flame_h 0.3s linear 2.3s 1 both;}
	#main_img_02 span::after{animation:main_flame_h 0.3s linear 2.8s 1 both;}
	#main_img_03 span::after{animation:main_flame_h 0.3s linear 3.3s 1 both;}

@keyframes main_flame_w{
    0%  {width:0px;}
    100%{width:100%;}
}
@keyframes main_flame_h{
    0%  {height:0px;}
    100%{height:100%;}
}

#apply_date{
	position:absolute;
	top:0px;
	right:0px;
	width:238px;
	height:238px;
	animation:opacity 1s ease 1s both;
}

#main_date{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	position:absolute;
	bottom:0px;
	right:0px;
	width:730px;
	height:60px;
	animation:opacity 1s ease 1s both;
	}
	#main_date img{
		height:60px;
}

#next_scroll{
	position:absolute;
	bottom:50px;
	left:-20px;
	z-index:90;
	animation:next_scroll 10s linear 0s infinite both;
	}
	#next_scroll a{
		display:block;
		padding:2px 40px 0 0;
		font-family:"DM Sans", sans-serif;
		font-size:0.9rem;
		text-decoration:none;
		letter-spacing:1px;
		color:#FFF;
		line-height:1;
		transform:rotate(90deg);
	}
	#next_scroll a:hover{
		text-decoration:none;
	}
	#next_scroll a::before,
	#next_scroll a::after{
		content:" ";
		position:absolute;
		height:1px;
		background:#FFF;
	}
	#next_scroll a::before{
		bottom:2px;
		right:0px;
		width:30px;
	}
	#next_scroll a::after{
		bottom:6px;
		right:-2px;
		width:12px;
		transform:rotate(45deg);
	}

@keyframes next_scroll{
    0%  {transform:translateY(-20px);}
    50% {transform:translateY(0);}
    100%{transform:translateY(-20px);}
}

@media print{
	#next_scroll{
		display:none;
	}
}

/* --- responsive --- */
@media screen and (max-width:1200px){
	#main_img{
		width:calc(100% - 40px);
		height:500px;
	}
}
@media screen and (max-width:960px){
	#top_slide_box{
		display:block;
		width:100%;
		padding-top:120px;
	}
	#main_img{
		width:100%;
		height:100%;
		padding:0 50px;
		text-align:left;
		}
		#main_img p#rnd_type{
			display:none;
	}
	#main_img::before{
		display:inline-block;
		margin:0 0 15px;
		content:"定禅寺通アート・エンタメ創出事業";
		white-space:pre;
		text-align:left;
		font-family:"DM Sans", sans-serif;
		font-weight:500;
		font-size:1.2rem;
		color:#FFF;
	}

	#main_img_01,
	#main_img_02,
	#main_img_03{
		position:relative;
		top:0px !important;
		left:0px !important;
		width:100% !important;
		height:auto;
		margin:0 0 -2px;
		background:none !important;
		overflow:visible;
		text-align:left;
		}
		#main_img_01{
			animation:main_img_01 1s ease 0s 1 both;
		}
		#main_img_02{
			text-align:right;
			animation:main_img_02 1s ease 0.5s 1 both;
		}
		#main_img_03{
			animation:main_img_03 1s ease 1s 1 both;
	}

	#main_img_01 img,
	#main_img_02 img,
	#main_img_03 img{
		position:relative;
		top:1px;
		height:118px;
		z-index:2;
		border:2px solid #FFF;
		}

	#main_img_01 span,
	#main_img_02 span,
	#main_img_03 span{
		display:inline-block;
		position:relative;
	}

	#main_img_01::before,
	#main_img_02::before,
	#main_img_03::before,
	#main_img_01 span::before,
	#main_img_02 span::before,
	#main_img_03 span::before,
	#main_img_01::after,
	#main_img_02::after,
	#main_img_03::after,
	#main_img_01 span::after,
	#main_img_02 span::after,
	#main_img_03 span::after{
		display:none !important;
	}

	#apply_date{
		position:absolute;
		top:auto;
		bottom:20px;
		right:20px;
		width:119px;
		height:119px;
		animation:opacity 1s ease 1s both;
		}
		#apply_date::before{
			content:" ";
			position:absolute;
			top:1px;
			left:0px;
			width:118px;
			height:117px;
			background:#999;
			-moz-border-radius:50%;
			-webkit-border-radius:50%;
			border-radius:50%;
			z-index:-1;
	}
	#main_date{
		display:block;
		position:relative;
		width:100%;
		height:auto;
		margin:25px 0;
		text-align:left;
		}
		#main_date img{
			display:block;
			margin:0 0 10px;
			height:60px;
	}
}
@media screen and (max-width:680px){
	#top_slide_box{
		padding-top:90px;
	}
	#main_img_01 img,
	#main_img_02 img,
	#main_img_03 img{
		height:88px;
	}
}
@media screen and (max-width:500px){
	#top_slide_box{
		padding-top:90px;
	}
	#main_img{
		width:100%;
		height:100%;
		padding:0 20px;
		text-align:left;
	}
	#main_img::before{
		font-size:1.0rem;
		line-height:1.15;
	}
	#main_img_01 img,
	#main_img_02 img,
	#main_img_03 img{
		height:58px;
	}

	#main_date{
		display:block;
		position:relative;
		width:100%;
		height:auto;
		margin:25px 0;
		text-align:left;
		}
		#main_date img{
			display:block;
			margin:0 0 10px;
			height:40px;
	}
}

/* -----------------------------------------------------------------
   section:avtive;
----------------------------------------------------------------- */

section{
	transition:0.8s ease-in-out;
	transform:translateY(30px);
	opacity:0;
}
section.active{
	transform:translateY(0px);
	opacity:1;
}

/* -----------------------------------------------------------------
   outline
----------------------------------------------------------------- */

#outline{
	width:870PX;
	max-width:100%;
	}
	#outline h2{
		margin:0 0 0px;
	}
	#outline p{
		display:block;
		width:870px;
		max-width:100%;
		margin:0 0 60px;
		font-weight:400;
		font-size:1.44rem;
		text-align:justify;
		line-height:2.1;
		letter-spacing:-2;
}
#outline_box{
	padding:56px 65px 40px;
	border:1px solid #FFF;
}
#outline_box dl{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	margin:0 0 65px;
	}
	#outline_box dt,
	#outline_box dd{
		margin:0 0 20px;
		font-weight:600;
	}
	#outline_box dt{
		position:relative;
		width:180px;
		padding-left:23px;
		font-size:1.2rem;
		text-align:left;
	}
	#outline_box dt::before{
		content:" ";
		position:absolute;
		top:4px;
		left:0px;
		width:16px;
		height:16px;
		-moz-border-radius:50%;
		-webkit-border-radius:50%;
		border-radius:50%;
		background:#FFF;
	}
	#outline_box dd{
		width:calc(100% - 190px);
		font-size:1.15rem;
		text-align:left;
}

#outline_box .organizer_logo{
	width:650px;
	height:60px;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	#outline p{
		margin:0 0 30px;
		font-size:1.2rem;
		text-align:justify;
		line-height:1.95;
		letter-spacing:-2;
	}
	#outline_box{
		padding:20px 20px 20px;
	}
	#outline_box dl{
		margin:0 0 30px;
	}
	#outline_box dt{
		width:140px;
		font-size:1.0rem;
	}
	#outline_box dd{
		width:calc(100% - 150px);
		font-size:1.0rem;
		text-align:left;
	}
	#outline_box .organizer_logo{
		}
		#outline_box .organizer_logo div{
			display:inline-block;
			height:30px;
			margin:0 10px;
	}
	#outline_box dd span{
		display:block;
	}
}
@media screen and (max-width:640px){
	#outline p{
		font-size:1.0rem;
		line-height:1.75;
		letter-spacing:0;
	}
	#outline_box{
		padding:20px 15px 20px;
	}
	#outline_box dt{
		width:100%;
		margin:0px;
	}
	#outline_box dd{
		width:100%;
		font-size:0.87rem;
	}
	#outline_box .organizer_logo{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:center;
		text-align:center;
		width:100%;
		height:auto;
		}
		#outline_box .organizer_logo div{
			height:25px;
	}


	#outline_box dl{
		max-height:190px;
		overflow:hidden;
	}
	#outline_box dl dt:nth-of-type(3),
	#outline_box dl dd:nth-of-type(3){
		opacity:0;
		transition-duration:0.5s;
	}
	#outline_box.active dl dt:nth-of-type(3),
	#outline_box.active dl dd:nth-of-type(3){
		opacity:1;
	}
	#outline_box.active dl{
		animation:open_outline 1.5s ease 0s forwards;
	}
	#outline_box .organizer_logo{
		max-height:0px;
		overflow:hidden;
	}
	#outline_box.active .organizer_logo{
		animation:open_outline 1.5s ease 0s forwards;
	}

	#outline_box::before{
	}
	#outline_box::after{
		content:"続きを見る";
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:absolute;
		left:calc(50% - 130px);
		bottom:20px;
		width:260px;
		max-width:100%;
		height:54px;
		font-family:inherit;
		font-weight:bold;
		font-size:1.0rem;
		-moz-border-radius:27px;
		-webkit-border-radius:27px;
		border-radius:27px;
		background:#387DCE;
		border:2px solid #387DCE;
		color:#FFF;
		z-index:10;
		transition-duration:0.5s;
		}
		#outline_box:hover::after{
			background:#FFF;
			color:#387DCE;
	}
	#outline_box.active::after{
		opacity:0;
	}

}

/* -----------------------------------------------------------------
   apply
----------------------------------------------------------------- */

#moushikomi{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
	width:880px;
	max-width:100%;
	margin:0 auto;
	list-style:none;
	}
	#moushikomi::before{
		content:" ";
		position:absolute;
		top:0px;
		left:50%;
		width:1px;
		height:100%;
		background:#FFF;
	}
	#moushikomi li{
		position:relative;
		width:400px;
		max-width:calc(50% - 1px);
		list-style:none;
	}
	#moushikomi li::before{
		content:"0";
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:60px;
		height:60px;
		margin:0 auto 20px;
		padding:0px 0 0px 0px;
		font-family:"DM Sans", sans-serif !important;
		font-weight:bold;
		font-size:2.7rem;
		border:2px solid #FFF;
		-moz-border-radius:50%;
		-webkit-border-radius:50%;
		border-radius:50%;
		color:#FFF;
		line-height:1;
		}
		#moushikomi li:nth-child(1)::before{
			content:"1";
		}
		#moushikomi li:nth-child(2)::before{
			content:"2";
		}
		#moushikomi li:nth-child(3)::before{
			content:"3";
	}
	#moushikomi li h3{
		position:relative;
		margin:0 0 10px;
		font-weight:bold;
		font-size:1.6rem;
		text-align:center;
		min-height:4.8rem;
	}
	#moushikomi li h3 span{
		font-size:1.0rem;
	}
	#moushikomi li div p{
		font-size:1.22rem;
		margin:0 0 15px;
		text-align:justify;
		line-height:1.75;
}

/* --- responsive --- */
@media screen and (max-width:960px){
	#moushikomi{
		display:block;
		width:100%;
		text-align:center;
		}
		#moushikomi li{
			width:100%;
			margin:0 auto 30px;
			max-width:100%;
			text-align:center;
		}
		#moushikomi::before{
			display:none;
		}
		#moushikomi li h3{
			margin:0 0 15px;
			min-height:0rem;
	}
}
@media screen and (max-width:767px){
	#moushikomi{
		padding-bottom:20px;
		cursor:pointer;
	}
	#moushikomi::after{
		content:"続きを見る";
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:absolute;
		left:calc(50% - 130px);
		bottom:0px;
		width:260px;
		max-width:100%;
		height:54px;
		font-family:inherit;
		font-weight:bold;
		font-size:1.0rem;
		-moz-border-radius:27px;
		-webkit-border-radius:27px;
		border-radius:27px;
		background:#387DCE;
		border:2px solid #387DCE;
		color:#FFF;
		z-index:10;
		transition-duration:0.5s;
		}
		#moushikomi:hover::after{
			background:#FFF;
			color:#387DCE;
	}
	#moushikomi.active::after{
		opacity:0;
	}
	#moushikomi li div p{
		font-size:0.87rem;
	}
	#moushikomi li div p.f110{
		font-size:0.77rem !important;
	}
	#moushikomi li:nth-child(2),
	#moushikomi li:nth-child(3){
		max-height:0px;
		overflow:hidden;
		transition-duration:0.5s;
		}
		#moushikomi.active li:nth-child(2),
		#moushikomi.active li:nth-child(3){
			max-height:500px;
	}
}

/* -----------------------------------------------------------------
   kouza
----------------------------------------------------------------- */

#kouza{
	width:1160px;
}
.day_box{
	position:relative;
	padding:60px 0 0;
	margin:140px 0 25px;
	border-bottom:1px solid #FFF;
	}
	h2 + .day_box{
		margin:0px 0 25px;
}
.day_box .date{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	left:0px;
	bottom:0px;
	width:210px;
	height:70px;
	padding:4px 15px 0 0;
	font-family:"Geist", sans-serif;
	font-weight:600;
	font-size:3.5rem;
	-moz-border-radius:20px 20px 0 0;
	-webkit-border-radius:20px 20px 0 0;
	border-radius:20px 20px 0 0;
	background:#FFF;
	color:rgba(56,125,206,1);
	}
	.day_box .date span{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:absolute;
		top:0px;
		right:10px;
		width:30px;
		height:70px;
		padding-bottom:5px;
		font-weight:inherit;
		font-size:1.7rem;
		writing-mode: vertical-rl;
		transform:rotate(180deg);
}
.day_box p{
	position:absolute;
	bottom:20px;
	right:0px;
	font-weight:600;
	font-size:3.0rem;
	font-style:italic;
	color:#FFF;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	.day_box{
		padding:40px 0 0;
	}
	.day_box .date{
		width:120px;
		height:40px;
		font-size:2.0rem;
		}
		.day_box .date span{
			right:0px;
			width:30px;
			height:40px;
			padding-bottom:5px;
			font-size:1.0rem;
	}
	.day_box p{
		display:none;
	}
}


/* k_box */
.k_box{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
	width:calc(100% - 125px);
	margin:0 0 30px 125px;
	padding:30px;
	background:#FFF;
}
.k_box *{
	color:#008846;
}
.k_box.free *{
	color:#387DCE;
}
.k_box.end::after{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	content:"受付は終了しました";
	position:absolute;
	top:15px;
	left:15px;
	width:calc(100% - 30px);
	height:calc(100% - 30px);
	font-weight:bold;
	font-size:1.7rem;
	background:rgba(0,0,0,0.6);
	color:#FFF;
	z-index:10;
}
.k_box .k_num{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	position:absolute;
	top:30px;
	left:-125px;
	width:125px;
	height:125px;
	font-weight:bold;
	font-size:6rem;
	color:#FFF;
}
.k_box .k_information{
	position:relative;
	width:260px;
	padding:20px 20px 64px 0;
	border-right:1px solid #008846;
	}
	.k_box.free .k_information{
		border-right:1px solid #387DCE;
	}
	.k_box .k_information p{
		font-weight:600;
		font-size:1.1rem;
}
.k_box .k_information .fee{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:76px;
	height:76px;
	margin:0px auto 40px;
	padding:13px 0 0 0;
	font-size:1.35rem;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;
	border-radius:50%;
	background:#008846;
	color:#FFF;
	}
	.k_box.free .k_information .fee{
		background:#387DCE;
	}
	.k_box .k_information .fee::before{
		content:"￥";
		position:absolute;
		top:calc(50% - 27px);
		left:0px;
		width:100%;
		font-size:1.0rem;
		color:#FFF;
	}
	.k_box.free .k_information .fee::before{
		content:"FREE";
		font-size:0.80rem;
}
.k_box .k_information .k_time{
	font-weight:bold;
	font-size:1.9rem;
	}
	.k_box .k_information .k_time span{
		font-family:inherit;
		font-size:1.0rem;
}
.k_box .k_information .kouza_link{
	position:absolute;
	left:0px;
	bottom:0px;
	width:calc(100% - 30px);
	}
	.k_box .k_information .kouza_link a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:100%;
		height:54px;
		font-family:inherit;
		font-weight:bold;
		font-size:1.0rem;
		-moz-border-radius:27px;
		-webkit-border-radius:27px;
		border-radius:27px;
		background:#008846;
		border:2px solid #008846;
		color:#FFF;
		transition-duration:0.5s;
	}
	.k_box.free .k_information .kouza_link a{
		background:#387DCE;
		border:2px solid #387DCE;
	}
	.k_box .k_information .kouza_link a::after{
		content:" ";
		position:relative;
		top:0px;
		width:16px;
		height:16px;
		margin:0 0 0 5px;
		background:url(../../image/base/blank.png) no-repeat 0 0;
		transition-duration:0.5s;
	}
	.k_box .k_information .kouza_link a:hover{
		background:#FFF;
		text-decoration:none;
		color:#008846;
	}
	.k_box.free .k_information .kouza_link a:hover{
		color:#387DCE;
	}
	.k_box .k_information .kouza_link a:hover::after{
		background:url(../../image/base/blank_g.png) no-repeat 0 0;
	}
	.k_box.free .k_information .kouza_link a:hover::after{
		background:url(../../image/base/blank_b.png) no-repeat 0 0;
}

.k_detail{
	position:relative;
	width:calc(100% - 290px);
	text-align:left;
}
.k_detail h3{
	margin:0 0 15px;
	font-weight:700;
	font-size:1.8rem;
	line-height:1.35;
	}
	.k_detail h3 span{
		font-weight:inherit;
		font-size:inherit;
}
.k_detail .kouza_more > p{
	font-size:1.0rem;
	text-align:justify;
	line-height:1.75;
}
.k_detail p + .koushi{
	margin:30px 0 15px 0;
}
.k_detail .koushi{
	display:-webkit-flex;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	position:relative;
	margin:0 0 15px;
	}
	.k_detail .koushi:has(figure){
		min-height:100px;
		padding-left:120px;
	}
	.k_detail .koushi:last-child{
		margin-bottom:0px;
	}
	.k_detail .koushi figure{
		position:absolute;
		top:0px;
		left:0px;
		width:100px;
		height:100px;
	}
	.k_detail .koushi p{
		font-size:0.9rem;
	}
	.k_detail .koushi p.name{
		font-weight:bold;
		font-size:1.2rem;
		margin:0 0 3px;
}
/* --- responsive --- */
@media screen and (max-width:960px){
	.k_box{
		display:block;
		position:relative;
		width:calc(100% + 40px);
		margin:120px -20px 150px;
		padding:30px;
		background:#FFF;
	}
	.k_box .k_num{
		top:-70px;
		left:calc(50% - 62px);
	}
	.k_box .k_information{
		width:100%;
		margin:0 0 20px;
		padding:20px 0px 30px 0;
		border-right:none;
		border-bottom:1px solid #008846;
		}
		.k_box.free .k_information{
			border-right:none;
			border-bottom:1px solid #387DCE;
	}
	.k_box .k_information p{
		font-weight:bold;
		font-size:1.3rem;
		line-height:1.5;
	}
	.k_box .k_information .k_time{
		font-weight:bold;
		font-size:2.0rem;
		line-height:1.2;
		}
		.k_box .k_information .k_time span{
			font-weight:bold;
			font-family:inherit;
			font-size:1.3rem;
	}

	.k_box .k_information .fee{
		width:100px;
		height:100px;
		margin:0px auto 20px;
		padding:20px 0 0 0;
		font-size:1.8rem;
		}
		.k_box.free .k_information .fee{
			background:#387DCE;
		}
		.k_box .k_information .fee::before{
			top:calc(50% - 30px);
			font-size:1.4rem;
		}
		.k_box.free .k_information .fee::before{
			font-size:1.2rem;
	}

	.k_box .k_information .kouza_link{
		position:relative;
		width:260px;
		max-width:100%;
		margin:25px auto 0;
	}
	.k_detail .koushi p{
		font-size:0.8rem;
		line-height:1.35;
	}

	.k_detail{
		width:100%;
	}
}
@media screen and (max-width:767px){
	.k_detail h3{
		font-size:1.25rem;
		text-align:center;
		line-height:1.95;
		color:#FFF;
	}
	.k_detail h3 span{
		position:relative;
		padding:4px 7px;
		background:#008846;
		box-decoration-break:clone;
		-webkit-box-decoration-break:clone;
		color:#FFF !important;
	}
	.k_box.free .k_detail h3 span{
		background:#387DCE;
	}
	.k_box.free .k_detail h3 span::before{
		content:" ";
		display:inline-block;
		background:red;
		position:absolute;
		left:-5px;
		width:100%;
		z-index:-1;
	}
	.k_detail .kouza_more > p{
		position:relative;
		margin:20px 0 0;
		font-size:0.9rem;
	}
}
@keyframes open_outline{
	0% {max-height:100px;}
	100% {max-height:999px;}
}

/* -----------------------------------------------------------------
   faq
----------------------------------------------------------------- */

#faq_contents{
	position:relative;
	width:850px;
	max-width:100%;
	margin:0 auto;
	border-top:1px solid #FFF;
	list-style:none;
	}
	#faq_contents li{
		border-bottom:1px solid #FFF;
		transition-duration:0.5s;
		cursor:pointer;
	}
	#faq_contents li:hover{
		background:rgba(0,0,0,0.2);
	}
	#faq_contents li h3{
		position:relative;
		min-height:30px;
		padding:25px 45px 23px 55px;
		font-size:1.3rem;
		text-align:left;
		background:url(../../image/q.png) no-repeat 0 25px;
		}
		#faq_contents li h3::before,
		#faq_contents li h3::after{
			content:" ";
			position:absolute;
			background:#FFF;
			transition-duration:0.5s;
			}
			#faq_contents li h3::before{
				top:35px;
				right:0px;
				width:30px;
				height:1px;
			}
			#faq_contents li h3::after{
				top:20px;
				right:15px;
				width:1px;
				height:30px;
		}
		#faq_contents li h3.active::after{
			top:35px;
			width:0px;
			height:0px;
	}
	#faq_contents li .answer{
		display:none;
		position:relative;
		padding:10px 0 30px 55px;
		text-align:left;
		background:url(../../image/a.png) no-repeat 3px 10px;
	}
	#faq_contents li .answer p{
		font-weight:normal;
		font-size:1.1rem;
}
/* --- responsive --- */
@media screen and (max-width:767px){
	#faq_contents li h3{
		padding:25px 45px 23px 45px;
		font-size:0.95rem;
	}
	#faq_contents li .answer{
		padding:10px 0 30px 45px;
	}
	#faq_contents li .answer p{
		font-size:0.87rem;
	}
}

/* -----------------------------------------------------------------
   access
----------------------------------------------------------------- */

#access{
	position:relative;
	width:850px;
	margin:0 auto 100px;
}

#access h2 + p{
	margin:0 0 30px;
	font-size:1.4rem;
	line-height:1.5;
	text-align:left;
	}
	#access h2 + p a{
		display:inline-block;
		position:relative;
		padding-left:12px;
		font-weight:normal;
		font-size:1.0rem;
		text-decoration:underline;
		color:#FFF;
		transition-duration:0.5s;
		}
		#access h2 + p a::before{
			content:" ";
			position:absolute;
			top:7px;
			left:3px;
			width:0px;
			height:0px;
			-moz-border-radius:50%;
			-webkit-border-radius:50%;
			border-radius:50%;
			background:#FFF;
			transition-duration:0.5s;
		}
		#access h2 + p a::after{
			content:" ";
			position:absolute;
			top:7px;
			left:0px;
			border: 6px solid transparent;
			border-left: 6px solid rgba(255,255,255,1);
			transition-duration:0.5s;
	}
	#access h2 + p a:hover{
		padding-left:12px;
		opacity:0.8;
		}
		#access h2 + p a:hover::before{
			top:4px;
			left:-3px;
			width:10px;
			height:10px;
		}
		#access h2 + p a:hover::after{
			top:14px;
			left:-5px;
			border:4px solid transparent;
			border-left:10px solid rgba(255,255,255,1);
			transform:rotate(90deg);
}
#map{
	position:relative;
	width:100%;
	height:400px;
	margin:0 0 60px;
	}
	#map iframe{
		position:absolute;
		top:0px;
		left:0px;
		width:100%;
		height:100%;
		border:0;
}

#access_detail{
	text-align:left;
}
#access_detail h3{
	margin:0 0 25px 0px;
	font-size:1.27rem;
	}
	#access_detail h3 span{
		display:inline-block;
		margin:0 0 0 20px;
		font-weight:inherit;
		font-size:0.87rem;
}

#access_detail dl{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	}
	#access_detail dl dt,
	#access_detail dl dd{
		margin:0 0 50px;
		font-size:1.15rem;
		line-height:1.75;
	}
	#access_detail dl dt{
		width:190px;
	}
	#access_detail dl dd{
		width:calc(100% - 190px);
}

/* --- responsive --- */
@media screen and (max-width:1000px){
	#access_detail dl dt{
		width:100px;
	}
	#access_detail dl dd{
		width:calc(100% - 100px);
	}
}
/* --- responsive --- */
@media screen and (max-width:767px){
	#access h2 + p{
		font-size:1.0rem;
	}
	#access h2 + p a{
		display:block;
	}
	#map{
		width:calc(100% + 40px);
		height:350px;
		margin:0 -20px 30px;
	}
	#access_detail h3 span{
		display:block;
		margin:0px;
		font-size:0.87rem;
	}
	#access_detail dl{
		display:block;
	}
	#access_detail dl dt{
		width:100px;
		margin:0 0 0px;
		font-weight:bold;
	}
	#access_detail dl dd{
		width:calc(100%);
		font-size:0.87rem;
		text-align:justify;
	}
}

/* -----------------------------------------------------------------
   kouza_more
----------------------------------------------------------------- */

/* --- responsive --- 
@media screen and (max-width:767px){
	.kouza_more{
		position:relative;
		max-height:100px;
		padding-bottom:0px;
		overflow:hidden;
		transition-duration:0.5s;
		cursor:pointer;
		}
		.kouza_more::before{
			content:" ";
			position:absolute;
			top:0px;
			width:100%;
			height:100%;
			background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,1));
			z-index:10;
		}
		.kouza_more::after{
			content:" ";
			display:-webkit-flex;
			display:flex;
			justify-content:center;
			align-items:center;
			position:absolute;
			left:calc(50% - 25px);
			bottom:0px;
			width:50px;
			height:50px;
			font-family:inherit;
			font-weight:bold;
			font-size:1.0rem;
			-moz-border-radius:50%;
			-webkit-border-radius:50%;
			border-radius:50%;
			background:url(../../image/kouza_more.png) no-repeat center center #008846;
			border:2px solid #008846;
			color:#FFF;
			z-index:11;
			transition-duration:0.5s;
			}
			.free .kouza_more::after{
				background:url(../../image/kouza_more.png) no-repeat center center #387DCE;
				border:2px solid #387DCE;
			}
	.kouza_more.active{
		padding-bottom:70px;
		max-height:999px;
	}
	.kouza_more.active::before{
		background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0));
	}
	.kouza_more.active::after{
		transform:rotateX(180deg)
	}
}*/
/* -----------------------------------------------------------------
   disp_more
----------------------------------------------------------------- */

/* --- responsive --- */
@media screen and (max-width:767px){
	.disp_more{
		height:54px;
		overflow:hidden;
		}
		.disp_more::after{
			content:"続きを見る";
			display:-webkit-flex;
			display:flex;
			justify-content:center;
			align-items:center;
			position:absolute;
			left:calc(50% - 130px);
			bottom:0px;
			width:260px;
			max-width:100%;
			height:54px;
			font-family:inherit;
			font-weight:bold;
			font-size:1.0rem;
			-moz-border-radius:27px;
			-webkit-border-radius:27px;
			border-radius:27px;
			background:#387DCE;
			border:2px solid #387DCE;
			color:#FFF;
			z-index:10;
			transition-duration:0.5s;
			}
			.disp_more:hover::after{
				background:#FFF;
				color:#387DCE;
		}
		.disp_more.active{
			height:auto;
			animation:open_outline 1.5s ease 0s forwards;
		}
		.disp_more.active::after{
			opacity:0;
		}
}


