@charset "UTF-8";

/* Reset default browser CSS
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	font-family: inherit;
	font-size: 100%;
	font-weight: inherit;
	font-style: inherit;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	border: 0;
	outline: 0;
}
html {
	font-size: 62.5%; /* 10px */
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
}
body {
	line-height: 1.625;
	color: rgb(0,0,0);
	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
	display: block;
}
ol,
ul {
	list-style: none;
}
table {
	border-spacing: 0;
	border-collapse: separate;
}
caption,
th,
td {
	text-align: center;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}
blockquote,
q {
	quotes: "" "";
}
img {
	vertical-align: bottom;
	width: 100%;
}
a {
	color: rgb(0,0,0);
	text-decoration: none;
}
a:hover,
a:focus,
a:active {
	text-decoration: underline;
}
a:hover,
a:active {
	outline: 0;
	opacity: .6;
}
a:focus {
	outline: thin dotted;
}
a img {
	border: 0;
}
* {
	box-sizing: border-box;
}
.red {
	color: rgb(229,0,18);
}
@media screen and (max-width: 768px) {
	a:hover,
	a:active {
		opacity: 1;
		text-decoration: none;
	}
}
@media screen and (min-width: 768px) {
	body {
		font-weight: 500;
	}
}

/* Basic Layout
-------------------------------------------------------------- */
#wrapper {
}
.slider-container,
.main_image {
	margin-top: 60px;
}
body#home #main {
	padding-top: 0;
}
#main {
/*	padding-top: 52px;*/
}

header {
}
#main {
	font-size: 1.1rem;
}
/* ゴシック */
.gothic {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
@media screen and (max-width: 768px) {
	.sp_none {
		display: none;
	}
	#wrapper {
		position: relative;
	}
	#main {
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 767px) {
	.pc_none {
		display: none;
	}
	#main {
		margin-top: 30px;
		padding-top: 0;
	}
	body#home #main {
		margin-top: 75px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1275px) {
	.slider-container,
	.main_image {
		margin-top: 14.6667vw;
	}
}
@media screen and (min-width: 1275px) {
	.slider-container,
	.main_image {
		margin-top: 187px;
	}
}

/* Header
-------------------------------------------------------------- */
header {
	z-index: 9999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background: rgb(255,255,255);
	-webkit-transition: all .6s cubic-bezier(0.19,1,0.22,1);
	transition: all .6s cubic-bezier(0.19,1,0.22,1);
}
.header::after {
	clear: both;
	display: block;
	content: '';
}
header h1 {
	float: left;
	width: 173px;
	padding: 12px 0 8px 18px;
}
header h1 a {
	display: block;
	text-decoration: none;
}
header h1 a:hover {
	opacity: 1.0;
}
header h1 img {
	width: 100%;
}
/* trigger */
header .trigger {
	z-index: 1000;
	float: right;
	position: absolute;
	top: 20px;
	right: 20px;
	display: block;
	width: 22px;
	height: 16px;
	color: rgb(60,60,60);
	text-align: center;
	text-decoration: none;
	outline: none;
	-webkit-transition: all .6s cubic-bezier( .19, 1, .22, 1);
	transition: all .6s cubic-bezier(.19, 1,.22,1);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}
header .trigger[aria-expanded="true"] {
}
header .trigger span.border,
header .trigger span.border::before,
header .trigger span.border::after {
	display: block;
	width: 100%;
	height: 1px;
	background-color: rgb(60,60,60);
	-webkit-transition: all .6s cubic-bezier(.19, 1, .22, 1);
	transition: all .6s cubic-bezier(.19, 1, .22, 1);
}
header .trigger span.border {
	position: relative;
	margin-top: 8px;
}
header .trigger span.border::before,
header .trigger span.border::after {
	position: absolute;
	left: 0;
	content: "";
}
header .trigger span.border::before {
	top: 8px;
}
header .trigger span.border::after {
	top: -8px;
}
header .trigger span.close {
	display: none;
}
header .trigger[aria-expanded="true"] span.border {
	background-color: rgba(255,255,255,0);
}
header .trigger[aria-expanded="true"] span.border::before {
	top: 0;
	transform: rotate( -45deg);
}
header .trigger[aria-expanded="true"] span.border::after {
	top: 0;
	transform: rotate( 45deg);
}
/* gNav */
header .gNav {
	z-index: 900;
	position: fixed;
	top: 0;
	width: 73.1%;
	padding: 60px 0 15px;
	background: rgb(244,244,241);
	-webkit-transition: all .6s cubic-bezier(0.19,1,0.22,1);
	transition: all .6s cubic-bezier(0.19,1,0.22,1);
}
header .gNav ul {
	padding: 15px 0 0;
}
header .gNav li {
	font-size: 1.6rem;
}
header .gNav a {
	display: block;
	padding: 5px 20px;
	text-decoration: none;
}
header .gNav[aria-expanded="false"] {
	right: -100%;
}
header .gNav[aria-expanded="true"] {
	overflow-y: auto;
	right: 0;
}
/* overlay */
.menu-overlay {
	z-index: 800;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.4);
}
.menu-overlay[aria-expanded="true"] {
	visibility: visible;
}
.menu-overlay[aria-expanded="false"] {
	visibility: hidden;
}
html.drawerOpen {
	overflow: hidden;
}
/* gNav2 --- global footer */
header .gNav2.hidden {
	opacity: 0;
}
header .gNav2 {
	z-index: 900;
	position: fixed;
	bottom: 0;
	width: 100%;
	background-color: rgb(255,255,255);
	-webkit-transition: all .6s cubic-bezier(0.19,1,0.22,1);
	transition: all .6s cubic-bezier(0.19,1,0.22,1);
}
header .gNav2 ul::after {
	clear: both;
	display: block;
	content: '';
}
header .gNav2 li {
	display: block;
	width: calc(50% - 2px);
}
header .gNav2 li.contact {
	float: left;
}
header .gNav2 li.reservation {
	float: right;
}
header .gNav2 li a {
	line-height: 3.1905;
	display: block;
	width: 100%;
	font-size: 1.4rem;
	text-align: center;
}
header .gNav2 li.contact a {
	border: 1px solid rgb(57,13,16);
	color: rgb(96,96,96);
}
header .gNav2 li.reservation a {
	border: 1px solid rgb(58,15,17);
	color: rgb(255,255,255);
	background-color: rgb(58,15,17);
}
header .gNav2 p {
	padding: 5px 0;
	font-size: 1.2rem;
	text-align: center;
}

