@charset "utf-8";
/*******************************
  共通設定
*******************************/

/* デザイントークン定義 */
:root {
  /* ベース設定 */
  --base-width: 640;
  --vw-unit: 100vw;
  --calc-base: calc(var(--vw-unit) / var(--base-width));
  
  /* カラーパレット */
  /* プライマリカラー */
  --color-primary: #9C958B;
  --color-primary-dark: #074f33;
  --color-primary-light: #9C958B;
  
  /* セカンダリカラー */
  --color-secondary: #a8894a;
  --color-secondary-dark: #05432b;
  --color-secondary-light: #e6d7b2;
  
  /* ニュートラルカラー */
  --color-neutral-black: #000;
  --color-neutral-dark: #0a0c11;
  --color-neutral-gray: #333;
  --color-neutral-light-gray: #999;
  --color-neutral-lighter-gray: #ccc;
  --color-neutral-lightest-gray: #f9f9ff;
  --color-neutral-white: #fff;
  
  /* 背景カラー */
  --color-bg-primary: #8b7959;
  --color-bg-secondary: #e6eaf5;
  --color-bg-tertiary: #e5eaf5;
  --color-bg-accent: #e3ecf7;
  
  /* ボーダーカラー */
  --color-border-primary: #e6d7b2;
  --color-border-secondary: #9C958B;
  --color-border-tertiary: #c5c5c5;
  --color-border-light: #dbe0eb;
  
  /* ステータスカラー */
  --color-error: #ad252b;
  --color-success: #27a787;
  --color-warning: #d83333;
  
  /* カテゴリカラー */
  --color-category-news: #95b5ad;
  --color-category-event: #c2999d;
  --color-category-blog: #d8ccb8;
  
  /* スペーシングシステム */
  --space-xs: calc(var(--calc-base) * 5);
  --space-sm: calc(var(--calc-base) * 10);
  --space-md: calc(var(--calc-base) * 15);
  --space-lg: calc(var(--calc-base) * 20);
  --space-xl: calc(var(--calc-base) * 25);
  --space-2xl: calc(var(--calc-base) * 30);
  --space-3xl: calc(var(--calc-base) * 35);
  --space-4xl: calc(var(--calc-base) * 40);
  --space-5xl: calc(var(--calc-base) * 50);
  --space-6xl: calc(var(--calc-base) * 60);
  --space-7xl: calc(var(--calc-base) * 80);
  --space-8xl: calc(var(--calc-base) * 100);
  
  /* タイポグラフィ */
  --font-size-xs: calc(var(--calc-base) * 12);
  --font-size-sm: calc(var(--calc-base) * 14);
  --font-size-base: calc(var(--calc-base) * 16);
  --font-size-lg: calc(var(--calc-base) * 18);
  --font-size-xl: calc(var(--calc-base) * 20);
  --font-size-2xl: calc(var(--calc-base) * 24);
  --font-size-3xl: calc(var(--calc-base) * 28);
  --font-size-4xl: calc(var(--calc-base) * 32);
  --font-size-5xl: calc(var(--calc-base) * 36);
  --font-size-6xl: calc(var(--calc-base) * 40);
  
  /* 行間 */
  --line-height-tight: 1;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.7;
  
  /* ボーダー半径 */
  --border-radius-sm: calc(var(--calc-base) * 4);
  --border-radius-md: calc(var(--calc-base) * 8);
  --border-radius-lg: calc(var(--calc-base) * 10);
  --border-radius-xl: calc(var(--calc-base) * 20);
  --border-radius-full: 50%;
  --border-radius-pill: 100px;
  
  /* シャドウ */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  
  /* トランジション */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;
  
  /* Z-index */
  --z-index-dropdown: 1000;
  --z-index-sticky: 1020;
  --z-index-fixed: 1030;
  --z-index-modal-backdrop: 1040;
  --z-index-modal: 1050;
  --z-index-popover: 1060;
  --z-index-tooltip: 1070;
  
  /* レガシーサイズ値（後方互換性のため） */
  --size-10: var(--space-sm);
  --size-15: var(--space-md);
  --size-18: calc(var(--calc-base) * 18);
  --size-20: var(--space-lg);
  --size-24: var(--font-size-2xl);
  --size-25: var(--space-xl);
  --size-30: var(--space-2xl);
  --size-32: var(--font-size-4xl);
  --size-35: var(--space-3xl);
  --size-36: var(--font-size-5xl);
  --size-40: var(--space-4xl);
  --size-44: calc(var(--calc-base) * 44);
  --size-50: var(--space-5xl);
  --size-55: calc(var(--calc-base) * 55);
  --size-60: var(--space-6xl);
  --size-80: var(--space-7xl);
  --size-100: var(--space-8xl);
  --size-320: calc(var(--calc-base) * 320);
  --size-434: calc(var(--calc-base) * 434);
}

header .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 64px 0 24px 0;
    gap: 24px;
}
header h1 img { height: 200px; width: auto;
}
#gNav ul {
    gap: var(--S, 24px);
}

#gNav li a {
    line-height: 32px;
}
#gNav li.btn {
    border: solid 1px var(--color-border-tertiary);
    border-radius: 8px;
}
article section#price {
    flex-direction: row;
}
article section {
    display: flex;
    flex-direction: column;
    padding: var(--XXL, 64px) 0px;
    justify-content: center;
    align-items: center;
    gap: 64px 0;
}
article section .inr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1200px;
}
article section .inr .image {
    background-size: cover;
    background-position: center center;
    height: 600px;
    display: block;
    flex: 1 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
article section .inr .contents {
    display: flex;
    padding: var(--L, 24px) var(--XXL, 64px);
    flex-direction: column;
    align-items: center;
    gap: var(--L, 24px);
    flex: 1 0 0;
    box-sizing: border-box;
}
article section .inr .contents h3 {
    font-size: 24px;
    position: relative;
    display: block;
    margin-bottom: 20px;
    text-align: center;
	font-weight: normal;
}
article section .inr .contents h3::after {
    content: "";
    height: 1px;
    width: 220px;
    background: var(--color-border-tertiary);
    display: block;
    position: absolute;
    left: 50%;
    right: 0;
    margin-left: -110px;
    bottom: -20px;
}
article section .inr .contents h3 span {
    font-size: 14px;
}
article section .inr .contents h3 span:nth-child(2) {
    display: block;}
article section .inr .contents p, article section .inr .contents dl, article section .inr .contents ul {
    width: 100%;
}
article section .inr:nth-child(even) .image {
    order: 2;
}
article section .inr:nth-child(even) .contents {
    order: 1;
}
article section .inr ul.price {
}
article section .inr ul.price li {
    font-size: 18px;
    margin-bottom: 8px;
	font-family: "Arial", "メイリオ";
}
article section .inr ul.price li span {
}
article section .inr ul.price li .description {
    font-size: 14px;
}
#owner {
}
#owner h4 {
    margin: 0;
    width: 100%;
    text-align: left;
}
#owner .imagearea {
    flex: 1 0 0;
}
#owner .name {
    text-align: center;
    margin-top: 16px;
}
#owner .name span {
    display: block;
}
article section .inr .contents dl {
}
article section .inr .contents dt {
	font-family: "Arial", "メイリオ";
    float: left;
    clear: both;
    margin-right: 0.5em;
}
article section .inr .contents dd {
    float: left;
}
#qr {
    background: #fff;
    padding: 40px;
}
#qr h3, #qr p {
    color: #9C958B;
}
#qr p {
    text-align-last: center;
}
article section#qr .inr .contents h3::after {
    background: #9C958B;
}
article section#qr .inr {
	max-width: 900px;
    padding: 40px;
    border: solid 2px #C8C3BB;
    outline: solid 4px #C8C3BB;
    outline-offset: 6px;
    margin: 6px;
}
article section#qr .inr .image {
    height: auto;
}
#footer {
    border-top: solid 1px var(--color-border-tertiary);
}
	section#menu{ padding-bottom: 0 !important;padding-top: 0 !important;}
section#price{ padding-top: 0 !important;}

article section#menu li, article section#price li {
    text-align: center;
}
section#about p, section#owner p, section#instagram p {
    text-align: center;
}
#access p {
    text-align: left !important;
}
section#lesson li {
    list-style-type: disc !important;
    list-style-position: outside !important;
    margin-left: 1em;
    padding-left: 0.5em;
}
#footer .title .wrap, #copyright .wrap {
    width: 100%;
    display: block;
}
#gNav li a span {
    padding-left: 0.5em;
}
article section .inr .contents h3 span {
    padding-left: 0.3em;
}
header.small .inner {
    padding: 0;
}
header.small h1 {
    display: none !important;
}
#access iframe {
    height: 100%;
    width: 100%;
}
.ownerimage {
    height: 460px;
    width: 320px;
	overflow: hidden;
}
#owner .image {
    flex-flow: column;
}
	
	#instagram {
    position: relative;
    z-index: 0;
}
#instagram:after {
    content: '';
    background-color: rgba(0,0,0,.7);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
}
	#instagram .inr{width: 100%; z-index: 3; position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;}
	#footer .text img{ width: 250px;}
#top #mainImage {
  width: 100%;
  height: auto;
  min-height: 100vh;
}
	
#mainContents section .inrBox p span {
	margin-bottom: .5em;
	display: block;
}
#main ul.note_dot {
    padding: 3em 1em 1em 1em;
}
.note_dot {
    padding-left: 1em;
    line-height: 18px;
    text-indent: -1em;
}
.note_dot li::before {
    content: '・';
}
#main ul.note_dot li {
	margin-bottom: .7em;
	font-size: 13px;
    padding: 0;
    text-indent: -1em;
    line-height: 1.5em !important;
	letter-spacing: 0;
    font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
    line-height: 23px;
    text-align: left;
}
#mainContents section .inrBox p strong span{ display: inline; font-size: 14px;}
html {
    min-width: 1200px;
	
}	#access .open{ margin-top: 0.8em;}
#access dl{ height: 2em; }
@media only screen and (max-width:640px) {
	article section .inr ul.price li, p, article section .inr ul.price li .description, article section .inr .contents dl{ font-size: 13px !important;}
	
	section#menu{padding-top: 64px !important;}
	#menu{ padding-bottom: 0 !important; }
	article section .inr .contents dt{ display: block;}
	#access p{ text-align: center !important;}
	article section .inr .contents dl{ display: flex; justify-content: center;}
	.small #gNav li a{ line-height:; display: flex; flex-direction: row !important; justify-content: flex-start !important;}
.small #gNav li a span{ padding-left: 8px !important;}
	
	#owner{ padding-top: 40px;}
	#owner .image{ height: 460px;}
	#menu{ padding-bottom: 0;}
	article section .inr .contents h3 span { display: block;}
	article section .inr .contents p{ text-align: center;}
	header.small h1 { display: block !important;}
	html {
    min-width: auto !important;
	}#instagram{ margin-bottom: 0; }
	li{ font-size: 13px;}
	article section .inr, article section{ width: 100%; display: block;}
	article section{ margin-bottom: 0px;}
	article section .inr .image{ margin-bottom: 36px;  height: 320px;}
	article section .inr .contents, article section{ padding: 16px; box-sizing: border-box; background-attachment: scroll;}
	section#about p, section#owner p, section#instagram p {text-align: center;}
	article section#qr .inr{ padding: 0; margin: 0;}
	#top #mainImage {
		width: 100%;
		height: 400px !important;
		min-height: 400px !important;
	}
.dispPc { display: none !important; }
}
.wrap{ display: flex;}
#concept .image {
width: 50%;
height: 600px;
background-image: url(../imgs/top/bg_concept.webp);
	background-size: cover;
	background-position: center center;
}

#space .image {
	height: 322px !important;
	align-items: stretch;
	background: var(--color-neutral-black);
	height: 100%;
	background-image: url("../imgs/space/image1_3.webp");
	background-size: cover;
	background-position: center center;
}





.slick-slide a { cursor: default; pointer-events: none !important; }
.tx + .slider { margin-top: 25px; }
#concept1 { box-sizing: border-box; }
.wrap.left-sm .headline-6 { margin-bottom: 10px; text-align: left; border-left: solid 5px #8b7959; padding-left: 1em; line-height: 1em; color: #8b7959; }
#mainContents .wrap.left-sm p { font-size: 15px; line-height: 30px; margin: 0 auto !important; padding: 15px 0 10px; text-align: justify !important; font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif; }
.wrap.center-sm .headline-6 { margin-bottom: 20px; }
.wrap.center-sm p { line-height: 30px; width: 570px; margin: 0 auto !important; padding: 25px 0 30px; text-align: justify !important; font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif, 'SimSun'; }
p + .headline-6 { margin-top: 40px; }
.p-menu #mainContentsWrapper { background-attachment: fixed !important; }
#mainContents section .inrBox .headline-4 { margin-bottom: 25px !important; }
h4 { font-weight: normal; }
img[src$=".svg"] { width: 100%; }
body { letter-spacing: 1px; color: var(--color-neutral-white); font-size: 16px; }
a { color: var(--color-neutral-white); }
a.hov, input.hov, button.hov { transition: opacity .3s; }
a.hov:hover, input.hov:hover, button.hov:hover { opacity: .8; }
a { transition: opacity .3s; }
a:hover { opacity: .8;}
img { max-width: 100%; }
.sp { display: none; }
.image.col1.gmap { margin-top: 0 !important; }
@media only screen and (max-width:640px) {
	#mainContents .wrap.left-sm p{    font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif, 'SimSun';}
	#ftrSiteMap ul{ margin-bottom:40px !important;}
	#ftrSiteMap .wrap > dl dt, #ftrSiteMap li{ width:46% !important; margin:0 2%;}
	#ftrSiteMap li a{ padding:0 !important;}
	.slick-prev:before, .slick-next:before{ display:none;}
	h4{ font-size:16px ; letter-spacing:1px;}
	#main ul.note li{ text-align:justify;}
	.wrap.center-sm p{ line-height: 25px;}
.wrap.center-sm p{ width:100%;}
.headline-4 { padding-bottom: 1em !important; }
.p-menu #mainContentsWrapper { background-attachment: scroll !important; }
#mainContents p { font-size: var(--size-25);
}
#concept1 + #concept1 { padding-top: 0 !important; }
#concept1 { padding: 45px 0 !important; }
body {
 font-size: var(--size-24); line-height: 1.6; }
img.sp { display: inline-block; }
img.sp + img { display: none; }
br.sp { display: inline; }
.wrap { width: auto; 
max-width: auto; min-width: auto; }
.menuD { display: block !important; }
.menuD .box { width: auto !important; }
#ftrContact ul li { width: auto !important; margin-bottom: 20px; }
#ftrContact ul { display: block !important; }

}
/* header */

#header { width: 100%; position: fixed; top: 0; left: 0; z-index: 9999; }
#header .inner { width: 100%; min-width: 1000px; position: absolute; top: 0; left: 0; z-index: +1; background: var(--color-primary-light); transition: var(--transition-slow); border-bottom: solid 1px var(--color-border-tertiary);}
#header .inner a { font-weight: normal !important; }

@media only screen and (max-width:1100px) {
	.small #gNav ul {
    gap: var(--S, 8px);
}
.small #gNav li a{ line-height:1.2em; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.small #gNav li a span{ padding-left: 0;}
}



