@charset "utf-8";

/*全体+トップページ用*/

/*	reset
-------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,table,th,td {
	margin: 0;
	padding: 0;
}

article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary {
	display: block;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}

img {
	border: 0;
	vertical-align: bottom;
}

*:focus {
  outline: none;
}

a {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	cursor: pointer;
	color: #fff;
	transition: color 0.6s;
}

a:hover {
	color: #da371c;
}


/* ～pxまでブロック表示（改行する）　それより上非表示
.block1023　：　ブロック表示～1023　1024～非表示
.block768　：　ブロック表示～768　769～非表示
.block599　：　ブロック表示～599　600～非表示
-------------------------------------------------------------------*/

.block599,
.block768,
.block1023 { display: none; }

@media screen and (max-width: 1023px) { .block1023 { display: block; } }
@media screen and (max-width: 768px) { .block768 { display: block; } }
@media screen and (max-width: 599px) { .block599 { display: block; } }


/* ～pxまで表示　それより上非表示
.none-min768　：　表示～767 768～非表示
-------------------------------------------------------------------*/

@media screen and (min-width: 768px) { .none-min768 { display: none; } }


/* ～pxまで非表示　それより上表示
.none1024　：　非表示～1024　1025～表示
.none1023　：　非表示～1023　1024～表示
.none768　：　非表示～768　769～表示
-------------------------------------------------------------------*/

@media screen and (max-width: 1024px) { .none1024 { display: none; } }
@media screen and (max-width: 1023px) { .none1023 { display: none; } }
@media screen and (max-width: 768px) { .none768 { display: none; } }
@media screen and (max-width: 599px) { .none599 { display: none; } }


/* カレンダー用　PC=パソコン　SP=スマホ

.cal-none-pc　：　～1023まで表示　1024～非表示（＝PCのみ非表示）
.cal-none-sp　：　～1023まで非表示　1024～表示（＝SPのみ非表示）
.cal-block-pc　：　PCのみブロック表示（改行）
.cal-block-sp　：　SPのみブロック表示（改行）
-------------------------------------------------------------------*/

@media screen and (min-width: 1024px) { .cal-block-pc { display: block; } }
@media screen and (max-width: 1023px) { .cal-block-sp { display: block; } }

@media screen and (min-width: 1024px) { .cal-none-pc { display: none; } }
@media screen and (max-width: 1023px) { .cal-none-sp { display: none; } }


/* 旧カレンダー用　今後は不使用
-------------------------------------------------------------------*/

@media screen and (min-width: 1024px) { .cal-none1023 { display: none; } }
@media screen and (min-width: 1024px) { .cal-block1023 { display: block; } }



#top_v.none {
	width: 0;
}

.bold { font-weight: 700; }
.red { color: #da371c; }
.blue { color: #1c60da; }
.gold { color: #dab300; }
.txtr { text-align: right; }
.mgntop06em { margin-top: 0.6em; }
.mgntop1em { margin-top: 1em; }
.mgntop2em { margin-top: 2em; }
.mgntop3em { margin-top: 3em; }
.mgnbot-1em { margin-bottom: -1em; }
.mgnbot14em { margin-bottom: 1.4em; }
.mgnbot1em { margin-bottom: 1em; }
.mgnbot2em { margin-bottom: 2em; }
.mgnbot3em { margin-bottom: 3em; }
.tume-06em { letter-spacing: -0.6em }
.tume-03em { letter-spacing: -0.3em }
.tume-018em { letter-spacing: -0.18em }
.tume-016em { letter-spacing: -0.16em }
.tume-013em { letter-spacing: -0.13em }


/*	フェードイン表示の指定
-------------------------------------------------------------------*/

.fadein {
    opacity: 0;
    animation: fadein 2s ease forwards;
}

@keyframes fadein {
    100% {  opacity: 1;}
}

/*以下遅延の指定*/
.fadein#top_v { animation-delay: 0.9s; }
.fadein.top_info { animation-delay: 1.8s; }
.fadein#main_logo { animation-delay: 2.6s; }


/*	body
-------------------------------------------------------------------*/

body {
	background-color: #0d0009;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-size: 16px;
}


/*	font
-------------------------------------------------------------------*/

.serif-r { font-family: 'Noto Serif JP', serif; font-weight: 400; }
.serif-m { font-family: 'Noto Serif JP', serif; font-weight: 500; }
.serif-sb { font-family: 'Noto Serif JP', serif; font-weight: 600; }
.serif-bk { font-family: 'Noto Serif JP', serif; font-weight: 900; }
.sans-r { font-family: 'Noto Sans JP', sans-serif; font-weight: 400; }
.sans-m { font-family: 'Noto Sans JP', sans-serif; font-weight: 500; }
.sans-b { font-family: 'Noto Sans JP', sans-serif; font-weight: 700; }


/*	アンカーリンク　固定メニュー対策
-------------------------------------------------------------------*/

.anchor {
    padding-top: 150px;
    margin-top: -150px;
    display: block;
}


@media screen and (max-width: 1024px) {

.anchor {
    padding-top: 90px;
    margin-top: -90px;
}

}


/*	区切り線・スペース
-------------------------------------------------------------------*/

.line {
	display: block;
	width: 460px;
	height: 1px;
	background-color: #999;
	margin: 0 auto 60px auto;
}

.line2 {
	display: block;
	width: 460px;
	height: 1px;
	background-color: #999;
	margin: 60px auto 60px auto;
}

.line_content {
	display: block;
	width: 460px;
	border-top: 3px double #666;
	margin: 110px auto 0 auto;
}

.line_plan {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #666;
	margin: 0 auto 60px auto;
}

.space_top {
    margin-top: 100px;
}


@media screen and (max-width: 768px) {

.line {
	width: 330px;
	margin: 0 auto 45px auto;
}

.line2 {
	width: 330px;
	margin: 45px auto 45px auto;
}

.line_content {
	width: 330px;
	margin: 80px auto 0 auto;
}

.line_plan {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #666;
	margin: 0 auto 45px auto;
}

}


@media screen and (max-width: 599px) {

.line {
	width: 200px;
	margin: 0 auto 30px auto;
}

.line2 {
	width: 200px;
	margin: 30px auto 30px auto;
}

.line_content {
	width: 200px;
	margin: 60px auto 0 auto;
}

.line_plan {
	display: block;
	width: 100%;
	height: 1px;
	background-color: #666;
	margin: 0 auto 30px auto;
}

.space_top {
    margin-top: 50px;
}

}


/*	header
-------------------------------------------------------------------*/

header {
	width: 100%;
	height: 130px;
	background-color: #000;
	position: fixed;
	z-index: 10;
}

header .inner {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0 40px;
}

#head_logo {
	width: 70px;
	padding: 15px 0 0 0px;
	float: left;
}

#head_logo img {
	max-width: 100%;
	height: auto;
}

header nav ul {
	width: calc(100% - 106px);
	box-sizing: border-box;
	float: right;
	padding-left: 40px;
	padding-top: 35px;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

header nav ul li {
	display: inline-block;
	line-height: 1;
}

header nav ul li a {
	text-decoration: none;
	font-size: 16px;
}

#head_title_sp { display: none; }

.language {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	position: relative;
}

.language div.language_wrap {
	position: absolute;
	width: 215px;
	right: 40px;
	top: -30px;
}

.language div.language_wrap p {
	display: inline-block;
	width: 100px;
}

.language div.language_wrap p:nth-of-type(1) {
	margin-right: 15px;
}

.language div.language_wrap p a {
	display: block;
	border-radius: 100vh;
	border: solid 1px #999;
	line-height: 24px;
	height: 28px;
	box-sizing: border-box;
	text-align: center;
	font-size: 13px;
	text-decoration: none;
	transition: background-color 0.6s, color 0.6s, border 0.6s;
}

.language div.language_wrap p a:hover,
.language div.language_wrap p.on a {
	border: solid 1px #fff;
	background-color: #fff;
	color: #000;
}

.language div.language_wrap p span:nth-of-type(2) {
	display: none;
}

.head_access {
	position: absolute;
	width: 88px;
	height: 28px;
	right: 285px;
	top: -30px;
}
.head_access a {
	display: block;
	position: relative;
	line-height: 28px;
	font-size: 12px;
	text-decoration: none;
	padding-left: 34px;
}
.head_access a span.icon::before {
	position: absolute;
	display: block;
	content:"";
	width: 24.2px;
	height: 28px;
	background: url(../img/icon_access.svg) left top no-repeat;
	background-size: 24.2px 28px;
	background-color: #000;
	top: 0;
	left: 0;
}
.head_access a span.icon::after {
	position: absolute;
	display: block;
	content:"";
	width: 24.2px;
	height: 28px;
	background: url(../img/icon_access_on.svg) left top no-repeat;
	background-size: 24.2px 28px;
	background-color: #000;
	top: 0;
	left: 0;
	opacity: 0;
	transition: opacity 0.6s;
}
.head_access a:hover span.icon::after {
	opacity: 1;
}
.head_access a span.txt {
	display: block;
}

@media screen and (max-width: 1024px) {

header {
	height: 70px;
	background-color: #0d0009;
	z-index: 102;
}

header .inner {
	padding: 0 0 0 15px;
}

#head_logo {
	width: 75px;
	padding: 9px 0 0 0px;
	float: left;
}

header nav {
	display: none;
}

#head_title_sp {
	display: block;
	position: absolute;
	width: 94.4051px;
	left: 0;
	right: 0;
	top: 19px;
	margin: auto;
}

.language div.language_wrap {
	position: absolute;
	width: 42px;
	right: 55px;
	top: -45px;
}

.language div.language_wrap p {
	display: block;
	width: 34px;
}

.language div.language_wrap p:nth-of-type(1) {
	margin-bottom: 4px;
}

.language div.language_wrap p a {
	line-height: 16px;
	height: 18px;
	font-size: 12px;;
}

.language div.language_wrap p span:nth-of-type(2) {
	display: block;
}

.language div.language_wrap p span:nth-of-type(1) {
	display: none;
}

.head_access {
	position: absolute;
	width: 4em;
	height: 50px;
	right: auto;
	left: 15px;
	top: -45px;
	font-size: 10px;
}
.head_access a span.icon::before {
	position: absolute;
	display: block;
	content:"";
	width: 22px;
	height: 25px;
	background: url(../img/icon_access.svg) left top no-repeat;
	background-size: 22px 25px;
	background-color: #000;
	top: 0;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.head_access a span.icon::after {
	position: absolute;
	display: block;
	content:"";
	width: 22px;
	height: 25px;
	background: url(../img/icon_access_on.svg) left top no-repeat;
	background-size: 22px 25px;
	background-color: #000;
	top: 0;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.head_access a {
	display: block;
	position: relative;
	line-height: 1;
	font-size: 10px;
	text-decoration: none;
	padding-left: 0;
	padding-top: 30px;
}
}


/*	footer
-------------------------------------------------------------------*/

footer {
	width: 100%;
	background: url(../img/ph_footer_bg.jpg);
	position: relative;
	padding-bottom: 45px;
	border-top: solid 1px #666;
}

footer .inner {
	max-width: 1000px;
	padding: 40px 20px 0 20px;
	margin: 0 auto;
	position: relative;
}

#footer_logo {
	width: 100px;
	position: absolute;
	left: 20px;
	top: 50px;
}

#footer_logo img {
	width: 100%;
	height: auto;
}

#footer_info {
	text-align: center;
	padding-bottom: 55px;
}

#footer_reserve a {
	display: inline-block;
	border-radius: 100vh;
	border: solid 1px #999999;
	background-color: #0d0009;
	padding: 14px 28px;
	text-decoration: none;
	transition: background 0.6s, color 0.6s;
	line-height: 1;
}

#footer_info p {
	line-height: 2.125;
	font-size: 16px;
}

#footer_reserve {
	margin-bottom: 20px;
}

#footer_reserve a:hover {
	background-color: #fff;
	color: #0d0009;
}

#footer_tel span {
	font-size: 34px;
}

#footer_tel span a {
	color: #fff;
	text-decoration: none;
}

#footer_tel span a:hover {
	color: #fff;
}

footer #copy {
	text-align: center;
	font-size: 12px;
	line-height: 1;
}

#footer_sns a svg {
	fill:#FFFFFF;
	transition: all 0.6s;
}
#footer_sns a:hover svg {
	fill:#DA371C;
}

.mgntop3px { margin-top: 3px; }


@media screen and (min-width: 600px) {

#footer_sns {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100px;
	list-style: none;
	position: absolute;
	right: 39px;
	top: 60px;
}

#footer_sns li {
	width: 50%;
	box-sizing: border-box;
}

#footer_sns li a {
	display: block;
	height: 32px;
}

#footer_sns li:nth-of-type(odd) {
	padding-right: 15px;
	text-align: right;
}

#footer_sns li:nth-of-type(even) {
	text-align: center;
	padding-left: 15px;
}

#footer_sns li:nth-of-type(1),
#footer_sns li:nth-of-type(2) {
	margin-bottom: 30px;
}

#footer_sns li:nth-of-type(1) svg,
#footer_sns li:nth-of-type(2) svg {
	width: 32px;
	height: auto;
}

#footer_sns li:nth-of-type(3) svg {
	width: 26px;
	height: auto;
    margin-right: 3px;
}

#footer_sns li:nth-of-type(4) svg {
	width: 36px;
	height: auto;
}

}


@media screen and (max-width: 599px) {

footer {
	background: url(../img/ph_footer_bg.jpg) left top no-repeat;
	background-size: 630px auto;
	padding-bottom: 25px;
}

footer .inner {
	max-width: 1000px;
	padding: 0px 0px 0 0px;
	margin: 0 auto;
	position: relative;
}

#footer_logo {
	width: 19%;
	position: absolute;
	left: 15px;
	top: 20px;
}

#footer_info {
	text-align: left;
	padding-bottom: 55px;
	width: calc(100% - 24% - 30px);
	margin-left: calc(24% + 15px);
	padding: 20px 0 0 6.4%;
	box-sizing: border-box;
}

#footer_info p {
	font-size: 13px;
	line-height: 1.6;
}

#footer_reserve {
	font-size: 11px;
	margin-bottom: 0px;
}

#footer_reserve a {
	padding: 10px 20px;
}

#footer_tel span {
	font-size: 18px;
}

#footer_tel {
	margin: 10px 0 5px 0;
}

#footer_sns {
	display:flex;
	justify-content: space-between;
	width: 160px;
	list-style: none;
	position: relative;
	margin: 16px auto;
}

#footer_sns li img {
	width: 100%;
	height: auto;
}

#footer_sns li:nth-of-type(1) {
	width: 22px;
}

#footer_sns li:nth-of-type(2) {
	width: 21px;
}

#footer_sns li:nth-of-type(3) {
	width: 17px;
    margin-top: 1px;
}

#footer_sns li:nth-of-type(4) {
	width: 25px;
    margin-top: 1px;
}

footer #copy {
	font-size: 10px;
}

#footer_sns li:nth-of-type(1) svg,
#footer_sns li:nth-of-type(2) svg,
#footer_sns li:nth-of-type(3) svg,
#footer_sns li:nth-of-type(4) svg {
	width: 100%;
	height: auto;
}

.mgntop3px { margin-top: 0px; }

}


@media screen and (max-width: 320px) {

#footer_info p { font-size: 10px; }

}


/*	top_v
-------------------------------------------------------------------*/

#top_v {
	width: 100%;
	height: calc(100vh - 130px);
	position: fixed;
	z-index: -2;
	padding-top: 130px;
}

#top_v .swiper-slide {
	width: 100%;
	height: calc(100vh - 130px);
}

#top_v001 {
	background: url(../img/ph_mv_01_pc.jpg) center center no-repeat;
	background-size: cover;
}

#top_v002 {
	background: url(../img/ph_mv_02_pc.jpg) center center no-repeat;
	background-size: cover;
}

#top_v003 {
	background: url(../img/ph_mv_03_pc.jpg) center center no-repeat;
	background-size: cover;
}