@media screen and (min-width: 768px) {
	header {
		position: fixed;
		width: 100%;
		margin: 0 auto;
		padding: 15px 0;
	}
	.header {
		max-width: 1360px;
		width: 100%;
		margin: 0 auto;
	}
	header h1 {
		max-width: 210px;
		width: 15.44%;
		margin-left: 20px;
		padding: 0;
	}
	header .trigger {
		display: none;
	}
	/* gNav */
	header .gNav {
		position: relative;
		top: auto;
		float: right;
		max-width: 1066px;
		width: 78.3823%;
		margin-right: 20px;
		padding: 0;
		background: transparent;
		box-shadow: none;
	}
	header .gNav[aria-expanded="false"] {
		right: auto;
	}
	header .gNav .ac_detail[aria-expanded='true'] {
		display: block;
	}
	header .gNav ul {
		display: table;
		table-layout: fixed;
		width: 100%;
		padding-top: 0;
		border-left: 1px solid rgb(89,87,87);
	}
	header .gNav ul li {
		display: table-cell;
		border-right: 1px solid rgb(89,87,87);
		vertical-align: middle;
		text-align: center;
	}
	header .gNav ul li.pc_none {
		display: none;
	}
	header .gNav ul li a {
		letter-spacing: .05em;
		display: block;
		padding: 0;
		font-weight: 500;
	}
	header .gNav ul li a:hover {
		opacity: 1.0;
	}
	header .gNav ul li:last-child a {
		color: rgb(255,255,255);
		background-color: rgb(58,15,17);
	}
	#slide-line {
		position: absolute;
		bottom: 25%;
		height: 2px;
		background: linear-gradient(90deg, rgb(255,255,255,0) 0%, rgba(255,255,255,0) 25%, rgb(230,142,122) 25%, rgb(230,142,122) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0) 100%);
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}
	/* gNav2 */
	header .gNav2 {
		position: relative;
		bottom: auto;
		opacity: 1.0 !important;
		max-width: 1360px;
		width: 100%;
	}
	header .gNav2 ul {
		display: none;
	}
	header .gNav2 p {
		position: absolute;
		top: 0;
		right: 20px;
		display: inline-block;
		font-size: 1.6rem;
		font-weight: 400;
	}
}
/* ヘッダー周り微調整 */
@media screen and (min-width: 768px) and (max-width: 1275px) {
	header {
		height: 14.6667vw;
	}
	header .gNav {
		margin-top: 3.7647vw;
	}
	header h1 {
		margin-top: 1.17647vw;
	}
	header .gNav ul li {
		height: 5.4945vw;
	}
	header .gNav ul li a {
		line-height: 5.4945vw;
		height: 5.4945vw;
		font-size: 1.2549vw;
	}
	header .gNav2 p {
		font-size: 1.2549vw;
	}
}
@media screen and (min-width: 1275px) {
	header {
		height: 187px;
	}
	header .gNav {
		margin-top: 48px;
	}
	header h1 {
		margin-top: 15px;
	}
	header .gNav ul li {
		height: 80px;
	}
	header .gNav ul li a {
		line-height: 80px;
		height: 80px;
		font-size: 1.7rem;
	}
	header .gNav2 p {
		font-size: 1.6rem;
	}
}
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, header .gNav a {
		letter-spacing: -.1em;
	}
}


