﻿@charset "UTF-8";
/* =================================
Common Reset CSS
================================= */
html {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}

a {
	text-decoration: underline;
	color: #333;
}

a:hover {
	text-decoration: none;
	color: #999;
}

a img:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}
.imgFree img {
	max-width: 100% !important;
	width: auto;
	height: auto !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong {
	cursor: default;
}

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 13px;
	background-color: #fff;
	color: #4d4d4d;
}

.button_web:hover img,
.button_more:hover img {
	transition: all ease 0.4s;
	opacity: 0.6;
}

.container {
	max-width: 960px;
	margin: auto;
	position: relative;
}

.group:after {
	display: block;
	clear: both;
	content: "";
}

.clear {
	clear: both;
}

a {
	text-decoration: none;
}

li {
	list-style: none;
}

.left {
	float: left;
}

.right {
	float: right;
}

.text_center {
	text-align: center;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.width_100 {
	width: 100%;
}

.width_1200 {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
}

.width_890 {
	width: 890px;
	max-width: 100%;
	margin: 0 auto;
}

#warper {
	width: 100%;
}

/* =================================
					 Common Header
================================= */
#header {
	background-color: #fff;
	height: 90px;
	position: fixed;
	padding: 20px 18px 0 20px;
	z-index: 9999999999;
	margin: 0 auto;
	width: 100%;
}

#header .hamberger,
#header nav,
#header h1,
#header .social,
#header .contact {
	display: inline-block;
	vertical-align: middle;
}

#header .social p img,
#header .hamberger,
#header .hamberger_lose {
	cursor: pointer;
}

#header .hamberger {
	margin-top: -4px;
	margin-left: 1px;
	background-color: #666;
}

#header .hamberger > img {
	font-size: 0;
}

#header h1 {
	margin: 0 0 0 18px;
	max-height: 50px;
}

#header h1 img {
	width: 180px;
}

#header .social {
	margin-right: 5px;
}
#header .group {
	text-align: right;
}
#header .contact p,
#header .social p {
	display: inline-block;
	vertical-align: top;
}

#header .contact p.contact_tel {
	width: 190px;
	height: 42px;
	margin-right: 5px;
	margin-top: 4px;
	padding-left: 45px;
	padding-top: 10px;
	background: url(../img/bg_tel.png) no-repeat left center;
	color: #4d4d4d;
	font-family: "Open Sans", sans-serif;
	font-size: 19px;
	text-align: left;
}

#header .contact .button_web {
	margin-right: -6px;
	margin-top: 4px;
}

#header .social p {
	margin-right: 4px;
	margin-top: 6px;
}

#header .sologan {
	text-align: right;
	margin: -6px 0 6px;
	font-size: 10px;
}

.group_menu {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 280px;
	overflow: hidden;
	display: none;
	border: #fc4e66;
	height: 100vh;
	padding: 30px;
	z-index: 100000;
	text-align: left;
}

#header nav {
	position: absolute;
	top: 0;
	left: -280px;
	bottom: 0;
	width: 280px;
	background-color: #666;
	height: 100vh;
	padding: 30px;
	z-index: 10000;
}

.en {
	display: block;
}
.ja {
	display: none;
}

.hamberger_lose {
	margin-bottom: 50px;
}

#header nav ul li {
	margin-bottom: 30px;
}

#header nav ul li ul li {
	margin: 20px 0px 20px 15px;
}

#header nav ul li a {
	color: #fff;
	font-size: 13px;
}

#header nav ul li a:hover {
	color: #ccc;
}

#header nav ul li:hover .en {
	display: none;
}
#header nav ul li:hover .ja {
	display: block;
}

#header nav ul li ul li a {
	line-height: 22px;
}

#header nav ul li ul li a:before {
	display: inline-block;
	content: "-";
	text-indent: -5px;
	padding-right: 5px;
}

#header nav ul li ul {
	display: none;
}

