@charset "utf-8";


/*=============================================
	
	メインビジュアル
	
==============================================*/
@media print, screen and (max-width: 768px) {
	.slick_main .slick-dots {
		bottom: 20px !important;
	}
	.slick_main .slick-dots li {
		margin: 0 !important;
	}
	.slick_main .slick-dots li button:before {
		font-size: 30px !important;
		color: #FFF !important;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 0 !important;
	}
}

@media print, screen and (min-width: 769px) {

	.slick_main .slick-dots {
		bottom: 20px !important;
	}
	.slick_main .slick-dots li {
		margin: 0 !important;
	}
	.slick_main .slick-dots li button:before {
		font-size: 40px !important;
		color: #FFF !important;
	}
	.slick-dotted.slick-slider {
		margin-bottom: 0 !important;
	}
}

/*=============================================
	
	メッセージ枠
	
==============================================*/
.renewal_message {
	padding: 5em 0 3em; 
	background: url(/img/common/bg_paper.jpg) no-repeat center center;
	background-size: cover;
	text-align: center;
}
.renewal_message .title_en {
	font-size: 2.2em;
	padding: 0.4em 0;
	line-height: 1;
	color: #b38924;
	position: relative;
	z-index: 10;
	display: inline;
}
.renewal_message .title_en::before, .renewal_message .title_en::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 30%;
	transform: translateX(-50%);
	height: 1px;
	background-color: #b38924;
	z-index: 1;
}
.renewal_message .title_en::after {
	bottom: auto;
	top: 0;
}
.renewal_message .title {
	font-size: 1.3em;
	color: #b38924;
	padding-top: 2em;
	margin-bottom: 1.5em;
}
.renewal_message .banner  {
	width: 90%;
	margin: 0 auto;
}
.renewal_message .btn {
	width: 80%;
	margin: 0 auto;
}
.renewal_message .btn a {
	display: block;
	background-color: #009387;
	color: #FFF;
	text-align: center;
	padding: 0.5em 0;
	line-height: 1;
}
.renewal_message .btn a .font01 {
	font-size: 1.2em;
	line-height: 1.6;
}
.renewal_message .btn a .font02 {
	font-size: 0.8em;
}
.renewal_message .btn a.arrow_right::after {
	top: 50%;
	right: 5%;
	transform: rotate(45deg) translateY(-50%);
	width: 8px;
	height: 8px;
	border-color: #FFF;
}
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	.renewal_message {
		padding: 90px 0 70px; 
	}
	.renewal_message .title_en {
		font-size: 40px;
		padding: 20px 0;
	}
	.renewal_message .title_en::before, .renewal_message .title_en::after {
		width: 15%;
	}
	.renewal_message .title_en::after {
	}
	.renewal_message .title {
		font-size: 24px;
		padding-top: 50px;
		margin-bottom: 30px;
	}
	.renewal_message .banner  {
		width: 480px;
		margin: 0 auto;
	}

	.renewal_message .btn {
		width: 420px;
	}
	.renewal_message .btn a {
		padding: 10px 0 15px;
	}
	.renewal_message .btn a .font01 {
		font-size: 18px;
	}
	.renewal_message .btn a .font02 {
		font-size: 12px;
	}
	.renewal_message .btn a.arrow_right::after {
	}
	
}

/*=============================================
	
	外部 バナー
	
==============================================*/
@media print, screen and (max-width: 768px) {
	.btn_covid19 {
		width:  90%;
		margin: 0 auto 0;
		padding: 3em 0 1em;
		text-align: center;
	}
	.btn_covid19 .arrow_right:after {
		right: 3%;
		top: 43%;
	    border-top: 1px solid #FFF;
	    border-right: 1px solid #FFF;
	}
	.btn_covid19 a {
		display: block;
		background: #009387;
		padding: 10px 0;
		color: #FFF;
	}
}

@media print, screen and (min-width: 769px) {
	.btn_covid19 {
		width: 480px;
		margin: 0 auto 0;
		padding: 50px 0 0;
		text-align: center;
	}
	.btn_covid19 .arrow_right:after {
		right: 3%;
		top: 43%;
	    border-top: 1px solid #FFF;
	    border-right: 1px solid #FFF;
	}
	.btn_covid19 a {
		display: block;
		background: #009387;
		padding: 10px 0;
		color: #FFF;
	}
}
/*=============================================
	
	上部バナー
	
==============================================*/
@media print, screen and (max-width: 768px) {
	.top_banner {
		padding: 2.5em 0 3.6em;
		margin: 0;
	}
	.top_banner ul li {
		margin: 0 auto 2em ;
	}
	.top_banner ul li:last-child {
		margin: 0 auto 0;
	}
}