#top_v004 {
	background: url(../img/ph_mv_04_pc.jpg) center center no-repeat;
	background-size: cover;
}

#top_v005 {
	background: url(../img/ph_mv_05_pc.jpg) center center no-repeat;
	background-size: cover;
}
#top_v006 {
	background: url(../img/ph_mv_06_pc.jpg) center center no-repeat;
	background-size: cover;
}


@media screen and (max-width: 1024px) {

#top_v {
	height: calc(100vh - 70px);
	padding-top: 70px;
}

#top_v .swiper-slide {
	width: 100%;
	height: calc(100vh - 70px);
}

#top_v001 {
	background: url(../img/ph_mv_01b_sp.jpg) center top no-repeat;
	background-size: cover;
}

#top_v002 {
	background: url(../img/ph_mv_02_sp.jpg) center top no-repeat;
	background-size: cover;
}

#top_v003 {
	background: url(../img/ph_mv_03_sp.jpg) center top no-repeat;
	background-size: cover;
}

#top_v004 {
	background: url(../img/ph_mv_04_sp.jpg) center top no-repeat;
	background-size: cover;
}

#top_v005 {
	background: url(../img/ph_mv_05_sp.jpg) center top no-repeat;
	background-size: cover;
}

#top_v006 {
	background: url(../img/ph_mv_06_sp.jpg) center top no-repeat;
	background-size: cover;
}

}


@media screen and (max-width: 599px) {

#top_v001 {
	background: url(../img/ph_mv_01b_sp.jpg) center top no-repeat;
	background-size: cover;
}

}

/*	top
-------------------------------------------------------------------*/

#top {
	width: 100%;
	min-height: 100vh;
	position: relative;
}



/* トップお知らせ */

#top .top_info_wrap {
	max-width: 1000px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 70px;
	margin: auto;
	padding: 0 20px;
	box-sizing: border-box;
}

#top .top_info {
	margin: 0 auto;
	background-color: rgba(255,255,255,0.86);
	overflow: hidden;
	border-radius: 6px;
	position: relative;
}

.topinfo-slider .swiper-slide a {
	display: block;
	height: 120px;
	color: #000;
	transition: all 0.2s;
	text-decoration: none;
}

.topinfo-slider .swiper-slide a:hover {
	color: #da371c;
}

.top_info_box {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100%;
	box-sizing: border-box;
	padding: 15px 5px 15px 15px;
}

.top_info_box .img {
	width: 90px;
}

.top_info_box .img img {
	width: 100%;
	height: auto;
}

.top_info_box .txt {
	width: calc(100% - 120px);
	box-sizing: border-box;
	position: relative;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.56;
	padding-left: 15px;
}

.top_info_box .txt .date {
	width: calc(100% - 120px);
	font-size: 14px;
	color: #666666;
	position: absolute;
	left: 15px;
	bottom: 0;
}

.top_info_box .txt .small {
	font-size: 13px;
}

/* トップお知らせ　１記事だけ用 */
#top .top_info_wrap.news_item01 {
	max-width: 415px;
}


@media screen and (min-width: 1025px) {

/* トップお知らせ　６記事以降で使用
.topinfo-slider .swiper-wrapper {
	transition-timing-function: linear;
}

.topinfo-slider .swiper-slide {
	height: 120px !important;
	width: 415px !important;
}

*/


/* トップお知らせ　６記事以降で不使用 */
.topinfo-slider .swiper-slide {
	height: 120px !important;
	width: auto;
}

}


@media screen and (max-width: 1024px) {

.topinfo-slider .swiper-slide {
	height: 80px !important;
	width: auto;
}

#top .top_info_wrap {
	bottom: 20px;
	padding: 0 15px;
}

.topinfo-slider .swiper-slide a {
	height: 80px;
}

.top_info_box {
	padding: 10px;
}

.top_info_box .img {
	width: 60px;
}

.top_info_box .txt {
	width: calc(100% - 75px);
	font-size: 12px;
	font-weight: 600;
}

.top_info_box .txt .date {
	width: calc(100% - 75px);
	font-size: 11px;
}

}


@media screen and (max-width: 599px) {

.top_info_box .txt .small {
	font-size: 11px;
}

.top_info_box .txt .font10 {
	font-size: 10px;
}

}


/* トップロゴ */

#top h1 {
	width: 350px;
	margin: 0 auto;
	padding-top: 200px;
	text-align: center;
}

#top h1 img {
	width: 100%;
	height: auto;
}


@media screen and (min-width: 1025px) and (max-height: 1000px) {

#top h1 { width: 350px; height: 50vh; }

#top h1 img {
	width: auto;
	height: 100%;
}

}


@media screen and (min-width: 1025px) and (max-height: 800px) {

#top h1 { width: 240px; height: auto; }
#top h1 img {
	width: 100%;
	height: auto;
}

#top .top_info_wrap {
	position: relative;
	left: 0;
	right: 0;
	bottom: 0px;
	margin: 20px auto 20px auto;
}

}


@media screen and (max-width: 1024px) and (max-height: 1000px) {

#top h1 {
	width: 260px;
	padding-top: 160px;
}

}


@media screen and (max-width: 1024px) and (max-height: 800px) {

#top h1 {
	width: 200px;
	padding-top: 160px;
}

}


/*	top_txt
-------------------------------------------------------------------*/

#top_txt {
	width: 100%;
	background-color: rgba(13,0,9,0.88);
	padding-top: 125px;
	padding-bottom: 155px;
}

#top_txt .inner {
	text-align: center;
	padding: 0 20px;
}

#top_txt h1 {
	font-size: 42px;
	line-height: 1;
	margin-bottom: 2em;
}

#top_txt p {
	line-height: 2.625;
	margin-bottom: 2em;
}

#top_txt p:last-child { margin-bottom: 0em; }


@media screen and (max-width: 999px) {

#top_txt h1 {
	font-size: 4.2vw;
}

#top_txt {
	padding-top: 60px;
	padding-bottom: 60px;
}

}


@media screen and (max-width: 599px) {

#top_txt {
	padding-top: 40px;
	padding-bottom: 40px;
}

#top_txt .inner {
	padding: 0 15px;
}

#top_txt h1 {
	font-size: 19px;
	line-height: 1;
	margin-bottom: 1.5em;
}

#top_txt p {
	font-size: 14px;
	line-height: 2.3;
	margin-bottom: 1em;
}

}


/*	top_main
-------------------------------------------------------------------*/

.top_main {
	width: 100%;
	background-color: #0d0009;
	padding: 100px 20px 0px 20px;
	box-sizing: border-box;
	overflow: hidden;
}

#top_main_content {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding-bottom: 0px;
}

.top_main_content_single {
	width: calc(100% - 11.76%);
	margin-bottom: 100px;
	box-sizing: border-box;
	position: relative;
}

.top_main_content_single:last-child {
	margin-bottom: 0px;
}

.top_main_content_single .img {
	width: calc(100% - 380px);
	position: relative;
}

.top_main_content_single .txt {
	width: 380px;
	box-sizing: border-box;
}


/* 画像　動画　設定 */

.top_main_content_single .img .img-img {
	width: 67%;
}

.top_main_content_single .img .img-mov {
	width: 28.3%;
	position: absolute;
}

.top_main_content_single .img .img-img img,
.top_main_content_single .img .img-mov img,
.top_main_content_single .img .img-mov video {
	width: 100%;
	height: auto;
	position: relative;
}


/* テキスト　設定 */

.top_main_content_single .txt dl dt {
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.5em;
	margin-top: 2em;
	margin-bottom: 1.5em;
}

.top_main_content_single .txt dl dt br { display: none; }

.top_main_content_single#top_traditionalarts .txt dl dt { letter-spacing: 0.1em; }
.top_main_content_single#top_bar .txt dl dt { letter-spacing: 0em; }

.top_main_content_single .txt dl dd {
	line-height: 2;
}

.top_main_content_single .txt .kuwashiku {
	position: absolute;
	bottom: 0;
	font-size: 16px;
	line-height: 1;
}

.top_main_content_single .txt .kuwashiku a {
	display: inline-block;
	border-radius: 100vh;
	border: solid 1px #999999;
	padding: 14px 30px;
	text-decoration: none;
	transition: background 0.6s, color 0.6s;
}

.top_main_content_single .txt .kuwashiku a:hover {
	background-color: #fff;
	color: #0d0009;
}


/* 画像左設定 */

.top_main_content_single.img-left {
	margin-left: 11.76%;
}

.top_main_content_single.img-left .inner {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100%;
	box-sizing: border-box;
}

.top_main_content_single.img-left .txt {
	padding: 0 20px 0 40px;
	position: relative;
}

.top_main_content_single.img-left .img .img-mov {
	right: 0;
	bottom: 11.8%;
}

.top_main_content_single.img-left .txt .kuwashiku {
	left: 40px;
}


/* 画像右設定 */

.top_main_content_single.img-right .inner {
	width: 100%;
	box-sizing: border-box;
	position: relative;
}

.top_main_content_single.img-right .txt {
	padding: 0 40px 0 20px;
	float: left;
}

.top_main_content_single.img-right .img {
	float: right;
}

.top_main_content_single.img-right .img .img-img {
	width: 67%;
	padding-left: 33%;
}

.top_main_content_single.img-right .img .img-mov {
	left: 0;
	bottom: 11.8%;
}

.top_main_content_single.img-right .txt .kuwashiku {
	left: 20px;
}


@media screen and (max-width: 1299px) {

.top_main_content_single {
	width: 100%;
}

.top_main_content_single.img-left {
	margin-left: 0;
}

}


@media screen and (max-width: 1199px) {

.top_main_content_single .txt dl dt {
	margin-top: 0.5em;
	margin-bottom: 1em;
}

}


@media screen and (max-width: 1024px) {

.top_main {
	padding: 80px 15px 0px 15px;
}

#top_main_content {
	padding-bottom: 0px;
}

.top_main_content_single .img {
	width: 100%;
	padding-bottom: 25px;
	position: relative;
}

.top_main_content_single .txt {
	width: 100%;
	box-sizing: border-box;
	margin-top: 20px;
}

.top_main_content_single .txt dl dt {
	margin-top: 0;
}

.top_main_content_single .txt .kuwashiku {
	position: relative;
	bottom: auto;
	margin-top: 20px;
	text-align: center;
}


/* 画像　動画　設定 */

.top_main_content_single .img .img-img {
	width: 80%;
}

.top_main_content_single .img .img-mov {
	width: 35%;
	position: absolute;
}


/* 画像左設定 */

.top_main_content_single.img-left .txt {
	padding: 0 0px 0 0px;
}

.top_main_content_single.img-left .txt .kuwashiku {
	left: 0px;
}

.top_main_content_single.img-left .img .img-img img {
	left: -15px;
}

.top_main_content_single.img-left .img .img-mov {
	right: 0;
	bottom: 0;
}


/* 画像右設定 */

.top_main_content_single.img-right .txt {
	padding: 0 0px 0 0px;
	float: none;
}

.top_main_content_single.img-right .txt .kuwashiku {
	left: 0px;
}

.top_main_content_single.img-right .img {
	float: none;
}

.top_main_content_single.img-right .img .img-img {
	width: 80%;
	padding-left: 20%;
}

.top_main_content_single.img-right .img .img-img img {
	right: -15px;
}

.top_main_content_single.img-right .img .img-mov {
	left: 0;
	bottom: 0;
}

}


@media screen and (max-width: 999px) {

.top_main_content_single .txt dl dt {
	font-size: 4.2vw;
}

.top_main_content_single .txt dl dd {
	font-size: 16px;
}

.top_main_content_single .txt .kuwashiku {
	font-size: 14px;
}

.top_main_content_single .txt .kuwashiku a {
	padding: 10px 20px;
}

}


@media screen and (max-width: 599px) {

.top_main {
	padding-top: 50px;
}

.top_main_content_single {
	margin-bottom: 50px;
}

.top_main_content_single .txt dl dt {
	font-size: 19px;
}

.top_main_content_single .txt dl dd {
	font-size: 14px;
	line-height: 1.6;
}

.top_main_content_single .txt .kuwashiku {
	font-size: 11px;
}

}



/*	top_parallax_img　トップパララックス
-------------------------------------------------------------------*/

.top_parallax_img {
	background-color: #0d0009;
	height: auto;
	position: sticky;
	top: 0px;
	z-index: -2;
	padding-top: 140px;
}
.top_parallax_img img {
	display: block;
	width: 100%;
	height: 595px;
}

.top_parallax_img img {
	background: url(../img/ph_top_noh_bg_pc.jpg) center top no-repeat;
}


@media screen and (max-width: 1024px) {

.top_parallax_img {
	padding-top: 100px;
}

.top_parallax_img img {
	padding: 100px 0;
	background: url(../img/ph_top_noh_bg_pc.jpg) center top no-repeat;
}

}


@media screen and (max-width: 599px) {

.top_parallax_img {
	padding-top: 0px;
}

.top_parallax_img img {
	display: block;
	width: 100%;
	height: auto;
	padding: 100px 0;
}

.top_parallax_img img {
	background: none;
}

}


/*	top_main02
-------------------------------------------------------------------*/

#top_main02 {
	position: relative;
	background: url(../img/sns_back.png) center top repeat-x;
	box-sizing: border-box;
	padding-top: 210px;
}

@media screen and (max-width: 1024px) {

#top_main02 {
	padding-top: 210px;
}

}

@media screen and (max-width: 768px) {

#top_main02 {
	padding-top: 290px;
}

}


/*	h2
-------------------------------------------------------------------*/

h2.top_h2 {
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	text-align : center;
	margin-bottom: 1.5em;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
}

#sns h2 {
	letter-spacing: 0.5em;
	text-indent: 0.5em;
}


/*	youtube
-------------------------------------------------------------------*/

#youtube {
	width: 100%;
	padding-bottom: 160px;
	background-color: #0d0009;
}

#youtube div {
	max-width: 1000px;
	margin: 0 auto;
}

.youtube_short {
	width: 60%; /* 伸縮する横幅 */
	max-width: 400px; /* 最大の横幅 */
	margin: 60px auto; /* 画面の中央に配置 */
}

.youtube_short iframe {
	aspect-ratio: 9 / 16;
	width: 100%;
	height: 100%;
}


@media screen and (max-width: 1024px) {

#youtube {
	padding-bottom: 100px;
}

}


@media screen and (max-width: 999px) {

#youtube div {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

#youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

}


@media screen and (max-width: 768px) {

#youtube {
	padding-bottom: 80px;
}

.youtube_short {
	width: 100%;
	margin: 45px auto;
}

}


@media screen and (max-width: 599px) {

.youtube_short {
	margin: 30px auto;
}

}


/*	S N S  background-color: #0d0009;
-------------------------------------------------------------------*/

#sns {
	width: 100%;
	background-color: #0d0009;
	box-sizing: border-box;
	padding: 0px 12px 160px 12px;
}

#icon_inst {
	width: 36px;
	height: 36px;
	text-align: center;
	margin: 0 auto;
}

#icon_inst a {
	display: block;
	background: url(../img/icon_instagram_on.svg) center top no-repeat;
}

#sns_icon_set {
	width: 150px;
	margin: 30px auto 0 auto;
}

#icon_f {
	width: 40px;
	float: left;
}

#icon_x {
	width: 40px;
	padding-top: 3.5px;
	float: right;
}

#icon_f a {
	display: block;
}

#icon_x a {
	display: block;
}

#icon_f a svg {
	fill: #fff;
	width: auto;
	height: 40px;
	transition: fill 0.6s;
}

#icon_x a svg {
	fill: #fff;
	width: auto;
	height: 31px;
	transition: fill 0.6s;
}

#icon_f a:hover svg,
#icon_x a:hover svg {
	fill: #da371c;
}

#icon_inst a img {
	max-width: 100%;
	height: auto;
	opacity: 1.0;
	transition: opacity 0.6s;
}

#icon_inst a:hover img {
	opacity: 0.0;
}

.inst_box {
	position: relative;
	padding-bottom: 500px;
	height: 0;
	overflow: hidden;
	max-width: 1000px;
	margin: 26px auto 0 auto;
}

