@charset "UTF-8";

/*
Theme Name: 「宮古島 Garden BBQ & Stay ANCHOR（アンカー）」
Description: 沖縄県宮古島市「宮古島 Garden BBQ & Stay ANCHOR（アンカー）」さまのWebサイトです。
*/

/****************************************************************************************************



	初期設定



****************************************************************************************************/
html { 
	font-size: 62.5%;/*10px*/
	scroll-behavior: smooth;
}
body {    
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	font-size: 1.6rem;
	-webkit-text-size-adjust: none;
	line-height: 2.2;
	letter-spacing: .025em;
	color: var(--font-color);
	overflow-x: hidden;
	background-color: #fff;
}

/***----- iOSで拡大ズームが起きるのを避ける -----***/
button { touch-action: manipulation; }


/****************************************************************************************************



	CSS変数を定義



****************************************************************************************************/
:root {
	--base-color: #fff;
    --key-color: #548ad3;
    --key-color-lighter: #fef5eb;
    --key-color-darker: #fb8200;
	--accent-color: #9be1fa;
	--accent-color-lighter: ;
	--accent-color-darker: ;
	--font-color: #19140f;
	--gray: #e4e3e2;
	--gray-lighter: #f5f5f4;
	--gray-darker: #d8d6d5;
	--notice: #e05716;
    --shadow: rgba(17, 17, 26, 0.05) 0px 1px 0px, rgba(17, 17, 26, 0.1) 0px 0px 8px;
    --shadow-color: rgba(0, 123, 67, 0.05) 0px 1px 0px, rgba(0, 123, 67, 0.1) 0px 0px 8px;
    --font-title: "Shippori Mincho", serif;
    --font-gothic: "Noto Sans JP", sans-serif;
    --font-mincho: "Noto Serif JP", serif;
    --font-eng: "Cinzel", serif;
}



/****************************************************************************************************



	header



****************************************************************************************************/
body.is-menuOpen { overflow: hidden; }

.l-header {
	width: 100%;
	height: 100px;
	padding-inline: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1200;
	transition: background-color 0.3s ease, border-color 0.3s ease;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
}
body.is-menuOpen .l-header {
	background: transparent;
	border-bottom-color: transparent;
	pointer-events: none;
}
body.is-menuOpen .c-menuButton { pointer-events: auto; }

.header-logo {
	width: 180px;
	transition: opacity 0.3s ease;
}
body.is-menuOpen .header-logo { opacity: 0; }