@media print, screen and (min-width: 769px) {
	.top_banner {
		padding: 50px 0 60px;
		margin: 0;
	}
	/**
	.top_banner .container {
		width: 90%;
		min-width: 960px;
	}
	**/
	.top_banner ul {
		text-align: center;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.top_banner ul li {
		width: 960px;
		margin: 0 auto 15px;
	}
	.top_banner ul li.size_s {
		width: 480px;
	}
	.top_banner ul li.mid {
		width: 640px;
	}
	.top_banner ul li:last-child {
		margin: 0 auto 0;
	}
}


/*=============================================
	
	コンセプト
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#concept {
		/**
		background: url(/img/index/concept_bg_sp.jpg) no-repeat center bottom;
		background-size: contain;
		**/
		padding: 3em 0;
	}
	#concept h2 {
		font-size: 1.9em;
		line-height: 1.8em;
		text-align: center;
		margin: 0 0 0.4em;
	}
	#concept h3 {
		font-size: 1.6em;
		line-height: 1.8em;
		text-align: center;
		margin: 0 0 0.4em;
	}
	#concept p.lead {
		font-size: 1.2em;
		line-height: 1.8em;
		text-align: center;
		margin: 0 0 1.6em;
	}
	#concept .img01 {
		width: 93%;
		margin: 0 auto;
	}
}

@media print, screen and (min-width: 769px) {
	#concept {
		/**
		background: url(/img/index/concept_bg_pc.jpg) no-repeat center center;
		background-size: inherit;
		**/
		height: 530px;
		padding: 60px 0;
	}
	#concept h2 {
        position: absolute;
        left: 50%;
        top: 160px;
        margin-left: -520px;
        font-size: 32px;
        line-height: 1.6em;
	}
	#concept h3 {
		position: absolute;
		left: 50%;
		top: 230px;
		margin-left: -520px;
		font-size: 26px;
		line-height: 1.6em;
	}
	#concept p.lead {
		position: absolute;
		left: 50%;
		top: 290px;
		margin-left: -520px;
		font-size: 18px;
		line-height: 1.6em;
	}
	#concept .img01 {
		position: absolute;
		left: 50%;
		top: 0px;
		margin-left: -80px;
		width: 620px;
	}
}

/*=============================================
	
	中段バナー
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#middle_banner {
		padding: 2.4em 0 2.4em;
		margin: 0;
	}
	#middle_banner ul li {
		width: 100%;
		margin: 0 auto 2.0em ;
	}
	#middle_banner ul li:last-child {
		margin: 0 auto 0;
	}
}

@media print, screen and (min-width: 769px) {
	#middle_banner {
		padding: 60px 0 60px;
		margin: 0;
	}
	#middle_banner ul {
		text-align: center;
		display: flex;
		justify-content: center;
	}
	#middle_banner ul li {
		/** 2列時 width: 400px; **/
		/** 3列時 width: 560px; **/
		width: 450px;
		margin: 0 15px;
	}
}

