html {
	font-size:62.5%;
}


body {
	font-size:1.6em;
	font-family: 'Noto Sans JP', sans-serif;
	color:#000;
	font-weight: 400;
}

* {
	box-sizing: border-box;
}

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	font-size:1.6rem;
}

 /* --------------------------

基本サイズ10px
3rem = 30px
1.6rem = 16px

--------------------*/

.mincho {
	font-family: 'Shippori Mincho B1', serif;
}

/*.juli {
	font-family: 'Julius Sans One', sans-serif;
}*/
.juli {
	font-family: 'Playfair Display', serif;
	letter-spacing: 0.07em
}

#wrap,
section,
article,
main {
	width:100%;
	position:relative;
	overflow:hidden;
}

#wrap {
	opacity:0;
	transition:all 2s;
}

.display_on {
	opacity:1!important;
}



main {
	padding:130px 0 0 0px;
	display:block;
}


.inner {
	max-width:1340px;
	margin:0 auto;
	padding:0 70px;
}

.inner_concept {
	max-width:1340px;
	margin:0 auto;
	padding:0 70px;
}

@media screen and (max-width:768px){
.inner_concept {
	max-width:1340px;
	margin:0 auto;
	padding:0 0 30px 0;
}
}

img {
	max-width:100%;
	vertical-align:bottom;
}

.obf_cover {
	width:100%;
}

.obf_cover img {
	width:100%;
	height:100%;
	object-fit: cover;
}

a {
	color:#333;
	transition:all .4s;
	cursor: pointer;
}

a:hover {
	opacity:0.8;
}

p {
	font-size:1.6rem;
	line-height:1.875em;
}

h1,h2,h3,h4,h5,h6,dt,dd {
	line-height:1.2em;
}

small {
	line-height:1.2em;
}

/* --- 複数行対応 3点リーダー css common.js内 --- */

/* --- 2行のときは height: calc(1.63em * 2 ); ---*/
  .js-text-overflow{
	overflow: hidden;
	height: calc(1.63em * 1);
	width: 100%;
	white-space: nowrap;
	text-overflow: ellipsis;
  }

/* --- btn --- */

.btn_link {
	display:inline-block;
	padding:0 64px 0 0 ;
	position:relative;
	transition:all .4s;
	font-size:1.8rem;
}

.btn_link::before,
.btn_link::after {
	content:"";
	display: block;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
	transition:all .2s;
}

.btn_link::before {
	width:25px;
	height:25px;
	border-radius: 50%;
	border:1px solid #000;
	right:20px;
}

.btn_link::after {
	width:38px;
	height:7px;
	background:url(../images/common/btn_arrow.svg) no-repeat center / contain;
	right:0em;

}

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

	.btn_link:hover::after {
 transform:translateX(10px);
}

}


/* --- flex --- */

.d_flex {
	display:flex;
	display:-webkit-flex;
  	display:-ms-flexbox;
}

.fle_wra {
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	-ms-felx-wrap:wrap;
}

.jus_ce {
	justify-content:center;
	-webkit-justify-content:center;
}

.jus_sb {
	justify-content:space-around;
	}
.jus_ar {
	justify-content:space-around;
	-webkit-justify-content:space-around;
}
.jus_end {
	justify-content:flex-end;
	-webkit-justify-content:flex-end;
}

.ali_ce {
	align-items:center;
	-webkit-align-items:center;
}
.ali_st {
	align-items:flex-start;
	-webkit-box-align: start;
}

.ali_end {
	align-items: flex-end;
	-webkit-align-items:flex-end;
}

.pc_none {
	display:none;
}

.tex_ce {
	text-align:center;
}

.tex_ri {
	text-align:right;
}

.fw_bold {
	font-weight:700;
}
.fw_normal {
	font-weight:400;
}
.fw_medium {
	font-weight:400;
}

/* --- color --- */

.white {
	color:#fff;
}

