@charset "utf-8";


/*=============================================
	
	非表示指定
	
==============================================*/
@media print, screen and (max-width: 768px) {
	.pc {
		display: none;
	}
}

@media print, screen and (min-width: 769px) {
	.sp {
		display: none;
	}
}


/*=============================================
	
	カラー指定
	
==============================================*/
.brown {
	color: #c19e7b;
}
.orange {
	color: #ff7d5d;
}
.red {
	color: #e04c4c;
}
.green {
	color: #e04c4c;
}


/*=============================================
	
	FONT指定
	
==============================================*/
.min01 {
}

.en01 {
	font-family: "Josefin Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
}
.en02 {
}
.en03 {
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}
@media print, screen and (max-width: 768px) {

}

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

}


/*=============================================
	
	ボタン 指定
	
==============================================*/
.btn_wrap {
	padding: 1em 0;
	position: relative;
}
.btn01 {
	width: 90%;
	margin: 0 auto;
	text-align: center;
}
.btn01 a {
	display: block;
	text-align: center;
	padding: 1.2em 0;
	color: #FFF;
	font-size: 1em;
	letter-spacing: 0;
}
.btn01.blk a {
	background-color: #000;
}
.btn01.grn a {
	background-color: #96cb37;
}
.btn01 a.arrow_right::after {
	border-color: #FFF;
}
.btn01 a.arrow_bottom::after {
	border-color: #FFF;
}

.btn01 .bar_right::before, .btn01 .bar_right::after {
	content: "";
	position: absolute;
    right: -5%;
    top: 50%;
	width: 5%;
	height: 1px;
	transform: translateY(-50%);
}
.btn01 .bar_right::before {
	right: 0;
	background-color: #FFF;
}
.btn01.blk .bar_right::after {
	background-color: #000;
}
.btn01.grn .bar_right::after {
	background-color: #96cb37;
}


@media print, screen and (max-width: 768px) {
	.btn_big01 {
		width: 100%;
		text-align: center;
	}
	.btn_big01 a {
		display: block;
		text-align: center;
		padding: 1.5em 0;
		color: #FFF;
		font-size: 1.1em;
	}
	.btn_big01 a.arrow_right::after {
	    right: 10px;
	    top: 45%;
		border-top: 1px solid #FFF;
	    border-right: 1px solid #FFF;
	}


}

@media print, screen and (min-width: 769px) {
	.btn01 {
		width: 360px;
		margin: 0 auto;
	}
	.btn01 a {
		padding: 22px 0;
		font-size: 16px;
	}

	.btn_big01 {
		width: 45%;
		text-align: center;
	}
	.btn_big01 a {
		display: block;
		text-align: center;
		padding: 1.0em 0;
		color: #FFF;
		font-size: 1.1em;
	}
	.btn_big01 a.arrow_right::after {
	    right: 10px;
	    top: 45%;
		border-top: 1px solid #FFF;
	    border-right: 1px solid #FFF;
	}

}


/*=============================================
	
	くの字 指定
	
==============================================*/
.arrow_right {
   position: relative;
    vertical-align: middle;
    text-decoration: none;
}

.arrow_right::after {
    content: "";
    position: absolute;
    right: 5%;
    top: 50%;
    width: 6px;
    height: 6px;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    vertical-align: middle;
}

.arrow_below {
   position: relative;
    vertical-align: middle;
    text-decoration: none;
}

.arrow_below::after {
    content: "";
    position: absolute;
    right: 0;
    top: 40%;
    width: 4px;
    height: 4px;
    border-top: 1px solid #666;
    border-right: 1px solid #666;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    vertical-align: middle;
}


/*=============================================
	
	短いボーダー
	
==============================================*/
.short_border {
	position: relative;
}
.short_border::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 10%;
	height: 1px;
	background: #000;
}
.short_border.wht {
	background: #FFF;
}
.short_border.blk {
	background: #000;
}
@media print, screen and (max-width: 768px) {
}

@media print, screen and (min-width: 769px) {
	.short_border {
	}
	.short_border::after {
		width: 5%;		
	}
	.short_border.wht {
	}
	.short_border.blk {
	}
}

/*=============================================
	
	ふわっと表示
	
==============================================*/

/* fadeUp */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(80px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}


/*=============================================
	
	WRAPPER
	
==============================================*/
#wrapper {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
@media print, screen and (max-width: 768px) {
}
@media print, screen and (min-width: 769px) {
}


/*=============================================
	
	Container
	
==============================================*/
@media print, screen and (max-width: 768px) {
	.container {
		width: 90%;
		margin: 0 auto;
		padding: 0;
		position: relative;
	}
}
@media print, screen and (min-width: 769px) {
	.container {
		width: 90%;
		min-width: 960px;
		max-width: 1024px;
		margin: 0 auto;
		padding: 0;
		position: relative;
	}
}

@media print, screen and (min-width: 1281px) {
	.container {
		max-width: 1200px;
	}
}

/*=============================================
	
	TOP SEO TITLE
	
==============================================*/
.top_bar {
	padding: 0.3em 1em;
	background-color: #FFF;
	color: #999;
	border-bottom: 1px solid #CCC;
}
.top_bar h1 {
	font-size: 0.7em;
	text-align: right;
	line-height: 1;
}
@media print, screen and (max-width: 768px) {
}
@media print, screen and (min-width: 769px) {
}

