@charset "utf-8";

/* Body
------------------------------ */
html{
	overflow-x: hidden;
}
body {
	box-shadow: none;
	color: #3c2f20;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 23pt;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%!important;
	top: 0!important;
}
@font-face {
	font-family: 'logotype';
	src: url('../font/logotype.eot'); /* IE9以上用 */
	src: url('../font/logotype.eot?#iefix') format('embedded-opentype'), /* IE8以前用 */
	url('../font/logotype.woff') format('woff'), /* モダンブラウザ用 */
	url('../font/logotype.ttf') format('truetype'); /* iOS, Android用 */
	font-weight: normal;
	font-style: normal;
}
.logotype {
	font-family: 'logotype'!important;
}
a:link{
	color: #749e22;
	text-decoration: none;
}
a:visited {
	color: #749e22;
}
a:active {
	color: #749e22;
}
a:hover {
	color: #749e22;
}
a{
	transition: .3s;
}

.text_link {
	display: inline-block;
	text-decoration: none;
	color: #749e22;
}
/* reset default css */
.text_link:after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #749e22;
	margin: -6px auto 0;
	border-radius: 1px;
}
.text_link:hover{
	text-decoration: none;
}
.text_link:hover:after {
	width: 100%;
}
.emphasis{
	font-weight: 600;
	color: #da001e;
}
.caution{
	position: relative;
	display: block;
	font-size: 14px;
	padding-left: 1em!important;
	text-indent: -1em;
	line-height: 1.4em;
	margin-top: 14px;
}
.caution:before{
	content: "※";
}

/* layout
------------------------------ */
.wrapper{
	position: relative;
	display: block;
	clear: both;
	float: none;
	width: 1250px;
	margin: 0 auto;
	padding: 0 15px;
}

/* Common
------------------------------ */
.clear{
	clear: both;
	float: none;
	height: 0;
}
.fl_l{
	position: relative;
	display: block;
	float: left;
}
.fl_r{
	position: relative;
	display: block;
	float: right;
}
.float::before,.float::after,
.wrapper::after,
.wrapper::before{
	content: "";
	display: block;
	clear: both;
}
.pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.pict_list{
	letter-spacing: -.4em;
	line-height: 0;
}
.pict_list li{
	position: relative;
	display: inline-block;
}
.reservation_box{
	position: relative;
	display: inline-block;
	color: #FFF;
	font-size: 14px;
	font-weight: 600;
	line-height: 32px;
	text-align: center;
	background: #749e22;
	padding: 0 10px;
	vertical-align: top;
}
.tel{
	position: relative;
	display: inline-block;
	width: auto;
	color: #749e22;
	font-size: 40px;
	font-weight: 600;
	line-height: 1em;
	margin: 0 auto;
}
.tel:before{
	content: "";
	position: relative;
	display: inline-block;
	width: 16px;
	height: 28px;
	background: url(../images/phone.svg) no-repeat top left;
	-webkit-background-size: 16px auto;
	background-size: 16px auto;
	top: 0;
	margin-right: 8px;
}

/* Header
------------------------------ */
header{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#header_logo a,
#fix-header-logo a,.logo{
	position: relative;
	display: block;
	width: 373px;
	height: 58px;
	text-indent: -9999px;
	background: url(../images/logo.png) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin-top: 4px;
}
#header_logo a:hover,
#fix-header-logo a:hover{
	opacity: 0.6;
}
header #lead{
	position: relative;
	display: block;
	color: #714c33;
	font-size: 14px;
	font-weight: 400;
	line-height: 1em;
	margin-bottom: 20px;
	padding-top: 20px;
}
header .reservation_box{
	background: #714c33;
	margin-top: 6px;
	margin-right: 15px;
}
header .businessHour{
	color: #714c33;
	text-align: right;
}
header .businessHour span{
	font-weight: 600;
}