/* Footer
-------------------------------------------------------------- */
footer {
	margin-bottom: 125px;
	text-align: center;
}
/* banner */
footer .banner {
	margin: 30px 20px;
}
footer .banner::after {
	clear: both;
	display: block;
	content: '';
}
footer .banner a {
	float: left;
	display: block;
	width: calc(50% - 3px);
}
footer .banner a:last-child {
	float: right;
}
/* address */
footer .address {
	padding: 15px 0 10px;
	background-color: rgb(244,244,241);
}
footer h1 {
	width: 170px;
	margin: 0 auto;
}
footer address {
	margin-top: 15px;
	font-size: 1.0rem;
}
footer .address p {
	font-size: 0.85rem;
}
/* copyright */
footer .copyright {
	padding: 5px 0;
	font-size: 1.0rem;
	font-family: century, Century Gothic, sans-serif;
	text-align: center;
}
/* gotoTop */
.gotoTop {
	z-index: 10000;
	position: fixed;
	bottom: 70px;
	right: 0;
	left: 0;
	width: 45px;
	height: 45px;
	margin: auto;
	transition: all .6s ease;
	-webkit-transition: all .6s ease;
	-moz-transition: all .6s ease;
}
.gotoTop.hidden {
	opacity: 0;
}
.gotoTop a {
	display: block;
	text-align: center;
}
.gotoTop img {
	width: 14px;
}

@media screen and (min-width: 768px) {
	/* gotoTop */
	.gotoTop {
		position: static;
		bottom: auto;
		width: 40px;
		height: 36px;
		margin-top: 25px;
	}
	.gotoTop.hidden {
		opacity: 1.0;
	}
	.gotoTop a {
		padding: 10px 0;
	}
	.gotoTop img {
		width: 28px;
	}
	footer {
		margin-bottom: 0;
	}
	footer .banner {
		max-width: 620px;
		width: calc(100% - 40px);
		margin: 25px auto 70px;
	}
	footer .banner a {
		width: calc(50% - 10px);
	}
	footer nav {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	footer nav ul {
		display: table;
		max-width: 1160px;
		width: 100%;
		margin: 0 auto;
	}
	footer nav li {
		display: table-cell;
		width: 14.28%;
		text-align: center;
	}
	footer nav li a {
		line-height: 1.6667;
		display: block;
		font-weight: 300;
	}
	footer nav li a:hover {
		text-decoration: none;
	}
	footer .address {
		width: 100%;
		margin: 30px auto 0;
		padding: 30px 0 20px;
		color: rgb(255,255,255);
		background: rgb(58,15,17);
	}
	footer .address > div {
		max-width: 1140px;
		width: calc(100% - 40px);
		margin: 0 auto;
	}
	footer .address > div::after {
		clear: both;
		display: block;
		content: '';
	}
	footer .address h1 {
		float: left;
		max-width: 342px;
		width: 30%;
	}
	footer .address h1 + div {
		float: right;
		width: 60%;
		text-align: left;
	}
	footer .address address {
		font-weight: 300;
	}
	footer .address p {
		font-weight: 300;
	}
	footer .copyright {
		letter-spacing: .1em;
		line-height: 1.75;
		padding: 15px 0;
		color: rgb(255,255,255);
		background: rgb(58,15,17);
	}
}

/* フッター周り微調整 */
@media screen and (min-width: 768px) and (max-width: 1275px) {
	footer nav li a {
		font-size: 1.41176vw;
	}
	footer .address h1 {
		margin-left: 2.3529vw;
	}
	footer .address address {
		font-size: 1.41176vw;
	}
	footer .address p {
		font-size: 1.2549vw;
	}
	footer .copyright {
		font-size: 1.098vw;
	}
}

@media screen and (min-width: 1275px)  {
	footer nav li a {
		font-size: 1.8rem;
	}
	footer .address h1 {
		margin-left: 30px;
	}
	footer .address address {
		font-size: 1.8rem;
	}
	footer .address p {
		font-size: 1.6rem;
	}
	footer .copyright {
		font-size: 1.4rem;
	}
}


/* Common
-------------------------------------------------------------- */
/* main image */
.main_image h1 {
	padding: 0;
}
/* breadscrumbs */
.breadcrumbs {
	margin: 5px 20px;
	font-size: 0.9333rem;
}
.breadcrumbs a,
.breadcrumbs span {
	margin-right: .5em;
}
/* outline */
.outline {
	margin: 25px 20px 40px;
}
#home .outline {
	margin-top: 50px;
}
.outline h2 {
	line-height: 1.476;
	letter-spacing: .1em;
	margin-bottom: 15px;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}
