@charset "utf-8";

/* android対策 */
p { background-image: url(../images/pix.gif); }

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
		overflow-x: hidden;
	}

	/* header */
	header{
		display: block;
		width: 1280px;
	}
	article{
		position: relative;
		display: block;
		width: 1280px;
	}
	footer{
		width: 1280px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 480px) {
	/* header */
	header{
		max-width: 480px;
		width: 100%;
		height: auto;
		border-top: none;
		top: 0;
		padding: 50px 0 0;
		border: 0;
		/*z-index: 11;*/
	}
	header .wrapper{
		width: 100%;
		padding: 0;
	}

	/* スマホ用メニュー */
	.index #wrapper {
		overflow: hidden;
		min-width: 20pc;
		height: auto;
		padding: 0;
	}
	.drawer .contents {
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked~.contents {
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.index #navTgl {
		display: none;
		overflow: hidden;
	}
	.drawer label.pc_none {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	}
	.drawer .open{
		z-index: 101;
		width: 50px;
		height: 50px;
		color: #fff;
		background-color: #749e22;
		font-size: 2em;
		line-height: 50px;
		text-align: center;
		-webkit-transition: background-color 0.6s,-webkit-transform 0.6s;
		transition: background-color 0.6s,transform 0.6s;
	}
	.index #navTgl:checked+.open {
		color: #FFF;
		background-color: #3c2f20;
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.drawer .close {
		pointer-events: none;
		z-index: 1;
		width: 100%;
		height: 100%;
		transition: background-color 0.6s;
	}
	.drawer #navTgl:checked~.close {
		pointer-events: auto;
		background-color: rgba(0,0,0,.3);
		z-index: 2;
	}
	.menu{
		z-index: 3;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 10px;
		background-color: rgba(232,239,219,.8);
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
		box-sizing: border-box;
	}
	.index #navTgl:checked~.menu {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.menu li a{
		position: relative;
		color: #3c2f20;
	}
	.menu li a.arrow_d:after{
		content: "＞";
		position: absolute;
		display: block;
		font-size: 10px;
		height: 10px;
		top: 0;
		right: 1.5em;
		bottom: 0;
		margin: auto 0;
		transform: rotate(90deg);
	}
	.menu ul{
		padding: 0;
	}
	.menu li{
		position: relative;
		border-bottom: 1px solid rgba(255,255,255,.4);
		font-size: 0.9em;
		line-height: 1.4;
	}
	.menu li a{
		display: block;
		padding: 1em 2em .9em;
		text-decoration: none;
		transition: background-color 0.6s;
	}
	.menu .gsst_a{
		padding: 0!important;
	}
	.menu li a .en{
		position: relative;
		display: block;
		font-size: .5em;
	}
	.menu li a:hover {
		color: #FFF;
		background-color: #749e22;
	}
	.menu li a:hover span{
		color: #FFF;
	}
	.menu li ul{
		background: rgba(122,206,153,.9);
	}
	.menu li ul li:last-child{
		border-bottom: 0;
	}
	.header_box{
		height: auto;
		background: none;
		padding: 0;
	}
	header #lead,
	header .reservation_box,
	header .tel,
	header .businessHour,#gnav{
		display: none;
	}
	#header_logo{
		position: fixed;
		display: inline-block;
		width: 100%;
		height: 50px;
		top: 0;
		background: #FFF;
		z-index: 1;
		box-shadow: 0 0 5px rgba(0,0,0,.7);
	}
	#header_logo a{
		position: relative;
		display: block;
		width: 190px;
		height: 35px;
		background-image: url(../images/logo.png);
		top: 8px;
		left: 2%;
		transition: .3s;
		z-index: 2;
	}
	header .tel_btn{
		position: fixed;
		display: block;
		width: 48px;
		height: 48px;
		top: 0;
		right: 50px;
		z-index: 1;
		border: 1px solid #CCC;
	}
	header .tel_btn a{
		position: relative;
		display: block;
		width: 50px;
		font-size: 11px;
		line-height: 1em;
		text-align: center;
		padding-top: 10px;
	}
	header .tel_btn a::before{
		content: "\f095";
		display: block;
		color: #749e22;
		font-size: 20px;
		line-height: 1em;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		transform: scale(-1, 1);
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto 4px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		position: fixed;
		display: block;
		width: 30%;
		height: auto;
		z-index: 100;
		font-size: 12px;
		padding: 8px 2px;
		border-radius:8px;
		background: #749e22;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		text-align: center;
		color: #FFF;
		text-decoration: none;
		bottom: 12px;
		left: 12px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 481px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}