.gold {
	color:#9D927F;
}


.blue {
	color:#4C5E65;
}

.blue2 {
	color:#8AABB8;
}


.pink {
	color:#D9B3C1;
}

.brown {
	color:#654C58;
}

.bg_white {
	background:#fff;
}
.bg_blue {
	background:#E1E7E9;
}

.bg_blue2 {
	background:#8AABB8;
}

.bg_gray {
	background:#F6F6F6;
}

.bg_yellow {
	background:#FAFCC4;
}


/* --- fontawesome --- */

/* --- h_title --- */

.h_title {
	font-size:6rem;
	margin-bottom:0.75em;
	padding:0.2rem 0 0.4em 0;
	line-height:1em;
	position:relative;
	color:#4C5E65;
}

.h_title::after{
	content:"";
	display: block;
	width:0.7em;;
	height:2px;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	margin:0 auto;
	background:#8AABB8;
}

.h_title_white {
	color:#fff;
}

.h_title_white::after {
	background:#fff;
}

/* --- blog cate time --- */

.sb_cp {
	position:relative;
}

.sb_cp::after {
	content:"";
	display: block;
	width:30%;
}


.cate {
	background:#8AABB8;
	color:#fff;
	letter-spacing: 0.1rem;
	padding:0.8em 1.4em;
	text-align:center;
	display: inline-block;
	font-size:1.4rem;
	font-weight:500;
	z-index: 3;
}

.time {
	color:#8D8D8D;
	font-size:1.4rem;
	padding-left:1.8em;
	position:relative;
	letter-spacing: 0.1rem;
}