/*=============================================
	
	コンテンツエリア
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#contents_wrap {
		padding: 2.4em 0 4.8em;
		/**
		background: url(/img/index/contents_bg_sp.jpg) repeat-y center top #F9EDEE;
		background-size: contain;
		**/
		width: 100%;
	}
	#contents_wrap h3 {
		font-size: 2.6em;
		margin: 0 0 0.4em;
		text-align: center;
	}
	#contents_wrap .text_main {
		font-size: 1.1em;
		margin: 0 0 3.0em;
		text-align: center;
		color: #666;
	}
	#contents_wrap .detail_wrap {
		margin: 0 0 4.8em;
		position: relative;
	}
	#contents_wrap .detail_wrap:last-of-type {
		margin: 0 0 0;
	}
	#contents_wrap .detail_wrap h4 {
		text-align: center;
		font-size: 3.2em;
		margin: 0 0 0.2em;
	}
	#contents_wrap .detail_wrap p.name {
		text-align: center;
		font-size: 1.1em;
		margin: 0 0 1.2em;
	}
	#contents_wrap .detail_wrap dl dt {
		margin: 0 0 1.6em;
		position: relative;
	}
	#contents_wrap .detail_wrap dl dt .icon_renew {
		position: absolute;
		left: 3%;
		top: 3%;
		width: 20%;
	}
	#contents_wrap .detail_wrap dl dd {
		width: 80%;
		text-align: center;
		margin: 0 auto 0;
		padding: 0;
	}
	#contents_wrap .detail_wrap dl dd p.lead {
		font-size: 1.1em;
		color: #666;
		text-align: center;
		margin: 0 0 1.6em;
	}
	#contents_wrap .detail_wrap.location_wrap dl dd p.lead {
		margin-bottom: 1em;
	}
	#contents_wrap .detail_wrap dl dd .point {
		font-size: 1.1em;
		color: #F04455;
		text-align: center;
		margin: 0 0 1.5em;
		border: 1px solid #F04455;
		padding: 3vw 5%;
		background-color: #FFF;
	}
	#contents_wrap .btn_arrow a {
		background-color: #009387;
		width: 90%;
	}
}

@media print, screen and (min-width: 769px) {
	#contents_wrap {
		padding: 40px 0 60px;
		/**
		background: url(/img/index/contents_bg_pc.jpg) repeat-y center top #F9EDEE;
		background-size: cover auto;
		**/
	}
	#contents_wrap h3 {
		font-size: 52px;
		margin: 0 0 20px;
		text-align: center;
	}
	#contents_wrap .text_main {
		font-size: 14px;
		margin: 0 0 40px;
		text-align: center;
		color: #666;
	}
	#contents_wrap .detail_wrap {
		margin: 0 0 60px;
		position: relative;
	}
	#contents_wrap .detail_wrap h4 {
		position: absolute;
		left: 50%;
		top: 50px;
		margin-left: 150px;
		width: 300px;
		text-align: center;
		font-size: 56px;
	}
	#contents_wrap .detail_wrap:nth-of-type(even) h4 {
		margin-left: -450px;
	}
	#contents_wrap .detail_wrap:nth-of-type(2) h4 {
		font-size: 38px;
	}
	#contents_wrap .detail_wrap:nth-of-type(3) h4 {
		font-size: 44px;
		line-height: 1.4;
		top: 20px;
	}
	#contents_wrap .detail_wrap:nth-of-type(5) h4 {
		font-size: 44px;
	}
	#contents_wrap .detail_wrap:nth-of-type(6) h4 {
		font-size: 46px;
		top: 30px;
	}
	#contents_wrap .detail_wrap p.name {
		position: absolute;
		left: 50%;
		top: 140px;
		margin-left: 150px;
		width: 300px;
		text-align: center;
		font-size: 14px;
	}
	#contents_wrap .detail_wrap:nth-of-type(even) p.name {
		margin-left: -450px;
	}
	#contents_wrap .detail_wrap dl dt {
		float: left;
		width: 600px;
		position: relative;
	}
	#contents_wrap .detail_wrap:nth-of-type(even) dl dt {
		float: right;
	}
	#contents_wrap .detail_wrap:nth-of-type(even) dl dt .icon_renew {
		left: auto;
		right: 3%;
	}
	#contents_wrap .detail_wrap dl dt .icon_renew {
		position: absolute;
		left: 3%;
		top: 3%;
		width: 16%;
	}
	#contents_wrap .detail_wrap dl dd {
		float: right;
		width: 300px;
		text-align: center;
		padding: 200px 30px 0 0;
	}
	#contents_wrap .detail_wrap:nth-of-type(even) dl dd {
		float: left;
		padding: 200px 0 0 30px;
	}
	#contents_wrap .detail_wrap dl dd p.lead {
		font-size: 14px;
		color: #666;
		text-align: center;
		margin: 0 0 30px;
	}
	#contents_wrap .detail_wrap.location_wrap dl dd p.lead {
		margin-bottom: 15px;
	}
	#contents_wrap .detail_wrap dl dd .point {
		font-size: 14px;
		color: #F04455;
		text-align: center;
		margin: 0 0 30px;
		border: 1px solid #F04455;
		padding: 20px 15px;
		background-color: #FFF;
	}
	#contents_wrap .btn_arrow a {
		background-color: #009387;
		width: 240px;
	}
	
	/** ローケーションのみ調整 **/
	#contents_wrap .detail_wrap.location_wrap p.name {
		top: 110px;
	}
	#contents_wrap .detail_wrap.location_wrap p.name {
		top: 110px;
	}
	#contents_wrap .detail_wrap.location_wrap dl dd {
		padding-top: 160px;
	}
}