.inst_box iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


@media screen and (max-width: 1099px) {

.inst_box {
	padding-bottom: 49.3%;
}

}


@media screen and (max-width: 1024px) {

#sns {
	padding: 0px 7px 100px 7px;
}

}


@media screen and (max-width: 999px) {

#sns h2 { font-size: 4.6vw; }

}


@media screen and (max-width: 768px) {

#sns {
	padding: 0px 7px 50px 7px;
}

}


@media screen and (max-width: 599px) {

#sns h2 { font-size: 20px; }

#icon_inst {
	width: 25px;
	height: 25px;
}

#sns_icon_set {
	width: 96px;
	margin: 15px auto 0 auto;
}

#icon_f a svg {
	width: auto;
	height: 26px;
}

#icon_x a svg {
	width: auto;
	height: 20px;
}

.inst_box { margin: 11px auto 0 auto; }

}


/*	shop_info
-------------------------------------------------------------------*/

#shop_info {
	width: 100%;
	background-color: #0d0009;
	box-sizing: border-box;
	padding: 0 0px 60px 0px;
	padding-top: 140px;
	margin-top:-140px;
}

#top_main_btn {
	text-align: center;
}

#top_main_btn a {
	display: inline-block;
	border-radius: 100vh;
	border: solid 1px #999999;
	padding: 14px 28px;
	text-decoration: none;
	transition: background 0.6s, color 0.6s;
	line-height: 1;
	font-size: 16px;
}

#top_main_btn a:hover {
	background-color: #fff;
	color: #0d0009;
}

#shop_info h3 {
	font-size: 32px;
	line-height: 1;
	margin-bottom: 1.5em;
	font-weight: 600;
}

#shop_info h3.mgnbot1em {
	margin-bottom: 1em;
}

.shop_info_inner {
	width: 100%;
	max-width: 1040px;
	padding: 0 20px;
	margin: 0 auto 80px auto;
	box-sizing: border-box;
}

.shop_info_inner_last {
	margin: 0 auto 60px auto;
}

.shop_info_inner dl {
	margin-bottom: 24px;
	padding-bottom: 20px;
}

.shop_info_inner dl.line-solid {
	border-bottom: solid 1px #666666;
}

.shop_info_inner dl.line-dashed {
	border-bottom: dashed 1px #666666;
}

.shop_info_inner dl.mgnbot03em {
	margin-bottom: 0.3em;
}

.shop_info_inner dl .kana {
	font-size: 14px;
}

.shop_info_inner dl dt {
	font-size: 16px;
	line-height: 1;
	margin-bottom: 1em;
	font-weight: 700;
}

.shop_info_inner dl dd {
	font-size: 16px;
	margin-left: 1em;
}

.shop_info_inner dl dd p {
	line-height: 2;
}

.shop_info_inner dl dd p:last-child {
	margin-bottom: 0em;
}

.shop_info_inner dl dd ul {
	list-style: none;
	text-indent:-1em;
	line-height: 1.8;
	padding-left:1em;
	margin-top: 1em;
}

.shop_info_inner p.line-solid {
	border-bottom: solid 1px #666666;
}

.shop_info_inner p.shop_info_contact {
	padding-left: 1em;
	padding-bottom: 1.2em;
	font-size: 16px;
}

.shop_info_inner p.phone span:nth-of-type(1) {
	font-weight: 600;
}

.shop_info_inner p.phone span:nth-of-type(2) {
	font-size: 30px;
}


@media screen and (max-width: 1024px) {


.shop_info_inner {
	padding: 0 15px;
}

}


@media screen and (max-width: 999px) {

#shop_info h2 { font-size: 4.6vw; }
#shop_info h3 { font-size: 3.2vw; }

}


@media screen and (max-width: 768px) {

.shop_info_inner dl .kana { font-size: 13px;}

.shop_info_inner dl dt { font-size: 15px; }

.shop_info_inner dl dd ul { font-size: 14px; }

.shop_info_inner dl dd {
	font-size: 15px;
}

}


@media screen and (max-width: 599px) {

#shop_info {
	padding: 0 0px 30px 0px;
	padding-top: 0px;
	margin-top:-160px;
}

#shop_info h2 { font-size: 19px; }
#shop_info h3 { font-size: 17px; }

.shop_info_inner {
	padding: 0 15px;
	margin: 0 auto 50px auto;
}

.shop_info_inner_last {
	margin: 0 auto 30px auto;
}

.shop_info_inner dl {
	margin-bottom: 18px;
	padding-bottom: 15px;
}

.shop_info_inner dl .kana {
	font-size: 12px;
}

.shop_info_inner dl dt {
	font-size: 14px;
}

.shop_info_inner dl dd {
	font-size: 14px;
}

.shop_info_inner dl dd ul {
    font-size: 13px;
}

#top_main_btn a {
	font-size: 11px;
	padding: 10px 20px;
}

.shop_info_inner p.shop_info_contact {
	font-size: 14px;
}

.shop_info_inner p.shop_info_contact span:nth-of-type(2) {
	font-size: 20px;
}

}


/*	グーグルマップ
-------------------------------------------------------------------*/

.gmap {
	width: 100%;
	background-color: #0d0009;
	box-sizing: border-box;
	padding: 0 20px 160px 20px;
}
.gmap .inner {
	max-width: 1600px;
	margin: 0 auto;
	height: 550px;
	overflow: hidden;
	position: relative;
}

.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}


@media screen and (max-width: 1024px) {

.gmap { padding: 0 0px 120px 0px; }

}


@media screen and (max-width: 768px) {

.gmap { padding: 0 0px 80px 0px; }

.gmap .inner {
	height: 330px;
}

}


@media screen and (max-width: 599px) {

.gmap .inner {
	height: 200px;
}

}


/*	page_main
-------------------------------------------------------------------*/

.page_main {
	padding-top: calc(130px + 70px);
}

.page_main h1 {
	font-size: 42px;
	font-weight: 500;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.08em;
	text-indent: 0.08em;
	margin-bottom: 2em;
}


@media screen and (max-width: 1024px) {

.page_main {
	padding-top: calc(60px + 60px);
}

}


@media screen and (max-width: 999px) {

.page_main h1 {
	font-size: 4.2vw;
}

}


@media screen and (max-width: 768px) {

.page_main h1 {
	font-size: 30px;
}

}


@media screen and (max-width: 599px) {

.page_main {
	padding-top: calc(70px + 20px);
}

.page_main h1 {
	font-size: 19px;
}

}


/*	topics_lis　お知らせ一覧ページ
-------------------------------------------------------------------*/

.topics_list_box {
	width: 100%;
	max-width: 1040px;
	padding: 0 20px 160px 20px;
	box-sizing: border-box;
	margin: 0 auto;
}

.topics_list_box ul {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100%;
	list-style: none;
}

.topics_list_box ul li {
	border-bottom: solid 1px #666;
}

.topics_list_box ul li a {
	text-decoration: none;
	position: relative;
	display: block;
}

.topics_list_box ul li a img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}

.topics_list_box ul li a p.txt {
	font-size: 16px;
	line-height: 1.6;
	min-height: 135px;
}

.topics_list_box ul li a p.txt .kana {
	font-size: 13px;
}

.topics_list_box ul li a p.txt .subtitle {
	font-size: 13px;
}

.topics_list_box ul li a p.txt .subtitle02 {
	font-size: 12px;
}

.topics_list_box ul li a p.txt .tokubetsu_date {
    font-size: 14px;
}

.topics_list_box ul li a .date {
	color: #999;
	line-height: 1;
	font-size: 14px;
	position: absolute;
	left: 0;
	bottom: 15px;
}

.topics_list_box ul li a .arrow {
	position: absolute;
	right: 0;
	bottom: 15px;
	width: 23px;
	height: 16px;
	display: block;
}

.topics_list_box ul li a .arrow .arrow_svg {
	fill:#ffffff;
	transition: fill 0.6s;
}

.topics_list_box ul li a:hover .arrow .arrow_svg {
	fill: #da371c;
}

.topics_list_nav p {
	text-align: center;
}

.topics_list_nav p a {
	display: inline-block;
	text-decoration: none;
	width: 48px;
	height: 46px;
	border-radius: 50%;
	background-color: transparent;
	line-height: 46px;
	margin: 0 5px;
	font-size: 17px;
}

.topics_list_nav p a.current {
	background-color: #fff;
	color: #0d0009;
}

.topics_list_nav p a.current:hover {
	background-color: #fff;
	color: #0d0009;
}


@media screen and (max-width: 999px) {

.topics_list_box ul li a p {
	font-size: 1.6vw;
}

}


@media screen and (min-width: 769px) {

.topics_list_box ul li {
	width: calc((100% - 60px) / 3);
	margin-bottom: 100px;
}

.topics_list_box ul li:nth-of-type(3n-1) {
	margin-left: 30px;
	margin-right: 30px;
}

.blank450 {
	height: 450px;
}

}


@media screen and (max-width: 768px) {

.topics_list_box ul li {
	width: calc((100% - 40px) / 2);
	margin-bottom: 100px;
}

.topics_list_box ul li:nth-of-type(odd) {
	margin-right: 20px;
}

.topics_list_box ul li:nth-of-type(even) {
	margin-left: 20px;
}

.topics_list_box ul li a p {
	font-size: 14px;
}

.topics_list_nav p a {
	width: 30px;
	height: 30px;
	line-height: 28px;
	margin: 0 5px;
	font-size: 13px;
}

}


@media screen and (max-width: 599px) {

.topics_list_box {
	padding: 0 15px 80px 15px;
}

.topics_list_box ul li {
	width: 100%;
	margin-bottom: 60px;
}

.topics_list_box ul li a img {
	margin-bottom: 15px;
}

.topics_list_box ul li a p.txt {
	font-size: 15px;
	line-height: 1.7;
	min-height: 100px;
	padding-bottom: 40px;
	box-sizing: border-box;
}

.topics_list_box ul li a p.txt .subtitle {
	font-size: 14px;
}

.topics_list_box ul li a p.txt .subtitle02 {
	font-size: 13px;
}

.topics_list_box ul li a p.txt .kana {
	font-size: 12px;
}

.topics_list_box ul li a p.txt .tokubetsu_date {
	font-size: 13px;
}

.topics_list_box ul li:nth-of-type(odd) {
	margin-right: 0px;
}

.topics_list_box ul li:nth-of-type(even) {
	margin-left: 0px;
}

.topics_list_box ul li a .date {
	font-size: 12px;
	bottom: 13px;
}

.topics_list_box ul li a .arrow {
	bottom: 10px;
}

}


/*	topics_post　お知らせ記事ページ
-------------------------------------------------------------------*/

.topics_post {
	padding-bottom: 160px;
}

.topics_post_header {
	width: 100%;
	max-width: 1040px;
	padding: 0 20px 0 20px;
	box-sizing: border-box;
	margin: 0 auto 60px auto;
}

.topics_post_header h2 {
	font-size: 32px;
	font-weight: 500;
	line-height: 1.56;
	margin-bottom: 1em;
}

.topics_post_header h2 .titlesmall { font-size: 26px; }

.topics_post_header h2 .shoulder {
    font-size: 24px;
    margin-bottom: 10px;
}

.topics_post_header h2 .titlecredit {
    font-size: 18px;
    font-weight: 400;
}

.topics_post_header .tokubetsu_date {
	font-size: 22px;
	line-height: 1;
}

.topics_post_header .tokubetsu_date .tokubetsu_d-o-w {
	font-size: 18px;
}

.topics_post_header .date {
	color: #999;
	line-height: 1;
	font-size: 16px;
}

.post_main_img {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto 60px auto;
}

.post_main_img img {
	max-width: 100%;
	height: auto;
}

.post_sub_img {
	width: 100%;
	max-width: 740px;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto 30px auto;
}

.post_sub_img02 {
	width: 100%;
	max-width: 740px;
	box-sizing: border-box;
	text-align: center;
	margin: 30px auto 30px auto;
}

.post_sub_img img,
.post_sub_img02 img {
	max-width: 100%;
	height: auto;
}

.topics_post_content {
	width: 100%;
	max-width: 740px;
	padding: 0 20px 100px 20px;
	box-sizing: border-box;
	margin: 0 auto;
}

.topics_post_content h3 {
	text-align: center;
	margin-bottom: 40px;
}

.topics_post_content h3 p {
	font-size: 22px;
	line-height: 1.8;
	border-left: solid 1px #999;
	border-right: solid 1px #999;
	padding: 0.6em 1.5em;
	margin: 0 auto;
	display: inline-block;
}

.topics_post_content h3 p .small {
	font-size: 18px;
}

.topics_post_content dl {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.topics_post_content dl dt {
	width: 4em;
	line-height: 2;
}

.topics_post_content dl dd {
	width: calc(100% - 4em);
	line-height: 2;
}

.topics_post_content dl dt.event {
	width: 6em;
	line-height: 1.6;
}

.topics_post_content dl dt.event p {
	line-height: 1.6;
}

.topics_post_content dl dd.event {
	width: calc(100% - 6em);
	line-height: 1.6;
}

.topics_post_content dl dd.event p {
	line-height: 1.6;
}

.topics_post_content dl dt.produce {
	width: 7em;
	line-height: 2;
}

.topics_post_content dl dd.produce {
	width: calc(100% - 7em);
	line-height: 2;
}

.topics_post_content p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 0.6em;
}

.topics_post_content p.title {
	font-size: 22px;
}

.topics_post_content p.credit {
	display: block;
	text-align: right;
	font-size: 14px;
	line-height: 1;
	margin: 10px auto 0 auto;
}

.topics_post_content p.kome {
    margin-top: 2em;
}

.topics_post_content dl dd .kana,
.topics_post_content p .kana {
    font-size: 14px;
}

.topics_post_content table {
    display: block;
    text-align: left;
    line-height: 2;
}

.topics_post_content table th, td {
    vertical-align: top;
}

.topics_post_content table th {
    vertical-align: top;
	font-weight: 900;
}

.topics_post_nav,
.topics_post_link,
.reserve_link {
	width: 176px;
	margin: 0 auto;
}

.stage_link {
	width: 220px;
	margin: 40px auto 0 auto;
}

.topics_post_link {
	margin-top: 40px;
}

.reserve_link {
	margin-top: 30px;
}

.topics_post_nav a,
.topics_post_link a,
.reserve_link a,
.stage_link a {
	display: block;
	height: 44px;
	border-radius: 100vh;
	border: solid 1px #999;
	background-color: #0d0009;
	transition: background 0.6s, color 0.6s;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
}

.topics_post_nav a::before {
	content:"＜";
	font-weight: 700;
	margin-right: 1em;
}

.topics_post_nav a:hover,
.topics_post_link a:hover,
.reserve_link a:hover,
.stage_link a:hover {
	background-color: #fff;
	color: #0d0009;
}

.topics_post_content .notes {
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	color: #da371c;
	margin-top: 2em;
}

@media screen and (max-width: 999px) {

.topics_post_header h2 {
	font-size: 3.2vw;
}

}


@media screen and (max-width: 768px) {

.topics_post_header h2 .titlesmall { font-size: 20px; }

.topics_post_header h2 .shoulder { font-size: 17px; }

.topics_post_header h2 .titlecredit { font-size: 15px; }

.topics_post_content {
	width: 80%;
	max-width: 600px;
}

.topics_post_content h3 {
	margin-bottom: 30px;
}

.topics_post_content h3 p {
	font-size: 20px;
}

.topics_post_content h3 p .small {
	font-size: 14px;
}

.topics_post_content p.title {
	font-size: 18px;
}

.topics_post_content p.credit { font-size: 12px; }

.topics_post_content dl dd .kana,
.topics_post_content p .kana {
    font-size: 13px;
}

.topics_post_content table {
	font-size: 15px;
}

.topics_post_content table th {
	width: 65px;
}

.topics_post_nav a,
.topics_post_link a,
.reserve_link a,
.stage_link a {
	height: 44px;
	font-size: 16px;
	line-height: 44px;
}

.post_sub_img,
.post_sub_img02 {
	width: 100%;
	max-width: 600px;
}

}