@media only screen and (max-width:640px) {
#header { left: 0; top: auto; }
	article section .inr ul.price li .description{ display: block;}
}
#siteTitle {  display: flex; justify-content: center; align-items: center; left: 10px; }
#siteTitle a { display: block; width: 100%; height: 100%; }
#gNav { transition: .3s; width: 100%; display: flex; justify-content: center; align-items: center;}
#gNav ul { display: flex; font-size: 14px;  }
#gNav a { font-size: 18px; display: block; padding: 4px 16px; color: var(--color-neutral-white); text-decoration: none; transition: var(--transition-normal); letter-spacing: 1.6px }
#gNav a span { font-size: 14px; }
#gNav a:hover { border-bottom-color: var(--color-neutral-white); }
#gNav .contact, #gNav .search { display: none; }
#header .contact, #header .lang { width: 106px; position: absolute; top: 0; background: var(--color-neutral-dark); transition: var(--transition-normal); }
#header .search { width: 196px; position: absolute; top: 0; background: var(--color-neutral-dark); transition: var(--transition-normal); }
#header .search { right: 0px; }
#header .contact { right: 120px; }
#header .lang { right: 0; }
#header .search a, 
#header .contact a, 
#header .lang a { 
  display: block; 
  box-sizing: border-box; 
  height: 60px; 
  padding: 24px 0 0; 
  background: var(--color-primary);
color: var(--color-neutral-white); 
  font-size: 13px; 
  line-height: 1; 
  text-align: center; 
  text-decoration: none; 
  transition: .3s; 
  font-weight: bold; 
}
#header .search a::before, #header .contact a::before, #header .lang a::before { position: absolute; top: 35px; left: 50%; font-family: Fontawesome; font-size: 16px; transform: translateX(-50%); }

#btMenu { display: none; }
#searchBox { box-sizing: border-box; width: 100%; height: 80px; padding: 20px 0 0; position: absolute; top: 0; left: 0; background: #3e6188; transform: translateY(0); transition: var(--transition-slow); }
#searchBox.active { transform: translateY(80px); }
#searchBox .input { box-sizing: border-box; width: 480px; box-sizing: border-box; height: 40px; margin: 0 auto; padding: 0 0 0 20px; position: relative; border-radius: 20px; background: var(--color-neutral-black); }
#searchBox .input::before { content: "\f002"; display: block; width: 50px; height: 40px; position: absolute; top: 0; right: 0; background: var(--color-neutral-black); border-radius: 0 20px 20px 0; color: var(--color-neutral-white); font-family: Fontawesome; font-size: 16px; line-height: 40px; text-align: center; }
#searchBox input[type="text"] { display: block; box-sizing: border-box; width: 330px; height: 40px; margin: 0; border: none; padding: 0 5px; background: transparent; color: var(--color-neutral-white); line-height: 40px; outline: none; }
#searchBox input[type="submit"] { display: block; box-sizing: border-box; width: 50px; height: 40px; position: absolute; top: 0; right: 0; opacity: 0; cursor: pointer; }
#header.small .inner { height: 80px; }
#header.small #siteTitle { width: 313px; height: 60px; background: url("../imgs/logo.webp?ver=20230719") center center/ contain no-repeat; }
#header.small #siteTitle img { width: 100%; opacity: 0; height: 100%; }

#header.small .contact, #header.small .lang { width: 106px; }
#header.small .search { width: 196px; }
#header.small .search { right: 0px; }
#header.small .contact { right: 106px; }
#header.small .search a, #header.small .contact a, #header.small .lang a { height: 60px; padding: 24px 0 0; }
#header.small .search a::before, #header.small .contact a::before, #header.small .lang a::before { top: 50%; left: 50%; transform: translate(-50%, -50%); }
#header.small #searchBox { transform: translateY(-20px); }
#header.small #searchBox.active { transform: translateY(60px); }

@media only screen and (max-width:640px) {
	section#price { padding-top: 0 !important;}
	section#about, section#lesson { padding-bottom: 0 !important;}
	#gNav li.btn { margin-top: 24px;}
#btMenu, #header #gNav .contact { display: block !important; }
#header.small .search { display: none; }
#reserve.foot { display: none; }
#header .inner, #header.small .inner { min-width: 0;
}
#header .inner:after { content: ''; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: #9C958B; }
#siteTitle, #header.small #siteTitle {
width: calc(100vw * 390 / 640);margin: auto 0; left: 0; right: 0; position: relative;
z-index: +1; background: url("../imgs/logo.webp") center center / contain no-repeat; }
#siteTitle img { opacity: 0; }
#gNav, #header.small #gNav { display: block; width: 100%; padding: 0; position: absolute; top: 100%; left: 0; background: var(--color-primary); transform: translateY(-100%); transition: var(--transition-slow); }
#gNav.active, #header.small #gNav.active { transform: translateY(0); }
#gNav ul { display: block; padding: var(--size-50) var(--size-30) var(--size-60);
font-size: var(--size-30);
}
#gNav li { border-bottom: 1px solid var(--color-border-tertiary); }
#gNav li:first-child { border-top: 1px solid var(--color-border-tertiary); }
#gNav a, #header.small #gNav a { color: var(--color-neutral-white); padding: 0 var(--size-30);
border-bottom: none; position: relative; line-height: var(--size-80);
font-size: calc(var(--calc-base) * 23);
}
h1 .image { margin-top: -40px !important; }
#gNav a::after { content: "\f054"; position: absolute; top: 50%; right: var(--size-20);
font-family: Fontawesome; transform: translateY(-50%); }
#header #gNav .contact { display: none; width: auto; margin: calc(100vw * -25 / 640) 0 0;
 padding:0 var(--size-30) var(--size-30);
position: static; background: transparent; overflow: auto; }
#header #gNav .contact a { color: var(--color-primary); height: auto; background: var(--color-neutral-dark); font-size: var(--size-20);
line-height: var(--size-80);
text-align: center; }
#header #gNav .contact a::before { top: 50%; right: var(--size-30);
left: auto; font-size: inherit; transform: translateY(-50%); }
#header #gNav .contact a::after { content: none; }
#header #gNav .search { display: block; width: auto; margin: var(--size-50) 0 0;
padding: var(--size-30);
position: static; background: #31385e; }
#header #gNav .search .input { position: relative; }
#header #gNav .search .input::before { content: "\f002"; display: block; width: var(--size-80);
height: var(--size-100);
position: absolute; top: 0; right: 0; color: var(--color-neutral-white); font-family: Fontawesome; font-size: var(--size-40);
line-height: var(--size-100);
text-align: center; }
#header #gNav .search input[type="text"] { display: block; box-sizing: border-box; width: calc(100vw * 500 / 640);
 height: var(--size-100);
margin: 0; border: none; padding: 0 5px; background: var(--color-neutral-dark); border-radius: calc(100vw * 10 / 640);
color: var(--color-neutral-gray); font-size: 16px; line-height: var(--size-100);
-webkit-appearance: none; appearance: none; outline: none; }
#header #gNav .search input[type="submit"] { display: block; box-sizing: border-box; width: var(--size-80);
height: var(--size-100);
position: absolute; top: 0; right: 0; opacity: 0; cursor: pointer; }

#btMenu { display: none; width: var(--size-100);
height:80px;
position: absolute; top: 0; right: 0; z-index: +1; background: url("../imgs/hdr-menu.png") center center / contain no-repeat; }
#btMenu.active { background-image: url("../imgs/hdr-close.png"); }
#searchBox { display: none; }
#gNav a { margin: 0; }
}
/* main */

#main { padding: 60px 0 0; transition: padding .3s; }
#main article { overflow: hidden; }
#header.small ~ #main { padding-top: 60px; }
#pageHeader { height: 285px; position: relative; color: var(--color-neutral-white); background: #0f1115 url("../imgs/bg-pageTitle.jpg") 50% 0 / cover no-repeat; line-height: 1; font-weight: bold; }
#bar #pageTitle { padding: 100px 0 0px; }
#pageTitle { padding: 70px 0 30px; position: relative; text-align: center; }
#pageTitle .en { padding-top: 50px; color: var(--color-neutral-white); display: block; font-size: 42px; margin-bottom: 10px; }
#pageTitle .ja { display: block; margin: 10px 0 0; font-size: 15px; }
#breadCrumb { position: absolute; left: 20px; bottom: 16px; font-size: 12px; }
#breadCrumb li { display: inline-block; }
#breadCrumb li::after { content: "\f054"; margin: 0 0 0 .5em; font-family: Fontawesome; font-weight: normal; }
#breadCrumb li:last-child::after { content: none; }
#breadCrumb a { color: var(--color-neutral-white); }

@media only screen and (max-width:640px) {
	section{ padding-top: 80px !important; padding-bottom: 80px !important;}
	#instagram { height: 500px !important; display: flex !important; align-items: center;}
	#instagram .inr{ display: contents !important; z-index: 9999;}

#main, #header.small ~ #main { box-sizing: border-box; min-height: calc(100vh - 100vw * 80 / 640);
padding: 80px 0 0;
}
#pageHeader {
height: calc(100vw * 300 / 640); }
#pageHeader::before { content: none; }
#pageTitle { padding: var(--size-40) 0;
}
#pageTitle .en { font-size: calc(100vw * 38 / 640);
}
#pageTitle .ja { margin: calc(100vw * 10 / 640) 0 0;
font-size: calc(100vw * 18 / 640);
}
#breadCrumb { display: none; }
}
.ttl01 { margin: 70px 0 20px; border-bottom: 1px solid var(--color-border-primary); padding: 0 0 28px 34px; position: relative; font-size: 32px; font-weight: bold; line-height: 48px; }
.ttl01::before { content: ''; display: block; width: 4px; height: 40px; position: absolute; top: 4px; left: 0; background: var(--color-neutral-black); }
.ttl02 { border-bottom: 2px solid var(--color-neutral-gray); padding: 0 0 10px; font-size: 20px; font-weight: bold; line-height: 1.5; }
.ttl02 + p { margin: 25px 0 0; }

@media only screen and (max-width:640px) {
.ttl01 { margin: calc(100vw * 46 / 640) 0 calc(100vw * 28 / 640);
 padding: 0 0 calc(100vw * 28 / 640) calc(100vw * 34 / 640);
 font-size: var(--size-32);
 line-height: calc(100vw * 48 / 640);
}
.ttl01::before { width: calc(100vw * 4 / 640);
 height: var(--size-40);
 top: calc(100vw * 4 / 640);
}
.ttl02 { padding: 0 0 calc(100vw * 5 / 640);
 font-size: calc(100vw * 28 / 640);
}
.ttl02 + p { margin: var(--size-25) 0 0;
}.more{ width: 100%;}
}
.more a {font-family: "Arial", "メイリオ"; color: #fff; display: block; box-sizing: border-box; width: auto; height: 56px; width: 100%; margin: 0 auto; padding: 0 10px; border: 1px solid; position: relative; border-radius: 8px; font-size: 15px;  line-height: 56px; text-align: center; text-decoration: none; transition: var(--transition-normal); word-break: break-all;}
#qr .more a{ color: #9C958B;}
 color: #fff; display: block; box-sizing: border-box; width: auto; height: 56px; width: 100%; margin: 0 auto; padding: 0 10px; border: 1px solid; position: relative; border-radius: 8px; font-size: 15px;  line-height: 56px; text-align: center; text-decoration: none; transition: var(--transition-normal); word-break: break-all;}
.more a .fa{ font-size: 22px;    margin-right: .2em;}
#qr .image a{ height: auto;}

@media only screen and (max-width:640px) {
	.inrBox .sns li a {
		font-size: 14px; 
}


	.more.blue a { width: calc(120vw * 290 / 640) !important ;
 height: var(--size-60) !important ;
border-radius: var(--size-30) !important  ;
 font-size: calc(100vw * 21 / 640) !important  ;
 line-height: calc(100vw * 60 / 640 - 2px) !important  ;
}
.more.blue a::after { right: var(--size-30) !important 
	
}}
#mainContentsWrapper { position: relative; }
#mainContentsWrapper::before { content: ''; display: block; width: calc(50% - 497px + 256px); min-width: 266px; position: absolute; top: 0; bottom: 0; left: 0; }
#mainContentsWrapper .wrap { display: flex; position: relative; }

@media only screen and (max-width:640px) {
#mainContentsWrapper::before { content: none; }
#mainContentsWrapper .wrap { flex-direction: column; }
}
#sNav { width: 256px; }
#sNav a { display: block; border-bottom: 1px solid var(--color-border-secondary); padding: 20px 20px 20px 30px; position: relative; color: var(--color-neutral-white); font-size: 13px; line-height: 19px; text-decoration: none; transition: var(--transition-normal); }
#sNav dt a, #sNav dt a:hover { display: block; border-bottom-color: var(--color-neutral-white); padding: 27px 30px; background: var(--color-neutral-black); color: var(--color-neutral-white); }
#sNav a::after { content: "\f105"; position: absolute; top: 50%; right: 14px; font-family: Fontawesome; transform: translateY(-50%); }
#sNav a:hover, #sNav a.active { border-bottom-color: var(--color-border-secondary); background: var(--color-primary); color: var(--color-neutral-white); }

@media only screen and (max-width:640px) {
#sNav { width: 100%; margin: 0 calc(100vw * -30 / 640);
margin-bottom: var(--size-60);
}
#sNav a { font-size: var(--size-24);
line-height: var(--size-35);
}
#sNav dt a, #sNav dt a:hover { padding: var(--size-32) var(--size-30);
}
#sNav .select:after, #sNav a::after {
right: var(--size-30);
font-size: var(--size-30); transform-origin: center; }
#sNav dd a { border-bottom-width: 1px; padding: calc(var(--calc-base) * 22) var(--size-30);
line-height: var(--size-35);
}
#sNav h4 {
padding-left: calc(100vw * 70 / 640) !important; }
#sNav select { font-size: var(--size-24) !important;
}
}
#mainContents { box-sizing: border-box; width: calc(100% - 256px); padding: 74px 0 70px 53px; }
body.index #mainContents { width: auto; padding: 75px 0 90px; background: var(--color-bg-primary); }

@media only screen and (max-width:640px) {
#mainContents, body.index #mainContents { width: auto; padding: var(--size-80) 0;
}
}
#mainContents section + section { margin: 45px 0 0; }
.headline-3 { border-bottom: 1px solid var(--color-neutral-gray); padding: 0 0 32px 32px; position: relative; font-size: 32px; font-weight: bold; line-height: 40px; margin-bottom: 30px; }
.headline-3::before { content: ''; display: block; width: 4px; position: absolute; top: 0; bottom: 32px; left: 0; background: var(--color-neutral-gray); }
#mainContents p { margin: 25px 0 0; text-align: center; font-size: 17px; }
.headline-4 { margin: 25px 0 0; border-bottom: 1px solid var(--color-neutral-light-gray); padding: 0 0 10px; font-size: 22px; line-height: 30px; }
.headline-5 { margin: 25px 0 0; font-weight: bold; position: relative; }
.headline-5 span { display: inline-block; padding: 0 20px 0 0; position: relative; background: var(--color-neutral-lightest-gray); }
.headline-5::before { content: ''; display: block; width: 100%; height: 2px; position: absolute; top: 12px; left: 0; background: var(--color-neutral-lighter-gray); }
.headline-5_2 { margin: 25px 0 0; font-weight: bold; }
.headline-ex { margin: 25px 0 0; font-size: 19px; font-weight: bold; line-height: 29px; }

@media only screen and (max-width:640px) {
#mainContents section + section { margin: var(--size-50) 0 0;
}
.headline-3 { border-bottom-width: 1px; padding: 0 0 var(--size-32) var(--size-32);
 font-size: var(--size-32);
 line-height: calc(100vw * 40 / 640);
}
.headline-3::before { width: 2px; bottom: var(--size-32);
}
#mainContents p { margin: var(--size-25) 0 0;
}
.headline-4 {
 margin: var(--size-25) 0 0; border-bottom-width: 1px; padding: 0 0 var(--size-10);
 font-size: 17px;
 line-height: var(--size-36);
	font-weight: bold;
}
.headline-5 { margin: var(--size-25) 0 0;
}
.headline-5 span { padding: 0 var(--size-20) 0 0;
}
.headline-5::before { height: 1px; top: calc(100vw * 18 / 640);
}
.headline-5_2 { margin: var(--size-25) 0 0;
}
.headline-ex { margin: var(--size-25) 0 0;
 font-size: calc(100vw * 28 / 640);
 line-height: calc(100vw * 36 / 640);
}
}
#mainContents .list { border-left: 2px solid var(--color-neutral-lighter-gray); padding: 6px 0 6px 25px; font-size: 14px }
#mainContents .list li { padding-left: 1em; text-indent: -1em; }
#mainContents .list li::before { content: '・'; }

