/* ----------------------------------------------------------------
   Initialization
----------------------------------------------------------------- */
body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,h6,p,table,th,td,caption,form{margin:0;padding:0;border:0;font-style:normal;font-weight:normal;font-size:100%;list-style:none;}
input,textarea{margin:0;padding:0;font-style:normal;font-weight:normal;font-size: 100%;text-align: left;}
address, caption, cite, code, dfn, em, strong, th, var{font-style:normal; font-weight:normal;}
ol, ul{list-style:none;}
abbr, acronym{border:0;}
h1, h2, h3, h4, h5, h6{font-size:100%;font-weight:normal;}
html { height: 100%; }
img{border:none;vertical-align: bottom;}

/* micro clearfix */
.cf:before,
.cf:after {content:"";display:table;}
.cf:after {clear:both;}
.cf {zoom:1;}

/* ----------------------------------------------------------------
   Base Parts
----------------------------------------------------------------- */

.clear { clear: both;        }
.center{ text-align: center!important; }
.left  { text-align: left!important;   }
.right { text-align: right!important;  }
.fl    { float:left;         }
.fr    { float:right;        }
.small { font-size: 80%;line-height:0.5; }


/* ----------------------------------------------------------------
   その他
----------------------------------------------------------------- */

.m0   { margin:        0px;  !important; }
.m5   { margin:        5px;  !important; }
.m10  { margin:        10px; !important; }
.m15  { margin:        15px; !important; }
.m20  { margin:        20px; !important; }
.m25  { margin:        25px; !important; }
.m30  { margin:        30px; !important; }
.m35  { margin:        35px; !important; }
.m40  { margin:        40px; !important; }
.m45  { margin:        45px; !important; }
.m50  { margin:        50px; !important; }
.p0   { padding:       0px;  !important; }
.p5   { padding:       5px;  !important; }
.p10  { padding:       10px; !important; }
.p15  { padding:       15px; !important; }
.p20  { padding:       20px; !important; }
.p25  { padding:       25px; !important; }
.p30  { padding:       30px; !important; }
.p35  { padding:       35px; !important; }
.p40  { padding:       40px; !important; }
.p45  { padding:       45px; !important; }
.p50  { padding:       50px; !important; }

.mt0  { margin-top:      0px; !important; }
.mr0  { margin-right:    0px; !important; }
.mb0  { margin-bottom:   0px; !important; }
.ml0  { margin-left:     0px; !important; }
.mt5  { margin-top:      5px; !important; }
.mr5  { margin-right:    5px; !important; }
.mb5  { margin-bottom:   5px; !important; }
.ml5  { margin-left:     5px; !important; }
.mt10 { margin-top:     10px; !important; }
.mr10 { margin-right:   10px; !important; }
.mb10 { margin-bottom:  10px; !important; }
.ml10 { margin-left:    10px; !important; }
.mt15 { margin-top:     15px; !important; }
.mr15 { margin-right:   15px; !important; }
.mb15 { margin-bottom:  15px; !important; }
.ml15 { margin-left:    15px; !important; }
.mt20 { margin-top:     20px; !important; }
.mr20 { margin-right:   20px; !important; }
.mb20 { margin-bottom:  20px; !important; }
.ml20 { margin-left:    20px; !important; }
.mt25 { margin-top:     25px; !important; }
.mr25 { margin-right:   25px; !important; }
.mb25 { margin-bottom:  25px; !important; }
.ml25 { margin-left:    25px; !important; }
.mt30 { margin-top:     30px; !important; }
.mr30 { margin-right:   30px; !important; }
.mb30 { margin-bottom:  30px; !important; }
.ml30 { margin-left:    30px; !important; }
.mt35 { margin-top:     35px; !important; }
.mr35 { margin-right:   35px; !important; }
.mb35 { margin-bottom:  35px; !important; }
.ml35 { margin-left:    35px; !important; }
.mt40 { margin-top:     40px; !important; }
.mr40 { margin-right:   40px; !important; }
.mb40 { margin-bottom:  40px; !important; }
.ml40 { margin-left:    40px; !important; }
.mt45 { margin-top:     45px; !important; }
.mr45 { margin-right:   45px; !important; }
.mb45 { margin-bottom:  45px; !important; }
.ml45 { margin-left:    45px; !important; }
.mt50 { margin-top:     50px; !important; }
.mr50 { margin-right:   50px; !important; }
.mb50 { margin-bottom:  50px; !important; }
.ml50 { margin-left:    50px; !important; }

