@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: //meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
dt,dd,li   {text-indent: 0;}
strong	{font-weight:bold;}
p	{line-height:1.8;}
svg	{fill: currentColor; vertical-align:middle;}

body{
font: 14px/1.8 'Noto Sans JP',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
font-weight:100;
background-color:#fff;
color:#1a1a1a;
-webkit-text-size-adjust: none;
}
html	{
    scroll-behavior: smooth;
	font-size:20px;
}
@media only screen and (max-width:1799px){
	html	{font-size:1.1vw;}
}
@media only screen and (max-width:899px){
	html	{font-size:14px;}
}
@media only screen and (max-width:499px){
	html	{font-size:2.8vw;}
}


img	{max-width:100%; height:auto; vertical-align: bottom; border:0;}
.center    {text-align:center;}
.aligncenter    {text-align:center;}
.right     {text-align:right;}
.left	{text-align:left;}
.alignleft {float:left; margin:0 20px 20px 0;}
.alignright{float:right; margin:0 0 20px 20px;}
.children  {margin-top:6px;}
.closeup   {font-weight:bold; color:#ec611e; }
.closeup_tx12 {font-size: 12px !important; color: #ec611e !important; line-height: 1.4;}
.closeup_tx14 {font-size: 14px !important; color: #ec611e !important; line-height: 1.4;}
.closeup_tx16 {font-size: 16px !important; color: #ec611e !important; line-height: 1.4;}
.closeup_tx18 {font-size: 18px !important; color: #ec611e !important; line-height: 1.4;}
.closeup_tx24 {font-size: 24px !important; color: #ec611e !important; line-height: 1.4;}

.tx10      {font-size:10px !important;}
.tx11      {font-size:11px !important;}
.tx12      {font-size:13px !important;}
.tx13      {font-size:12px !important;}
.tx14      {font-size:14px !important;}
.tx15      {font-size:15px !important;}
.tx16      {font-size:16px !important;}
.tx18      {font-size:18px !important;}
.tx20      {font-size:20px !important;}
.tx22      {font-size:22px !important;}
.tx24      {font-size:24px !important;}
.tx30      {font-size:30px !important;}
.tx40      {font-size:40px !important;}
.tx50      {font-size:50px !important;}

.pa_btm0   {padding-bottom: 0px !important; }
.pa_btm5   {padding-bottom: 5px !important; }
.pa_btm10  {padding-bottom: 10px !important; }
.pa_btm20  {padding-bottom: 20px !important; }
.pa_btm30  {padding-bottom: 30px !important; }

.pa_top10  {padding-top: 10px !important; }
.pa_top20  {padding-top: 20px !important; }
.pa_top30  {padding-top: 30px !important; }
.pa_top40  {padding-top: 40px !important; }
.pa_top50  {padding-top: 50px !important; }

.ma_btm0   {margin-bottom: 0px !important; }
.ma_btm5   {margin-bottom: 5px !important; }
.ma_btm10  {margin-bottom: 10px !important; }
.ma_btm20  {margin-bottom: 20px !important; }
.ma_btm30  {margin-bottom: 30px !important; }
.ma_btm40  {margin-bottom: 40px !important; }
.ma_btm45  {margin-bottom: 45px !important; }
.ma_btm50  {margin-bottom: 50px !important; }
.ma_btm60  {margin-bottom: 60px !important; }
.ma_btm70  {margin-bottom: 70px !important; }
.ma_btm80  {margin-bottom: 80px !important; }
.ma_btm90  {margin-bottom: 90px !important; }
.ma_btm100  {margin-bottom: 100px !important; }

.ma_right10 {margin-right: 10px !important; }
.ma_right20 {margin-right: 20px !important; }
.ma_right30 {margin-right: 30px !important; }

.ma_left10 {margin-left: 10px !important; }
.ma_left20 {margin-left: 20px !important; }
.ma_left30 {margin-left: 30px !important; }


.tx_uline {text-decoration: underline !important;}
.ul_dash {
    background: #E7F4FF none repeat scroll 0 0;
    border-bottom: 1px dashed #aaaaaa;
    line-height: 2;
}

.comingsoon {text-align: center;}
.comingsoon h2 {font-size: 200%;}
.title404_h1 {
    font-size: 250%;
    font-weight: 900;
    margin: 30px 0 0;
    font-family: 'Roboto', serif;
    text-align: center;
}
.title404_h2 {
    font-size: 130%;
    font-weight: normal !important;
    line-height: 1.4;
    margin-bottom: 10px !important;
	border-bottom: none !important;
}
@media only screen and (max-width:599px){
	.title404_h1 {font-size: 160% !important;}
	.title404_h2 {font-size: 120% !important;}
}
@media only screen and (min-width:600px){
	.br_sp	{display:none;}
	.br_pc	{display:block;}
	.img_sp {display:none;}
}

@media only screen and (max-width:599px){
	.br_sp	{display:block;}
	.br_pc	{display:none;}
	.img_pc {display:none;}
}

/* テキスト強調 */
.marker_line {font-weight: bold;}
.marker_line.y {
    background: linear-gradient(transparent 60%, #a969a6 0%);
}




/* -----------------------------------------------------------
		link
----------------------------------------------------------- */
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#1a1a1a;
/* hover effect */
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
}

a:hover, a:active{
outline: none;
color:#1a1a1a;
}

a.link_topmore {
    background: transparent;
    border: 1px solid #000;
    border-radius: 20px;
    display: block;
    font-size: 12px;
    text-align: center;
    letter-spacing: 1px !important;
    margin: 20px auto;
    padding: 10px 0;
    width: 220px;
    color: #000 !important;
}

/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after,.pagecont:after, ul.post li:after,nav#mainNav .inner:after{content:""; display: table;clear: both;}
nav .panel,nav#mainNav,.newsTitle,.bg, .post, ul.post li,nav#mainNav .inner{zoom: 1;}

.clear hr { display: none; border: none; height:0px; }/*clearfix*/.clearfix { clear: both; min-height: 1px;/*IE7用…高さが設定されてあれば回避可能*/ zoom: 1; height:auto; background-color:transparent; }.clearfix:after { content: ".";  /* 新しい要素を作る */ display: block;  /* ブロチEけレベル要素に */ clear: both; height: 0; visibility: hidden; background-color:transparent; }.clearfix { min-height: 1px; }/*-WinIE6 and below *//* Hides from IE-mac \*/* html .clearfix { height: 1%; }/* End hide from IE-mac */


/* フォーム
------------------------------------------------------------*/
input[type="text"], input[type="email"], input[type="password"], input[type="tel"], input[type="number"] {
    padding: 0px;
    width: 100%;
    margin-bottom: 10px;
    border: none;
	text-indent: 10px;
	font-size: inherit;
	color: inherit ;
    font:inherit;
	font-weight:300;
	line-height: 41px;
	box-sizing:border-box;
}
select {
    width: 150px;
    height: 38px;
	padding: 10px;
	display: inline;
	position: relative;
	border: 2px solid #eeeeee;
}
.rtb-booking-form select{
	width: 100%;
}
select[multiple="multiple"] {
	height: 100px;
}
select[multiple="multiple"] option {
	height: 20px;
	line-height: 20px;
}
textarea{
    padding: 10px 0 0 10px;
    height: 350px;
    width: 98%;
    margin-bottom: 30px;
    overflow: auto;
    font-size: inherit;
	color: inherit ;
	font: inherit ;
	font-weight:300;
}  
.rtb-booking-form textarea {
  width: 97% !important;
  max-width: none !important;
  height: 150px;
}
input[type="submit"], .action-button .be-button,
input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button {
    border: none;
    cursor:pointer;
    display: inline-block;
    margin:0px 0 10px;
    text-decoration: none;  
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
	font-size: 12px;
	line-height: 12px;
	padding: 18px;
	text-transform: uppercase;
	letter-spacing: 1px;
    background: #333;
	color:#fff;
	width:13rem;
} 
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea, select {
	border: 1px solid #eeeeee;
	background: #efefef;
	color:#111;
}
span.wpcf7-list-item {display: block !important;}

.wpcf7 .ajax-loader	{
	display:block !important;
	margin:10px auto !important;
}
.wpcf7-spinner	{
	display:block !important;
	margin:10px auto !important;
}

/* iPhoneリセット*/
input[type="submit"], input[type="button"] { -webkit-appearance: none; }

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #c33738;
}

*:first-child+html input[type="submit"]{padding:3px;}

@media only screen and (max-width:699px){
    input[type="text"], input[type="email"], input[type="password"] {width: 98%;}
}

/* -----------------------------------------------------------
		layout（共通）
----------------------------------------------------------- */
#wrap	{
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-box-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	width:100%;
	/*max-width:1600px;*/
}

#wrapper{
	margin:0;
	width:100%;
}

#wrapper-full{
	margin:0 auto 0 0;
	width:90%;
	max-width: 1200px;
}
.inner{
	margin:0 auto;
	width:90%;
	max-width: 1080px;
}


#outer	{
	flex:2;
}
#outer-page	{
	flex:2;
}
.opening_page #outer	{
	height:100svh;
	overflow: hidden;
}
@media only screen and (max-width:1199px){
	#wrap	{display:block;}
	#wrapper-full	{width:95%;}
	#outer-page	{padding-top:7.5rem;}
}