/* gnav */
#gnav ul{
	position: relative;
	display: block;
	width: 1110px;
	letter-spacing: -.4em;
	text-align: center;
	z-index: 1;
	margin-top: 20px;
	padding-bottom: 16px;
}
#gnav ul li,
.fix-header ul li{
	position: relative;
	display: inline-block;
	width: 140px;
	letter-spacing: .04em;
	margin-right: 102px;
}
#gnav ul li:last-child,
.fix-header ul li:last-child{
	margin-right: 0;
}
#gnav ul li a,
.fix-header ul li a{
	position: relative;
	display: block;
	color: #714c33;
	font-weight: 600;
	line-height: 1em;
}
#gnav ul li a span,
.fix-header ul li a span{
	position: relative;
	display: block;
	color: #749e22;
	font-size: 12px;
	font-family : Arial,'ＭＳ Ｐゴシック',sans-serif;
	font-weight: 400;
	margin-top: 10px;
	padding-top: 13px;
	background: url(../images/border.svg) no-repeat center top;
	-webkit-background-size: contain;
	background-size: contain;
}

/* for Scroll Fix Header */
.fix-header {
	position: fixed;
	line-height: 65px;
	top: -65px;/* 上に隠す鷹さ */
	left: 0;
	text-align: center;
	width: 100%;
	height: 80px;
	margin: 0 auto;
	background: #FFF;
	box-shadow: 0 0 2px rgba(0,0,0,.5);
	opacity: 0;
	z-index: 1000;
}
.customize-support .fix-header{
	margin-top: 32px;
}
#fix-header-logo a{
	width: 220px;
	height: 40px;
	top: 14px;
}
.fix-header-contents{
	width: 1250px;
	margin: 0 auto;
}
.fix-header ul{
	letter-spacing: -.4em;
	margin: 5px auto 0;
	padding-left: 300px;
}
.fix-header ul li{
	vertical-align: top;
	line-height: 1em;
	margin-top: 8px;
	margin-right: 62px;
}

/* bxslider */
.bxslider li{
	position: relative;
	width: 100%;
	height: 500px;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	background-size: cover;
}
.bxslider li img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
/*.bxslider li:first-child{
	background-image: url(../images/slider1.jpg);
}
.bxslider li:nth-child(2){
	background-image: url(../images/slider2.jpg);
}
.bxslider li:nth-child(3){
	background-image: url(../images/slider3.jpg);
}*/
.bxslider li:before{
	content: "";
	position: absolute;
	display: block;
	width: 776px;
	height: 500px;
	background: url(../images/slider_catch.svg) no-repeat center right;
	-webkit-background-size: auto 435px;
	background-size: auto 435px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 1;
}
.bx-wrapper .bx-pager{
	bottom: -45px!important;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active{
	background: #ae9f69!important;
}
.bx-wrapper .bx-pager.bx-default-pager a{
	background: #c4c4c4!important;
}

/* 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{
	position: relative;
	display: block;
	text-align: center;
	line-height: 2.5em;
}
.borderB{
	position: relative;
	display: block;
	background: url(../images/border.svg) repeat-x 0 0;
	-webkit-background-size: 141px auto;
	background-size: 141px auto;
}
.whiteBox{
	position: relative;
	display: block;
	padding: 32px;
	background: #FFF;
}
.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;
}
.greenBox{
	position: relative;
	display: block;
	background: #e8efdb;
}
.img-wrap {
	position: relative;
	overflow: hidden;
}
.img-wrap:before{
	animation: img-wrap 2s cubic-bezier(.4, .4, .2, 1) forwards;
	animation-duration: 2s;
	background: #fff;
	bottom: 0;
	content: '';
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}
#greeting li:nth-child(1) .img-wrap:before{
	animation-delay: 1s;
}
#greeting li:nth-child(2) .img-wrap:before{
	animation-delay: 5s;
}
@keyframes img-wrap {
	100% {
		transform: translateY(100%);
	}
}
@keyframes fadeIn{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}

/* greeting */
#greeting{
	padding: 110px 0 125px;
}
#greeting h2{
	width: 129px;
	padding-top: 0;
	margin-left: 70px;
	margin-right: 35px;
	background: none;
}
#greeting li:first-child h2{
	height: 574px;
}
#greeting li:nth-child(2) h2{
	height: 322px;
}
#greeting h3{
	position: relative;
	display: inline-block;
	color: #3c2f20;
	font-size: 26px;
	font-weight: 400;
	text-align: left;
	line-height: 1em;
	letter-spacing: .02em;
    background: linear-gradient(transparent 50%, #e2ebd2 50%);
    margin-bottom: 20px;
    padding-bottom: 8px;
}
#greeting h3.logotype:first-child{
    padding-left: 18px;
}
#greeting h3.logotype:first-child:before{
	content: "";
	position: relative;
	display: inline-block;
	width: 27px;
	height: 27px;
	background: url(../images/logomark.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: 2px;
	left: -8px;
}
#greeting p{
	line-height: 2.5em;
	letter-spacing: .08em;
}
#greeting .movie{
	width: 560px;
	height: 420px;
	background: #000;
	box-shadow: 5px 5px 10px rgba(0,0,0,.55);
	margin: 40px 0 55px;
}
#greeting .movie video{
	width: 560px;
}
#greeting .figure{
	width: 357px;
	height: 306px;
	margin: 90px 0 0 74px;
}
#greeting .pict_list{
	clear: both;
	float: none;
	margin-bottom: 106px;
}
#greeting .pict_list li{
	width: 316px;
	height: auto;
	margin-right: 34px;
}
#greeting .pict_list li:last-child{
	margin-right: 0;
}
#greeting .float:nth-child(2) .pict{
	width: 240px;
	height: 419px;
}
#greeting .float:nth-child(2) p{
	line-height: 2.3em;
}
#greeting .float:nth-child(2) p.name{
	position: relative;
	display: block;
	text-align: right;
	margin-top: 40px;
	/*margin-right: 270px;*/
}
#greeting .float:nth-child(2) p.name span{
	font-size: 29px;
}
[data-ruby] {
	position: relative;
	text-align: center;
}
[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: -2em;
	left: 0;
	right: 0;
	color: #749e22;
	margin: auto;
	font-size: 16px;
}
/* 以下追加 */
rt {
    display: none;
}