/*---------------------------------------------------------

    HEADER

---------------------------------------------------------*/
@media screen and (max-width: 768px) {
	header #gnavi {
		height: 50px;
		position: relative;
		background-color: #FFF;
	}
	header #gnavi .flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 15% 0 5%;
		height: 100%;
	}
	header #gnavi .logo {
		width: 50%;
		margin: 0;
		line-height: 1;
	}
	header #gnavi .sns_icon {
		width: 7%;
		margin: 0;
		padding-right: 2%;
	}


	/* ナビメニューのスタイルを指定 */
	nav.NavMenu {
	position: fixed;
	z-index: 500; /*重ね順を変更*/
	top: 0; /*表示位置を指定*/
	left: 0; /*表示位置を指定*/
	background: #fff;/*背景を白にする*/
	color: #000; /*文字色を黒にする*/
	text-align: center; /*テキストを中央揃え*/
	width: 100%; /*全幅表示*/
	transform: translateY(-100%); /*ナビを上に隠す*/
	transition: all 0.4s; /*アニメーションの時間を指定*/
	padding: 6em 0 4.5em;
	height: 100%;
	}
	nav.NavMenu {

	}
	nav.NavMenu .container{
		height: 90%;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;    /* IE, Edge 対応 */
        scrollbar-width: none;       /* Firefox 対応 */		
	}
		
	nav.NavMenu ul.nav_list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: 2em;
	}
	nav.NavMenu ul.nav_list li {
	width: 48%;
	margin: 0 0 0.5em;
	font-size: 1.1em;
	list-style-type: none;
	letter-spacing: 1px;
	text-align: left;
	letter-spacing: -1px;
	}
	nav.NavMenu ul.nav_list li:last-child {
	/*border: none;
	display: block;*/
	}
	nav.NavMenu ul.nav_list li a {
	display: block; /*クリックできる領域を広げる*/
	color: #000;
	padding: 0.8em 0 0.8em 8%;
	position: relative;
	}	
	nav.NavMenu ul.nav_list li a:before {
		content:"";
		display:block;
		width:8px;
		height:1px;
		background-color: #000;
		position:absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	nav.NavMenu .btn_big01 {
		width: 90%;
		margin: 0 auto 3em;
	}
	nav.NavMenu .btn_big01 a {
		background: #96cb37;
		padding: 1.2em 0;
	}

	nav.NavMenu .header_contact {
		text-align: center;
		margin: 0 0 2.0em;
		color: #96cb37;
	}
	nav.NavMenu .header_contact p.lead {
		font-size: 1.1em;
		margin: 0 0 0.4em;
	}
	nav.NavMenu .header_contact p.tel_title {
		font-size: 0.9em;
		margin: 0 0 1.2em;
		padding: 0.5em 1.5em;
		border: 1px solid #96cb37;
		display: inline-block;
		line-height: 1;
	}
	nav.NavMenu .header_contact p.tel_number {
		font-size: 3em;
		margin: 0 0 0.4em;
		line-height: 1;
	}
	nav.NavMenu .header_contact p.tel_number span {
		font-size: 0.6em;
		line-height: 1.4;
	}
	nav.NavMenu .header_contact p.tel_number a {
		color: #96cb37;
	}
	nav.NavMenu .header_contact p.tel_hour {
		font-size: 1em;
		margin: 0 0 2.0em;
	}

	/*トグルボタンが押されたときに付与するクラス*/
	nav.NavMenu.active {
	transform: translateY(0);
	}	
	
	/*トグルボタンのスタイルを指定*/
	.Toggle {
		position: fixed;
        right: 0%;
        top: 16px;
        width: 50px;
        height: 50px;
        cursor: pointer;
        z-index: 600;
	}
	 
	.Toggle span {
	    display: block;
	    position: absolute;
	    width: 40px;
	    border-bottom: solid 1px #000;
	    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
	    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
	    transition: .35s ease-in-out;			/*変化の速度を指定*/
	    left: 50%;
	    top: 50%;
	    transform: translate(-50%, -50%);
	}
	 
	.Toggle span:nth-child(1) {
	    top: 40%;
	}
	 
	.Toggle span:nth-child(2) {
	    top: 55%;
	}
	.Toggle span:nth-child(3) {
	    top: 70%;
	}
	 	
	.Toggle.active span {
	    border-bottom: solid 1px #000;
	} 
	/* 最初のspanをマイナス45度に */
	.Toggle.active span:nth-child(1) {
	    top: 25%;
	    left: 40%;
	    -webkit-transform: rotate(-45deg) translate(-50%, -50%);
	    -moz-transform: rotate(-45deg) translate(-50%, -50%);
	    transform: rotate(-45deg) translate(-50%, -50%);
	}
	 
	/* 2番目と3番目のspanを45度に */
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
	    top: 80%;
	    left: 40%;
	    -webkit-transform: rotate(45deg) translate(-50%, -50%);
	    -moz-transform: rotate(45deg) translate(-50%, -50%);
	    transform: rotate(45deg) translate(-50%, -50%);
	}	

}

@media screen and (min-width: 769px) {
	header #gnavi {
		width: 100%;
		height: 60px;
		position: relative;
		background-color: #FFF;
	}
	header #gnavi .flex {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 88%;
		padding-right: 10%;
		margin: 0 auto;
		height: 100%;
	}
	header #gnavi .logo {
		width: 16%;
		padding: 0 10% 0 0;
	}
	header #gnavi .menu_pickup {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		width: 40%;
	}
	header #gnavi .menu_pickup li {
		padding: 0 2%;
	}
	header #gnavi .menu_pickup li a{
		color: #000;
	}
	header #gnavi .btn_strong {
		width: 130px;
		padding: 0;
		text-align: center;
		margin: 0 10px;
	}
	header #gnavi .btn_strong a {
		display: block;
		color: #c19e7b;
		background-color: #FFF;
		border-radius: 50px;
		font-size: 12px;
		padding: 3px 0;
		letter-spacing: 0;
	}
	header #gnavi .sns_icon {
		width: 20px;
		margin: 0 30px;
	}

	/* ナビメニューのスタイルを指定 */
	nav.NavMenu {
	position: fixed;
	z-index: 100; /*重ね順を変更*/
	top: 0; /*表示位置を指定*/
	left: 0; /*表示位置を指定*/
	background: #fff;/*背景を白にする*/
	color: #000; /*文字色を黒にする*/
	text-align: center; /*テキストを中央揃え*/
	width: 100%; /*全幅表示*/
	transform: translateY(-100%); /*ナビを上に隠す*/
	transition: all 0.4s; /*アニメーションの時間を指定*/
	padding: 80px 0;
	}
	nav.NavMenu .container {
		display: flex;
		justify-content: flex-start;
		width: 960px;
		margin: 0 auto;
	}
	nav.NavMenu ul.nav_list {
		width: 60%;
		margin: 0 0 0;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
		
	nav.NavMenu ul.nav_list li {
		font-size: 13px;
		list-style-type: none;
		padding: 10px 0;
		margin: 0 0;
		letter-spacing: 1px;
		width: 50%;
	}
		
	nav.NavMenu ul.nav_list li a {
		display: block; /*クリックできる領域を広げる*/
		color: #000;
		padding: 0 0 0 18px;
		text-align: left;
		position: relative;
	}	
	nav.NavMenu ul.nav_list li a:before {
		content: "";
		width: 12px;
		height: 1px;
		background-color: #000;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	nav.NavMenu .right_box {
		width: 40%;
	}	
	nav.NavMenu .btn_big01 {
		width: 320px;
		margin: 0 0 50px;
	}

	nav.NavMenu .btn_big01 a {
		background: #96cb37;
		padding: 16px 0;
	}

	nav.NavMenu .header_contact {
		text-align: left;
		margin: 0;
		color: #96cb37;
	}
	nav.NavMenu .header_contact p.tel_title {
		font-size: 12px;
		margin: 0 0 15px;
		padding: 0.5em 1.2em;
		border: 1px solid #96cb37;
		display: inline-block;
		line-height: 1;
	}
	nav.NavMenu .header_contact p.tel_number {
		font-size: 40px;
		margin: 0 0 10px;
		line-height: 1;
	}
	nav.NavMenu .header_contact p.tel_number span {
		font-size: 22px;
	}
	nav.NavMenu .header_contact p.tel_number a {
		color: #96cb37;
	}
	nav.NavMenu .header_contact p.tel_hour {
		font-size: 12px;
		margin: 0 0;
		line-height: 1.6;
	}
	
	
	/*トグルボタンが押されたときに付与するクラス*/
	nav.NavMenu.active {
	transform: translateY(0%);
	}	
	
	/*トグルボタンのスタイルを指定*/
	.Toggle {
	    display: block;
	    position: fixed;    /* bodyに対しての絶対位置指定 */
	    right: 30px;
	    top: 30px;
	    width: 80px;
	    height: 80px;
	    cursor: pointer;
	    z-index: 600;
	}
	 
	.Toggle span {
	    display: block;
	    position: absolute;
	    width: 80px;
	    border-bottom: solid 1px #000;
	    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
	    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
	    transition: .35s ease-in-out;			/*変化の速度を指定*/
	}
	 
	.Toggle span:nth-child(1) {
	    top: 9px;
	}
	 
	.Toggle span:nth-child(2) {
	    top: 20px;
	}

	.Toggle span:nth-child(3) {
	    top: 31px;
	}
	 
	
	.Toggle.active span {
	    border-bottom: solid 1px #000;
	} 
	/* 最初のspanをマイナス45度に */
	.Toggle.active span:nth-child(1) {
	    top: 18px;
	    left: 0;
	    -webkit-transform: rotate(-45deg);
	    -moz-transform: rotate(-45deg);
	    transform: rotate(-45deg);
	}
	 
	/* 2番目と3番目のspanを45度に */
	.Toggle.active span:nth-child(2),
	.Toggle.active span:nth-child(3) {
	    top: 18px;
	    -webkit-transform: rotate(45deg);
	    -moz-transform: rotate(45deg);
	    transform: rotate(45deg);
	}
	/* 下層ページ用カラー設定 */
	.color_black span {
	    border-bottom: solid 1px #000 !important;
	}
	
}


