	/* ====================================================================================================

		Reset

	==================================================================================================== */

	html, body, div, span, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	abbr, address, cite, code,
	del, dfn, em, img, ins, kbd, q, samp,
	small, strong, sub, sup, var,
	b, i,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, dialog, figure, footer, header,
	hgroup, menu, nav, section,
	time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; }
	body { line-height:1; }
	article, aside, dialog, figure, footer, header,
	hgroup, nav, section { display:block; }
	nav ul { list-style:none; }
	ul li { list-style:none; }
	blockquote, q { quotes:none; }
	blockquote:before, blockquote:after,
	q:before, q:after { content:''; content:none; }
	a { margin:0; padding:0; border:0; font-size:100%; vertical-align:baseline; background:transparent; }
	ins { background-color:#ff9; color:#111; text-decoration:none; }
	mark { background-color:#ff9; color:#111; font-style:italic; font-weight:bold; }
	del { text-decoration: line-through; }
	abbr[title], dfn[title] { border-bottom:1px dotted #111; cursor:help; }
	table { border-collapse:collapse; border-spacing:0; }
	hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
	input, select, img, textarea, iframe { vertical-align:middle; }

	/* ====================================================================================================

		Primary style

	==================================================================================================== */

	*, *:after, *:before {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}

	.clearfix { min-height:1%; }
	.clearfix:after { content:"."; display:block; height:0px; clear:both; visibility:hidden; }
	.clearfix { display:inline-table; }
	* html .clearfix { height:1px; }
	.clearfix { display:block; }

	body {
		font-family: 'Noto Sans Japanese', sans-serif;
		font-size: 14px;
		font-weight: 300;
		line-height: 1.8;
		-webkit-text-size-adjust: 100%;
		color: #151515;
		background: white;
	}

	a {
		color: #1f1f1f;
		text-decoration: none;
		-ms-transition: all 0.5s ease 0s;
		-moz-transition: all 0.5s linear 0s;
		-webkit-transition: all 0.5s linear 0s;
		transition: all 0.5s linear 0s;
	}

	a:hover {
		color: #a00;
	}

	a:hover img {
		filter: Alpha(opacity=70);
		opacity: 0.7;
		-ms-transition: all 0.5s ease 0s;
		-moz-transition: all 0.5s linear 0s;
		-webkit-transition: all 0.5s linear 0s;
		transition: all 0.5s linear 0s;
	}

	/* ====================================================================================================

		rayout

	==================================================================================================== */

	#wrapper {
		width: 100%;
		margin: 0 auto;
		padding: 60px 20px;
	}

	#main {
		width: 100%;
		float: none;
	}

	#sidebar {
		width: 100%;
		float: none;
		padding-top: 60px;
	}
	#sidebar ul.banners li + li {
		margin-top: 20px;
	}
	#sidebar ul.banners li img {
		width: 100%;
		height: auto;
	}
	#fix {
		padding-bottom: 0;
	}

	.container {
		width: 100%;
		margin: 0 auto;
	}

	section + section {
		margin-top: 60px;
	}
	p + p {
		margin-top: 20px;
	}

	/* ====================================================================================================
	
		Common elements
	
	==================================================================================================== */

	.accent {
		border-bottom: 6px solid #ff0;
		font-weight: 500;
	}

	/* ----- ul.store ----- */

	ul.store {
		width: 100%;
		margin: 0 auto;
	}
	ul.store li {
		float: left;
		border: 1px solid white;
		width: 50%;
	}
	ul.store li img {
		width: 100%;
		height: auto;
	}

	/* --------------------------------------------------
		header
	-------------------------------------------------- */

	/* ---------- hero-top ---------- */

	.hero-top .mask {
		z-index: 50;
		text-shadow: 0 0 5px rgba(0,0,0,0.50);
		color: #fff;
		background: -moz-linear-gradient(top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0) 13%, rgba(0,0,0,0) 100%);
		background: -webkit-linear-gradient(top, rgba(0,0,0,0.75) 0%,rgba(0,0,0,0) 13%,rgba(0,0,0,0) 100%);
		background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%,rgba(0,0,0,0) 13%,rgba(0,0,0,0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#00000000',GradientType=0 );
		width: 100%;
		height: 500px;
	}
	.hero-top .catch {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		display: box;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		height: 400px;
		padding: 0 20px;
		text-align: center;
	}
	.hero-top h1 {
		font-size: 30px;
		font-weight: 700;
		line-height:1.2;
		margin-bottom:30px;
	}
	.hero-top p {
		font-size: 20px;
		font-weight: 500;
	}

	/* ---------- header-top ---------- */

	#header-top {
		height: 100px;
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		display: box;
		align-items: center;
		justify-content:center;
		text-align: center;
	}

	/* ---------- #header-sub ---------- */

	#header-sub {
		background: #1f1f1f;
		padding: 20px;
		color: white;
	}

	/* ---------- #branding, #globalnav ---------- */

	#branding {
		float: none;
		font-weight: 600;
		line-height: 1;
		text-align: center;
	}
	#branding a {
		color: white;
	}
	#branding span {
		font-size: 40px;
	}

	/* --------------------------------------------------
		masthead
	-------------------------------------------------- */

	.masthead-sub {
		background-image: url(../images/masthead-sub.png);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center center;
		width: 100%;
		height: 200px;
	}
	.masthead-sub .mask {
		background-color: rgba(0,0,0,0.3);
		width: 100%;
		height: 200px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		display: box;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	/* --------------------------------------------------
		footer
	-------------------------------------------------- */

	#footer {
		width: 100%;
		background: #1f1f1f;
		color: white;
		padding: 60px 20px;
	}
	#footer a {
		color: white;
	}

	.footer-branding {
		float: none;
		width: 100%;
		line-height: 1;
	}
	.footer-branding li:nth-child(2) {
		font-size: 40px;
		font-weight: 600;
		text-align: center;
		margin: 20px 0;
	}
	.footer-branding li:nth-child(3) {
		background: #363636;
		text-align: center;
		padding: 10px;
	}

	.footer-information {
		float: none;
		width: 100%;
		border-top: 1px solid #363636;
		padding-top: 40px;
	}
	.footer-information ul + ul {
		margin-top: 20px;
	}
	.footer-information li:first-child {
		font-weight: 600;
	}
	.footer-information li i {
		margin-right: 10px;
	}

	.footer-nav {
		padding-top: 40px;
		margin-top: 40px;
		border-top: 1px solid #363636;
		text-align: center;
		line-height: 2;
	}
	.footer-nav a {
		color: white;
		display: block;
	}
	.footer-nav a:hover {
		color: #a00;
	}

	/* --------------------------------------------------
		heading
	-------------------------------------------------- */

	.section-header-center {
		margin-bottom: 40px;
		text-align: center;
	}

	/* ---------- h2.border-w ---------- */
	h2.border-w { position: relative; display: inline-block; padding: 0 50px; font-size: 24px; font-weight: 500; line-height: 1.6; }
	h2.border-w:before, h2.border-w:after{ content: ''; position: absolute; top: 50%; display: inline-block; width: 30px; height: 1px; background-color: #fff; }
	h2.border-w:before { left:0; }
	h2.border-w:after { right: 0; }

	/* ---------- h2.border-b ---------- */
	h2.border-b { position: relative; display: inline-block; padding: 0 50px; font-size: 20px; font-weight: 600; line-height: 1.6; }
	h2.border-b:before, h2.border-b:after{ content: ''; position: absolute; top: 50%; display: inline-block; width: 30px; height: 1px; background-color: #000; }
	h2.border-b:before { left:0; }
	h2.border-b:after { right: 0; }

	/* ---------- h2.menu-cat ---------- */
	h2.menu-cat {
		position: relative;
		padding: 6px 20px;
		font-size:20px;
		text-align:center;
		border-top: solid 1px #a00;
		border-bottom: solid 1px #a00;
		color: #a00;
		font-weight: 600;
		font-size: 30px;
	}
	h2.menu-cat::before,
	h2.menu-cat::after{
		content: '';
		position: absolute;
		top: -10px;
		width: 1px;
		height: calc(100% + 20px);
		background-color: #a00;
	}
	h2.menu-cat::before{left: 10px;}
	h2.menu-cat::after{right: 10px;}

	/* ---------- h3.courseName ---------- */
	h3.courseName {
		color: #a00;
		font-weight: 600;
		font-size: 18px;
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: 3px double #a00;
	}

	/* ---------- h1.page-header ---------- */
	h1.page-header {
		font-size: 30px;
		font-weight: 700;
		line-height: 1;
		text-shadow: 0 0 5px rgba(0,0,0,0.75);
		color: white;
	}

	/* --------------------------------------------------
		cta
	-------------------------------------------------- */

	.cta {
		background: #a00;
		width: 100%;
		color: white;
	}
	.cta .reservation {
		text-align: center;
		padding: 40px 20px;
	}
	.cta .reservation h2 {
		margin-bottom: 0 !important;
	}
	.cta .reservation .phone {
		text-align: center;
		margin: 0 auto 20px auto;
		padding: 20px 0;
		border-top: 1px solid rgba(255,255,255,0.3);
		border-bottom: 1px solid rgba(255,255,255,0.3);
		width: 100%;
		font-size: 30px;
		line-height: 1;
	}
	.cta .reservation .phone a {
		color: #fff;
		font-weight: 600;
	}
	.cta .reservation .phone a:hover {
		color: rgba(255,255,255,0.8);
		text-decoration: none;
	}
	.cta .banners {
		background: rgba(0,0,0,0.1);
	}
	.cta .banners .inner {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		display: box;
		justify-content: center;
		flex-direction:row;
		padding: 0 20px;
	}
	.cta .banners a {
		display: block;
		width: 100%;
		color: #a00;
		background: rgba(255,255,255,0.75);
		padding: 20px 0;
		text-align: center;
		font-size: 20px;
		line-height: 1;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.cta .banners a:hover {
		background: rgba(255,255,255,1);
	}

	/* --------------------------------------------------
		copyright
	-------------------------------------------------- */

	#copyright {
		background: black;
		color: white;
		font-size: 12px;
		text-align: center;
		padding: 10px 0;
	}

	/* --------------------------------------------------
		breadcrumbs
	-------------------------------------------------- */

	#breadcrumbs {
		padding: 20px;
		border-bottom: 4px solid #ddd;
	}

	/* --------------------------------------------------
		page-top
	-------------------------------------------------- */
	#page-top {
		position: fixed;
		bottom: 10px;
		right: 10px;
		font-size: 12px;
	}
	#page-top a {
		background-color:rgba(0,0,0,0.8);
		text-decoration:none;
		color:#fff;
		width:80px;
		text-align:center;
		display:block;
		border-radius:40px;
		-webkit-border-radius:40px;
		-moz-border-radius:40px;
		line-height:80px;
		-ms-transition:all 0.3s ease 0s;
		-moz-transition:all 0.3s linear 0s;
		-webkit-transition:all 0.3s linear 0s;
		transition:all 0.3s linear 0s;
	}
	#page-top a:hover {
		text-decoration:none;
		background-color:rgba(0,0,0,0.6);
	}

	/* ====================================================================================================

		5.page - company

	==================================================================================================== */

	/* --------------------------------------------------
		table.border
	-------------------------------------------------- */

	table.border {
		border-collapse: collapse;
		border-spacing: 0;
		width: 100%;
	}
	table.border th {
		padding: 20px;
		border-bottom: 1px solid #d5d5d5;
		border-right: 1px solid #d5d5d5;
		vertical-align: top;
		width: 30%;
		font-weight: 600;
		text-align: left;
	}
	table.border td {
		padding: 20px;
		border-bottom: 1px solid #d5d5d5;
		vertical-align: top;
		width: 70%;
		text-align: left;
	}
	table.border tr:last-child th, table.border tr:last-child td {
		border-bottom: none;
	}
	
	iframe {
		width: 100%;
		height: 300px;
	}

	/* ====================================================================================================

		6.page - contact

	==================================================================================================== */

	.form p {
		font-weight: 600;
		margin-bottom: 20px;
	}
	.form .row + .row {
		margin-top: 30px;
	}
	.form .left-col {
		width: 100%;
		float: none;
	}
	.form .right-col {
		width: 100%;
		float: none;
	}
	.form .full-col {
		width: 100%;
	}

	/* ---------- form styles ---------- */

	.form input[type="text"] {
		border:none;
		border-bottom:4px solid #ddd;
		background:rgba(255,255,255,1.0);
		padding:20px;
		width:100%;
	}
	.form input[type="email"] {
		border:none;
		border-bottom:4px solid #ddd;
		background:rgba(255,255,255,1.0);
		padding:20px;
		width:100%;
	}
	.form textarea {
		border:none;
		border-bottom:4px solid #ddd;
		background:rgba(255,255,255,1.0);
		padding:20px;
		width:100%;
		height:200px;
	}

	.form input[type="text"]:focus,
	.form input[type="email"]:focus,
	.form textarea:focus,
	.form select:focus {
		background:#eee;
	}
	
	.form .submit input[type="submit"] {
		display:block;
		width:60%;
		line-height:60px;
		margin:40px auto 0 auto;
		color:#fff;
		background:#a00;
		text-align:center;
		font-size:20px;
		border-radius:4px;
		-webkit-border-radius:4px;
		-moz-border-radius:4px;
		-ms-transition:all 0.6s ease 0s;
		-moz-transition:all 0.6s linear 0s;
		-webkit-transition:all 0.6s linear 0s;
		transition:all 0.6s linear 0s;
		border:none;
		font-family: 'Noto Sans Japanese', sans-serif;
		-webkit-appearance: none;
	}
	.form .submit input[type="submit"]:hover {
		background:#c00;
	}

	.form .required {
		display:inline-block;
		background:#a00;
		color:white;
		width:60px;
		line-height:26px;
		border-radius:4px;
		-webkit-border-radius:4px;
		-moz-border-radius:4px;
		text-align:center;
		font-size:12px;
		font-weight:100;
		margin-right: 20px;
	}
	span.wpcf7-list-item {
		display:block !important;
		margin:0 !important;
	}

	.form input::-webkit-input-placeholder { color: #ccc; font-weight: normal; }
	.form input:-ms-input-placeholder { color: #ccc; font-weight: normal; }
	.form input::-moz-placeholder { color: #ccc; font-weight: normal; }

	.form textarea::-webkit-input-placeholder { color: #ccc; font-weight: normal; }
	.form textarea:-ms-input-placeholder { color: #ccc; font-weight: normal; }
	.form textarea::-moz-placeholder { color: #ccc; font-weight: normal; }

	/* ====================================================================================================

		3.page - menu

	==================================================================================================== */

	.menu-wrap {
		width: 100%;
		border-top: 1px solid #d5d5d5;
	}

	.arrow_box {
		position: relative;
		background: #F6E5E5;
		border: 4px solid #F6E5E5;
		padding: 20px;
		margin-bottom: 32px;
		border-radius: 6px;
    	-webkit-border-radius: 6px;
    	-moz-border-radius: 6px;
	}
	.arrow_box:after, .arrow_box:before {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
	}

	.arrow_box:after {
		border-color: rgba(246, 229, 229, 0);
		border-top-color: #F6E5E5;
		border-width: 10px;
		margin-left: -10px;
	}
	.arrow_box:before {
		border-color: rgba(246, 229, 229, 0);
		border-top-color: #F6E5E5;
		border-width: 16px;
		margin-left: -16px;
	}

	.arrow_box_none {
		background: #F6E5E5;
		border: 4px solid #F6E5E5;
		padding: 20px;
		border-radius: 6px;
		-webkit-border-radius: 6px;
		-moz-border-radius: 6px;
	}

	/* ----- .menu-c ----- */

	.menu-c {
		width: 100%;
		border-bottom: 1px solid #d5d5d5;
		padding: 20px 0;
	}
	.menu-c .thumb {
		width: 100%;
		float: none;
	}
	.menu-c .thumb img {
		width: 100%;
		height: auto;
	}
	.menu-c .txt {
		padding-top: 20px;
		width: 100%;
		float: none;
	}
	.menu-c .name {
		font-weight: 600;
		font-size: 18px;
		color: #a00;
	}
	.menu-c .price {
		margin: 10px 0 20px 0;
	}
	.menu-c .price .left {
		float: left;
	}
	.menu-c .price .right {
		float: right;
		font-size: 18px;
		font-weight: 600;
	}
	.menu-c .txt p {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 12px;
	}
	.menu-c .txt-full{
		width: 100%;
	}
	.menu-c .txt-full p {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 12px;
	}
	.label1 {
		background: #a00;
		color: white;
		display: inline-block;
		margin-right: 10px;
		padding: 2px 4px;
		font-size: 13px;
		border: 1px solid #a00;
	}
	.label2 {
		border: 1px solid #a00;
		color: #a00;
		display: inline-block;
		margin-right: 10px;
		padding: 2px 4px;
		font-size: 13px;
	}

	/* ----- .menu-b ----- */

	.menu-b {
		width: 100%;
		border-bottom: 1px solid #d5d5d5;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		display: box;
		align-items: center;
		justify-content: space-between;
		padding: 20px 0;
	}
	.menu-b .thumb {
		width: 30%;
	}
	.menu-b .thumb img {
		width: 100%;
		height: auto;
	}
	.menu-b .txt {
		padding-left: 20px;
		width: 70%;
	}
	.menu-b .txt li:nth-child(1) {
		width: 70%;
		font-weight: 600;
		float: left;
	}
	.menu-b .txt li:nth-child(2) {
		width: 30%;
		float: right;
		text-align: right;
	}
	.menu-b .txt p {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 12px;
		margin-top: 20px;
	}

	/* ----- .menu-s ----- */

	.menu-s {
		width: 100%;
		border-bottom: 1px solid #d5d5d5;
	}
	.menu-s li:nth-child(1) {
		padding: 20px 0;
		width: 75%;
		font-weight: 600;
		float: left;
	}
	.menu-s li:nth-child(2) {
		padding: 20px 0;
		width: 25%;
		float: right;
		text-align: right;
	}
	.menu-s li:nth-child(3) {
		padding: 0 0 20px 0;
		width: 100%;
		float: none;
		text-align: left;
		font-size: 12px;
	}

	/* ----- .pagenav ----- */

	.pagenav li {
		float: left;
		width: 33.3333333333%;
	}
	.pagenav li:nth-child(2) {
		float: left;
		width: 33.3333333333%;
		border-left: 2px solid white;
		border-right: 2px solid white;
	}
	.pagenav a {
		background: #eee;
		display: block;
		text-align: center;
		padding: 10px 0;
		color: #a00;
	}
	.pagenav a:hover {
		background: #a00;
		color: white;
	}

	/* ====================================================================================================

		2.page - shop

	==================================================================================================== */

	/* ----- .btn-a00 ----- */

	.btn-a00 {
		width: 60%;
		margin: 40px 20% 0 20%;
	}
	.btn-a00 a {
		width: 100%;
		padding: 10px 0;
		display: block;
		background: white;
		color: #a00;
		font-weight: 600;
		text-align: center;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border: 1px solid #a00;
	}
	.btn-a00 a:hover {
		background: #a00;
		color: white;
	}

	/* ====================================================================================================

		1.page - top

	==================================================================================================== */

	/* ----- .box26 ----- */

	.box26 {
		position: relative;
		margin: 40px 0 0 0;
		padding: 20px;
		border: double 3px #a00;
		border-radius: 6px;
	}
	.box26 .box-title {
		position: absolute;
		display: inline-block;
		top: -13px;
		left: 20px;
		padding: 0 9px;
		line-height: 1;
		font-size: 19px;
		background: #FFF;
		color: #a00;
		font-weight: 666;
	}

	/* ----- .gallery ----- */

	.gallery {
		width: 100%;
	}
	.gallery li {
		width: 50%;
		float: left;
		border: 1px solid white;
	}
	.gallery li img {
		width: 100%;
		height: auto;
	}