#pageCont	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	padding:4rem 0 0;
}
#pageCtit	{
	width:7.5rem;
	position:relative;
}
#pageCmain	{
	flex:2;
}




/* リッチエディタ見出しクラス */
.editorbox h1	{font-size:180%; font-weight:bold; margin-bottom:10px;}
.editorbox h2	{font-size:160%; font-weight:bold; margin-bottom:10px;}
.editorbox h3	{font-size:130%; font-weight:bold; margin-bottom:10px;}
.editorbox h4	{font-size:110%; font-weight:bold; margin-bottom:10px;}
.editorbox h5	{font-size:100%; font-weight:bold; margin-bottom:10px;}
.editorbox h6	{font-size:90%; font-weight:bold; margin-bottom:10px;}
.editorbox p	{margin-bottom:10px;}

/* 4段組み */
.d-box4 {width:225px; height:auto; margin-right:20px; float:left;}
.d-box4_last {width:225px; height:auto; float:left;}

/* 3段組み */
.d-box3 {float:left; height:auto; margin-right:25px; width:185px;}
.d-box3_last {width:185px; height:auto; float:left;}

/* 2段組み */
.d-box2 {width:325px; height:auto; margin-right:30px; float:left;}
.d-box2_last {width:325px; height:auto; float:left;}

.dis_table	{display:table;}
.d-box-one-half	{width:50%; display:table-cell; overflow:hidden; vertical-align:middle; box-sizing:border-box;}
.d-box-one-third	{width:33%; float:left; overflow:hidden; vertical-align:middle; box-sizing:border-box;}
.d-box-two-third	{width:66%; float:left; overflow:hidden; vertical-align:middle; box-sizing:border-box;}
.d-box-one-fifth	{width:20%; float:left; overflow:hidden; vertical-align:middle; box-sizing:border-box;}
.d-box-one-fourth	{width:25%; float:left; overflow:hidden; vertical-align:middle; box-sizing:border-box;}
.d-box-three-fourth	{width:75%; float:left; overflow:hidden; vertical-align:middle; box-sizing:border-box;}
@media only screen and (max-width: 859px) {
	.d-box-one-third	{width:50%;}
	.d-box-two-third	{width:100%; display:block; margin-bottom:20px;}
	.d-box-one-fourth	{width:100%; display:block; margin-bottom:20px;}
	.d-box-three-fourth	{width:100%; display:block; margin-bottom:20px;}
}
@media only screen and (max-width: 767px) {
	.d-box-one-half	{width:100%; display:block; margin-bottom:20px; float: left;}
	.d-box-one-half img {max-width:auto;}
	.d-box-one-third	{width:100%; display:block; margin-bottom:20px;}
}

/* リストデザイン */
.li_disc li, .li_circle li, .li_square li, .li_decimal li, .li_decimal-lz li, .li_lower-latin li, .li_upper-latin li {list-style-position: outside; margin-bottom: 5px; line-height: 1.6;}
.li_disc ul, .li_circle ul, .li_square ul, .li_decimal ul, .li_decimal-lz ul, .li_lower-latin ul, .li_upper-latin ul {margin-left: 25px;}
.li_disc li	{list-style-type: disc !important;} /* 黒丸 */
.li_disc_sub li	{list-style-type: disc !important;} /* 黒丸 */
.li_circle li	{list-style-type: circle;} /* 白丸 */
.li_square li	{list-style-type: square;} /* 黒四角 */
.li_decimal li	{list-style-type: decimal;} /* 算用数字 */
.li_decimal-lz li	{list-style-type: decimal-leading-zero;} /* 先頭に0をつけた算用数字 */
.li_lower-latin li	{list-style-type: lower-latin;} /* 小文字のアルファベット */
.li_upper-latin li	{list-style-type: upper-latin;} /* 大文字のアルファベット */

/* パンくず */
#kuzu {padding:0; font-size:11px; margin:10px 0; padding:5px 0;}
#kuzu ul {list-style:none; padding:0; margin:0;}
#kuzu li {float:left; margin:0 5px 0 0; padding:0; }
#kuzu h1	{float:right;}
#kuzu br {display: none;}
@media only screen and (max-width: 699px) {
	#kuzu	{margin-bottom:30px;}
}

/* 記事ループ
*****************************************************/
.list{
padding:10px 0;
border-bottom:1px dashed #dcdcdc;
}

.list:last-child{border:0;}

.post .list p{padding:0;}

.list span{padding-left:10px;}


/* タイポグラフィ
*****************************************************/
h1, h2, h3, h4, h5 {
	font-weight:700;
}
h1.title {
	font-family: 'Noto Sans JP',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 700;
	font-size:7.0rem;
    line-height: 1.0;
    writing-mode: vertical-rl;
    margin: 0 0 0 -1rem;
	white-space: nowrap;
}


.single p	{margin-bottom:10px;}

/*.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
background:url(//www.saloncms.com/template/default-image/images/bullet.png) no-repeat 0 8px;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}*/
letter-spacing: 0;
}