/*=============================================
	
	パンくず
	
==============================================*/
	.bread {
	    overflow: hidden;
	    padding: 1.6em 0;
	    background: #fafafa;
	    width: 100%;
	}
	.bread .container {
		width: 96%;
	}
	.bread > ul > li {
	    float: left;
	    font-size: 0.9em;
	    color: #999;
	    position: relative;
	    margin: 0 1em 0 0;
	    padding: 0 1.3em 0 0;
	}
	.bread > ul > li:after {
		content: "";
		position: absolute;
		right: 0;
		top: 40%;
		transition: all 0.2s ease-in-out;
		display: block;
		width: 4px;
		height: 4px;
		border-top: solid 1px #999;
		border-right: solid 1px #999;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	.bread > ul > li > a {
	    font-size: 0.9em;
	    color: #999;
		text-decoration: underline;
	}
	.bread > ul > li.last {
		margin: 0;
		padding: 0;
	}
	.bread > ul > li.last:after {
		content: none;
	}
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	.bread {
	    width: 100%;
	    box-sizing: border-box;
	    padding: 22px 0;
	    overflow: hidden;
	    background: #fafafa;
	}
	.bread ul {
	    width: 80%;
	    margin: 0 auto;
	}
	.bread > ul > li {
	    display: inline-block;
	    float: left;
	    font-size: 11px;
	}
	
	.bread > ul > li i {
	    margin: 0 13px;
	    font-size: 11px;
	}
	
	.bread > ul > li > a {
	    font-size: 11px;
	}

}


/*=============================================
	
	FOOTER コピーライト
	
==============================================*/
@media print, screen and (max-width: 768px) {
	#copyright {
		padding: 3.0em 0 8.0em;
		text-align: center;
		font-size: 0.9em;
	}
}

@media print, screen and (min-width: 769px) {
	#copyright {
		padding: 3.0em 0 3.0em;
		text-align: center;
		font-size: 0.9em;
	}
}





/*=============================================
	
	TOP 臨時営業案内
	
==============================================*/


@media screen and (min-width:769px) {
	#announce {
		background: #ECEBE4;
		padding: 8px 0;
		margin: 0;
	}
	#announce p.text{
		width: 960px;
		margin: 0 auto;
		font-size: 12px;
		text-align: center;
		color: #367D84;
	}
	#announce p.text a{
		color: #B49F6D;
		text-decoration: underline;
	}
	
}


@media screen and (max-width:768px) {
	#announce {
		background: #ECEBE4;
		padding: 0.5em 0;
		margin: 0;
	}
	#announce p.text{
		width: 90%;
		margin: 0 auto;
		font-size: 12px;
		text-align: center;
		color: #367D84;
		line-height: 1.6em;
	}
	#announce p.text a{
		color: #B49F6D;
		text-decoration: underline;
	}

}




/*=============================================
	
	カレンダー レイアウト
	
==============================================*/
	.calendar_layout {
		margin: 0 0 2.0em;
		padding-top: 2em !important;
	}
	.calendar_layout h4.month {
		font-size: 6.0em;
		margin: 0 0 10px;
		text-align: center;
		line-height: 1;
	}
	.calendar_layout .month_text {
		font-size: 0.9em;
		margin: 0 0 10px;
		text-align: center;
		line-height: 1;
	}
	.calendar_layout p.attention {
		font-size: 11px;
		margin: 0 0 1.2em;
	}
	.calendar_layout table.fair_calender {
		margin: 0 auto 0;
		border-collapse:separate;
		border-spacing:4px;
	}
	.calendar_layout table.fair_calender tr th {
		padding: 0.8em 0.8em;
		font-size: 10px;
		text-align: center;
		width: 14%;
	}
	.calendar_layout table.fair_calender tr th.sat {
		color: #38A9BB;
	}	
	.calendar_layout table.fair_calender tr th.sun {
		color: #EC6554;
	}	
	.calendar_layout table.fair_calender tr td {
		padding: 0.1em;
		font-size: 14px;
		line-height: 1.0em;
		text-align: center;
		width: 14%;
		height: 40px;
		vertical-align: middle;
	}
	.calendar_layout table.fair_calender tr td.active {
		background: #F4F4F4;
		position: relative;
	}
	
	.calendar_layout table.fair_calender tr td.active::before{
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    border: 2px solid transparent;
    border-top: 3px solid #FFF;   /* 好みで色を変えてください */ 
    transform: rotate(310deg);
	}
	.calendar_layout table.fair_calender tr td.active a {
		color: #333;
		padding: 0.4em 0;
		display: block;
	}
	.calendar_layout table.fair_calender tr td span {
		padding:0.5em;
		display: block;
	}
	.calendar_layout table.fair_calender tr td.sat {
		color: #38A9BB;
	}
	.calendar_layout table.fair_calender tr td.sun,
	.calendar_layout table.fair_calender tr td.holiday {
		color: #EC6554;
	}
	.calendar_layout table.fair_calender tr td.active.sat {
		background: #38A9BB;		
	}
	.calendar_layout table.fair_calender tr td.active.sat a {
		color: #FFF;
	}

	.calendar_layout table.fair_calender tr td.active.sun,
	.calendar_layout table.fair_calender tr td.active.holiday {
		background: #EC6554;
	}
	.calendar_layout table.fair_calender tr td.active.sun a,
	.calendar_layout table.fair_calender tr td.active.holiday a {
		color: #FFF;
	}

	.calendar_layout .swiper-button-prev {
		left: 5%;
		top: 50%;
		transform: rotate(225deg) translateY(-50%);
        width: 24px;
        height: 24px;
        border-top: solid 1px #000;
        border-right: solid 1px #000;
   	}
	.calendar_layout .swiper-button-next {
		right: 5%;
		top: 54%;
		transform: rotate(45deg) translateY(-50%);
        width: 24px;
        height: 24px;
        border-top: solid 1px #000;
        border-right: solid 1px #000;
   	}

@media print, screen and (max-width: 768px) {
}