.c-menuButton {
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
	z-index: 1201;
	margin-top: -25px;
}
.c-menuButton__line {
	width: 30px;
	height: 2px;
	background: #fff;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition: top 0.3s ease, transform 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}
.c-menuButton__line:nth-child(1) {
 	top: 14px;
}
.c-menuButton__line:nth-child(2) {
	top: 23px;
}
.c-menuButton__line:nth-child(3) {
	top: 32px;
}
.c-menuButton.is-active .c-menuButton__line {
	background: #fff;
}
.c-menuButton.is-active .c-menuButton__line:nth-child(1) {
	top: 23px;
	transform: translateX(-50%) rotate(45deg);
}
.c-menuButton.is-active .c-menuButton__line:nth-child(2) {
	opacity: 0;
}
.c-menuButton.is-active .c-menuButton__line:nth-child(3) {
	top: 23px;
	transform: translateX(-50%) rotate(-45deg);
}
.c-globalMenu {
	width: min(420px, 100%);
	height: 100dvh;
	padding: 100px 40px 40px;
	background: var(--key-color);
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1150;
	opacity: 0;
	visibility: hidden;
	transform: translateX(100%);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
.c-globalMenu.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}
.c-globalMenu__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.c-globalMenu__list li + li {
    padding: 14px 0px;
    border-top: solid 1px #fff;
}
.c-globalMenu__list li:first-child {
    padding: 14px 0px;
    border-top: solid 1px #fff;
}
.c-globalMenu__list li:last-child {
    padding: 14px 0px;
    border-bottom: solid 1px #fff;
}
.c-globalMenu__list a {
	color: #fff;
	text-decoration: none;
}
.c-globalMenu__list a:hover {
	color: #fff;
	text-decoration: none;
	padding-bottom: 2px;
	border-bottom: 1px dashed #fff;
}
.c-overlay {
	width: 100%;
	height: 100dvh;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, 0.42);
	position: fixed;
	inset: 0;
	z-index: 1050;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	cursor: pointer;
}
.c-overlay.is-active {
	opacity: 1;
	visibility: visible;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media screen and (max-width: 1280px) {

}



/****************************************************************************************************



	.movie



****************************************************************************************************/
.movie {
	position: relative;
	width: 100%;
	min-width: 1200px;
	height: auto;
	background:url(../movie/top.jpg) no-repeat center;
	background-size: cover;
}
.movie::before {
	content: "";
	display: block;
	padding-top: 45.7142857%;
}
.movie__inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 0;
}
.movie video {
	width: 100%;
	height: auto !important;
	margin-left: auto;
	margin-right: auto;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (orientation:portrait) {

.movie {
	  /*height: 100vh;*/
	  background: url(movie/top.jpg) no-repeat center;
	  background-size: cover;
}
.movie::before {
	content: "";
	display: block;
	padding-top: 45.7142857%;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1280px) {

.movie {
	width: 100%;
	min-width: 100%;
	/*margin-top: 80px;*/
}
}



/****************************************************************************************************



	page-header / page-title



****************************************************************************************************/
.page-header {
	width: 100%;
	min-width: 1200px;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.page-header::before {
	content: "";
	display: block;
	padding-top: 41.40625%;
}
.page-header::after {
	content: "";
	background: rgba(0,0,0,.2);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}

/***----- 各ページヘッダー -----***/
.sightseeing .page-header {
    background: url("img/sightseeing/page-header.jpg") no-repeat center center;
	background-size: cover;

}
.news .page-header {
    background: url("img/news/page-header.jpg") no-repeat center center;
	background-size: cover;

}

@media only screen and (max-width: 640px) {
.sightseeing .page-header {
	height: 40vh;
}
.news .page-header {
	height: 40vh;
}

}

/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1280px) {

.page-header {
	width: 100%;
	min-width: 100%;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {

.page-header {
	width: 100%;
	min-width: 100%;
}
}


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

.page-header::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	page-title

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.page-title {
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 4rem;
    font-weight: 500;
	text-shadow: 1px 1px 2px rgba(0,0,0,.5);
	-ms-overflow-style: none;
	scrollbar-width: none;
	position: relative;
	color: #fff;
	width: 100%;
	z-index: 1;
}
.page-title::after {
	content: attr(data-eng);
	font-size: 2rem;
	font-family: var(--font-title);
	font-weight: 400;
	text-shadow: 1px 1px 2px rgba(0,0,0,.2);
	position: absolute;
	bottom: -25px;
	display: inline-block;
}


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

.page-title {
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 3.6rem;
	text-shadow: 1px 1px 2px rgba(0,0,0,.5);
	-ms-overflow-style: none;
	scrollbar-width: none;
	position: relative;
	color: #fff;
	width: 100%;
	z-index: 1;
	margin-top: -30px;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

.page-title {
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 3.2rem;
	text-shadow: 1px 1px 2px rgba(0,0,0,.5);
	-ms-overflow-style: none;
	scrollbar-width: none;
	position: relative;
	color: #fff;
	width: 100%;
	z-index: 1;
	margin-top: -20px;
}
.page-title::after {
	content: attr(data-eng);
	font-size: 1.6rem;
	text-shadow: 1px 1px 2px rgba(0,0,0,.2);
	position: absolute;
	display: inline-block;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 376px) {

.page-title {
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 2.8rem;
	text-shadow: 1px 1px 2px rgba(0,0,0,.5);
	-ms-overflow-style: none;
	scrollbar-width: none;
	position: relative;
	color: #fff;
	width: 100%;
	z-index: 1;
	margin-top: -10px;
}
}



/****************************************************************************************************



	main



****************************************************************************************************/
.main {
	width: 100%;
	height: 100%;
	margin: 0 auto;
}

.container,
.container-l,
.container-m,
.container-s,
.container-ss,
.container-fluid {
	width: 100%;
}
.container { max-width: 1280px; }
.container-l { max-width: 1400px; }
.container-m { max-width: 1120px; }
.container-s { max-width: 960px; }
.container-ss { max-width: 840px; }
.container-fluid { max-width: 100%; }

.container,
.container-l,
.container-m,
.container-s,
.container-ss {
	margin: 0 auto;
}

.py-l { padding: 120px 20px; }
.py-m { padding: 96px 0; }
.py-s { padding: 64px 0; }
.py-ss { padding: 48px 0; }



/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1200px) {

.main,
.container,
.container-l,
.container-m,
.container-s,
.container-ss,
.container-fluid {
	width: 100%;
	max-width: 100%;
}
.py-l { padding: 120px 2.5%; }
.py-m { padding: 96px 2.5%; }
.py-s { padding: 84px 2.5%; }

.container-fluid.py-l { padding: 120px 0; }
.container-fluid.py-m { padding: 96px 0; }
.container-fluid.py-s { padding: 84px 0; }

}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

.py-l { padding: 100px 2.5%; }
.py-m { padding: 84px 2.5%; }
.py-s { padding: 64px 2.5%; }

.container-fluid.py-l { padding: 100px 0; }
.container-fluid.py-m { padding: 84px 0; }
.container-fluid.py-s { padding: 64px 0; }

}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

.py-l { padding: 80px 2.5%; }
.py-m { padding: 64px 2.5%; }
.py-s { padding: 48px 2.5%; }

.container-fluid.py-l { padding: 0px 0; }
.container-fluid.py-m { padding: 64px 0; }
.container-fluid.py-s { padding: 48px 0; }


a { 
	color: var(--key-color);
	text-decoration: underline;
}
a:hover { 
	color: var(--font-color);
	text-decoration: none;
}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	見出し

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
h1, h2, h3, h4 { 
	line-height: 1.8; 
	font-weight: 600;
	font-family: var(--font-title);
}
h1 { font-size: 4.0rem; }
h2 { 
	font-size: 3.6rem; 
	margin-bottom: 40px;
    line-height: 150%;
}
h3 { font-size: 3.2rem; }
h4 { font-size: 2.8rem; }

/***----- しっぽり明朝 -----***/
.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}
.shippori-mincho-medium {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}
.shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  font-style: normal;
}
.shippori-mincho-bold {
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  font-style: normal;
}

/***----- 英語 -----***/
.cinzel-<uniquifier> {
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

h1 { font-size: 3.8rem; }
h2 { font-size: 3.4rem; }
h3 { font-size: 3.0rem; }
h4 { font-size: 2.6rem; }

}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

h1 { font-size: 3.6rem; }
h2 { font-size: 3.2rem; }
h3 { font-size: 2.8rem; }
h4 { font-size: 2.4rem; }

}


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