.careerBox{
	position: relative;
	display: block;
	width: 943px;
	height: auto;
	padding: 30px 36px;
	background: #e8efdb;
	margin: 46px auto 0;
}
.careerBox h4,#price h2{
	position: relative;
	display: inline-block;
	width: 40px;
	height: 92px;
	color: #FFF;
	font-size: 18px;
	line-height: 40px;
	background: #749e22;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding-top: 10px;
	vertical-align: top;
}
.careerBox dl,#price ul{
	position: relative;
	display: inline-block;
	margin-left: 32px;
	padding-left: 36px;
	font-size: 14px;
	line-height: 2.1em;
	background: url(../images/borderGreen.svg) no-repeat top left;
	-webkit-background-size: 5px auto;
	background-size: 5px auto;
}
.careerBox dl dt{
	position: relative;
	display: block;
	float: left;
	width: 162px;
	color: #749e22;
	font-weight: 600;
}
.careerBox dl dd{
	padding-left: 162px;
}

/* about */
#about,#questions{
	background: #f3f2eb;
	padding: 105px 0 135px;
}
#about ul{
	letter-spacing: -.4em;
	line-height: 0;
	margin: 80px auto 110px;
}
#about ul li{
	position: relative;
	display: inline-block;
	width: 300px;
	height: 390px;
	line-height: 1.8em;
	letter-spacing: .05em;
	text-align: center;
	border: 40px solid #FFF;
	vertical-align: top;
	margin-right: 55px;
	background: #FFF;
	white-space: nowrap;
}
#about ul li:last-child{
	margin-right: 0;
}
#about ul li:before{
	content: "";
	position: absolute;
	display: block;
	color: #714c33;
	font-size: 52px;
	font-style: italic;
	font-family : Arial,'ＭＳ Ｐゴシック',sans-serif;
	letter-spacing: .06em;
	top: -53px;
	right: -10px;
}
#about ul li:first-child:before{
	content: "01";
}
#about ul li:nth-child(2):before{
	content: "02";
}
#about ul li:nth-child(3):before{
	content: "03";
}
#about ul li h3{
	text-align: center;
	line-height: 1em;
	background-position: center bottom;
	margin: 26px 0 20px;
	padding-bottom: 25px;
}
#about .logo{
	margin-bottom: 20px;
}
#about .reservation_box{
	margin-left: 9px;
}
#about .fz14{
	font-size: 14px;
	letter-spacing: .09em;
	margin-bottom: 8px;
}
#about .tel{
	font-size: 33px;
}
#about .tel:before{
	width: 14px;
	height: 26px;
	-webkit-background-size: contain;
	background-size: contain;
	top: 2px;
	margin-right: 4px;
}
#about .businessHour{
	font-size: 14px;
	line-height: 1em;
	margin-top: 12px;
}
#about .float dl{
	position: relative;
	display: block;
	width: 464px;
	font-size: 14px;
	margin: 20px 0 24px;
}
dl.closed_day dt{
	position: relative;
	display: block;
	float: left;
	font-weight: 600;
	line-height: 1em;
	padding: 18px 0 16px;
}
dl.closed_day dd{
	line-height: 1em;
	padding: 18px 0 16px 86px;
	background-position: center bottom;
}
table.medical tr th{
	color: #FFF;
	font-size: 14px;
	line-height: 45px;
	padding: 0 16px 0 15px;
	background: #714c33;
	border-right: .2px solid #c2bda9;
}
table.medical tr th:first-child{
	text-align: left;
	padding-left: 16px;
	border-left: .2px solid #c2bda9;
}
table.medical tr td{
	color: #714c33;
	font-size: 14px;
	line-height: 45px;
	border-right: .2px solid #714c33;
	border-bottom: .2px solid #714c33;
	text-align: center;
	padding: 0 16px 0 15px;
}
table.medical tr td:first-child{
	border-left: .2px solid #714c33;
}
#about .ggmap{
	border: 22px solid #FFF;
}
#about .whiteBox{
	margin-top: 94px;
}
#about .whiteBox h3:first-child{
	display: inline-block;
	line-height: 1em;
	margin-right: 24px;
	padding: 4px 26px 28px 0;
	background: url(../images/borderV.svg) repeat-y right top;
	-webkit-background-size: 3px auto;
	background-size: 3px auto;
	vertical-align: top;
}
#about .whiteBox .lead{
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-top: -4px;
}
#about .whiteBox h3:nth-child(3){
	position: relative;
	display: block;
	line-height: 1em;
	margin: 26px 0;
	padding-top: 26px;
	border-top: .5px solid #ae9f69;
}
#about .whiteBox ul{
	margin: 0 auto;
}
#about .whiteBox ul li{
	width: 150px;
	height: auto;
	border: 0;
	font-size: 12px;
	line-height: 1.5em;
	letter-spacing: .04em;
	margin-right: 57px;
	margin-bottom: 40px;
	white-space: normal;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
