@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Roboto:wght@100;300;400;500;700;900&family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap');


:root {
	--font-bs-family: 'Noto Sans JP', sans-serif;
	--font-mincho-family: 'Shippori Mincho', serif;
	
	--font-mg-family: dnp-shuei-mgothic-std,sans-serif;
	
	--bs-black: #000000;
	--bs-white: #ffffff;
	--bs-dark: #333333;
	--text-color:#333333;
	
	--bs-gray-light: #EDF0F1;
	--bs-gray: #C3CDD1;
	--bs-gray-dark: #A6B3BB;
	
	--bs-primary: #0181C0;
	--bs-primary-rgb: 1,129,192;
	--bs-primary-light:#5298D6;/* 99CDE6 */
	
	--bs-red: #CD2209;
	
	--bs-width: 94%;
	--max-width: 960px;
}

/* ========BASIC======== */
html {
/*	overflow-y:scroll;*/
	font-size:14px;
}

body {
	margin:0;
	padding:0;
	line-height:1.4;
	letter-spacing:1px;
/*	font-family:"メイリオ","MS ゴシック",Georgia,"MS ゴシック","Hiragino Mincho Pro W3","ヒラギノ明朝 Pro W3",serif;*/
	font-family: 'Roboto','Noto Sans JP', sans-serif;
	font-weight: 400;
	color: var(--text-color) ;
	line-height: 1.6;
}

#top * {
	box-sizing: border-box;
}

br {
	letter-spacing:normal;
}
a {
	color:#333;
	text-decoration:none;
	transition: all 0.4s ease;
}
a:hover {
	color:#999;
/*	text-decoration:underline;*/
}
img {
	border:0;
	vertical-align:bottom;
}
h1,h2,h3,h4,h5,h6 {
	margin:0;
	font-family: var(--font-mg-family);
	font-weight: 600;
}

.txt-right{
	width:100%;
	text-align:right;
}
.txt-center{
	width:100%;
	text-align:center;
}
img {
	max-width: 100%;
}


/* floatの解除 ------------- */

.fbox{
	clear:both;
	_display: inline-block;
	min-height: 1%;
}
.fbox:after {
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
	content: ".";
	line-height: 0;
}




#top {
/*	width: 94%;
	max-width:960px;*/
	margin:0 auto;
	padding:0;
}


/* ===================================================================
	#header
	ヘッダー
=================================================================== */
#header {
	width: var(--bs-width);
	margin: 0 auto;
	padding: 20px 0;
	position:relative;
	
	display: flex;
	justify-content: space-between;
/*	align-items: flex-end;*/
	
}
.header_inner {
	display: flex;
	flex-direction: column-reverse;
}

#gnavi {
	position:absolute;
	bottom:0;
	right:0;
}
#like {
}

#header h1 {
	margin:0;
}
#header h1 a {
	display: inline-block;
}
#header h1 a:hover {
	color:#f1f1f1;
}

#header #message {
}
#header #message_sp {
	display: none;
}

/*
#header #gnavi ul {
	list-style:none;
}
#header #gnavi li {
   float:left;
   margin-left:15px;
   font-size:11px;
}

#header #gnavi li a {
   display:block;
   padding-left:8px;
   background:url("../images/bg_arrow.gif") 0 50% no-repeat;
}
*/


/* ========MENU CUSTOMIZE======== */
/* メインメニュー */
#menu {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#menu ul {
	display:flex;
	justify-content: center;
	list-style-type: none;
	margin:0;
	padding:0;
}

/* サブメニュー1段目 */
#menu ul ul {
/*	display:none;*/
	position:absolute;
	top:100%;
	top: 0;
	left:0;
}
/* サブメニュー2段目以降 */
#menu ul ul ul {
	top:0;
	left:100%;
}


#menu > ul > li {
/*	width: calc(100% / 6);*/
}
#menu li:hover {
	position:relative;
}
#menu li:hover > ul {
	display: block
}

#menu li ul {
	border-top:1px solid #999;
	border-bottom:none;
}

#menu li li {
	margin-left:0;
	background:#f5f5f5;
	border-bottom:1px solid #999;
}