h1 { font-size: 3.4rem; }
h2 { font-size: 3.0rem; }
h3 { font-size: 2.6rem; }
h4 { font-size: 2.2rem; }

}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

h1 { font-size: 3.2rem; }
h2 { font-size: 2.8rem; }
h3 { font-size: 2.4rem; }
h4 { font-size: 2.0rem; }

}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 376px) {

h1 { font-size: 3.0rem; }
h2 { font-size: 2.6rem; }
h3 { font-size: 2.2rem; }
h4 { font-size: 2.0rem; }

}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	装飾

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.bg-color { background-color: #f7f6f5; }

/***----- notesはインデントする -----***/
div[class*="notes"] p,
p[class*="notes"] {
    padding-left: 1em;
    text-indent: -1em;
}
/***----- classに"image"がついてる画像は角丸 -----***/
div[class*="image"] img,
ul[class*="image"] img,
figure[class*="image"] img {
	border-radius: 3px;
}
.new-line { display: inline-block; }
.marker { 
	display: inline; 
	background: linear-gradient(transparent 70%, rgb(251 140 119 / .5) 70%);
}
.slash::before {
	content: "／";	
}

/***----- 画像hoverで明るくなる（imgにclassをつける） -----***/
.effect-brightness {
	transition: filter 0.3s ease;
	filter: brightness(1); 
}
.effect-brightness:hover { filter: brightness(1.15); }

/***----- pngにシャドウ -----***/
.drop-shadow {
	filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, .2));
}
.drop-shadow2 {
	filter:drop-shadow(1px 2px 4px rgba(255, 255, 255, .5));
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	詳しく見るボタン

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.go-detail a {
	display: block;
	width: 220px;
	padding: 12px 0;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% auto;
	background-image: linear-gradient(
		to right,
		#666362 0%,
    	#666362 50%,
    	transparent 50%,
    	transparent 100%
	);
	box-shadow: 0 3px 6px rgb(0 0 0 / 5%);
	transition: background-position ease 0.4s;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 600;
	position: relative;
	background-color: var(--key-color);
	border-radius: 9999px;
	margin-top: 20px;
}
.go-detail.miyakojima a {
	display: block;
	width: 420px;
	padding: 12px 0;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% auto;
	background-image: linear-gradient(
		to right,
		#666362 0%,
    	#666362 50%,
    	transparent 50%,
    	transparent 100%
	);
	box-shadow: 0 3px 6px rgb(0 0 0 / 5%);
	transition: background-position ease 0.4s;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 600;
	position: relative;
	background-color: var(--key-color);
	border-radius: 9999px;
	margin-top: 80px;
}
.go-detail a:hover {
	background-position: 0 0;
	color: #fff;
}
.go-detail a span::after {
    content: '→';
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -18px;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

.go-detail.miyakojima a {
	display: block;
	width: 100%;
	padding: 12px 0;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% auto;
	background-image: linear-gradient(
		to right,
		#666362 0%,
    	#666362 50%,
    	transparent 50%,
    	transparent 100%
	);
	box-shadow: 0 3px 6px rgb(0 0 0 / 5%);
	transition: background-position ease 0.4s;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 600;
	position: relative;
	background-color: var(--key-color);
	border-radius: 9999px;
	margin-top: 80px;
}
}

/****************************************************************************************************



	scroll animation



****************************************************************************************************/
/* スクロールすると下からふわっとさせるためのコード */
.inview {
  transform: translateY(30px);
  opacity: 1;
  transition: transform 2s, opacity 2s;
}

/* htmlにroadクラスがある場合だけ初期状態を非表示 */
.road .inview {
  opacity: 0;
  transform: translateY(30px);
}

.road .inview.show {
  transform: translateY(0);
  opacity: 1;
}

/****************************************************************************************************



	1. トップページ / home



****************************************************************************************************/
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	ごあいさつ

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.greeting-contents {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	column-gap: 60px;
}
.greeting__desc { 
	width: 45%;
	padding: 0;
}
.greeting__image { width: 60%; }
div.greeting__image[class*="image"] img,
ul.greeting__image[class*="image"] img,
figure.greeting__image[class*="image"] img {
	border-radius: 60px 0 60px 0;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {

.greeting-contents {
	width: 100%;
	margin: 0 auto;
	display: flex;
	column-gap: 40px;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

.greeting-contents {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	column-gap: 0;
	row-gap: 40px;
}
.greeting__desc { 
	width: 100%;
	padding: 0 3%;
}
.greeting__image { width: 100%; }

}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	ピックアップ

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.feature-contents {
	display: flex;
	flex-direction: column;
	row-gap: 80px;
}
.feature__item,
.feature__item:nth-of-type(3n) { 
	display: flex;
	flex-direction: row-reverse;
}
.feature__item:nth-of-type(2n)  { 
	display: flex;
	flex-direction: row;
}
.feature__desc { 
	width: 40%;
	display: flex;
    flex-direction: column;
    justify-content: center; 
    padding: 3% 5%;
}
.feature__image { 
	width: 60%;
	overflow: hidden;
	aspect-ratio: 1750 / 1250;
}

div.feature__image [class*="image"] img,
ul.feature__image [class*="image"] img,
figure.feature__image[class*="image"] img {
	border-radius: 0 9999px 9999px 0;
}
.feature__item:nth-of-type(2n) div.feature__image [class*="image"] img,
.feature__item:nth-of-type(2n) ul.feature__image [class*="image"] img,
.feature__item:nth-of-type(2n) figure.feature__image[class*="image"] img {
	border-radius: 9999px 0 0 9999px;  
}

.feature__image img {
	width: 100%;
	height: 100%;
	max-height: 1250px;
	object-fit: cover;
}


.feature__title{
    line-height: 150%;
}

.feature__title p { 
	margin-top: -20px;
	margin-bottom: 20px;
	font-family: var(--font-eng);
	font-size: 1.4rem;
	color: var(--key-color);
}
.feature__desc .go-detail { margin-top: 20px; }


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

.feature__item,
.feature__item:nth-of-type(3n) { 
	display: flex;
	flex-direction: column;
	row-gap: 40px;
}
.feature__item:nth-of-type(2n)  { 
	display: flex;
	flex-direction: column;
	row-gap: 40px;
}
.feature__desc { 
	width: 100%;
	display: flex;
    flex-direction: column;
    justify-content: center; 
    padding: 3% 5%;
}
.feature__image { 
	width: 100%;
	overflow: hidden;
	aspect-ratio: 1750 / 1250;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

.feature__desc { 
	width: 100%;
	display: flex;
    flex-direction: column;
    justify-content: center; 
    padding: 5% 3%;
}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	トップ新着情報 / top-news

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.information .container { 
	content: "";
	display: table;
	clear: both;
}
.top-news { 
	width: calc( 860 / 1200 * 100% );
 	float: left;
}

/*.go-detail.-news { float: right; }*/
.go-news-list {
    display: flex;
    justify-content: flex-end;
}
.go-detail.-news a {
	display: block;
	width: 280px;
	padding: 12px 0;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% auto;
	background-image: linear-gradient(
		to right,
		var(--key-color-darker) 0%,
    	var(--key-color-darker) 50%,
    	transparent 50%,
    	transparent 100%
	);
	box-shadow: 0 3px 6px rgb(0 0 0 / 5%);
	transition: background-position ease 0.4s;
	text-align: center;
	color: var(--font-color);
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 600;
	position: relative;
	background-color: var(--key-color);
	margin-top: 20px;
}
.go-detail.-news a:hover {
	background-position: 0 0;
	color: #fff;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

.top-news { 
	width: 100%;
 	float: none;
}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	アクセスマップ

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 45%;
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/***----- 宿情報 -----***/
.inn-info__wrapper {
	display: flex;
	column-gap: 60px;
	margin-bottom: 80px;
}
.inn-info { 
	display: flex;
	flex-direction: column;
}
.inn-name { 
	font-size: 1.8rem;
	font-weight: 500;
	font-family: var(--font-gothic);
	margin-bottom: 20px;
}
.inn-address .sp-480 { display: none; }

.inn-check { margin-left: -.5em; }

	
/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 668px) {

.gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 55%;
}

/***----- 宿情報 -----***/
.inn-info__wrapper {
	display: flex;
	flex-direction: column;
	column-gap: 0;
	row-column: 80px;
	margin-bottom: 80px;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

.inn-address .sp-480 { display: block; }
.inn-contact .slash::before {
	content: "";
	display: block;	
}
.inn-reception .slash::before {
	content: "";
	display: block;	
}

.inn-check .check__item { 
	display: flex;
	flex-direction: column;
}
.inn-check .check__item dd { 
	margin-left: .5em;
}
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 376px) {

.inn-name .sp-376 { display: block; }

}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	お知らせ

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.top-news { width: 100%; }
.news-contents {
	display: flex;
	column-gap: 80px;
}
.news-contents h2 { width: calc( 200 / 1200 * 100% ); }
#newsList { width: calc( 960 / 1200 * 100% ); }
.news #newsList { width: 100%; }

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



/*.go-detail.-news { float: right; }*/
.go-news-list {
    display: flex;
    justify-content: flex-end;
}

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

.go-news-list {
    display: flex;
    justify-content: center;
}


}


.go-detail.-news a {
	display: block;
	width: 280px;
	padding: 12px 0;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-size: 200% auto;
	background-image: linear-gradient(
		to right,
		#666362 0%,
    	#666362 50%,
    	transparent 50%,
    	transparent 100%
	);
	box-shadow: 0 3px 6px rgb(0 0 0 / 5%);
	transition: background-position ease 0.4s;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 600;
	position: relative;
	background-color: var(--key-color);
	margin-top: 20px;
}
.go-detail.-news a:hover {
	background-position: 0 0;
	color: #fff;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {

.news-contents {
	display: flex;
	flex-direction: column;
	align-items: center;
	column-gap: 0;
	row-gap: 80px;
}
.news-contents h2 { 
	width: 100%;
    margin-bottom: 0px;
	}

}



/****************************************************************************************************



	2. サービスのご案内 / service



****************************************************************************************************/
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	イントロ / service-intro

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.service-intro {
	height: 100vh;
	background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url(img/service/bg_main-visual.jpg) no-repeat center center / cover;
	background-attachment: fixed;
	display: flex;
    flex-direction: column;
    justify-content: center;
	color: white;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1400px) {

.service-intro {
	background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url(img/service/bg_main-visual.jpg) no-repeat center center / cover;
	position: relative;
	background-attachment: scroll;
}
.service-intro::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url(img/service/bg_main-visual.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: -1;
}
}  
    
    
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	service-list

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.service-detail__wrapper {
	background-color: #fff;
    padding: 0px 20px;
}
.service-detail__wrapper:nth-of-type(2n) {
	background-color: #f7f6f5;
}
.service-detail {
	max-width: 1280px;
	margin: 0 auto;
 	display: flex;
 	padding: 80px 0;
    align-items: center;
}
.service-detail__wrapper:nth-of-type(2n) .service-detail {
	max-width: 1280px;
	margin: 0 auto;
 	display: flex;
 	flex-direction: row-reverse;
 	padding: 80px 0;
}
.service-detail__desc { 
	width: 35%; 
	padding-right: 3%;
}
.service-detail__wrapper:nth-of-type(2n) .service-detail .service-detail__desc { 
	width: 35%; 
	padding-left: 3%;
}
.service-detail__image { width: 65%; }


/***----- カルーセルスライダー -----***/
.carousel-slider { 
	background-color: #fff;
	overflow-x: hidden;
}
.carousel-slider .slick-list {
	margin: 0 -3px;
}
.carousel-slider .slick-slide {
	margin: 0 3px;
} 


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {

.service-detail__wrapper {
	padding: 0 2.5%;
}
.service-detail {
	max-width: 1200px;
	margin: 0 auto;
 	display: flex;
 	flex-direction: column;
 	row-gap: 40px;
 	padding: 80px 0;
}
.service-detail__wrapper:nth-of-type(2n) .service-detail {
	max-width: 1200px;
	margin: 0 auto;
 	display: flex;
 	flex-direction: column;
 	row-gap: 40px;
  	padding: 80px 0;
}
.service-detail__desc { 
	width: 100%; 
	padding: 0 3%;
}
.service-detail__wrapper:nth-of-type(2n) .service-detail .service-detail__desc { 
	width: 100%; 
	padding-left: 3%;
}
.service-detail__image { width: 100%; }

}

/****************************************************************************************************



	3. 客室のご紹介 / rooms



****************************************************************************************************/
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	イントロ / roomms-intro

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.rooms-intro {
	height: 100vh;
	background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url(img/rooms/bg_main-visual.jpg) no-repeat center center / cover;
	background-attachment: fixed;
	display: flex;
    flex-direction: column;
    justify-content: center;
	color: #fff;
}
.rooms-intro__title { margin-bottom: 60px; }


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1400px) {

.rooms-intro {
	background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url(img/rooms/bg_main-visual.jpg) no-repeat center center / cover;
	position: relative;
	background-attachment: scroll;
}
.rooms-intro::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-image: url(img/rooms/bg_main-visual.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: -1;
}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	客室 / room-contents

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.room-contents { background-color: #fff; }
.room__item { display: flex; }
.room__desc { 
	width: 40%;
	padding: 0 3% 0 0;
}
.room__image { width: 60%; }

	.number-of-people {
	padding: .25em .75em;
	border-top: 1px solid #d5d5d5;
	border-bottom: 1px solid #d5d5d5;
	display: inline-block;
	margin-bottom: 40px;
}

.room-thumbnail { margin-top: 3px; }

.room-amenities {
	display:flex;
	flex-direction: column;
	flex-wrap: wrap;
	border-bottom: 1px solid #d5d5d5; 
	margin-top: 20px;
}
.room-amenities dt {
	padding: 5px;
	border-top: 1px solid #d5d5d5;
	font-weight: 500;
}
.room-amenities dd {
	font-size: 14px;
	padding: 5px;
	margin: 0;
	border-top: 1px solid #d5d5d5; 
}


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

	.number-of-people {
	margin-bottom: 20px;
}

}





/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

.room__item { 
	display: flex;
	flex-direction: column;
	row-gap: 40px;
}
	
.room-contents .container h2,.private-rental .container h2{
	padding: 0 3%;
	}
	
.room__desc { 
	width: 100%;
	padding: 0 3%;
}
.room__image { width: 100%; }

}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	貸切 / private-rental

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.private-rental__item {
	display: flex;
	flex-direction: row-reverse;
}
.private-rental__desc { 
	width: 40%;
	padding: 0 3%;
}
.private-rental__image { width: 60%; }


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

.private-rental__item {
	display: flex;
	flex-direction: column;
	row-gap: 40px;
}
.private-rental__desc { 
	width: 100%;
	padding: 0 3%;
}
.private-rental__image { width: 100%; }

}



/****************************************************************************************************



	5. 周辺観光 / sightseeing



****************************************************************************************************/
/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	周辺観光リード

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.area-guide-lead__desc {
	padding: 0 3%;
	margin-bottom: 80px;
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	周辺観光

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.area-card__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 80px;
}
.area-card__item {
	width: calc( ( 100% - 80px ) / 2 );
	display: flex;
	flex-direction: column;
}
.area-card__header {
	position: relative;
	padding-top: 66.6666667%;
}
.area-card__title { 
	font-size: 2.4rem;
	padding: 0px;
}
.area-card__thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
}
.area-card__image { width: 100%; }
.area-card__body { padding: 5px 0px 0px 0px; }
.area-card__txt {}
.card__txt + .card__txt { margin-top: .5rem; }
.area-card__footer {
	padding: 5px 0 0 0;
	margin-top: auto;
}
.time-required { padding-bottom: 20px; }
.time-required i { margin-right: .25em; }