.time::before {
	content:"";
	display:block;
	width:1.2em;
	height:1.2em;
	background:url(../images/blog/icon_clock.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

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

header {
	width:100%;
	height:130px;
	z-index:80;
	transition:all .4s;
	position:fixed;
	z-index: 9000;
	top:0;
	left:0;
	background:#fff;
    transform: translateY(0%);
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;

}

header.active{
    transform: translateY(-100%);
}

header p {
	line-height:1.2em;
}

.header_inner {
	width:100%;
	padding:0 6% 0px 11%;
	transition:all .4s;
}

.instalink {
	position:fixed;
	left:30px;
	top:40vh;
	z-index:20;
}
.header_logo a:hover {
	opacity:.8;
}

/* ---------  Nav ------------ */

.blue_nav {
	position:relative;
	margin-bottom:1em;
	padding-right:0.75rem;
}

.blue_nav > li {
	margin-left:2em;
}

.blue_nav > li a,
.blue_nav > li p {
	color:#8AABB8;
	position:relative;
	padding:0em 0 0em 1.8em;
}

.nav_reserve::before,
.nav_mail::before,
.nav_tel::before {
	content:"";
	display: block;
	width:1.4em;
	height:1.4em;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

.nav_reserve::before {
	background:url(../images/common/icon_web.svg) no-repeat center / contain;
}
.nav_mail::before {
	background:url(../images/common/icon_mail.svg) no-repeat center / contain;
}
.nav_tel::before {
	background:url(../images/common/icon_tel.svg) no-repeat center / contain;
}

.nav_list > li {
	/*margin-left:2.8em;*/
}

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

.nav_list > li {
	/*margin-left:1.5em;*/
}

}

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

.nav_list > li a {
	min-width:4em;
	text-align: center;
	width: 6em;
	display: block;
}


.rlink[href] {
    color: var(--rlink-color) !important;
    text-decoration: var(--rlink-text-decoration, none) !important;
}

.text-sliding_v8 {
    --text-sliding-back-transform: translate3d(0, 140%, 0);
    --text-sliding-front-transform: translate3d(0, 0, 0);
}

.text-sliding {
    --ui-text-sliding-default-color: var(--text-sliding-default-color, currentcolor);
    --ui-text-sliding-default-transition-property: var(--text-sliding-default-transition-property, transform);
    --ui-text-sliding-default-transition-duration: var(--text-sliding-default-transition-duration, .35s);
    --ui-text-sliding-default-transition-delay: var(--text-sliding-default-transition-delay);
    --ui-text-sliding-default-transition-timing-function: var(--text-sliding-default-transition-timing-function, cubic-bezier(.86, .6, .08, 1.01));
    --ui-text-sliding-default-will-change: var(--text-sliding-default-will-change, transform);
    position: relative;
    overflow: hidden;
}

.rlink {
    /*display: var(--rlink-display, inline-flex) !important; */
}

.text-sliding__label {
    display: var(--text-sliding-front-display, block);
    color: var(--text-sliding-front-color, var(--ui-text-sliding-default-color));
    transform: var(--text-sliding-front-transform);
    transition-property: var(--text-sliding-front-transition-property, var(--ui-text-sliding-default-transition-property));
    transition-duration: var(--text-sliding-front-transition-duration, var(--ui-text-sliding-default-transition-duration));
    transition-timing-function: var(--text-sliding-front-transition-timing-function, var(--ui-text-sliding-default-transition-timing-function));
    transition-delay: var(--text-sliding-front-transition-delay, var(--ui-text-sliding-default-transition-delay));
    will-change: var(--text-sliding-front-will-change, var(--ui-text-sliding-default-will-change));
}

.text-sliding::before {
    content: attr(data-text-sliding);
    position: absolute;
    color: var(--text-sliding-back-color, var(--ui-text-sliding-default-color));
    transform: var(--text-sliding-back-transform);
    transition-property: var(--text-sliding-back-transition-property, var(--ui-text-sliding-default-transition-property));
    transition-timing-function: var(--text-sliding-back-transition-timing-function, var(--ui-text-sliding-default-transition-timing-function));
    transition-duration: var(--text-sliding-back-transition-duration, var(--ui-text-sliding-default-transition-duration));
    transition-delay: var(--text-sliding-back-transition-delay, var(--ui-text-sliding-default-transition-delay));
    will-change: var(--text-sliding-back-will-change, var(--ui-text-sliding-default-will-change));
    display: block;
    width: 100%;
    text-align: center;
}

.text-sliding_v8:hover {
    --text-sliding-back-transform: translate3d(0, 0, 0);
    --text-sliding-front-transform: translate3d(0, -140%, 0);
}

}

/* --- IE のみ --- */
@media all and (-ms-high-contrast: none) {
  /* ここに書く */

}


/* --- hamburger --- */

.hamburger {
  transition: all .4s;
  box-sizing: border-box;
  display: none;
}
.hamburger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.hamburger {
  position: relative;
  width: 8.75vw;
  height: 7.5vw;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer;
}
.hamburger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.5vw;
  background-color: #8AABB8;
  border-radius: 0.5vw;
}
.hamburger span:nth-of-type(1) {
  top: 0;
}
.hamburger span:nth-of-type(2) {
  top: 3.5vw;
}
.hamburger span:nth-of-type(3) {
  bottom: 0;
}

.hamburger span {
  left: 1.25vw;
  width: 7.5vw;
}
.hamburger span::before {
  position: absolute;
  top: -0.25vw;
  left: -1.5vw;
  content: '';
  width: 1vw;
  height: 1vw;
  background-color: #8AABB8;
  border-radius: 50%;
}
.hamburger.active span {
  left: 0;
  width: 100%;
}
.hamburger.active span::before {
  content: none;
}
.hamburger.active span:nth-of-type(1) {
  transform: translateY(3.5vw) rotate(-45deg);
}
.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active span:nth-of-type(3) {
  transform: translateY(-3.5vw) rotate(45deg);
}
/* --- page top --- */

#page-top {
	position: fixed;
	bottom:156px;
	right:0%;
	z-index:10;
	opacity:0;
	padding-left:5em;
	transform:translateY(40px) rotate(90deg);
}