/*=============================================
	
	サブコンテンツ バナー
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#index_subcontents {
		padding: 3.2em 0;
		background: #FFF;
	}
	#index_subcontents ul {
		text-align: center;
		width: 80%;
	}
	#index_subcontents ul li {
		margin: 0 0 0.8em;
		background: #EEEFE5;
	}
	#index_subcontents ul li dl a {
		color: #000;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#index_subcontents ul li dl dt {
		margin: 0;
		width: 50%;
	}
	#index_subcontents ul li dl dd {
		width: 48%;
		padding: 0 1% 0;
		text-align: center;
		letter-spacing: 0;
	}
	#index_subcontents ul li:last-child dl dd {
		padding: 0 1% 0;
	}
	#index_subcontents ul li dl dd h4 {
		font-size: 1.5em;
		margin: 0 0 0.6em;
		line-height: 1.6em;
	}
	#index_subcontents ul li dl dd p.name {
		font-size: 1.0em;
		margin: 0 0 0;
		line-height: 1em;
	}
}

@media print, screen and (min-width: 769px) {
	#index_subcontents {
		padding: 40px 0;
		background: #FFF;
	}
	#index_subcontents ul {
		text-align: center;
		display: flex;
		justify-content: center;
	}
	#index_subcontents ul li {
		width: 420px;
		margin: 0 20px;
		background: #EEEFE5;
	}
	#index_subcontents ul li dl a {
		color: #000;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#index_subcontents ul li dl dt {
		margin: 0;
		width: 40%;
	}
	#index_subcontents ul li dl dd {
		padding: 0 0;
		text-align: center;
		width: 60%;
	}
	#index_subcontents ul li dl dd h4 {
		font-size: 28px;
		margin: 0 0 15px;
		line-height: 1.0em;
	}
	#index_subcontents ul li dl dd p.name {
		font-size: 14px;
		margin: 0 0 0;
		line-height: 1em;
	}

}

/*=============================================
	
	パーティレポート 
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#party_report_wrap {
		background: #EEEFE5;
		padding: 3.2em 0;
	}
	#party_report_wrap h3{
		font-size: 2.4em;
		margin: 0 0 0.8em;
		text-align: center;
	}
	#party_report_wrap .slick_partyreport {
		margin: 0 auto 2.4em;
	}
	#party_report_wrap .slick_partyreport li {
		margin: 0 10px;
		text-align: center;
		padding-top: 1.2em;
		position: relative;
	}
	#party_report_wrap .slick_partyreport li a {
		color: #000;
	}
	#party_report_wrap .slick_partyreport li div.frame {
		/**
		background: url(/img/index/partyreport_frame.jpg) no-repeat center center;
		background-size: cover;
		padding: 40px 40px;
		**/
		margin: 0 0 12px;
	}
	#party_report_wrap .btn_arrow a {
		background-color: #009387;
	}
	#party_report_wrap .slick_partyreport li a > span.icon_new {
		position: absolute;
		top: 0;
		right: -0.5em;
		background: #FD8189;
		border-radius: 4em;
		width: 4em;
		height: 4em;
		line-height: 4.1em;
		padding: 0;
		text-align: center;
		font-family: 'Bodoni Moda', serif;
		font-weight: 400;
		font-size: 10px;
		color: #FFF;
		letter-spacing: 0.08em;
		padding-left:0.12em;
		box-sizing: border-box;
	}

}