/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {

.area-card__list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}
.area-card__item {
	width: 100%;
	display: flex;
	flex-direction: column;
}
}



/****************************************************************************************************



	7. 新着情報 / news



****************************************************************************************************/
.news-contents { }
.news__title {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 600;
	font-size: 2.4rem;
	padding-bottom: 0;
	margin-bottom: 24px;
	display: inline-block;
	color: var(--font-color);
}
.news__title::before {
	content: attr(data-eng);
	display: block;
	color: var(--key-color);
	font-family: var(--font-eng);
	font-weight: normal;
	font-size: 1.8rem;
	position: absolute;
	right: -55px;
	top: 8px;
}

/***----- news.php -----***/
#newsList li { 
	padding-bottom: 1em;
	border-bottom: 1px dotted var(--font-color);
	margin-bottom: 1em;
}
.up_ymd { color: var(--font-color); }
.catName { 
	padding: .15em .5em;
	background-color: var(--key-color);
	font-size: 1.3rem;
	color: #fff;
	margin-right: 24px;
}
.title a { color: var(--font-color); }
.title a:hover { color: var(--key-color); text-decoration: none; }
.newMark {
	color: var(--accent-color);
	margin-left: .5em;
}

/***----- news-detail.php -----***/
.pNav {
	font-size: 1.4rem;
	margin-bottom: 64px;
}
.pNav a { color: var(--font-color); }
.news-detail__title {
	font-size: 2.4rem;
	color: var(--key-color);
	padding-bottom: .5em;
	border-bottom: 1px dotted var(--font-color);
	margin-bottom: 1em;
}
.detailUpfile { margin: 40px 0; }
#up_ymd { 
	display: inline-block;
	padding: .15em .45em .15em .85em;
	background-color: var(--key-color);
	font-size: 1.4rem;
	color: #fff;
	margin-bottom: 1em;
}
#detail { margin-top: 20px; }
.backORcloseBtn {
	display: inline-block;
	font-size: 1.4rem;
	background-color: #fff;
	padding: .5em 1.5em;
	border: 1px solid var(--gray-darker);
	border-radius: 999px;
	margin-top: 64px;
}
.backORcloseBtn a { 
	color: #aaa;
	text-decoration: none;
}
.kanri a { 
	font-size: 1.2rem;
	color: #aaa;
	text-decoration: none;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 768px) {

.up_ymd { 
	color: var(--font-color);
	display: block;
}
}