#page-top::before {
	content:"";
	display: block;
	width:4em;
	height:1px;
	background:#000;
	position:absolute;
	left:0;
	bottom:0;
	top:0;
	margin:auto 0;
}

#page-top:hover {
	opacity:1;
}

#page-top.on {
	opacity:1;
	/*transform:translateY(0px) rotate(90deg);*/
}

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

	#page-top {
		right:-3vw;
	}
}


@media screen and (min-width:769px){
#page-top:hover {
	opacity:0.7;
}

}

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

footer {
	width:100%;
}

.footer_inner {
	width: 100%;
	max-width:1650px;
	padding:60px 70px 30px;
	position:relative;
	margin:0 auto;
}


.footer_info p {
	margin:1.5em 0 2.5em 0;
}
.copy {
	font-size:1.2rem;
}

.footer_nav_list {
	margin-bottom:3em;
}

.footer_nav  li  {
	margin:0 0 1em 2em;
}

.footer_link li a {
	letter-spacing: 0.1rem;
	padding-left:2em;
	position:relative;
	font-size:1.4rem;
}

.footer_link li a::before {
	content:"";
	display:block;
	width:1.5em;
	height:1.5em;
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	margin:auto 0;
}

.footer_link .nav_web::before {
	background:url(../images/common/icon_web_black2.svg) no-repeat center / contain;
}
.footer_link .nav_insta::before {
	background:url(../images/common/icon_insta_black.svg) no-repeat center / contain;
}
/* ---------  footer ここまで ------------ */

