@charset "utf-8";
/* CSS Document */
.workshop footer {padding-bottom: 200px;}

 /* ===== フローティングボタン ===== */
.floating_btn {
	position: fixed;
	padding: 20px 0;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #291d3dA6;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 100;
	cursor: pointer;

  /* 初期状態: 非表示（下に隠れている） */
	transform: translateY(100%);
	opacity: 0;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
	opacity   0.45s ease;
}
/* 表示状態 */
.floating_btn.is-visible {
	transform: translateY(0);
	opacity: 1;
}
/* ボタン内アイコン画像 */
.floating_btn img {object-fit: contain;}

.floating_btn .max_w_inner{
	display: flex;
    flex-wrap: wrap;
    gap: 5px 1%;
    justify-content: center;
}
.floating_btn .max_w_inner>img{padding: 0 30px 10px;}
.floating_btn .max_w_inner a{width: 32.5%;}
@media screen and (max-width: 760px) {
	.floating_btn .max_w_inner>img{padding: 0 0 10px;}
	.floating_btn .max_w_inner a{width: 49%;}
}
 /* ===== 表 ===== */
.table_box{
	overflow: auto;
    width: 100%;
	margin-top: 10px;
}
.table_box table {
	width: 1100px;
	margin-bottom: 10px;
}
table tbody th{
	vertical-align: middle;
	background-color: #b8ec6d;
	line-height: 4;
	padding-left: 1em;	
}
table tbody th:not(:last-of-type){border-right: solid 2px #ffffff;}
table tbody{border: solid 2px #b8ec6d;}
table tbody td{
	vertical-align: middle;
	border: solid 2px #b8ec6d;
	padding: 1em;
}
table tbody td small{
	display: inline-block;
	background-color: #920783;
	color: #ffffff;
	padding: .2em 1em;
	margin-top: .5em;

}

/*=====================================================================================
***************************************************************************************

　　MV

***************************************************************************************
=====================================================================================*/
#MV{
	position: relative;
	overflow: hidden;
	background: url(../img/MV_bg.jpg) repeat-x bottom center;
	padding-top: 29px;
	height: 545px;
}
#MV .max_w_inner{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
    align-items: center;
}
#MV h1{
	width: 71.8%;
}
#MV .btn_box{
	width: 26.2%;
	display: flex;
    flex-direction: column;
    gap: 20px 12px;
	align-items: center;
}

@media screen and (max-width: 1040px) {
	#MV{
		height: 100%;
		padding-bottom: 42px;
		padding-top: 70px;
	}
}
@media screen and (max-width: 700px) {
	#MV{background-size: cover;}
	#MV h1,#MV .btn_box{width: 100%;}
	#MV .btn_box{
		flex-direction: row;
		align-items: center;
	}
	#MV .btn_box a{width:48% ;}
	#MV .btn_box a img{width: 100%;}
	#MV .mv_entry{display: none;}
}
/*=====================================================================================
***************************************************************************************

workshop

***************************************************************************************
=====================================================================================*/
#WORKSHOP_bg{
	background-color:#b8ec6d ;
	padding: 80px 0 50px;
	position: relative;
}
@media screen and (max-width: 750px) {
	#WORKSHOP_bg{padding: 40px 0 30px;}
}
.absolute_img_top,
.absolute_img_bottom{
	width: 100%;
	margin: auto;
	z-index: 0;
}
.absolute_img_top{inset: 0 0 auto 0;}
.absolute_img_bottom{inset: auto 0 0 0;}