@media print, screen and (min-width: 769px) {
	.calender_wrap {
		float: right;
		width: 45%;	
	}
	.calender_wrap .swiper-container {
		width: 100%;	
	}
	.reserve_calendar {
		margin: 0 auto 2.4em;
	}

	/** カレンダー **************/
	.calendar_layout {
		margin: 0 auto 2.0em;
	}
	.calendar_layout h4.month {
		font-size: 80px;
		margin: 0 0 10px;
	}
	.calendar_layout p.attention {
		font-size: 10px;
		margin: 0 0 1.2em;
	}
	.calendar_layout table.fair_calender {
		width: 80%;
		margin: 0 auto 0;
		border-collapse: separate;
		border-spacing: 8px;
	}
	.calendar_layout table.fair_calender tr th {
		padding: 0 2%;
		padding: 0.6em 0;
		font-size: 10px;
		text-align: center;
	}
	.calendar_layout table.fair_calender tr td {
		font-size: 12px;
		line-height: 1.0em;
		text-align: center;
		vertical-align: middle;
		height: 40px;
	}
	.calendar_layout table.fair_calender tr td.active a {
		padding: 0.9em 0.8em;
		border-radius: 100%;
		display: block;
	}
	.calendar_layout table.fair_calender tr td span {
		padding: 0.9em 0.8em;
		display: block;
	}
}


/*=============================================
	
	特典レイアウト
	
==============================================*/
.tokuten_wrap {
	padding: 3em 0 3em;
	background: #FFF;
}
.tokuten_wrap .tokuten_box {
	padding: 3em 1.5em;
	border: 1px solid #c19e7b;
	text-align: center;
}
.tokuten_wrap .tokuten_box h3 {
	font-size: 2.8em;
	text-align: center;
	margin: 0 0 0.3em;
	line-height: 1;
}
.tokuten_wrap .tokuten_box .sub {
	font-size: 0.9em;
	text-align: center;
	margin: 0 0 0;
}
.tokuten_wrap .tokuten_box .flex {
	padding: 2em 0 0;
}
.tokuten_wrap .tokuten_box .flex .tokuten_detail {
	margin-bottom: 3em;
}
.tokuten_wrap .tokuten_box .flex .tokuten_detail:last-of-type {
	margin-bottom: 0;
}
.tokuten_wrap .tokuten_box .flex .tokuten_detail h4 {
	font-size: 1.4em;
	text-decoration: underline;
	margin-bottom: 0.8em;
}
.tokuten_wrap .tokuten_box .flex .tokuten_detail h5 {
	font-size: 1.6em;
	margin-bottom: 0.8em;
}
.tokuten_wrap .tokuten_box .flex .tokuten_detail .body {
	font-size: 1em;
	line-height: 2;
	text-align: left;
}
.swiper_tokutenlist .swiper-button-prev, .swiper_tokutenlist .swiper-button-next {
	width: 16px;
	height: 16px;
	border-top: 1px solid #788463;
	border-right: 1px solid #788463;
    top: 60%;
    transform: translateY(-50%) rotate(45deg);
    right: 2%;
    z-index: 10;
}
.swiper_tokutenlist .swiper-button-prev {
    transform: translateY(-50%) rotate(225deg);
    left: 2%;
}
@media print, screen and (max-width: 768px) {

}

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

	.tokuten_wrap {
		padding: 50px 0 50px;
	}
	.tokuten_wrap .container {
		width: 960px !important;
	}
	.tokuten_wrap .tokuten_box {
		padding: 30px 50px;
	}
	.tokuten_wrap .tokuten_box h3 {
		font-size: 60px;
		text-align: center;
		margin: 0 0 15px;
		
	}
	.tokuten_wrap .tokuten_box .sub {
		font-size: 14px;
		text-align: center;
		margin: 0 0 0;
	}
	.tokuten_wrap .tokuten_box .flex {
		padding: 30px 30px 0;
		display: flex;
		justify-content: space-between;
	}
	.tokuten_wrap .tokuten_box .flex .tokuten_detail {
		margin-bottom: 0;
		width: 45%;
	}
	.tokuten_wrap .tokuten_box .flex .tokuten_detail:last-of-type {
	}
	.tokuten_wrap .tokuten_box .flex .tokuten_detail h4 {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.tokuten_wrap .tokuten_box .flex .tokuten_detail h5 {
		font-size: 24px;
		margin-bottom: 30px;
	}
	.tokuten_wrap .tokuten_box .flex .tokuten_detail .body {
		font-size: 14px;
	}

}


/*=============================================
	
	FOOTER LOWER BANNER
	
==============================================*/
.lower_banner_wrap {
	padding: 3em 0 5em;
	background-color: #30373F;
}
.lower_banner_wrap ul {
	
}
.lower_banner_wrap ul li {
	margin-bottom: 1em;
	position: relative;
}
.lower_banner_wrap ul li:after {
    content: "";
    top: 0;
    left: 0;
    border-bottom: 1.5em solid transparent;
    border-left: 1.5em solid #c19e7b; /* ラベルの色はここで変更 */
    position: absolute;
    z-index: 100;
 }

.lower_banner_wrap ul li a {
	position: relative;
	display: block;
}
.lower_banner_wrap ul li a:before {
	content: "";
	position: absolute;
	left: 92%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 12%;
	height: 1px;
	background-color: #FFF;
	z-index: 100;
}
.lower_banner_wrap ul li a:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 85%;
	height: 80%;
	border: 1px solid #FFF;
}

.lower_banner_wrap ul li a .img {
	width: 100%;
	position: relative;
}
.lower_banner_wrap ul li a .img:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
}
.lower_banner_wrap ul li a .en_title {
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%);
	color: #FFF;
	font-size: 2em;
	text-align: center;
	width: 90%;
}
.lower_banner_wrap ul li a .title {
	position: absolute;
	left: 50%;
	top: 60%;
	transform: translate(-50%, -50%);
	color: #FFF;
	font-size: 1em;
	text-align: center;
	width: 90%;
}
@media screen and (max-width:768px) {
	
}
@media screen and (min-width:769px) {
	.lower_banner_wrap {
		padding: 50px 0 100px;
	}
	.lower_banner_wrap ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.lower_banner_wrap ul li {
		margin-bottom: 2vw;
		width: 32%;
	}
	.lower_banner_wrap ul li:after {
	 }
	
	.lower_banner_wrap ul li a {
	}
	.lower_banner_wrap ul li a:before {
	}
	.lower_banner_wrap ul li a:after {
	}
	
	.lower_banner_wrap ul li a .img {
	}
	.lower_banner_wrap ul li a .img:after {
	}
	.lower_banner_wrap ul li a .en_title {
		font-size: 30px;
	}
	.lower_banner_wrap ul li a .title {
		font-size: 14px;
	}
}

/*=============================================
	
	FOOTER INSTAGRAM
	
==============================================*/
.footer_instagram {
	padding: 3em 0;
	background-color: #FFF;
	position: relative;
}

.footer_instagram .en_title {
	font-size: 3.5em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 0.1em;
}
.footer_instagram .title {
	font-size: 1.1em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 2em;
	text-align: left;
}