/****************************************************************************************************



	slick slider



****************************************************************************************************/
.slider { line-height: 0; }
.slider img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.slick-dots li { width: 10px !important;  }
.slick-dots { bottom: 10px !important; }

.room-thumbnail .slick-track { transform: unset !important; }
.room-thumbnail .slick-current { opacity: 1; }
.thumbnail-img {
	opacity: 0.3;
	transition: opacity .3s linear;
}
.thumbnail-img {
	margin-right: 3px; /* 左右に5pxの余白 */
}



/****************************************************************************************************



	footer-visual



****************************************************************************************************/
.footer-visual {
	width: 100%;
	max-width: 100%;
	height: 500px;
	max-height: 500px;
	background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url(img/common/bg_footer-visual.png) no-repeat center center / cover;
	display: flex;
	justify-content: center;
    align-items: center;
}
.footer-visual .logo { width: 480px; }





        .banner-wrap {
        width:100%;
        position: relative;
        overflow: hidden;
        z-index: 1;
        }
        .banner-wrap a {
        display: block;
        overflow: hidden;
        color:#FFF;
        }
        .banner-img {
	background: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)), url(img/common/bg_footer-visual.png) no-repeat center center / cover;
        width:100%;
        height:550px;
        box-sizing: border-box;
        position: relative;
        z-index: 0;
        }
        .banner-text {
        position: absolute;
        top:50%;
    right: 0%;
    translate: -20% -50%;
        width:80%;
        max-width:600px;
        text-align: center;
        box-sizing: border-box;
        z-index: 1;
        }
        .more-reservation {
        width:100%;
        height:76px;
        line-height:76px;
        text-align: center;
        color:#FFF;
        font-weift:500;
        background: none;
        border:2px solid #FFF;
        border-radius:0px;
        box-sizing: border-box;
        overflow: hidden;
        font-size:21px;
        white-space: nowrap;
        text-decoration:none !important;
        position: relative;
        z-index: 1;
        letter-spacing: 0em;
        display: inline-block;
        -webkit-transition: all 0.3s ease;
        }
        .more-reservation:after {
        position: absolute;
        content: "";
        width: 0;
        height:100%;
        bottom:0;
        right: 0;
        z-index: -1;
        border-radius:1px;
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
        background:rgb(255 255 255 / .3);
        }      
        .banner-wrap a:hover .more-reservation { opacity:1; }
        .banner-wrap a:hover .more-reservation:after { left:0; width:100%; }

        @media screen and (max-width: 1350px) {
        .banner-img { height:470px; }
        .more-reservation { height:72px; line-height:72px; font-size:18px; }
        }
        @media screen and (max-width:1024px) {
        .banner-img { height:380px; }
        .more-reservation { height:64px; line-height:64px; }
        }
        @media screen and (max-width:767px) {
        .banner-img { height:340px; }
        .banner-text { 
			width: 95%;
        max-width: 450px;
        right: 0%;
        left: 0;
        translate: 0;
        position: absolute;
        top: 15%;
        translate: 50% 0% 0% 0%;
        margin: auto;
			}
        .more-reservation { height:58px; line-height:58px; font-size:16px;  }
        }