@media print, screen and (min-width: 769px) {
	#party_report_wrap {
		background: #EEEFE5;
		padding: 40px 0;
	}
	#party_report_wrap h3{
		font-size: 48px;
		margin: 0 0 30px;
		text-align: center;
	}
	#party_report_wrap .slick_partyreport {
		width: 960px;
		margin: 0 auto 40px;
	}
	#party_report_wrap .slick_partyreport li {
		margin: 0 20px;
		text-align: center;
		padding-top: 1.2em;
		position: relative;
	}
	#party_report_wrap .slick_partyreport li a {
		color: #000;
	}
	#party_report_wrap .slick_partyreport li div.frame {
		/**
		background: url(/img/index/partyreport_frame.jpg) no-repeat center center;
		background-size: cover;
		padding: 40px 40px;
		**/
		margin: 0 0 12px;
	}
	#party_report_wrap .btn_arrow a {
		background-color: #009387;
	}
	#party_report_wrap .slick_partyreport li a > span.icon_new {
		position: absolute;
		top: 0;
		right: -0.5em;
		background: #FD8189;
		border-radius: 4em;
		width: 4em;
		height: 4em;
		line-height: 4.1em;
		padding: 0;
		text-align: center;
		font-family: 'Bodoni Moda', serif;
		font-weight: 400;
		font-size: 10px;
		color: #FFF;
		letter-spacing: 0.08em;
		padding-left:0.12em;
		box-sizing: border-box;
	}
}

/*=============================================
	
	上部バナー
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#info_list_wrap {
		background: #FFF;
		padding: 3.2em 0 1.6em;
	}
	#info_list_wrap .container {
		width: 80%;
	}
	#info_list_wrap .tw_cl {
		margin: 0 0 4.0em;
	}
	#info_list_wrap .tw_cl:last-of-type {
		margin: 0 0 0;
	}
	#info_list_wrap .tw_cl h4 {
		text-align: center;
		font-size: 2.4em;
		margin: 0 0 0.6em;
	}
	#info_list_wrap .tw_cl ul {
		margin: 0 0 2.4em;
	}
	#info_list_wrap .tw_cl ul li {
		margin: 0 0 1.0em;
		padding: 0 0 1.0em;
		border-bottom: 1px dotted #CCC;
	}
	#info_list_wrap .tw_cl ul li:last-child {
		border-bottom: none;
		padding: 0;
		margin: 0;
	}
	#info_list_wrap .tw_cl p.date {
		font-size: 0.9em;
		color: #999;
	}
	#info_list_wrap .tw_cl p.title a {
		text-decoration: underline;
		color: #000;
	}
	#info_list_wrap .tw_cl .btn_arrow a {
		background-color: #009387;
		padding: 10px 0;
		max-width: 220px;
	}
}

@media print, screen and (min-width: 769px) {
	#info_list_wrap {
		background: #FFF;
		padding: 40px 0 40px;
	}
	#info_list_wrap .container {
		width: 820px;
	}
	#info_list_wrap .tw_cl {
		width: 360px;
	}
	#info_list_wrap .topics_list {
		float: left;
	}
	#info_list_wrap .blog_list {
		float: right;
	}
	#info_list_wrap .tw_cl h4 {
		text-align: center;
		font-size: 28px;
		margin: 0 0 20px;
	}
	#info_list_wrap .tw_cl ul {
		margin: 0 0 40px;
	}
	#info_list_wrap .tw_cl ul li {
		margin: 0 0 12px;
		padding: 0 0 12px;
		border-bottom: 1px dotted #CCC;
	}
	#info_list_wrap .tw_cl ul li:last-child {
		border-bottom: none;
		padding: 0;
		margin: 0;
	}
	#info_list_wrap .tw_cl p.date {
		font-size: 12px;
		color: #999;
	}
	#info_list_wrap .tw_cl p.title a {
		text-decoration: underline;
		color: #000;
	}
	#info_list_wrap .tw_cl .btn_arrow a {
		background-color: #009387;
		padding: 10px 0;
		max-width: 220px;
	}
}

/*=============================================
	
	上部バナー
	
==============================================*/
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {

}

/*=============================================
	
	フェアカルーセル：トップページのみカスタム
	
==============================================*/

.fair_fuwel_wrap {
	background: #eeefe7;
}
.fair_fuwel_wrap .mid_banner {
	display: block;
	width: 90%;
	margin: 0 auto 2em;
}
@media print, screen and (max-width: 768px) {
	.fair_fuwel_wrap {
		padding: 4em 0 4em;
	}
}

@media print, screen and (min-width: 769px) {
	.fair_fuwel_wrap {
		padding: 70px 0 70px;
	}

	.fair_fuwel_wrap .mid_banner {
		width: 560px;
		margin: 0 auto 30px;
	}

}