.mb_pa2 { margin-bottom:  2%; !important; }
.mb_pa5 { margin-bottom:  5%; !important; }
.mb_pa10 { margin-bottom:  10%; !important; }
.mb_pa15 { margin-bottom:  15%; !important; }


.pt0  { padding-top:     0px; !important; }
.pr0  { padding-right:   0px; !important; }
.pb0  { padding-bottom:  0px; !important; }
.pl0  { padding-left:    0px; !important; }
.pt5  { padding-top:     5px; !important; }
.pr5  { padding-right:   5px; !important; }
.pb5  { padding-bottom:  5px; !important; }
.pl5  { padding-left:    5px; !important; }
.pt10 { padding-top:    10px; !important; }
.pr10 { padding-right:  10px; !important; }
.pb10 { padding-bottom: 10px; !important; }
.pl10 { padding-left:   10px; !important; }
.pt15 { padding-top:    15px; !important; }
.pr15 { padding-right:  15px; !important; }
.pb15 { padding-bottom: 15px; !important; }
.pl15 { padding-left:   15px; !important; }
.pt20 { padding-top:    20px; !important; }
.pr20 { padding-right:  20px; !important; }
.pb20 { padding-bottom: 20px; !important; }
.pl20 { padding-left:   20px; !important; }
.pt25 { padding-top:    25px; !important; }
.pr25 { padding-right:  25px; !important; }
.pb25 { padding-bottom: 25px; !important; }
.pl25 { padding-left:   25px; !important; }
.pt30 { padding-top:    30px; !important; }
.pr30 { padding-right:  30px; !important; }
.pb30 { padding-bottom: 30px; !important; }
.pl30 { padding-left:   30px; !important; }
.pt35 { padding-top:    35px; !important; }
.pr35 { padding-right:  35px; !important; }
.pb35 { padding-bottom: 35px; !important; }
.pl35 { padding-left:   35px; !important; }
.pt40 { padding-top:    40px; !important; }
.pr40 { padding-right:  40px; !important; }
.pb40 { padding-bottom: 40px; !important; }
.pl40 { padding-left:   40px; !important; }
.pt45 { padding-top:    45px; !important; }
.pr45 { padding-right:  45px; !important; }
.pb45 { padding-bottom: 45px; !important; }
.pl45 { padding-left:   45px; !important; }
.pt50 { padding-top:    50px; !important; }
.pr50 { padding-right:  50px; !important; }
.pb50 { padding-bottom: 50px; !important; }
.pl50 { padding-left:   50px; !important; }