.breadcrumb {
	width: 100%;
}
#topicPath {
	width: 100%;
}
ul.breadcrumb {
	padding: 5px 0;
	list-style: none;
	font-weight: bold;
	color: #999;
	text-align: left;
	margin-bottom: 10px;
}
ul.breadcrumb li {
	display: inline;
}

ul.breadcrumb li + li:before {
	padding: 8px;
	color: #868686;
	content: "\003e";
}

ul.breadcrumb li a {
	color: #868686;
	text-decoration: none;
}
ul.breadcrumb li a:hover {
	color: #01447e;
	text-decoration: underline;
}

/*#main { margin: 80px auto 120px; }*/
#main {
	padding-top: 90px;
	margin: 0 auto 120px;
}

.new_titile figure figcaption {
	font-size: 18px;
	color: #4d4d4d;
	font-family: "Open Sans", sans-serif;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-weight: 600;
	position: relative;
}

.new_titile figure img {
	display: none;
}

.new_titile figure figcaption span {
	display: inline-block;
	font-family: "Open Sans", sans-serif;
	font-size: 28px;
	margin-top: 40px;
}

.new_titile figure figcaption span:after {
	display: block;
	content: "";
	clear: both;
	width: 70px;
	height: 1px;
	border-bottom: 1px dashed #7f7f7f;
	margin: 0 auto;
	padding: 10px;
}

/* =================================
					 Common Footer
================================= */
.footer {
	width: 100%;
	height: 130px;
	background-color: #666;
	text-align: center;
}

.footer nav {
	padding-top: 20px;
}

.footer nav p img {
	cursor: pointer;
}

.footer nav ul {
	margin: 30px 0;
}

.footer nav ul li {
	display: inline-block;
	vertical-align: middle;
	padding: 0 15px;
	position: relative;
}

.footer nav ul li:last-child:after {
	display: none;
}

.footer nav ul li:after {
	position: absolute;
	display: inline-block;
	content: "";
	clear: both;
	width: 1px;
	height: 11px;
	background-color: #fff;
	top: 2px;
	right: 0;
}

.footer nav strong,
.footer nav ul li a {
	color: #fff;
	font-weight: 100;
	font-size: 11px;
}

.sp {
	display: none;
}
.pc {
	display: block;
}

.sp_inline {
	display: none;
}
.pc_inline {
	display: inline;
}

/*****追加***/

.scale {
	width: 216px;
	height: 106px;
	overflow: hidden !important;
	display: block;
}