.footer_instagram .container {
	width: 100%;
	max-width: 100%;
}
.footer_instagram .container .swiper-container {
	width: 100%;
	max-width: 100%;
	margin-bottom: 2em;
}
.footer_instagram .container .swiper-container .swiper-pagination-bullet {
	background-color: #FFF;
}
.footer_instagram .swiper-slide a {
	display: block;
	width:60vw;
	height:60vw;
	position: relative;
	overflow: hidden;
}
.footer_instagram .swiper-slide a img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: auto;
}
.footer_instagram .swiper-slide a img.yoko {
	width: auto;
	max-width:none;
	height: 100%;
}
.footer_instagram .container .btn01 {
	width: 70%;
	margin: 0 auto;
}
.footer_instagram .container .btn01 a {
}
.footer_instagram .container .btn01 a.arrow_right:after {
}
@media screen and (max-width:768px) {
	
}
@media screen and (min-width:769px) {
	.footer_instagram {
		padding: 100px 0 70px;
	}
	.footer_instagram .en_title {
		font-size: 120px;
		margin: 0 auto 10px;
	}
	.footer_instagram .title {
		font-size: 16px;
		margin: 0 auto 50px;
	}
	.footer_instagram .container .swiper-container {
		margin-bottom: 30px;
	}
	.footer_instagram .container .swiper-container .swiper-pagination-bullet {
	}
	.footer_instagram .swiper-slide a {
		width:200px;
		height:200px;
	}
	.footer_instagram .container .btn01 {
		width: 300px;
	}
	.footer_instagram .container .btn01 a {
	}
	.footer_instagram .container .btn01 a.arrow_right:after {
	}

}


/*=============================================
	
	FOOTER コンタクト
	
==============================================*/
.footer_contact {
	padding: 0;
	margin: 0;
	background-color: #FFF;
}
.footer_contact .container {
	width: 100%;
	max-width: 100%;
}
.footer_contact .flex {

}
.footer_contact .flex .contact_wrap {
	padding: 5em 5%;
}
.footer_contact .flex .contact_wrap .logo{
	margin: 0 auto 2em;
	width: 70%;
}
.footer_contact .flex .contact_wrap h3 {
	font-size: 1em;
	margin-bottom: 1em;
	text-align: center;
}
.footer_contact .flex .contact_wrap .address {
	font-size: 1em;
	line-height: 1.8;
	margin-bottom: 2em;
	text-align: center;
}
.footer_contact .flex .contact_wrap p.tel_title {
	font-size: 0.9em;
	margin: 0 auto 1.5em;
	padding: 0.5em 1.5em;
	border: 1px solid #333;
	display: table;
	line-height: 1;
	text-align: center;
}
.footer_contact .flex .contact_wrap p.tel_number {
	font-size: 2.5em;
	margin: 0 0 0.2em;
	line-height: 1;
	text-align: center;
}
.footer_contact .flex .contact_wrap p.tel_number span {
	font-size: 0.6em;
	text-align: center;
}
.footer_contact .flex .contact_wrap p.tel_number a {
	color: #333;
	text-align: center;
}
.footer_contact .flex .contact_wrap p.tel_hour {
	font-size: 1em;
	margin: 0 0 0;
	text-align: center;
}

.footer_contact .flex .map_wrap {

}
.footer_contact .flex .map_wrap .googlemap {

}
.footer_contact .flex .map_wrap .googlemap iframe {
	width: 100%;
	height: 50vh;
}