.var1   { width: 1%;    !important; }
.var2   { width: 2%;    !important; }
.var3   { width: 3%;    !important; }
.var4   { width: 4%;    !important; }
.var5   { width: 5%;    !important; }
.var6   { width: 6%;    !important; }
.var7   { width: 7%;    !important; }
.var8   { width: 8%;    !important; }
.var9   { width: 9%;    !important; }
.var10  { width: 10%;   !important; }
.var11  { width: 11%;   !important; }
.var12  { width: 12%;   !important; }
.var13  { width: 13%;   !important; }
.var14  { width: 14%;   !important; }
.var15  { width: 15%;   !important; }
.var16  { width: 16%;   !important; }
.var17  { width: 17%;   !important; }
.var18  { width: 18%;   !important; }
.var19  { width: 19%;   !important; }
.var20  { width: 20%;   !important; }
.var21  { width: 21%;   !important; }
.var22  { width: 22%;   !important; }
.var23  { width: 23%;   !important; }
.var24  { width: 24%;   !important; }
.var25  { width: 25%;   !important; }
.var26  { width: 26%;   !important; }
.var27  { width: 27%;   !important; }
.var28  { width: 28%;   !important; }
.var29  { width: 29%;   !important; }
.var30  { width: 30%;   !important; }
.var31  { width: 31%;   !important; }
.var32  { width: 32%;   !important; }
.var33  { width: 33%;   !important; }
.var34  { width: 34%;   !important; }
.var35  { width: 35%;   !important; }
.var36  { width: 36%;   !important; }
.var37  { width: 37%;   !important; }
.var38  { width: 38%;   !important; }
.var39  { width: 39%;   !important; }
.var40  { width: 40%;   !important; }
.var41  { width: 41%;   !important; }
.var42  { width: 42%;   !important; }
.var43  { width: 43%;   !important; }
.var44  { width: 44%;   !important; }
.var45  { width: 45%;   !important; }
.var46  { width: 46%;   !important; }
.var47  { width: 47%;   !important; }
.var48  { width: 48%;   !important; }
.var49  { width: 49%;   !important; }
.var50  { width: 50%;   !important; }
.var51  { width: 51%;   !important; }
.var52  { width: 52%;   !important; }
.var53  { width: 53%;   !important; }
.var54  { width: 54%;   !important; }
.var55  { width: 55%;   !important; }
.var56  { width: 56%;   !important; }
.var57  { width: 57%;   !important; }
.var58  { width: 58%;   !important; }
.var59  { width: 59%;   !important; }
.var60  { width: 60%;   !important; }
.var61  { width: 61%;   !important; }
.var62  { width: 62%;   !important; }
.var63  { width: 63%;   !important; }
.var64  { width: 64%;   !important; }
.var65  { width: 65%;   !important; }
.var66  { width: 66%;   !important; }
.var67  { width: 67%;   !important; }
.var68  { width: 68%;   !important; }
.var69  { width: 69%;   !important; }
.var70  { width: 70%;   !important; }
.var71  { width: 71%;   !important; }
.var72  { width: 72%;   !important; }
.var73  { width: 73%;   !important; }
.var74  { width: 74%;   !important; }
.var75  { width: 75%;   !important; }
.var76  { width: 76%;   !important; }
.var77  { width: 77%;   !important; }
.var78  { width: 78%;   !important; }
.var79  { width: 79%;   !important; }
.var80  { width: 80%;   !important; }
.var81  { width: 81%;   !important; }
.var82  { width: 82%;   !important; }
.var83  { width: 83%;   !important; }
.var84  { width: 84%;   !important; }
.var85  { width: 85%;   !important; }
.var86  { width: 86%;   !important; }
.var87  { width: 87%;   !important; }
.var88  { width: 88%;   !important; }
.var89  { width: 89%;   !important; }
.var90  { width: 90%;   !important; }
.var91  { width: 91%;   !important; }
.var92  { width: 92%;   !important; }
.var93  { width: 93%;   !important; }
.var94  { width: 94%;   !important; }
.var95  { width: 95%;   !important; }
.var96  { width: 96%;   !important; }
.var97  { width: 97%;   !important; }
.var98  { width: 98%;   !important; }
.var99  { width: 99%;   !important; }
.var100 { width: 100%;  !important; }

.fix10  { width: 10px;  !important; }
.fix15  { width: 15px;  !important; }
.fix20  { width: 20px;  !important; }
.fix25  { width: 25px;  !important; }
.fix30  { width: 30px;  !important; }
.fix35  { width: 35px;  !important; }
.fix40  { width: 40px;  !important; }
.fix50  { width: 50px;  !important; }
.fix60  { width: 60px;  !important; }
.fix70  { width: 70px;  !important; }
.fix80  { width: 80px;  !important; }
.fix90  { width: 90px;  !important; }
.fix100 { width: 100px; !important; }
.fix150 { width: 150px; !important; }
.fix200 { width: 200px; !important; }
.fix250 { width: 250px; !important; }
.fix300 { width: 300px; !important; }
.fix350 { width: 350px; !important; }
.fix400 { width: 400px; !important; }
.fix450 { width: 450px; !important; }
.fix500 { width: 500px; !important; }