#menu li li a:hover {
	margin-left:0;
	background:#fff;
}

#menu li a {
	display:block;
	width: 100%;
	padding:.5em .8em;
	text-align:center;
	outline:none;
/*	color: var(--bs-primary);*/
	font-size: 1.2rem;
	font-weight: 700;
	transition: all 0.4s ease;
}
#menu li a:hover {
	color: var(--bs-primary);
}

#menu li li a {
	display:block;
	padding:10px 5px;
	text-align:left;
	outline:none;
}

/* サブメニュー */
.header_sub_menu {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px;
}
.header_sub_menu a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 2.4em;
	line-height: 2.4em;
	margin-right: 10px;
	padding: 0 1em;
	border-radius: 1.2em;
	font-size: 1.1rem;
	font-weight: 500;
/*	box-shadow: 0 1px 2px 0 rgb(1 65 96 / 30%), 0 2px 6px 2px rgb(1 65 96 / 10%);
	
	transition: all .3s cubic-bezier(.4,0,1,1);*/
}
/*
.header_sub_menu a:hover {
	box-shadow: 0px 5px 5px -3px rgb(1 65 96 / 8%), 0px 8px 10px 1px rgb(1 65 96 / 3%), 0px 3px 14px 2px rgb(1 65 96 / 2%);
}*/
a.sub_menu_access {
	background: var(--bs-white);
	border: 1px solid var(--bs-primary);
	color: var(--bs-primary);
}
a.sub_menu_contact {
	background: var(--bs-primary);
	color: var(--bs-white);
}
.header_sub_menu a .material-symbols-rounded {
	font-size: 18px;
	margin-right: .2em;
}




/* ===================================================================
	#footer
	フッター
=================================================================== */

#footer {
	
	
}
.footer_inner {
	padding: 40px 0 20px;
	background: var(--bs-primary);
	color: var(--bs-white);
}



.footer_top {
	display: flex;
	justify-content: space-between;
}
.footer_fb {
	width: 50%;
	max-width: 500px;
	margin-left: 20px;
}
.footer_fb iframe {
	width: 100%;
}


.footer_logo {
	margin: 0 0 30px;
}
.footer_eigyo {
	display: flex;
	align-items: center;
	margin: 5px auto;
}
.footer_eigyo:first-of-type {
	margin-top: 15px;
}
.footer_eigyo dt {
	width: 6em;
	margin-right: .8em;
	padding: 0.5em 0;
	border-radius: 8px;
	text-align: center;
	background: rgba(255,255,255,0.2);
/*	color: var(--bs-primary);*/
	line-height: 1;
}
.footer_eigyo dd {
	margin: 0;
	line-height: 1;
}

/* ========FOOTMENU CUSTOMIZE======== */
#footer ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin:0;
	padding: 20px 3%;
	text-align:center;
	background: rgba(var(--bs-primary-rgb),0.1);
}
#footer li {
	margin: 0 1em;
	list-style:none;
}
#footer li a {
	color:var(--bs-primary);
}
#footer li a:hover {
	color:var(--bs-white);
}

.footer_sns {
	display: flex;
	justify-content: center;
	margin: 20px auto;
}
.footer_sns a {
	margin: 0 .5em;
	font-size: 26px;
	color:var(--bs-white);
}

.copyright {
	font-style:normal;
	font-size: 1rem;
	text-align:center;
}








/* ===================================================================
	共通CSS
=================================================================== */

#contents {
/*	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	
	width: var(--bs-width);
	max-width: var(--max-width);*/
	margin: 0 auto;
	
	padding:40px 0 80px;
	background:#fff;
}
#main {
	width: 100%;
}

.sec {
	width: var(--bs-width);
	max-width: var(--max-width);
	margin: 0 auto;
}
.sec_full {
	width: 100%;
}

#main a {
	color: var(--bs-primary);
}

#main a:hover {
	text-decoration:underline;
}

/* 見出し
------------------------------------ */
#main h2 {
/*
	clear:both;
	width:auto;
	margin-bottom:20px;
	padding:50px 10px;
	font-size:16px;
	color:#fff;
	background: url(../images/title_bk.png) center center no-repeat;
	background-size: cover;*/
}