.hover-zoom__image {
        overflow: hidden;
        position: relative;
        width:100%;
        -webkit-transition: all .5s ease;
        transition: all .5s ease;
        }    
        .hover-zoom__image figure {
        -webkit-transition: all .5s ease;
        transition: all .5s ease;
        }
        .hover-zoom__image:hover figure,
        a:hover .hover-zoom__image figure {
        opacity: 1;
        -webkit-transform: scale(1.1);
        transform:         scale(1.1);
        }
        .hover-zoom__image a:hover img,
        .hover-zoom__image a:hover,
        a:hover .hover-zoom__image img,
        a:hover .hover-zoom__image {
        opacity:1;
        filter: alpha(opacity=100);
        }









/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

.footer-visual .logo { width: 360px; }

}

/****************************************************************************************************



	footer



****************************************************************************************************/
.footer {
	width: 100%;
	max-width: 100%;
	position: relative;
	background-color: #fff;
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	.footer-nav

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.footer-nav { 
margin: 0 calc(50% - 50vw);
	width: 100vw;	height: 90px;
	line-height: 90px;
	border-bottom: 1px solid #d5d5d5;
}
.footer-nav__list {
	display: flex;
	justify-content: center;
}
.footer-nav__list li {
	font-size: 1.4rem;
	margin-right: 2.5em;
	position: relative;
}

.footer-nav__list li:last-of-type { margin-right: 0; }
.footer-nav__list li a {
	text-decoration: none;
	color: var(--font-color);
}
.footer-nav__list li a:hover {
	color: var(--key-color);
	text-decoration: underline;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {


.footer-nav { display: none; }

}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	.footer-info-area

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.footer-info-area { padding: 60px 20px; }
.footer-info-area-contents {
	display: flex;
	column-gap: 80px;
    justify-content: center;
}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 1280px) {

.footer-info-area { padding: 60px 2.5%; }

}


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 820px) {

.footer-info-area-contents {
	display: flex;
	flex-direction: column;
	align-items: center;
	column-gap: 0;
	row-gap: 80px;
}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	.footer-address

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.footer-address {
	display: flex;
	flex-direction: column;
	align-items: center;
    color: var(--font-color);
}
.footer-logo { margin-bottom: 20px;
    text-align: center; }
.footer-logo img { width: 180px; }
.footer-info__txt p { 
	font-size: 1.6rem; 
	line-height: 1.6;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.footer-inn-name { 
	font-weight: bold;
	margin-bottom: 20px; 
}
.footer-tel a {
	color: var(--font-color);
	text-decoration: none;
}
@media only screen and (max-width: 820px) {

.footer-logo { text-align: center; }
}

/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 480px) {

.footer-address {
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 0;
    padding: 0 2.5%;
}
.footer-logo img { width: 220px; }
.footer-info__txt { text-align: left; }
.footer-tel .slash::before,
.footer-check .slash::before {
	content: "";
	display: block;
}
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	インスタグラム

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.instagram { margin-top: 20px; }
.link-item {
	display: flex;
	align-items: center;
	gap: 8px; /* アイコンとテキストの間隔 */
	text-decoration: none;
	color: #333;
}
.link-item:hover {
	color: #0066cc;
}
.link-item span { font-size: 1.4rem; }
.icon {
	width: 30px;
	height: 30px;
}


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	.copy

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.copy {
	font-size: 1.2rem;
	color: var(--font-color);
	margin-top: 40px;
    display: flex;
    justify-content: center;

}
.liberty img { margin-right: 5px; vertical-align: middle; }


/* ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

	キャンセルポリシー

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
.cancel-policy { width: 360px; }
.cancel-policy__title { font-weight: bold; }
.cancel-policy__list {
	display:flex;
	flex-wrap: wrap;
}
.cancel-policy__list dt {
	width: 40%;
	padding: 5px;
	box-sizing: border-box;
	border-top: 1px solid #d5d5d5; 
}
.cancel-policy__list dd {
	padding: 5px;
	margin: 0;
	border-top: 1px solid #d5d5d5; 
	width: 60%;
	background: #fff;
	box-sizing: border-box;
}
.cancel-policy__list dt:last-of-type { border-bottom: 1px solid #d5d5d5; }
.cancel-policy__list dd:last-of-type { border-bottom: 1px solid #d5d5d5; }


/** media Queries
-----------------------------------------------------------------------------------*/
@media only screen and (max-width: 376px) {

.cancel-policy { width: 100%; }

}



/****************************************************************************************************



	右追従バナー



****************************************************************************************************/
#fixed-reservation {
	position: fixed;
	right: 0;
	top: 150px;
	width: 85px;
	z-index: 1;
}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

#fixed-reservation {
	position: fixed;
	right: 0;
	top: 150px;
	width: 85px;
	display: none;
}
}