.radius5  {
	border-radius:5px;
	-webkit-border-radius: 5px;
	-moz-border-radius-: 5px;
}
.radius10  {
	border-radius:10px;
	-webkit-border-radius: 10px;
	-moz-border-radius-: 10px;
}
.radius15  {
	border-radius:15px;
	-webkit-border-radius: 15px;
	-moz-border-radius-: 15px;
}
.radius20  {
	border-radius:20px;
	-webkit-border-radius: 20px;
	-moz-border-radius-: 20px;
}
/* ----------------------------------------------------------------
   Base Parts
----------------------------------------------------------------- */
body{
	margin: 0px;
	padding: 0px;
	font-size: 0.9em;
	line-height: 140%;
	letter-spacing: 0.1em;
	font-family: Verdana, Arial, Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, "MS P Gothic", "ＭＳ Ｐゴシック", sans-serif;
	height: 100%;
	background: #5dbec4;
}

a{color:#074FBB;text-decoration: underline;}
a:visited{color:#1976E8;text-decoration:none;}
a:hover,a:active{color:#FD4C0E;text-decoration:underline;}

strong{color: #8A6409;font-size: 120%;}
em{color: #074684;font-size: 100%;	font-weight: normal;font-style: normal;}
b{color: #ff0000;}
p{padding: 10px;}
hr{
	border-top: 1px solid #BEB9AD;
	border-bottom:none;
	border-left:none;
	border-right:none;
}
* html hr{border-bottom: 1px dashed #ffffff;}

.small {color: #6A4800;}
.mess,.err,.red{ color: #ff0000; }
.icon{ font-size: 140%; }

.sun,.hol{
	color: #ff0000;
	font-weight: bold;
}
.sat{
	color: #0000FF;
	font-weight: bold;
}

.wb{
	word-break: break-all;
}

/* ----------------------------------------------------------------
   Table
----------------------------------------------------------------- */
table.table{
	margin: 10px 0px 10px 0px;
	width: 100%;
	border-collapse:collapse;
}
table.table caption{
	padding: 5px 0px 5px 0px;
	text-align: left;
	font-size: 16px;
	font-weight: bold;
}
table.table tr:nth-child(odd){
	background: #eff2f4;
}
table.table tr:hover{
	background-color: #fffade;
}
table.table th{
	padding: 5px 10px 5px 10px;
	background: rgba(14,119,179,0.3);
	background: -moz-linear-gradient(top,
	      rgba(14,119,179,0.8),
	      rgba(11,88,140,0.8)); /* Firefox用 */
	background: -webkit-gradient(linear, left top, left bottom,
	      from(rgba(14,119,179,0.8)),  
	      to(rgba(11,88,140,0.8)));/* Safari,Google Chrome用 */
	color: #FFFFFF;
	border: 1px solid #e1e1e1;
}
table.table td{
	padding: 5px 10px 5px 10px;
	border: 1px solid #e1e1e1;
}

table.detail th,table.detail td{
	font-size: 12px;
}

@media screen and (max-width: 1000px) {
	table.table th{
		font-size: 14px;
	}
	table.table td{
		font-size: 14px;
	}
	input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],select,textarea{
		width: 100%;
		box-sizing: border-box;
	}
	table.table th{
		font-size: 14px;
	}
	table.table td{
		font-size: 14px;
	}
}
/* スマホ 縦  */
@media screen and (max-width: 480px) {
	table.table th{
		box-sizing: border-box;
	}
	table.table td{
		box-sizing: border-box;
	}
	table.table th,table.table td{
		display: block;
		width: 100%;
		border-top: none;
		border-left: none;
		border-right: none;
	}
	table.table:first-child tr:first-child th   { border-top: 1px solid #626262; }
}


table.table th dl{clear: both;}
table.table th dl dd{
	float:left;
	text-align: center;
}

table.table td div.list{
	overflow:hidden;
	height: 23px;
}

table.table td dl{clear: both;}
table.table td dl dd{
	float:left;
	text-align: center;
	margin: 0px 5px 0px 0px;
	width: 60px;
}

table.table th.caption{
	font-weight: bold;
	background-image:none;
	background-color: #CDD6E7;
	border: 1px solid #626262;
}

table.table td dl{
	margin: 0px auto;
}
table.table td dl.one{ width: 65px; }
table.table td dl.two{ width: 130px; }
table.table td dl.triple{ width: 200px; }

/* ----------------------------------------------------------------
   共通
----------------------------------------------------------------- */
.width_100{
		width: 100%;
	}
	.width_100 img{
		width: 100%;
		height: auto;
	}

.width_80{
	width: 100%;
}
	.width_80 img{
		margin: 0 auto;
		width: 80%;
		height: auto;
		display: block;
	}

.wrap{
	margin: 0 auto;
	width: 640px;
}

.site_title{
	margin: 0 0 20px 0;
	width: 100%;
	text-align: center;
}
	.site_title img {
		width: 75%;
		height: auto;
	}

header nav ul li {
	width: 16.6%;
	float: left;
	border-right: 2px solid #6a3906;
	box-sizing: border-box;
}

	header nav ul li:first-child {
		border-left: 2px solid #6a3906;
		border-right: 2px solid #6a3906;
	}

	header nav ul li a > div img{
		margin: 0 auto;
		/*width: 85%;*/
		width: 75%; /* 2021.11.24 */
		height: auto;
		display: block;
	}


div.logo_wrap{
	margin: 0 0 5% 0;
	padding: 0 0 15% 0;
	background: url(/img/common/distance.png) no-repeat bottom;
	background-size: contain;
}

	div.couples_logo{
		width: 30%;
		float: left;
	}

		div.couples_logo img{
			width: 100%;
			height: auto;
		}

	div.hapihote_logo{
		padding: 0 1% 0 1%;
		width: 20%;
		float: left;
		box-sizing: border-box;
	}
		div.hapihote_logo img{
			width: 100%;
			height: auto;
		}

	div.couples_hapihote{
		width: 50%;
		float: left;
	}

		div.couples_hapihote img{
			width: 100%;
			height: auto;
		}

div.bottom_banner{
	padding: 50px 0px 50px 0px;
	width: 100%;
	background: url(/img/common/bottom_background.jpg) repeat-x;
}

@media screen and (max-width : 900px){
.wrap{
	width: 70%;
}

div.bottom_banner{
	padding: 5% 0px 5% 0px;
}
}
@media screen and (max-width : 640px){

.wrap{
	width: 90%;
}

div.top_bottom{
	font-size: 1.1em!important;
}
}
/* ----------------------------------------------------------------
   リンク
----------------------------------------------------------------- */
a:hover img{
	opacity: 0.85;
	filter: alpha(opacity=85);
	-ms-filter: "alpha(opacity=85)";
}
/* ----------------------------------------------------------------
   TOP
----------------------------------------------------------------- */
.top_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/top/background.webp) repeat-y;
}

ul.middle_nav{
	margin: 0 0 10px 0;
	width: 100%;
}

	ul.middle_nav li:nth-child(odd){
		margin: 0 0 2px 0;
		width: 50%;
		float: left;
	}
		ul.middle_nav li:nth-child(odd) img{
			width: 99%;
			height: auto;
		}

	ul.middle_nav li:nth-child(even){
		margin: 0 0 2px 0;
		width: 50%;
		text-align: right;
		float: right;
	}
		ul.middle_nav li:nth-child(even) img{
			width: 99%;
			height: auto;
		}

ul.sns_box{
	width: 100%;
	margin: 15px auto 10px auto;
}
	ul.sns_box li{
		width: 33.3%;
		float: left;
	}
		ul.sns_box li img{
			margin: 5% auto 5% auto;
			width: 90%;
			height: auto;
			display: block;
		}

		ul.sns_box li img.sns_botton{
			margin: 23px auto 0 auto;
			width: 182px;
		}

div.top_bottom{
	font-size: 1.3em;
	line-height: 1.4em;
	font-weight: bold;
	letter-spacing: 0em;
}


@media screen and (max-width : 900px){
.top_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/top/background_mobile.webp) repeat-y;
	background-size: 100%;
}
}

iframe {
  width: 100%;
}

/* ホテルグループリンクバナー */
#g-hotel {
	line-height: 4em;
}

#g-hotel li.hotel-name {
	font-size: 2.6em;
	font-weight: bold;
}

.chara {
	letter-spacing: -0.1em;
}
.chara2 {
	letter-spacing: -0.4em;
}

#g-hotel li a {
	text-decoration: none;
	color: #000;
}

#g-hotel li a:hover {
	color: #fff;
}

@media screen and (max-width : 900px){
#g-hotel {
	line-height: 2.5em;
}

#g-hotel li.hotel-name {
	font-size: 1.3em;
	font-weight: bold;
}