#main h3 {
	clear:both;
	margin: 2.5em 0 0.5em;
	font-family: var(--font-mg-family);
	font-weight: 600;
	font-size: 2rem;
	color: var(--bs-primary);
	text-align: center;
/*	font-size:1.8rem;
	font-weight: 700;*/
	
	/*color:#e54c81;*/
}
#main h3:first-of-type {
/*	margin-top: 0;*/
}

#main h4 {
	margin-bottom:10px;
	font-size:1.4rem;
	text-align: center;
	/*color:#e54c81;*/
/*	background-image:url('../images/ico_musical-note2_17.gif');
	background-repeat: no-repeat;
	background-position: left center;
	color:#333;
	padding-left:15px;
	border-bottom:2px solid #052494;*/
}

#main h5 {
	margin-bottom:5px;
	padding:2px;
	font-size:12px;
	color:#666;
	border:1px solid #ED81A6;
	background:#FFF3EF;
}

#main h6 {
	margin-bottom:3px;
	padding-left:8px;
	font-size:12px;
	font-weight:normal;
	background:url("../images/bg_arrow.gif") no-repeat left 50%;
}

#main p {
	margin:0 0 1em 0;
	line-height: 1.8;
}

#main dt {
	margin-bottom:3px;
}

#main dd {
	padding:0;
	margin:0 0 0.5em 1em;
	padding:3px;
	background:#f1f1f1;
}

.page_header {
	position: relative;
	padding: 5em 3%;
	background: url(../images/header_bk.png) no-repeat center center;
	background-size: cover;
	text-align: center;
	color: var(--bs-white);
}
#service .page_header {
	background-image: url(../images/header_bk_service.png);
}
#access .page_header {
	background-image: url(../images/header_bk.png);
}
#about .page_header {
	background-image: url(../images/header_bk.png);
}
#staff .page_header {
	background-image: url(../images/header_bk_staff.png);
}

.page_header:before {
	display: block;
	width: 100%;
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	background-color: rgba(0,0,0,.2);
	content: "";
}
.page_header h2 {
	z-index: 2;
	position: relative;
	font-size: 2.4rem;
	font-weight: 700;
	font-feature-settings: "palt";
	letter-spacing: .2em;
	filter: drop-shadow(0px 2px 3px rgba(0,0,0,0.4));
}
.page_title_sub {
	z-index: 2;
	position: relative;
	font-weight: 500;
	font-size: 1.2rem;
}



/* ========TOPICPATH CUSTOMIZE======== */
#topicPath {
	width: var(--bs-width);
	max-width: var(--max-width);
	margin: 0 auto;
	margin: -20px auto 20px;
	padding:0;
}


/* ========MAINCONTENTS CUSTOMIZE======== */


/* INFORMATION CUSTOMIZE */
#main dl.information {
	display: flex;
	flex-wrap: wrap;
	margin:0 0 20px;
}
#main dl.information dt,
#main dl.information dd {
	padding: .8em .5em;
	border-top: 1px solid var(--bs-gray-light);
	background: none;
}
#main dl.information dt:last-of-type,
#main dl.information dd:last-of-type {
	border-bottom: 1px solid var(--bs-gray-light);
}
#main dl.information dt {
	width: 8em;
	margin: 0;
}
#main dl.information dt.none {
	display: none;
}
#main dl.information dd {
	width: calc(100% - 8em);
	margin: 0;
}
#main dl.information a {
	color: var(--bs-text);
}
#main dl.information a:hover {
	color: var(--bs-primary);
	text-decoration: none;
}


#main table {
	width: 100%;
	max-width:550px;
	margin-bottom: 20px;
	border-collapse:collapse;
	border:1px solid var(--bs-gray);
	border-spacing:0;
}
#main table th,
#main table td {
	padding:.8em;
	border:1px solid var(--bs-gray);
	border-width:0 0 1px 1px;
}
#main table th {
	background: var(--bs-primary-light);
	font-weight:700;
	color: var(--bs-white);
	text-align:center;
}
#main table td {
	text-align:left;
}
#main table td.price {
	text-align: right;
}