.scale img {
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
}
.scale img:hover {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

.scale2 {
	width: 83px;
	height: 83px;
	overflow: hidden !important;
	display: block;
}

.scale2 img {
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
}
.scale2 img:hover {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

/*****追加***/

/*****追加***/
.scrollIn {
opacity: 0;
	-webkit-transform: translate(0, 20px);
	-ms-transform: translate(0, 20px);
	        transform: translate(0, 20px);
	-webkit-transition: all 1s;
	-o-transition: all 1s;
	transition: all 1s;
}

.scrollIn.scrollin {
opacity: 1;
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	        transform: translate(0, 0);
}

/*****追加***アニメーションスライド***/

.fadeitem {
margin: 10px;
	-webkit-transform: translateY(25%);
	-ms-transform: translateY(25%);
	        transform: translateY(25%);
	opacity: 0;
}

.fadeitem:nth-child(1) {
	/* プロパティ名 | 時間 | 時間関数 | 遅延 */
	transition: all 0.5s ease-in-out 0.5s;
}
.fadeitem:nth-child(2) {
	/* プロパティ名 | 時間 | 時間関数 | 遅延 */
	transition: all 0.5s ease-in-out 0.75s;
}
.fadeitem:nth-child(3) {
	/* プロパティ名 | 時間 | 時間関数 | 遅延 */
	transition: all 0.5s ease-in-out 1s;
}

.js-fade-animation.is-show.fadeitem {
	transform: translateY(0);
	opacity: 1;
}

.wrap-fade {
		-webkit-animation-name: fadein;
	animation-name: fadein;
	-webkit-animation-duration: 3s;
	        animation-duration: 3s;
	-webkit-animation-iteration-count: 1;
	        animation-iteration-count: 1;
}
@keyframes fadein {
	from {
	opacity: 0;
		-webkit-transform: translateY(20px);
		-ms-transform: translateY(20px);
		        transform: translateY(20px);
	}
	to {
	opacity: 1;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		        transform: translateY(0);
	}
}
/********追加*******/

@media only screen and (max-width: 768px) {
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	#header nav ul li:hover .en {
		display: block;
	}
	#header nav ul li:hover .ja {
		display: none;
	}

	.sp_inline {
		display: inline;
	}
	.pc_inline {
		display: none;
	}

	#main {
		margin: 0 auto;
		padding: 65px 10px 0;
	}

	#header {
		height: 65px;
		padding: 15px 10px 0 10px;
	}

	#header .group.left {
		width: 100%;
		float: none;
	}

	#header .hamberger {
		width: 38px;
		z-index: 9999;
	}
	#header .hamberger img {
		width: 38px;
		font-size: 0;
	}

	#header h1 {
		margin: 0;
		padding: 0;
		float: none;
		text-align: center;
		height: 100%;
		width: 50%;
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 99;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	#header h1 img {
		max-height: 100%;
		height: auto;
		width: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	.hamberger_lose {
		margin-bottom: 20px;
	}

	.hamberger_lose img {
		width: 30px;
		height: 30px;
	}
	#header .group {
		text-align: left;
	}

	.group_menu {
		padding: 20px;
	}

	.hamberger_lose {
		margin-bottom: 40px;
	}

	#header nav ul li {
		margin-bottom: 25px;
	}

	#header nav ul li ul li {
		margin: 15px 0px 15px 15px;
	}

	#header nav ul li a {
		font-size: 12px;
	}

	.new_titile {
		margin-bottom: 30px;
	}

	.new_titile figure figcaption span {
		font-size: 24px;
		margin-top: 30px;
	}

	.new_titile figure figcaption span:after {
		padding: 6px;
	}

	.social_footer {
		width: 100%;
	}

	.social_footer .social {
		width: 100%;
		text-align: center;
		padding: 30px 0;
		background-color: #fff;
	}

	.social_footer .social p {
		display: inline-block;
		cursor: pointer;
		padding: 0 3px;
	}

	.slider_box_02 .box_silder img {
		width: 272px;
		height: 137px;
	}

	.slider_box_02 .box_silder {
		margin: 0px 15px;
	}

	.footer {
		width: 100%;
		height: auto;
	}

	.footer nav {
		width: 100%;
		max-width: 640px;
		padding: 0 10px;
		text-align: left;
		padding-bottom: 20px;
	}

	.footer nav p {
		text-align: center;
		padding: 30px 0 0;
	}

	.footer nav ul li:first-child {
		display: block;
	}

	.footer nav ul li:first-child:after {
		display: none;
	}

	.footer nav ul li {
		margin: 5px 0;
	}

	.footer nav strong {
		text-align: center;
		width: 100%;
		display: block;
	}

	.contact-xs {
		background: /*#fd4e66;*/ #ff6a9b;
		display: table !important;
		width: 100%;
		position: fixed;
		bottom: 0;
		z-index: 9999;
		margin-left: -10px;
	}

	.contact-xs a {
		display: table-cell;
		text-align: center;
		padding: 10px 0;
		font-size: 15px;
		color: #fff;
		font-family: "Kozuka-Gothic-PR6N-Regular";
	}

	.glyphicon {
		position: relative;
		top: 1px;
		display: inline-block;
		font-family: "Glyphicons Halflings";
		font-style: normal;
		font-weight: 400;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
	}

	.glyphicon-phone:before {
		content: "\e145";
	}

	.w50 {
		width: 50%;
	}

	.bd-right {
		border-right: 1px solid #fff;
	}

	.fa {
		display: inline-block;
		font-family: FontAwesome;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

@media only screen and (max-width: 360px) {
	#header h1 img {
	}

	.contact-xs {
		background: #e88bba;
		display: table !important;
		width: 100%;
		position: fixed;
		bottom: 0;
		z-index: 9999;
	}

	.contact-xs a {
		display: table-cell;
		text-align: center;
		padding: 10px 0;
		font-size: 15px;
		color: #fff;
		font-family: "Kozuka-Gothic-PR6N-Regular";
	}

	.glyphicon {
		position: relative;
		top: 1px;
		display: inline-block;
		font-family: "Glyphicons Halflings";
		font-style: normal;
		font-weight: 400;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
	}

	.glyphicon-phone:before {
		content: "\e145";
	}

	.w50 {
		width: 50%;
	}

	.bd-right {
		border-right: 1px solid #fff;
	}

	.fa {
		display: inline-block;
		font-family: FontAwesome;
		font-style: normal;
		font-weight: normal;
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

/* [modalBox] モーダルリンク ----------*/
.modalBox {
	display: none;
	box-sizing: border-box;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 800px;
	margin-left: -400px;
	padding: 26px 32px 18px 20px;
	background: #fff;
}
.modalClose {
	overflow: hidden;
	position: absolute;
	top: -17px;
	right: -7px;
	width: 44px;
	height: 44px;
	background: url(../img/btn_modal_close.png) no-repeat;
	background-size: contain;
	text-indent: -9999px;
	cursor: pointer;
}
.modalBox table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	line-height: 1.4;
}
.modalBox th,
.modalBox td {
	text-align: center;
	vertical-align: middle;
}

.modalBox tr th:nth-child(2),
.modalBox tr td:nth-child(2) {
	border-left: 2px solid #ccc;
	border-right: 2px solid #ccc;
}

.modalBox th {
	padding: 5px;
	background: #9b9b9b;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
}
.modalBox td {
	padding: 14px 18px;
}
.modalBox tbody tr:nth-child(even) td {
	background: #f4f4f4;
}
.modalBox tr td.shop {
	font-size: 16px;
}
.modalBox tr td.tel {
	width: 28%;
	font-size: 22px;
	font-weight: bold;
	white-space: nowrap;
}
.modalBox tr td.reserve {
	width: 32%;
}
.modalBox .btn {
	display: block;
	width: 200px;
	padding: 10px 0;
	background: #e88bba;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
}

#lean_overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	z-index: 2000;
}
@media screen and (max-width: 768px) {
	/* [modalBox] モーダルリンク ----------*/
	.modalBox {
		width: 290px;
		margin-left: -145px;
		padding: 14px;
	}
	.modalClose {
		top: -11px;
		right: -7px;
		width: 26px;
		height: 26px;
	}
	.modalBox thead {
		display: none;
	}
	.modalBox table,
	.modalBox tbody,
	.modalBox tr,
	.modalBox th,
	.modalBox td {
		display: block;
		padding: 0;
	}

	.modalBox tr {
		padding: 10px 0;
		border-bottom: 1px solid #ccc;
	}
	.modalBox tr:before,
	.modalBox tr:after {
		content: "";
		display: table;
	}
	.modalBox tr:after {
		clear: both;
	}

	.modalBox tbody tr:nth-child(even) td {
		background: inherit;
	}
	.modalBox tr td:nth-child(2) {
		border: 0;
	}

	.modalBox tr td.shop,
	.modalBox tr td.tel,
	.modalBox tr td.reserve {
		width: auto;
		font-size: 12px;
	}

	.modalBox tr td.shop {
		padding-bottom: 10px;
	}
	.modalBox .btn {
		width: 100%;
		padding: 5px 0;
		font-size: 12px;
	}
	.modalBox .btn span {
		display: inline-block;
		background-repeat: no-repeat;
		background-position: 0 50%;
		background-size: auto 15px;
	}

	.modalBox .tel .btn span {
		padding-left: 20px;
		background-image: url(../img/icon_tel.png);
	}
	.modalBox .reserve .btn span {
		padding-left: 25px;
		background-image: url(../img/icon_reserve.png);
	}
}
#accessMenu {
	display: none;
}
/*---- pager ----*/
.paginateBox {
	margin-top: 40px;
	margin-bottom: 40px;
}
.paginate {
	text-align: center;
	line-height: 1.2;
}
.paginate .next a:after,
.paginate .prev a:before {
	font-size: 82%;
	vertical-align: top;
}
.paginate .next a:after {
	content: "≫";
	padding-left: 5px;
}
.paginate .prev a:before {
	content: "≪";
	padding-right: 5px;
}
.paginate li {
	padding: 0px 8px 0px 4px;
	border-right: 1px solid #494949;
	display: inline-block;
}
.paginate li:last-child {
	border-right: none;
}