.charamb{
	letter-spacing: -0.1em;
}

}

/* ----------------------------------------------------------------
   business
----------------------------------------------------------------- */
.business_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/business/business_background.png) no-repeat;
}

@media screen and (max-width : 900px){
.business_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/business/business_background_mobile.jpg) no-repeat;
	background-size: 100%;
}
}

/* ----------------------------------------------------------------
   three_promises
----------------------------------------------------------------- */
.three_promises_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/top/background.png) no-repeat;
}

@media screen and (max-width : 900px){
.three_promises_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/top/background_mobile.jpg) no-repeat;
	background-size: 100%;
}
}

/* ----------------------------------------------------------------
   room
----------------------------------------------------------------- */
.room_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/room/room_background.png) no-repeat;
}

@media screen and (max-width : 900px){
.room_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/room/room_background_mobile.jpg) no-repeat;
	background-size: 100%;
}
}

/* ----------------------------------------------------------------
   price
----------------------------------------------------------------- */
.price_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/price/price_background.png) no-repeat;
}

.price_bg .wrap header .logo_wrap{
	margin: 0 0 5% 0;
	padding: 0 0 94% 0;
	background: url(/img/price/price_logo.png) no-repeat bottom;
	background-size: contain;
}

@media screen and (max-width : 900px){
.price_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/price/price_background_mobile.jpg) repeat-y;
	background-size: 100%;
}
}