@media only screen and (max-width:640px) {
#mainContents .list { padding: calc(var(--calc-base) * 3) 0 calc(var(--calc-base) * 3) var(--size-24);
font-size: var(--size-24);
 line-height: calc(100vw * 34 / 640);
}
}
a.button { display: block; width: 188px; padding: 22px 0; position: relative; background: var(--color-neutral-black); border-radius: 4px; color: var(--color-neutral-white); font-weight: bold; text-align: center; text-decoration: none; }
a.button::after { content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }
.group-2button { display: flex; justify-content: space-between; }
.group-2button a.button { width: 330px; }

@media only screen and (max-width:640px) {
a.button { width: auto; padding: calc(100vw * 31 / 640) 0;
 border-radius: calc(100vw * 8 / 640);
}
a.button::after { right: var(--size-20);
}
.group-2button { display: block; }
.group-2button a.button { width: auto; }
.group-2button a.button + a.button { margin: var(--size-25) 0 0;
}
}
a.link-1 { font-weight: bold; }
a.link-2 { display: inline-block; font-weight: bold; }
a.link-2::before { content: "\f105"; display: inline-block; width: 24px; margin: 0 10px 0 0; background: var(--color-neutral-black); border-radius: 50%; color: var(--color-neutral-white); font-family: Fontawesome; font-weight: normal; line-height: 24px; vertical-align: middle; text-align: center; }
a.link-more { display: inline-block; box-sizing: border-box; width: 180px; height: 40px; border: 1px solid var(--color-neutral-lighter-gray); position: relative; border-radius: 20px; color: var(--color-neutral-gray); font-size: 14px; font-weight: bold; line-height: 38px; text-align: center; text-decoration: none; transition: var(--transition-normal); }
a.link-more::after { content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }
a.link-more:hover { border-color: var(--color-neutral-white); background: var(--color-neutral-black); color: var(--color-neutral-white); }

@media only screen and (max-width:640px) {
a.link-2::before { width: var(--size-24);
 margin: 0 calc(100vw * 15 / 640) 0 0;
 line-height: var(--size-24);
}
a.link-more { width: calc(100vw * 270 / 640);
 height: var(--size-60);
border-radius: var(--size-30);
 font-size: calc(100vw * 18 / 640);
 line-height: calc(100vw * 60 / 640 - 2px);
}
a.link-more::after { right: var(--size-30);
}
}
.note { font-size: 12px; line-height: 1.5; }
.note li { padding-left: 1em; text-indent: -1em; }
.note li::before { content: '※'; }
.note.dot li::before { content: '・'; }
.note.dot li { margin-bottom: 1em; }

@media only screen and (max-width:640px) {
.note { font-size: calc(100vw * 18 / 640);
}
}
.table-01, .table-02 { box-sizing: border-box; width: 100%; border-top: 1px solid var(--color-border-primary); border-left: 1px solid var(--color-border-primary); }
.table-01 th, .table-01 td, .table-02 th, .table-02 td { border-right: 1px solid var(--color-border-primary); border-bottom: 1px solid var(--color-border-primary); padding: 16px 10px; color: var(--color-neutral-white); text-align: center; vertical-align: middle; }
.table-01 th, .table-02 th { font-weight: bold; background: #efeff8; }
.table-01 td, .table-02 td { background: var(--color-bg-primary); }
.table-03 { width: 100%; }
.table-03 td { line-height: 2em; }
.table-03 th, .table-03 td { letter-spacing: 1px; padding: 29px 14px; font-size: 14px; list-style: 22px; vertical-align: middle; font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif; }
.table-03 th { font-weight: bold; white-space: nowrap; text-align: center; }
.table-03 tr:nth-child(even) th, .table-03 tr:nth-child(even) td { background: var(--color-border-secondary) }
.table-04 { width: 100%; }
.table-04 th, .table-04 td { border-bottom: 1px dotted var(--color-border-tertiary); color: var(--color-neutral-gray); list-style: 22px; vertical-align: middle; word-break: break-all; }
.table-04 th { padding: 27px 40px 27px 30px; position: relative; font-weight: bold; white-space: nowrap; }
.table-04 th::after { content: ''; display: block; width: 1px; position: absolute; top: 24px; right: 0; bottom: 24px; background: var(--color-border-tertiary); }
.table-04 td { padding: 27px 15px 27px 25px; }
.table-04 tr:first-child th, .table-04 tr:first-child td { border-top: 1px dotted var(--color-border-tertiary); }

@media only screen and (max-width:640px) {
.table-04 th, .table-04 td { display: block; }
.table-04 th { padding-bottom: 10px !important; border-bottom: none !important; }
.table-04 td { padding-top: 0 !important; }
.table-01 th, .table-01 td {
 padding: var(--size-24) 10px;
 font-size: var(--size-20); line-height: 1.5; }
.table-02 th, .table-02 td { padding: calc(100vw * 12 / 640) 10px;
 font-size: calc(100vw * 16 / 640);
}
.table-03 th, .table-03 td {
 padding: var(--size-25) var(--size-30);
 font-size: var(--size-20); list-style: 1.5; vertical-align: middle; }

.table-04 th { font-size:  calc(100vw * 31 / 640);
}
.table-04 td { font-size: var(--size-25);
}
.table-04 th { padding: var(--size-30) var(--size-30) var(--size-30) var(--size-20);
}
.table-04 th::after { top: var(--size-40);
bottom: var(--size-40);
}
.table-04 td { padding: var(--size-30) var(--size-20) var(--size-30) var(--size-30);
}
}
hr { display: block; width: 100%; height: 1px; border: none; background: var(--color-neutral-lighter-gray); }
#mainContents table, #mainContents .list, #mainContents .note, .colGroup { margin: 30px 0 0; }

@media only screen and (max-width:640px) {
hr { background: var(--color-border-primary); }
#mainContents table, #mainContents .list, #mainContents .note, .colGroup { margin: var(--size-30) 0 0;
}
}
.col2-image-text_1 .row, .col2-image-text_2 .row, .col3 .row, .col2 .row, .col4 .row { display: flex; justify-content: space-between; }
.col2-image-text_1 .row + .row, .col2-image-text_2 .row + .row { margin: 30px 0 0; }
.col2-image-text_1 .row:nth-child(even) { flex-direction: row-reverse; }
.col2-image-text_1 .image { width: 309px; }
.col2-image-text_1 .text { width: 340px; }
#mainContents .col2-image-text_1 .text p, #mainContents .col2-image-text_2 .text p { margin: 0; }
.col2-image-text_2 .image { width: 170px; }
.col2-image-text_2 .text { width: 479px; }
.col3 .col { width: 210px; }
.col2 .col { width: 330px; }
.col3 .text, .col2 .text { margin: 10px 0 0; }
#mainContents .col3 .text p, #mainContents .col2 .text p { margin: 0; font-size: 14px; line-height: 20px; }

@media only screen and (max-width:640px) {
.col2-image-text_1 .row, .col2-image-text_2 .row, .col3 .row, .col2 .row { display: block; }
.col2-image-text_1 .row + .row, .col2-image-text_2 .row + .row { margin: var(--size-30) 0 0;
}
.col2-image-text_1 .image, .col2-image-text_2 .image { width: auto; }
.col2-image-text_1 .text, .col2-image-text_2 .text { width: auto; margin: var(--size-20) 0 0;
}
.col3 .col, .col2 .col { width: auto; }
.col3 .col + .col, .col2 .col + .col { margin: var(--size-20) 0 0;
}
.col3 .text, .col2 .text { margin: calc(100vw * 15 / 640) 0 0;
}
#mainContents .col3 .text p, #mainContents .col2 .text p {
 font-size: var(--size-24); line-height: 1.6; }
}
#mainContents .menu01 .wrap { display: flex; justify-content: space-between; }
#mainContents .menu01 .wrap > dl { width: calc(100% * 310 / 994);
}
#mainContents .menu01 .wrap > dl > dt { margin: 0 0 30px; border-bottom: 2px solid var(--color-neutral-gray); padding: 64px 0 14px; font-size: 18px; font-weight: bold; line-height: 1; text-align: center; }
#mainContents .menu01 .wrap > dl > dd { margin: 10px 0 0; font-size: 14px; line-height: 20px; }
#mainContents .menu01 .wrap > dl > dd.important { margin-top: 15px; border: 1px solid var(--color-border-primary); padding: 9px 0; }
#mainContents .menu01 a { display: inline-block; padding: 0 0 0 1em; text-decoration: none; text-indent: -1em; }
#mainContents .menu01 a::before { content: '・'; }

@media only screen and (max-width:640px) {
#mainContents .menu01 .wrap { display: block; }
#mainContents .menu01 .wrap > dl { width: auto; }
#mainContents .menu01 .wrap > dl + dl { width: auto; margin: var(--size-30) 0 0;
}
#mainContents .menu01 .wrap > dl > dt { margin: 0 0 var(--size-20);
 font-size: var(--size-24);
}
#mainContents .menu01 .wrap > dl > dd {
 margin: calc(100vw * 10 / 640) 0 0; font-size: inherit; line-height: inherit; }
#mainContents .menu01 .wrap > dl > dd.important { margin-top: calc(100vw * 15 / 640);
 padding: calc(100vw * 10 / 640) 0;
}
}

#mainContents .news { margin: 70px 0 0; }
#mainContents .news .title { font-size: 18px; font-weight: bold; line-height: 1; }
#mainContents .news dl { display: flex; margin: 30px 0 0; border-bottom: 1px solid var(--color-border-primary); flex-wrap: wrap; }
#mainContents .news dt, #mainContents .news dd { border-top: 1px solid var(--color-border-primary); padding: 15px 0; color: var(--color-neutral-white); font-size: 14px; line-height: 20px; }
#mainContents .news dt { width: 140px; padding-left: 45px; font-weight: bold; }
#mainContents .news dd { width: calc(100% - 185px); }

@media only screen and (max-width:640px) {
#mainContents .news { margin: var(--size-50) 0;
}
#mainContents .news .title { font-size: var(--size-24);
}
#mainContents .news dl { display: block; margin: var(--size-20) 0 0;
}
#mainContents .news dt, #mainContents .news dd { width: auto; font-size: var(--size-24);
 line-height: calc(100vw * 36 / 640);
}
#mainContents .news dt { font-weight: bold; padding: var(--size-30) 0 0;
}
#mainContents .news dd { border-top: none; padding: 0 0 var(--size-30);
}
}
#mainContents .banner { background: var(--color-bg-accent); padding: 55px 0; position: relative; }
#mainContents .banner .wrap { width: 1200px; }
#mainContents .banner .bx-prev, #mainContents .banner .bx-next { display: block; width: 40px; height: 40px; position: absolute; top: 50%; background: var(--color-bg-primary); line-height: 40px; text-align: center; transform: translateY(-50%); text-decoration: none; }
#mainContents .banner .bx-prev { left: 0; }
#mainContents .banner .bx-next { right: 0; }
#mainContents .banner .bx-prev::after, #mainContents .banner .bx-next::after { color: var(--color-neutral-white); font-family: Fontawesome; font-size: 12px; }
#mainContents .banner .bx-prev::after { content: "\f053"; }
#mainContents .banner .bx-next::after { content: "\f054"; }

@media only screen and (max-width:640px) {
#mainContents .banner { padding: var(--size-50) 0;
}
.common #bar { padding: 0; }
#mainContents .banner .wrap { width: auto; }
#mainContents .banner .bx-prev, #mainContents .banner .bx-next { display: block; width: 40px; height: 40px; position: absolute; top: 50%; background: #0a0c11; line-height: 40px; text-align: center; transform: translateY(-50%); text-decoration: none; }
}
#mainContents .menu02 { margin: 70px 0 0; }
#mainContents .menu02 .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#mainContents .menu02 ul { display: flex; justify-content: space-between; }
#mainContents .menu02 li {
 width: calc(100% * 515 / 1066); background: var(--color-bg-primary); text-align: center; }
#mainContents .menu02 .ttl a { display: block; position: relative; }
#mainContents .menu02 .ttl .text { display: block; width: 100%; padding: 7px 0 0; position: absolute; top: 50%; left: 0; color: var(--color-neutral-white); font-size: 18px; font-weight: bold; line-height: 38px; transform: translateY(-50%); }
#mainContents .menu02 .ttl .text span { display: block; }
#mainContents .menu02 .description { padding: 35px 0 45px; position: relative; }
#mainContents .menu02 .description .text { color: #103655; }
#mainContents .menu02 .description .text span { display: inline-block; vertical-align: middle; }
#mainContents .menu02 .more { margin: 15px; }
#mainContents .menu02 .more a { border-color: var(--color-neutral-lighter-gray); color: var(--color-neutral-gray); }
#mainContents .menu02 .more a:hover { border-color: var(--color-neutral-white); background: var(--color-neutral-black); color: var(--color-neutral-white); }

@media only screen and (max-width:640px) {
#mainContents .menu02 { margin: var(--size-35) 0 0;
}
#mainContents .menu02 .wrap { min-width: 0; }
#mainContents .menu02 ul { display: block; }

#mainContents .menu02 li + li { margin: var(--size-30) 0 0;
}
#mainContents section + section { margin: 0; }
#mainContents .menu03.firststart ul li { margin: 0 !important; }
#mainContents .menu02 .ttl .text { font-size: var(--size-24);
 line-height: var(--size-44);
}
#mainContents .menu02 .description {
 padding: var(--size-55) 0; position: relative; }
#mainContents .menu02 .description .text::before { content: none; }
#mainContents .menu02 .more { margin: var(--size-40) 0 0;
}
}
#mainContents .menu03 { margin: 35px 0 0; }
#mainContents .menu03 .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#mainContents .menu03 ul { display: flex; justify-content: space-between; }
#mainContents .menu03 li {
 width: calc(100% * 330 / 1066); background: var(--color-bg-primary); }
#mainContents .menu03 a { display: block; color: #103655; text-decoration: none; }
#mainContents .menu03 .text { padding: 30px 30px 50px; font-size: 14px; }
#mainContents .menu03 .label { margin: 0 0 5px; font-weight: bold; }

@media only screen and (max-width:640px) {
#mainContents .menu03 { margin: var(--size-35) 0 0;
padding: var(--size-30) 0 var(--size-35);
}
#mainContents .menu03 .wrap { min-width: 0; }
#mainContents .menu03 ul { display: block; }
#mainContents .menu03 li { width: auto; }
#mainContents .menu03 li + li { margin: var(--size-30) 0 0;
}
#mainContents .menu03 .image img { width: 100%; }
#mainContents .menu03 .text { padding: var(--size-40) var(--size-35);
font-size: var(--size-24);
 line-height: calc(100vw * 36 / 640);
}
#mainContents .menu03 .label { margin: 0 0 calc(100vw * 10 / 640);
}
}
/* footer */

#ftrContact { padding: 60px 0; background: url("../imgs/bg-ftrContact.jpg") no-repeat center center; background-size: cover; color: var(--color-neutral-white); }
#ftrContact .wrap { display: flex; align-items: flex-start; justify-content: center; }
#ftrContact .text { font-size: 14px; line-height: 24px; }
#ftrContact .text .label { margin: 0 0 15px; font-size: 24px; font-weight: bold; line-height: 2em; }
#ftrContact .contact { width: 209px; margin: 0 0 0 36px; }
#ftrContact .tel { width: 480px; box-sizing: border-box; margin: 12px 0 0 36px; }
#ftrContact .contact { background: var(--color-secondary); border-radius: 100px; }
#ftrContact .contact a { display: block; padding: 13px 0; position: relative; font-size: 15px; text-align: center; text-decoration: none; color: var(--color-neutral-white); }
#ftrContact .contact a::after { content: "\f054"; position: absolute; top: 50%; right: 27px; font-weight: bold; font-family: Fontawesome; transform: translateY(-50%); }
#ftrContact .tel a { display: block; box-sizing: border-box; height: 72px; color: var(--color-neutral-white); line-height: 1; text-decoration: none; ; }
#ftrContact .tel .label { display: block; font-size: 14px; }
#ftrContact .tel .number { display: block; margin: 5px 0 0; font-size: 26px; font-weight: bold; }