#about .whiteBox ul li:last-child,
#about .whiteBox ul.right li:first-child{
	margin-right: 0;
}
#about .whiteBox ul li:before{
	display: none;
}
#about .whiteBox ul li:after{
	content: "";
	position: absolute;
	display: block;
	width: 25px;
	height: 49px;
	background: url(../images/arrow.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: 80px;
	right: -40px;
}
#about .whiteBox ul.right li:after{
	transform: scale(-1, 1);
	filter: FlipH;
	-ms-filter: "FlipH";
}
#about .whiteBox ul:nth-child(4) li:last-child:after{
	top: auto;
	left: 0;
	right: 0;
	bottom: -52px;
	margin: 0 auto;
	transform: rotate(90deg);
}
#about .whiteBox ul.right li:first-child:after{
	display: none;
}
#about .whiteBox ul li .pict{
	margin-bottom: 12px;
}
#about .whiteBox ul.right li{
	float: right;
}
#about .whiteBox ul.right li:last-child{
	margin-right: 57px;
}
#about .whiteBox ul.right li:last-child:after{
	display: block;
}

/* menu */
#menu{
	padding: 147px 0 120px;
}
#menu .left_pict{
	width: 380px;
	height: auto;
	margin-right: 40px;
}
#menu h3{
	display: inline;
	color: #3c2f20;
	font-size: 26px;
	line-height: 1em;
	letter-spacing: .02em;
    background: linear-gradient(transparent 50%, #e2ebd2 50%);
    padding: 0 4px 8px;
}
#menu h4{
	color: #749e22;
	font-size: 22px;
	padding-left: 1em;
	margin: 24px 0 16px;
}
#menu h4.pl0{
	padding-left: 0;
}
#menu .float p{
	line-height: 2.4em;
}
#menu ul{
	letter-spacing: -.4em;
	line-height: 0;
	margin: 96px 0;
}
#menu ul li{
	position: relative;
	display: inline-block;
	width: 380px;
	height: 254px;
	line-height: 1.9em;
	letter-spacing: .04em;
	margin-right: 55px;
	vertical-align: top;
	text-align: center;
	background: #e8efdb;
}
#menu ul li:last-child{
	margin-right: 0;
}
#menu ul li h3{
	position: relative;
	display: block;
	width: 340px;
	color: #749e22;
	font-size: 22px;
	text-align: center;
	line-height: 1em;
	background: url(../images/border.svg) repeat-x bottom left;
	-webkit-background-size: 136px auto;
	background-size: 136px auto;
	margin: 18px auto 24px;
	padding: 0 0 24px;
}
#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: 462px;
	height: 558px;
	padding: 36px 17px;
	margin-right: 41px;
}
#menu p:nth-child(6){
	line-height: 2.4em;
	letter-spacing: .06em;
	margin-top: 28px;
}