.special_box .special_box_in{text-align: right;}
.special_box .special_box_in div{
	font-size:32px;
	line-height: 1.2;
	color: #920783;
	font-weight: bold;
	margin-bottom: .5em;
	text-align: left;
}
.special_box .special_box_in div small{
	font-size: 70%;
	display: block;
}
.special_box .special_box_in p{
	text-align: justify;
	margin-bottom: 1em;
}
.special_box .special_box_in a{
	background-color: #920783;
	color: #ffffff;
	text-decoration:none;
	padding: .5em 1em;
	display: inline-block;
}
.special_box .special_box_in:first-child{margin-bottom: 30px;}
.box.title_box{text-align: center;}
.title_box h2 {
	max-width: 678px;
	margin: 10px auto 40px;
}
.title_box p{font-size: 18px;}
.box{
	position: relative;
	z-index: 2;
	text-align: left;
}
.box:not(:last-child) {margin-bottom: 120px;}
.box .inner_bg{
	width: calc(100% - 20px);
	background-color: #ffffff;
	box-shadow: 20px 20px 0px 0px #1180A2;
	border-radius:40px;
	padding: 60px 5%;
	position: relative;
	z-index: 1;
}
.fukidashi{
	position: absolute;
	z-index: 2;
	top: -40px;
	left: 0;
}
.box .title_box {
	border-top: solid 2px #3a3745;
	padding-top: 50px;
	margin: 60px 0 30px;
}
.box.title_box ul{margin-bottom: 20px;}
.box.title_box ul li{
	background-color: #CA4F1B;
	color: #ffffff;
	text-align: center;
	display: inline-block;
	padding: .2em 1em;
}
.box .title_box p{
	color: #920783;
	padding: 1em 0;
	font-size: 18px;
}
.box .title_box dl dt{
	white-space: nowrap;
	background-color: #920783;
	color: #ffffff;
	display: inline-block;
	padding: .1em .5em;
	font-size: 15px;
	text-align: center;
	margin-right: 8px;
}
.box .title_box dl dd {
    display: inline-block;
    width: calc(100% - 90px);
	font-size: 18px;
}
.box .title_box dl dd small{vertical-align: bottom;}
.box .section{margin-bottom: 50px;}
.box h3{
	font-size: 20px;
	background-color:#3a3745 ;
	text-align: center;
	color: #ffffff;
	padding: .3em 1em;
	margin-bottom: 20px;
}
.about_list {font-size: 16px;}
.about_list dt{
	display: inline-block;
	width:80px;
}
.about_list dd{
	display: inline-block;
    width: calc(100% - 93px);
	margin-bottom: 2px;
	position: relative;
	margin-left: 8px;
}
.about_list dd::before{
	content: ":";
	position: absolute;
	left: -8px;
}
.guest_box p{
	width: calc(100% - 187px);
    display: inline-block;
    margin-left: 20px;
	text-align: justify;
	vertical-align: sub;
}
.guest_box p b{font-size: 24px;}
.guest_box p small{vertical-align: bottom;margin-bottom: 2px;display: inline-block;}

.aicatch{display: block;margin: 0 auto;}
@media screen and (max-width: 750px) {
	.box:not(:last-child) {margin-bottom: 60px;}
	.box .inner_bg{
		width: calc(100% - 8px);
		padding: 65px 5% 35px;
        border-radius: 30px;
	}
	.box .title_box {
		padding-top: 30px;
		margin:30px 0;
	}
	.special_box .special_box_in div{font-size: 28px;}
	.title_box p{font-size: 16px;}
	.box .title_box .pc{display: none;}
	.box .title_box .sp{display: block;}
	.fukidashi{top: -15px;}
	.title_box h2 {margin-bottom: 20px;}
	.box .title_box p{font-size: 16px;}
	.box .title_box dl dd{font-size: 16px;}
	.box .title_box dl dd small{display: block;}
	.box h3{
		font-size: 16px;
		margin-bottom: 15px;
	}
	.box .section {margin-bottom: 20px;}
	.guest_box p{
		width: 100%;
    	margin: 20px 0 0 0;
	}
}
.timetable_box{text-align: center;}
.timetable_box div{
	display: flex;
    flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
    gap: 20px 4%;
	margin: 50px 0 40px;
}
.timetable_box div img{width: 48%;}
@media screen and (max-width: 760px) {
	.timetable_box div{margin:20px 0;}
	.timetable_box div img{width: auto;}
	.timetable_box p{text-align: left;}
}


#caf{margin-bottom: 30px;}
#caf .box01 {
    background-color: #ffffff;
    padding: 20px 5%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2em 0;
}
#caf .box01 img{
	max-width: 296px;
    width: 36%;
}
#caf .box01 p{width: 64%;}

#caf h5{
	background-color: #920783;
	color: #ffffff;
	text-align: center;
	padding: .5em 1em;
	font-size: 20px;
	border-radius:10px;
	margin: 40px 0 20px;
}
#caf .list{
	display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}
#caf .list img{width: 32%;}

#gff .box01 {
    background-color: #ffffff;
    padding: 20px 5%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2em 0;
}
#gff .box01 img{
	max-width: 296px;
    width: 36%;
}
#gff .box01 p{width: 64%;}

#gff h5{
	background-color: #920783;
	color: #ffffff;
	text-align: center;
	padding: .5em 1em;
	font-size: 20px;
	border-radius:10px;
	margin: 40px 0 20px;
}
#gff .list{
	display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
}
#gff .list img{width: 32%;}

.li_deco{
	margin-left: 1.5em;
}
.li_deco,.li_deco li{
	list-style: disc;
}
@media screen and (max-width: 760px) {
	#caf .list img{width: 49%;}
	#gff .list img{width: 49%;}
}

.footer_link{
	max-width: 326px;
    width: 80%;
    display: flex;
    margin: 0 auto 30px;
    justify-content: center;
}
footer .tel{
	text_decoration:none;
    pointer-events:none;
	display: inline-block;
}
footer .mail{
	display: inline-block;
	text-decoration: none;
	margin-top: 0px;
}