@media screen and (max-width:768px) {
	
}
@media screen and (min-width:769px) {
	.footer_contact {
		padding: 80px 0 0;
	}
	.footer_contact .container {
	}
	.footer_contact .flex {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
	.footer_contact .flex .contact_wrap {
		padding: 50px 10%;
		width: 30%;
	}
	.footer_contact .flex .contact_wrap .logo{
		margin: 0 0 30px;
		width: 50%;
	}
	.footer_contact .flex .contact_wrap h3 {
		font-size: 14px;
		margin-bottom: 20px;
		text-align: left;
	}
	.footer_contact .flex .contact_wrap .address {
		font-size: 14px;
		margin-bottom: 30px;
		text-align: left;
	}
	.footer_contact .flex .contact_wrap p.tel_title {
		font-size: 11px;
		margin: 0 0 1.5em;
	}
	.footer_contact .flex .contact_wrap p.tel_number {
		font-size: 42px;
		margin: 0 0 10px;
		line-height: 1;
		text-align: left;
	}
	.footer_contact .flex .contact_wrap p.tel_number span {
		text-align: left;
	}
	.footer_contact .flex .contact_wrap p.tel_number a {
		text-align: left;
	}
	.footer_contact .flex .contact_wrap p.tel_hour {
		font-size: 13px;
		margin: 0 0 0;
		text-align: left;
		line-height: 1.6;
	}
	
	.footer_contact .flex .map_wrap {
		width: 50%;
	}
	.footer_contact .flex .map_wrap .googlemap {
		height: 100%;
	}
	.footer_contact .flex .map_wrap .googlemap iframe {
		width: 100%;
		height: 100%;
	}

}


/*=============================================
	
	フッターナビ
	
==============================================*/
.footer_navi {
	padding: 4em 0;
	background-color: #FFF;
}
.footer_navi .btn_list {
	margin-bottom: 2em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.footer_navi .btn_list li {
	width: 48%;
	margin-bottom: 0.8em;
}
.footer_navi .btn_list li.large {
	width: 100%;
}
.footer_navi .btn_list li a {
	display: block;
	background-color: #FFF;
	color: #96cb37;
	border: 1px solid #96cb37;
	text-align: center;
	font-size: 1em;
	padding: 1em 0;
	letter-spacing: 1px;
}

.footer_navi .sub_list {
}
.footer_navi .sub_list li {
	text-align: center;
	margin-bottom: 1.5em;
}
.footer_navi .sub_list li:last-child {
	margin-bottom: 0;
}
.footer_navi .sub_list li a {
	color: #96cb37;
	font-size: 1.1em;
}
@media screen and (max-width:768px) {
	
}
@media screen and (min-width:769px) {
	.footer_navi {
		padding: 90px 0;
	}
	.footer_navi .btn_list {
		margin-bottom: 40px;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.footer_navi .btn_list li {
		width: 23%;
		margin: 0 0.5% 12px;
	}
	.footer_navi .btn_list li.large {
		width: 23%;
	}
	.footer_navi .btn_list li a {
		font-size: 14px;
		padding: 15px 0;
	}
	
	.footer_navi .sub_list {
		display: flex;
		justify-content: center;
	}
	.footer_navi .sub_list li {
		margin: 0 20px 0;
	}
	.footer_navi .sub_list li:last-child {
		margin: 0 20px 0;
	}
	.footer_navi .sub_list li a {
		font-size: 14px;
	}

}

/*=============================================
	
	共通フェアリスト
	
==============================================*/
.common_fair_list {
	padding: 4em 0 3em;
	position: relative;
	background-color: #fafcf4;
}

.common_fair_list .container {
	width: 100%;
	max-width: 100%;
}

.common_fair_list .en_title {
	font-size: 5em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 0.1em;
}
.common_fair_list .title {
	font-size: 1.1em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 2em;
	text-align: left;
}

.common_fair_list .swiper-container {
	width: 100%;
	margin-bottom: 3em;
}

.common_fair_list .container .swiper_pickupfair_common .swiper-slide dl {
	position: relative;
}
.common_fair_list .container .swiper_pickupfair_common .swiper-slide dl dt {
	margin-bottom: 1em;
}
.common_fair_list .container .swiper_pickupfair_common .swiper-slide dl dd .pf_date {
	position: absolute;
	left: 0;
	top: 0;
	background-color: #30373F;
	color: #FFF;
	font-size: 0.8em;
	display: inline-table;
	padding: 0.3em 1.2em;
}
.common_fair_list .container .swiper_pickupfair_common .swiper-slide dl dd > h5 {
}

.common_fair_list .accordion-content-common {
	width:100vw;
}

.common_fair_list .btn_wrap {
	margin-bottom: 5em;
}
.common_fair_list .btn_wrap .btn01 {
}

.common_fair_list .btn_open {
}
.common_fair_list .btn_open.arrow_below {
	
}
.common_fair_list .btn_open.arrow_below::after {
}
.common_fair_list .btn_open.arrow_below.active::after {
}
.common_fair_list .fair_common_calender {
	padding: 3em 0;
	background-color: #FFF;
	width: 90%;
	margin: 0 auto;
}
.common_fair_list .fair_common_calender .calenter_title {
	text-align: center;
	font-size: 1.1em;
	text-decoration: underline;
	margin-bottom: 0.3em;
}
.common_fair_list .fair_common_calender .calenter_lead {
	text-align: center;
	font-size: 0.9em;
}

/** アコーディオン ボタン **/
.accordion-header-common {
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
}
.accordion-header-common.active::after{transform:rotate(0deg) translateY(-50%);}

@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	.common_fair_list {
		padding: 100px 0 0;
	}
	.common_fair_list .en_title {
		font-size: 120px;
		margin: 0 auto 10px;
	}
	.common_fair_list .title {
		font-size: 16px;
		margin: 0 auto 50px;
	}
	
	.common_fair_list .swiper-container {
		width: 100%;
		margin-bottom: 40px;
	}

	.common_fair_list .container .swiper_pickupfair_common .swiper-slide dl dt {
	}
	.common_fair_list .container .swiper_pickupfair_common .swiper-slide dl dd .pf_date {
	}
	.common_fair_list .container .swiper_pickupfair_common .swiper-slide dl dd > h5 {
	}
	
	.common_fair_list .accordion-content-common {
		height:0;
		overflow: hidden;
		transition-duration: .5s;
	}
	.common_fair_list .accordion-content-common.active {
		height:auto;
		padding: 50px 0;
	
	}

	.common_fair_list .btn_wrap {
		margin-bottom: 120px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.common_fair_list .btn_wrap .btn01 {
		margin: 0 20px 0;
		width: 360px;
	}
	
	.common_fair_list .btn_open {
		width: 360px;
		margin: 0 20px 0;
		padding: 22px 0;
		text-align: center;
		font-size: 16px;
		background-color: #96cb37;
		color: #FFF;
	}
	.common_fair_list .btn_open::after {
		border-color: #FFF;
		right: 5%;
		width: 6px;
		height: 6px;
	}
	.common_fair_list .btn_open.arrow_below {
		
	}
	.common_fair_list .btn_open.arrow_below::after {
	}
	.common_fair_list .btn_open.arrow_below.active::after {
		transform: rotate(-45deg);
	}
	.common_fair_list .fair_common_calender {
		padding:0;
	}
	
	/** アコーディオン ボタン **/
	.accordion-header-common {
	}
	.accordion-header-common.active::after{
		
	}

}

/*=============================================
	
	FIX NAVI
	
==============================================*/
.fixnav {
	width: 94%;
	height: 7vh;
	background: #96cb37;
	position: fixed;
	left: 50%;
	bottom: 1vh;
	transform: translateX(-50%);
	border-radius: 5px;
    z-index: 80;
}
.fixnav .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}
.fixnav .flex .fair {
	width: 58%;
	line-height: 0;
	padding: 0 3%;
	font-size: 1em;
	text-align: center;
	position: relative;
}
.fixnav .flex .fair::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 1px;
	height: 100%;
}
.fixnav .flex .fair a {
	background: url(/img/common/icon_calendar.svg) no-repeat left center;
    background-size: 10% auto;
    padding-left: 13%;
	line-height: 0;
	color: #FFF;
}
.fixnav .flex .fair a.arrow_right {
	padding-right: 12%;
}
.fixnav .flex .fair a.arrow_right::after {
	border-color: #c19e7b;
}
.fixnav .flex .tel {
	width: 18%;
	line-height: 1;
	padding: 0 3%;
	font-size: 1.2em;
	text-align: left;
	position: relative;
}
.fixnav .flex .tel a {
	background: url(/img/common/icon_call.svg) no-repeat left center;
    background-size: 35% auto;
    padding-left: 22%;
	line-height: 1;
	color: #FFF;
}
.fixnav .flex .Toggle {
	width: 16%;
	position: relative !important;
	top: 0;
}
.fixnav .flex .Toggle span {
	width: 60%;
	border-color: #FFF;
}
.fixnav .flex .Toggle span:nth-child(1) {
	top: 35%;
}
.fixnav .flex .Toggle span:nth-child(2) {
	top: 50%;
}
.fixnav .flex .Toggle span:nth-child(3) {
	top: 65%;
}
.fixnav .flex .Toggle.active span:nth-child(1), .fixnav .flex .Toggle.active span:nth-child(2), .fixnav .flex .Toggle.active span:nth-child(3) {
	transform: rotate(0) translate(-50%, -50%);
	top: 35%;
}
.fixnav .flex .Toggle.active span:nth-child(2) {
	top: 50%;
}
.fixnav .flex .Toggle.active span:nth-child(3) {
	top: 65%;
}
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	.fixnav {
		display: none !important;
	}
}

/*=============================================
	
	PAGE TOP
	
==============================================*/
.pagetop {
    height: 30px;
    width: 30px;
    position: fixed;
    right: 3%;
    bottom: 10vh;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 8px;
    width: 8px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(20%) rotate(-45deg);
}
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	.pagetop {
	    height: 60px;
	    width: 60px;
	    right: 2%;
	    bottom: 2vw;
	}
	
	.pagetop__arrow {
	    height: 14px;
	    width: 14px;
	}

}



/*=============================================
	
	Copyright
	
==============================================*/
.copyright {
	padding: 2em 0 7em;
	background-color: #FFF;
}
.copyright .body{
	color: #999;
	font-size: 1em;
	text-align: center;
}

@media screen and (max-width:768px) {
	
}
@media screen and (min-width:769px) {
	.copyright {
		padding: 50px 0;
	}
	.copyright .body{
		font-size: 12px;
	}
}


/*=============================================
	
	下部 下層コンテンツ誘導
	
==============================================*/
.lower_contents_banner {
	padding: 5em 0;
	background-color: #f4f3ed;
}
.lower_contents_banner h3 {
	text-align: center;
	font-size: 2.4em;
	margin-bottom: 0.7em;
}
.lower_contents_banner .sub {
	text-align: center;
	font-size: 1em;
	margin-bottom: 2em;
}
.lower_contents_banner ul {

}
.lower_contents_banner ul li {
	margin-bottom: 1em;
	position: relative;
}
.lower_contents_banner ul li .img {
	position: relative;
}
.lower_contents_banner ul li .img::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.3);
}
.lower_contents_banner ul li h4 {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #FFF;
	font-size: 1.4em;
	width: 100%;
	text-align: center;
}

@media print, screen and (max-width: 768px) {


}