.outline div {
	margin-bottom: 25px;
}
#home .outline div {
	margin-bottom: 40px;
}
.outline p {
	line-height: 1.625;
	font-size: 1.0667rem;
}
.outline div::after {
	clear: both;
	display: block;
	content: '';
}
.outline div a {
	float: left;
	display: block;
	width: calc(50% - 3px);
}
.outline div a:last-child {
	float: right;
}
/* mainContents */
.mainContents {
	padding: 15px 20px 30px;
	background: url(../img/bg_main_l.png) left center / 30% auto no-repeat, url(../img/bg_main_r.png) right center / 30% auto no-repeat, url(../img/bg_title.png) center top / auto 5px no-repeat, linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 5px, rgb(247,246,242) 5px, rgb(247,246,242) 100%);
}
.mainContents h2 {
	letter-spacing: .15em;
	margin-bottom: 15px;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
}
.mainContents h2 span {
	letter-spacing: .2em;
	display: block;
	font-size: 1.9rem;
	font-weight: 400;
}
.mainContents div {
	margin-bottom: 25px;
}
.mainContents div:last-child {
	margin-bottom: 0;
}
.mainContents p {
	letter-spacing: .03em;
	line-height: 1.5625;
	font-size: 1.0667rem;
}
/* title */
.salmon {
	letter-spacing: .1em;
	line-height: 2.0588;
	margin-bottom: 15px;
	border-top: 1px solid rgb(230,142,122);
	border-bottom: 1px solid rgb(230,142,122);
	color: rgb(230,142,122);
	font-size: 1.1333rem;
	font-weight: 700;
	text-align: center;
	background: rgb(58,15,17);
}

@media screen and (min-width: 768px) {
	/* main_image */
	.main_image {
		max-width: 880px;
		width: calc(100% - 40px);
		margin-right: auto;
		margin-left: auto;
	}
	/* breadscrumbs */
	.breadcrumbs {
		margin: 10px auto;
		font-size: 1.5rem;
	}
	.breadcrumbs a,
	.breadcrumbs span {
		margin-right: .5em;
	}
	/* outline */
	.outline {
		max-width: 880px;
		width: calc(100% - 20px);
		margin: 0 auto;
	}
	.outline h2 {
		line-height: 1.6428;
		margin-bottom: 45px;
		font-size: 2.8rem;
		font-weight: 600;
	}
	.outline div {
		margin-bottom: 70px;
	}
	.outline p {
		letter-spacing: .05em;
		line-height: 1.8889;
		font-size: 1.8rem;
	}
	.outline div a {
		width: 34.091%;
	}
	.outline div a:first-child {
		margin-left: 14.773%;
}
	.outline div a:last-child {
		margin-right: 14.773%;
}

	/* mainContents */
	.mainContents {
		min-height: 610px;
		padding: 40px 0 90px;
	background: url(../img/bg_main_l.png) left center / 303px auto no-repeat, url(../img/bg_main_r.png) right center / 303px auto no-repeat, url(../img/bg_title.png) center top / auto 13px no-repeat, -webkit-linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 5px, rgb(247,246,242) 5px, rgb(247,246,242) 100%);
	background: url(../img/bg_main_l.png) left center / 303px auto no-repeat, url(../img/bg_main_r.png) right center / 303px auto no-repeat, url(../img/bg_title.png) center top / auto 13px no-repeat, linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 5px, rgb(247,246,242) 5px, rgb(247,246,242) 100%);
	}
	.mainContents h2 {
		margin-bottom: 40px;
		font-size: 2.4rem;
		font-weight: 500;
	}
	.mainContents h2 span {
		font-size: 3.8rem;
	}
	.mainContents div {
		max-width: 880px;
		width: calc(100% - 40px);
		margin: 0 auto 40px;
		
	}
	.mainContents p {
		line-height: 1.8889;
		font-size: 1.8rem;
	}
	/* title */
	.salmon {
		letter-spacing: .1em;
		line-height: 2.291667;
		margin-bottom: 50px;
		border-width: 2px;
		font-size: 2.4rem;
		font-weight: 500;
	}
}


/* Top
-------------------------------------------------------------- */
/* slick slider */
.slider-container {
	position: relative;
}
.main_visual {
	z-index: 1;
	width: 100%;
}

@media screen and (min-width: 768px) {
	/* slider */
	.slider-container .slick-slide {
		margin: 0 5px;
	}
	.slider-container .slick-dots {
		position: absolute;
		bottom: 0;
		display: block;
		width: 100%;
		margin-bottom: 15px;
		padding: 0;
		list-style: none;
		text-align: center;
	}
	.slider-container .slick-dots li {
		position: relative;
		display: inline-block;
		width: 14px;
		height: 14px;
		margin: 0 12px ;
		padding: 0;
		cursor: pointer;
	}
	.slider-container .slick-dots li button {
		font-size: 0;
		line-height: 0;
		display: block;
		width: 14px;
		height: 14px;
		cursor: pointer;
		color: transparent;
		border: 0;
		outline: none;
		background: transparent;
	}
	.slider-container .slick-dots li button:hover:before,
	.slider-container .slick-dots li button:focus:before {
		opacity: .8;
	}
	.slider-container .slick-dots li button:before {
		content: " ";
		line-height: 15px;
		position: absolute;
		top: 0;
		left: 0;
		opacity: .8;
		width: 14px;
		height: 14px;
		text-align: center;
		background-color: rgb(255,255,255);
		border-radius: 50%;
	}
	.slider-container .slick-dots li.slick-active button:before {
		opacity: 1.0;
	}
}