@media screen and (max-width: 599px) {

.topics_post_header {
	padding: 0 15px 0 15px;
	margin: 0 auto 30px auto;
}

.topics_post_header h2 {
	font-size: 17px;
}

.topics_post_header h2 .font16 { font-size: 16px; }

.topics_post_header h2 .titlesmall,
.topics_post_header h2 .subtitle,
.topics_post_header h2 .shoulder {
    font-size: 15px;
}

.topics_post_header h2 .titlecredit { font-size: 12px; }

.topics_post_header h2 .subtitle02,
.topics_post_header .tokubetsu_date {
	font-size: 14px;
}

.topics_post_header .tokubetsu_date .small {
	font-size: 13px;
}

.topics_post_header .tokubetsu_date .tokubetsu_d-o-w {
	font-size: 12px;
}

.topics_post_header .date {
	font-size: 12px;
}

.topics_post {
	padding-bottom: 80px;
}

.post_main_img {
	margin: 0 auto 30px auto;
}

.post_sub_img {
	width: 80%;
	max-width: 320px;
	margin: 0 auto 15px auto;
}

.post_sub_img02 {
	width: 100%;
	max-width: 320px;
	margin: 15px auto 15px auto;
}

.topics_post_content {
	width: 80%;
	min-width: 300px;
	padding: 0 15px 50px 15px;
}

.topics_post_content h3 {
	margin-bottom: 20px;
}

.topics_post_content h3 p {
	font-size: 15px;
	padding: 0.8em 1em 0.96em 0.6em;
}

.topics_post_content h3 p .small {
	font-size: 12px;
}

.topics_post_content p { font-size: 14px; }

.topics_post_content p.title { font-size: 16px; }

.topics_post_content p.credit {
	font-size: 10px;
	line-height: 1.6;
	margin: 5px auto 0 auto;
}

.topics_post_content p.kome {font-size: 13px; }

.topics_post_content p .txt13 { font-size: 13px; }

.topics_post_content dl {
	font-size: 12px;
}

.topics_post_content dl .font11_sp {
	font-size: 11px;
}

.topics_post_content dl dd.event p {
	font-size: 12px;
}

.topics_post_content dl dd .kana,
.topics_post_content p .kana {
    font-size: 12px;
}

.topics_post_content p .small { font-size: 11px; }

.topics_post_content table {
	font-size: 14px;
	line-height: 1.83;
}

.topics_post_content table th {
	width: 60px;
}

.topics_post_nav,
.topics_post_link,
.reserve_link {
	width: 120px;
}

.stage_link {
	width: 160px;
}

.topics_post_nav a,
.topics_post_link a,
.reserve_link a,
.stage_link a {
	height: 34px;
	font-size: 11px;
	line-height: 34px;
}

.topics_post_link,
.stage_link {
	margin-top: 30px;
}

.reserve_link {
	margin-top: 15px;
}

}


@media screen and (max-width: 360px) {

.topics_post_content h3 p {
	font-size: 12px;
}

.topics_post_content h3 p .small {
	font-size: 10px;
}

}


@media screen and (max-width: 320px) {

.topics_post_content h3 p {
	font-size: 11px;
}

.topics_post_content h3 p .small {
	font-size: 9px;
}

}


/*	contact　お問い合わせページ
-------------------------------------------------------------------*/

.contact .inner {
	width: 100%;
	max-width: 1040px;
	box-sizing: border-box;
	padding: 0 20px 325px 20px;
	margin: 0 auto;
}

#contact_head_txt {
	text-align: center;
	margin-bottom: 60px;
}

#contact_head_txt p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 1.5em;
}

#contact_head_txt p:last-child {
	margin-bottom: 0;
}

#contact_head_txt p.header {
	font-size: 32px;
	letter-spacing: 0.08em;
	text-indent: 0.08em;
}

.contact_content {
	text-align: center;
	line-height: 2;
	margin: 0 auto;
}

.contact_content p.item {
    display: inline-block;
    text-align: left;
}

#contact_head_txt p:nth-child(4) {
	margin-bottom: 0;
}

.contact_form dl {
	display: table;
	width: 100%;
	margin-bottom: 45px;
}

.contact_form dl dt {
	display: table-cell;
	width: 300px;
	box-sizing: border-box;
	font-weight: 400;
	font-size: 16px;
}

.contact_form dl dt span {
	color: #da371c;
	margin-left: 5px;
}

.contact_form dl.contact_contents {
	margin-top: 90px;
	margin-bottom: 60px;
}

.contact_form dl.contact_contents dt {
	vertical-align: top;
}

.contact_form dl dd {
	display: table-cell;
	width: calc(100% - 300px);
	box-sizing: border-box;
}

.contact_form dl dd .select {
	-webkit-appearance: none;
	appearance: none; /* デフォルトの矢印を非表示 */
	border: none;
	border-bottom: solid 1px #999;
	width: 100%;
	box-sizing: border-box;
	padding: 15px 30px;
	color: #666;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	background: url(../contact/img/select_arrow.svg) right 30px center no-repeat;
	background-color: #0d0009;
	background-size: 16px 23px;
}

.contact_form dl dd .form_txt {
	color: #fff;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	padding: 15px 30px;
	background-color: #0d0009;
	border: none;
	border-bottom: solid 1px #999;
	width: 100%;
	box-sizing: border-box;
}

.contact_form dl dd .form_textarea {
	color: #fff;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	padding: 15px;
	background-color: #0d0009;
	border: solid 1px #999;
	width: 100%;
	height: 230px;
	box-sizing: border-box;
}

.contact_form dl dd .form_txt_name01 {
	width: calc(50% - 4%);
	margin-right: 4%;
}

.contact_form dl dd .form_txt_name02 {
	width: calc(50% - 4%);
	margin-left: 4%;
}

input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder {
	color: transparent;
}
input:focus::-ms-input-placeholder {
	color: transparent;
}
input:focus::placeholder {
	color: transparent;
}

.form_p {
	text-align: center;
	font-weight: 400;
	line-height: 2;
	font-size: 16px;
}

.form_btn {
	margin-top: 60px;
	text-align: center;
}

.form_btn_send {
	width: 170px;
	height: 46px;
	line-height: 1px;
	border-radius: 100vh;
	border: solid 1px #999;
	background-color: #0d0009;
	color: #fff;
	cursor: pointer;
	transition: all 0.6s;
	font-size: 16px;
}

.form_btn_send:hover {
	background-color: #999;
	color: #0d0009;
}

::placeholder {
	color: #666;
}

.mail_title,
#kakunin_txt {
	text-align: center;
	line-height: 1.8;
	font-size: 16px;
}

.err_box {
	border-top: solid 1px #666;
	font-size: 16px;
	text-align :center;
	line-height: 1.8;
	padding-top: 60px;
	margin-top: 60px;
}

.kakunin_box {
	margin-top: 60px;
}

.kakunin_box table {
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}

.kakunin_box th {
	width: 200px;
	box-sizing: border-box;
	font-weight: 400;
	font-size: 16px;
	text-align: left;
	padding: 15px 0;
}

.kakunin_box td {
	display: table-cell;
	width: calc(100% - 200px);
	box-sizing: border-box;
	border-bottom: solid 1px #999;
	padding: 15px 15px;
	font-size: 16px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.form_btn_l {
	margin-right: 15px;
}

.form_btn_r {
	margin-left: 15px;
}


@media screen and (max-width: 1024px) {

.contact_form dl dt {
	width: 200px;
}

.contact_form dl dd {
	width: calc(100% - 200px);
}

}


@media screen and (max-width: 999px) {

#contact_head_txt p,
.form_p,
.mail_title,
#kakunin_txt {
	font-size: 1.6vw;
}

}


@media screen and (max-width: 768px) {

.contact .inner {
	padding: 0 20px 310px 20px;
}

#contact_head_txt {
	margin-bottom: 40px;
}

#contact_head_txt p,
.form_p,
#kakunin_txt,
.form_btn_send,
.mail_title {
	font-size: 15px;
}

#contact_head_txt p.header {
	font-size: 26px;
}

#contact_head_txt p .small768 {
	font-size: 13px;
}

.contact_form dl {
	display: block;
	margin-bottom: 40px;
}

.contact_form dl dt {
	font-size: 15px;
	width: 100%;
	display: block;
}

.contact_form dl dd {
	width: 100%;
	display: block;
}

.contact_form dl.contact_contents {
	margin-top: 0px;
	margin-bottom: 40px;
}

.contact_form dl.contact_contents dt {
	margin-bottom: 1em;
}

.contact_form dl dd .select,
.contact_form dl dd .form_txt,
.contact_form dl dd .form_textarea {
	font-size: 15px;
	padding: 15px;
}

.form_btn {
	margin-top: 40px;
}

.kakunin_box th {
	font-size: 15px;
	width: 150px;
}

.kakunin_box td {
	font-size: 15px;
	width: calc(100% - 150px);
}

}


@media screen and (max-width: 599px) {

.contact .inner {
	padding: 0 15px 140px 15px;
}

#contact_head_txt {
	margin-bottom: 30px;
}

#contact_head_txt p,
.contact_form dl dt,
#kakunin_txt,
.mail_title {
	font-size: 14px;
}

.form_p {
	font-size: 13px;
}

#contact_head_txt p.header {
	font-size: 17px;
}

#contact_head_txt p .small768 {
	font-size: 12px;
}

.contact_form dl dd .select {
	font-size: 14px;
	padding: 10px 15px;
}

.contact_form dl dd .form_txt {
	font-size: 14px;
	padding: 10px 15px;
}

.contact_form dl dd .form_textarea {
	font-size: 14px;
	padding: 15px;
	height: 130px;
}

.contact_form dl.contact_contents {
	margin-bottom: 30px;
}

.form_btn {
	margin-top: 25px;
}

.form_btn_send {
	width: 105px;
	height: 34px;
	line-height: 34px;
	font-size: 11px;
}

.mail_title {
	font-size: 14px;
}

.err_box {
	font-size: 14px;
}

.kakunin_box th {
	font-size: 14px;
	width: 120px;
}

.kakunin_box td {
	font-size: 14px;
	width: calc(100% - 100px);
}

}


@media screen and (max-width: 320px) {

#contact_head_txt p,
.form_p {
	font-size: 10px;
}

}


/*	menu　お品書きページ
-------------------------------------------------------------------*/

.menu {
	overflow: hidden;
}

.menu .inner {
	width: 100%;
	max-width: 1040px;
	box-sizing: border-box;
	margin: 0 auto;
}

.menu_nav ul {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 400px;
	list-style: none;
	margin: 0 auto;
}

.menu_nav ul li {
	width: 170px;
	display: inline-block;
}

.menu_nav ul li a {
	display: block;
	border-radius: 100vh;
	border: solid 1px #999999;
	height: 44px;
	line-height: 42px;
	text-decoration: none;
	transition: background 0.6s, color 0.6s;
	text-align: center;
	letter-spacing: 1.5em;
	text-indent: 1.5em;
	font-size: 16px;
}

.menu_nav ul li a:hover {
	background-color: #fff;
	color: #0d0009;
}

.menu_nav ul li.current a {
	background-color: #fff;
	color: #0d0009;
}

.menu_nav ul li:nth-of-type(1) {
	margin-right: 30px;
}

.menu_nav ul li:nth-of-type(2) {
	margin-left: 30px;
}

.menu_content {
	padding: 55px 0 160px 0;
	
}

.menu_content h2 {
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.5em;
	padding-left: 20px;
	margin-bottom: 1em;
}

.menu_head {
	position: relative;
	margin-bottom: 100px;
}

.menu_head .img {
	width: 53%;
	padding-left: 47%;
}

.menu_head .img img {
	width: 100%;
	height: auto;
}

.menu_head .txt {
	position: absolute;
	padding-left: 20px;
	bottom: 5px;
	font-size: 16px;
	line-height: 2.25;
}

.menu_head .txt p {
	text-shadow:
            3px 3px 3px #000, -3px -3px 3px #000,
           -3px 3px 3px #000,  3px -3px 3px #000,
            3px 0px 3px #000, -3px -0px 3px #000,
            0px 3px 3px #000,  0px -3px 3px #000;
}

.menu_desc {
	width: 100%;
	box-sizing: border-box;
    text-align: center;
	line-height: 1.8;
	padding: 0 20px;
	margin: 0 auto;
	margin-bottom: 60px;
}

.menu_info {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	margin-bottom: 100px;
	box-sizing: border-box;
}

.menu_info:last-child {
	margin-bottom: 0px;
}

.menu_info h3 {
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 1.5em;
}

.menu_content h3.note {
	width: 100%;
	box-sizing: border-box;
    text-align: center;
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
	padding: 0 20px;
	margin: 0 auto 2em;
}

.menu_content h3 .small {
	font-size: 26px;
}

.menu_content .kana {
	font-size: 14px;
}

.menu_info.price_w h3,
.menu_info.price_s h3 {
	margin-bottom: 0.6em;
}

.menu_info dl {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100%;
	box-sizing: border-box;
	border-bottom: solid 1px #65666a;
	margin-bottom: 24px;
	padding-bottom: 20px;
	position: relative;
}

.menu_info dl.line-dashed {
	border-bottom: dashed 1px #666666;
}

.menu_info dl dt {
	width: 100%;
	box-sizing: border-box;
	line-height: 1;
}

.menu_info .menu_copy {
	line-height: 1.8;
    margin-bottom: 2em;
}

.menu_info dl dt .menu_caption {
	display: block;
	line-height: 1.6;
	margin: 1em 0 0 1em;
}

.menu_info dl dt.menu_detail {
	line-height: 1.6;
	margin: 1em 0 0 1em;
}

.menu_info dl dt.menu_note {
	font-size: 15px;
	line-height: 1.6;
}

.menu_info dl dd {
	position: absolute;
	right: 0;
	top: 0;
	box-sizing: border-box;
	text-align: right;
	line-height: 1;
}

.drink_type {
	height: 40px;
	position: relative;
	font-size: 16px;
	line-height: 1;
}

.drink_type span:nth-of-type(1) {
	position: absolute;
	right: 140px;
}

.drink_type span:nth-of-type(2) {
	position: absolute;
	right: 22px;
}

.menu_info.price_w dl dd span:nth-of-type(1) {
	width: 100px;
	padding-right: 26px;
	box-sizing: border-box;
	text-align: right;
	line-height: 1;
	border-right: 1px solid #7e7e7e;
	display: inline-block;
}

.menu_info.price_w dl dd span:nth-of-type(2) {
	width: 100px;
	box-sizing: border-box;
	text-align: right;
	line-height: 1;
	display: inline-block;
}

.menu_info .note,
.menu_img .note {
	font-size: 15px;
	text-align: center;
	line-height: 1.8;
	margin-top: 30px;
}

.menu_info .note_cuisine {
	text-align: center;
	line-height: 1.8;
	margin-top: 60px;
}

.menu_img {
	margin-bottom: 60px;
}

.menu_img img {
	max-width: 100%;
	height: auto;
}

.menu_img .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: #000;
  opacity: 0.2;
}
.menu_img .swiper-pagination-bullet:hover {
  opacity: 0.3;
}
.menu_img .swiper-pagination-bullet-active,
.menu_img .swiper-pagination-bullet-active:hover {
  opacity: 1;
  background: #da371c;
}

.menu_bsg {
	width: 100%;
	margin-bottom: 80px;
}

.menu_bsg img {
	float: left;
	max-width: 100%;
	height: 100%;
	vertical-align: middle;
	margin-right: 30px;
	margin-bottom: 30px;
}

.menu_bsg p {
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 20px;
}


@media screen and (max-width: 1024px) {

.menu_head {
	padding: 0 15px;
	margin-bottom: 100px;
}

.menu_head .img {
	width: 100%;
	padding-left: 0;
	margin-bottom: 20px;
}

.menu_head .txt {
	position: relative;
	padding-left: 0px;
	bottom: auto;
}

.menu_desc,
.menu_info {
	padding: 0 15px;
}

.menu_info .note_detail {
	display: block;
	font-size: 14px;
	margin-top: 1em;
}

}