/* .post p{min-height: 1em;} */

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #ccc solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th{
padding:10px;
border: #ccc solid;
border-width: 0 0 1px 1px;
background:#efede7;
}

.post table td{
padding:10px;
border: 1px #ccc solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

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

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignleft{
margin: 0 30px 20px 0;
display:inline;
}
img.alignright{
margin: 0 0 20px 30px;
display:inline;
}

.alignright{float:right;}
.alignleft{float:left;}

#pagetop	{bottom: 30px; position: fixed; right: 30px; z-index:99;}
#pagetop a	{
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-box-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background: rgba(0,0,0,.5);
    color: #fff;
    text-align: center;
    border-radius: 50%;
}
#pagetop a span	{font-size:20px; line-height: 1.0; display:block;}

@media only screen and (max-width: 1199px){
	#pagetop	{bottom: 10px; right: 10px;}
}

/* -----------------------------------------------------------
		Header（共通）
----------------------------------------------------------- */
#hd_menuarea	{
	color:#fff;
}
.hd_menubtn	{
    cursor: pointer;
	display:block;
	width:2.5rem;	
}
.hd_menubtn p {
    display: block;
    text-align: center;
    font-size: 1rem;
    line-height: 1.0;
    margin-bottom: 0.3em;
    font-weight: 100;
}
.hd_menubtn div	{
	width:100%;
	aspect-ratio:50 / 23;
	display:block;
	position:relative;
}
.hd_menubtn div span	{
	width:100%; 
	height:1px; 
	background: #fff; 
	position: absolute;
    left: 0;
	transition: all 0.5s ease;
}
.hd_menubtn div span:nth-of-type(1) {top: 0;}
.hd_menubtn div span:nth-of-type(2) { top: calc(50% - 0.5px);}
.hd_menubtn div span:nth-of-type(3) { bottom: 0px; width:50%; }
.modal_on .hd_menubtn div span:nth-of-type(1) {
	top: calc(50% - 0.5px);
	transform: rotate(-25deg);
}
.modal_on .hd_menubtn div span:nth-of-type(2) {
    top: calc(50% - 0.5px);
    transform: rotate(25deg);
}
.modal_on .hd_menubtn div span:nth-of-type(3) {
	opacity: 0; 
	transform: translateX(-10px);
}
.snsnav	{
	display: flex; 
	flex-direction: row; 
	flex-wrap: nowrap;
	justify-content:center;
	gap:0.5em;
}
.snsnav svg	{
	width:1em;
	height:1em;
}

/* PC
------------------------------------------------------------*/
@media only screen and (min-width: 1200px){
	#header_line	{width: 25%; min-width: 280px; height:100svh; box-sizing:border-box;}
	#header	{position: fixed; top:0; left:0; width: 25%; min-width: 280px; height:100svh; padding:9svh 1.5rem 11svh; box-sizing:border-box; display: flex; flex-direction: column; justify-content: space-between; align-items: center; background: #1a1a1a; color: #f0efe9; z-index:9999;}
	#header	a	{color:#fff;}
	.logo		{width: 100%; max-width: 11rem; height: auto; display: block;}
	.hd_menubtn {margin:0 auto;}
	#hd_trans	{margin-top:3rem;}
	#hd_trans #flags ul	{display: flex; flex-direction: row; justify-content: space-between; align-items: center; float:none !important;}
	#hd_trans #flags ul	{float:none !important;}
	#hd_sns	{font-size:1.1rem;}
	#hd_sns a:hover	{opacity:0.5;}
	#hd_address	{position: absolute;bottom: 2rem;font-size:0.6rem;text-align:center;}
}


/* iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1199px){
	#header	{position: fixed; top:0; left:0; width: 100%; min-height: 6.5rem; padding:1.6rem 1.4rem; box-sizing:border-box; display: flex; flex-direction: row; justify-content: space-between; align-items: center; z-index:9999; background-color: #fff;}
	#hd_logo	{width:12rem;}
	#hd_logo img	{filter: invert(1);}
	#hd_menuarea	{color:#1a1a1a; margin-bottom: 1rem;}
	.hd_menubtn	{width:3.5rem;}
	.hd_menubtn div span	{background:#1a1a1a;}
	.hd_menubtn p	{font-size:1.2rem;}
	#hd_sns	{display:none;}
	#hd_trans	{display:none;}
	#hd_address	{display:none;}
}




/* コンタクト
----------------------------------*/
.contact{
float:right;
padding:20px 0 0;
text-align:right;
color:#fff;
font-size:90%;
width: 240px;
}

.contact .tel{
margin-bottom:-3px;
font-size:180%;
}

/* -----------------------------------------------------------
		Main Navigation（共通）
----------------------------------------------------------- */
.modal	{
	display:none;
}
#modal_navi	{
	color:#fff;
    font-family: 'Noto Sans JP',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-weight: 200;
}
#modal_navi a	{
	color:#fff;
}
#modal_navi a:hover	{
	opacity:0.4;
}
#modalnav_wrap	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	align-items:center;
	min-height:100svh;
}
#modalnav_L	{
    width: 25%;
    min-width: 280px;
}
#modalnav_R	{
	flex:2;
	padding:4rem;
}
#navi_wrap	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
#navi01	{
	padding-right:4rem;
	padding-left:4rem;
	margin-right:4rem;
	border-color:#6a6a67;
	border-style:solid;
	border-width:0 1px 0 0;
}
#mainNav	{
	font-size:157%;
}
#mainNav > li:not(:last-child)	{
	margin-bottom:1em;
}
#mainNav > li	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.mnav_dt	{
	margin-right:2em;
}
.mnav_dd ul	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.mnav_dd ul li	{
	position:relative;
}
.mnav_dd ul li:not(:last-child):after	{
	content:"/";
	padding:0 0.2em;
}
#navi02	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	gap:2rem 0;
}
#navi02_logo	{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
	justify-content:center;
	width:8rem;
	margin-right:4rem;
}
#navi02_li	{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
	justify-content:center;
}
#groupNav	{
	font-size:157%;
	margin-bottom:3em;
}
#groupNav > li:not(:last-child)	{
	margin-bottom:1em;
}
#baseNav	{
	font-size:128%;
}
#baseNav > li:not(:last-child)	{
	margin-bottom:0.2em;
}
.bnav_wrap	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.bnav_dt	{
	width:12em;
}
.bnav_dd ul	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.bnav_dd ul li	{
	position:relative;
}
.bnav_dd ul li:not(:last-child):after	{
	content:"/";
	padding:0 0.2em;
}

@media only screen and (min-width:1200px){
	#mdl_trans	{display:none;}
	#mdl_sns	{display:none;}
}
@media only screen and (max-width:1199px){
	#modalnav_wrap	{display:block;}
	#modalnav_L	{height: 6.5rem;}
	#navi01	{flex-grow:2;}
	#mdl_trans #flags	{margin: 2rem auto 0;}
	#mdl_trans #flags ul	{display: flex; flex-direction: row; justify-content: space-between; align-items: center; float:none !important;}
	#mdl_trans #flags ul	{float:none !important;}
	#mdl_sns	{font-size:2rem; margin:2rem 0 0;}
	#mdl_sns a:hover	{opacity:0.5;}
}
@media only screen and (max-width:1699px){
	#navi_wrap	{display:block;}
	#navi01	{padding:0 0 4rem; margin:0 0 4rem; border-width:0 0 1px 0;}
}
@media only screen and (max-width:599px){
	#navi02	{display:block;}
	#navi02_logo	{width: 10rem; margin:0 auto 4rem;}
}


