@charset "UTF-8";
/* CSS Document */


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
li {
	list-style-type: none;
}
a {
	text-decoration: none;
}

p,
.p {
	font-family: "Noto Sans", sans-serif;
    font-weight: normal;
    color: #444444;
}


.pc {
	display: block;
}

.sp {
	display: none;
}

html {
	scroll-behavior: smooth; /* ブラウザ標準の速度 */
}

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

.search-widget-wrapper-872d0c {
	top: 85%!important;
	z-index: 1!important;
}

.triplabot-icon-circle[data-v-1e891c32] {
	width: 80%!important;
	height: 80%!important;
}

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

header {
	width: 100%;
	position: fixed;
	padding: 50px;
	z-index: 99;
}
header nav {
	display: flex;
    justify-content: space-between;
	align-items: center;
	font-family: "futura-pt", sans-serif;
}
header ul {
	display: flex;
	gap: 30px;
}
header a {
	color: #ffffff;
	transition: color 2s ease;
}

header.scrolled a {
  color: #7E7E7E;
}

header .link a {
	padding: 12px 30px;
    border: 1px solid;
    border-radius: 50px;
/*
    border-color: #ffffff;
	color: #FEFEFE;
*/
}

header .link .scrolled a {
	border-color: #7E7E7E!important;
	color: #7E7E7E!important;
	transition: color 2s ease;
}

footer {
	padding: 80px 10%;
	position: relative;
    top: 100vh;
    z-index: 2;
	background-color: #444444;
}

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

.top-view {
	width: 100%;
    height: 100vh;
    position: fixed;
	background-image: url("../img/top/top.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: -1;
}
.top-view ul {
	position: absolute;
    top: 50%;
	left: 0;
	right: 0;
    text-align: center;
}
.top-view ul li {
	position: absolute;
	top: -100px;
	left: 0;
	right: 0;
}
.top-view ul li:nth-child(1) {
	font-size: 24px;
}
.top-view ul li:nth-child(2) {
	font-size: 50px;
}
.top-view ul li:nth-child(3) {
	font-size: 16px;
}

.top-view ul li img {
	width: 200px;
}

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

.section {
	margin: 0 auto;
	padding: 10%;
	position: relative;
    top: 100vh;
    z-index: 1;
}
.section .ttl {
	width: 32%;
}
.box {
	display: flex;
}
.ttl ul {
	display: block;
}
.ttl ul .tab {
	display: block!important;
	color: #cccccc;
 white-space: nowrap;
}
.ttl ul .tab span{
 font-weight: 100;
}
.box2 {
	display: flex;
}
.ttl2 {
	width: 32%;
}


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

h2 {
	margin-bottom: 50px;
	position: relative;
	font-size: 16px;
	color: #444444;
	font-family: "futura-pt", sans-serif;
	font-weight: 300;
	font-style: normal;
}
h2::after {
	content: "";
    position: absolute;
    width: 25px;
    height: 1px;
    top: 32px;
    left: 0;
    background-color: #444444;
}
h3 {
	font-size: 30px;
	line-height: 54px;
    font-weight: normal;
}
.txt {
	line-height: 40px;
}
.ff {
	font-family: "futura-pt", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.name {
	margin-bottom: 20px;
	font-size: 24px;
}

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

#about {
	background-color: #F5F5F5;
}
#room {
	background-color: #FEFEFE;
}

#facility {
	background-color: #F5F5F5;
}

#access {
	background-color: #FEFEFE;
}

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

.gallery-container {
    display: none; /* 最初は非表示 */
}

.gallery-container.active {
    display: block; /* アクティブなものだけ表示 */
}

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

/* タブメニュー */
.tab-menu {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    gap: 15px;
}

.tab {
	width: 40%;
    padding: 0 0 20px;
    cursor: pointer;
    border-radius: 5px;
    transition: background 0.3s;
	font-family: "futura-pt", sans-serif;
	font-weight: bold;
}

.tab.active {
    color: #000000!important;
}

/* コンテンツの切り替え */
.content {
    display: none;
    padding: 20px;
    border: 1px solid #ccc;
    margin-top: 20px;
}

.tab2 {
	width: 40%;
    padding: 0 0 20px;
    cursor: pointer;
    border-radius: 5px;
    transition: background 0.3s;
	font-family: "futura-pt", sans-serif;
	font-weight: bold;
}

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

/* メインビジュアル */
.main-visual img {
/*    width: 100%;*/
    max-width: 800px;
    height: auto;
}

/* サムネイル画像 */
.thumbnail {
    width: 100px;
    height: auto;
    margin: 5px;
    cursor: pointer;
    transition: transform 0.2s, opacity 0.2s;
}

.thumbnail:hover {
    transform: scale(1.1);
    opacity: 0.8;
}

/* 選択されたサムネイルのスタイル */
.thumbnail.active {
    border: 2px solid #3498db;
    opacity: 1;
}

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

.details {
	margin-bottom: 30px;
}
.details ul {
	display: flex;
    gap: 60px;
}
.details ul li {
	position: relative;
	white-space: nowrap;
}
.details li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 90%; /* 縦線の高さ */
    background-color: #ccc; /* 縦線の色 */
}

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

.amenity {
	margin-top: 20px;
	padding: 30px;
	border-radius: 5px;
	background-color: #F5F5F5;
}
.amenity ul {
	margin-top: 20px;
	display: flex;
	gap: 25px;
	align-items: center;
}
.amenity ul li {
	display: flex;
    gap: 5px;
    align-items: center;
}
.amenity ul li img {
	
}

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