#menu .beigeBox{
	position: relative;
	display: block;
	clear: both;
	float: none;
	margin-top: 87px;
	padding: 70px 0;
	background: #f3f2eb;
}
#menu .beigeBox h3{
	display: block;
	width: 214px;
	margin: 0 auto 24px;
}
#menu .beigeBox ul li{
	position: relative;
	display: block;
	width: 1116px;
	height: auto;
	background: #FFF;
	margin: 0 auto 47px;
	padding: 30px 37px 50px;
}
#menu .beigeBox ul,
#menu .beigeBox ul li{
	margin-bottom: 0;
}
#menu .beigeBox ul li .menuBox{
	text-align: left;
	padding-bottom: 48px;
	margin-bottom: 52px;
	background-position: left bottom;
}
#menu .beigeBox ul li .leftMenu,
#questions h3{
	position: relative;
	display: inline-block;
	width: 137px;
	height: 85px;
	color: #FFF;
	font-size: 22px;
	font-weight: 600;
	text-align: center;
	vertical-align: top;
	line-height: 26pt;
	margin-right: 41px;
	padding: 52px 0 0;
	border-radius: 50%;
	background: #3c2f20;
}
#menu .beigeBox ul li:nth-child(2) .leftMenu,
#questions .borderB:nth-child(5) h3{
	height: 100px;
	padding-top: 37px;
}
#menu .beigeBox ul li:nth-child(4) .leftMenu,
#questions .borderB:nth-child(7) h3{
	height: 104px;
	padding-top: 33px;
}
#menu .beigeBox ul li ol{
	position: relative;
	display: inline-block;
	width: 932px;
	vertical-align: top;
	margin-top: 16px;
	text-align: left;
}
#menu .beigeBox ul li ol li.check,
.check{
	position: relative;
	display: inline-block;
	width: auto;
	height: 50px;
	line-height: 50px;
	margin-right: 10px;
	margin-bottom: 14px;
	padding: 0 28px;
	background: #e8efdb;
}
#menu .beigeBox .whiteBox .fl_l p.check{
	display: block;
	height: auto;
	line-height: 1em;
	background: none;
	margin-bottom: 18px;
}
#menu .beigeBox ul li ol li.check::before,
.check::before{
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 19px;
	background: url(../images/check.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin-right: 10px;
	top: 3px;
}
#menu .beigeBox ul li:nth-child(2) ol li.check,
#menu .beigeBox ul li:nth-child(3) ol li.check{
	width: 402px;
	text-align: left;
}
#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-right: 0;
}
#menu .beigeBox ul li .pict_list{
	margin-top: 0;
	width: 400px;
}
#menu .beigeBox ul li .pict_list li{
	display: block;
	width: 400px;
	height: auto;
	line-height: 0;
	padding: 0;
	margin-right: 0;
	margin-bottom: 36px;
	background: none;
}
#menu .beigeBox ul li .pict_list li:before{
	display: none;
}
#menu .beigeBox .whiteBox .fl_l{
	width: 665px;
	text-align: left;
}
#menu .beigeBox .whiteBox .fl_l h4{
	font-size: 22px;
	letter-spacing: -.03em;
	padding-left: 0;
	margin-bottom: 12px;
}
#menu .beigeBox .whiteBox .fl_l p{
	text-align: left;
	padding: 0;
	margin-bottom: 40px;
}
#menu .beigeBox .whiteBox .fl_l .greenBox{
	width: 605px;
	height: auto;
	padding: 26px 30px;
}
#menu .beigeBox .whiteBox .fl_l .greenBox h4{
	line-height: 1em;
	letter-spacing: .04em;
	margin: 0 auto 26px;
	padding-bottom: 18px;
	background-position: left bottom;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul{
	margin: 0;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul li{
	display: block;
	width: auto;
	padding: 0;
	background: none;
	text-align: left;
	margin-bottom: 26px;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul li:last-child{
	margin-bottom: 0;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul li .num{
	display: inline-block;
	margin-top: 0;
	margin-right: 12px;
	vertical-align: top;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul li .num span{
	margin-top: 0;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul li .right{
	position: relative;
	display: inline-block;
	top: 4px;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul li .green{
	color: #749e22;
	font-size: 22px;
	font-weight: 600;
	text-align: left;
	line-height: 1em;
	margin-bottom: 16px;
}
#menu .beigeBox .whiteBox .fl_l .greenBox ul li p{
	line-height: 1.7em;
	margin-bottom: 0;
}
#menu .beigeBox ul li .grayBox li{
	letter-spacing: .05em;
	line-height: 1.5em;
}
#menu .beigeBox ul li .grayBox li:first-child{
	width: 344px;
	background: #e6e6e6;
	padding: 28px;
}
#menu .beigeBox ul li .grayBox li .redBox,
#menu .beigeBox ul li .grayBox li .blueBox,
#menu .beigeBox ul li .grayBox li .greenBox{
	position: relative;
	display: block;
	width: 163px;
	height: 50px;
	color: #FFF;
	text-align: center;
	line-height: 50px;
	margin: 0 0 8px;
	padding: 0;
}
#menu .beigeBox ul li .grayBox li .redBox{
	background: #c60018;
}
#menu .beigeBox ul li .grayBox li .blueBox{
	background: #235dc4;
}
#menu .beigeBox ul li .grayBox li .greenBox{
	background: #529e22;
}
#menu .beigeBox ul li .grayBox li .point{
	position: relative;
	display: block;
	font-size: 14px;
	margin-bottom: 4px;
	padding-left: 1em;
	text-indent: -1em;
	text-align: left;
}
#menu .beigeBox ul li .grayBox li .borderArrow{
	margin-bottom: 56px;
}
#menu .beigeBox ul li .grayBox li .borderArrow:after{
	content: "";
	position: absolute;
	display: block;
	width: 26px;
	height: 50px;
	background: url(../images/arrow.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	left: 56px;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}