/* -----------------------------------------------------------
		Footer
----------------------------------------------------------- */
#ft_address	{
	text-align:center; 
	padding:1rem 0; 
	margin-top:3rem;
}
#ft_address address	{font-size:1rem;}

@media only screen and (min-width:1200px){
	#ft_address	{display:none;}
}



/* -----------------------------------------------------------
		オープニングページ
----------------------------------------------------------- */
.opening_slide	{
    display: flex;
}
/* 2. SCROLLING LANES (RIGHT AREA) */
.col-scroll-lane {
	flex: 1;
	height: 100%;
	overflow: hidden;
	position: relative;
	background: #f0efe9;
	border-right: 2px solid #1a1a1a;
	font-size: 0;
	line-height: 0;
	/* iOS Fix: Create a new stacking context */
	transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
	z-index: 1;
}
.col-scroll-lane:last-child {
	border-right: none;
}

/* --- SCROLL ANIMATION WRAPPER --- */
.scroll-wrapper {
	width: 100%;
	/* GPU Acceleration - Webkit Prefixes are CRITICAL for iOS */
	will-change: transform;
	transform: translateZ(0); 
	-webkit-transform: translateZ(0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	perspective: 1000px;
	-webkit-perspective: 1000px;
	transform-style: preserve-3d;
	-webkit-transform-style: preserve-3d;
}

/* Animation Definitions */
.lane-up .scroll-wrapper { animation: scrollUp 35s linear infinite; }
.lane-up-slow .scroll-wrapper { animation: scrollUp 40s linear infinite; }
.lane-down .scroll-wrapper { 
	animation: scrollDown 38s linear infinite; 
	/* Start from -50% to scroll downwards */
	transform: translateY(-50%); 
	-webkit-transform: translateY(-50%);
}

@keyframes scrollUp {
	0% { transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); }
	100% { transform: translate3d(0, -50%, 0); -webkit-transform: translate3d(0, -50%, 0); }
}

@keyframes scrollDown {
	0% { transform: translate3d(0, -50%, 0); -webkit-transform: translate3d(0, -50%, 0); }
	100% { transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); }
}

/* --- IMAGE STYLING (FLICKER FIX V2) --- */
.lane-content-img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0;
	padding: 0;
	border: none;
	
	/* KEY FIX: Overlap images by 1px to hide sub-pixel rendering gaps */
	margin-bottom: -1px;
	
	/* Force hardware acceleration on the image element itself */
	transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	
	/* Ensure smooth scaling */
	image-rendering: -webkit-optimize-contrast; 
}

/* --- SIDEBAR NAV STYLES --- */
.brand-logo-img {
	width: 100%; 
	max-width: 200px; 
	height: auto;
	margin-bottom: 50px;
	display: block;
}

.nav-list {
	list-style: none;
	width: 100%;
	text-align: center; 
	line-height: 1.5;
	font-size: 1rem;
}

.nav-item { margin: 20px 0; }

.nav-link {
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	position: relative;
	padding: 5px 10px;
	display: inline-block;
	transition: all 0.3s;
	color: #f0efe9;
}

.nav-link::before {
	content: '';
	position: absolute;
	bottom: 0; left: 0; width: 0%; height: 100%;
	background: #f0efe9; 
	z-index: -1;
	transition: width 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}
.nav-link:hover { color: #1a1a1a; }
.nav-link:hover::before { width: 100%; }

.nav-arrow { opacity: 0; margin-left: 10px; transition: 0.3s; font-weight: 400;}
.nav-link:hover .nav-arrow { opacity: 1; margin-left: 15px; }


@media (max-width: 768px) {
    .lane-up { display: none; }
    .lane-up-slow { display: none; }
    .lane-down { display: block;flex: 1; width: auto;border-right: none; }
	.container {flex-direction: row;  }
}

/* -----------------------------------------------------------
		Common
----------------------------------------------------------- */
#page_titarea	{
	margin-bottom:40px;
	width:100%;
}
#tit_bg	{
	width:100%;
	/*height:50vh;*/
	height: 100%;
	aspect-ratio: 80/52;
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:cover;
	position:relative;
}
#tit_bg::after	{
	content:"";
	background:rgba(0,0,0,0.5);
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:2;
}
#tit_inn	{
	width:100%;
	height:100%;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-box-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
	position:relative;
	z-index:3;
	color:#fff;
}
#tit_txt	{
	text-align:center;
}
#tit_txt img	{
	max-width:12.5rem;
}
#tit_notbgimg	{
	height:250px;
	background:#000;
}
#tit_bgtxt_inn	{
	text-align:left;
}
#page_titarea h1 {
	font-size:1rem;
    font-weight: 100;
    margin: 20px 0 0;
}
#page_titarea h2	{
	font-size:120%;
    letter-spacing: 2px;
    font-weight: bold;
	margin-top:60px;
}
#tit_scroll	{
	position:absolute;
	bottom:10px;
	left:50%;
	z-index:3;
	margin-left:-8px;
	animation: scmove 0.5s alternate infinite;
}

@keyframes scmove {
    100% {
        bottom:20px;
    }
}
.bigtit	{
	padding:0;
	font-size:48px;
	letter-spacing:0.05em;
	font-weight:bold;
	text-align:center;
	margin-bottom:20px;
}
.basictit	{
    font-family: 'Roboto', 'Noto Sans JP',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-weight: 700;
    line-height: 1.2;
    font-size: 2.25rem;
	text-align:center;
	margin-bottom:1.4rem;
	position:relative;
	text-align:center;
}
.subtit	{
    font-size: 1rem;
	font-weight:normal;
	text-align:center;
    margin-bottom: 1rem;
}
.basictit + .subtit	{
	margin-top:-1.5rem;
}
.smalltit	{
	font-weight:bold;
	font-size:17px;
	margin-bottom:20px;
}
.underlinetit	{
	font-size:1.6rem;
	line-height:1.2;
	text-align:center;
	padding-bottom:2.6rem;
	margin-bottom:1rem;
	position:relative;
}
.underlinetit:before	{
	content:"";
	width:1px;
	height:2rem;
	background:#cbcccd;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-0.5px;
}
.tit_double	{
	color:#A7C6ED;
	text-align:center;
	padding-bottom:2.6rem;
	margin-bottom:1rem;
	position:relative;
}
.tit_double p	{
	font-size:3rem;
	line-height:1.2;
	margin-bottom:0.2rem;
}
.tit_double h2	{
	font-size:0.9rem;
	line-height:1.2;
	margin-bottom:0.2rem;
}
.tit_double:before	{
	content:"";
	width:1px;
	height:2rem;
	background:#A7C6ED;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-0.5px;
}
.tit_photoclm	{
	display: flex; 
	flex-direction: row; 
	flex-wrap: wrap;
	align-items:flex-end;
	margin:0 0 1.875rem;
}
.tit_phclmL	{
	width:63%;
	margin-right:2%;
}
.tit_photoclm h2	{
    font-family: 'Roboto',YuMincho,"游明朝体","Yu Mincho","ＭＳ Ｐ明朝","MS PMincho","Sawarabi Mincho","Sawarabi Mincho",serif;
	font-weight:400;
	line-height:1.2;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: sideways;
	color:#e9999a;
	font-size:3.75rem;
}