/* About
-------------------------------------------------------------- */
.points ul {
	width: 76.347%;
	margin: 30px auto 0;
}
.points li {
	margin-bottom: 45px;
}
.points li:last-child {
	margin-bottom: 30px;
}
.points h3 {
	margin-bottom: 5px;
	padding: 3px 0 0 50px;
	color: rgb(147,80,66);
	font-size: 1.4rem;
	font-weight: 700;
	background-position: 0 0;
	background-size: 43px auto;
	background-repeat: no-repeat;
}
.points li:nth-child(1) h3 {
	background-image: url(/resource/img/number01.png);
}
.points li:nth-child(2) h3 {
	background-image: url(/resource/img/number02.png);
}
.points li:nth-child(3) h3 {
	background-image: url(/resource/img/number03.png);
}
.points li:nth-child(4) h3 {
	background-image: url(/resource/img/number04.png);
}
.points p {
	line-height: 1.75;
	margin-bottom: 8px;
	font-size: 1.0rem;
}

@media screen and (min-width: 768px) {
	.points {
		padding-bottom: 15px;
	}
	.points ul {
		width: 100%;
		margin-top: 75px;
	}
	.points ul::after {
		clear: both;
		display: block;
		content: '';
	}
	.points li {
		width: 46.6%;
		margin-bottom: 60px;
	}
	.points li:nth-child(2n+1) {
		float: left;
	}
	.points li:nth-child(2n) {
		float: right;
	}
	.points h3 {
		margin-bottom: 10px;
		padding: 3px 0 0 90px;
		font-size: 2.4rem;
		font-weight: 600;
		background-size: 70px auto;
	}
	.points p {
		margin-bottom: 15px;
		font-size: 1.5rem;
	}
}


/* For Beginner
-------------------------------------------------------------- */
.trial::after {
	clear: both;
	display: block;
	content: '';
}
.trial > div {
	height: 18.9333vw;
	margin-bottom: 0;
	padding: 3.2vw 0 0;
	background-position: 0 0;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.trial .left {
	float: left;
	width: 42.03%;
	background-image: url(/resource/img/border_beginner_l.png);
}
.trial .right {
	float: right;
	width: 54.86%;
	background-image: url(/resource/img/border_beginner_r.png);
}
.trial .note {
	clear: both;
	padding-top: 15px;
	font-size: 1.0667rem;
	text-align: left;
}
.trial h4 {
	letter-spacing: -.05em;
	color: rgb(147,80,66);
	font-size: 3.0222vw;
	text-align: center;
}
.trial h4 span {
	letter-spacing: 0;
	display: block;
	font-size: 1.8667vw;
}
.trial p {
	color: rgb(35,24,21);
	font-size: 2.6667vw;
	text-align: center;
}
.trial p span {
	color: rgb(147,80,66);
}
.step ul {
	width: 76.347%;
	margin: 30px auto 0;
}
.step li {
	padding-bottom: 45px;
	background: url(/resource/img/arrow_down.svg) center bottom 25px / 34px auto no-repeat;
}
.step li:last-child {
	padding-bottom: 35px;
	background-image: none;
}
.step h3 {
	line-height: 3.4615;
	margin-bottom: 5px;
	border-radius: 8px;
	color: rgb(255,255,255);
	font-size: 1.3rem;
	font-weight: 700;
	text-align: center;
	background-color: rgb(58,15,17);
	background-position: 12px center;
	background-size: 27px auto;
	background-repeat: no-repeat;
}
.step li:nth-child(1) h3 {
	background-image: url(/resource/img/b_number01.png);
}
.step li:nth-child(2) h3 {
	background-image: url(/resource/img/b_number02.png);
}
.step li:nth-child(3) h3 {
	background-image: url(/resource/img/b_number03.png);
}
.step p {
	line-height: 1.75;
	margin-bottom: 8px;
	font-size: 1.0rem;
}

@media screen and (min-width: 768px) {
	.trial > div {
		height: 184px;
		padding-top: 35px;
	}
	.trial .note {
		font-size: 1.6rem;
	}
	.trial p {
		margin-top: 5px;
	}
	.step ul {
		width: 100%;
		margin-top: 70px;
	}
	.step ul::after {
		clear: both;
		display: block;
		content: '';
	}
	.step li {
		float: left;
		display: block;
		width: 36.818%;
		padding-bottom: 0;
		background: url(/resource/img/arrow_right.svg) 88% 31% / 22px auto no-repeat;
	}
	.step li:last-child {
		width: 25.4545%;
		margin-right: 0;
	}
	.step h3 {
		position: relative;
		line-height: 1.4615;
		width: 69.135%;
		height: 190px;
		margin-bottom: 15px;
		border-radius: 8px;
		font-size: 2.6rem;
		font-weight: 500;
		background-position: center 30px;
		background-size: 52px auto;
		background-repeat: no-repeat;
	}
	.step h3 span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-25%) translateX(-50%);
		-webkit- transform: translateY(-25%) translateX(-50%);
		width: 100%;
	}
	.step p {
		width: 69.135%;
		margin-bottom: 0;
		font-size: 1.5rem;
	}
	.step li:last-child h3,
	.step li:last-child p {
		width: 100%;
	}
}
@media screen and (min-width: 768px) and (max-width: 920px) {
	.trial h4 {
		font-size: 2.826vw;
	}
	.trial h4 span {
		font-size: 1.847vw;
	}
	.trial p {
		font-size: 2.6086vw;
	}
}
@media screen and (min-width: 920px) {
	.trial h4 {
		font-size: 2.6rem;
	}
	.trial h4 span {
		font-size: 1.7rem;
	}
	.trial p {
		font-size: 2.4rem;
	}
}