.titlePager {
	border-top: 1px dotted #493700;
	border-bottom: 1px dotted #493700;
	padding: 6px 0;
}
.titlePager .paginate {
	display: table;
	width: 100%;
}
.titlePager p {
	display: table-cell;
	width: 50%;
	line-height: 1.6;
	position: relative;
	border-right: 1px solid #646464;
}
.titlePager p:last-child {
	border-right: none;
}
.titlePager .prev {
	text-align: left;
	padding: 6px 0 6px 18px;
}
.titlePager .prev a:before {
	position: absolute;
	top: 50%;
	left: 8px;
	margin-top: -0.8em;
}
.titlePager .next {
	text-align: right;
	padding: 6px 18px 6px 0;
}
.titlePager .next a:after {
	position: absolute;
	top: 50%;
	right: 8px;
	margin-top: -0.8em;
}
.listTxtlink {
	text-align: center;
}
.listTxtlink a {
	color: #5b4a2f;
	display: inline-block;
	min-height: 18px;
	padding-left: 16px;
}
.listTxtlink a:hover {
	color: #bda73d;
}

@media screen and (max-width: 768px) {
	/* [sp accessMenu] ----------*/
	#accessMenu {
		display: block;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		min-width: 320px;
		padding: 13px 0;
		height: 46px;
		background: #e88bba;
		line-height: 1;
		z-index: 1000;
	}
	#accessMenu ul {
		display: table;
		border-collapse: collapse;
		border-spacing: 0;
		width: 100%;
		height: 100%;
	}
	#accessMenu li {
		display: table-cell;
		padding: 0 10px;
		width: 50%;
		height: 100%;
		text-align: center;
	}
	#accessMenu .reserve {
		border-left: 1px solid #fff;
	}
	#accessMenu a {
		display: inline-block;
		padding: 5px 0;
		background-repeat: no-repeat;
		background-position: 0 50%;
		background-size: auto 15px;
		white-space: nowrap;
		font-size: 11px;
		font-weight: bold;
		color: #fff;
	}
	#accessMenu .tel a {
		padding-left: 20px;
		background-image: url(../img/icon_tel.png);
	}
	#accessMenu .reserve a {
		padding-left: 25px;
		background-image: url(../img/icon_reserve.png);
	}
	#accessMenu .access a {
		padding-left: 23px;
		background-image: url(../img/icon_access.png);
	}
	.p2-list-specialMenu {
		margin: 0 0 10px;
		padding: 10px 36px;
		width: 100%;
		min-height: 40px;
		height: auto;
		-webkit-appearance: none;
		background: #fff url("../img/sp-icon-select.png") no-repeat right 10px center;
		font-size: 16px;
		color: #5b4a2f;
		padding-left: 15px;
		background-size: 25px 25px;
		word-wrap: break-word;
		word-break: break-all;
		white-space: normal;
		font-size: 100%;
	}
	.paginateBox {
		margin-bottom: 20px;
	}
	.titlePager .prev {
		padding: 4px 8px 4px 14px;
	}
	.titlePager .next {
		padding: 4px 14px 4px 8px;
	}
	.titlePager .prev a:before {
		left: 0;
	}
	.titlePager .next a:after {
		right: 0;
	}
}