@media only screen and (max-width:640px) {
#ftrContact { padding: var(--size-60) 0 calc(var(--calc-base) * 65);
}
#ftrContact .wrap { display: block; min-width: 0; }
#ftrContact .text { width: auto; font-size: var(--size-20);
 line-height: var(--size-32);
text-align: left; }
#ftrContact .text .label { margin: 0 0 var(--size-20);
 font-size: var(--size-24);
}
#ftrContact .contact, #ftrContact .tel { width: auto; }
#ftrContact .contact { width: var(--size-434);
 margin: var(--size-35) auto 0;
 border-radius: calc(100vw * 5 / 640);
}
#ftrContact .contact a { padding: 0; font-size: var(--size-24);
line-height: var(--size-100);
}
#ftrContact .contact a::before { left: var(--size-40);
}
#ftrContact .tel { width: var(--size-434);
 margin: var(--size-40) auto 0;
}
#ftrContact .tel a { display: block; height: auto;
pointer-events: auto; }
#ftrContact .tel .label { font-size: calc(100vw * 18 / 640);
}
#ftrContact .tel .number { margin: calc(100vw * 10 / 640) 0 0;
 font-size: var(--size-36);
}
}
#ftrBanner { display: none; padding: 50px 0; }
#top #ftrBanner { display: block; }
#ftrBanner .wrap { width: auto; max-width: 1200px; min-width: 1000px; }
#ftrBanner .list { display: flex; justify-content: space-between; }
#ftrBanner .list li { width: calc(100% * 273 / 1200);
}
#ftrBanner .pager { display: none; }
.dispPc { display: block; }
.dispSp { display: none; }

@media only screen and (max-width:640px) {
.dispPc { display: none; }
.dispSp { display: block; }
.dispSp a { display: block; margin: 0 auto !important; }
.dispSp a img { margin: 0 auto; display: block; }
img.dispSp { margin-bottom: 2em !important; }
}

@media only screen and (max-width:640px) {
#ftrSiteMap .text dl { padding-left: 0 !important; margin-bottom: 0 !important; }
#ftrSiteMap .text.info { width: auto !important; }
#ftrSiteMap .text.info { text-align: center !important; }
#ftrSiteMap .text.info img { margin: 20px 0; display: inline-block; width: var(--size-320);
}
#ftrBanner { padding: var(--size-50) 0;
}
#ftrBanner .wrap { min-width: 0; position: relative; }
#ftrBanner .inner { overflow: hidden; }
#ftrBanner .list {
 width: calc(100vw * 1228 / 640); justify-content: flex-start; transform: translateX(0); transition: .5s; }
#ftrBanner .list li { width: calc(100vw * 273 / 640);
 margin: 0 calc(100vw * 34 / 640) 0 0;
}
#ftrBanner .pager { display: block; }
#ftrBanner .pager li {
 width: var(--size-30);
height: var(--size-30); position: absolute; top: 50%; background: #bfbfbf; line-height: var(--size-30);
text-align: center; transform: translateY(-50%); }
#ftrBanner .pager .prev { left: 0; }
#ftrBanner .pager .next { right: 0; }
#ftrBanner .pager li::after { color: var(--color-neutral-white); font-family: Fontawesome; font-size: var(--size-24);
}
#ftrBanner .pager .prev::after { content: "\f104"; }
#ftrBanner .pager .next::after { content: "\f105"; }
}
#ftrSiteMap ul { display: flex; margin-bottom: 20px; }
#ftrSiteMap { padding: 105px 0 35px; background: var(--color-border-secondary); color: var(--color-neutral-white);}
#ftrSiteMap .wrap { display: flex; width: auto; flex-direction: column; justify-content: center; align-items: center; }
}
#ftrSiteMap .inr { display: flex; justify-content: space-between; }
#ftrSiteMap .inr { width: calc(100% * 340 / 1200);
}
#ftrSiteMap .text.info {margin-bottom: 60px; }
#ftrSiteMap ul { margin-bottom: 40px !important; }
#ftrSiteMap .wrap > dl, #ftrSiteMap ul { font-size: 14px; line-height: 24px; }
#ftrSiteMap .wrap > dl dt, #ftrSiteMap li { padding: 0 0 2px 1em; }
#ftrSiteMap .wrap > dl dt::before, #ftrSiteMap li::before { content: '・'; display: none; }
#ftrSiteMap .wrap > dl dd { padding: 0 0 0 25px; }
#ftrSiteMap a {text-decoration: none; white-space: nowrap; font-size: 18px; }
#ftrSiteMap .sns a { color: var(--color-primary); text-decoration: none; white-space: nowrap; text-align: center !important; }
#ftrSiteMap .text dl { display: flex; margin: 0; padding: 2px 0 0; font-size: 14px; line-height: 20px; }
#ftrSiteMap .text dt { width: 55px; }
#ftrSiteMap .text .contact { max-width: 229px; margin: 0px 10px 10px 0px; }
#ftrSiteMap .text .contact a { display: block; border: 1px solid var(--color-neutral-white); border-radius: 2px; padding: 9px 5px; font-size: 13px; line-height: 20px; text-align: center; }
#ftrSiteMap ul.sns { margin: 0 !important; }

@media only screen and (max-width:640px) {
#ftrSiteMap .text.info { display: block; }
#ftrSiteMap { padding: 0; }
#ftrSiteMap .wrap { overflow: hidden; display: block; min-width: 0; padding: var(--size-40) var(--size-20) var(--size-40) var(--size-20);
}
#ftrSiteMap .wrap > dl, #ftrSiteMap ul, #ftrSiteMap .text { width: auto; }
#ftrSiteMap .wrap > dl, #ftrSiteMap ul { font-size: calc(100vw * 20 / 640);
line-height: var(--size-80);
}
#ftrSiteMap .wrap > dl dt, #ftrSiteMap li { border-right: none !important; }
#ftrSiteMap .wrap > dl dt, #ftrSiteMap li { box-sizing: border-box; width: 50%; border-right: 1px solid #128256; border-bottom: 1px solid var(--color-neutral-white); padding: 0; float: left; text-indent: 0; }
#ftrSiteMap li:nth-child(odd) { border-right: none; }
#ftrSiteMap .wrap > dl dt::before, #ftrSiteMap li::before { content: none; }
#ftrSiteMap .wrap > dl dd { display: none; }
#ftrSiteMap dt a, #ftrSiteMap li a { display: block; padding: 0 0 0 var(--size-25);
}
#ftrSiteMap .text { margin: 0 !important; padding: 10px 0 0 0; clear: both; display: flex; justify-content: space-between; }
#ftrSiteMap .text .contact { width: var(--size-320);
}
#ftrSiteMap .inr { display: flex; clear: both; padding-top: var(--size-20);
}
#btPageTop { bottom: 70px !important; }
#ftrSiteMap .text dl { margin: 0 0 var(--size-40);
 padding: 0 0 0 calc(100vw * 85 / 640);
 font-size: var(--size-24);
 line-height: var(--size-32);
}
#ftrSiteMap .text dt { width: calc(100vw * 95 / 640);
}
#ftrSiteMap .text .contact { max-width: none; margin:  calc(100vw * 15 / 640) calc(100vw * 15 / 640) 0;
}
#ftrSiteMap .text .contact a { padding: var(--size-20) 5px;
 font-size: calc(100vw * 24 / 640);
 line-height: calc(100vw * 32 / 640);
}
}
#copyright { padding: 0 0 20px 0; font-size: 12px; line-height: 20px; text-align: center; background: var(--color-border-secondary); color: var(--color-neutral-white); letter-spacing: 2px; }

@media only screen and (max-width:640px) {
#copyright {
 padding: calc(100vw * 30 / 640) 0 calc(60vw * 30 / 640) 0;
 font-size: var(--size-20); line-height: 1; }
}
#btPageTop { position: fixed; right: 20px; bottom: 20px; transition: .3s; }
#btPageTop.off, #reserve.foot.off { opacity: 0; }
.btAccess a, .btTel a, .btReserve a { display: none; }

@media only screen and (max-width:640px) {
.btAccess a, .btTel a, .btReserve a { text-decoration: none; display: block; width: calc(100vw * 160 / 640);
height: calc(100vw * 80 / 640);
position: absolute; top: 0; z-index: +1; background: var(--color-secondary-dark); border-right: solid 1px var(--color-primary-dark); color: var(--color-neutral-white); text-align: center; font-size: calc(100vw * 18 / 640);
}
.btAccess a::before, .btTel a::before, .btReserve a::before { font-family: Fontawesome; display: block; font-size: calc(100vw * 30 / 640);
}
.btAccess a { right:calc(100vw * 80 / 640);
}
.btAccess a::before { content: "\f041"; }
.btTel a { right:calc(100vw * 240 / 640);
}
.btTel a::before { content: "\f095"; }
.btReserve a { right:calc(100vw * 400 / 640);
}
.btReserve a::before { content: "\f002"; }
}
/*******************************
  top
*******************************/

#top #mainImage { position: relative; overflow: hidden; z-index: 0; margin-top: -60px; }
#top #mainImage ul.slider { z-index: 1; width: 100%; background: var(--color-bg-primary); }
#top #mainImage ul.slider li { background: var(--color-bg-primary); }
#top #mainImage ul.slider, .bx-wrapper, .bx-viewport { min-height: 100%; height: 100%; }
#top #mainImage ul.slider li { width: 100%; height: 100%; background-size: cover !important; background-position: center center !important; }
#top #mainImage .catch01, #top #mainImage .catch02 { position: absolute; top: 50%; right: 0; transform: translateY(-50%); text-align: center; z-index: 2; }
#top #mainImage .catch01 { width: 100%; }
#top #mainImage .catch02 { width: 50%; right: 50%; }
#top #mainImage .catch02 li { width: 100%; position: absolute; top: 0; left: 0; opacity: 0; transition: transform .5s; transform: translateX(-100%); }
#top #mainImage .catch02 li.active { opacity: 1; transform: translateX(0); }
#top #mainImage .catch02 li.old { opacity: 1; transform: translateX(200%); }
#top #mainImage .catch02 li:first-child { position: relative; }

@media only screen and (max-width:640px) {
#top #mainImage { min-width: 0; background-attachment: scroll; }
}
#top #news01 dl { display: flex; border-bottom: 1px solid var(--color-neutral-white); flex-wrap: wrap; margin-bottom: 40px; }
#top #news01 dl a { color: var(--color-neutral-white); }
#top #news01 dt, #top #news01 dd { border-top: 1px solid var(--color-neutral-white); padding: 15px 0; color: var(--color-neutral-white); font-size: 14px; line-height: 20px; }
#top #news01 dt { width: 140px; padding-left: 45px; }
#top #news01 dd { width: calc(100% - 185px); }

@media only screen and (max-width:640px) {
#top #news01 { padding: calc(100vw * 50 / 640) 0;
}
#top #news01 dl { display: block; }
#top #news01 dt, #top #news01 dd { width: auto; font-size: calc(100vw * 24 / 640);
 line-height: calc(100vw * 36 / 640);
}
#top #news01 dt { font-weight: bold; padding: calc(100vw * 30 / 640) 0 0;
}
#top #news01 dd { border-top: none; padding: 0 0 calc(100vw * 30 / 640);
}
}
#top #reason01 { margin: 0; padding: 50px 0 70px; background: var(--color-bg-secondary); }
#top #reason01 .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#top #reason01 ol { display: flex; margin: 45px 0 0; justify-content: space-between; }
#top #reason01 li {
 width: calc(100% * 376 / 1200); position: relative; }
#top #reason01 a { display: block; position: relative; overflow: hidden; color: var(--color-neutral-white); font-size: 14px; line-height: 20px; text-decoration: none; }
#top #reason01 .text { font-weight: bold; box-sizing: border-box; width: 100%; height: 100%; padding: 0 45px; position: absolute; top: 100%; left: 0; background: var(--color-neutral-gray); transform: translateY(-52px); transition: var(--transition-normal); }
#top #reason01 .label { font-weight: bold; margin: 0 0 5px; padding: 12px 0; font-size: 18px; font-weight: bold; line-height: 28px; text-align: center; }
#top #reason01 a:hover .text { padding: 25px 45px 0; transform: translateY(-100%); }

@media only screen and (max-width:640px) {
#top #reason01 .text { position: inherit !important; font-size: var(--size-25)
}
.p-index-kv__title-in { letter-spacing: 0px !important; }
.p-index-kv__title-wrap, .p-index-kv__title-in { font-size: calc(100vw * 30 / 640) !important;
}


.menuA { margin: 0 !important; padding: calc(100vw * 40 / 640) 0;
}
.menuA li { width: auto !important; margin-bottom: var(--size-20) !important;
}
#top #reason01 { margin-bottom: 0 !important; }
#top #reason01 { margin: 0 0 calc(100vw * 30 / 640);
padding: calc(100vw * 50 / 640) 0 calc(100vw * 40 / 640);
}
#top #reason01 li .image { height: auto; }
#top #reason01 .wrap { min-width: 0; }
#top #reason01 .ttl img { width: calc(100vw * 220 / 640);
}
#top #reason01 .ttl .ja { margin: var(--size-20) 0 0;
}
#top #reason01 ol { display: block; margin: calc(100vw * 60 / 640) 0 0;
}
#top #reason01 ol + ol { margin: calc(100vw * 40 / 640) 0 0;
}
#top #reason01 li { width: auto !important; margin: calc(100vw * 40 / 640) 0 0;
}
#top #reason01 li:after {
 width: calc(100vw * 88 / 640);
 height: calc(100vw * 53 / 640); position: absolute; top: calc(100vw * -27 / 640);
 right: calc(100vw * 30 / 640);
background: 0 0 / contain no-repeat; }
#top #reason01 a { display: block; position: relative; color: var(--color-neutral-white); font-size: 14px; line-height: 20px; text-decoration: none; overflow: visible !important; }
#top #reason01 .text { padding: 2em !important; margin-top: -50px !important; transform: none; }
#top #reason01 .label { margin: 0; padding: 0; font-size: calc(100vw * 32 / 640);
 line-height: calc(100vw * 80 / 640);
}
#top #reason01 a:hover .text { padding: 0; transform: none; }
}
.bg1 h2.ttl::after { background: var(--color-bg-primary); }

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

#top #reason01 li .image img { width: 100%; }
.menuA li { margin: 0 auto 30px !important; }

.bg1 .copy1 br { display: none; }

}
#top #reason02 { display: none; margin: 0 0 75px; padding: 60px 0 65px; background: var(--color-neutral-black); background: -webkit-linear-gradient(45deg, var(--color-success) 0%, var(--color-neutral-black) 100%); background: linear-gradient(45deg, var(--color-success) 0%, var(--color-neutral-black) 100%); color: var(--color-neutral-white); }
#top.visited #reason02 { display: block; }
#top #reason02 .wrap { display: flex; width: auto; max-width: 1200px; min-width: 1000px; justify-content: space-between; }
#top #reason02 .ttl {
 width: calc(100% * 288/ 1200); text-align: center; }
#top #reason02 .ttl .ja { margin: 15px 0 0; display: block; }
#top #reason02 ol { display: flex; width: calc(100% * 890 / 1200);
justify-content: space-between; }
#top #reason02 li {
 width: calc(100% * 273 / 890); background: rgba(255,255,255,.8); border-radius: 5px; }