#menu .beigeBox ul li:nth-child(4) h4{
	margin-top: 40px;
}
#menu .beigeBox ul li:nth-child(4) .fl_l p{
	margin-top: 0;
}
#menu .beigeBox ul li:nth-child(4) .greenBox{
	margin-top: 55px;
}

/* menu ここまで */

/* price ここから*/
#price{
	position: relative;
	display: block;
	width: 100%;
	height: 400px;
	background: url(../images/price_bg.jpg) no-repeat top center;
	-webkit-background-size: cover;
	background-size: cover;
	padding: 125px 0;
}
#price .wrapper{
	width: 1184px;
	height: 332px;
	background: rgba(232,239,219,.7);
	padding: 28px 28px 40px 38px;
}
#price h2{
	height: 178px;
	padding-top: 10px;
	padding-bottom: 0;
}
#price ul{
	width: 1074px;
	height: 330px;
	margin-left: 16px;
	letter-spacing: -.4em;
	line-height: 0;
}
#price ul li{
	position: relative;
	display: inline-block;
	width: 476px;
	height: auto;
	letter-spacing: .08em;
	line-height: 1.5em;
	padding: 22px 22px 10px;
	margin-right: 34px;
	margin-bottom: 23px;
	background: #FFF;
	vertical-align: top;
}
#price ul li:nth-child(2){
	margin-right: 0;
}
#price ul li:nth-child(3){
	margin-top: -30px;
}
#price ul li h3{
	color: #3c2f20;
	background-position: left bottom;
	margin-bottom: 18px;
	padding-bottom: 18px;
}
#price ul li h3 span{
	position: relative;
	float: right;
	color: #749e22;
	font-size: 20px;
}
#price ul li h3 span span{
	font-size: 16px;
}
#price ul li dl dt{
	position: relative;
	display: block;
	float: left;
	width: 100px;
	font-weight: 600;
	margin-bottom: 12px;
}
#price ul li dl dd{
	margin-left: 100px;
	margin-bottom: 12px;
}
#price ul li dl dd .point{
	position: relative;
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}