@media screen and (min-width:1021px) {
	#switch{
		display: block;
		height: auto;
	}
	li a#btnPC{
		display: none;
	}
	li a#btnSP{
		position: fixed;
		display: block!important;
		width: 300px;
		height: auto;
		z-index: 100;
		font-size: 24px;
		padding: 8px;
		text-align: center;
		border-radius: 22px;
		background: #3c2f20;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		color: #FFF;
		text-decoration: none;
		bottom: 110px;
		left: 30px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 1023px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	html{
		max-width: 480px;
		width: 100%;
		-webkit-text-size-adjust: 100%!important;
		overflow-x: hidden;
	}
	body {
		max-width: 480px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		box-shadow: none;
		font-size: 16px;
		line-height: 20pt;
		letter-spacing: .04em;
		-webkit-text-size-adjust: 100%!important;
	}

	/* layout
	------------------------------ */
	.wrapper{
		max-width: 480px;
		width: 92%;
		margin: 0;
		padding: 0 4%;
	}

	/* bxslider */
	#slider div{
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	.bx-wrapper{
		position: relative;
		display: block;
		height: 225px;
	}
	.bx-wrapper .bx-viewport{
		height: 225px!important;
	}
	.bxslider li:before{
		width: 320px;
		height: 225px;
		background-position: center left 10%;
		-webkit-background-size: auto 90%;
		background-size: auto 90%;
		margin-left: 0;
		z-index: 1000;
	}
	.bxslider li{
		width: 100%;
		position: relative;
		height: 225px;
	}
	.bxslider li:nth-child(1){
		background: url(../images/sp_slider1.jpg) no-repeat center left;
		-webkit-background-size: auto 225px;
		background-size: auto 225px;
	}
	.bxslider li:nth-child(2){
		background: url(../images/sp_slider2.jpg) no-repeat center left;
		-webkit-background-size: auto 225px;
		background-size: auto 225px;
	}
	.bxslider li:nth-child(3){
		background: url(../images/sp_slider3.jpg) no-repeat center left;
		-webkit-background-size: auto 225px;
		background-size: auto 225px;
	}


	.btn a{
		width: 180px;
		height: auto;
		line-height: 150%;
		padding: 15px 0 14px 20px;
	}
	.btn a:after{
		width: 14px;
		height: 14px;
		right: 10px;
	}
	.reservation_box{
		display: block;
		padding: 0 6px;
	}
	.tel{
		font-size: 33px;
	}

	/* Common
	------------------------------ */
	.sp_none{
		display: none!important;
		z-index: 0;
	}
	article{
		width: 100%;
		overflow: hidden;
	}
	.fl_l,.fl_r{
		clear: both;
		float: none;
	}
	.logo{
		width: 280px;
		height: 44px;
		margin: 0 auto;
	}

	/* main_contents
	------------------------------ */