/* Therapy
-------------------------------------------------------------- */
#therapy .outline h2 {
	letter-spacing: 0;
}
.therapy .summary p {
	line-height: 1.625;
}
.therapy .summary img {
	margin-top: 30px;
}
.therapy .dosha {
	margin-bottom: 45px;
}
.therapy .dosha ul {
	width: 76.347%;
	margin: 0 auto 20px;
}
.therapy .dosha li {
	margin-bottom: 20px;
}
.therapy .dosha h4 {
	line-height: 2.05128;
	margin-bottom: 10px;
	border-radius: 5px;
	color: rgb(255,255,255);
	font-size: 1.3rem;
	text-align: center;
	background-color: rgb(58,15,17);
}
.therapy .dosha ul p {
	line-height: 1.625;
}
.therapy .dosha > p {
	letter-spacing: 0;
}
.therapy .class dt {
	margin-bottom: 10px;
	padding: 3px 0;
	border-bottom: 1px solid rgb(147,80,66);
	color: rgb(147,80,66);
	font-size: 1.2rem;
	font-weight: 700;
}
.therapy .class dd {
	margin-bottom: 20px;
	font-size: 1.06667rem;
}
@media screen and (min-width: 768px) {
	.therapy .summary {
		margin-bottom: 70px;
	}
	.therapy .dosha {
		margin-bottom: 70px;
	}
	.therapy .dosha ul {
		width: 100%;
		margin-bottom: 30px;
	}
	.therapy .dosha ul::after {
		clear: both;
		display: block;
		content: '';
	}
	.therapy .dosha li {
		float: left;
		width: 28.75%;
		margin-right: 6.818%;
	}
	.therapy .dosha li:last-child {
		margin-right: 0;
	}
	.therapy .dosha h4 {
		line-height: 3.53846;
		margin-bottom: 15px;
		border-radius: 10px;
		font-size: 2.6rem;
		text-align: center;
	}
	.therapy .dosha ul p {
		line-height: 1.6667;
	}
	.therapy .dosha > p {
		letter-spacing: .05em;
	}
	.therapy .class dl {
		margin-bottom: 50px;
	}
	.therapy .class dt {
		margin-bottom: 20px;
		font-size: 2.6rem;
		font-weight: 500;
	}
	.therapy .class dd {
		line-height: 1.8889;
		margin-bottom: 35px;
		font-size: 1.8rem;
	}
}