/* questions */
#questions .borderB{
	margin-bottom: 45px;
	padding-bottom: 27px;
	background-position: left bottom;
}
#questions .borderB:last-of-type{
	margin-bottom: 0;
	padding-bottom: 0;
	background: none;
}
.faq_list_box{
	width: 1020px;
	height: auto;
	margin-right: 0;
}
.faq_list_box dt {
	position: relative;
	display: block;
	height: auto;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0;
	cursor: pointer;
	margin-bottom: 18px;
	padding: 16px 10px 16px 52px;
	background-color: rgba(116,158,34,.2);
	color: #749e22;
}
.faq_list_box dt:before{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10.5px 0 10.5px 10px;
	border-color: transparent transparent transparent #759e22;
	transition: .2s;
	top: 20px;
	left: 24px;
	margin: auto 0;
}
.faq_list_box dt.active:before{
	transition: .2s;
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}
.faq_list_box dt span{
	position: relative;
	display: block;
	padding-left: 1.4em;
	text-indent: -1.4em;
}
.faq_list_box dd{
	display: none;
	padding: 10px 10px 30px 52px;
	max-height: 100%;
}
#faq h3:nth-of-type(2){
	margin-top: 50px;
}

/* contact */
#contact{
	padding: 107px 0 90px;
}
#contact .mainText{
	margin-bottom: 66px;
}
#mailformpro{
	/*width: 794px;*/
	width: 825px;
	height: auto;
	margin: 0 auto;
}
#mailformpro table tr th{
	text-align: left;
	vertical-align: top;
	width: 138px;
	white-space: nowrap;
}
#mailformpro table tr td{
	text-align: right;
}
#mailformpro table tr td input[type="text"],
#mailformpro table tr td input[type="email"],
#mailformpro table tr td textarea{
	width: 690px!important;
	height: 30px;
	border: 0;
	box-shadow: none;
	font-size: 16px;
	background: rgba(194,189,169,.4);
	margin-bottom: 14px;
}
#mailformpro table tr td textarea{
	height: auto;
}
#privacy_policy{
	position: relative;
	display: block;
	float: right;
	width: 655px;
	height: 95px;
	font-size: 12px;
	line-height: 1.7em;
	border: 1px solid #714c33;
	box-sizing: border-box;
	margin: 40px 0 43px;
	padding: 20px;
	overflow: scroll;
}
.mfp_buttons{
	width: 665px;
	float: right;
	margin-right: 0;
}
#mfp_overlay_inner .mfp_buttons{
	clear: both;
	float: none;
	width: auto;
	margin-top: 20px;
}
.mfp_buttons button{
	position: relative;
	display: block;
	clear: both;
	float: none;
	cursor: pointer;
	width: 255px;
	height: 54px;
	color: #FFF;
	font-size: 16px;
	line-height: 48px;
	background: #714c33;
	text-align: center;
	margin: 0 auto;
	box-shadow: none;
	border: 0;
	transition: .3s;
}
.mfp_buttons button:hover{
	opacity: .7;
	transition: .3s;
}
table#mfp_confirm_table tr.mfp_achroma:last-child{
	border-bottom: 1px solid #CCC;
}