.page_cont0	{
    margin-bottom: 5.3rem;
}
.page_cont0:last-child	{
	margin-bottom:0;
}

a.bt_top_more	{
    font-family: 'Roboto', 'Noto Sans JP', "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700;
	background:#fff;
	color:#111;
    display: inline-block;
	max-width:480px;
	font-size:1rem;
    position: relative;
    line-height: 1.0;
    padding: 0.7em 2.5em 0.6em;
	box-sizing:border-box;
    text-align: center;
	margin:1.872rem auto 0;
	border-radius:100px;
}
a.bt_top_more:hover	{
	background:#ababab;
	color:#111;
}
a.cr_arrow	{
    font-family: 'Roboto', 'Noto Sans JP', "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700;
	background:#fff;
	color:#111;
    display: block;
	width:200px;
	font-size:1rem;
    position: relative;
    line-height: 1.0;
    padding: 0.7em 2.5em 0.6em;
	box-sizing:border-box;
    text-align: center;
	margin:1.872rem auto 0;
	border-radius:100px;
}
a.cr_arrow:hover	{
	background:#ababab;
	color:#111;
}
#btm_cta	{
	padding:60px 0 20px;
}
.btm_cta_titimg	{
    width: 80%;
    max-width: 155.5px;
    margin: 0 auto 1.3rem;
}
#btm_cta h2	{
	font-size:1.2rem;
	text-align:center;
	line-height:1.4;
	margin-bottom:1.5rem;
}
#btm_cta h2 span	{
	border-bottom:1px solid #A7C6ED;
	display:inline-block;
	padding-bottom:0.4rem;
}
#btm_cta a.bt_top_more, #btm_cta a.bt_top_more span:before	{
	background:#B2A499;
}
#btm_cta a.bt_top_more span:after	{
	border-color:#B2A499;
}
#btm_cta a.bt_top_more:hover	{
	background:#877568;
}
.btm_cta_tel	{
	text-align:center;
	font-size:1rem;
	line-height:1.4;
	margin:1.3rem 0 0;
}
.btm_cta_tel strong	{
	font-size:150%;
}



@media only screen and (max-width: 699px){
}



/* -----------------------------------------------------------
		SALON TOP
----------------------------------------------------------- */
.topcont	{
	padding:5.625rem 0;
}
.topcont_wht	{
	padding:5.625rem 0 0;
}
.tit_eg	{
	font-family: 'Noto Sans JP',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 600;
}

#mv {
    width: 100%;
    overflow:hidden;
    position: relative;
    margin-bottom:9rem;
}
#mv_inn	{
    position: relative;
    aspect-ratio: 16 / 9; 
	overflow:hidden;	
}
#mv iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none;
}
#mv_bt	{
    position: absolute;
    z-index:2;
    width:10rem;
    height:10rem;
    bottom: 1.5rem;
    right:5vw;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    font-size:2.5rem;
}
#mv_bt::before	{
	content:"";
	background:url(/img/common/bg_mvbt.png) no-repeat center center;
	width:100%;
	height:100%;
	background-size:100% auto;
	position:absolute;
	left:0;
	top:0;
	border-radius:50%;
	overflow:hidden;
	animation: rotation 18s infinite linear;
}
#mv_bt:hover::before {
	animation-play-state: paused;
}
@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media only screen and (min-width: 600px){
	#mv_bt	{display:none;}
}
@media only screen and (max-width: 599px){
	#mv	{width:90%; margin:0 0 0 auto; padding:0 0 5rem;}
}

.salonCont	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	margin-bottom:12rem;
}
.salonCtit	{
	width:7.5rem;
	position:relative;
}
.salonCmain	{
	flex:2;
}
.salonCtiteg	{
	font-family: 'Noto Sans JP',"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ","Meiryo",arial,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: 700;
	font-size:7.0rem;
    line-height: 1.0;
    writing-mode: vertical-rl;
    margin: 0 0 0 -1rem;
	white-space: nowrap;
    /*transform: rotate(90deg);
    transform-origin: 0 0;
    position: absolute;
    top: 0rem;
    left: 5.5rem;*/
}
.top_salon0:not(:last-child)	{
	margin-bottom:4.5rem;
}
.top_salondata	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
.top_salondataL	{
	width:27%;
	margin-right:5%;
}
.top_salondataR	{
	width:68%;	
}
.top_salon_logo	{
	width:12rem;
	margin-bottom:1.5rem;
}
.top_salon_dl	{
	line-height:1.7;
}
.top_salon_dl dt	{
	font-weight:700;
}
.top_salon_dl dd	{
	margin-bottom:2.2em;
}
a.top_sln_map	{
	display:inline-block;
	line-height:1.6;
	font-size:86%;
    padding: 0.2em 1.5em 0.4em;
	border-radius:3px;
	color:#1a1a1a;
	background:#fff;
	margin:0.8em 0 0;
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3);
}
a.top_sln_map i {
    margin-right: 5px;
}
a.top_sln_map:hover	{
	background:#1a1a1a;
	color:#fff;
}
.top_salondataR iframe	{
	width:100%;
    height: auto;
	aspect-ratio:6/4;
}
.top_salonres	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	margin:3rem 0 0;
}
.top_salonresL	{
	width:25rem;
	margin-right:2.5rem;
}
.top_salonresR	{
	flex:2;
}
.top_salonres_li	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	justify-content:center;
	gap:1rem;
}
.top_salonres_li li {
    width: 100%;
}

.top_salonres_bt {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 30px;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    transition: 0.3s;
    text-align: center;
}
.top_salonres_eg	{
	font-size:1.7em;
}
a.top_salonres_bt:hover	{
	background:#8b8b8b;
}
.top_salonresR	{
	font-size:85%;
}
.top_salonresR p	{
	line-height:1.5;
}
.top_salonres_tit	{
	font-size:133%;
	font-weight:700;
	margin-bottom:0.4em;
}

.top_sln_li	{
    border-bottom: 1px solid #b4b2a6;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
	padding:0.5em 0 0.2em;
}
.top_sln_li dt	{
	width:28%;
	font-size:140%;
}
.top_sln_li dd	{
	flex:2;
}
.top_sln_li dd ul	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	gap:0 3rem;
}
.top_sln_box	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	font-size:114%;
	gap:0 2em;
	padding:1em;
}
.top_sln_box img	{
	width:8.125em;
}
.top_sln_li a:hover	{
	opacity:0.5;
}