@media screen and (max-width: 999px) {

.menu_content h2 {
	font-size: 4.2vw;
}

.menu_info h3 {
	font-size: 3.2vw;
}

.menu_content h3.note {
	font-size: 3.2vw;
}

}


@media screen and (max-width: 768px) {

.menu_head {
	margin-bottom: 75px;
}

.menu_head .txt,
.menu_info .note,
.menu_img .note {
	font-size: 15px;
}

.menu_desc,
.menu_info {
	font-size: 15px;
}

.menu_info .note_cuisine {
	margin-top: 45px;
}

.menu_info .note_detail {
	font-size: 15px;
	margin-top: 0.6em;
}

.menu_content h2 {
	font-size: 30px;
}

.menu_info h3 {
	font-size: 24px;
}

.menu_content h3.note {
	font-size: 24px;
}

.menu_content h3 .small {
	font-size: 20px;
}

.menu_content .kana {
	font-size: 13px;
}

.menu_info dl dt .menu_detail {
	margin-top: 0.6em;
}

.drink_type {
	height: 30px;
	font-size: 14px;
	line-height: 1;
}

.drink_type span:nth-of-type(1) {
	right: 120px;
}

.drink_type span:nth-of-type(2) {
	right: 25px;
}

.menu_info.price_w dl dd span:nth-of-type(1) {
	width: 90px;
	padding-right: 20px;
}

.menu_info.price_w dl dd span:nth-of-type(2) {
	width: 75px;
}

.menu_img {
	margin-bottom: 40px;
}

.menu_bsg {
	margin-bottom: 60px;
}

.menu_bsg img {
	max-width: 60%;
}

.menu_bsg p {
	font-size: 14px;
}

}


@media screen and (max-width: 599px) {

.menu_nav ul {
	width: 234px;
}

.menu_nav ul li {
	width: 100px;
}

.menu_nav ul li a {
	height: 31px;
	line-height: 30px;
	letter-spacing: 1.5em;
	text-indent: 1.5em;
	font-size: 12px;
}

.menu_nav ul li:nth-of-type(1) {
	margin-right: 15px;
}

.menu_nav ul li:nth-of-type(2) {
	margin-left: 15px;
}

.menu_head {
	margin-bottom: 50px;
}

.menu_head .txt {
	font-size: 14px;
	line-height: 1.8;
}

.menu_content {
	padding: 25px 0 80px 0;
}

.menu_content h2 {
	font-size: 19px;
}

.menu_content .kana {
	font-size: 12px;
}

.menu_desc {
	font-size: 14px;
	margin-bottom: 30px;
}

.menu_info {
	font-size: 14px;
	margin-bottom: 50px;
}

.menu_info h3 {
	font-size: 17px;
}

.menu_content h3.note {
	font-size: 17px;
	margin-bottom: 1.5em;
}

.menu_content h3 .small {
	font-size: 15px;
}

.menu_info.price_w h3,
.menu_info.price_s h3 {
	margin-bottom: 0.6em;
}

.menu_info dl {
	margin-bottom: 18px;
	padding-bottom: 15px;
}

.menu_info dl dt {
	line-height: 1.6;
}

.menu_info dl dt .menu_detail {
	margin-top: 0.6em;
}

.menu_info dl dt.menu_note {
	font-size: 13px;
}

.menu_info .small,
.menu_info dl dt .small {
	font-size: 13.3px;
}

.menu_info .small02,
.menu_info dl dt .small02 {
	font-size: 11px;
}

.menu_info dl dt .small599 {
	font-size: 12px;
}

.menu_info dl dd {
	font-size: 14px;
	line-height: 1.45;
}

.menu_info .note,
.menu_img .note {
	font-size: 13px;
	line-height: 1.6;
	margin-top: 15px;
}

.menu_info .note_cuisine {
	line-height: 1.6;
	margin-top: 30px;
}
    
.menu_info .note_detail {
	font-size: 13px;
	margin-top: 0.3em;
}

.drink_type {
	font-size: 11px;
	height: 25px;
}

.drink_type span:nth-of-type(1) {
	right: 102px;
}

.drink_type span:nth-of-type(2) {
	right: 28px;
}

.menu_info.price_w dl dd span:nth-of-type(1) {
	width: 75px;
	padding-right: 12px;
}

.menu_info.price_w dl dd span:nth-of-type(2) {
	width: 70px;
}

.menu_img {
	margin-bottom: 40px;
}

.menu_bsg {
	margin-bottom: 40px;
}

.menu_bsg img {
	max-width: 26%;
	margin-right: 20px;
	margin-bottom: 25px;
}

.menu_bsg p {
	font-size: 12.6px;
	margin-bottom: 15px;
}

}


@media screen and (max-width: 374px) {

.menu_desc,
.menu_info {
	font-size: 11px;
}

.drink_type span:nth-of-type(1) {
	right: 120px;
}

.drink_type span:nth-of-type(2) {
	right: 40px;
}

}


/*	tearoom　茶室ページ
-------------------------------------------------------------------*/

.tearoom {
	overflow: hidden;
}

.tearoom h1 {
	letter-spacing: 0.5em;
	text-align: center;
	text-indent: 0.5em;
}

.tearoom .inner {
	width: 100%;
	max-width: 1040px;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 160px;
}

.tearoom_head {
	position: relative;
	margin-bottom: 100px;
}

.tearoom_head .img {
	width: 53%;
	padding-left: 47%;
}

.tearoom_head .img img {
	width: 100%;
	height: auto;
}

.tearoom_head .txt {
	position: absolute;
	padding-left: 20px;
	bottom: 60px;
	font-size: 16px;
	line-height: 2.25;
}

.tearoom_head .txt p {
	text-shadow:
            3px 3px 3px #000, -3px -3px 3px #000,
           -3px 3px 3px #000,  3px -3px 3px #000,
            3px 0px 3px #000, -3px -0px 3px #000,
            0px 3px 3px #000,  0px -3px 3px #000;
}

#tearoom_img {
	margin-bottom: 60px;
}

#tearoom_img img {
	width: 100%;
	height: auto;
}


@media screen and (max-width: 1024px) {

.tearoom_head {
	padding: 0 15px;
	margin-bottom: 100px;
}

.tearoom_head .img {
	width: 100%;
	padding-left: 0;
	margin-bottom: 20px;
}

.tearoom_head .txt {
	position: relative;
	padding-left: 0px;
	bottom: auto;
}

}


@media screen and (max-width: 768px) {

.tearoom .inner {
	padding-bottom: 120px;
}

.tearoom_head {
	margin-bottom: 75px;
}

.tearoom_head .txt {
	font-size: 15px;
}

#tearoom_img {
	margin-bottom: 45px;
}

}


@media screen and (max-width: 599px) {

.tearoom .inner {
	padding-bottom: 80px;
}

.tearoom_head {
	margin-bottom: 50px;
}

.tearoom_head .txt {
	font-size: 14px;
}

#tearoom_img {
	margin-bottom: 30px;
}

}


/*	stage　舞台ページ
-------------------------------------------------------------------*/

.stage {
	overflow: hidden;
}

.stage h1 {
	text-align: center;
}

.stage .inner {
	width: 100%;
	max-width: 1040px;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 160px;
}

.stage_head {
	position: relative;
	margin-bottom: 100px;
}

.stage_head .img {
	width: 53%;
	padding-left: 47%;
}

.stage_head .img img {
	width: 100%;
	height: auto;
}

.stage_head .txt {
	position: absolute;
	padding-left: 20px;
	bottom: 60px;
	font-size: 16px;
	line-height: 2.25;
}

.stage_head .txt p {
	text-shadow:
	3px 3px 3px #000, -3px -3px 3px #000,
	-3px 3px 3px #000,  3px -3px 3px #000,
	3px 0px 3px #000, -3px -0px 3px #000,
	0px 3px 3px #000,  0px -3px 3px #000;
}

#stage_img {
	margin-bottom: 60px;
}

#stage_img img {
	width: 100%;
	height: auto;
}

.stage_info {
	padding: 0 20px;
	margin-bottom: 40px;
	text-align: center;
}

.stage_info p:nth-of-type(1) {
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 1em;
}

.stage_info p:nth-of-type(2) {
	font-size: 32px;
	line-height: 1;
	margin-bottom: 1.5em;
}

.stage_info p:nth-of-type(3) {
	font-size: 16px;
	line-height: 1;
}

.stage_calendar {
	margin-bottom: 30px;
	padding: 0 20px;
}

.stage_calendar h2 {
	font-size: 32px;
	line-height: 1;
	letter-spacing: 0.13em;
	margin-bottom: 1em;
}

.stage_calendar #stage_calendar_pc {
	height: 950px;
}

.geinagon_title h2 {
	padding: 0 20px;
	font-size: 32px;
	line-height: 1.56;
	letter-spacing: 0.13em;
	margin-top: 100px;
	margin-bottom: 1.5em;
}

.geinagon_info,
.person_info {
	padding: 0 20px;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100%;
	box-sizing: border-box;
}

.person_info { margin-bottom: 60px; }

.person_info02 { margin-bottom: 60px; }

.geinagon_info .img,
.person_info .img {
	width: 30%;
}

.geinagon_info .img img,
.person_info .img img {
	width: 100%;
	height: auto;
}

.geinagon_info .txt,
.person_info .txt {
	width: 70%;
	box-sizing: border-box;
	padding-left: 4%;
}

.geinagon_info .txt p {
	line-height: 2;
	font-size: 16px;
	margin-bottom: 1.5em;
}

.geinagon_info .txt dl dt {
	line-height: 2;
	font-size: 16px;
}

.person_info .txt dl dt {
	line-height: 1;
	font-size: 22px;
}

.person_info .txt dl dt .small {
	font-size: 15px;
}

.geinagon_info .txt dl dd {
	line-height: 2;
	font-size: 16px;
}

.person_info .txt dl dd {
	margin-top: 1.6em;
}

.person_info .txt dl dd.katagaki {
	font-size: 14px;
}

.person_info .btn,
.tokubetsu_menu_single .btn,
.tokubetsu_menu_single .btn02,
.event_prg .btn02 {
	width: 16px;
	height: 23px;
	margin: 30px auto 0 auto;
	cursor: pointer;
}

.sp_event .btn {
	width: 16px;
	height: 23px;
	margin: 15px auto 0 auto;
	cursor: pointer;
}

.tokubetsu_menu_single .btn,
.sp_event .btn,
.event_prg .btn {
	margin-bottom: 2em;
}

.tokubetsu_menu_single .btn02,
.event_prg .btn02 {
	margin-bottom: 0em;
}

.person_info .btn svg,
.tokubetsu_menu_single .btn svg,
.tokubetsu_menu_single .btn02 svg,
.event_prg .btn02 svg,
.sp_event .btn svg {
	fill: #fff;
	transition: fill 0.6s;
}

.stage_content_if {
    width: 100%;
    height: 80vh;
}

@media screen and (max-width: 1024px) {

.stage_head {
	padding: 0 15px;
	margin-bottom: 100px;
}

.stage_head .img {
	width: 100%;
	padding-left: 0;
	margin-bottom: 20px;
}

.stage_head .txt {
	position: relative;
	padding-left: 0px;
	bottom: auto;
}

.stage_info {
	padding: 0 15px;
}

.stage_calendar {
	padding: 0 15px;
}

.geinagon_title h2 {
	padding: 0 15px;
}

}


@media screen and (max-width: 768px) {

.stage .inner {
	padding-bottom: 120px;
}

.stage_head {
	margin-bottom: 75px;
}

.stage_head .txt {
	font-size: 15px;
}

#stage_img {
	margin-bottom: 45px;
}

.stage_info {
	margin-bottom: 30px;
}

.stage_info p:nth-of-type(1) {
	font-size: 15px;
}

.stage_info p:nth-of-type(2) {
	font-size: 28px;
}

.stage_info p:nth-of-type(3) {
	font-size: 14px;
	line-height: 1.83;
}

.stage_calendar {
	margin-bottom: 20px;
}

.stage_calendar h2 {
	font-size: 24px;
}

.person_info { margin-bottom: 75px; }

.person_info02 { margin-bottom: 75px; }

.geinagon_title h2 {
	font-size: 24px;
	margin-top: 80px;
}

.geinagon_info,
.person_info {
	padding: 0 15px;
}

.geinagon_info .img,
.person_info .img {
	width: 75%;
	margin: 0 auto 45px auto;
}

.geinagon_info .txt,
.person_info .txt {
	width: 100%;
	padding-left: 0%;
}

.geinagon_info .txt p {
	font-size: 15px;
}

.geinagon_info .txt dl dt {
	font-size: 15px;
}

.person_info .txt dl dt {
	font-size: 18px;
}

.person_info .txt dl dt .small {
	font-size: 14px;
}

.person_info .txt .small {
	font-size: 14px;
}

.geinagon_info .txt dl dd,
.person_info .txt dl dd {
	font-size: 15px;
}

.person_info .txt dl dd.katagaki {
	font-size: 13px;
}

.person_info .txt dl dd {
	margin-top: 1.2em;
}

}


@media screen and (max-width: 599px) {

.stage .inner {
	padding-bottom: 80px;
}

.stage_head {
	margin-bottom: 50px;
}

.stage_head .txt {
	font-size: 14px;
}

#stage_img {
	margin-bottom: 30px;
}

.stage_info p:nth-of-type(1) {
	font-size: 13px;
}

.stage_info p:nth-of-type(2) {
	font-size: 16px;
}

.stage_info p:nth-of-type(3) {
	font-size: 12px;
}

.stage_calendar {
	margin-bottom: 15px;
}

.stage_calendar h2 {
	font-size: 17px;
}

.person_info { margin-bottom: 50px; }

.person_info02 { margin-bottom: 50px; }

.geinagon_title h2 {
	font-size: 17px;
	margin-top: 60px;
}

.geinagon_info .img {
	margin: 0 auto 20px auto;
}

.person_info .img {
	width: 220px;
	margin: 0 auto 20px auto;
}


.geinagon_info .txt p {
	font-size: 14px;
	line-height: 1.8;
}

.geinagon_info .txt dl dt {
	font-size: 14px;
	line-height: 1.8;
}

.person_info .txt dl dt {
	font-size: 14px;
	line-height: 1.8;
}

.person_info .txt dl dt .small {
	font-size: 12px;
}

.person_info .txt .small {
	font-size: 12px;
}

.geinagon_info .txt dl dd,
.person_info .txt dl dd {
	font-size: 14px;
	line-height: 1.8;
}

.person_info .txt dl dd.katagaki {
	font-size: 11px;
}

.person_info .txt dl dd {
	margin-top: 0.8em;
}

.person_info .txt .small {
	font-size: 12px;
}

.person_info .btn,
.tokubetsu_menu_single .btn,
.tokubetsu_menu_single .btn02,
.event_prg .btn02 {
	margin: 20px auto 0 auto;
}

.sp_event .btn {
	margin: 10px auto 0 auto;
}

.tokubetsu_menu_single .btn,
.sp_event .btn {
	margin-bottom: 2em;
}

.tokubetsu_menu_single .btn02,
.event_prg .btn02 {
	margin-bottom: 0em;
}

.person_info .txt dl dd.profile {
	font-size: 14px;
}

.stage_content_if {
    width: 100%;
    height: 60vh;
}

}


/*	stage　特別公演
-------------------------------------------------------------------*/

.stage_info_tokubetsu {
	margin-top: 100px;
}

.stage_info_tokubetsu h2 {
	padding: 0 20px;
	font-size: 32px;
	line-height: 1.56;
	margin-bottom: 1.5em;
}

.stage_info_tokubetsu h2 .titlesmall { font-size: 26px; }

.stage_info_tokubetsu h2 .titlecredit {
    font-size: 18px;
    font-weight: 400;
}

.stage_info_tokubetsu h2 .kana,
.topics_post_header h2 .kana {
	font-size: 24px;
}

.stage_info_tokubetsu .tokubetsu_date {
	font-size: 22px;
	line-height: 1;
}