.main_contents h2{
	position: relative;
	display: block;
	font-size: 26px;
	font-family : Arial,'ＭＳ Ｐゴシック',sans-serif;
	text-align: center;
	line-height: 1em;
	margin-bottom: 30px;
	padding: 30px 0;
	background-image: url(../images/h2_bg.png), url(../images/border.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: center top, bottom center;
	-webkit-background-size: 66px, 136px auto;
	background-size: 66px, 136px auto;
}
.main_contents h2 span{
	position: relative;
	display: block;
	color: #714c33;
	font-size: 12px;
	font-weight: 400;
	line-height: 1em;
	padding-top: 20px;
}
.main_contents h3{
	position: relative;
	display: block;
	color: #749e22;
	font-size: 22px;
	font-weight: 600;
}
	.main_contents .mainText{
		line-height: 2em;
	}
.borderB{
	position: relative;
	display: block;
	background: url(../images/border.svg) repeat-x 0 0;
	-webkit-background-size: 141px auto;
	background-size: 141px auto;
}
	.whiteBox{
		padding: 8% 6%;
	}
.num{
	position: relative;
	display: block;
	width: 98px;
	height: 83px;
	color: #FFF;
	font-size: 12px;
	font-family : Arial,'ＭＳ Ｐゴシック',sans-serif;
	text-align: center;
	border-radius: 50%;
	background: #749e22;
	margin: -50px auto 0;
	padding-top: 15px;
}
.num span{
	position: relative;
	display: block;
	font-size: 46px;
	font-style: italic;
	margin-left: -4px;
}
	.img-wrap:before{
		display: none;
	}

	/* greeting */
	#greeting{
		padding: 70px 0 80px;
	}
	#greeting h2{
		width: 100%;
		background-repeat: no-repeat;
		-webkit-background-size: contain;
		background-size: contain;
		-webkit-background-size: contain;
		background-size: contain;
		margin: 0 auto 20px;
		padding: 0 0 23%;
	}
	#greeting li:first-child h2{
		height: auto;
		background-image: url(../images/sp_greeting_h2-1.svg);
	}
	#greeting li:nth-child(2) h2{
		height: auto;
		background-image: url(../images/sp_greeting_h2-2.svg);
		padding-bottom: 12%;
	}
	#greeting h2 img{
		display: none;
	}
	#greeting h3{
		font-size: 18px;
		line-height: 1.3em;
		letter-spacing: .02em;
	    margin-bottom: 10px;
	    padding-bottom: 8px;
        background: linear-gradient(transparent 70%, #e2ebd2 70%);
	}
	#greeting h3.logotype:first-child{
		padding-left: 32px;
	}
	#greeting h3.logotype:first-child:before{
		content: "";
		position: absolute;
		display: block;
		width: 20px;
		height: 20px;
		top: 12px;
		left: 6px;
	}
	#greeting p{
		line-height: 2em;
		letter-spacing: .01em;
	}
	#greeting .movie{
		width: 100%;
		height: auto;
		margin: 20px auto;
	}
	#greeting .movie video{
		width: 100%;
	}
	#greeting .figure{
		width: 280px;
		height: auto;
		margin: 30px auto 40px;
	}
	#greeting .pict_list{
		display: none;
		margin-bottom: 60px;
	}
	#greeting .pict_list li{
		width: 100%;
		height: auto;
		margin: 0 auto 20px;
	}
	#greeting .pict_list li:last-child{
		margin: 0 auto;
	}
	#greeting .float:nth-child(2) .pict{
		height: 300px;
		margin: 40px auto 0;
		overflow: hidden;
	}
	#greeting .float:nth-child(2) p{
		line-height: 1.9em;
	}
	#greeting .float:nth-child(2) p.name{
		margin-top: 60px;
		margin-right: 0;
	}
	.careerBox{
		width: 90%;
		height: auto;
		padding: 8% 5%;
		background: #e8efdb;
		margin: 46px auto 0;
	}
	.careerBox h4,#price h2{
		position: relative;
		display: block;
		width: 96%;
		height: auto;
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
		margin-bottom: 10px;
		padding: 0 0 0 4%;
		vertical-align: top;
	}
	.careerBox dl,#price ul{
		display: block;
		margin: 0 auto;
		padding: 0;
		font-size: 14px;
		line-height: 2.1em;
		background: none;
	}
	.careerBox dl dt{
		width: auto;
	}
	.careerBox dl dd{
		padding-left: 95px;
	}

	/* about */
	#about,#questions{
		padding: 70px 0 80px;
	}
	#about ul{
		margin: 80px auto 110px;
	}
	#about ul li{
		display: block;
		width: 88%;
		height: auto;
		line-height: 1.5em;
		letter-spacing: .05em;
		text-align: center;
		border: 0;
		margin: 0 auto 50px;
		padding: 6%;
		white-space: normal;
	}
	#about ul li:last-child{
		margin: 0 auto;
	}
	#about ul li:before{
		font-size: 40px;
		letter-spacing: .06em;
		top: -15px;
		right: 0;
	}
	#about ul li h3{
		line-height: 1.3em;
		margin: 26px 0 20px;
		padding-bottom: 15px;
	}
	#about .logo{
		margin-bottom: 14px;
	}
	#about .reservation_box{
		margin: 5px auto 0;
	}
	#about .fl_l{
		text-align: center;
	}
	#about .float dl{
		width: 100%;
		margin: 20px auto 24px;
	}
	dl.closed_day dd{
		padding: 18px 0 16px 36px;
	}
	.sp_lay{
		position: relative;
		display: block;
		width: 100%;
		height: auto;
		overflow-x: scroll;
		padding-bottom: 8px;
	}
	/*バーの太さ*/
	.sp_lay::-webkit-scrollbar{
		width: 5px;
		height: 5px;
	}
	/*バーの背景色*/
	.sp_lay::-webkit-scrollbar-track{
		background:#dddddd;
	}
	/*バーの色*/
	.sp_lay::-webkit-scrollbar-thumb{
		background: #749e22;
	}
	table.medical tr th:first-child,
	table.medical tr td:first-child{
		white-space: nowrap;
	}
	table.medical tr td{
		padding: 0 5px 0 4px;
	}
	#about .ggmap{
		border-width: 12px;
		margin: 20px auto 0;
	}
	.ggmap iframe{
		width: 100%;
		height: 300px;
	}
	#about .whiteBox{
		margin-top: 50px;
	}
	#about .whiteBox h3:first-child{
		display: block;
		line-height: 1em;
		margin: 0;
		padding: 0;
		background: none;
	}
	#about .whiteBox .lead{
		display: block;
		margin-top: 10px;
	}
	#about .whiteBox h3:nth-child(3){
		line-height: 1.4em;
		margin-bottom: 10px;
	}
	#about .whiteBox ul li{
		position: relative;
		display: inline-block;
		width: 49%;
		line-height: 1.5em;
		letter-spacing: .04em;
		margin-right: 2%;
		margin-bottom: 20px;
		padding: 0;
	}
	#about .whiteBox ul li:nth-child(2n),
	#about .whiteBox ul.right li:last-child{
		margin-right: 0;
	}
	#about .whiteBox ul li:after{
		display: none;
	}
	#about .whiteBox ul li .pict{
		margin-bottom: 6px;
	}
	#about .whiteBox ul.right li{
		clear: both;
		float: none;
	}
	#about .whiteBox ul.right li:first-child{
		margin-right: 2%;
	}
	#about .whiteBox ul.right li:last-child:after{
		display: none;
	}

	/* menu */
	#menu{
		padding: 70px 0 80px;
	}
	#menu .left_pict{
		width: 80%;
		height: auto;
		margin: 0 auto 20px;
	}
	#menu h3{
		display: block;
		font-size: 22px;
		line-height: 1.2em;
	}
	#menu h4{
		font-size: 18px;
		letter-spacing: .02em;
		padding-left: 0;
		margin: 18px 0 0;
	}
	#menu .float p{
		line-height: 2em;
		letter-spacing: .02em;
	}
	#menu ul{
		letter-spacing: -.4em;
		line-height: 0;
		margin: 96px 0 60px;
	}
	#menu ul li{
		display: block;
		width: 100%;
		height: auto;
		line-height: 1.9em;
		letter-spacing: .04em;
		margin: 0 auto 30%;
		padding: 12% 0 7%;
	}
	#menu ul li:last-child{
		margin: 0 auto;
	}
	#menu .num{
		position: absolute;
		margin-top: 0;
		top: -20%;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	#menu ul li h3{
		width: 90%;
		font-size: 20px;
		line-height: 1.5em;
		margin: 18px auto 16px;
		padding: 0 0 14px;
	}