#top #reason02 a { display: block; box-sizing: border-box; height: 120px; padding: 70px 0 0; position: relative; background: 50% 25px no-repeat; font-size: 18px; font-weight: bold; line-height: 1; text-align: center; text-decoration: none; }
#top #reason02 a::before, #top #reason02 a::after { content: ''; display: block; height: 1px; position: absolute; top: 38px; background: var(--color-neutral-black); }
#top #reason02 a::before { left: 40px; right: 172px; }
#top #reason02 a::after { left: 172px; right: 40px; }

@media only screen and (max-width:640px) {
#top #reason02 { margin: 0 0 calc(100vw * 30 / 640);
padding: calc(100vw * 50 / 640) 0 calc(100vw * 40 / 640);
}
#top #reason02 .wrap { display: block; min-width: 0; }
#top #reason02 .ttl { width: auto; text-align: center; }
#top #reason02 .ttl img { width: calc(100vw * 220 / 640);
}
#top #reason02 .ttl .ja { margin: calc(100vw * 20 / 640) 0 0;
 font-size: calc(100vw * 24 / 640);
}
#top #reason02 ol { display: block; width: auto; margin: calc(100vw * 60 / 640) 0 0;
}
#top #reason02 li { width: auto; margin: calc(100vw * 40 / 640) 0 0;
 border-radius: calc(100vw * 10 / 640);
}
#top #reason02 a {
 height: calc(100vw * 240 / 640);
 padding: calc(100vw * 140 / 640) 0 0; position: relative; background: 50% calc(100vw * 50 / 640) / calc(100vw * 50 / 640) no-repeat;
 font-size: calc(100vw * 28 / 640);
}
#top #reason02 a::before, #top #reason02 a::after { top: calc(100vw * 62 / 640);
}
#top #reason02 a::before { left: 10%; right: 58%; }
#top #reason02 a::after { left: 58%; right: 10%; }
}
#top h2.ttl { position: relative; padding-bottom: 2em; margin-bottom: 2em; }

#top #service .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#top #service ul { display: flex; justify-content: space-between; }
#top #service li {
 width: calc(100% * 515 / 1066); background: var(--color-bg-primary); text-align: center; }
#top #service .ttl { position: relative; }
#top #service .ttl .text { width: 100%; position: absolute; top: 50%; left: 0; color: var(--color-neutral-white); font-size: 18px; font-weight: bold; line-height: 38px; transform: translateY(-50%); }
#top #service .description { padding: 40px 0 55px; position: relative; }
#top #service .label { padding: 0; position: relative; color: var(--color-neutral-white); font-size: 24px; font-weight: bold; line-height: 1; }

#top #service .description .text span { font-size: 22px; display: inline-block; text-align: center; margin: 0; padding: 0; letter-spacing: 0 !important; font-weight: bold; }
#top #service .more { margin: 25px 0 0; }
#top #service .more a { border-color: var(--color-neutral-lighter-gray); color: var(--color-neutral-gray); }
#top #service .more a:hover { border-color: var(--color-neutral-white); background: var(--color-neutral-black); color: var(--color-neutral-white); }


@media only screen and (max-width:640px) {
#top #service .menu03 li { margin-right: 0 !important; }
#top #service { padding: calc(100vw * 35 / 640) calc(100vw * 30 / 640);
}
#top #service .wrap { padding: 0; }
p.ttl-tx br { display: none; }
#top #service .wrap { min-width: 0; }
#top #service ul { display: block; }
#top #service li { width: auto; }
#top #service li + li { margin: calc(100vw * 100 / 640) 0;
}
#top #service .ttl .text { font-size: calc(100vw * 24 / 640);
line-height: calc(100vw * 44 / 640);
}
#top #service .description .text span { font-size: calc(100vw * 30 / 640);
}
.menu03 li { width: auto !important; }
#top #service .description {
padding: calc(100vw * 55 / 640) 0; position: relative; }
#top #service .label { padding: 0 0 calc(100vw * 25 / 640);
font-size: calc(100vw * 28 / 640);
}
#top #service .label::after { width: calc(100vw * 60 / 640);
}
#top #service .description .text { margin: calc(100vw * 25 / 640) 0 0;
}
#top #service .description .text::before { content: none; }
#top #service .more { margin: calc(100vw * 40 / 640) 0 0;
}

}
#top #topic { padding: 70px 0; background: var(--color-bg-tertiary); }
#top #topic .wrap { width: auto; max-width: 1200px; min-width: 1000px; }
#top #topic ul { display: flex; justify-content: space-between; }
#top #topic li {
 width: calc(100% * 376 / 1200); background: var(--color-bg-primary); }
#top #topic a { display: block; color: var(--color-neutral-gray); text-decoration: none; }
#top #topic .text { padding: 30px 35px 60px; font-size: 14px; }
#top #topic .label { margin: 0 0 15px; font-weight: bold; }

@media only screen and (max-width:640px) {
#top #topic { padding: calc(100vw * 30 / 640) 0 calc(100vw * 35 / 640);
}
#top #topic .wrap { min-width: 0; }
#top #topic ul { display: block; }
#top #topic li { width: auto; }
#top #topic li + li { margin: calc(100vw * 30 / 640) 0 0;
}
#top #topic .text { padding: calc(100vw * 40 / 640) calc(100vw * 35 / 640);
 font-size: calc(100vw * 24 / 640);
 line-height: calc(100vw * 36 / 640);
}
#top #topic .label { margin: 0 0 calc(100vw * 10 / 640);
}
}
#top #news02 { padding: 80px 0 120px; }
#top #news02 .wrap { display: flex; width: auto; max-width: 1200px; min-width: 1000px; justify-content: space-between; }
#top #news02 .text { width: calc(100% - 412px); }
#top #news02 .ttl { border-bottom: 2px solid var(--color-neutral-gray); padding: 0 0 20px; font-size: 18px; font-weight: bold; line-height: 1; }
#top #news02 dl { display: flex; border-bottom: 1px solid var(--color-neutral-lighter-gray); flex-wrap: wrap; }
#top #news02 dt, #top #news02 dd { border-top: 1px solid var(--color-neutral-lighter-gray); padding: 40px 0 15px; font-size: 14px; }
#top #news02 dt:first-child, #top #news02 dt:first-child + dd { border-top: none; }
#top #news02 dt { width: 280px; position: relative; }
#top #news02 dd { width: calc(100% - 280px); }
#top #news02 dt::after { display: block; width: 120px; position: absolute; top: 40px; right: 30px; border-radius: 13px; color: var(--color-neutral-white); font-size: 12px; text-align: center; }
#top #news02 dt.news01::after { content: 'お知らせ'; background: var(--color-neutral-black); }
#top #news02 dt.news02::after { content: '重要なお知らせ'; background: var(--color-neutral-black); }
#top #news02 .more { margin: 75px 0 0; }
#top #news02 .more a { border-color: var(--color-neutral-lighter-gray); color: var(--color-neutral-gray); }
#top #news02 .more a:hover { border-color: var(--color-neutral-white); background: var(--color-neutral-black); color: var(--color-neutral-white); }
#top #news02 .facebook { width: 376px; }

@media only screen and (max-width:640px) {
#top #news02 { padding: calc(100vw * 65 / 640) 0 calc(100vw * 100 / 640);
}
#top #news02 .wrap { display: block; min-width: 0; }
#top #news02 .text { width: auto; }
#top #news02 .ttl { padding: 0 0 calc(100vw * 20 / 640);
 font-size: calc(100vw * 30 / 640);
}
#top #news02 dl { display: block; }
#top #news02 dt, #top #news02 dd { font-size: calc(100vw * 24 / 640);
}
#top #news02 dt { width: auto; padding: calc(100vw * 30 / 640) 0 0;
font-weight: bold; line-height: calc(100vw * 30 / 640);
}
#top #news02 dd { width: auto; border-top: none; padding: calc(100vw * 10 / 640) 0 calc(100vw * 20 / 640);
 line-height: calc(100vw * 36 / 640);
}
#top #news02 dt::after { display: inline-block; width: calc(100vw * 180 / 640);
 margin: 0 0 0 calc(100vw * 20 / 640);
position: static; border-radius: calc(100vw * 15 / 640);
 font-size: calc(100vw * 18 / 640);
font-weight: normal; }
#top #news02 .more { margin: calc(100vw * 45 / 640) 0 0;
}
#top #news02 .facebook {
 margin: calc(100vw * 55 / 640) 0 0; width: auto; }
}

/* 追加 */
#main label input[type=checkbox] { position: absolute; top: 50%; left: 0; transform: translateY(-50%); opacity: 0; }
#main label input[type=checkbox] + .check { display: block; box-sizing: border-box; width: 18px; height: 18px; border: 1px solid var(--color-neutral-lighter-gray); position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
#main label input[type=checkbox]:checked + .check::after { content: ''; display: block; width: 10px; height: 10px; position: absolute; top: 50%; left: 3px; z-index: 9999; background: var(--color-neutral-gray); transform: translateY(-50%); }
#main textarea { width: 100%; max-width: 100%; min-width: 100%; height: 200px; }
#main textarea { display: inline-block; box-sizing: border-box; border: none; padding: 10px 16px; background: var(--color-bg-secondary); outline: none; border-radius: 4px; line-height: 24px; vertical-align: middle; }
#main .child { padding: 0 0 0 24px; }
#main input[type=text] + input[type=text] { margin-top: 15px; }
p.caution { color: var(--color-error); line-height: 1.5; padding: 0 0 10px; font-size: 20px; }
.error_msg { padding: 45px 65px 60px; background: var(--color-bg-primary); margin-top: 70px; text-align: center; }
#main dd .note01 + label { margin-top: 1em; }
#main ul.note { padding: 1em 0; }
#main ul.note li { padding: 0; text-indent: -1em; line-height: 1.8em; }
#main .form-group { padding: 1em 0; }
#main p + .note { padding-left: 1em; line-height: 18px; text-indent: -1em; }
#main p + .note li { font-size: 13px !important; }
#main p + .note01 { margin: 8px 0 14px!important; }
#main input.birthday { width: 120px; }
#main input.birthday + span { padding: 0 0.3em; }
.note.big li { letter-spacing: 0; font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif; font-size: 15px; line-height: 23px; text-align: left; }

@media only screen and (max-width: 640px) {
#main dt br { display: none; }
.error_msg br { display: none; }
.error_msg { text-align: left; }
#main label input[type=checkbox] + .check { top: 15px; }
#main label input[type=checkbox] { top: 15px; }
#main label input[type=radio] + .check { top: 15px; }
#main label input[type=radio] { top: 15px; }
#main label { line-height: 30px; }
.error_msg { margin-top: 30px; }
#main input.birthday { width: calc((100% - 110px) / 3); }
}
h2.ttl { text-align: center; position: relative; }
h2.ttl::after { content: ""; height: 2px; width: 76px; background: var(--color-neutral-gray); position: absolute; left: 50%; margin-left: -38px; bottom: 0; }
h2.ttl .ja { letter-spacing: 2px; display: block; margin: 15px 0 0; font-size: 25px; font-weight: bold; line-height: 1; }
h2.ttl .en { letter-spacing: 2px; display: block; margin: 15px 0 0; font-size: 14px; line-height: 1; }
p.ttl-tx { font-size: 22px; color: var(--color-text-secondary); letter-spacing: 2px; text-align: center; line-height: 1.7em; margin-bottom: 45px; }
.menuA { margin: 75px; }
.menuA .wrap, .menuB .wrap { width: 1066px; }
.menuA ul, .menuB ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
.menuA li:nth-child(-n+3) { margin-top: 0; }
.menuA .text { position: absolute; left: 20px; bottom: 15px; }
.menuA li { width: 330px; margin: 30px 0 0; }
.menuA a { display: block; position: relative; color: var(--color-neutral-white); font-weight: bold; text-decoration: none; }
#top #reason01 .cal2 li {
width: calc(100% * 580 / 1200); position: relative; }
#ftrSiteMap ul + .text { margin-left: 50px; }


#header .contact .inr { position: relative; }
#header .contact .inr .lng-list { display: none; position: absolute; bottom: -105px; transform: translateY(100px); right: 0; width: 200px; }
#header .contact .inr .lng-list li { letter-spacing: 2px; }
#header .contact .inr .lng-list a { height: 40px; line-height: 40px; padding: 0; }
#header .contact .inr .lng-list a::before { content: ""; }
#header .contact .inr .lng-list li { border-bottom: solid 1px var(--color-primary-dark); transition: var(--transition-normal); }
#header .contact .inr .lng-list li a:hover { background: var(--color-primary); }

@media only screen and (max-width: 640px) {
#header .contact .inr .lng-list { padding: 0; display: block !important; position: inherit !important; top: 0; bottom: auto; transform: translateY( 0); right: 0; width: 100%; }
#header .contact .inr .lng-list ul { padding: 0; }
#header .contact .inr .lng-list ul li { width: 33.333%; float: left; border: none !important; padding: 5px !important; box-sizing: border-box; }
#header .contact .inr .lng-list ul li a { text-align: center !important; font-size: calc(100vw * 20 / 640) !important;
line-height: calc(70vw * 80 / 640) !important;
}

}
#top #news { padding: 20px 0 100px; }
#top #news ul { display: flex; justify-content: space-between; }
#top #news li { width: 210px; padding: 15px 8px; }
#top #news a { display: block; color: var(--color-neutral-gray); text-decoration: none; }
#top #news .more a { border: solid 1px var(--color-neutral-lighter-gray); }
#top #news .text { padding: 0 10px; font-size: 14px; }
#top #news .label { font-weight: bold; font-size: 16px; }
#top #news .info { display: flex; margin-top: 10px; padding: 10px; font-size: 12px; }
#top #news .info .category { margin-right: auto; background: var(--color-success-light); color: var(--color-neutral-white); padding: 0 10px; }

.category a { color: var(--color-neutral-white) !important; }
.category.news { background: var(--color-success-light) !important; margin: 0 20px 0 0 !important; }
.category.event { background: var(--color-warning-light) !important; margin: 0 20px 0 0 !important; }
.category.blog { background: var(--color-info-light) !important; margin: 0 20px 0 0 !important; }

#top #news .ttl-area { padding-right: 100px; padding-top: 30px; }

@media only screen and (max-width: 640px) {
.area-bt { display: block !important; }
#top #news .wrap { display: block; width: auto; max-width: auto; min-width: auto; }
#top #news .ttl-area { padding: 0; }
#top #news ul { display: block; }
#top #news li { width: auto; }
#top #news li img { width: 100%; }
}
#bar { height: 285px; position: relative; background: var(--color-success); color: var(--color-neutral-white); line-height: 1; font-weight: bold; }
#bar h3 { font-size: 23px; line-height: 1.7em; margin-bottom: 15px; }
#bar p { text-align: center; font-size: 15px; line-height: 1.7em; font-weight: normal; }
#pageTitle .ja { color: var(--color-neutral-white); }

.common #bar { height: 82px; }
#mainContents section + section { margin: 45px 0 0; }
#sNav { margin-bottom: 200px; }
#sNav h4 { font-size: 13px; height: 47px; line-height: 47px; border-bottom: 1px solid var(--color-border-secondary); margin: 20px 0 0; padding-left: 30px; }
#sNav select { border-radius: 0; border: none; width: 100%; border-bottom: 1px solid var(--color-border-secondary); padding: 20px 20px 20px 30px; position: relative; color: var(--color-neutral-white); font-size: 13px; line-height: 19px; text-decoration: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; cursor: pointer; transition: var(--transition-normal); }
#sNav select:hover { background: var(--color-primary); color: var(--color-neutral-white); }
#sNav .select:after { content: "\f107"; position: absolute; top: 50%; right: 14px; font-family: Fontawesome; transform: translateY(-50%); }
#sNav .select { position: relative; font-size: 13px; transition: var(--transition-normal); }
#sNav .select:hover { color: var(--color-neutral-white); }
#mainContents.topic .info { display: flex; margin-top: 10px; font-size: 12px; }
#mainContents.topic .info .category { margin-right: 20px; background: var(--color-success-light); color: var(--color-neutral-white); padding: 0 10px; }
.topic .info .category a { color: var(--color-neutral-white) !important; }
#mainContents.topic .headline-4 { border-bottom: 1px solid var(--color-neutral-gray); }
#mainContents.topic p { margin-bottom: 30px; }
#mainContents.topic img { margin-bottom: 30px; }
.topic .postlist li { display: flex; border-bottom: 2px solid var(--color-border-tertiary); padding-bottom: 20px; margin-bottom: 20px; }
.topic .postlist li .image { margin-right: 20px; width: 116px; height: 82px; }
.topic .postlist li .info { margin-top: 0 !important; }
.topic .postlist li .headline-4 { margin-top: 10px !important; border: none !important; margin-bottom: 0 !important; }
.topic .postlist li a { text-decoration: none; color: var(--color-neutral-gray); }