/****************************************************************************************************



	pagetopに戻る



****************************************************************************************************/
#page-top {
	display: none;
	position: fixed;
	bottom: 0;
	right: 0;
	font-size: 86%;
	z-index: 1;
}
#page-top a {
	width: 60px;
	height: 60px;
    display: block;
    white-space: nowrap;
  	text-indent: 100%;	
    overflow: hidden;
    background: url(img/common/btn_pagetop.png);
    background-size: 60px 60px;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 668px) {

#page-top {
	display: none;
	position: fixed;
	bottom: 0;
	right: 0;
	font-size: 86%;
	z-index: 1;
}
#page-top a {
	width: 50px;
	height: 50px;
    display: block;
    white-space: nowrap;
  	text-indent: 100%;	
    overflow: hidden;
    background: url(img/common/btn_pagetop.png);
    background-size: 50px 50px;
}
}







/****************************************************************************************************



	google material icons



****************************************************************************************************/
.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 32px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-moz-font-feature-settings: 'liga';
	-moz-osx-font-smoothing: grayscale;
	display: inline-flex;
	vertical-align: middle;
}
/* アイコンのサイズを変更するためのルール */
.material-icons.md-14 { font-size: 14px; }
.material-icons.md-16 { font-size: 16px; }
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-32 { font-size: 32px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }


.radius60_t img{
    border-radius: 0px 60px 0px 0px!important;
}

.radius60_r img{
    border-radius: 60px 0!important;
}

.radius60_l img{
    border-radius: 0 60px!important;
}


.sp_no{
	display: block;
}
@media only screen and (max-width: 480px) {
	body.is-menuOpen .header-logo {
    opacity: 1;
}
.sp_no{
	display: none;
}
}





.plan_banner_text{
	text-align: left;
}

.plan_banner_text p{
    font-family: var(--font-eng);
    margin-left: 5px;
    font-size: 2.3rem;
}



.plan_banner_text h2{
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: #fff solid 1px;
    font-size: 4rem;
}


.cancel_policy{
	margin-top: 50px;
}

.cancel_policy h3{
	text-align: left;
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: #fff solid 1px;
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: normal;
    white-space: nowrap;
}


.cancel_policy_table {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 0;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    margin: 20px 0;
}

.cancel_policy_table > div {
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.cancel_policy_table dt,
.cancel_policy_table dd {
    margin: 0;
    padding: 2px 5px;
    text-align: center;
}

.cancel_policy_table dt {
    font-size: clamp(9px, 1.4vw, 12px);
    font-weight: normal;
    white-space: nowrap;
}

.cancel_policy_table dd {
    border-top: 1px solid #ddd;
    font-size: clamp(9px, 1.4vw, 12px);
    font-weight: normal;
    white-space: nowrap;
}




@media screen and (max-width:767px) {
.plan_banner_text{
	text-align: center;
}

.plan_banner_text p{
    font-family: var(--font-eng);
    margin-left: 5px;
    font-size: 2.0rem;
}



.plan_banner_text h2{
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: #fff solid 1px;
    font-size: 3rem;
}


.cancel_policy {
    margin-top: 30px;
}

.cancel_policy h3{
	text-align: center;
}
}