#main table.tbl_price {
	margin: 0 auto 20px;
}
#main table.tbl_price tr td {
	background: #fff;
}
#main table.tbl_price tr:nth-child(2n+1) td {
	background-color: var(--bs-gray-light);
}

.price_txt {
	margin-bottom: 3em!important;
	text-align: center;
}

.price_detail {
	display: flex;
	justify-content: space-between;
/*	align-items: center;*/
	margin: 60px auto;
}
.price_detail:first-of-type {
	margin-top: 0;
}
.price_detail_title {
	width: 35%;
	text-align: center;
	display: flex;
	flex-direction: column;
	
	align-items: center;
	flex-shrink: 0;
	flex-grow: 0;
}
.price_detail_title h4 {
	margin-bottom: 20px!important;
	font-size: 1.8rem!important;
	font-weight: 700;
	line-height: 1.2;
}
.price_detail_title h4 small {
	font-size: 80%;
}
.price_detail_title img {
	width: 200px;
}
.price_detail .tbl_price {
	width: 60%!important;
	margin: 0;
	flex-shrink: 0;
	flex-grow: 0;
}


div.error-message{
	margin:3px;
	padding:1px;
	background-color:rgb(255, 236, 236);
	color:#F00;
}



#pageTop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	text-align:right;
}
#pageTop a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	line-height: 50px;
	border-radius: 50%;
	text-align: center;
	background: #fff;
	box-shadow: 0 1px 2px 0 rgb(60 64 67 / 30%), 0 2px 6px 2px rgb(60 64 67 / 15%);
	transition: all .3s cubic-bezier(.4,0,1,1);
}
#pageTop a:hover {
	box-shadow: 0px 5px 5px -3px rgb(0 0 0 / 20%), 0px 8px 10px 1px rgb(0 0 0 / 14%), 0px 3px 14px 2px rgb(0 0 0 / 12%);
}
#pageTop a span {
	font-size: 30px;
}


#main table.form {
	max-width: 800px;
	margin: 0 auto;
}
#main table.form tr th{
/*background:#EFEBEF;*/
	background: var(--bs-gray-light);
	color: var(--text-color);
	text-align: left;
}

#main p.form_txt {
	max-width: 800px;
	margin: 0 auto;
}
#main p.form_tel_txt {
	max-width: 800px;
	margin: 1em auto 0;
}
.form_tel {
	font-size: 140%;
	font-weight: 700;
}
.form_tel i {
	margin-right: 0.3em;
}
#main p.form_note {
	margin: 0.5em 0 0;
}


.txt-red{
	color: var(--bs-red);
}


input,button,textarea,select {
	outline: none;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
input[type="submit"],
button {
	border: none;
	background: none;
	cursor: pointer;
}
input[type="text"] {
	width: 100%;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	background-color: var(--bs-white);
	background-clip: padding-box;
	border: 1px solid #ced4da;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0.25rem;
}
textarea {
	width: 100%;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	background-color: var(--bs-white);
	background-clip: padding-box;
	border: 1px solid #ced4da;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0.25rem;
}
select {
	width: 100%;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	background-color: var(--bs-white);
	border: 1px solid #ced4da;
}

.form_btn {
	margin-top: 20px;
	text-align: center;
}
input.btn_submit,
.btn_submit,
input.btn_back,
.btn_back {
	display: inline-block;
	width: 8em;
	height: 3em;
	line-height: 3em;
	margin: 0 10px;
	padding: 0 1.5em;
	border: none;
	border-radius: 1.5em;
	font-size: 1.1rem;
	font-weight: 500;
	background: var(--bs-primary);
	color: var(--bs-white);
}
input.btn_back,
.btn_back {
	background: var(--bs-gray-dark);
}

/* ===================================================================
	トップ
	index.html
=================================================================== */
#icatch {
	width: 100%;
	position: relative;
}
.icatch_img {
	position: relative;
	overflow: hidden;
}
.icatch_img_sp {
	display: none;
}
.icatch_img::before {
	display: block;
	padding-top: 36%;
	content: "";
}
.icatch_img img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#icatch h2 {
/*	font-family:  var(--font-mincho-family);*/
	font-size: 2rem;
	font-feature-settings: "palt";
	position: absolute;
	bottom: -5%;
	left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding: 0 3%;