#top_news_li > li:not(:last-child)	{
	border-bottom:1px solid #b4b2a6;
}
#top_news_li > li	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
.top_news_cat	{
	font-size:100%;
	margin-right:1.5rem;
	padding:2.14em 0;
}
.top_news_cat ul	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	gap:2px;
}
.top_news_cat a	{
	display:inline-block;
	background:#1a1a1a;
	color:#fff;
	padding:0.2em 1em;
}
.top_news_cat a:hover	{
	background:#8b8b8b;
}
.top_news_date	{
	font-size:114%;
	font-weight:700;
	min-width:5em;
	padding:2em 0;
	margin-right:3.5rem;
}
.top_news_tit	{
	font-size:114%;
    flex: 2;
}
.top_news_tit a	{
	display:block;
	padding:2em 2em 2em 0;
	position:relative;
}
.top_news_tit a:hover	{
	opacity:0.5;
}
.tp_nws_arr	{
	position:absolute;
	width: 1.0em;
	height: 1.0em;
	font-size: 1em;
	border-style:solid;
	border-width:0 1px 1px 0;
	border-color:#0a0a0a;
	bottom:1.25em;
	right:1.25em;
}
.tp_nws_arr:before	{
	content:"";
	font-size: 1em;
	width: 1.41em;
	height: 1px;
	display:block;
	background: #0a0a0a;
	transform: rotate(45deg);
	transform-origin: right bottom;
	position:absolute;
	bottom: 0px;
	right: 1px;
}

.top_sns0:not(:last-child)	{
	margin-bottom:4rem;
}
.top_sns_tit	{
	font-size:2.1rem;
	line-height:1.0;
	margin-bottom:1.7em;
}
.top_sns_tit span	{
	position:relative;
	display:inline-block;
	min-width:6em;
	padding-right:1em;
	box-sizing:border-box;
	position:relative;
}
.top_sns_tit span:before	{
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#1a1a1a;
	position:absolute;
	bottom:0.07em;
	left:0;
}


@media only screen and (max-width: 1199px){
	.top_salon0	{scroll-margin-top:7.5rem;}
}
@media only screen and (max-width: 899px){
	.salon0	{max-width:720px;}
	.top_salondata	{display:block;}
	.top_salondataL	{width:100%; margin:0 0 2rem;}
	.top_salondataR	{width:100%;}
	.top_sln_box	{font-size:100%;}
	.top_sln_li	{justify-content: space-between;}
	.top_sln_li dd	{max-width:16em;}
	.top_sln_li dd ul	{flex-direction: column;}
	.top_sln_box	{padding:0.5em 0;}
	.top_sln_li dt	{font-size:100%; width:auto;}
}
@media only screen and (max-width: 599px){
	#top_news_li > li	{/*flex-wrap: wrap;*/ display:block;}
	#top_news_li > li:not(:last-child)	{margin-bottom:1rem;}
	.top_news_cat	{width:100%; margin:0; padding:0;}
	.top_news_date	{/*padding:1em 0; margin-right:1.5rem;*/ padding: 1em 0 0;}
	.top_news_tit a	{/*padding: 1em 2em 1em 0;*/ padding: 0.5em 2em 1em 0;}
	.tp_nws_arr	{right:0;}
	.top_salonres	{display:block;}
	.top_salon_logo	{display:block; width:14em; margin-right:auto; margin-left:auto;}
	.top_salonresL	{width:100%; margin:0 0 2rem;}
	.top_salon_dl	{display: flex; flex-direction: row; flex-wrap: wrap;}
	.top_salon_dl dt	{width:6em;}
	.top_salon_dl dd	{width:calc(100% - 6em); margin-bottom:1.5em;}
	.top_salonres_li > li	{width:calc((100% - 1rem) / 2);}

	.top_salonres_li > li {
        width: 100% !important;
        max-width: none;
    }

    .top_salonres_bt {
        padding: 12px 20px;
        box-sizing: border-box;
    }
	.top_salonres_eg	{
	font-size:1.2em;
    }
	.top_sln_box	{font-size:95%;}
	.top_sln_box img	{width:7em;}
	.top_sln_li dd	{max-width:10em;}
	.top_sln_box	{gap:0 1em;}
}



/* -----------------------------------------------------------
		Page Common
----------------------------------------------------------- */
.tit_underline	{
	font-size:2.1rem;
	line-height:1.0;
	margin-bottom:1.7em;
	position:relative;
}
.tit_underline:before	{
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#b4b2a6;
	position:absolute;
	bottom:calc(0.08em + 1px);
	left:0;
}
.tit_underline span	{
	position:relative;
	display:inline-block;
	min-width:8em;
	padding-right:1em;
	box-sizing:border-box;
	position:relative;
}
.tit_underline span:before	{
	content:"";
	display:block;
	width:100%;
	height:2px;
	background:#1a1a1a;
	position:absolute;
	bottom:0.08em;
	left:0;
}



