@charset "UTF-8";

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

 top detail

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

.home .link01{
	font-size:13px;
}
.home .link01 a{
	position:relative;
	padding-left:10px;
	color:#444444;
	line-height: 1.2;
}
.home .link01 a:before{
	position:absolute;
	top:7px;
	left:0;
	content:"";
	border-style:solid;
	border-width:4px 0 4px 4px;
	border-color:transparent transparent transparent #444444;
}
@media screen and (max-width: 767px) {
	.home .link01{
		font-size:8px;
	}
	.home .link01 a{
		padding-left:5px;
	}
	.home .link01 a:before{
		top:3px;
		border-width:3px 0 3px 3px;
	}
}

/* mainImg
----------------------------------------------------------------------- */
#mainImg{
	width:1040px;
	height: auto;
	margin:0 auto;
}
#mainImg .slider{
	margin:0px;
}
@media screen and (max-width: 767px) {
	#mainImg{
		width:100%;
	}
}


/* greeting
----------------------------------------------------------------------- */
.home #greeting{
	margin:0 0 20px;
	color:#444444;
	line-height: 1.2;
	border:1px solid #d2d2d2;
background: white;

}
.home #greeting div,
.home #greeting h1,
.home #greeting p,
.home #greeting dl,
.home #greeting dt,
.home #greeting dd{
	margin:0px;
	padding:0px;
	box-sizing:border-box;
    vertical-align:baseline;
}
.home #greeting .message{
	padding:10px 15px;
	font-size:16px;
	font-weight:normal;
}
.home #greeting .table{
	display:table;
	width:100%;
	border-top:1px solid #d2d2d2;
	border-bottom:1px solid #d2d2d2;
	box-sizing:border-box;
    background: white;
}
/* rankArea */
.home #greeting .rankArea{
	display:table-cell;
	width:460px;
	padding:20px 0 20px 65px;
	vertical-align:top;
	border-right:1px solid #d2d2d2;
}
.home #greeting .rankArea:after{
	content:"";
	display:block;
	clear:both;
}
.home #greeting .rankArea dl{
	float:left;
}
.home #greeting .rankArea dl.name{
	margin-right:20px;
}
.home #greeting .rankArea dt{
	margin-top:5px;
	margin-bottom:8px;
	font-size:18px;
	font-weight:bold;
	letter-spacing:0.05em;
}
.home #greeting .rankArea dt span{
	font-size:14px;
}
.home #greeting .rankArea .rank{
	font-weight:bold;
	font-size:14px;
}

/* gold */
.home #greeting .rankArea.gold{
	padding-left:50px;
	background:url(../common/img/ico_gold01.png) no-repeat 5px center;
}
.home #greeting .rankArea.gold .rank{
	color:#d3b96a;
}
.home #greeting .rankArea.silver{
	padding-left:50px;
	background:url(../common/img/ico_silver01.png) no-repeat 5px center;
}
.home #greeting .rankArea.silver .rank{
	color:silver;
}
.home #greeting .rankArea.bronze{
	padding-left:50px;
	background:url(../common/img/ico_bronze01.png) no-repeat 5px center;
}
.home #greeting .rankArea.bronze .rank{
	color:brown;
}
.home #greeting .rankArea.platinum{
	padding-left:50px;
	background:url(../common/img/ico_platinum01.png) no-repeat 5px center;
}
.home #greeting .rankArea.platinum .rank{
	color:silver;
}

/*
.rankColor.bronze {
	color: brown;
}
.rankColor.silver {
	color: silver;
}
.rankColor.gold {
	color: #d3b96a;
}
.rankColor.platinum{
	color: silver;
}
*/

/* pointArea */
.home #greeting .pointArea{
	display:table-cell;
	padding:20px 0 20px 20px;
	vertical-align:top;
}
.home #greeting .pointArea dt{
	margin-bottom:3px;
	font-weight:bold;
}
.home #greeting .pointArea dd span{
	display:inline-block;
	margin-right:10px;
	color:#dd5555;
	font-size:26px;
	font-weight:bold;
	vertical-align:-2px;
	line-height:1.0;
}

/* reservArea */
.home #greeting .reservArea{
	position:relative;
	padding:20px 15px 20px 20px;
}
.home #greeting .reservArea .last{
	color:#333333;
	font-size:18px;
	font-weight:bold;
}
.home #greeting .reservArea .last span{
	display:inline-block;
	margin:0 10px;
	color:#dd5555;
	font-size:36px;
	vertical-align:-5px;
	line-height:1.0;
}
.home #greeting .reservArea .link01{
	text-align:right;
	margin-top:0.5em;
}

