@charset "utf-8";

/*============== top/slide ==============*/
#top_slide {
	height: 410px;
	width: 100%;
}
#top_slide .tx {
	text-align: right;
}
@media print, screen and (max-width: 840px) {
	
	#top_slide { height: 280px;
	}
	#top_slide .tx { height: 270px;
	}
	#top_slide img { height: 100%; max-width: none;
	}
}
/*============== top/pickup ==============*/
#top_pickup {
	background: url(images/pickup_bg01.jpg) no-repeat center top, url(images/pickup_bg02.jpg) no-repeat center bottom;
	padding: 50px 0 80px;
}
#top_pickup .wrapper {
	max-width: 900px;
}
#top_pickup .group2 {
	margin-top: 5px;
}
#top_pickup .group2 p {
	font-size: 17px;
	line-height: 2;
}
#top_pickup ul.img {
	font-size: 0;
}
#top_pickup ul.img li {
	display: inline-block;
	vertical-align: top;
	width: 49.5%;
}
#top_pickup ul.img li + li {
	margin-left: 1%;
}
#top_pickup ul.img li, #top_pickup div.img {
	position: relative;
	overflow: hidden;
}
#top_pickup .img img {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	height: 100%;
	max-width: none;
}
#top_pickup .tx_btn {
	margin-top: 20px;
}
#top_pickup .tx_btn a {
	display: block;
	min-width: auto;
}
/*--- 夏 ---*/
#summer .Rbox {
	width: 52%;
}
#summer .Lbox {
	width: 48%;
	position: relative;
}
#summer .tag {
	position: absolute;
	top: -5px; left: -10px;
	max-width: 360px;
	width: 100%;
	z-index: 2;
}
#summer .tit {
	margin: 60px 0 0 25px;
}
#summer .tit span {
	font-size: 20px;
}
#summer .tit h2 {
	font-size: 40px;
	font-weight: bold;
	color: #0d568e;
	line-height: 1.3;
	margin: 8px 0 0 15px;
}
#summer .group1 .img {
	height: 190px;
}
#summer .group2 ul.img li {
	height: 190px;
}
#summer .group2 .Rbox {
	float: left;
	padding: 30px 15px 0 30px;
}
/*--- 冬 ---*/
#winter .group1 {
	height: 140px;
	width: 100%;
}
#winter .group2 .Lbox {
	width: 45%;
}
#winter .group2 ul.img li {
	height: 240px;
}
#winter .group2 .Rbox {
	width: 55%;
	padding: 35px 15px 0 30px;
	position: relative;
}
#winter .tag {
	position: absolute;
	top: -50px; right: -10px;
}
#winter .tit {
	margin-bottom: 20px;
}
@media print, screen and (max-width: 1200px) and (min-width: 841px) {
	
	#winter .group2 .Lbox { width: 35%;
	}
	#winter .group2 .Rbox { width: 65%;
	}
}
@media print, screen and (max-width: 1200px) {
	
	#top_pickup .group2 p { font-size: 16px;
	}
	
	#summer .tit { margin: 60px 10px 0;
	}
	#summer .tit h2 { font-size: 30px;
	}
	#summer .group2 .Rbox { padding: 30px 10px 0 25px;
	}
	
	#winter .group2 .Rbox { padding-left: 20px;
	}
	#winter .tag { width: 75px;
	}
}
@media print, screen and (max-width: 580px) {
	
	#top_pickup { padding: 40px 0 60px;
	}
	#top_pickup .group2 .tx_btn { margin-top: 15px;
	}
	
	#summer .group1 .img { width: 45%; height: 160px;
	}
	#summer .tit { margin-top: 55px;
	}
	#summer .tit h2 { font-size: 26px; margin: 3px 0 0 5px;
	}
	#summer .group2 ul.img { display: none;
	}
	#summer .group2 .Rbox { width: 100%; padding: 15px 20px 0;
	}
	
	#winter .group1 { height: 85px;
	}
	#winter .group2 .Lbox, #winter .group2 .Rbox { width: 100%; float: none;
	}
	#winter .group2 .Rbox { padding: 25px 10px 15px;
	}
	#winter .group2 ul.img li { height: 130px;
	}
	#winter .group2 ul.img img { width: 100%; height: auto;
	}
	#winter .tag { top: -65px;
	}
}
@media print, screen and (max-width: 440px) {
	
	#summer .Lbox, #summer .group1 .img { width: 100%;
	}
	#summer .tag { left: 0;
	}
	#summer .tit { margin: 45px 16px 20px;
	}
}
/*============== top/facility ==============*/
#top_facility .mainimg {
	width: 100%;
	height: 200px;
	background: url(images/facility_mainimg.jpg) no-repeat center center;
	background-size: cover;
}
#top_facility .mainimg.normal_season {
	max-width: 1080px;
	width: 96%;
	height: 250px;
	margin: 45px auto 0;
}
#top_facility .wrapper {
	position: relative;
}
#top_facility .tit_wrap {
	position: absolute;
	top: -30px; left: 0;
	width: 180px;
	height: 380px;
	padding-top: 18px;
	background: rgba(255,255,255,0.9);
	box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	z-index: 2;
}
#top_facility .fac_tag {
	font-size: 20px;
	font-weight: bold;
	color: #b83d00;
	line-height:1;
	text-align: center;
	background: url(images/facility_tag.png) no-repeat center top;
	padding-top: 50px;
	margin-bottom: 30px;
}
#top_facility .fac_tag br {
	display: none;
}
#top_facility .tit {
	font-size: 30px;
	font-weight: bold;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding: 0 35px;
}
#top_facility .bg {
	background: url(images/facility_bg.jpg) no-repeat right top;
	padding: 20px 15px 70px 220px;
}
#top_facility .text {
	font-size: 17px;
	line-height: 2;
}
#top_facility .tx_btn {
	margin-top: 20px;
}
#top_facility .tx_btn a {
	display: block;
	min-width: auto;
}
@media print, screen and (max-width: 1200px) {
	
	#top_facility .text { font-size: 16px;
	}
	#top_facility .text br { display: none;
	}
}
@media print, screen and (max-width: 840px) {
	
	#top_facility .bg { padding: 20px 10px 60px 155px;
	}
	#top_facility .tit_wrap { width: 130px;
	}
	#top_facility .fac_tag { font-size: 14px;
	}
	#top_facility .tit { font-size: 28px; line-height: 1.5; padding: 0 17px;
	}
}
@media print, screen and (max-width: 580px) {
	
	#top_facility .mainimg, #top_facility .mainimg.normal_season { height: 120px;
	}
	#top_facility .tit_wrap { top: -15px; padding-top: 13px; width: 85px; height: 340px;
	}
	#top_facility .tit br, #top_facility .tit span { display: none;
	}
	#top_facility .tit { font-size: 19px; padding: 0 28px;
	}
	#top_facility .fac_tag { line-height: 1.3; background-size: 30px; padding-top: 25px; margin-bottom: 15px;
	}
	#top_facility .fac_tag br { display: block;
	}
	#top_facility .bg { background: none; padding: 15px 0px 50px 105px; min-height: 240px;
	}
}
/*============== top/meal ==============*/
.toppage .bg_gray {
	background-image: url(images/bg_water01.png), url(images/bg_water02.png);
	background-repeat: no-repeat, no-repeat;
	background-position: center top 220px, center bottom 30px;
}
#top_meal .mainimg {
	width: 100%;
	height: 200px;
	background: url(images/meal_mainimg.jpg) no-repeat center center;
	background-size: cover;
	margin-bottom: 20px;
}
#top_meal .mainimg .tx {
	padding: 14px 0 0 2px;
}
#top_meal .box {
	float: left;
	width: 49%;
}
#top_meal .box + .box {
	margin-left: 2%;
}
#top_meal .box a {
	display: block;
	background: url(images/meal_menubg.png) no-repeat top -7px right 12px #fff;
	border: 3px solid transparent;
	padding: 2px;
}
#top_meal .box a:hover {
	border-color: #c3c3c3;
}
#top_meal .img, #top_meal .Rbox {
	float: left;
}
#top_meal .img {
	background: no-repeat center center;
	background-size: cover;
	width: 45%;
	height: 255px;
	margin-right: 20px;
}
#top_meal .course .img {
	background-image: url(images/meal_course.jpg);
}
#top_meal .lunch .img {
	background-image: url(images/meal_lunch.jpg);
}
#top_meal .Rbox {
	width: calc(55% - 20px);
}
#top_meal .tit {
	font-size: 26px;
	font-weight: bold;
	line-height: 1;
	margin: 25px 0 20px;
}
#top_meal .tit span {
	display: block;
	font-size: 15px;
	margin-left: 3px;
}
#top_meal dl {
	margin-left: 10px;
}
#top_meal dl + dl {
	margin-top: 5px;
}
#top_meal dd {
	font-size: 21px;
	margin-left: 10px;
}
@media print, screen and (max-width: 1200px) {
	
	#top_meal .img { width: 40%; margin-right: 15px;
	}
	#top_meal .Rbox { width: calc(60% - 15px);
	}
	#top_meal .tit { font-size: 21px;
	}
	#top_meal dl { margin-left: 0;
	}
	#top_meal dt { font-size: 14px;
	}
}
@media print, screen and (max-width: 640px) {
	
	#top_meal .box { float: none; width: 100%;
	}
	#top_meal .box + .box { margin: 10px 0 0;
	}
	#top_meal .img { width: 200px; height: 240px;
	}
	#top_meal .Rbox { width: calc(100% - 235px);
	}
}
@media print, screen and (max-width: 580px) {
	
	#top_meal .mainimg { height: 140px;
	}
	#top_meal .mainimg .tx { width: 300px;
	}
	#top_meal .img { width: 150px; height: 220px;
	}
	#top_meal .Rbox { width: calc(100% - 165px);
	}
	#top_meal .tit { margin: 20px 0 10px;
	}
}
@media print, screen and (max-width: 440px) {
	
	#top_meal .img { width: 100px;
	}
	#top_meal .Rbox { width: calc(100% - 115px);
	}
}
/*============== top/service ==============*/
#top_service {
	max-width: 730px;
	width: 95%;
	margin: 60px auto 0;
	padding-bottom: 75px;
}
#top_service .bnr {
	position: relative;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /*IE10*/
	-webkit-flex-wrap: wrap; /* Safari6.1以降 */
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
}
#top_service .tit {
	background: url(images/sevice_icon.png) no-repeat top 20px center #57544e;
	width: 180px;
	text-align: center;
	color: #fff;
	font-size: 18px;
	padding-top: 50px;
}
#top_service .Rbox {
	display: block;
	background: #fff;
	border: 2px solid #c4c2bf;
	border-left: none;
	width: calc(100% - 180px);
	padding: 5px 175px 5px 0;
	position: relative;
}
#top_service .Rbox:after {
	content: "";
	background: url(images/service_img.jpg) no-repeat center center;
	background-size: cover;
	height: calc(100% - 8px);
	width: 157px;
	position: absolute;
	top: 0; bottom: 0; right: 3px;
	margin: auto;
}
#top_service .text {
	font-size: 21px;
	line-height: 1.3;
	font-weight: bold;
	margin: 10px 0 18px 20px;
}
#top_service .big {
	font-size: 26px;
	color: #e54600;
	display: inline-block;
	margin: 0 2px;
}
#top_service .link {
	text-align: right;
}
#top_service .link span {
	display: inline-block;
	font-weight: bold;
	line-height: 1;
	border: 1px solid #999;
	padding: 6px 25px 4px 13px;
	position: relative;
}
#top_service .link span:after {
	content: "";
	position: absolute;
	top: 0; bottom: 0; right: 12px;
	margin: auto;
	display: inline-block;
	width: 6px;
	height: 6px;
	border: 1px solid #616161;
	border-left: none; border-bottom: none;
	transform: rotate(45deg);
}
#top_service a:hover {
	text-decoration: none;
}
#top_service a:hover .link span {
	background: #d03c04;
	border-color: transparent;
	color: #fff;
	transition: all 0.1s ease;
	-webkit-transition: all 0.1s ease;
}
#top_service a:hover .link span:after {
	border-color: #fff;
	transition: all 0.1s ease;
	-webkit-transition: all 0.1s ease;
}
@media print, screen and (max-width: 1200px) {
	
	#top_service .tit { font-size: 16px; width: 160px; padding-top: 55px;
	}
	#top_service .Rbox { padding-right: 145px;
	}
	#top_service .Rbox:after { width: 130px;
	}
}
@media print, screen and (max-width: 840px) {
	
	#top_service .tit, #top_service .Rbox { width: 100%;
	}
	#top_service .tit { background-position: left 15px center; padding: 8px 10px 6px 55px; text-align: left;
	}
	#top_service .Rbox { border-left: 2px solid #c4c2bf; border-top: none; padding: 5px 10px 5px 145px;
	}
	#top_service .Rbox:after { left: 3px; right: auto;
	}
	#top_service .text { font-size: 19px; margin: 10px 10px 18px;
	}
	#top_service .big { font-size: 21px;
	}
}
@media print, screen and (max-width: 440px) {
	
	#top_service .Rbox { padding: 5px 10px 10px;
	}
	#top_service .Rbox:after { display: none;
	}
}
/*============== top/info ==============*/
#top_info {
	position: relative;
	padding-top: 50px;
	margin-bottom: 180px;
}
#top_info .tit {
	position: absolute;
	top: -12px;
}
#top_info .tx_btn {
	position: absolute;
	top: 10px; right: 0;
	margin: 0;
}
#top_info .tx_btn a {
	min-width: auto;
	font-size: 14px;
	padding: 6px 15px 5px;
}
#top_info .tx_btn span {
	padding-right: 15px;
}
#top_info .tx_btn span:after {
	width: 6px;
	height: 6px;
}
#top_info .article_list {
	margin-left: 100px;
	min-height: 160px;
}
#top_info .article_list li:last-child {
	border-bottom: none;
}
#top_info .article_list li:first-child {
	border-bottom: 1px solid #bfbfbf;
}
@media print, screen and (max-width: 1200px) {
	
	#top_info { margin-bottom: 0;
	}
	#top_info .article_list { margin-left: 80px;
	}
}
@media print, screen and (max-width: 840px) {
	
	#top_info { padding: 20px 0 50px;
	}
	#top_info .tx_btn { top: auto; bottom: 0; left: 0;
	}
	#top_info .tx_btn a { width: 100%;
	}
	#top_info .article_list li:last-child { border-bottom: 1px solid #bfbfbf;
	}
}
@media print, screen and (max-width: 440px) {
	
	#top_info .tit { width: 40px;
	}
	#top_info .article_list { margin-left: 48px;
	}
}
/*============== top/info important ==============*/
#info_important {
	border-top: 5px solid #930300;
	border-bottom: 5px solid #930300;
	display: table;
	width: 100%;
	margin-top: 1px;
	position: relative;
}
#info_important .row {
	display: table-row;
}
#info_important h2, #info_important ul {
	display: table-cell;
	vertical-align: middle;
}
#info_important h2 {
	background: #930300;
	text-align: center;
	color: #fff;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.6;
	padding: 3px 0 0;
	width: 200px;
}
#info_important h2 a {
	display: inline-block;
	border: 1px solid #fff;
	color: #fff;
	font-size: 13px;
	padding: 0 20px 0 10px;
	position: relative;
}
#info_important h2 a:after {
	position: absolute;
	top: 0; bottom: 0; right: 8px;
	margin: auto;
	content: "";
	width: 4px; height: 4px;
	border-top: 1px solid #fff; border-right: 1px solid #fff;
	transform: rotate(45deg);
}
#info_important ul {
	padding: 10px 10px 10px 25px;
}
#info_important li {
	border-bottom: none;
	padding: 0;
}
#info_important li + li {
	margin-top: 0;
}
#info_important .text {
	font-size: 17px;
}
@media print, screen and (max-width: 840px) {
	
	#info_important h2 { font-size: 17px; line-height: 2; width: 150px;
	}
	#info_important ul { padding-left: 18px;
	}
	#info_important li + li { margin-top: 8px;
	}
	#info_important .date, #info_important .text { display: block; width: auto; font-size: 14px;
	}
	#info_important .text { margin-left: 10px;
	}
}
@media print, screen and (max-width: 580px) {
	
	#info_important h2, #info_important ul { width: 100%; display: block;
	}
	#info_important h2 { text-align: left; padding: 0 5px 5px 12px;
	}
	#info_important h2 a { margin-left: 12px;
	}
}
/*============== IE ==============*/
@media all and (-ms-high-contrast:none) {
	
	#top_facility .tit { padding: 0 30px;
	}
	#top_service .link span { padding-top: 8px; padding-bottom: 2px;
	}
	#top_info .tx_btn a { padding-top: 8px; padding-bottom: 2px;
	}
	#top_info .cate { padding-top: 7px; padding-bottom: 1px;
	}
	#info_important h2 { padding-top: 4px;
	}
	#info_important h2 a { padding-top: 3px;
	}
	#info_important ul { padding-top: 17px;
	}
}
@media all and (-ms-high-contrast:none) and (max-width: 840px) {
	
	#top_facility .tit { padding: 0 10px;
	}
	#top_service .tit { padding-top: 10px; padding-bottom: 3px;
	}
}
@media all and (-ms-high-contrast:none) and (max-width: 580px) {
	
	#top_facility .tit { padding: 0 23px;
	}
}