/* Menu
-------------------------------------------------------------- */
.menu {
	margin-top: 20px;
}
.menu .menuList {
	margin-bottom: 35px;
}
.menu .salmon {
	margin: 15px auto 10px;
	font-size: 1.3704rem;
}
.menu .salmon span {
	margin-left: 1em;
	font-size: 1.05416rem;
}
.menuList p {
	letter-spacing: 0;
	margin-bottom: 10px;
	font-size: 1.0rem;
}
.menuList p.subtitle,
.menuList p.note {
	margin: 20px auto 0;
}
.menuList h4 {
	text-indent: -20px;
	line-height: 1.3933;
	margin-left: 20px;
}
.menuList h4::before {
	content: '●';
	margin-right: 5px;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.menuList.option h4 span {
	display: block;
	text-indent: 5.5em;
}
.menuList.set h4 span {
	display: block;
	text-indent: 10em;
}
.menuList.others p {
	text-indent: 20px;
}
.menuList img {
	margin-top: 10px;
}
.reference {
	margin: 25px auto;
	text-align: center;
}
.reference p {
	letter-spacing: .05em;
	line-height: 1.6667;
	font-size: 1.2rem;
}
.reference img {
	dipslay: block;
	width: calc(100% - 40px);
	margin: 15px auto 0;
}
.abhyanga_classic h3 + p.subtitle {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.menu {
		margin-top: 60px;
		padding-top: 80px;
	}
	.menu .menuList {
		margin-bottom: 80px;
	}
	.menu .salmon {
		line-height: 2.11538;
		margin: 15px auto 30px;
		font-size: 2.6rem;
	}
	.menu .salmon span {
		font-size: 2.0rem;
	}
	.menuList p {
		line-height: 1.6;
		font-size: 2.0rem;
	}
	.menuList p.subtitle {
		margin: 35px auto -5px;
	}
	.menuList h4 {
		line-height: 1.64285;
		font-size: 2.8rem;
	}
	.menuList.option h4 span {
		text-indent: 5.8em;
	}
	.menuList.set h4 span {
		text-indent: 10.4em;
	}
	.menuList img {
		margin-top: 25px;
	}
	.reference {
		margin: 60px auto 25px;
	}
	.reference p {
		line-height: 1.6428;
		font-size: 2.8rem;
	}
	.reference img {
		max-width: 880px;
		width: calc(100% - 40px);
		margin-top: 30px;
	}
}


/* Access
-------------------------------------------------------------- */
.access {
	margin-top: 15px;
}
.mainContents .accessMap {
	margin-top: 15px;
}
.access h3 {
	line-height: 2.416667;
	margin-bottom: 10px;
	font-size: 1.2rem;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.access .googlemap {
	margin-bottom: 10px;
}
.access iframe {
	width: 100%;
	height: 175px;
}
.access h4 {
	margin-bottom: 15px;
}
.access address h4 {
	margin-bottom: 5px;
	font-size: 1.5rem;
}
.access address p {
	line-height: 1.5882;
	font-size: 1.1333rem;
}
.access .gothic h4 {
	line-height: 2.37869;
	margin-top: 35px;
	border: 1px solid rgb(0,0,0);
	font-size: 1.1333rem;
	text-align: center;
	background-color: rgb(255,255,255);
}
.access .gothic p {
	margin-bottom: 10px;
}
.bySubway ul::after {
	clear: both;
	display: block;
	content: '';
}
.bySubway li {
	float: left;
	width: 32.2%;
	margin-right: 1.7%;
}
.bySubway li:last-child {
	margin-right: 0
}
.bySubway li p {
	margin: 5px auto 10px;
	font-size: .86667rem;
}
@media screen and (min-width: 768px) {
	.access {
		margin-top: 60px;
		padding-top: 80px;
	}
	.access h3 {
		letter-spacing: .1em;
		line-height: 2.291667;
		margin-bottom: 45px;
		font-size: 2.4rem;
	}
	.access .googlemap {
		width: 100%;
	}
	.access iframe {
		height: 460px;
	}
	.access address h4 {
		margin-bottom: 0;
		font-size: 3.2rem;
	}
	.access address p {
		font-size: 2.2rem;
		font-weight: 300;
	}
	.access .gothic h4 {
		line-height: 2.6667;
		margin-top: 70px;
		margin-bottom: 30px;
		font-size: 2.4rem;
		font-weight: 400;
	}
	.access .gothic p {
		line-height: 1.70833;
		margin-bottom: 30px;
		font-size: 2.4rem;
	}
	.access .gothic li p {
		line-height: 1.4;
		margin-top: 10px;
		font-size: 2.0rem;
		font-weight: 400;
	}
}


/* Reservation
------------------------------------------------------------- */
.reserve {
	margin-top: 15px;
}
.reserve .alert {
	margin-top: 15px;
}
.reserve .alert p {
	letter-spacing: .15em;
	line-height: 1.75;
	font-size: 1.1667rem;
	font-weight: 700;
}
.reserve .alert a {
	color: inherit;
	text-decoration: none;
}
.form legend {
	padding: 10px 15px 10px 10px;
}
.form table {
	width: 100%;
	margin: 0 auto;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.form table th {
	display: table-cell;
	vertical-align: top;
	text-indent: -.1em;
	width: 30%;
	padding: 4px 0 20px;
	line-height: 1.71428;
	color: rgb(0,0,0);
	font-size: 1.1667rem;
	text-align: left;
}
#reservation .form table#confirm th {
	padding-top: 0;
}
#reservation .form table td {
	display: table-cell;
	with: 70%;
	padding: 0 0 20px;
	line-height: 1.71428;
	font-size: 1.1667rem;
	text-align: left;
}
#reservation .form table td input,
#reservation .form table td textarea {
	-webkit-appearance: none;
	width: calc( 100% - 8px );
	margin-left: 0;
	padding: 4px;
	border-radius: 0;
	border: 1px solid rgb(255,255,255);
	font-size: 1.0rem;
}
#reservation .form table td textarea#cource {
	height: 8em;
}
#reservation .form table td textarea#remarks {
	height: 15em;
}
#reservation .form th span.required {
	position: relative;
	top: -0.3em;
	color: rgb(229,0,18);
	font-size: 1.0rem;
}
#reservation .form td p {
	font-size: 1.1667rem;
	text-align: left;
}
#reservation .form td input#email + p {
	letter-spacing: -.05em;
}
#reservation .form td input#reservation1 + p,
#reservation .form td textarea#cource + p {
	margin-top: 3px;
	font-size: 1.0rem;
}
#reservation .form table tr:last-child th,
#reservation .form table tr:last-child td {
	padding-bottom: 0;
}
.zeromail input[type="text"]:hover, .zeromail [type="password"]:hover, .zeromail textarea:hover, .zeromail input[type="text"]:focus, .zeromail [type="password"]:focus, .zeromail textarea:focus {
	border-color: rgb(198,198,198) !important;
	background-color: rgb(255,255,255) !important;
}
.zeromail input[type="text"].validation-failed, .zeromail textarea.validation-failed {
	border-color: rgb(198,198,198) !important;
}
#reservation .form .buttons {
	text-align: center;
}
#reservation .form .buttons button {
	cursor: pointer;
	line-height: 2.153846;
	width: 100px;
	height: 28px;
	margin: 20px auto 5px;
	padding: 0;
	border: none;
	border-radius: 6px;
	color: rgb(255,255,255);
	font-size: 1.3rem;
	background: rgb(147,80,66);
}
/* erro message */
#reservation #result {
	margin: 0 15px 10px;
}
#reservation #result table {
	width: 100%;
	margin-top: 10px;
}
#result {
	background-color: rgb(242,242,242) !important;
}
#result #error {
	border: 1px solid rgb(229,0,18) !important;
	background-color: rgb(255,255,255);
}
#result .error {
	font-size: 1.3rem;
}
#result #error td {
	text-align: left;
}
#result div.success {
	padding: 5px;
	border: 1px solid rgb(198,198,198);
	font-size: 1.3rem;
}
#result div.success p {
	margin: 0 !important;
}
#result div {
	border-color: rgb(198,198,198) !important;
}
#reservation .zeromail span.error {
	margin: 0;
	padding: 5px 0;
	background-color: #ffdddd;
}
#reservation .zeromail .validation-advice {
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	.reserve {
		background: url(../img/bg_title.png) center top / auto 5px no-repeat, linear-gradient(180deg, rgb(255,255,255) 0%, rgb(255,255,255) 5px, rgb(247,246,242) 5px, rgb(247,246,242) 100%);
	}
}