/* --- resevation --- */
.reservation {
	background:linear-gradient(180deg,#fff 0%, #fff 38px, #E1E7E9 38px,#E1E7E9 100%);
	padding:80px 0;
}

.reservation .inner {
	max-width:1575px;
}

.reservation .h_title {
	color:#4C5E65!important;
}

.reservation .h_title::after {
	background:#8AABB8!important;
}


.res_link {
	width:32%;
	max-width:400px;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	padding:1.14em 0 1.14em;
	font-size:2.3vw;
	/*font-weight:300;*/
	line-height:1.2em;
}

.res_link span {
	font-size:2.0vw;
	line-height:1.2em;
	position:relative;
	padding-left:1.8em;
	display:inline-block;
}

.res_link span::before {
	content:"";
	display: block;
	width:1.3em;
	height:1.3em;
	position:absolute;
	left:0;
	bottom:0;
	top:0;
	margin:auto 0;
}

.res_web span::before {
	background:url(../images/common/icon_web_black.svg) no-repeat center / contain;
}

.res_tel span::before {
	background:url(../images/common/icon_tel_black.svg) no-repeat center / contain;
}

.res_mail span::before {
	background:url(../images/common/icon_mail_black.svg) no-repeat center / contain;
}





/* ---------  ver.SmartPhone ------------ */

/* font-size ---

if : window size = 750px


*/


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


.pc_none,
.hamburger {
	display:block;
}

.sp_none {
	display:none;
}

.inner {
	width:100%;
	margin:0 auto;
	padding:0 5vw;
}

main {
	padding-top:15vw;
}

p {
	font-size:3.5vw;
}


/* --- flex --- */

.d_flex {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* --- btn --- */


.btn_link {
	padding:0 16vw 0 0;
	font-size:4.5vw;
}

.btn_link::before {
	width:6.25vw;
	height:6.25vw;
	right:5vw;
}

.btn_link::after {
	width:9.5vw;
	height:1.75vw;
}
/* --- main --- */

/* --- header --- */

header {
	height:15vw;
	transform:translateY(0)!important;
}

.header_inner {
	height:100%;
	padding:2.5vw 5vw;
}

.header_inner.jus_sb {
	justify-content: flex-start;
	-webkit-justify-content:flex-start;
}

.header_logo {
	width:22.5vw;
}

.insta_sp {
	margin-left:auto;
	margin-right:3.5vw;
	width:10vw;
}


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

/* --- nav --- */

.header_nav {
	width:100%;
	/*
	height:100vh;
	height:calc(100vh - 15vw);
	*/
	overflow-y:auto;
	background:rgba(225,231,233,0.95);
	position:fixed;
	top:0;
	left:0;
	display: none;
	margin-top:15vw;
	padding:3vw 25vw 55vw;
}

.nav_list > li {
	width:100%;
	margin-left:0;
}

.nav_list > li a {
	display: block;
	text-align: center;
	width:100%;
	padding:1.25em 0;
	font-size:4.27vw;
	border-bottom:1px solid #8AABB8;
}
.nav_list > li a span {
	font-size:4.27vw;
}
/* --- nav fin --- */

/* --- btn --- */

.tel_btn {
	width:56.43vw;
	height:16vw;
	margin:0 auto;
}

.tel_btn img,
.footer_info .tel_btn img {
	max-width:100%;
}

.tel_btn img {
	width:21.3vw;
}

.tel_btn::before {
	width:6.14vw;
	height:9.74vw;
	left:6vw;
}



/* --- footer --- */

.footer_inner {
	padding:8.75vw 5vw 22.5vw;
}

.footer_info,
.footer_nav {
	width:100%;
}

.footer_info h1 {
	width:22.5vw;
	margin:0 auto;
}

.footer_info p {
	text-align:center;
	margin:1.5em 0 1.8em 0;

}
.copy {
	display: block;
	width:100%;
	text-align:center;
	font-size:3vw;
}

.footer_nav {
	width:100%;
	z-index:20;
	opacity:0;
	transform:translateY(10vw);
	position:fixed;
	left:0;
	bottom:0;
	transition:transform .4s;
}

.footer_link li {
	width:100%;
	margin:0;
}

.footer_link.jus_end {
	width:100%;
	padding:0 5vw 5vw 5vw;
	justify-content: space-between;
	-webkit-justify-content:space-between;
}

.footer_nav.on2{
	opacity:1;
	transform:translateY(0);
}

.footer_link li a {
	display:block;
	width:80%;
	margin-left: 10%;
	margin-right: 10%;
	font-size:4vw;
	color:#8AABB8;
	height:12.5vw;
	line-height:11vw;
	border:2px solid #8AABB8;
	border-radius:6.25vw;
	font-weight:500;
	padding-left:0;
	background:#fff;
}

.footer_link .nav_web {
	padding-left:25vw;
}

.footer_link .nav_web::before {
	left:17vw;
	background:url(../images/common/icon_web.svg) no-repeat center / contain;
}
.footer_link .nav_tel {
	padding-left:10.5vw;
}

.footer_link .nav_tel::before {
	left:4vw;
	background:url(../images/common/icon_tel.svg) no-repeat center / contain;
}



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

/* --- google map --- */


/* --- page top --- */
#page-top {
	position:absolute;
	font-size:3.5vw;
	opacity:1;
	transform:translateY(0) rotate(90deg);
	right:-10vw;
	bottom:36vw;
}

/* --- h_title --- */


.h_title {
	font-size:10vw;
	padding-bottom:0.4em;
}

.h_title::after {
	width:1em;
}

/* --- blog cate time --- */

.cate {
	font-size:3.5vw;
}

.time {
	font-size:3vw;
}

/* --- reservation --- */

.reservation {
	padding-bottom:12.5vw;
	background: linear-gradient(180deg,#fff 0%, #fff 6.25vw, #E1E7E9 6.25vw,#E1E7E9 100%);
}


.res_link {
	width:100%;
	max-width:100%;
	font-size:6.25vw;
}

.res_link span {
	font-size:7.5vw;
}

.res_link:not(:last-of-type) {
	margin-bottom:6vw;
}

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





	}
}
/* ---------  ver.SmartPhone fin ------------ */



/***20210427追記***/
#yoyaku{
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