#menu ul li p{
	padding: 0 26px;
	letter-spacing: .12em;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
	#menu .greenBox{
		width: 90%;
		height: auto;
		padding: 8% 5%;
		margin: 0 auto 30px;
	}
	#menu p:nth-child(6){
		line-height: 2em;
		letter-spacing: .02em;
		margin-top: 14px;
	}

	#menu .beigeBox{
		margin-top: 87px;
		padding: 8% 5%;
	}
	#menu .beigeBox h3{
		width: auto;
		margin: 0 auto 14px;
		text-align: center;
	}
	#menu .beigeBox ul li{
		width: 90%;
		margin: 0 auto 90px;
		padding: 8% 5%;
	}
	#menu .beigeBox ul li:last-child{
		margin-bottom: 0;
	}
	#menu .beigeBox ul li .menuBox{
		text-align: left;
		padding-bottom: 30px;
		margin-bottom: 40px;
	}
	#menu .beigeBox ul li .leftMenu,
	#questions h3{
		display: block;
		margin: -80px auto 0;
	}
	#menu .beigeBox ul li .leftMenu{
		cursor: pointer;
	}
	#menu .beigeBox ul li ol{
		display: block;
		width: 100%;
		margin-top: 16px;
	}
	#menu .beigeBox ul li ol li.check,
	.check{
		width: 100%;
		height: auto;
		line-height: 1.5em;
		margin: 0 auto 5%;
		padding: 10px 5% 10px 40px;
		text-align: left;
		box-sizing: border-box;
	}
	#menu .beigeBox .whiteBox .fl_l p.check{
		line-height: 1.5em;
		background: none;
		margin-bottom: 18px;
		padding: 5px 5% 5px 20px;
	}
	#menu .beigeBox ul li ol li.check::before,
	.check::before{
		position: absolute;
		margin-right: 7px;
		top: 10px;
		left: 14px;
	}
	.check::before{
		top: 8px;
		left: 0;
	}
	#menu .beigeBox ul li:nth-child(2) ol li.check,
	#menu .beigeBox ul li:nth-child(3) ol li.check{
		width: 100%;
	}
	#menu .beigeBox ul li:nth-child(2) ol li.check:nth-child(2n),
	#menu .beigeBox ul li:nth-child(3) ol li.check:nth-child(2n){
		margin: 0 auto 5%;
	}
	#menu .beigeBox ul li .pict_list{
		width: 100%;
		margin-bottom: 20px;
	}
	#menu .beigeBox ul li .pict_list li{
		width: 100%;
		margin: 0 auto 5%;
	}
	#menu .beigeBox .whiteBox .fl_l{
		width: 100%;
	}
	#menu .beigeBox .whiteBox .fl_l h4{
		font-size: 18px;
		margin-bottom: 0;
	}
	#menu .beigeBox .whiteBox .fl_l p{
		margin-bottom: 30px;
	}
	#menu .beigeBox .whiteBox .fl_l .greenBox{
		width: 90%;
		padding: 8% 5%;
	}
	#menu .beigeBox .whiteBox .fl_l .greenBox ul li{
		text-align: center;
	}
	#menu .beigeBox .whiteBox .fl_l .greenBox ul li .num{
		position: relative;
		display: block;
		margin: 0 auto 20px;
		vertical-align: top;
		top: 0;
	}
	#menu .beigeBox .whiteBox .fl_l .greenBox ul li .right{
		display: block;
		top: 0;
	}
	#menu .beigeBox .whiteBox .fl_l .greenBox ul li p{
		text-align: center;
	}
	#menu .beigeBox ul li .grayBox li:first-child{
		width: 90%;
		padding: 5%;
	}
	#menu .beigeBox ul li ol.checkList,
	#menu .beigeBox ul li .menuBox,
	#menu .beigeBox ul li ol.pict_list,
	#menu .beigeBox ul li .fl_l{
		display: none;
	}
	/* menu ここまで */

	/* price ここから*/
	#price{
		height: auto;
		padding: 80px 0;
		background-image: url(../images/sp_price_bg.jpg);
	}
	#price .wrapper{
		width: 92%;
		height: auto;
		padding: 8% 4%;
	}
	#price h2{
		height: auto;
		padding: 5px 0;
	}
	#price ul{
		width: 100%;
		height: auto;
		margin: 20px auto;
	}
	#price ul li{
		display: block;
		width: 90%;
		letter-spacing: .08em;
		line-height: 1.5em;
		padding: 8% 5%;
		margin: 0 auto 20px;
	}
	#price ul li:nth-child(2){
		margin: 0 auto 20px;
	}
	#price ul li:nth-child(3){
		margin: 0 auto;
	}
	#price ul li h3 span{
		display: block;
		clear: both;
		float: none;
		margin-top: 10px;
	}
	#price ul li h3 span span{
		display: inline;
	}
	#price ul li dl dt{
		width: 76px;
	}
	#price ul li dl dd{
		margin-left: 76px;
	}

	/* questions */
	#questions .borderB{
		margin-bottom: 45px;
		padding-bottom: 27px;
		background-position: left bottom;
	}
	#questions .borderB:nth-child(3){
		margin-top: 40px;
	}
	#questions h3{
		margin-top: 0;
		margin-bottom: 20px;
		cursor: pointer;
	}
	.faq_list_box{
		display: none;
		width: 100%;
		margin: 0 auto;
	}
	.faq_list_box dt {
		font-size: 16px;
		margin-bottom: 18px;
		padding-left: 34px;
	}
	.faq_list_box dt:before{
		top: 19px;
		left: 15px;
	}
	.faq_list_box dd{
		display: none;
		padding-left: 34px;
	}

	/* contact */
	#contact{
		padding: 80px 0 70px;
	}
	#contact .mainText{
		margin-bottom: 66px;
	}
	#mailformpro{
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	#mailformpro table{
		width: 100%;
	}
	#mailformpro table tr th{
		position: relative;
		display: block;
		width: 100%;
		margin-bottom: 8px;
	}
	#mailformpro table tr td{
		position: relative;
		display: block;
		width: 100%;
	}
	#mailformpro table tr td input[type="text"],
	#mailformpro table tr td input[type="email"],
	#mailformpro table tr td textarea{
		clear: both;
		float: none;
		width: 94%!important;
		margin-bottom: 30px;
		max-width: 100%!important;
	}
	#mailformpro table tr td textarea{
		margin-bottom: 0;
	}
	#privacy_policy{
		clear: both;
		float: none;
		width: 100%;
		margin: 40px auto 20px;
		padding: 8% 5%;
	}
	.mfp_buttons{
		position: relative;
		display: block;
		clear: both;
		float: none;
		width: 100%;
		text-align: center;
	}
	div.mfp_err{
		padding-left: 25px!important;
		background-position: 8px 5px!important;
	}

	/* reason */
	#reason{
		height: auto;
		padding: 80px 0 70px;
	}
	#reason ul{
		padding: 5%;
	}
	#reason ul li{
		display: block;
		height: auto;
		line-height: 2em;
		letter-spacing: .03em;
		padding: 8% 5%;
		vertical-align: top;
	}
	#reason ul li:first-child,
	#reason ul li:nth-child(2){
		width: 90%;
		margin: 0 auto;
	}
	#reason ul li h2{
		font-size: 22px;
		line-height: 1.5em;
		letter-spacing: -.02em;
		margin-bottom: 12px;
		padding: 8px 0 18px;
	}
	#reason ul li:nth-child(2) h2{
		letter-spacing: -.02em;
	}

	/* Footer
	------------------------------ */
	footer{
		width: 100%;
		padding-top: 80px;
	}
	footer .linklist{
		letter-spacing: -.4em;
		line-height: 0;
		text-align: center;
		margin-bottom: 80px;
	}
	footer .linklist li{
		display: block;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	footer .linklist li:last-child{
		margin: 20px auto 0;
	}
	#footer_logo{
		margin: 0 auto 10px;
	}
	footer .reservation_box{
		margin: 0 auto 10px;
	}
	footer .ggmap{
		padding: 5%;
		margin: 20px auto 50px;
	}
	.footer_menu{
		display: none;
	}
	#copyright{
		height: auto;
		line-height: 1.7em;
		padding: 20px 0 120px;
	}

	/* page top */
	.pagetop {
		bottom: 12px;
		right: 12px;
	}
}