@media print, screen and (min-width: 769px) {
	.lower_contents_banner {
		padding: 70px 0;
	}
	.lower_contents_banner h3 {
		font-size: 32px;
		margin-bottom: 10px;
	}
	.lower_contents_banner .sub {
		font-size: 14px;
		margin-bottom: 30px;
	}
	.lower_contents_banner ul {
		display: flex;
		justify-content: space-between;
	}
	.lower_contents_banner ul li {
		margin-bottom: 0;
		width: 24%;
	}
	.lower_contents_banner ul li .img {
	}
	.lower_contents_banner ul li .img::after {
	}
	.lower_contents_banner ul li h4 {
		font-size: 16px;
	}

}


/*=============================================
	
	共通レポートリスト
	
==============================================*/

.common_report_list {
	padding: 5em 0 4em;
	position: relative;
	background-color: #FFF;
}
.common_report_list .container {
	width: 100%;
	max-width: 100%;
}
.common_report_list .en_title {
	font-size: 5em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 0.1em;
}
.common_report_list .title {
	font-size: 1.1em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 2em;
	text-align: left;
}

.common_report_list .swiper-container {
	width: 100%;
	margin-bottom: 3em;
}

.common_report_list .accordion-content-common {
	width:100vw;
}

.common_report_list .report_box {
	
}
.common_report_list .report_box dt {
	margin-bottom: 1em;
}
.common_report_list .report_box dd {
}
.common_report_list .report_box dd h5 {
	color: #FFF;
}

.common_report_list .btn_wrap {
}
.common_report_list .btn_wrap .btn01 {
}

.common_report_list .btn_open {
}

@media print, screen and (min-width: 769px) {
	.common_report_list {
		padding: 100px 0 90px;
	}
	.common_report_list .container {
	}
	.common_report_list .en_title {
		font-size: 120px;
		margin: 0 auto 10px;
	}
	.common_report_list .title {
		font-size: 16px;
		margin: 0 auto 50px;
	}
	
	.common_report_list .swiper-container {
		width: 100%;
		margin-bottom: 40px;
	}
	
	.common_report_list .accordion-content-common {
		height:0;
		overflow: hidden;
		transition-duration: .5s;
	}
	.common_report_list .accordion-content-common.active {
		height:auto;
		padding: 50px 0;
	
	}

	.common_report_list .btn_wrap {
		display: flex;
		justify-content: center;
	}
	.common_report_list .btn_wrap .btn01 {
		margin: 0 20px 0;
		width: 360px;
	}
	
}


/*=============================================
	
	共通プランリスト
	
==============================================*/
.common_plan_list {
	padding: 5em 0 4em;
	position: relative;
	background-color: #FFF;
}

.common_plan_list .container {
	width: 100%;
	max-width: 100%;
}
.common_plan_list .en_title {
	font-size: 5em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 0.1em;
}
.common_plan_list .title {
	font-size: 1.1em;
	line-height: 1;
	width: 90%;
	margin: 0 auto 2em;
	text-align: left;
}

.common_plan_list .swiper-container {
	width: 100%;
	margin-bottom: 3em;
}

.common_plan_list .accordion-content-common {
	width:100vw;
}

.common_plan_list .plan_box {
	
}
.common_plan_list .plan_box dt {
	margin-bottom: 1em;
}
.common_plan_list .plan_box dd {
}
.common_plan_list .plan_box dd .cat {
	font-size: 0.8em;
	line-height: 1;
	color: #777777;
}
.common_plan_list .plan_box dd .plan_name {
	font-size: 1em;
}

.common_plan_list .btn_wrap {
}
.common_plan_list .btn_wrap .btn01 {
}

.common_plan_list .btn_open {
}

@media print, screen and (min-width: 769px) {
	.common_plan_list {
		padding: 100px 0 70px;
	}
	.common_plan_list .container {
	}
	.common_plan_list .en_title {
		font-size: 120px;
		margin: 0 auto 10px;
	}
	.common_plan_list .title {
		font-size: 16px;
		margin: 0 auto 50px;
	}
	
	.common_plan_list .swiper-container {
		width: 100%;
		margin-bottom: 40px;
	}
	
	.common_plan_list .accordion-content-common {
		height:0;
		overflow: hidden;
		transition-duration: .5s;
	}
	.common_plan_list .accordion-content-common.active {
		height:auto;
		padding: 50px 0;
	
	}


}



/****************************************** 

	GALLEY

******************************************/	
#common_gallery {
	padding: 2em 0;	
}
#common_gallery .container {
	width: 100%;
	max-width: 100%;
}
#common_gallery .scroll-infinity {
	margin-bottom: 1em;
}
#common_gallery .scroll-infinity__item {
	margin: 0 0.3%;
}
#common_gallery .title_wrap {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background: rgba(255,255,255,0.8);
	width: 90%;
	padding: 3em 0 1.5em;
	border-radius: 10px;
}
#common_gallery .title_wrap .en_title {
	font-size: 2em;
	text-align: center;
	margin-bottom: 0.5em;
}
#common_gallery .title_wrap .title {
	font-size: 1em;
	text-align: center;
	margin-bottom: 2em;
}
#common_gallery .title_wrap .btn01 {
	width: 75%;
	padding: 0;
}
#common_gallery .title_wrap .btn01 a {
}
/** ループスライド **/
@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
}
@keyframes infinity-scroll-right {
	from {
	  transform: translateX(-100%);
	}
	  to {
	  transform: translateX(0%);
	}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 2);
  border-radius: 10px;
}
.scroll-infinity__item img {
  width: 100%;
  border-radius: 10px;
}
@media screen and (min-width: 769px){
	#common_gallery {
		padding: 50px 0 50px;	
	}
	#common_gallery .container {
	}
	#common_gallery .scroll-infinity {
		margin-bottom: 10px;
	}
	#common_gallery .scroll-infinity__item {
		margin: 0 5px;
	}
	#common_gallery .title_wrap {
		width: 50%;
		padding: 5em 0 3em;
	}
	#common_gallery .title_wrap .en_title {
		font-size: 80px;
	}
	#common_gallery .title_wrap .title {
		font-size: 16px;
	}
	#common_gallery .title_wrap .btn01 {
		width: 45%;
	}
	#common_gallery .title_wrap .btn01 a {
	}
	/** ループスライド **/
	.scroll-infinity__list--left {
	  animation: infinity-scroll-left 80s infinite linear 0.5s both;
	}
	.scroll-infinity__list--right{
	  animation :infinity-scroll-right 90s infinite linear 0.5s both;
	}
	.scroll-infinity__item {
	  width: calc(100vw / 6);
	}

}


/****************************************** 

	BESTRATE

******************************************/	
#common_bestrate {
	padding: 2em 5%;
	background-color: #EFE8D8;
}
#common_bestrate .container {
}
#common_bestrate .box {
	background-color: #FFF;
}
#common_bestrate .box .img{
}
#common_bestrate .box .text_wrap {
	padding: 2em 0;
}
#common_bestrate .box .text_wrap .title {
	width: 70%;
	margin: 0 auto 1em;;
}
#common_bestrate .box .text_wrap .lead {
	text-align: center;
	font-size: 12px;
	margin-bottom: 1em;
}