/* -----------------------------------------------------------
		Menu
----------------------------------------------------------- */
.menu_titarea	{
	margin-bottom:2rem;
}
.menu_maintit	{
	font-size:2.1rem;
	line-height:1.0;
	position:relative;
}
.menu_maintit:before	{
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#b4b2a6;
	position:absolute;
	bottom:calc(0.08em + 1px);
	left:0;
}
.menu_maintit span	{
	position:relative;
	display:inline-block;
	min-width:8em;
	padding-right:1em;
	box-sizing:border-box;
	position:relative;
}
.menu_maintit span:before	{
	content:"";
	display:block;
	width:100%;
	height:2px;
	background:#1a1a1a;
	position:absolute;
	bottom:0.08em;
	left:0;
}
.menu_subtile	{
	font-size:85%;
}
.m_information h4 {
	font-size:125%;
    font-weight: 700;
    margin-top: 1rem;
    line-height: 1.4;
	width:100%;
	box-sizing:border-box;
}
.m_information hr + h4	{
	margin-top:20px;
}
.m_information dl		{
	width:100%; 
	max-width:750px;
	font-size:114%; 
	margin:0 0 3rem auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.m_information dl dt, .m_information dl dd	{
	line-height: 1.2;
	padding:1rem 0;  
}
.m_information dl dt	{
	width:calc(100% - 10em);
}
.m_information dl dd	{
	width:10em;
	text-align:right; 
}
.m_information dl p	{
	font-size:77%; 
}
.m_information dl hr {
    width: 100%;
    border: none;
    height: 1px;
    background: #b4b2a6;
    margin: 0;
    padding: 0;
}
.m_information ul.column2:after {visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0;}
.m_information ul.column2 li    {width:65px; float:left; text-align:right;}
.m_information ol li            {list-style-type:none;}
.m_information ul li            {padding:0; list-style-type:none;}
.m_information dl ul li         {padding:0;}
.m_information dl ul            {margin-bottom:0; height: 1.6em;}
.m_information a		{padding: 3px 5px 0; background-color:#eee;}
.m_information a.link_topmore {
    width: 95%;
    font-size: 14px;
    padding: 6px 0;
    background: #e4d8c4;
    color: #a969a6 !important;
    border: 1px solid #a969a6 !important;
}
.m_information a.link_topmore:hover {
    color: #fff !important;
	background: #a969a6;
    border: 1px solid #a969a6 !important;
}
.ddline2			{height:3em;}
.ddgray				{background:#f9f6f1;}
.dtindent			{text-indent:2em;}
.mdetail  {width:100%; text-align:left; clear:both; padding:5px; background: rgba(0, 0, 0, 0.06); box-sizing:border-box;}
.mfreespace	{padding:10px 0 0; margin-bottom:10px; width:100%; box-sizing:border-box;}
.mfreespace p {padding:0 5px;}
.dd_last  {border-bottom:1px solid #ccc !important;} 
.tx_thin  {font-weight:normal !important; font-size:15px;}
.no_dash  {border-bottom:none !important;}
.top_no_dash	{border-top:none !important;}
.border  {border-bottom:1px dotted #333;}
.course_box	{border:15px solid #eee; padding:30px 20px; margin-bottom:10px;}
.course_box h2	{color:#e94a6a; font-weight:bold; font-size:24px; margin-bottom:10px; }
.course_box h3	{color:#e94a6a; font-weight:bold; font-size:20px; margin-bottom:10px; }
.course_box p	{color:#e94a6a; font-size:110%; padding:0 20px;}

ol.m_attention	{list-style:disc inside !important;}
.m_attention li	{padding-left:20px; margin-bottom:10px;}

#menu_guide	{clear:both; text-align:center;}
#menu_guide h3	{font-size:120%; font-weight:bold; margin-bottom:10px;}
#menu_guide p	{margin-bottom:30px;}

@media only screen and (max-width: 1024px){
	#menu_info	{width:100%;}
}


/* -----------------------------------------------------------
		Menu Multiple
----------------------------------------------------------- */
#mn_ml_list	{margin-bottom:50px; text-align:center;}
#mn_ml_list li	{display:inline-block; margin:0 3px 10px;}
#mn_ml_list li a	{background:#000; color:#fff; padding:3px 20px; font-size:120%;}
#mn_ml_list li a:hover	{opacity:0.5;}

.mn_multiple #mn_ml_list li	{display:block; margin-bottom:20px;}
#menu_info #gl_subtitle h3	{}

.mn_multiple h3	{margin-top:30px;}




/* -----------------------------------------------------------
		Staff
----------------------------------------------------------- */
#staff_all	{
}
#staff_all ul	{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 1.5rem;
    grid-row-gap: 3rem;
	margin-bottom:5rem;
}
.staff_job_tit	{
	font-size:2.1rem;
	line-height:1.0;
	margin-bottom:1.7em;
	position:relative;
}
.staff_job_tit:before	{
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#b4b2a6;
	position:absolute;
	bottom:calc(0.08em + 1px);
	left:0;
}
.staff_job_tit span	{
	position:relative;
	display:inline-block;
	min-width:8em;
	padding-right:1em;
	box-sizing:border-box;
	position:relative;
}
.staff_job_tit span:before	{
	content:"";
	display:block;
	width:100%;
	height:2px;
	background:#1a1a1a;
	position:absolute;
	bottom:0.08em;
	left:0;
}
.stf_photo	{
    margin-bottom: 1rem;
}
.stf_titarea	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	align-items:flex-start;
	min-height:2em;
	margin-bottom:0.5em;
}
.stf_tit	{
	flex:2;
}
.stf_tit h3	{
	font-size:114%;
}
.stf_sns	{
	font-size:170%;
	width:1.2em;
	margin-left:1rem;
}
.stf_sns a	{
	display:block;
    line-height: 1.2;
}
.stf_sns svg	{
	width:1em;
	height:1em;
}
.stf_sns a:hover	{
	opacity:0.5;
}
.stf_txt	{
	font-size:85%;
}

@media only screen and (max-width: 899px){	
	#staff_all ul	{grid-template-columns: repeat(3, 1fr);}
}
@media only screen and (max-width: 599px){	
	#staff_all ul	{grid-template-columns: repeat(2, 1fr);}
}


/* -----------------------------------------------------------
		Utility
----------------------------------------------------------- */
#utility	{}
.utlt0	{
    margin-bottom: 2rem;
}
#utility dl	{margin-bottom:50px;}
/*#utility dl dt	{width:25%; padding:10px; box-sizing:border-box; float:left; clear:both; font-weight:bold;}
#utility dl dd	{padding:10px 10px 9px 25%; border-bottom: 1px solid #ccc;}*/
#utility dl dt	{width:100%; padding:10px 10px 5px; box-sizing:border-box;}
#utility dl dd	{padding:0 0 10px; box-sizing:border-box;}
#utility dl dd h4	{font-size:100%; font-weight:bold; margin-bottom:5px;}
#u-gmap		{margin:20px 0 0;}
#rec_message	{margin:50px 0 0;}
#rec_message p	{margin-bottom:10px;}
#utility .lk-1colt dt	{width:100%; float:none;}
#utility .lk-1colt dd	{width:100%; padding:10px 10px 9px 10px;}
.select_year	{width:8em;}
#autozip {
   display: none !important;
}

#form_message	{margin-bottom:30px;}
#form_contact .need    { background-color:#aa3b5a; color:#FFFFFF; font-size:11px; margin-right:5px; padding:3px 5px; border-radius: 3px; font-weight: normal;}
#form_contact .err     { background:#FF6868; color:#FFFFFF; }
#form_contact .comp    { background:#f3f3f3; padding:80px 0px 80px 0px; text-align: center; }
#privacy { height:120px; overflow-y:scroll; padding:10px; margin-bottom:10px; border: 1px solid #ccc; }



/* -----------------------------------------------------------
	アーカイブ・単一記事ページ
----------------------------------------------------------- */
#sidebar	{
	margin-top:4rem;
}
section.widget h3, section.blog_quote h3 {	
	font-size:1.6rem;
	line-height:1.0;
	margin-bottom:0;
	position:relative;
}
section.widget h3:before, section.blog_quote h3:before	{
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#b4b2a6;
	position:absolute;
	bottom:calc(0.05em + 1px);
	left:0;
}
section.widget h3 span, section.blog_quote h3 span	{
	position:relative;
	display:inline-block;
	min-width:8em;
	padding-right:1em;
	box-sizing:border-box;
	position:relative;
}
section.widget h3 span:before, section.blog_quote h3 span:before	{
	content:"";
	display:block;
	width:100%;
	height:2px;
	background:#1a1a1a;
	position:absolute;
	bottom:0.05em;
	left:0;
}

#side_news_li > li:not(:last-child)	{
	border-bottom:1px solid #b4b2a6;
}
#side_news_li > li	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}
.side_news_cat	{
	font-size:100%;
	margin-right:1.5rem;
	padding:2.14em 0;
}
.side_news_cat ul	{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
	gap:2px;
}
.side_news_cat a	{
	display:inline-block;
	background:#1a1a1a;
	color:#fff;
	padding:0.2em 1em;
}
.side_news_cat a:hover	{
	background:#8b8b8b;
}
.side_news_date	{
	font-size:114%;
	font-weight:700;
	min-width:5em;
	padding:2em 0;
	margin-right:3.5rem;
}
.side_news_tit	{
	font-size:114%;
    flex: 2;
}
.side_news_tit a	{
	display:block;
	padding:2em 2em 2em 0;
	position:relative;
}
.side_news_tit a:hover	{
	opacity:0.5;
}

#archive_tandem > ul > li	 {margin: 0 0 20px; padding: 0; width: auto; float: none;}
#archive_tandem ul li a	{display:block;}
.thumL	{border: 1px solid #ccc; float: left; height: 148px; margin: 0; text-align: center; vertical-align: middle; width: 148px; overflow:hidden;}
.thumL img	{max-width:100%; height:auto;}
.title01  {padding:0 0 0 165px;}
.title01 h2 {
    font-size: 120%;
	font-weight:300;
    margin-bottom: 0px !important;
    padding: 5px 0 5px;
    line-height: 1.4;
}
.info_new {
    background: transparent;
    color: #9F1D2F;
    display: inline-block;
    font-size: 0.8rem;
    padding: 0.05rem 0.6rem 0 0;
    position: relative;
    font-weight: normal;
}
.date {font-size:85%; margin-bottom:1em;}
#excerpt p {line-height: 1.6; font-size: 90%;}
h2.title	{
    padding: 0 0 0.4em;
    font-size: 160%;
    border-bottom: 2px solid #1a1a1a;
	margin:0 0 0.4em;
}
p.dateLabel	{
	margin:0 0 0.5rem;
	font-size:85%;
}

@media only screen and (max-width: 599px){
	section.widget h3, section.blog_quote h3	{font-size:2.1rem; margin-bottom: 1.0em;}
	#side_news_li > li	{/*flex-wrap: wrap;*/ display:block;}
	#side_news_li > li:not(:last-child)	{margin-bottom:1rem;}
	.side_news_cat	{width:100%; margin:0; padding:0;}
	.side_news_date	{/*padding:1em 0; margin-right:1.5rem;*/ padding: 0.5em 0 0;}
	.side_news_tit a	{/*padding: 1em 2em 1em 0;*/ padding: 0 2em 1em 0;}
}
@media only screen and (max-width: 499px){
	.thumL	{width:118px; height:118px;}
	.title01  {padding:0 0 0 130px;}
}
@media only screen and (max-width: 399px){
	.thumL	{width:98px; height:98px;}
	.title01  {padding:0 0 0 110px;}
	.title01 h3	{padding:0px;}
	.date {margin-bottom:10px;}
}

ul.post{
padding:0;
}

ul.post li{
margin:0 10px;
padding:20px 0 15px;
border-bottom:1px dashed #dcdcdc;
}

ul.post li:last-child{border:0;}

ul.post img{
float:left;
margin:0 15px 5px 10px;
}

ul.post h3{
margin:0 0 10px 10px;
font-size:14px;
font-weight:normal;
border:0;
}


.categories_label {
	display: inline-block; 
	margin-bottom: 1em;
}
.post .categories_label	{
	margin-bottom:1.5rem;
}
.post-categories	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 2px;
}
.post-categories a	{
	display:inline-block;
	background:#1a1a1a;
	color:#fff;
	padding:0.2em 1em;
}
.post-categories a:hover	{
	background:#8b8b8b;
}


.single_title {text-align: center;}
.single_title h2 {
    font-size: 250% !important;
    font-weight: 400 !important;
    padding: 20px 0 0 !important;
    line-height: 1.0;
}

.single_title ul {display: table-cell;}
.single_title li {float: left; margin: 0 10px;}
.single_title a {}

@media only screen and (max-width: 767px) {
	.single_title h2 {font-size: 200% !important;}
}
@media only screen and (max-width: 499px) {
	.single_title li {float: none; margin: 0 0 5px;}
	.single_title h2 {padding: 30px 0 0px;}
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width: 100%;
margin: 70px 0 20px;
}

.pagenav a{background:#000; padding:10px 20px; color:#fff;}

.prev{float:left}

.next{float:right;}

#hs_pagenav	{
width:200px;
margin: 20px auto 30px;
}


#hs_pagenav .prev ,#hs_pagenav .next	{
width:100px;
-moz-transition:0.1s ease-out;
-webkit-transition:0.1s ease-out;
-o-transition:0.1s ease-out;
-ms-transition:0.1s ease-out;
}

#hs_pagenav .prev ,#hs_pagenav .next{
width:65px;
}

#hs_pagenav .prev:hover{
text-indent:-5px;
}
#hs_pagenav .next:hover{
text-indent:5px;
}