/* ----------------------------------------------------------------
   coupon
----------------------------------------------------------------- */
.coupon_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/coupon/coupon_background.png) no-repeat;
}

.coupon_bg .wrap div.logo_wrap{
	margin: 0 0 0 0;
	padding: 0 0 63% 0;
	background: url(/img/coupon/coupon_logo.png) no-repeat bottom;
	background-size: contain;
}

ul.coupon_list li{
	position: relative;
}

	div.coupon_button{
		width: 30%;
		position: absolute;
		bottom: 2%;
		right: 2%;
	}

div.coupon_usage ul li{
	font-size: 1.3em;
	line-height: 1.4em;
	font-weight: bold;
	letter-spacing: 0em;
}

	div.coupon_usage ul li:before{
		content: '※';
	}

div.coupon_caution{
	text-align: center;
	color: #fff;
	background: #000;
}

div.coupon_usage p{
	font-size: 1.3em;
	line-height: 1.4em;
	font-weight: bold;
	letter-spacing: 0em;
}

@media screen and (max-width : 900px){
.coupon_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/coupon/coupon_background.jpg) repeat;
	background-size: 100%;
}

div.coupon_usage ul li{
	font-size: 1em;
}

div.coupon_usage p{
	font-size: 1em;
}
}

/* ----------------------------------------------------------------
   access
----------------------------------------------------------------- */
.access_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/access/access_background.png) no-repeat;
}

.access_copy{
	margin: 0 auto 2% auto;
	width: 90%;
}
	div.access_copy div.copy_img img{
		width: 100%;
		height: auto;
	}
	.access_copy input{
		padding: 8px 5px 8px 5px;
		margin: 0 auto;
		width: 80%;
		font-weight: bold;
		font-size: 2em;
		text-align: center;
		border: #000 solid 3px;
		display: block;
	}
div.map_button > div{
	width: 50%;
	float: left;
}

div.access_route > div ul li{
	width: 50%;
	float: left;
}
	div.access_route > div ul li img{
		padding: 0px 10px 0px 0px;
		width: 100%;
		height: auto;
		box-sizing: border-box;
	}
	div.access_route > div ul li:last-child img{
		padding: 0;
	}

.ggmap {
	border: #fff solid 3px;
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

	.ggmap iframe,
	.ggmap object,
	.ggmap embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

@media screen and (max-width : 900px){
.access_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/access/access_background_mobile.jpg) repeat-y;
	background-size: 100%;
}