.stage_info_tokubetsu .tokubetsu_date .tokubetsu_d-o-w,
.tokubetsu_menu p .tokubetsu_d-o-w,
.week_time .tokubetsu_d-o-w {
	font-size: 18px;
}

.stage_info_tokubetsu .main_img {
	margin-bottom: 60px;
}

.stage_info_tokubetsu .main_img img {
	width: 100%;
	height: auto;
}

.stage_info_tokubetsu .main_txt {
	padding: 0 20px;
	font-size: 16px;
	margin-bottom: 60px;
}

.stage_info_tokubetsu .main_txt dl {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.stage_info_tokubetsu .main_txt dl dt {
	width: 4em;
	line-height: 2;
}

.stage_info_tokubetsu .main_txt dl dd {
	width: calc(100% - 4em);
	line-height: 2;
}

.stage_info_tokubetsu .main_txt p {
	line-height: 2;
	margin-top: 1em;
}

.stage_info_tokubetsu .main_txt p.title { font-size: 22px; }

.stage_info_tokubetsu .main_txt p.kome {
    margin-top: 2em;
    line-height: 1.8;
}

.stage_info_tokubetsu .sub_img {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin-bottom: 60px;
}

.stage_info_tokubetsu .sub_img .img {
	width: 48%;
	margin-right: 4%;
}

.stage_info_tokubetsu .sub_img .img img {
	width: 100%;
	height: auto;
}

.stage_info_tokubetsu .sub_img .txt {
	width: 48%;
	position: relative;
}

.stage_info_tokubetsu .sub_img .txt dl {
	position: absolute;
	bottom: 0;
	padding: 0 20px 0 0;
}

.stage_info_tokubetsu .sub_img .txt dl dt,
.stage_info_tokubetsu .sub_txt dt {
	font-size: 22px;
	line-height: 1;
	margin-bottom: 1.5em;
}

.stage_info_tokubetsu .txt dl dd,
.stage_info_tokubetsu .sub_txt dd {
	font-size: 16px;
	line-height: 2;
}

.stage_info_tokubetsu .sub_txt {
	margin-bottom: 60px;
	padding: 0 20px;
}

.stage_info_tokubetsu .sub_img_single,
.sub_img_single02 {
	padding: 0 20px;
	margin-bottom: 60px;
}

.sub_img_single03 {
	margin: 60px 0;
}

.stage_info_week .sub_img {
	margin-top: 60px;
}

.stage_info_tokubetsu .sub_img_single img,
.sub_img_single02 img,
.sub_img_single03 img,
.stage_info_week .sub_img img,
.topics_post_content .sub_img_single02 {
	width: 100%;
	height: auto;
}

.tokubetsu_menu {
	padding: 0 20px;
	margin-bottom: 100px;
}

.tokubetsu_menu h3 {
	font-size: 22px;
	line-height: 1;
	font-weight: 600;
	margin-bottom: 1em;
}

.tokubetsu_menu .event_skd,
.tokubetsu_menu .plan_vip,
.plan_title {
	font-size: 22px;
	text-align: center;
	line-height: 2;
}

.tokubetsu_menu .event_skd .dow {
	font-size: 18px;
}

.tokubetsu_menu .event_skd p.price,
.plan_vip p.price {
	line-height: 1.6;
    margin-top: 1em;
}

.tokubetsu_menu .event_skd .small {
	font-size: 16px;
}

.tokubetsu_menu .time {
	font-size: 22px;
	line-height: 1;
	margin-bottom: 1.5em;
}

.tokubetsu_menu .menu_txt {
	font-size: 16px;
	line-height: 1;
	margin-bottom: 2em;
}

.tokubetsu_menu .sub_img {
	margin-top: 60px;
}

.tokubetsu_menu .sub_img img {
	width: 100%;
	height: auto;
}

.geinagon_info .txt p .kana,
.stage_info_tokubetsu .main_txt p .kana,
.tokubetsu_menu .kana,
.person_info .kana {
    font-size: 14px;
}

.tokubetsu_menu_single,
.plan_menu_single {
	border-bottom: solid 1px #666;
	position: relative;
	font-size: 16px;
	margin-bottom: 1.5em;
}

/*.tokubetsu_menu_single:nth-of-type(4) {
	margin-bottom: 0;
}*/

.plan_menu_single:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.tokubetsu_menu .event_prg {
	border-bottom: solid 1px #666;
	position: relative;
	font-size: 16px;
    margin-bottom: 60px;
}

.tokubetsu_menu .event_prg p.title {
    font-size: 22px;
    margin: 30px auto;
}

.week_kome02 dl dt {
	padding-bottom: 0.5em;    
}

.tokubetsu_menu_single dl.line-dashed,
.event_prg dl.line-dashed {
	border-bottom: dashed 1px #666666;
	margin-bottom: 1.5em;
	padding-bottom: 0px;
}

.tokubetsu_menu_single dl dt,
.plan_menu_single dl dt,
.event_prg dl dt {
	line-height: 1.8;
	margin-bottom: 0.3em;
}

.tokubetsu_menu_single dl dt.bold b,
.event_prg dl dt.bold b {
    font-feature-settings: "halt";
}

.tokubetsu_menu_single dl dt.only,
.event_prg dl dt.only {
	margin-bottom: 1.5em;
}

.tokubetsu_menu_single dl dt .txt p,
.event_prg dl dt .txt p {
    margin-top: 1em;
}

.tokubetsu_menu_single dl dd,
.plan_menu_single dl dd,
.event_prg dl dd {
	padding-left: 1em;
	padding-bottom: 1.5em;
	line-height: 1.8;
}

.tokubetsu_menu_single dl dd.synopsis,
.event_prg dl dd.synopsis {
    padding-bottom: 0;
}

.event_prg dl dt.notes {
	font-size: 15px;
	margin-bottom: 1.5em;
}

.tokubetsu_menu_single .price,
.plan_menu_single .price {
	position: absolute;
	top: 0;
	right: 0;
	line-height: 1.8;
}

.tokubetsu_menu_single dl {
	position: relative;
}

.stage_img {
    margin-top: 60px;
}

.event_img {
    margin: 60px auto;
}

.stage_img img,
.event_img img {
	max-width: 100%;
	height: auto;
}

.stage_img .swiper-pagination-bullet,
.event_img .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: #000;
	opacity: 0.2;
}
.stage_img .swiper-pagination-bullet:hover,
.event_img .swiper-pagination-bullet:hover {
	opacity: 0.3;
}
.stage_img .swiper-pagination-bullet-active,
.stage_img .swiper-pagination-bullet-active:hover,
.event_img .swiper-pagination-bullet-active,
.event_img .swiper-pagination-bullet-active:hover {
	opacity: 1;
	background: #da371c;
}

.tokubetsu_menu_title {
	font-weight: 700;
	margin: 60px auto 30px;
}

.tokubetsu_menu_title02 {
	font-weight: 700;
	margin: 30px auto;
}

.tokubetsu_menu_title02 p.plantitle {
    font-size: 22px;
}

.tokubetsu_menu .kome {
	font-size: 16px;
	line-height: 2;
}

.tokubetsu_menu .kome02 {
	font-size: 16px;
	margin-bottom: 60px;
}

.betto {
	text-align: center;
	font-size: 15px;
	line-height: 1.8;
}

.stage_notes {
	text-align: center;
	font-size: 16px;
	color: #da371c;
	line-height: 1.8;
	margin-bottom: 60px;
}

.tablecheck,
.telinfo {
	text-align: center;
	margin-bottom: 100px;
}

.tablecheck02 {
	text-align: center;
	margin-bottom: 60px;
}

.tablecheck p,
.tablecheck02 p,
.telinfo p {
	font-size: 16px;
	line-height: 2;
}

.tablecheck p:nth-of-type(1),
.tablecheck02 p:nth-of-type(1) {
	margin-bottom: 1.5em;
}

.tablecheck03,
.tablecheck04 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #da371c;
	line-height: 1.8;
	text-align: center;
	margin-top: 1em;
}

.plan_title .note,
.plan_tel .note,
.week_price .note,
.tax {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #fff;
	text-align: center;
}

.plan_tel {
	font-size: 24px;
	text-align: center;
}

.plan_tel a {
  text-decoration: none;
}

.stage_info_week {
	margin-bottom: 100px;
	padding: 0 20px;
}

.stage_info_week h3 {
	text-align: center;
	margin-bottom: 40px;
}

.stage_info_week h3 p {
	font-size: 22px;
	line-height: 1;
	border-left: solid 1px #999;
	border-right: solid 1px #999;
	padding: 1em 1.5em;
	margin: 0 auto;
	display: inline-block;
}

.stage_info_week h3 p span {
	font-size: 18px;
}

.stage_info_week .sub_img_single {
	padding: 0;
	margin: 40px 0px;
}

.stage_info_week .sub_img_single img {
	width: 50%;
	height: auto;
}

.stage_info_week_content {
	margin-bottom: 60px;
}

.stage_info_week_content p {
	text-align: center;
	font-size: 16px;
	line-height: 2;
	margin-top: 1em;
}

.stage_info_week_content .title {
	font-size: 22px;
}

.event_end {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	text-align: center;
}

.event_end p {
	font-size: 16px;
	line-height: 2;
}

.credit {
	display: block;
	text-align: right;
	font-size: 14px;
	line-height: 1;
	margin: 10px auto 0 auto;
}

.strikethrough {
	text-decoration: line-through;
}

.pdftxt {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 14px;
	text-align: center;
	margin: 10px auto 30px auto;
}

.zanseki {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 20px;
	color: #da371c;
	text-align: center;
	margin: 10px auto 30px auto;
}

.quote {
	display: block;
	text-align: right;
	font-size: 14px;
	color: #999999;
	line-height: 1;
}

.plan_copy {
	font-size: 18px;
	line-height: 1.8;
	text-align: center;
    margin-top: 1.6em;
}

.btn_detail {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	line-height: 20px;
    margin-top: 30px;
}

.btn_detail02 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	line-height: 20px;
    margin-top: 10px;
}


@media screen and (min-width: 1024px) {
	a[href^="tel:"] {
	pointer-events: none;
}

}

@media screen and (max-width: 1024px) {

.stage_info_tokubetsu h2 {
	padding: 0 15px;
}

.stage_info_tokubetsu .main_txt {
	padding: 0 15px;
}

.stage_info_tokubetsu .sub_txt {
	padding: 0 15px;
}

.tokubetsu_menu {
	padding: 0 15px;
}

}


@media screen and (max-width: 768px) {

.stage_info_tokubetsu {
	margin-top: 75px;
}

.stage_info_tokubetsu h2 {
	font-size: 24px;
}

.stage_info_tokubetsu h2 .titlesmall { font-size: 20px; }

.stage_info_tokubetsu h2 .titlecredit { font-size: 15px; }

.stage_info_tokubetsu h2 .kana,
.topics_post_header h2 .kana {
	font-size: 19px;
}

.stage_info_tokubetsu .tokubetsu_date {
	font-size: 18px;
}

.stage_info_tokubetsu .tokubetsu_date .tokubetsu_d-o-w,
.tokubetsu_menu p .tokubetsu_d-o-w,
.week_time .tokubetsu_d-o-w {
	font-size: 16px;
}

.stage_info_tokubetsu .main_img { margin-bottom: 45px; }

.stage_info_tokubetsu .main_txt {
	font-size: 15px;
	margin-bottom: 45px;
}

.stage_info_tokubetsu .main_txt p.title {
	font-size: 18px;
}

.stage_info_tokubetsu .main_txt p.kome { font-size: 14px; }

.stage_info_tokubetsu .sub_img {
	margin-bottom: 50px;
}

.stage_info_tokubetsu .sub_img_single {
	padding: 0 15px;
	margin-bottom: 45px;
}

.sub_img_single02,
.topics_post_content .sub_img_single02 {
	margin-bottom: 45px;
}

.sub_img_single03 {
	margin: 45px 0;
}

.stage_info_week .sub_img {
	margin-top: 45px;
}

.stage_info_tokubetsu .sub_img img {
	width: 80%;
	margin-right: 0%;
	margin: 0 auto 45px auto;
}

.stage_info_tokubetsu .sub_img .txt {
	width: 100%;
}

.stage_info_tokubetsu .sub_img .txt dl {
	position: relative;
	bottom: auto;
	padding: 0 15px;
}

.stage_info_tokubetsu .sub_img .txt dl dt,
.stage_info_tokubetsu .sub_txt dt {
	font-size: 18px;
}

.stage_info_tokubetsu .txt dl dd,
.stage_info_tokubetsu .sub_txt dd {
	font-size: 15px;
}

.stage_info_tokubetsu .sub_txt {
	margin-bottom: 45px;
}

.stage_info_tokubetsu .sub_txt {
	margin-bottom: 60px;
	padding: 0 20px;
}

.tokubetsu_menu { margin-bottom: 75px; }

.stage_info_week_content .title,
.tokubetsu_menu h3,
.tokubetsu_menu .event_skd,
.tokubetsu_menu .plan_vip,
.tokubetsu_menu .time,
.tokubetsu_menu_title02 p.plantitle,
.plan_title {
    font-size: 18px;
}

.tokubetsu_menu .event_prg p.title {
    font-size: 18px;
    margin: 22.5px auto;
}

.tokubetsu_menu .event_skd .dow { font-size: 16px; }

.tokubetsu_menu .event_skd .small,
.plan_title .small {
    font-size: 15px;
}

.plan_copy { font-size: 15.5px; }

.tokubetsu_menu .sub_img {
	margin-top: 45px;
}

.tokubetsu_menu .menu_txt,
.tokubetsu_menu_single,
.tokubetsu_menu_single .price,
.plan_menu_single,
.plan_menu_single .price,
.tokubetsu_menu_title,
.tokubetsu_menu_title02,
.tokubetsu_menu .kome,
.betto,
.tablecheck p,
.tablecheck02 p,
.tablecheck03,
.tablecheck04,
.telinfo p,
.stage_info_week_content p,
.event_end p,
.stage_notes {
    font-size: 15px;
}

.tokubetsu_menu .event_prg {
    font-size: 15px;
	margin-bottom: 45px;
}

.event_prg dl dt.notes {
	font-size: 14px;
}

.plan_title .note,
.plan_tel .note,
.week_price .note,
.tax {
    font-size: 13px; }

.plan_tel {
	font-size: 20px;
}

.stage_img {
    margin-top: 40px;
}

.event_img {
    margin: 45px auto;
}

.tokubetsu_menu .kome02 {
	font-size: 15px;
	margin-bottom: 50px;
}

.tablecheck,
.telinfo {
	margin-bottom: 75px;
}

.tablecheck02 {
	margin-bottom: 45px;
}

.stage_info_week {
	margin-bottom: 75px;
	padding: 0 15px;
}

.stage_info_week h3 {
	margin-bottom: 30px;
}

.stage_info_week h3 p {
	font-size: 20px;
}

.stage_info_week h3 p span {
	font-size: 14px;
}

.stage_info_week .sub_img_single {
	padding: 0;
	margin: 30px 0px;
}

.credit { font-size: 12px; }

.pdftxt,
.quote {
    font-size: 13px;
}

.zanseki { font-size: 18px; }

}