/*	color: var(--bs-white);*/
	z-index: 20;
}
#icatch h2 > span {
	margin: 5px 0;
}
.icatch_txt_big {
	font-size: 140%;
}
.icatch_txt_bk {
/*	display: inline-block;*/
	padding: 5px 10px 5px 0;
	border-radius: 0 5px 5px 0;
	background: rgba(255,255,255,0.8);
	background: #fff;
}



.top_intro {
	margin: 60px auto;
	padding: 0 0 10%;
	text-align: center;
	
	background: url(../images/top_intro_bk.png) no-repeat center bottom;
	background-size: 100% auto;
}
#main .top_intro h3 {
	font-size: 2.6rem;
}
.top_intro p {
	font-size: 1.2rem;
}



.top_iten {
	margin: 60px auto;
	padding: 40px;
	background: rgba(var(--bs-primary-rgb),0.1);
	border-radius: 20px;
	text-align: center;
}
#main .top_iten h3 {
	margin-top: 0;
}
.new_shop_map {
	border: 5px solid #fff;
}
.new_shop_map iframe {
	width: 100%;
}

#main a.btn_top_access {
	display: inline-block;
	justify-content: center;
	align-items: center;
	width: 10em;
	height: 2.4em;
	line-height: 2.4em;
	margin: 20px auto 0;
	padding: 0 1em;
	border-radius: 1.2em;
	font-size: 1.2rem;
	font-weight: 500;
	background: var(--bs-primary);
	color: var(--bs-white);
	text-decoration: none;
}

/* 店主挨拶 */
.top_greeting {
	display: flex;
	margin: 80px auto;
}
.top_greeting_h_sp {
	display: none;
}
.top_greeting_img {
	margin-right: 40px;
	
}
.top_greeting_img img {
	border-radius: 20px;
}
.top_greeting_txt {
	text-align: left;
}
#main .top_greeting_txt h3 {
	margin: 0 0 10px;
	text-align: left;
	font-size: 1.4rem;
}
#main .top_greeting_txt h4 {
	margin: 20px 0;
	text-align: left;
	font-size: 1.8rem;
}
#main .top_greeting_txt p {
	font-size: 1.2rem;
	line-height: 1.8;
}
#main .top_greeting_txt p strong {
	font-weight: 600;
	color: var(--bs-primary)
}


/* jQuery lightBox plugin - Gallery style */
#gallery {
	/*background-color: #444;*/
/*	padding: 10px;
	width: 520px;*/
}
#gallery ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}
#gallery ul li {
	width: 19%;
	margin-right: 1.25%;
	margin-bottom: 1.25%;
}
#gallery ul li:nth-of-type(5n) {
	margin-right: 0;
}
#gallery ul li a {
	position: relative;
	display: block;
	width: 100%;
	text-decoration:none;
}
#gallery ul li a::before {
	content: "";
	display: block;
	padding-top: 100%;
}
#gallery ul img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	object-fit: cover;
/*	border: 5px solid #fff;
	border-width: 5px 5px 5px;*/
}
#gallery ul a:hover img {
	/*border: 5px solid #ED81A6;*/
/*	border: 5px solid #4169e1;
	border-width: 5px 5px 5px;
	color: #fff;*/
}

#gallery ul li a:hover {
	color: #fff;
}



.slick-slide {
	padding: 0 10px;
}
.slick-prev,
.slick-next {
/*	background: #ccc;*/
	z-index: 100;
}
.slick-prev {
	left: 3%;
}
.slick-next {
	right: 3%;
}