@media screen and (min-width: 769px){
	#common_bestrate {
		padding: 50px 0;
	}
	#common_bestrate .container {
		max-width: 960px;
	}
	#common_bestrate .box {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: row-reverse;
	}
	#common_bestrate .box .img{
		width: 50%;
	}
	#common_bestrate .box .text_wrap {
		width: 50%;
		padding: 0 0;
	}
	#common_bestrate .box .text_wrap .title {
		width: 55%;
		margin: 0 auto 15px;
	}
	#common_bestrate .box .text_wrap .lead {
		margin-bottom: 0;
	}


}


/*=============================================
	
	特典リスト
	
==============================================*/
.tokuten_list {
	background-color: #fafcf4;
	padding: 2em 0;
}
.tokuten_list .tokuten_title {
	width: 60%;
	margin: 0 auto 1em;
}
.tokuten_list .swiper-container {
	padding-bottom: 10px;
}
.tokuten_list .tokuten_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	background-color: #FFF;
}
.tokuten_list .tokuten_box dt {
	width: 30%;
}
.tokuten_list .tokuten_box dd {
	width: 65%;
}
.tokuten_list .tokuten_box dd .cate {
	display: inline-table;
	text-align: center;
	padding: 0.3em 1em;
	font-size: 0.8em;
	color: #788463;
	border: 1px solid #788463;
	line-height: 1;
	margin-bottom: 0.6em;
}
.tokuten_list .tokuten_box dd .title {
	line-height: 1.4;
	font-weight: 600;
	margin-bottom: 0.5em;
}
.tokuten_list .tokuten_box dd .attention {
	line-height: 1.2;
	font-size: 0.8em;
	color: #999;
}
@media print, screen and (max-width: 768px) {

}

@media print, screen and (min-width: 769px) {
	
	.tokuten_list {
		padding: 30px 0;
	}
	.tokuten_list .tokuten_title {
		width: 220px;
		margin: 0 auto 20px;
	}
	.tokuten_list .container {
		width: 100%;
		max-width: 100%;
		min-width: 100%;
	}
	.tokuten_list .swiper-container {
		width: 100%;
		padding-bottom: 30px;
	}
	.tokuten_list .tokuten_box {
	}
	.tokuten_list .tokuten_box dt {
		width: 20%;
	}
	.tokuten_list .tokuten_box dd {
		width: 75%;
	}
	.tokuten_list .tokuten_box dd .cate {
		font-size: 0.9em;
	}
	.tokuten_list .tokuten_box dd .title {
		margin-bottom: 10px;
		font-size: 20px;
	}
	.tokuten_list .tokuten_box dd .attention {
		font-size: 0.9em;
	}
}


/*=============================================

	トピックス一覧

==============================================*/
.topics_list_wrap {
	margin: 0;
	padding: 0;
}
.topics_list_wrap > .box {
	position: relative;
	padding: 2em 7%;
	border-top: 1px solid #F2EEEE;
}
.topics_list_wrap > .box:last-of-type {
	border-bottom: 1px solid #F2EEEE;
}
.topics_list_wrap > .box dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.topics_list_wrap > .box dl dt {
	width: 30%;
}
.topics_list_wrap > .box dl dd {
	width: 65%;
}
.topics_list_wrap > .box dl dd .body {
	line-height: 1.8;
	font-size: 1em;
}
.topics_list_wrap > .box dl dd .body span {
	color: #999;
	font-size: 0.8;
}
.topics_list_wrap > .box dl dd .body a {
	text-decoration: underline;
}
.topics_list_wrap > .box dl dd .body a:hover {
	text-decoration: none;
}
@media print, screen and (min-width: 769px) {
	.topics_list_wrap {
		margin: 0;
		padding: 0;
		border-bottom: 1px solid #F2EEEE;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
	}
	.topics_list_wrap > .box {
		position: relative;
		width: 40%;
		padding: 40px 5%;
	}
	.topics_list_wrap > .box:last-of-type {
		border-bottom: none;
	}
	.topics_list_wrap > .box:last-of-type::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 1px;
		height: 100%;
		background-color: #F2EEEE;
	}

	.topics_list_wrap > .box dl {
	}
	.topics_list_wrap > .box dl dt {
		width: 18%;
	}
	.topics_list_wrap > .box dl dd {
		width: 76%;
	}
	.topics_list_wrap > .box dl dd .body {
		font-size: 15px;
	}
	.topics_list_wrap > .box dl dd .body span {
		font-size: 12px;
	}
	.topics_list_wrap > .box dl dd .body a {
	}
	.topics_list_wrap > .box dl dd .body a:hover {
	}
}
@media print, screen and (min-width: 1281px) {


}


/*=============================================
	
	下部バナーリスト
	
==============================================*/
.common_bottom_banner_navi {
	padding: 3em 0 2em;
	background-color: #fafcf4;
}
.common_bottom_banner_navi .wedding_title {
	font-size: 2.5em;
	text-align: center;
	margin-bottom: 0.2em;
}
.common_bottom_banner_navi .wedding_jptitle {
	font-size: 1em;
	text-align: center;
	margin-bottom: 1.2em;
}

.common_bottom_banner_navi ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.common_bottom_banner_navi ul li {
	width: 48%;
	margin: 0 1% 1em;
	position: relative;
}
.common_bottom_banner_navi ul li a {
	position: relative;
	display: block;
	width:43.2vw;
	height:28.8vw;
}
.common_bottom_banner_navi ul li a::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	z-index: 100;
}
.common_bottom_banner_navi ul li .img {
	width: 100%;
	position: relative;
}
.common_bottom_banner_navi ul li .img::after {
	content: "";
	width: 90%;
	height: 80%;
	border: 1px solid #FFF;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.common_bottom_banner_navi ul li .en_title {
	position: absolute;
	left: 50%;
	top: 45%;
	transform: translate(-50%, -50%);
	font-size: 1.2em;
	text-align: center;
	color: #FFF;
	z-index: 10;
	width:43.2vw;
}
.common_bottom_banner_navi ul li .title {
	position: absolute;
	left: 50%;
	top: 65%;
	transform: translate(-50%, -50%);
	font-size: 0.8em;
	text-align: center;
	color: #FFF;
	z-index: 10;
	width:43.2vw;
}
@media print, screen and (max-width: 768px) {

}
@media print, screen and (min-width: 769px) {
	.common_bottom_banner_navi {
		padding: 70px 0 70px;
	}
	.common_bottom_banner_navi .container {
		width: 90%;
		min-width: 960px;
		max-width: 1280px;
	}
	.common_bottom_banner_navi .wedding_title {
		font-size: 60px;
		margin-bottom: 30px;
	}
	.common_bottom_banner_navi .wedding_jptitle {
		font-size: 14px;
		margin-bottom: 30px;
	}
	.common_bottom_banner_navi ul {
	}
	.common_bottom_banner_navi ul li {
		width: 23%;
		margin: 0 1% 0;
	}
	.common_bottom_banner_navi ul li a {
		width:20.7vw;
		max-width:264px;
		height:13.8vw;
		max-height:176px;
	}
	.common_bottom_banner_navi ul li a::after {
	}
	.common_bottom_banner_navi ul li .img {
	}
	.common_bottom_banner_navi ul li .img::after {
	}
	.common_bottom_banner_navi ul li .en_title {
		top: 46%;
		font-size: 30px;
		width:20.7vw;
		max-width:264px;
	}
	.common_bottom_banner_navi ul li .title {
		top: 60%;
		font-size: 13px;
		width:20.7vw;
		max-width:264px;
	}

}