@media screen and (max-width: 599px) {

.stage_info_tokubetsu {
	margin-top: 50px;
}

.stage_info_tokubetsu h2 { font-size: 17px; }

.stage_info_tokubetsu h2 .font16 { font-size: 16px; }

.stage_info_tokubetsu h2 .titlesmall,
.stage_info_tokubetsu h2 .subtitle,
.stage_info_tokubetsu .main_txt p.title {
    font-size: 15px;
}

.stage_info_tokubetsu h2 .titlecredit { font-size: 12px; }

.stage_info_tokubetsu h2 .small599 { font-size: 14px; }

.topics_post_header h2 .kana,
.topics_post_content .kana,
.stage_info_tokubetsu h2 .kana {
    font-size: 13px;
}

.topics_post_content .kana02 {
	font-size: 12.3px;
}

.stage_info_tokubetsu .tokubetsu_date,
.stage_info_tokubetsu .sub_img .txt dl dt,
.stage_info_tokubetsu .sub_txt dt {
	font-size: 14px;
}

.stage_info_tokubetsu .tokubetsu_date .tokubetsu_d-o-w,
.tokubetsu_menu p .tokubetsu_d-o-w,
.week_time .tokubetsu_d-o-w,
.stage_info_tokubetsu .txt dl dd,
.stage_info_tokubetsu .sub_txt dd {
	font-size: 12px;
}

.stage_info_tokubetsu .main_img { margin-bottom: 30px; }

.stage_info_tokubetsu .main_txt {
	font-size: 14px;
	margin-bottom: 30px;
}

.stage_info_tokubetsu .main_txt p.kome {
    font-size: 13px;
	line-height: 1.8;
}

.stage_info_tokubetsu .sub_img_single {
	margin-bottom: 30px;
}

.sub_img_single02,
.topics_post_content .sub_img_single02 {
	margin-bottom: 30px;
}

.sub_img_single03 {
	margin: 30px 0;
}

.stage_info_week .sub_img {
	margin-top: 30px;
}

.stage_info_tokubetsu .sub_img {
	margin-bottom: 35px;
}

.event_prg dl dt.notes {
	font-size: 13px;
    line-height: 1.6;
}

.event_prg dl dt.notes .s {
	font-size: 12.5px;
}

.stage_info_tokubetsu .sub_txt {
	margin-bottom: 30px;
}

.tokubetsu_menu { margin-bottom: 50px; }
.tokubetsu_menu#sanbu { margin-bottom: 30px; }

.tokubetsu_menu .event_skd {
	font-size: 16px;
}

.tokubetsu_menu h3,
.tokubetsu_menu .menu_txt,
.tokubetsu_menu_single,
.tokubetsu_menu_single .price,
.plan_menu_single,
.plan_menu_single .price,
.tokubetsu_menu_title,
.tokubetsu_menu_title02,
.tokubetsu_menu .event_skd .dow,
.tokubetsu_menu .kome,
.telinfo p,
.event_end p,
.stage_info_week_content p,
.event_end p {
    font-size: 14px;
}

.tokubetsu_menu .event_prg {
    font-size: 14px;
	margin-bottom: 30px;
}

.stage_img {
    margin-top: 40px;
}

.event_img {
    margin: 30px auto;
}

.tokubetsu_menu .time { font-size: 15px; }

.tokubetsu_menu .sub_img {
	margin-top: 30px;
}

.tokubetsu_menu .kome02 {
	font-size: 14px;
	margin-bottom: 40px;
}

.geinagon_info .txt p .kana,
.stage_info_tokubetsu .main_txt p .kana,
.tokubetsu_menu .kana,
.person_info .kana {
	font-size: 12px;
}

.tokubetsu_menu .small599 {
	font-size: 13.4px;
}

.tokubetsu_menu_single .littlesmall,
.plan_menu_single .littlesmall {
	font-size: 12.5px;
	padding-top: 1.6px;
}

.tablecheck p,
.tablecheck02 p,
.tablecheck03,
.tablecheck04,
.betto,
.tokubetsu_menu_single .font13,
.plan_menu_single .font13,
.tokubetsu_menu_single dl dd .small,
.tokubetsu_menu .event_skd .small,
.event_prg dl dd .small {
    font-size: 13px;
}

.plan_title .note,
.plan_tel .note,
.week_price .note,
.tax {
    font-size: 11px;
}

.plan_tel {
	font-size: 18px;
}

.stage_info_week .sub_img_single {
	margin: 20px 0px;
}

.stage_info_week_content {
	margin-bottom: 30px;
}

.stage_info_week_content .title {
	font-size: 14px;
}

.plan_menu_single .font12 {
    font-size: 12px;
}

.tokubetsu_menu_single .font11,
.plan_menu_single .font11 {
    font-size: 11px;
}

.tokubetsu_menu_single .font10,
.plan_menu_single .font10 {
    font-size: 10px;
}

.stage_notes {
	font-size: 12px;
	margin-bottom: 30px;
}

.tokubetsu_menu_single dl dd,
.plan_menu_single dl dd,
.event_prg dl dd {
	line-height: 1.8;
}

.tokubetsu_menu_title {
	margin: 30px auto 15px;
}

.tokubetsu_menu_title02 {
	margin: 15px auto;
}

.tokubetsu_menu_title02 p.plantitle {
	font-size: 15.5px;
}

.tokubetsu_menu .event_prg p.title {
    font-size: 15.5px;
    margin: 15px auto;
}

.tablecheck p:nth-of-type(1),
.tablecheck02 p:nth-of-type(1) {
	margin-bottom: 0.6em;
}

.tablecheck,
.telinfo {
	margin-bottom: 50px;
}

.tablecheck02 {
	margin-bottom: 30px;
}

.stage_info_week {
	margin-bottom: 50px;
}

.stage_info_week h3 {
	margin-bottom: 20px;
}

.stage_info_week h3 p {
	font-size: 15px;
	padding: 0.8em 1em 0.96em 0.6em;
}

.stage_info_week h3 p span {
	font-size: 12px;
}

.credit {
	font-size: 10px;
	line-height: 1.6;
	margin: 5px auto 0 auto;
}

.pdftxt,
.quote {
    font-size: 12px;
}

.zanseki { font-size: 16px; }

.tokubetsu_menu .plan_vip,
.plan_title {
    font-size: 15.5px;
	line-height: 1.8;
}

.tokubetsu_menu .plan_vip .small,
.plan_title .small {
    font-size: 13px;
}

.plan_copy {
    font-size: 13px;
	line-height: 1.6;
}

.btn_detail {
	font-size: 11px;
	line-height: 16px;
    margin-top: 20px;
}

.btn_detail02 {
	font-size: 11px;
	line-height: 16px;
}

}


@media screen and (max-width: 360px) {

.stage_info_week h3 p {
	font-size: 12px;
}

.stage_info_week h3 p span {
	font-size: 10px;
}

}

@media screen and (max-width: 320px) {

.stage_info_week h3 p {
	font-size: 11px;
}

.stage_info_week h3 p span {
	font-size: 9px;
}

}


/*	stage　ウィーク企画
-------------------------------------------------------------------*/

.week_content {

}

.week_content .week_head {
	padding: 0 20px;
	margin-bottom: 60px;
}

.week_content .week_head h2 {
	text-align: center;
	margin-bottom: 60px;
}

.week_content .week_head h2 p {
	display: inline-block;
	font-size: 22px;
	line-height: 1;
	border-left: solid 1px #999999;
	border-right: solid 1px #999999;
	padding: 1em 1.5em;
}

.week_content .week_head h2 p span {
	font-size: 18px;
}

.week_content .week_head .txt {
	text-align: center;
}

.week_content .week_head .txt p {
	font-size: 16px;
	line-height: 2;
	margin-bottom: 1.5em;
}

.week_single {
	padding: 0 20px;
	margin-bottom: 160px;
}

.week_single02 {
	padding: 0 20px;
	margin-bottom: 100px;
}

.week_single.week_last,
.week_single02 {
	margin-bottom: 100px;
}

.week_single h3,
.week_single02 h3 {
	font-size: 22px;
	line-height: 2;
	text-align: center;
}

.week_single h3 span,
.week_single02 h3 span {
	font-size: 18px;
}

.week_single .telinfo,
.week_single02 .telinfo {
	margin-bottom: 40px;
}

.week_time,
.week_price {
	font-size: 22px;
	line-height: 2;
	text-align: center;
}

.week_price p.price {
    line-height: 1.6;
    margin-top: 1em;
}

.week_price p.item {
    line-height: 1.3;
    margin-top: 0.5em;
}

.week_time .small { font-size: 16px; }

.week_price .del,
.tokubetsu_menu .event_skd p.price .del {
	text-decoration-line: line-through;
	text-decoration-style: solid;
	text-decoration-color: #fff;
}

.week_info01 {
	border-bottom: solid 1px #666;
	margin-top: 40px;
}

.week_info03 {
	border-bottom: solid 1px #666;
	margin-top: 80px;
}

.week_info01 dl,
.week_info02 dl {
	font-size: 16px;
	margin-bottom: 1.5em;
}

.week_info01 dl dt,
.week_info02 dl dt {
	line-height: 2;
}

.week_info01 dl dd,
.week_info02 dl dd {
	line-height: 2;
	margin-left: 1em;
	margin-top: 1em;
}

.week_info01 dl dd:nth-of-type(1),
.week_info02 dl dd:nth-of-type(1) {
	margin-top: 0;
}

.week_kome01 {
	font-size: 16px;
	padding-top: 1em;
	margin-bottom: 60px;
}

.week_kome02 {
	margin-bottom: 60px;
	line-height: 2;
}

.week_kome01 p {
	line-height: 2;
}

.week_img {
	margin-bottom: 40px;
}

.week_img02 {
	margin-top: 60px;
}

.week_img p,
.week_img02 p {
	position: relative;
}

.week_img img,
.week_img02 img {
	max-width: 100%;
	height: auto;
}

.week_img.width620 p,
.week_img02.width620 p {
	width: 62%;
	max-width: 620px;
	margin: 0 auto;
}

.week_img.width620 span,
.week_img02.width620 span {
	width: 62%;
	max-width: 620px;
	margin: 10px auto 0 auto;
	display: block;
	text-align: right;
	font-size: 14px;
	line-height: 1;
}

.week_img.width440 p,
.week_img02.width440 p {
	width: 44%;
	max-width: 440px;
	margin: 0 auto;
}

.week_img.width440 div,
.week_img02.width440 div {
	width: 44%;
	max-width: 440px;
	margin: 0 auto;
	position: relative;
}

.week_img.width440 span,
.week_img02.width440 span {
	width: 100%;
	max-width: 440px;
	margin: 10px auto 0 auto;
	display: block;
	text-align: right;
	font-size: 14px;
	line-height: 1;
}

.week_img.width440 span:nth-of-type(2),
.week_img02.width440 span:nth-of-type(2) {
	width: 48.2%;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	text-align: right;
}

.week_img.width300 p,
.week_img02.width300 p {
	width: 30%;
	max-width: 300px;
	margin: 0 auto;
}

.week_img.width300 span,
.week_img02.width300 span {
	width: 30%;
	max-width: 300px;
	margin: 10px auto 0 auto;
	display: block;
	text-align: right;
	font-size: 14px;
	line-height: 1;
}

.week_info_kome {
	padding: 0 20px;
	text-align: center;
}

.week_info_kome p {
	font-size: 16px;
}


@media screen and (max-width: 768px) {

.week_content .week_head h2 {
	margin-bottom: 45px;
}

.week_content .week_head {
	padding: 0 15px;
	margin-bottom: 45px;
}

.week_content .week_head h2 p {
	font-size: 18px;
}

.week_content .week_head h2 p span {
	font-size: 14px;
}

.week_content .week_head .txt p {
	font-size: 14px;
	margin-bottom: 0.6em;
}

.week_single {
	padding: 0 15px;
	margin-bottom: 100px;
}

.week_single02 {
	padding: 0 15px;
	margin-bottom: 75px;
}

.week_single.week_last {
	margin-bottom: 75px;
}

.week_single.week_last,
.week_single02.week_last {
	margin-bottom: 75px;
}

.week_single h3,
.week_single02 h3 {
	font-size: 18px;
}

.week_single h3 span,
.week_single02 h3 span {
	font-size: 16px;
}

.week_single .telinfo,
.week_single02 .telinfo {
	margin-bottom: 30px;
}

.week_time,
.week_price {
	font-size: 18px;
}

.week_time .small { font-size: 15px; }

.week_info01 dl,
.week_kome01,
.week_kome02 {
	font-size: 14px;
}

.week_kome01,
.week_kome02 {
	margin-bottom: 45px;
}

.week_img {
	margin-bottom: 30px;
}

.week_img02 {
	margin-top: 45px;
}

.week_img.width620 span,
.week_img.width440 span,
.week_img.width300 span,
.week_img02.width620 span,
.week_img02.width440 span,
.week_img02.width300 span {
	font-size: 12px;
}

.week_info_kome {
	padding: 0 15px;
	text-align: center;
}

.week_info_kome p {
	font-size: 14px;
}

}


@media screen and (max-width: 599px) {

.week_content .week_head {
	margin-bottom: 30px;
}

.week_content .week_head h2 {
	margin-bottom: 30px;
}

.week_content .week_head h2 p {
	font-size: 15px;
}

.week_content .week_head h2 p span {
	font-size: 11px;
}

.week_content .week_head .txt p {
	font-size: 14px;
}

.week_single {
	margin-bottom: 80px;
}

.week_single02 {
	margin-bottom: 50px;
}

.week_single.week_last,
.week_single02.week_last {
	margin-bottom: 30px;
}

.week_single h3,
.week_single02 h3 {
	font-size: 15.5px;
}

.week_single h3 span,
.week_single02 h3 span {
	font-size: 14px;
}

.week_single .telinfo,
.week_single02 .telinfo {
	margin-bottom: 20px;
}

.week_time,
.week_price {
	font-size: 15.5px;
}

.week_time .small {
    font-size: 13px;
}

.week_info01 {
	margin-top: 10px;
}

.week_info01 dl,
.week_info02 dl {
	font-size: 14px;
}

.week_info01 dl dt span:nth-of-type(2),
.week_info02 dl dt span:nth-of-type(2) {
	font-size: 11px;
}

.week_kome01,
.week_kome02 {
	font-size: 13px;
	margin-bottom: 30px;
}

.week_kome01 .small599,
.week_kome02 .small599 {
	font-size: 12.3px;
}

.week_img {
	margin-bottom: 20px;
}

.week_img02 {
	margin-top: 30px;
}

.week_img.width620 p,
.week_img02.width620 p {
	width: 310px;
}

.week_img.width620 span,
.week_img02.width620 span {
	width: 310px;
	margin: 5px auto 0 auto;
	font-size: 10px;
}

.week_img.width440 p,
.week_img02.width440 p {
	width: 220px;
}

.week_img.width440 div,
.week_img02.width440 div {
	width: 220px;
}

.week_img.width440 span,
.week_img02.width440 span {
	margin: 5px auto 0 auto;
	font-size: 10px;
}

.week_img.width300 p,
.week_img02.width300 p {
	width: 150px;
}

.week_img.width300 span,
.week_img02.width300 span {
	width: 150px;
	margin: 5px auto 0 auto;
	font-size: 10px;
}

.week_info_kome p {
	font-size: 13px;
}

}


@media screen and (max-width: 374px) {

.week_content .week_head h2 p {
	font-size: 13px;
}

.week_content .week_head h2 p span {
	font-size: 10px;
}

}


@media screen and (max-width: 359px) {

.week_img.width620 p,
.week_img02.width620 p {
	width: 290px;
}

.week_img.width620 span,
.week_img02.width620 span {
	width: 290px;
}

.week_content .week_head h2 p {
	font-size: 12px;
}

}


/*	bar　バー／ラウンジページ
-------------------------------------------------------------------*/

.bar {
	overflow: hidden;
}

.bar .inner {
	width: 100%;
	max-width: 1040px;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 160px;
}

.bar_content .kana {
	font-size: 14px;
}

.bar_head {
	position: relative;
	margin-bottom: 100px;
}

.bar_head .img {
	width: 53%;
	padding-left: 47%;
}

.bar_head .img img {
	width: 100%;
	height: auto;
}

.bar_head .txt {
	position: absolute;
	padding-left: 20px;
	bottom: 60px;
	font-size: 16px;
	line-height: 2.25;
}

.bar_head .txt p {
	text-shadow:
            3px 3px 3px #000, -3px -3px 3px #000,
           -3px 3px 3px #000,  3px -3px 3px #000,
            3px 0px 3px #000, -3px -0px 3px #000,
            0px 3px 3px #000,  0px -3px 3px #000;
}

#bar_img {
	padding: 0 20px;
	margin-bottom: 60px;
}

#bar_img img {
	max-width: 100%;
	height: auto;
}