#pageLinks{
clear:both;
color:#4f4d4d;
text-align:center;
}

.wp-pagenavi a, .wp-pagenavi span {display: inline-block;}

/* -----------------------------------------------------------
	Recruit
----------------------------------------------------------- */
.topCont	{
	margin-bottom:7rem;
}

.rec_mv	{
	margin-bottom:3rem;
}
.rec_mv img	{
	width:100%;
}
.rec_dtbox	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	gap:0 3rem;
	margin-bottom:4rem;
}
.rec_dt_R	{
	width:27%;
	max-width:286px;
}
.rec_dt_L	{
	flex:2;
}
.rec_dt_L p	{
	font-size:115%;
	line-height:1.875;
}
.rec_dt_L p:not(:last-child)	{
	margin-bottom:2em;
}
.rec_dt_btli	{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
	gap:1rem;
}
.rec_dt_btli a	{
	width:100%;
	aspect-ratio:1 / 0.612;
	color:#fff;
	font-size:115%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
	justify-content:center;
	align-items:center;
	gap:0.6em 0;
}
.rec_dt_btli a:hover	{
	opacity:0.8;
}
.rec_dt_bt01	{
	background:#1a1a1a;
}
.rec_dt_bt01 img	{
	max-width:45%;
}
.rec_dt_bt02	{
	background:#07c756;
}
.rec_dt_bt02 img	{
	max-width:68.8%;
}
.rec_hsli	{
}
.rec_hsli > li	{
    border-bottom: 1px solid #b4b2a6;
	padding:1.2rem 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
	gap:1.5rem;
}
.rec_hsli_logo	{
	width:12.3%;
}
.rec_hsli_txt	{
	flex:2;
}
.rec_hsli_dl	{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	align-items:center;
	gap:3rem;
}
.rec_hsli_dl + dl	{
	margin-top:1em;
}
.rec_hsli_dl dt	{
	width:30%;
	font-size:114%;
	font-weight:600;
}
.rec_hsli_dl dd	{
	flex:2;
	font-size:100%;
}
/* YouTubeレスポンシブ対応 */
.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9のアスペクト比 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media only screen and (max-width: 1199px){
}
@media only screen and (max-width: 899px){
	.rec_dtbox	{display:block;}
	.rec_dt_L	{margin:0 0 3rem;}
	.rec_dt_R	{width: 100svw;max-width: 100svw;margin: 0 -5svw;}
	.rec_dt_btli	{flex-direction: row; flex-wrap: nowrap; gap:0;}
	.rec_dt_btli > li	{width:50%;}
	.rec_hsli > li	{gap:2.5rem;}
	.rec_hsli_dl	{display:block;}
	.rec_hsli_dl dt	{width:100%; margin-bottom:0.5em;}
	.rec_hsli_logo	{width:15%;}
}
@media only screen and (max-width: 599px){
	.rec_dt_L p	{font-size:100%;}
	.rec_dt_btli a	{font-size:100%;}
	.rec_hsli_logo	{width:30%;}
	.rec_hsli_dl dt	{font-size:100%;}
}