@media only screen and (max-width: 640px) {
#mainContents .menu02 li { width: auto; }

#bar {
padding:  calc(100vw * 50 / 640) calc(100vw * 30 / 640); height: auto; }
#bar #pageTitle { padding: 0; text-align: left; }
#bar p { text-align: left; }
#bar #pageTitle br { display: none; }
#pageTitle .en { padding-top: 45px; background-size: 60px; }
}


#ftrSiteMap .text .contact.reserve a { background: var(--color-neutral-black); border: solid 1px var(--color-neutral-black); }
#top #news li .image { position: relative; height: 150px; overflow: hidden; }
.topic .postlist li .image { position: relative; height: 82px; flex-basis: 116px; overflow: hidden; }
.topic .postlist li .image img, #top #news li .image img { position: absolute; height: 100%; max-width: inherit !important; left: 50%; transform: translateX(-50%); }
.topic .postlist li .detail { flex: 1; }
.topic .content h2 { line-height: 1; border-bottom: 2px solid var(--color-border-tertiary); font-size: 20px; margin: 0 0 25px; padding: 15px 0; font-weight: bold; }
.topic .content h3 { line-height: 1; border-left: 4px solid var(--color-border-tertiary); font-size: 18px; margin: 0 0 25px; padding: 15px; font-weight: bold; }
.topic .content h4 { line-height: 1; font-size: 18px; font-weight: bold; margin: 0 0 25px; padding: 0 19px; }
.topic .content h5 { margin: 0 0 25px; padding: 0 19px; }
.topic .content p { margin: 0 0 25px; padding: 0 19px; }
.topic .content img { margin: 0 0 25px; padding: 0 15px; }
.topic .content ul { padding-left: 40px; }
.topic .content li { list-style-type: disc; }
#mainContents.topic .headline-4 { margin-bottom: 25px; }
.hotelInfo { text-align: center; }
.hotelInfo h3 { position: relative; padding-bottom: 20px; margin-bottom: 20px; font-size: 18px; }
.hotelInfo h3:after { content: ''; display: block; width: 56px; height: 1px; position: absolute; left: 50%; margin-left: -28px; bottom: 0; background: var(--color-neutral-lighter-gray); }
.hotelInfo .address { margin-bottom: 20px; }

.hotelInfo .tel .ttl { line-height: 1.3; margin-bottom: 10px; }
.hotelInfo .tel .ttl span { display: block; font-size: 13px; }

.hotelInfo .tel .number span { font-size: 40px; color: var(--color-neutral-white); }
#route h4 { font-size: 17px; border-bottom: solid 2px var(--color-border-tertiary); line-height: 3em; margin-bottom: 2em; margin-top: 30px; }
#mainContents #route .menu02 ul + ul { margin-top: 30px !important; }
.area-bt { display: flex; justify-content: center; padding-top: 20px; }
.area-bt .more { margin-right: 20px; }
#map { height: 500px !important; overflow: hidden; }
.area-bt + .menu02 { padding-top: 60px; }
.fa { margin-right: .7em; }
#mainContents .menu02.onecal ul.slide { display: block; position: absolute; }
#mainContents .menu02.onecal ul.slide li { width: 1000px; float: left; }
#mainContents .menu02.onecal .wrap { clear: both; }
#mainContents .menu02.onecal li { width: 100%; }

#mainContents .menu03.firststart ul { justify-content: flex-start; }
#mainContents .menu03.firststart ul li { margin-right: 35px; }
#mainContents .menu02.onecal .description .text::before { display: none; }



@media only screen and (max-width: 640px) {
#top #service .menu03.asset li { margin: 0 0 5px 0; }
#top #news li { display: flex; }
#top #news li .image { flex-basis: 116px; height: 82px; }
#top #news li > a { flex-basis: 116px; height: 82px; }
#top #news .more a { margin-bottom: 30px; }
#top #news li .detail { flex: 1; }
#top #news .info { margin-top: 0; padding-top: 0; }
#top #news .text { padding-right: 0; }
}

.notFound h3 { font-size: 50px; margin-bottom: .5em; color: var(--color-neutral-white); }
.notFound h5 { font-size: 25px; }
.notFound p { margin-bottom: 3em !important; }
.notFound .more a { margin: 0; }


.menuC ul { display: block !important; }
.menuC li { display: flex; width: calc(100% * 1066 / 1066) !important;
background: var(--color-bg-primary); }
.menuC .description { text-align: left; display: flex; align-items: center; padding: 0 50px; width:calc(100% * 676 / 1066);
}
.menuC .description dl { border-bottom: solid 1px var(--color-neutral-lighter-gray); overflow: hidden; padding-bottom: 20px; line-height: 1.7em; }
.menuC .description dt { float: left; }
.menuC .description dd { float: left; clear: both; width: 180px; }
.menuC .innr { width: 100%; }
.menuC .ttl { position: relative; }

.menuC .ttl .text { text-align: center; width: 100%; position: absolute; top: 50%; left: 0; color: var(--color-neutral-white); font-size: 18px; font-weight: bold; line-height: 38px; transform: translateY(-50%); }
.menuC .area-bt { clear: both; justify-content: flex-start; }
.menuC .price { font-size: 15px; margin-right: auto; }
.menuC .price span { font-size: 32px; margin: 0 .2em; }
.menuC .more a { background: var(--color-primary); color: var(--color-neutral-white); }
.menuC li { margin-bottom: 40px; }

.btn-list { display: flex; justify-content: space-between; }
.btn-list a { display: flex; justify-content: center; padding: 20px 0; align-items: center; background: var(--color-primary); color: var(--color-neutral-white); margin: 10px; width: 25%; text-align: center; text-decoration: none; }
#service table { margin-top: 1em; }
h4.ttl { margin-top: 3em; }


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

.dispPc { display: none !important; }
.table-04 tr:first-child td { border-top: none !important; }
.bg1 .copy1 { font-weight: bold !important; }


.menuC li { display: block; }
.menuC .ttl .text { line-height: 1.3em; }
.menuC .description { padding: 20px 20px 40px 20px; width: auto; }
.menuC .description dd { width: auto; }
.menuC .price { text-align: center; }
.area-bt .more { margin-right: auto; }
.btn-list { display: block; }
.btn-list a { width: auto; }

.more.red a { width: calc(120vw * 350 / 640) !important;
 height: calc(100vw * 110 / 640) !important;
 font-size: calc(100vw * 28 / 640) !important;
 line-height: calc(100vw * 110 / 640 - 2px) !important;
}
h2.ttl .ja, h2.ttl .en { font-size: calc(100vw * 35 / 640) !important;
}
h2.ttl .en { margin-top: 10px; }
}
#top #lpgas .image { display: flex; align-items: center; }
#top #lpgas .image p { padding: 2em; }
#top #lpgas.typeA .text { background: none; color: var(--color-neutral-gray); display: flex; align-items: center; justify-content: center; }
#top #lpgas.typeA .image { background: none; }
#top #lpgas.typeA h2.ttl .ja { margin-top: 0; }
#top #lpgas.typeA h2.ttl { padding-bottom: 2em; }
#top #lpgas.typeA h2.ttl::after { bottom: 1em; }
#top #lpgas.typeA { margin-bottom: 0; padding-top: 60px; padding-bottom: 60px; }
#top #lpgas.typeA p { margin: 0; }
#top #service .ttl .num { width: 65px; height: 65px; position: absolute; top: -30px; right: 10px; }
#top #service .menu03 li {
 width: calc(100% * 330 / 1066); background: var(--color-bg-primary); }
.menu03.firststart ul { justify-content: flex-start; }
.menu03 .wrap { width: auto; max-width: 1066px; min-width: 1000px; }
#top #service .menu03 .description { padding: 20px 0 25px; }
.bg1 { background: url("../imgs/top/bg1.svg") center center; background-size: cover; }
.bg1 .ttl { color: var(--color-neutral-white); }
.bg2 { background: url("../imgs/top/bg2.svg") center center; background-size: cover; }
.copy1 { font-size: 25px; text-align: center; margin-bottom: 50px; line-height: 1.7em; }
.copy1 span { font-size: 45px; color: var(--color-neutral-white); }
.bg1 .copy1 { color: var(--color-neutral-white); }
#service.bg1 { padding: 80px 0; }
#top #service .description .text { padding: 0 40px; text-align: left; }
#top #service .label { margin-bottom: 20px; }
#top #service ul + ul { margin-top: 60px; }
#reservation { padding: 50px 0 70px; }

section.inguiry { padding: 0 0 70px; }

.menuD { display: flex; justify-content: center; margin-bottom: 40px; }
.menuD .box { width: calc(100% * 540 / 1200);
}

.more.red a { width: 350px; height: 80px; border-radius: 100px; line-height: 80px; background: var(--color-error); border-bottom: solid 5px var(--color-error-dark) !important; border: none; font-size: 22px; color: var(--color-neutral-white); }
.more.red span { padding-top: 2em; display: inline-block; width: 100%; font-size: 13px; text-align: center; line-height: 20px; }
.more.red span a { line-height: 20px !important; height: auto !important; }

.more.red span a { display: inline; font-size: 13px; text-align: center; line-height: 1.7em; background: none; border: none; border: none !important; color: var(--color-neutral-white); text-decoration: underline; }
.more.red span a::after { display: none; }




#ftrContact ul { display: flex; justify-content: center; }
#ftrContact ul li { text-align: left; width: calc(100% * 515 / 1066);
background: var(--color-bg-primary); color: var(--color-neutral-gray); }
#ftrContact ul li .description { padding: 0 0 55px; position: relative; }
#ftrContact ul li .label { text-align: center; margin-bottom: 20px; padding: 0 40px; position: relative; font-size: 20px; font-weight: bold; line-height: 1; }
#ftrContact ul li .description .text { padding: 0 40px; margin-bottom: 30px; }
ul + h2.ttl { margin-top: 100px; }
#top #service .menu03.asset li { background: none; color: var(--color-neutral-white); }
#top #service .menu03.asset li .text { padding: 0; }
#top #service .menu03.asset li .text span { margin-bottom: .5em; }
#top #service .menu03.asset ul + ul { margin-top: 0; }

.loading { width: 100%; height: 100%; background: rgba(255,255,255,1.0); position: fixed; top: 0; left: 0; z-index: 20000; }
.loading img { visibility: hidden; width: 500px; height: 144px; position: absolute; top: 50%; left: 50%; margin-top: -72px; margin-left: -250px; }

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

.loading img { width: calc(100vw * 500 / 640);
height: calc(100vw * 144 / 640);
margin-top: calc(100vw * -72 / 640);
margin-left: calc(100vw * -250 / 640);
}
}
.sns ul { display: flex; padding: 20px; z-index: 101; }
.sns li:last-child { margin-right: 0; }
.sns li { margin-right: 10px; }
.sns li a { text-decoration: none; height: 50px; width: 50px; background: #fff; display: block; border-radius: 35px; font-family: Fontawesome; text-align: center; line-height: 50px; font-size: 20px; color: var(--color-bg-primary); }
.sns li.tw a::before { content: "\f099"; font-size: 18px; }
.sns li.fb a::before { content: "\f09a"; text-align: center; margin-left: 2px; font-size: 18px; }
.sns li.instagram a::before { content: "\f16d"; text-align: center; margin-left: 2px; font-size: 18px; }

.sns li.tw a { background: var(--color-bg-primary); }
.sns li.fb a { background: var(--color-bg-primary); }
.sns li.line a { background-image: url('../imgs/icon/line-brands.svg'); background-position: center center; background-size: 20px 20px; background-repeat: no-repeat; }
.ankr { position: relative; top: -100px; }
.p-index-kv__title-in { color: var(--color-neutral-white) !important; letter-spacing: 10px; }
#mainImage .c-border-in-out__content:after { background: var(--color-neutral-white) !important; }
.p-index-kv__title-wrap { text-align: center !important; }
.p-index-kv__title { width: 100% !important; top: 50% !important; left: 50% !important; -webkit-transform: translate(-50%, -50%) !important; -moz-transform: translate(-50%, -50%) !important; -ms-transform: translate(-50%, -50%) !important; -o-transform: translate(-50%, -50%) !important; transform: translate(-50%, -50%) !important; }
#gNav .apply a::after { display: none; }
#header.small #gNav .apply a::before { display: inline-block; font-family: Fontawesome; content: "\f003"; margin-right: .5em; }
#header.small #gNav .apply a { margin-top: 1em; color: var(--color-neutral-white); background: var(--color-bg-primary); text-align: center; padding: 0 calc(100vw * 30 / 640);
border-bottom: none !important; position: relative; line-height: calc(100vw * 90 / 640);
font-size: calc(100vw * 23 / 640);
}
#top #mainImage { height: 100vh; }
#service .p-index-section__header--business .p-index-section__header-en-in, #service .p-index-section__header--business .p-index-section__header-ja-in, #contact .p-index-section__header--business .p-index-section__header-en-in, #contact .p-index-section__header--business .p-index-section__header-ja-in { color: var(--color-neutral-white) !important; }
#service .c-border-in-out--yellow-green .c-border-in-out__content:after, #contact .c-border-in-out--yellow-green .c-border-in-out__content:after { background: var(--color-bg-primary); }
.p-index-section__header--business .p-index-section__header-en-in { font-weight: bold; }
.c-border-in-out__content .c-anime-dl-af1 { line-height: 1em !important; }
#top #lpgas.typeA .text .p-index-section__header { margin: 0 !important; }
#top #mainImage ul.slider li { transition: initial; -webkit-backface-visibility: hidden; backface-visibility: hidden; overflow: hidden; }
.slides > li { height: 100%; background-size: cover !important; background-position: center center !important; }
.slider, .slides { min-height: 100%; height: 100%; }
td .note { padding-top: 1em; }
#top #reason01 a:hover { opacity: 1; }
a { transition: .3s; }
a:hover { opacity: .7; }
.menu03 a.link-2 { color: var(--color-neutral-white); margin: .5em 0 0 0; font-weight: normal; }
.menu03 a.link-2::before { background: var(--color-bg-primary); color: var(--color-success); text-align: center; padding-left: 5px; box-sizing: border-box; }
.menu03 .text ul { display: flex !important; flex-direction: column !important; margin: inherit; padding-left: 1em; }
.menu03 .text ul li { width: auto !important; text-align: left !important; list-style: disc; margin: 0 0 .5em 0; padding: 0; }
.menu03 .text { font-weight: bold; }
#top #reason01 a.link-2 { color: var(--color-neutral-white); font-weight: bold; margin-top: .5em; }
#top #reason01 .note { padding-top: 1em; }
a.link-2::before { padding-left: 5px; box-sizing: border-box; }
.badge { transform: rotate(-20deg); border-radius: 200px; font-weight: bold; display: flex; align-items: center; flex-direction: column; justify-content: center; position: absolute; top: 40px; left: 20px; z-index: 10; color: var(--color-neutral-white); text-align: center; height: 150px; width: 150px; background: var(--color-neutral-dark); font-size: 15px; }
.badge span { font-size: 30px; }