@media screen and (max-width: 767px) {
	.home #greeting .message{
		padding:10px 8px;
		font-size:12px;
	}
	/* rankArea */
	.home #greeting .rankArea{
		width:auto;
		padding:5px 0 5px 15px;
	}
	.home #greeting .rankArea dl.name{
		margin-top:5px;
		margin-right:10px;
	}
	.home #greeting .rankArea dt{
		margin-top:0;
		margin-bottom:5px;
		font-size:9px;
		letter-spacing:0;
	}
	.home #greeting .rankArea .name dt{
		margin-top:3px;
		font-size:13px;
	}
	.home #greeting .rankArea dt span{
		font-size:9px;
	}
	.home #greeting .rankArea .rank{
		font-size:11px;
	}

	/* gold */
	.home #greeting .rankArea.gold{
		padding-left:48px;
		background:url(../common/img/ico_sp_gold01.png) no-repeat 10px center;
		background-size:27px 32px;
	}
	.home #greeting .rankArea.silver{
		padding-left:48px;
		background:url(../common/img/ico_sp_silver01.png) no-repeat 10px center;
		background-size:27px 32px;
	}
	.home #greeting .rankArea.bronze{
		padding-left:48px;
		background:url(../common/img/ico_sp_bronze01.png) no-repeat 10px center;
		background-size:27px 32px;
	}
	.home #greeting .rankArea.platinum{
		padding-left:48px;
		background:url(../common/img/ico_sp_platinum01.png) no-repeat 10px center;
		background-size:27px 32px;
	}

	/* pointArea */
	.home #greeting .pointArea{
		width:85px;
		padding:5px;
		text-align:center;
		vertical-align:middle;
	}
	.home #greeting .pointArea dt{
		margin-bottom:2px;
		font-size:10px;
	}
	.home #greeting .pointArea dd span{
		display:block;
		margin:0 auto 2px;
		font-size:18px;
		vertical-align:0;
	}
	.home #greeting .pointArea dd{
		font-size:8px;
	}

	/* reservArea */
	.home #greeting .reservArea{
		position:relative;
		padding:10px 5px 10px 15px;
	}
	.home #greeting .reservArea .last{
		font-size:14px;
	}
	.home #greeting .reservArea .last span{
		margin:0 8px;
		font-size:25px;
		vertical-align:-1px;
	}
	.home #greeting .reservArea .link01{
		position:static;
		margin-top:5px;
		text-align:right;
	}
}


/* menuArea01
----------------------------------------------------------------------- */
.home .menuArea01{
    margin:0;
	padding:20px 15px 15px;
	border:1px solid #d2d2d2;
	box-sizing:border-box;
}
.home .menuArea01 div,
.home .menuArea01 h2,
.home .menuArea01 p,
.home .menuArea01 dl,
.home .menuArea01 dt,
.home .menuArea01 dd{
	margin:0px;
	padding:0px;
	box-sizing:border-box;
    vertical-align:baseline;
}
.home .menuArea01 .title{
	color:#444444;
	font-size:18px;
	font-weight:bold;
	line-height: 1.4;
	text-align: center
}
.home .menuArea01 .menu{
	padding:0px;
	margin:15px -15px 15px 0;
	list-style:none;
	box-sizing:border-box;
}
.home .menuArea01 .menu:after{
	content:"";
	display:block;
	clear:both;
}
.home .menuArea01 .menu li{
	float:left;
	margin:0 15px 0 0;
	padding:8px;
	line-height: 1.2;
	border:1px solid #d2d2d2;
	list-style:none;
	box-sizing:border-box;
}
.home .menuArea01 .menu dt{
	margin-top:5px;
	color:#444444;
	font-weight:bold;
}
.home .menuArea01 .menu dd{
	color:#bf4a4a;
	font-weight:bold;
	font-size:20px;
	text-align:right;
}
.home .menuArea01 .menu dd span{
	font-size:12px;
}
.home .menuArea01 .btn_specs01{
	width:330px;
	margin:0 auto;
}

@media screen and (max-width: 767px) {
	.home .menuArea01{
		padding:10px 10px;
	}
	.home .menuArea01 .title{
		font-size:12px;
	}
	.home .menuArea01 .menu{
		margin:10px 0 0;
	}
	.home .menuArea01 .menu li{
		float:left;
		width:48.5%;
		margin:0 0 10px 0;
		padding:8px;
	}
	.home .menuArea01 .menu li:nth-child(2n){
		float:right;
	}
	.home .menuArea01 .menu img{
		width:100%;
		height:auto;
	}
	.home .menuArea01 .menu dt{
		font-size:9px;
	}
	.home .menuArea01 .menu dd{
		font-size:12px;
	}
	.home .menuArea01 .menu dd span{
		font-size:7px;
	}
	.home .menuArea01 .btn_specs01{
		width:90%;
	}
}

/* ulArea01
----------------------------------------------------------------------- */
.home .ulArea01{
	box-sizing:border-box;
	margin:40px 0;
	padding:0px;
	list-style:none;
}
.home main .ulArea01:nth-child(2) {
	margi1n:0px 0;
}
.home .ulArea01:after{
	content:"";
	display:block;
	clear:both;
}
.home .ulArea01 li{
	box-sizing:border-box;
	float:left;
	width:350px;
	margin:0px;
	padding:10px;
	border:1px solid #d2d2d2;
	list-style:none;
}
.home .ulArea01 li:nth-child(2n){
	float:right;
}
.home .ulArea01 img{
	display:block;
	width:100%;
	height:auto;
	line-height:0;
}
.home .ulArea01 dl{
	margin:0px;
	padding:0px;
}
.home .ulArea01 dt{
	box-sizing:border-box;
	margin:10px -11px;
	padding:10px 15px 8px 15px;
	color:#ffffff;
	font-weight:bold;
	font-size:16px;
	line-height: 1.4;
	background:#313131;
        text-align: center;
}
.home .ulArea01 dd{
	box-sizing:border-box;
	margin:0 5px;
	padding:0px;
}