.room-txt {
	max-width: 750px;
	display: flex;
}
.ma-t {
	margin-top: 30px;
}
.ma-b {
	margin-bottom: 50px;
}

.tel-img {
	margin-right: 6px;
	font-size: 20px;
	background-image: url("../img/top/phone.png");
	background-repeat: no-repeat;
}

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

.f-box {
	display: flex;
	justify-content: space-between;
	font-family: "futura-pt", sans-serif;
}
.f-box p {
	color: #ffffff;
}
.f-box-l {
	
}
.f-box-r {
	text-align: end;
}
.f-box-r ul {
	padding-bottom: 50px;
	display: flex;
	gap: 30px;
	justify-content: flex-end;
}
.f-box-r ul li a {
	color: #ffffff;
}
.f-box .link {
	padding-bottom: 120px;
}
.f-box .link a {
	padding: 12px 30px;
    border: 1px solid;
    border-radius: 50px;
    border-color: #ffffff;
	color: #ffffff;
}

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

.image-viewer {
  position: relative;
  display: inline-block;
}

.image-viewer img.main-image {
  width: 100%;
  height: auto;
}

.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  font-weight: normal;
  color: #fff;
  padding: 0.2em 0.5em;
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  display: none;
  z-index: 10;
}

.arrow.prev { left: 10px; }
.arrow.next { right: 10px; }

@media (max-width: 768px) {
  .arrow { display: block; }
}


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

@media (max-width: 768px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block;
	}
	
	.section {
		padding: 15% 10%;
	}
	
	/*------------------------------*/
	
	.search-widget-wrapper-872d0c {
		top: 73% !important;
	}
	
	/*------------------------------*/
	
	header {
		padding: 50px 10% 0;
	}
	
	header ul {
		display: none;
	}
	
	header .menu ul {
		display: block;
		text-align: center;
	}
	
	header .link a {
		padding: 10px 30px;
	}
	
	.top-view ul li {
		top: -210px;
	}
	
	.top-view ul li img {
		width: 160px;
	}
	
	h3 {
		margin-bottom: 20px;
	}
	
	/*------------------------------*/
	
/* ====== メニューボタン（2本線） ====== */
.menu-btn {
  width: 50px;
  height: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 1001; /* メニューより上に表示 */
  position: relative;
}

.menu-btn span {
  height: 2px;
  width: 100%;
  background: #ffffff;
  border-radius: 2px;
  display: block;
  transition: 0.3s ease;
}

header .scrolled .menu-btn span {
	background: #7E7E7E;
	transition: color 2s ease;
}

/* ====== ✕に変形するアニメーション ====== */
.menu-btn.active span:nth-child(1) {
	background: #000;
  transform: rotate(15deg) translateY(4px);
}

.menu-btn.active span:nth-child(2) {
	background: #000;
  transform: rotate(-15deg) translateY(-4px);
}

/* ====== メニュー本体（右からスライド） ====== */
.menu {
  position: fixed;
  top: 0;
 left: -100%;
  width: 100%;
  height: 100%;
  background: white;
  box-shadow: -2px 0 10px rgba(0,0,0,0.2);
  transition: left 0.3s ease;
  z-index: 1000;
  padding: 150px 20px 0; /* 上に余白を追加 */
}

.menu.active {
  left: 0;
}

.menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu ul li {
  margin-bottom: 40px;
}

.menu ul li a {
  text-decoration: none;
  color: #333;
  font-size: 18px;
}

/* ====== オーバーレイ（背景を暗くする） ====== */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
  z-index: 999;
}

.overlay.active {
  opacity: 1;
  visibility: visible;
}

	
	/*------------------------------*/
	
	.box,
	.box2,
	.details ul,
	.f-box {
		display: block;
	}
	.section .ttl,
	.section .ttl2,
	.main-visual img {
		width: 100%;
	}
	iframe {
		width: 100%;
		height: 200px;
	}
	
	/*------------------------------*/
	
	.link {
		
	}
	
	.link2 a {
		padding: 10px 30px;
		border: 1px solid;
    	border-radius: 50px;
    	border-color: #000000;
		color: #000000;
		position: absolute;
        top: 40px;
        right: 10%;
	}
	
	.h-logo {
		width: 80%;
        margin: 0 auto;
        padding-top: 30px;
        text-align: center;
        border-top: 1px solid;
        position: absolute;
        bottom: 70px;
        left: 0;
        right: 0;
	}
	
	.tab {
		width: 48%;
		padding: 5px 20px;
		text-align: center;
		border: 1px solid #CCCCCC;
  border-radius: 50px;
	}
 
 .ttl ul .tab{
  white-space: wrap;
 }
	
	.tab2 {
		width: 48%;
		padding: 5px 20px;
		text-align: center;
		border: 1px solid #CCCCCC;
    	border-radius: 50px;
	}
	
	.section .ttl {
		margin-bottom: 40px;
	}
	
	.section .ttl2 {
		margin-bottom: 30px;
	}
	
	.ttl ul {
		display: flex;
    	flex-wrap: wrap;
    	gap: 10px;
	}
	
	.thumbnail {
		width: 23.5%;
		margin: 0;
	}
	
	.amenity ul {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.amenity ul li {
		width: 44%;
		font-size: 14px;
	}
	
	.details ul li {
		padding: 8px 0;
    	border-bottom: 1px solid #cccccc;
	}
	.details ul li:last-child {
		border-bottom: none;
	}
	
	/*------------------------------*/
	
	footer {
		padding: 50px 10% 20px;
	}
	.f-box {
		text-align: center;
	}
	.f-box-l {
		margin-bottom: 30px;
	}
	.f-box p {
		text-align: center;
    	font-size: 12px;
	}
	
}