@media only screen and (max-width:640px) {
.badge {
height: calc(100vw * 150 / 640);
width: calc(100vw * 150 / 640);
font-size: calc(100vw * 15 / 640); top: 20px; left: 10px; }
.badge span { font-size: calc(100vw * 30 / 640);
}
}
.btEntry { position: fixed; right: 20px; z-index: 999; transition: var(--transition-normal); height: 115px; }
.btEntry a { line-height: 150px; display: block; text-decoration: none; color: var(--color-neutral-white); box-sizing: border-box; border-radius: 200px; font-weight: bold; color: var(--color-neutral-white); text-align: center; height: 150px; width: 150px; background: var(--color-neutral-black); font-size: 20px; letter-spacing: 0; }

@media only screen and (max-width:640px) {
.btEntry a { height: calc(100vw * 150 / 640);
width: calc(100vw * 150 / 640);
font-size: calc(100vw * 25 / 640);
}
.btEntry a { line-height:calc(100vw * 150 / 640) !important;
}
.btEntry span { font-size: calc(100vw * 30 / 640);
}
}


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

}

h1 .image { width: 350px; margin: 30px auto 0; animation-name: fade-in-bck; animation-duration: 3s; }

@media only screen and (max-width:640px) {
h1 .image { width: 50%; }
}
 @-webkit-keyframes fade-in-bck {
0% {
-webkit-transform:translateZ(80px);
transform:translateZ(80px);
opacity:0
}
100% {
-webkit-transform:translateZ(0);
transform:translateZ(0);
opacity:1
}
}
@keyframes fade-in-bck {
0% {
-webkit-transform:translateZ(80px);
transform:translateZ(80px);
opacity:0
}
100% {
-webkit-transform:translateZ(0);
transform:translateZ(0);
opacity:1
}
}
 @-webkit-keyframes kenburns-top {
0% {
-webkit-transform:scale(1) translateY(0);
transform:scale(1) translateY(0);
-webkit-transform-origin:50% 16%;
transform-origin:50% 16%
}
100% {
-webkit-transform:scale(1.25) translateY(-15px);
transform:scale(1.25) translateY(-15px);
-webkit-transform-origin:top;
transform-origin:top
}
}
@keyframes kenburns-top {
0% {
-webkit-transform:scale(1) translateY(0);
transform:scale(1) translateY(0);
-webkit-transform-origin:50% 16%;
transform-origin:50% 16%
}
100% {
-webkit-transform:scale(1.25) translateY(-15px);
transform:scale(1.25) translateY(-15px);
-webkit-transform-origin:top;
transform-origin:top
}
}
#contact.faq { background: var(--color-bg-secondary) !important; }
#contact.faq p { color: var(--color-neutral-gray) !important; }
#contact.faq .p-index-section__header--business .p-index-section__header-en-in, #contact.faq .p-index-section__header--business .p-index-section__header-ja-in { color: var(--color-neutral-gray) !important; }
#contact.faq .c-border-in-out--yellow-green .c-border-in-out__content:after { background: var(--color-neutral-gray); }
#contact { background: var(--color-accent-light); overflow: hidden; }
#contact p { text-align: center; color: var(--color-neutral-white); margin-bottom: 1em; }
#contact p a { color: var(--color-neutral-white); }
#contact ul { display: flex; justify-content: center; flex-wrap: wrap; }

#contact ul li a { background: var(--color-bg-primary); color: var(--color-accent-light); font-weight: bold; display: block; box-sizing: border-box; width: 250px; padding: 15px 0; margin: 20px 30px; border: 1px solid; position: relative; font-size: 16px; font-weight: bold; line-height: 1.3em; text-align: center; text-decoration: none; transition: .3s; }
#contact ul li a::after { transition: .3s ease; content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }
#contact ul li a span { display: block; font-size: 12px }
#contact ul li a:hover::after { right: 10px; }
#contact ul li a:hover { opacity: 1; }
#contact ul li { position: relative; z-index: 100; }
#contact ul li::after { transition: .3s ease; content: ''; margin: 20px 0px 0px 30px; background: var(--color-accent); position: absolute; width: 80%; height: 63%; top: 0; right: -30px; left: 0; bottom: 0; z-index: 0; }
#contact ul li a { z-index: 100; }
#contact ul li:hover::after { top: 10px; left: 10px; }

#reservation ul { display: flex; justify-content: center; flex-wrap: wrap; }

#reservation ul li a { background: var(--color-bg-primary); color: var(--color-primary-light); font-weight: bold; display: block; box-sizing: border-box; width: 250px; padding: 15px 0; margin: 20px 30px; border: 1px solid; position: relative; font-size: 16px; font-weight: bold; line-height: 1.3em; text-align: center; text-decoration: none; transition: var(--transition-normal); }
#reservation ul li a::after { transition: var(--transition-normal) ease; content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }
#reservation ul li a span { display: block; font-size: 12px }
#reservation ul li a:hover::after { right: 10px; }
#reservation ul li a:hover { opacity: 1; }
#reservation ul li { position: relative; z-index: 100; }
#reservation ul li::after { transition: var(--transition-normal) ease; content: ''; margin: 20px 0px 0px 30px; background: var(--color-primary); position: absolute; width: 80%; height: 63%; top: 0; right: -30px; left: 0; bottom: 0; z-index: 0; }
#reservation ul li a { z-index: 100; }
#reservation ul li:hover::after { top: 10px; left: 10px; }

@media only screen and (max-width:640px) {
#header #gNav .lang { display: block; width: auto; margin:calc(100vw * -25/640) 0 0;
padding:0 calc(100vw * 30/640) calc(100vw * 30/640);
position: static; background: transparent; overflow: auto }
#header #gNav .lang a { height: auto; padding:0 calc(100vw * 30/640);
background: var(--color-success-dark); font-size:calc(100vw * 30/640);
line-height:calc(100vw * 100/640);
text-align: left }
#header #gNav .lang a::before { top: 50%; right:calc(100vw * 30/640);
left: auto; font-size: inherit; transform: translateY(-50%) }
#header #gNav .lang a::after { content: none }
#header .lang { display: none; }
#header .lang .inr .lng-list { padding: 0; display: block !important; position: inherit !important; top: 0; bottom: auto; transform: translateY(0); right: 0; width: 100% }
#header .lang .inr .lng-list ul { padding: 0 }
#header .lang .inr .lng-list ul li { width: 33.333%; float: left; border: none !important; padding: 5px !important; box-sizing: border-box }
#header .lang .inr .lng-list ul li a { text-align: center !important; font-size:calc(100vw * 20/640) !important;
}
}
#header .lang .inr { position: relative }
#header .lang .inr .lng-list { display: none; position: absolute; bottom: 19px; transform: translateY(100px); right: 0; width: 200px }
#header .lang .inr .lng-list li { letter-spacing: 2px }
#header .lang .inr .lng-list a { height: 40px; line-height: 40px; padding: 0 }
#header .lang .inr .lng-list a::before { content: "" }
#header .lang .inr .lng-list li { border-bottom: solid 1px var(--color-primary-lighter); transition: var(--transition-normal) }
#header .lang .inr .lng-list li:last-child { border: none; }
#header .lang .inr .lng-list li a:hover { background: var(--color-primary); opacity: 1; }