@media screen and (max-width: 767px) {
	.home .ulArea01{
		margin:20px 0 0;
	}
	.home .ulArea01 li{
		float:none!important;
		width:100%;
		margin-bottom:20px;
	}
	.home .ulArea01 img{
		display:block;
		width:100%;
		line-height:0;
	}
	.home .ulArea01 dt{
		font-size:14px;
	}
}


/* movieArea01
----------------------------------------------------------------------- */
.home .movieArea01 .ttl_specs01{
	margin-bottom:10px;
}
.home .movieArea01 img,
.home .movieArea01 iframe{
	width:100%;
	margin:0;
	padding:0;
	border:none;
}




/* newsArea01
----------------------------------------------------------------------- */
.home .newsArea01{
	margin:40px 0;
	border:1px solid #d2d2d2;
}
.home .newsArea01 .newsIn{
	margin:20px 20px 25px;
}
.home .newsArea01 .ttl_specs02{
	font-size:20px;
	font-weight:normal;
}
.home .newsArea01 ul{
	padding:0px;
	margin:0px;
	list-style:none;
}
.home .newsArea01 li{
	padding:20px 0 20px;
	margin:0px;
	line-height: 1.4;
	border-bottom:1px dashed #9c9c9c;
	list-style:none;
}
.home .newsArea01 dl{
	padding:0px;
	margin:0px;
	position:relative;
}
.home .newsArea01 dt{
	padding:0px;
	margin:0px;
	margin-bottom:5px;
	color:#757575;
	line-height: 1.0;
}
.home .newsArea01 dd{
	padding:0px;
	margin:0px;
	max-width:390px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.home .newsArea01 .author{
	position:absolute;
	top:50%;
	right:15px;
	margin-top:-25px;
	width:auto;
	max-width:260px;
}
.home .newsArea01 .author img.pcOnly{
	display:inline-block;
	margin-right:5px;
	vertical-align:-20px;
}
.home .newsArea01 .author img.spOnly{
	display:none;
}
.home .newsArea01 .btn_specs02{
	padding:15px 0!important;
	font-size:15px;
	border-radius:0;
}


@media screen and (max-width: 767px) {
	.home .newsArea01{
		margin:20px 0;
	}
	.home .newsArea01 .newsIn{
		margin:10px 4% 15px;
	}
	.home .newsArea01 .ttl_specs02{
		font-size:15px;
	}
	.home .newsArea01 li{
		padding:10px 0 10px;
		min-height:90px;
	}
	.home .newsArea01 dd{
		width:auto;
		margin-right:120px;
	}
	.home .newsArea01 .author{
		top:0;
		right:0;
		margin:0;
		font-size:11px;
		max-width:170px;
	}
	.home .newsArea01 .author img.pcOnly{
		display:none;
	}
	.home .newsArea01 .author img.spOnly{
		display:block;
		width:48px;
		margin:0 auto 5px;
	}
	.home .newsArea01 .btn_specs02{
		width:100%;
		padding:10px 0!important;
		font-size:12px;
	}

}

/* modal & icon */
.modalIcon {
    cursor: pointer;
    margin-left: 10px;
    font-size: 16px; /* フォントサイズを調整 */
	color: #FFFFFF;
    background-color: #696969; /* グレーの背景色 */
    padding: 7px 10px; /* パディングを調整 */
	margin-bottom: 1px;
    border-radius: 5px; /* 角を少し丸くする */
	line-height: 1;
    display: inline-block;
    text-align: center;
}

.modalIcon.modalIconSm {
    font-size: 80%;
    color: white;
    border-radius: 0.5em;
    padding: 0.3em 0.5em;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container, .modalWindow-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	z-index: 9999;
    box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before, .modalWindow-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active, .modalWindow-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body, .modalWindow-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 500px;
	width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close, .modalWindow-close{
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content, .modalWindow-content{
	background: #fff;
	text-align: left;
	padding: 30px;
}
.sq-card-wrapper .sq-card-message {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.modal-content button, .modalWindow-content button {
    margin: 0 auto;
    width: 180px;
    padding: 5px 0;
    display: block;
}

/* コンテンツ余白 */
.userSetStyle {
    padding: 7%;
}

#googleReviews img {
    max-width: 100%;
}

#googleReviews .title,
#staffReviews .title,
#menuReviews .title {
    text-align: center
}

@media screen and (max-width: 767px) {
	#googleReviews .title,
	#staffReviews .title,
	#menuReviews .title {
		font-size:12px;
	}