.daihyo_img {
	text-align: center;
}
.btn_daihyo_area {
	text-align: center;
}
#main a.btn_daihyo {
	display: inline-block;
	justify-content: center;
	align-items: center;
	width: 14em;
	height: 2.4em;
	line-height: 2.4em;
	margin: 20px auto 0;
	padding: 0 1em;
	border-radius: 1.2em;
	font-size: 1.2rem;
	font-weight: 500;
	background: var(--bs-primary);
	color: var(--bs-white);
	text-decoration: none;
	text-align: center;
}

.top_fb {
   width: 100%;
   height: 500px;
}

.header_sp,
.header_sp_btn,
#gmenu_nav_sp {
	display: none;
}
.bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: rgba(51,51,51,0.7);
	display: none;
}

 #sub li iframe {
   width: 100%;
   height: 850px;
}



/* ===================================================================
	サービス・料金
	price.html
=================================================================== */
.price_windinstrument_list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 ;
}
.price_windinstrument_list li {
	list-style: none;
	width: 23.5%;
	margin:1% 2% 1% 0;
}
.price_windinstrument_list li:nth-of-type(4n) {
	margin-right: 0;
}
#main .price_windinstrument_list li a {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 10px;
	border-radius: 10px;
	background: var(--bs-white);
	text-align: center;
	color: var(--bs-text);
	font-size: 1.1rem;
	font-weight: 500;
	filter: drop-shadow(0px 2px 3px rgba(0,0,0,0.15));
}
.price_windinstrument_list li a .price_icon {
	margin-bottom: 10px;
}
.price_windinstrument_list li a .name {
	margin: 5px 0;
}


/* ===================================================================
	アクセス
	access.html
=================================================================== */

.access_txt {
	text-align: center;
}
.access_train {
	display: flex;
	justify-content: center;
}
.map iframe {
	width: 100%;
}
.parking_img {
	text-align: center;
}

/* 道案内 */
.route_img {
	text-align: center;
	margin: 0 auto 40px;
}
.directions {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
.directions li {
	width: 30%;
	list-style: none;
}
.directions_num {
	width: 2em;
	height: 2em;
	line-height: 2em;
	margin: 0 auto -1em;
	border-radius: 50%;
	background: var(--bs-primary);
	color: var(--bs-white);
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	z-index: 10;
	position: relative;
}
.directions li p {
	margin: 0 !important;
}
.directions_img {
	margin-bottom: 20px;
}


/* ===================================================================
	スタッフ紹介
	staff.html
=================================================================== */
.sec_staff {
	margin-bottom: 40px;
}
.staff_intro {
	text-align: center;
	font-family: var(--font-mg-family);
	font-size: 1.4rem;
	font-weight: 600;
}

.staff_detail {
	display: flex;
}
.staff_img {
	width: 250px;
	margin-right: 40px;
	flex-shrink: 0;
	flex-grow: 0;
}
#main .staff_detail h3 {
	margin: 0 0 .5em;
	text-align: left;
}

.staff_txt strong {
	font-size: 1.2rem;
}





/* ===================================================================
	会員
	kaiin.html
=================================================================== */
/* 会員あたり ---------------------- */
#main table.tbl_kaiin {
	width:100%;
	margin-bottom:20px;
	border-collapse:collapse;
	border:1px solid #ccc;
	border-spacing:0;
	line-height:1.8;
}

#main table.tbl_kaiin th {
	width: 11em;
	padding:5px;
	border:1px solid #ccc;
	border-width:0 0 1px 1px;
	background:#BEE5EC;
	font-weight:bold;
	text-align:center;
}
#main table.tbl_kaiin .kaiin_head th {
   width:auto;
   background: #eee;
}
#main table.tbl_kaiin th.light {
   background:#BEE5EC;
}
#main table.tbl_kaiin th.standard {
   background:#F9BFBC;
}
#main table.tbl_kaiin th.student {
   background:#F9E2BC;
}
#main table.tbl_kaiin td {
   padding:5px;
   border:1px solid #ccc;
   border-width:0 0 1px 1px;
   text-align:left;
}
ul.kaiin_tokuten {
   margin: 20px 0;
   padding: 0;
   list-style: none;
   display: flex;
   justify-content: space-between;
}
ul.kaiin_tokuten li {
   width: 32%;
   margin: 0;
   padding: 0;
   list-style: none;
   text-align: center;
}
ul.kaiin_tokuten li a:hover {
   opacity: 0.7;
}