@media screen and (min-width: 768px) {
	.reserve .alert {
		margin: 30px auto 70px;
	}
	.reserve .alert p {
		font-size: 2.0rem;
		font-weight: 500;
	}
	.reserve > div.form {
		padding: 0;
	}
	.reserve .form legend {
		padding: 20px 30px 20px 20px;
	}
	#reservation .form table {
		width: 700px;
		margin: 0 auto 50px;
	}
	#reservation .form table th {
		vertical-align: top;
		width: 220px;
		padding: 4px 0 40px;
		border: none;
		font-size: 1.84rem;
		font-weight: 400;
		text-align: left;
		background-color: transparent;
	}
	#reservation .form table td {
		width: 480px;
		padding: 0 0 40px;
		border: none;
		font-size: 1.84rem;
	}
	#reservation .form td input#reservation1 + p,
	#reservation .form td textarea#cource + p {
		margin-top: 0;
		font-size: 1.6rem;
	}
	#reservation .form table td input,
	#reservation .form table td textarea {
		width: 480px;
		padding: 6px;
		border-color: rgb(201,202,202);
		font-size: 1.84rem;
	}
	#reservation .form table td textarea#cource {
		height: 6em;
	}
	#reservation .form table td textarea#remarks {
		height: 16em;
	}
	#reservation .form th span.required {
		font-size: 1.5rem;
	}
	#reservation .form td p {
		font-size: 1.5rem;
		text-align: left;
	}
	#reservation .form td p span {
		color: rgb(229,0,18);
	}
	.zeromail .validation-advice {
		width: 100%;
		padding-top: 5px;
	}
	#reservation .form .buttons {
		margin-bottom: 30px;
		text-align: center;
	}
	#reservation .form .buttons button {
		cursor: pointer;
		width: 110px;
		height: 32px;
		margin: 0 auto;
		padding: 0;
		border-radius: 5px;
		border: none;
		font-size: 1.6rem;
	}
	#reservation #result {
		margin: 0 100px 30px;
	}
	#result #error {
		border: 2px solid rgb(229,0,18);
	}
	#result .error {
		font-size: 1.6rem;
	}
	#result #error td {
		text-align: left;
	}
	#result div.success {
		margin-bottom: 10px;
		border: 1px solid rgb(112,112,112);
		font-size: 1.6rem;
	}
}