#bar_img .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: #000;
	opacity: 0.2;
}

#bar_img .swiper-pagination-bullet:hover {
	opacity: 0.3;
}

#bar_img .swiper-pagination-bullet-active,
#bar_img .swiper-pagination-bullet-active:hover {
	opacity: 1;
	background: #da371c;
}

.bar_info {
	text-align: left;
	padding: 0 20px;
	margin-bottom: 100px;
}

.bar_info p {
    text-align: center;
	line-height: 2;
}

.bar_info_salon {
	margin-top: 160px;
}

.bar_info_salon h2 {
	padding: 0 20px;
	font-size: 32px;
	line-height: 1.56;
	margin-bottom: 1.5em;
}

.bar_info_salon h2 .titlesmall { font-size: 26px; }

.bar_info_salon h2 .kana {
	font-size: 24px;
}

.bar_info_salon .salon_date {
	font-size: 22px;
	line-height: 1;
}

.bar_info_salon .salon_date .salon_d-o-w,
.salon_menu p .salon_d-o-w {
	font-size: 18px;
}

.bar_info_salon .main_img {
	margin-bottom: 60px;
}

.bar_info_salon .main_img img {
	width: 100%;
	height: auto;
}

.bar_info_salon .main_txt {
	padding: 0 20px;
	font-size: 16px;
	margin-bottom: 60px;
}

.bar_info_salon .main_txt dl {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.bar_info_salon .main_txt dl dt {
	width: 4em;
	line-height: 2;
}

.bar_info_salon .main_txt dl dd {
	width: calc(100% - 4em);
	line-height: 2;
}

.bar_info_salon .main_txt p {
	line-height: 2;
	margin-top: 1em;
}

.salon_menu_single {
	border-bottom: solid 1px #666;
	position: relative;
	font-size: 16px;
	margin-bottom: 1.5em;
}

.salon_menu_single dl dt {
	margin-bottom: 1em;
	line-height: 1.8;
}

.salon_menu_single dl dd {
	padding-left: 1em;
	padding-bottom: 1.5em;
	line-height: 1.8;
}

.salon_menu_single .price {
	font-size: 16px;
	line-height: 1.8;
	position: absolute;
	right: 0;
	top: 0;
}

.salon_menu .kome {
	font-size: 16px;
	line-height: 2;
}

.salon_menu .kome02 {
	font-size: 16px;
	margin-bottom: 60px;
}

.barmenu_info {
	width: 100%;
	padding: 0 20px;
    margin-bottom: 100px;
	box-sizing: border-box;
}

.barmenu_info h3 {
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 2em;
}

.barmenu_info .menu_copy {
	line-height: 1.8;
    margin-bottom: 2em;
}

.barmenu_info.price_w h3,
.barmenu_info.price_s h3 {
	margin-bottom: 0.6em;
}

.barmenu_info dl {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100%;
	box-sizing: border-box;
	border-bottom: solid 1px #65666a;
	margin-bottom: 24px;
	padding-bottom: 20px;
	position: relative;
}

.barmenu_info dl.line-dashed {
	border-bottom: dashed 1px #666666;
}

.barmenu_info dl dt {
	width: 100%;
	box-sizing: border-box;
	line-height: 1;
}

.barmenu_info dl dt.menu_caption {
	display: block;
	line-height: 1.6;
	margin: 1em 0 0 1em;
}

.barmenu_info dl dt.menu_detail {
	line-height: 1.6;
	margin: 1em 0 0 1em;
}

.barmenu_info dl dt.menu_note {
	font-size: 15px;
	line-height: 1.6;
}

.barmenu_info dl dd {
	position: absolute;
	right: 0;
	top: 0;
	box-sizing: border-box;
	text-align: right;
	line-height: 1;
}

.cocktail_type {
	height: 50px;
	font-size: 16px;
    font-weight: 700;
	line-height: 1;
    margin-top: 60px;
}

.cocktail_type:nth-of-type(1) { margin-top: 0; }


@media screen and (max-width: 1024px) {

.bar_head {
	padding: 0 15px;
	margin-bottom: 100px;
}

.bar_head .img {
	width: 100%;
	padding-left: 0;
	margin-bottom: 20px;
}

.bar_head .txt {
	position: relative;
	padding-left: 0px;
	bottom: auto;
}

.bar_info_salon h2,
.bar_info_salon .main_txt,
.bar_info_salon .sub_txt,
.salon_menu {
	padding: 0 15px;
}

.barmenu_info {
	padding: 0 15px;
}

.barmenu_info .note_detail {
	display: block;
	font-size: 14px;
	margin-top: 1em;
}

}


@media screen and (max-width: 999px) {

.barmenu_info h3 {
	font-size: 3.2vw;
}

}


@media screen and (max-width: 768px) {

.bar .inner {
	padding-bottom: 120px;
}

.bar_content .kana {
	font-size: 13px;
}

.bar_head {
	margin-bottom: 75px;
}

.bar_head .txt,
.barmenu_info .menu_copy {
	font-size: 15px;
}

#bar_img {
	margin-bottom: 45px;
}

.bar_info p {
	font-size: 15px;
}

.bar_info_salon {
	margin-top: 120px;
}

.bar_info_salon h2 {
	font-size: 24px;
}

.bar_info_salon h2 .titlesmall { font-size: 20px; }

.bar_info_salon h2 .kana {
	font-size: 19px;
}

.bar_info_salon .salon_date {
	font-size: 18px;
}

.bar_info_salon .salon_date .salon_d-o-w,
.tokubetsu_menu p .salon_d-o-w {
	font-size: 16px;
}

.bar_info_salon .main_img { margin-bottom: 45px; }

.bar_info_salon .main_txt {
	font-size: 15px;
	margin-bottom: 45px;
}

.bar_info_salon .main_txt p.title {
	font-size: 18px;
}

.bar_info_salon .sub_img {
	margin-bottom: 50px;
}

.bar_info_salon .sub_img_single02 {
	margin-bottom: 45px;
}

.bar_info_salon .sub_img img {
	width: 80%;
	margin-right: 0%;
	margin: 0 auto 45px auto;
}

.bar_info_salon .sub_img .txt {
	width: 100%;
}

.bar_info_salon .sub_img .txt dl {
	position: relative;
	bottom: auto;
	padding: 0 15px;
}

.bar_info_salon .sub_img .txt dl dt,
.bar_info_salon .sub_txt dt {
	font-size: 18px;
}

.bar_info_salon .txt dl dd,
.bar_info_salon .sub_txt dd {
	font-size: 15px;
}

.salon_menu .kome02 {
	font-size: 15px;
	margin-bottom: 50px;
}

.barmenu_info h3 {
	font-size: 24px;
}

.barmenu_info dl dt,
.barmenu_info dl dd {
	font-size: 15px;
	line-height: 1.8
}

.barmenu_info dl dt .menu_detail {
	margin-top: 0.6em;
}

.barmenu_info dl dt.menu_note {
	font-size: 14px;
}

.cocktail_type {
	height: 40px;
	font-size: 14px;
    margin-top: 45px;
}

}


@media screen and (max-width: 599px) {

.bar .inner {
	padding-bottom: 80px;
}

.bar_content .kana {
	font-size: 12px;
}

.bar_head {
	margin-bottom: 50px;
}

.bar_head .txt,
.bar_info p,
.barmenu_info .menu_copy, 
.bar_info_salon .salon_date,
.bar_info_salon .sub_img .txt dl dt,
.bar_info_salon .sub_txt dt,
.salon_menu h3,
.salon_menu .menu_txt,
.salon_menu_single,
.salon_menu_single .price,
.salon_menu .kome,
.barmenu_info dl dt,
.barmenu_info dl dd {
	font-size: 14px;
}

#bar_img {
	margin-bottom: 30px;
}

.bar_info {
	margin-bottom: 50px;
}

.bar_info_salon {
	margin-top: 80px;
}

.bar_info_salon h2 { font-size: 17px; }

.bar_info_salon h2 .titlesmall { font-size: 15px; }

.bar_info_salon h2 .small599 { font-size: 14px; }

.bar_info_salon h2 .kana { font-size: 13px; }

.bar_info_salon .salon_date .salon_d-o-w,
.salon_menu p .salon_d-o-w {
	font-size: 12px;
}

.bar_info_salon .main_img { margin-bottom: 30px; }

.bar_info_salon .main_txt {
	font-size: 14px;
	margin-bottom: 30px;
}

.bar_info_salon .main_txt p.title {
	font-size: 15px;
}

.bar_info_salon .sub_img_single02 {
	margin-bottom: 30px;
}

.bar_info_salon .sub_img {
	margin-bottom: 35px;
}

.bar_info_salon .sub_img_single {
	margin-bottom: 30px;
}

.bar_info_salon .txt dl dd,
.bar_info_salon .sub_txt dd {
	font-size: 12px;
}

.bar_info_salon .sub_txt {
	margin-bottom: 30px;
}

.salon_menu { margin-bottom: 30px; }

.salon_menu .kome02 {
	font-size: 14px;
	margin-bottom: 40px;
}

.bar_info_salon .time { font-size: 15px; }

.barmenu_info h3 {
	font-size: 17px;
	margin-bottom: 1.5em;
}

.barmenu_info {
    margin-bottom: 50px;
}

.barmenu_info dl {
	margin-bottom: 18px;
	padding-bottom: 15px;
}

.barmenu_info dl dt.menu_detail {
	margin-top: 0.6em;
}

.barmenu_info dl dt .small599 {
	font-size: 12px;
}

.barmenu_info dl dt .small {
	font-size: 13.3px;
}

.barmenu_info dl dt.menu_note {
	font-size: 13px;
}

.cocktail_type {
	height: 30px;
	font-size: 12px;
    margin-top: 35px;
}

}


@media screen and (max-width: 374px) {

.barmenu_info dl dt {
	font-size: 11px;
}

.barmenu_info dl dd {
	font-size: 11px;
}

}


/*	heritage　室礼ページ
-------------------------------------------------------------------*/

.heritage {
	overflow: hidden;
}

.heritage h1 {
	letter-spacing: 0.5em;
	text-align: center;
	text-indent: 0.5em;
}

.heritage .inner {
	width: 100%;
	max-width: 1040px;
	box-sizing: border-box;
	margin: 0 auto;
	padding-bottom: 160px;
}

.heritage_head {
	position: relative;
	margin-bottom: 100px;
}

.heritage_head .img {
	width: 53%;
	padding-left: 47%;
}

.heritage_head .img img {
	width: 100%;
	height: auto;
}

.heritage_head .txt {
	position: absolute;
	padding-left: 20px;
	bottom: 30px;
	font-size: 16px;
	line-height: 2.25;
}

.heritage_head .txt p {
	text-shadow:
            3px 3px 3px #000, -3px -3px 3px #000,
           -3px 3px 3px #000,  3px -3px 3px #000,
            3px 0px 3px #000, -3px -0px 3px #000,
            0px 3px 3px #000,  0px -3px 3px #000;
}

.heritage_info {
	margin-bottom: 100px;
}

.heritage_info#nohmask {
	margin-bottom: 0px;
}

.heritage_info .img {
	margin-bottom: 60px;
}

.heritage_info .img img {
	width: 100%;
	height: auto;
}

.heritage_info dl {
	padding: 0 20px;
}

.heritage_info dl dt {
	font-size: 32px;
	line-height: 1;
	margin-bottom: 1.5em;
}

.heritage_info dl dd {
	font-size: 16px;
	line-height: 2;
}

.heritage_info dl dd .kana {
	font-size: 14px;
}


@media screen and (max-width: 1024px) {

.heritage_head {
	padding: 0 15px;
	margin-bottom: 100px;
}

.heritage_head .img {
	width: 100%;
	padding-left: 0;
	margin-bottom: 20px;
}

.heritage_head .txt {
	position: relative;
	padding-left: 0px;
	bottom: auto;
}

}


@media screen and (max-width: 768px) {

.heritage .inner {
	padding-bottom: 120px;
}

.heritage_head {
	margin-bottom: 75px;
}

.heritage_head .txt,
.heritage_info dl dd {
	font-size: 15px;
}

.heritage_info dl dd .kana {
    font-size: 13px;
}

#heritage_img {
	margin-bottom: 45px;
}

.heritage_info {
	margin-bottom: 75px;
}

.heritage_info#nohmask {
	margin-bottom: 0px;
}

.heritage_info .img {
	margin-bottom: 40px;
}

.heritage_info dl dt {
	font-size: 24px;
}

}


@media screen and (max-width: 599px) {

.heritage .inner {
	padding-bottom: 80px;
}

.heritage_head {
	margin-bottom: 50px;
}

.heritage_head .txt {
	font-size: 14px;
}

#heritage_img {
	margin-bottom: 30px;
}

.heritage_info {
	margin-bottom: 50px;
}

.heritage_info .img {
	margin-bottom: 20px;
}

.heritage_info dl dt {
	font-size: 17px;
}

.heritage_info dl dd {
	font-size: 14px;
	line-height: 1.83;
}

.heritage_info dl dd .kana {
	font-size: 12px;
}

}


/*	mail_link
-------------------------------------------------------------------*/

.mail_link {
	text-align: center;
}

.mail_link a {
	display: inline-block;
	border-radius: 100vh;
	border: solid 1px #999999;
	padding: 14px 28px;
	text-decoration: none;
	transition: background 0.6s, color 0.6s;
	line-height: 1;
	font-size: 16px;
}

.mail_link a:hover {
	background-color: #fff;
	color: #0d0009;
}


@media screen and (max-width: 599px) {

.mail_link a {
	font-size: 11px;
	padding: 10px 20px;
}

}


/*	sp_nav
-------------------------------------------------------------------*/

@media screen and (min-width: 1025px) {

.sp_nav {
	display: none;
}

}

.sp_nav_box {
	padding-top: 70px;
}

.sp_nav_box ul {
	list-style: none;
	padding-top: 20px;
}

.sp_nav_box ul li a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #fff;
	padding: 10px 0;
}

.sp_nav_box ul li a:hover {
	color: #da371c;
}

.sp_nav_box p {
	text-align: center;
	margin-top: 50px;
}

/*!------------------------------------*\
    Base
\*!------------------------------------*/

.drawer-nav {
  position: fixed;
  z-index: 101;
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: #0d0009;
}


/*!------------------------------------*\
    Right
\*!------------------------------------*/

.drawer--right .drawer-nav {
  right: -100%;
  -webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}


/*!------------------------------------*\
    Hamburger
\*!------------------------------------*/

.drawer-hamburger {
  position: fixed;
  z-index: 999;
  top: 0;
  display: block;
  box-sizing: border-box;
  width: 65px;
  height: 70px;
  padding: 0;
  padding-top: 0;
  padding-right: 20px;
  padding-bottom: 0px;
  padding-left: 20px;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  border: 0;
  outline: 0;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  width: 100%;
  height: 2px;
  -webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  background-color: #fff;
}

.drawer-hamburger-icon {
  position: relative;
  display: block;
  margin-top: 0px;
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  position: absolute;
  top: -9px;
  left: 0;
  content: ' ';
}

.drawer-hamburger-icon:after {
  top: 9px;
}



/*	top_banner（茶屋バナー）
-------------------------------------------------------------------*/

.top_banner {
	background-color: #0d0009;
	padding: 0 20px 160px 20px;
	text-align: center;
}

.top_banner img {
	width: 100%;
	max-width: 1000px;
	height: auto;
}

.top_banner a {
	background-color: #fff;
	display: inline-block;
}

.top_banner a img {
	opacity: 1;
	transition: all 0.6s;
}

.top_banner a:hover img {
	opacity: 0.6;
}

@media screen and (max-width: 768px) {

.top_banner {
	padding: 0 15px 95px 15px;
}

}

@media screen and (max-width: 599px) {

.top_banner {
	padding-bottom: 50px;
}

}

/*	clearfix
-------------------------------------------------------------------*/

.clear:after {
	content: "";
	display: block;
	clear: both;
}
 
.clear:before {
　　　　content: "";
	display: block;
	clear: both;
}
 
.clear {
	display: block;
}