@media only screen and (max-width:640px) {
#header .lang .inr .lng-list { padding: 0; display: block !important; position: inherit !important; top: 0; bottom: auto; transform: translateY(0); right: 0; width: 100% }
#header .lang .inr .lng-list ul { padding: 0 }
#header .lang .inr .lng-list ul li { width: 33.333%; float: left; border: none !important; padding: 5px !important; box-sizing: border-box }
#header .lang .inr .lng-list ul li a { text-align: center !important; font-size:calc(100vw * 20/640) !important;
line-height:calc(70vw * 100/640) !important
}
.movie2col + .movie2col { padding-top: 0 !important; }
.title_main { padding-bottom: calc(100vw * 10/640) !important;
padding-top: calc(100vw * 60/640) !important;
}
.title_main span { font-size: 18px !important; }
.movie2col .title span { font-size: 18px !important; }
}
.movie2col + .movie2col { padding-top: 30px; }
.movie2col .slide { width: 520px; }
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.title_main { font-weight: bold; padding-bottom: 30px; padding-top: 60px; text-align: center; }
.title_main span { display: block; font-size: 20px; }
.title_main + .movie2col { padding-top: 0; }
.movie2col + .movie2col { padding-top: 60px; }
.movie2col .title { font-weight: bold; padding-bottom: 10px; text-align: center; }
.movie2col .title span { display: block; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
.movie2col { display: flex; justify-content: space-between; padding-top: 60px; }
.movie2col .youtube { width: 520px; height: 292px; padding: 0 !important; padding-right: 20px; }
.movie2col .youtube img { height: auto; width: auto; }





@media only screen and (max-width:640px) {
.movie2col { display: block; }
.movie2col .youtube { width: auto; min-height: 204px; height: auto; margin-bottom: calc(100vw * 30/640);
overflow: hidden; }

#reservation { background: var(--color-bg-secondary) !important; }

#reservation .c-border-in-out--yellow-green .c-border-in-out__content:after { background: var(--color-neutral-gray) !important; }
#reservation .p-index-section__header--business .p-index-section__header-en-in, #reservation .p-index-section__header--business .p-index-section__header-ja-in, #reservation .tx { color: var(--color-neutral-gray) !important; }
}
#reservation { background: var(--color-neutral-medium); }
#reservation .frame { overflow: hidden; overflow-x: hidden; overflow-y: hidden; height: 100%; width: 100%; position: relative; top: 0px; left: 0px; right: 0px; bottom: 0px; }
#reservation .p-index-section__header--business .p-index-section__header-en-in, #reservation .p-index-section__header--business .p-index-section__header-ja-in { color: var(--color-neutral-white); }
#reservation .c-border-in-out--yellow-green .c-border-in-out__content:after { background: var(--color-bg-primary); }
#reservation .tx { color: var(--color-neutral-white); text-align: center; padding-bottom: 50px !important; }
.image a { display: block; box-sizing: border-box; width: 220px; height: 40px; border: 1px solid; position: relative; border-radius: 8px; font-size: 14px; line-height: 38px; text-align: center; text-decoration: none; transition: var(--transition-normal); }
.image a::after { content: "\f178"; position: absolute; top: 50%; right: 20px; font-family: Fontawesome; font-weight: normal; transform: translateY(-50%); }
.movie2col + .p-index-section__header { margin-bottom: 50px !important; }

@media only screen and (max-width:640px) {
.image a { margin: 0 auto; }
}
.headline-6 { text-align: center; font-size: 26px; letter-spacing: 0; line-height: 1.7em; margin-bottom: 40px; font-weight: normal; }
.bg3 { background: var(--color-text-primary); color: var(--color-neutral-white) !important; }

.box-wh .box { border: solid 1px var(--color-neutral-white); padding: 50px; box-sizing: border-box; }
.box-wh .box h4 { text-align: center; margin-bottom: 10px; font-size: 20px; }
.box-wh .box .time { text-align: center; margin-bottom: 20px; }
.box-wh .box .description { margin-bottom: 20px; }
.col-2 { display: flex; justify-content: space-between; }
.col-2 .box { width: 522px; }
#concept { clear: both; overflow: hidden;  }
#concept .info { text-align: center; color: var(--color-neutral-white) !important; background: var(--color-secondary); box-sizing: border-box; width: 50%;   display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;}
#concept .info p { margin-bottom: 36px; }
#concept .info .image { margin: 0 auto 40px; }
#concept .info .tel { font-size: 30px; }
#concept .info .name-en { text-aligns: center; margin-bottom: 5px; font-size: 12px; }
#concept .info .description { margin-bottom: 40px; }
#space { clear: both; overflow: hidden; background: var(--color-secondary); }
#space .info { text-align: center; color: var(--color-neutral-white) !important; padding: 0 50px 100px; background: var(--color-secondary); width: 480px; box-sizing: border-box; float: right; }
#space .info p { margin-bottom: 20px; }
#space .info .image { margin: 0 auto 40px; }
#space .info .tel { font-size: 30px; }
#space .info .name-en { text-align: center; margin-bottom: 5px; font-size: 12px; }
#spaces .info .description { margin-bottom: 40px; }
#news { padding-bottom: 70px; }
#map { clear: both; }
.wrap.area-concept .innr { padding-bottom: 800px; }
.wrap.area-concept { position: relative; }
.wrap.area-concept .image-concept img { width: 75%; height: auto; }
.wrap.area-concept .image-concept { position: absolute; }
.wrap.area-concept .image-concept.img1 { top: 0; left: -500px; }
.wrap.area-concept .image-concept.img2 { top: 350px; right: -500px; }
.wrap.area-concept .image-concept.img3 { top: 650px; left: -500px; }
.wrap.area-concept .image-concept.img4 { top: 786px; left: -150px; right: -150px; z-index: 1; }
.wrap.area-concept .image-concept.img5 { top: 943px; right: -546px; }
.wrap.area-concept .image-concept.img4 img { width: auto; }
.wrap.area-menu .innr { padding-bottom: 900px; }
s .wrap.area-menu { position: relative; }
.wrap.area-menu .image-menu img { width: 100%; height: auto; }
.wrap.area-menu .image-menu { position: absolute; }
.wrap.area-menu .image-menu.img1 { width: 480px; box-sizing: border-box; height: 400px; top: 648px; left: -347px; }
.wrap.area-menu .image-menu.img2 { width: 480px; box-sizing: border-box; height: 279px; bottom: 0px; left: -66px; }
.wrap.area-menu .image-menu.img3 { width: 480px; box-sizing: border-box; height: 400px; top: 963px; right: 293px; }
.wrap.area-menu .image-menu.img4 { width: 480px; box-sizing: border-box; height: 400px; top: 709px; right: -195px; z-index: 1; }
.wrap.area-menu .image-menu.img5 { width: 500px; top: 743px; left: 150px; }
.wrap.area-menu .image-menu.img6 { width: 480px; box-sizing: border-box; bottom: 0; right: -206px; }
.p-index-section__header-ja { color: var(--color-neutral-white); }
h4 { margin-bottom: 1em; }
p { font-size: 16px; text-align: left; line-height: 30px; /* 214.286% */
letter-spacing: 1.4px;}
.p-index-section__header--business .p-index-section__header-en-in, .p-index-section__header--business .p-index-section__header-ja-in { color: var(--color-neutral-white) !important; }
.image.col1 { margin-top: 50px; }
.image.col1 img { width: 100%; }
#concept2 { background: var(--color-bg-primary); }
#concept2 { padding: 0 0 45px; }
#concept2 + #concept1 { padding: 0 0 120px; }
#concept3 { padding: 120px 0; }
#concept1, #concept3 { background: var(--color-bg-primary);}
#concept1 { padding: 73px 0 45px; }
#concept3 .headline-6 { color: var(--color-neutral-white); }

.box-menu.col2 { display: flex; justify-content: space-between; }
.box-menu .box { text-align: center; padding: 100px 0; width: 470px; }
.box-menu .box.lunch { background: url("../imgs/concept/bg_concept_menu1.jpg") no-repeat center center; background-size: cover; }
.box-menu .box.dinner { background: url("../imgs/concept/bg_concept_menu2.jpg") no-repeat center center; background-size: cover; }
.box-menu .box h4 { margin-bottom: 40px; color: var(--color-neutral-white); }
.box-menu .box a.bt { text-decoration: none; padding: 10px 20px; display: inline-block; border: solid 1px var(--color-neutral-white); color: var(--color-neutral-white); border: solid 1px var(--color-neutral-white); }
.headline-7 { display: flex; margin-bottom: 40px; }
.headline-7 h4 { border-left: solid 1px var(--color-neutral-white); font-size: 24px; padding: 0 60px 0 40px; line-height: 60px; white-space: nowrap; }
.headline-7 p { margin: 0 !important; }
#concept4, #concept5, #concept6 { background: var(--color-tertiary); color: var(--color-neutral-white); padding: 150px 0 150px 0; }
#concept6 { margin-bottom: -90px; }
#concept4 .image-col2 { display: flex; }
#concept4 .image-col2 .left { width: 50%; }
#concept4 .image-col2 .right { width: 50%; }
#concept4 .image-col2 .image1 { background: url("../imgs/concept/interior1.jpg") no-repeat center center; }
#concept4 .image-col2 .image2 { background: url("../imgs/concept/interior2.jpg") no-repeat center center; }
#concept4 .image-col2 .image3 { background: url("../imgs/concept/interior3.jpg") no-repeat center center; }
#concept4 .image-col2 .image { background-size: cover; }
#concept4 .image-col2 .left .image { height: 300px; }
#concept4 .image-col2 .right .image { height: 600px; }
#concept5 .image-col2 { display: flex; flex-direction: row-reverse; }
#concept5 .image-col2 .left { width: 50%; }
#concept5 .image-col2 .right { width: 50%; }
#concept5 .image-col2 .image1 { background: url("../imgs/concept/shop3.jpg") no-repeat center center; }
#concept5 .image-col2 .image2 { background: url("../imgs/concept/shop2.jpg") no-repeat center center; }
#concept5 .image-col2 .image3 { background: url("../imgs/concept/shop1.jpg") no-repeat center center; }
#concept5 .image-col2 .image { background-size: cover; }
#concept5 .image-col2 .left .image { height: 300px; }
#concept5 .image-col2 .right .image { height: 600px; }
#concept6 .image { padding: 0 100px; }
.p-access #mainContents { text-align: center; padding-bottom: 0 !important; }
.p-access #mainContents h4 { margin: 0; padding-bottom: 1.5em; margin-bottom: -1.3em; }
.p-access #mainContents p { margin: 0 0 40px 0; }
.p-access #mainContents .more { margin-bottom: 80px; }
.p-access #mainContents .tel { font-size: 40px; }
.p-access .image.col1 { margin-bottom: 80px; }
.p-access #pageHeader { background: var(--color-secondary); }
.p-concept #pageHeader { background: var(--color-text-primary) url("../imgs/bg-pageTitle-concept.jpg") 50% 0 / cover no-repeat; }
.p-menu #pageHeader { background: var(--color-text-primary) url("../imgs/bg-pageTitle-menu.jpg?ver=20221014") 50% 0 / cover no-repeat; }
.p-news #pageHeader { background: var(--color-text-primary) url("../imgs/bg-pageTitle-news.jpg") 50% 0 / cover no-repeat; }
.p-reservation #pageHeader { background: var(--color-text-primary) url("../imgs/bg-pageTitle-reservation.jpg") 50% 0 / cover no-repeat; }
.p-space #pageHeader { background: var(--color-text-primary) url("../imgs/bg-pageTitle-space.jpg?ver=20221014") 50% 0 / cover no-repeat; }
.title_bar + p { margin-bottom: 40px !important; }
.title_bar { margin-bottom: 40px; padding-left: 30px; display: flex; align-items: center; height: 150px; background-color: var(--color-neutral-white); background-position: center right; background-repeat: no-repeat; background-size: contain; }
.title_bar.lunch { background-image: url("../imgs/menu/bg_bar1.jpg"); }
.title_bar.dinner { background-image: url("../imgs/menu/bg_bar2.jpg"); }
.title_bar.drink { background-image: url("../imgs/menu/bg_bar3.jpg"); }
.title_bar h4 { font-size: 28px; line-height: 1em; color: var(--color-text-primary); }
.title_bar h4 span { display: block; font-weight: normal; font-size: 15px; }
.menuList { margin-bottom: 40px; display: flex; justify-content: flex-start; flex-wrap: wrap; }
.menuList .box { width: 300px; margin: 15px; text-align: center; }
.menuList .box .image { margin-bottom: 20px; }
.menuList .box .name { margin-bottom: 10px; }
.menuList .box .price { font-size: 13px; }
.menuList .box .description { text-align: left; }
#mainContents.p-menuDetail { padding-top: 0 !important; }
.p-menuDetail .image.col1 + .wrap { padding-top: 100px; }
.p-menuDetail .image.col1 { margin-top: 0; height: 700px; background-repeat: no-repeat !important; background-position: center center !important; background-size: cover !important; position: relative; }
.p-menuDetail .image.col1 span { position: absolute; left: 100px; bottom: 0; z-index: 2; }
.p-menuDetail .image.col1 .mask { position: absolute; left: 0; bottom: 0; z-index: 1; height: 300px; width: 100%; /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#0f1115+0,0f1115+100&0+0,1+90 */ background: -moz-linear-gradient(top, rgba(15,17,21,0) 0%, rgba(15,17,21,1) 90%, rgba(15,17,21,1) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, rgba(15,17,21,0) 0%, rgba(15,17,21,1) 90%, rgba(15,17,21,1) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, rgba(15,17,21,0) 0%, rgba(15,17,21,1) 90%, rgba(15,17,21,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000f1115', endColorstr='#0f1115', GradientType=0 ); /* IE6-9 */
}
.p-menuDetail dl { width: 700px; margin: 70px auto 0; }
.p-menuDetail dl dd { width: 150px; padding: 15px; box-sizing: border-box; border-right: solid 1px var(--color-neutral-white); float: left; clear: both; }
.p-menuDetail dl dt { width : calc(100% - 150px); box-sizing: border-box; padding: 15px 15px 15px 30px; float: left; }
.p-menuDetail p.tx { text-align: center; }
.p-menuDetail .menuArea { clear: both; padding-bottom: 100px; overflow: hidden; }
.more + .more { margin-top: 20px !important; }
.bg3 .more a { color: var(--color-neutral-white) !important; }

@media only screen and (max-width:640px) {
.headline-6 { font-size: calc(100vw * 29/640);
}
.wrap.big { width: 100% !important; }
.col-2 { display: block; }
.col-2 .box { width: 100%; }
.box-wh .box { box-sizing: border-box; }
.col-2 .box + .box { margin-top: 20px; }
#ftrSiteMap ul li a { text-align: center; }
#ftrSiteMap ul.sns li a { padding: 0; display: block; margin: 0 auto; }
#ftrSiteMap ul.sns li { border: none; text-align: center; }
#ftrSiteMap ul.sns { width: 50% !important; margin: 0 auto !important; }
#ftrSiteMap ul { display: block; }
#ftrSiteMap ul.sns { display: flex; clear: both; padding-top: 20px !important; }
#top #news { padding: 20px 0; }
.wrap.area-concept .image-concept.img1, .wrap.area-concept .image-concept.img2, .wrap.area-menu .image-menu.img1, .wrap.area-menu .image-menu.img5, .wrap.area-menu .image-menu.img6 { display: none; }
.wrap.area-concept .image-concept img { width: 250px !important; }
.wrap.area-concept .image-concept.img4 { top: 852px; left: 22px; }
.wrap.area-concept .image-concept.img3 { top: 950px; left: 56px; }
.wrap.area-concept .image-concept.img5 { top: 1116px; right: 06px; }
.wrap.area-concept .innr { padding-bottom: 559px; }
.wrap.big.area-menu { box-sizing: border-box; }
.wrap.area-menu .image-menu { width: 250px !important; height: auto !important; overflow: hidden; }
.wrap.area-menu .image-menu img { width: 250px; height: auto; }

.wrap.area-menu .image-menu.img2 { bottom: -70px; }
.wrap.area-menu .innr { padding-bottom: 500px; }
.wrap.area-menu .image-menu.img3 { top: 1263px; right: 55px; }
.wrap.area-menu .image-menu.img4 { top: 1059px; right: -171px; }
.box-menu.col2 { display: block; }
.box-menu .box { width: 100%; }
.box-menu .box + .box { margin-top: 30px; }
#concept2, #concept3 { padding: 60px 0; }
.headline-7 { display: block; }
.headline-7 h4 {
font-size: calc(100vw * 24/640);
line-height:calc(100vw * 60/640); padding: 0 20px 0 20px; margin-bottom: 20px; }
#concept4 .image-col2, #concept5 .image-col2 { display: block; }
#concept4 .image-col2 .left, #concept5 .image-col2 .left { width: 100%; }
#concept4 .image-col2 .right, #concept5 .image-col2 .right { width: 100%; }
#concept4 .image-col2 .right .image, #concept5 .image-col2 .right .image { height: 300px; }
#concept6 .image { width: 100%; padding: 0; }
#concept4, #concept5, #concept6 { padding: 40px 0 0 0; }
.title_bar { text-align: center; padding-left: 0; justify-content: center; align-items: center; background-size: cover; }
.menuList .box { width: 100%; margin: 0 0 40px 0; }
.p-menuDetail .image.col1 { height: 300px; }
.p-menuDetail p.tx { text-align: left; }
.p-menuDetail .image.col1 .mask { height: 100px; }
.p-menuDetail .image.col1 span { left: 20px; }
.p-menuDetail dl { width: 100%; }
.p-menuDetail dl dd { float: none; padding: 0; width: 100%; border: none; }
.p-menuDetail dl dt { float: none; padding: 0; width: 100%; margin-bottom: 20px; }
.p-menuDetail .menuArea { padding-bottom: 40px; }
.note.big { font-size: 13px !important; }
}
.image-concept.img1, .image-concept.img2, .image-concept.img3, .image-concept.img4, .image-concept.img5 { opacity: 0; transition: opacity 3s; }
.image-concept.img1.active, .image-concept.img2.active, .image-concept.img3.active, .image-concept.img4.active, .image-concept.img5.active { opacity: 1; }
.image-menu.img1, .image-menu.ismg2, .image-menu.img3, .image-menu.img4, .image-menu.img5 { opacity: 0; transition: opacity 3s; }
.image-menu.img1.active, .image-menu.img2.active, .image-menu.img3.active, .image-menu.img4.active, .image-menu.img5.active { opacity: 1; }
h3.title { text-align: center; font-size: 1em; margin-bottom: 48px; letter-spacing: 0; position: relative; justifyContent: flex-start; alignItems:center; gap: 8; display:inline-flex; align-items: center;}
h3.title span { letter-spacing: 2px; display: block; color: var(--color-tertiary); font-size: 30px; font-family: "garamond-premier-pro-display", serif; font-style: normal; font-weight: 400; margin-right: 8px; }
h3.title{color: var(--color-tertiary); }
h3.title::after { content: ""; height: 1px; width: 30px; background: var(--color-tertiary); display: block; position: absolute; left: 0; right: 0; margin: auto; bottom: -20px; }
.footBt { text-align: center; }
.footBt a { display: inline-block; margin: 0 20px; }
.more + h4 { margin-top: 20px; }
#ftrSiteMap p { font-size: 12px; margin: 20px 0; }
.p-menu #mainContentsWrapper { background: url("../imgs/menu/bg_main.jpg") no-repeat center center; background-size: cover; }
#sNav dl { background: var(--color-bg-primary); margin-top: 114px; }
#mainContents section { background: var(--color-bg-primary); }
#mainContents section .inrBox { padding: 40px; }
#mainContents section .inrBox p strong { font-size: 17px; }
#mainContents section .inrBox p { text-align: justify; font-size: 15px; }
.note li::before #mainContents .image {
margin-top: 40px;
}
.p-menu .headline-3 { padding: 32px 0 30px; margin: 0; border: 0; text-align: center; background: var(--color-tertiary); color: var(--color-neutral-white); font-size: 29px; }
.p-menu .headline-3::before { display: none; }
.container { width: 1000px; display: -webkit-flex; display: flex; }
.main { display: block; width: 660px; margin-right: 20px; }
.sidebar { width: 320px; }
.sidebar__item { margin-bottom: 20px; }
#sNav dl { position: sticky; margin-bottom: 0; top: 100px; z-index: 1; }
.p-menu #main article { overflow: visible !important; }
#reservation1 { background: var(--color-text-primary); }
.p-access #mainContents section { background: none !important; }

@media only screen and (max-width:640px) {
	#mainContents section .inrBox p strong.xmas{font-size: calc(100vw * 35/640) !important;}
#btMenu.reservation {  right:  calc(100vw * 80 / 640); background: var(--color-tertiary); border-left: solid 1px var(--color-tertiary); }
	#btMenu.online {  right:  calc(100vw * 161 / 640); background: var(--color-tertiary); }
	#btMenu a{  color:var(--color-neutral-white); font-size: calc(100vw * 15 / 640); text-align: center; text-decoration: none; letter-spacing: 0;width: calc(100vw * 80 / 640);height: calc(100vw * 80 / 640);  display: grid;place-items: center; }
	#btMenu a span{ font-weight: bold;}
 ul.bt_list {
    display: block !important;
	 	padding-top: 0;

}
ul.bt_list li {
		width: 100% !important;
}
ul.bt_list li a {

	margin: 10px 0 !important;
}
	#footer .title{ margin-bottom:-1.5em;}
#ftrSiteMap ul { overflow: hidden; }
#ftrSiteMap .text.info { display: none; }
.wrap { overflow: hidden; }
.p-access table { margin-bottom: 20px !important; }
.more.footBt { clear: both; margin-top: 20px; }
#concept .info, #concept .wrap, #menu .info, #menu .wrap, #space .info, #space .wrap, #access .info, #access .wrap { width: 100%; padding: 40px 20px; box-sizing: border-box; }
h3.title { margin-top: 20px; margin-bottom: 50px; }
.more a + a { margin-top: 20px; margin-bottom: 10px; }
.more.footBt { overflow: hidden; }
#ftrSiteMap p { text-align: center; }
.p-menu .headline-3 {
font-size: calc(100vw * 29/640); padding: 15px 0; }
#mainContents section .inrBox { padding: 20px; }
#sNav dl { top: 0; margin: 0; }
#sNav { margin: 40px auto 0; }
#concept, #menu, #space, #access { background-attachment: scroll !important }
.wrap.big { flex-direction: column-reverse; }
#space .wrap { flex-direction: column-reverse !important; }
#space .wrap { padding: 40px 20px !important; }
#space .wrap .box-other { flex-basis: auto !important; }
h3.title::after { margin-left: auto !important; }

	
#space .info { padding: 0 !important; }
}
#menu h3.title span, #access h3.title span { color: #8b7959; }
h3.title { font-weight: normal; }
#menu .info p { color: #fff; }
#menu .info .more a, #access .info .more a { color: #8b7959; }
#space .wrap { flex-direction: row-reverse; }
#space .image { margin: 0; }
#space .wrap { display: flex; }
#space .wrap p { color: #fff; margin-bottom: 50px; }
#space .wrap { padding: 80px; overflow: hidden; }
#space .wrap .box-other { flex-basis: 800px; }
#space h3.title, #access h3.title {  margin-top: 0; }
#space .more a, #access .more a { margin-bottom: 45px; }
#access h4 { color: #fff; text-align: left; font-weight: normal; }
.more a.tel::after { display: none !important; }
#footer .title{ font-size:12px; letter-spacing:0; text-align:center; background:#9C958B; color:#fff; padding-bottom:.5em;}

.bt_list {
	margin-bottom: 40px;
	padding-top: 20px;
}
 ul.bt_list {
    display: flex;
    flex-wrap: wrap;

}
ul.bt_list li {
		width: 50%
}
ul.bt_list li a {
	display: flex;
	color: #fff; 
	font-size: 14px;
	letter-spacing: 0;
	justify-content: center;
	text-align: center;
	height: 50px;
	align-items: center;
	text-decoration: none;
    background: #8b7959;
	border-radius: 5px;
	margin: 5px;
	line-height: 1.3em;
	padding: 5px 0;
}
	.more.blue a {
    color: #ffffff;
		background: #8b7959;
    display: block;
    box-sizing: border-box;
    width: 230px;
    height: 40px;
    margin: 30px auto;
    border: 1px solid #8b7959;
    position: relative;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    line-height: 38px;
    text-align: center;
    text-decoration: none;
    transition: .3s;
}
.inrBox span.tax{ font-size: 12px !important;}