.access_copy input{
	width: 100%;
}

}

@media screen and (max-width : 500px){
	.access_copy input{
		font-size: 1.5em;
	}
}

/* ----------------------------------------------------------------
   free_service
----------------------------------------------------------------- */
.free_service_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/free_service/free_background.png) no-repeat;
}

@media screen and (max-width : 900px){
.free_service_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/free_service/free_background_mobile.jpg) no-repeat;
	background-size: 100%;
}
}

/* ----------------------------------------------------------------
   cosplay
----------------------------------------------------------------- */
.cosplay_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/cosplay/cosplay_background.png) no-repeat;
}

@media screen and (max-width : 900px){
.cosplay_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/cosplay/cosplay_background_mobile.jpg) repeat-y;
	background-size: 100%;
}
}

/* ----------------------------------------------------------------
   service
----------------------------------------------------------------- */
.service_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/service/service_background.png) no-repeat;
}

div.free_rental ul li{
	width: 33.3%;
	float: left;
}

div.items_sold ul li{
	width: 50%;
	float: left;
}

	div.items_sold ul li:last-child{
		float: none;
	}

.service_bg .wrap{
	padding: 0 0 30% 0;
	position: relative;
}
	.annotation{
		position: absolute;
		bottom: 0;
	}

@media screen and (max-width : 900px){
.service_bg{
	padding: 10% 0 7% 0;
	width: 100%;
	background: url(/img/service/service_background_mobile.jpg) repeat-y;
	background-size: 100%;
}

.service_bg .wrap{
	padding: 0 0 35% 0;
}
}

/* ----------------------------------------------------------------
   massage
----------------------------------------------------------------- */
body.massage{
	background-color: #d3eadc;
}

.massage_bg{
	padding: 110px 0px 70px 0px;
	margin: 0 auto;
	width: 900px;
	background: url(/img/massage/massage_background.png) no-repeat;
}

.massage_bg .wrap div.logo_wrap{
	margin: 0 0 0 0;
	padding: 0 0 14% 0;
	background: url(/img/massage/rabbit.png) no-repeat bottom;
	background-size: contain;
}

.massage_title{
	margin: 5% 0 0 0;
	padding: 12% 0 0 0;
	background: url(/img/massage/flag.png) no-repeat;
	background-size: 100%;
	position: relative;
	width: 900px;
	right: 130px;
}

.massage_title img{
	width: 640px;
	margin: 0 auto;
	display: block;
}

.massage_text{
	margin: 40% 0 0 0;
	padding: 0 0 30% 0;
	text-align: center;
	font-size: 30px;
	line-height: 2.25em;
}

.massage_text em{
	color: red;
	background:url(/img/massage/line.png) bottom repeat-x;
	padding-bottom: 1%;
}

@media screen and (max-width : 900px){
	.massage_bg{
		padding: 10% 0 7% 0;
		width: 100%;
		background: url(/img/massage/massage_background_mobile.jpg) no-repeat;
		background-size: 100%;
	}

	.massage_title{
		margin: 10% 0 0 0;
		padding: 10% 0 0 0;
		background-size: 100%;
		width: 100vw;
		left: -15vw;
	}

	.massage_title img{
		width: 70%;
	}

	.massage_text{
		margin: 40% 0 0 0;
		padding: 0 0 30% 0;
		font-size: 3vw;
		line-height: 2.5em;
	}

	.massage_text em{
	background-size: 50vw;
	}
}

@media screen and (max-width: 640px){

	.massage_title{
		margin: 0 0 0 0;
		left: -5vw;
	}

	.massage_text{
		margin: 28% 0 0 0;
		padding: 0 0 30% 0;
		font-size: 2.8vw;
		line-height: 2.7em;
	}
}

@media screen and (max-width: 420px){

	.massage_text{
		margin: 24% 0 0 0;
	}
}

@media screen and (max-width: 370px){

	.massage_text{
		margin: 24% 0 0 0;
		font-size: 3.2vw;
		line-height: 2.4em;
	}
}

@media screen and (max-width: 325px){

	.massage_text{
		margin: 20% 0 0 0;
		font-size: 2.4vw;
		line-height: 2.4em;
	}
}