/* reason */
#reason{
	position: relative;
	display: block;
	width: 100%;
	height: 388px;
	background: url(../images/reason_bg.jpg) no-repeat center center;
	-webkit-background-size: cover;
	background-size: cover;
	padding: 120px 0 128px;
}
#reason ul{
	letter-spacing: -.4em;
	line-height: 0;
	background: rgba(255,255,255,.7);
	padding: 34px;
}
#reason ul li{
	position: relative;
	display: inline-block;
	height: 266px;
	line-height: 2em;
	letter-spacing: .03em;
	background: #FFF;
	padding: 22px 28px 28px;
	vertical-align: top;
}
#reason ul li:first-child{
	width: 748px;
}
#reason ul li:nth-child(2){
	width: 296px;
	margin-left: 26px;
}
#reason ul li h2{
	position: relative;
	display: block;
	color: #749e22;
	font-size: 26px;
	line-height: 1em;
	letter-spacing: 0;
	text-align: left;
	margin-bottom: 16px;
	padding: 8px 0 22px;
	background: none, url(../images/border.svg);
	-webkit-background-size: 136px auto;
	background-size: 136px auto;
	background-repeat: repeat-x;
	background-position: left bottom;
}
#reason ul li:nth-child(2) h2{
	letter-spacing: -.06em;
}

/* Footer
------------------------------ */
footer{
	padding: 98px 0 0;
	background: #e8efdb;
}
footer .linklist{
	letter-spacing: -.4em;
	line-height: 0;
	text-align: center;
	margin-bottom: 80px;
}
footer .linklist li{
	position: relative;
	display: inline-block;
	width: 300px;
	height: 80px;
	margin-right: 20px;
}
footer .linklist li:last-child{
	margin-right: 0;
}
footer .linklist li a,
footer .linklist li a img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
footer .linklist li a:hover{
	opacity: .7;
}
#footer_logo{
	margin: 0 0 10px;
}
footer .reservation_box{
	margin-left: 9px;
	top: 7px;
}
footer .tel{
	margin: 4px 0;
}
footer dl.closed_day{
	margin: 10px 0 20px;
}
footer .ggmap{
	padding: 24px 24px 17px;
	background: #FFF;
}
.footer_menu{
	text-align: center;
	letter-spacing: -.4em;
	line-height: 0;
	margin: 84px 0 72px;
}
.footer_menu li{
	position: relative;
	display: inline-block;
	font-weight: 600;
	letter-spacing: .07em;
	line-height: 1.8em;
	margin-right: 74px;
}
.footer_menu li:last-child{
	margin-right: 0;
}

#copyright{
	position: relative;
	display: block;
	width: 100%;
	height: 94px;
	color: #FFF;
	font-size: 12px;
	text-align: center;
	letter-spacing: .1em;
	line-height: 94px;
	background: #3c2f20;
}
#copyright a{
	color: #FFF;
	line-height: 2em;
}
#copyright a:after{
	border-color: #FFF;
}

/* page top */
.pagetop {
	position: fixed;
	bottom: 60px;
	right: 60px;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	-ms-transform: scale(1.5);
	-o-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
	z-index: 10!important;
}
.pagetop a{
	display: block;
	width: 46px;
	height: 46px;
	text-indent: -9999px;
	background: #e8efdb;
	border: 1px solid #749e22;
	padding: 5px;
}
.pagetop a::before{
	content: "";
	position: absolute;
	display: block;
	width: 35px;
	height: 35px;
	background: url(../images/arrow.svg) no-repeat top center;
	-webkit-background-size: contain;
	background-size: contain;
	-moz-transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.pagetop.show{
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}
.pagetop a:hover{
	opacity: .7;
}


@supports (-ms-ime-align: auto) {
	/* Edge のみ適用される */
	#gnav ul li a,
	.fix-header ul li a{
		padding: 12px 48px 0;
	}
	#gnav ul li:last-child a,
	.fix-header ul li:last-child a{
		padding: 12px 50px 0;
	}
	.fix-header ul li a{
		height: 32px;
		font-size: 14px;
		padding: 18px 45px 0;
	}
	.fix-header ul li:last-child a{
		padding: 18px 45px 0;
	}
	.footer_bnr ul{
		line-height: 0;
	}
	.footer_bnr li{
		margin-right: 8px;
		margin-bottom: 8px;
	}
}