.fb_pc {
   
}
.fb_sp {
   display: none;
}






/* ===================================================================
	スマホ対応
=================================================================== */
/* タブレット */
@media ( max-width : 960px ){
	body {
	}
	#top {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		box-shadow: none;
	}
	#header {
		flex-wrap: wrap;
		padding: 10px 0;
	}
	#header #message {
		display: none;
	}
	#header #message_sp {
		display: block;
		width: 100%;
		font-size: .8rem;
	}
	
	.header_sp {
		display: flex;
	}
	.header_sp_btn,
	a.header_sp_btn {
		display: block;
		margin-left: 10px;
		padding: 5px 8px;
		border-radius: 5px;
		font-size: 10px;
		text-align: center;
	}
	.header_sp_btn > span,
	a.header_sp_btn > span {
		display: block;
	}
	
	#btn_sp_contact {
		border: 2px solid var(--bs-primary);
		color: var(--bs-primary);
	}
	#btn_sp_menu {
		background: var(--bs-primary);
		color: #ffffff;
	}
	.gmenu_icon .material-symbols-rounded {
		font-size: 30px;
	}
	
	#gmenu_nav_sp {
		display: block;
		transition: all 0.2s;
		transform: translate(300px);
		width:300px;
		height:100%;
		background: #fff;
		position: fixed;
		top:0;
		right:0;
		z-index: 1000;
	}

	#gmenu_nav_sp.open {
		transform: translate(0);
	}

	.gmenu_sp_close {
		padding: 10px 10px;
		text-align:right;
	}
	.sp_close_btn {
		display: inline-block;
		padding: 5px;
	}
	.sp_close_btn i {
		margin-right: 5px;
	}
	
	
	#gmenu_nav_sp ul {
		margin: 0;
		padding: 0;
		list-style: none;
		border-top: 1px solid #ddd;
	}
	#gmenu_nav_sp li {
		list-style: none;
		border-bottom: 1px solid #ddd;
	}
	#gmenu_nav_sp li a {
		display: block;
		padding: 10px;
		font-size: 1rem;
	}
	#gmenu_nav_sp li a span {
		display: inline-block;
		width: 1.5em;
	}
	#gmenu_nav_sp li.sub a {
		font-size: 0.9rem;
	}
	
	#menu {
		display: none;
		width: auto;
		float: none;
		margin: 0;
	}
	#menu ul {
		float: none;
		display: flex;
	}
	#menu li {
		float: none;
		flex-grow: 1;
	}
	#menu li a {
		width: auto;
	}
	#topicPath {
		padding: 10px 0;
	}
	#contents,
	#main,
	#sub {
		float: none;
		width: auto;
	}
	#contents {
		width: 94%;
		margin: 0 auto;
	}
	#main {
		margin-bottom: 50px;
	}
	#sub {
		margin-bottom: 20px;
	}

	#icatch h2 {
		font-size: 3.5vw;
	}
	.icatch_txt_big {
		font-size: 110%;
	}


	#main h2 {
		display: flex;
		align-items: center;
		clear: both;
		width: auto;
		height: 20vw;
		margin-bottom: 20px;
		padding: 0 2%;
		font-size: 1.4rem;
		line-height: 1;
		color: #fff;
		background: url(../images/title_bk.png) center right no-repeat;
		background-size: cover;
	}


	#main table {
		width: 100%;
	}
	#main table td {
		width: auto;
	}
	#main table td.price {
		width: 8em;
	}

	.top_fb {
		width: 100%;
		height: 300px;
	}
	.fb_pc {
		display: none;
	}
	.fb_sp {
		display: block;
	}

	#sub li iframe {
		width: 100%;
		height: 400px;
	}
	
	.footer_shop_info {
	}
	.footer_shop_info p {
		text-align: center;
	}
	.footer_eigyo {
		width: 15em;
	}
	.footer_top {
		display: block;
	}
	.footer_fb {
		width: auto;
		margin: 20px auto 0;
	}
}
@media screen and (max-width: 768px) {
	.icatch_img {
		display: none;
	}
	.icatch_img_sp {
		display: block;
		position: relative;
		overflow: hidden;
	}
	.icatch_img_sp::before {
		display: block;
		padding-top: 117%;
		content: "";
	}
	.icatch_img_sp img {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#icatch h2 {
		bottom: -2%;
		padding: 0;
	}
	.icatch_txt_bk {
		padding: 5px 10px;
	}
	.top_iten {
		padding: 20px;
	}
	
	.price_detail {
		display: block;
	}
	.price_detail_title,
	.price_detail .tbl_price {
		width: 100%!important;
	}
	
	.price_detail_title h4 {
		order: 2;
		font-size: 1.6rem!important;
	}
	.price_detail_title img {
		order: 1;
		width: 120px;
		margin-bottom: 10px;
	}
	
	#main table.form {
		border: none;
	}
	#main table.form tr {
		display: block;
		margin-bottom: 1em;
	}
	#main table.form tr th,
	#main table.form tr td {
		display: block;
		width: 100%;
		padding: 0.3em 0;
		background: var(--bs-white);
		border: none;
	}
}
/* スマホ（横） */
@media screen and (max-width: 600px) {
	#header h1 img {
		width: 210px;
		height: auto;
	}
	
	.gmenu_icon .material-symbols-rounded {
		font-size: 24px;
	}
	
	#footer ul {
	}
	#footer li {
		margin: 0.5em 1em;
	}
	
	
	#main dl.information {
		display: block;
		border-top: 1px solid var(--bs-gray-light);
	}
	#main dl.information dt {
		width: 100%;
		padding: 0.8em 0.5em 0;
		border: none;
	}
	#main dl.information dt.date_none {
		display: none;
		border: none;
	}
	#main dl.information dd {
		width: 100%;
		border: none;
		border-bottom: 1px solid var(--bs-gray-light);
	}
	#main dl.information dt:last-of-type {
		border-bottom: none;
	}
	
	.page_header {
		padding: 3em 3%;
	}
	.page_header h2 {
		font-size: 2rem;
	}
	
	#main h3 {
		font-size: 1.8rem;
	}
	
	#main .top_intro h3 {
		font-size: 2rem;
	}
	.top_greeting {
		display: block;
		margin: 0 auto;
	}
	.top_greeting_h_sp {
		display: block;
	}
	.top_greeting_img {
		margin: 0 0 20px;
		text-align: center;
	}
	.top_greeting_txt h3,
	.top_greeting_txt h4 {
		display: none;
	}
	
	.price_windinstrument_list li {
		width: 32%;
	}
	.price_windinstrument_list li:nth-of-type(4n) {
		margin-right: 2%;
	}
	.price_windinstrument_list li:nth-of-type(3n) {
		margin-right: 0;
	}
	
	
	#gallery ul li {
		width: 32.5%;
	}
	#gallery ul li:nth-of-type(5n) {
		margin-right: 1.25%;
	}
	#gallery ul li:nth-of-type(3n) {
		margin-right: 0;
	}
	
	.staff_detail {
		display: block;
	}
	.staff_img {
		width: auto;
		margin:0 0 1em;
	}
	
	.directions {
		display: block;
	}
	.directions li {
		width: auto;
		margin: 0 auto 30px;
	}
	.directions_img {
		max-width: 300px;
		margin:  0 auto 20px;
	}
	.directions p {
		text-align: center;
	}
	
	/* 会員あたり ---------------------- */
	#main table.tbl_kaiin th {
		width: auto;
	}
}
/* スマホ用（縦） */
@media screen and (max-width: 480px) {
	
	.price_windinstrument_list li {
		width: 48%;
		margin: 2% 0;
	}
	.price_windinstrument_list li:nth-of-type(4n) {
		margin-right: 0;
	}
	.price_windinstrument_list li:nth-of-type(3n) {
		margin-right: 0;
	}
	.price_windinstrument_list li:nth-child(odd) {
		margin-right: 4%;
	}
}


