/*
Theme Name: simplex
Theme URI: https://example.com/simplex
Author: SIMPLE Inc.
Author URI: https://simple.jp.net/
Description: “とてもすごい simple” を目指した超ミニマルテーマ
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: sugoi-simple
*/

/*スムーズスクロール*/
html {
  scroll-behavior: smooth;
}
@media(max-width:767px){
html {
  scroll-behavior: smooth;
}
/*ストップ場所の調整*/
section {
  scroll-margin-top: 80px; /* 固定ヘッダーの高さ分などを指定 */
}
}
/*翻訳*/
.goog-te-banner-frame.skiptranslate, body > .skiptranslate {
    display: none !important;
         line-height: 0 !important;
         height: 0 !important;
}
body {
    top: 0 !important;
}
/*body{
    padding: 0!important;
    margin-top: -40px!important;
}*/
/* ベース（必要最低限） */ 


:root {
	--max: 1280px;
	--fs14: 14px;
	--fs15: clamp(14px, 1.154dvw, 15px);
	--fs16: clamp(14px, 1.231dvw, 16px);
	--fs18: clamp(15px, 1.385dvw, 18px);
	--fs19: clamp(15.5px, 1.46dvw, 19px);
	--fs20: clamp(16px, 1.538dvw, 20px);
	--fs22: clamp(16px, 1.692dvw, 22px);
	--fs24: clamp(18px, 1.846dvw, 24px);
	--fs25: clamp(18px, 1.923dvw, 25px);
	--fs26: clamp(18px, 2.000dvw, 26px);
	--fs28: clamp(20px, 2.154dvw, 28px);
	--fs30: clamp(22px, 2.308dvw, 30px);
	--fs32: clamp(22px, 2.462dvw, 32px);
	--fs34: clamp(22px, 2.615dvw, 34px);
	--fs35: clamp(23px, 2.692dvw, 35px);
	--fs36: clamp(24px, 2.769dvw, 36px);
	--fs38: clamp(24px, 2.923dvw, 38px);
	--fs40: clamp(30px, 3.077dvw, 40px);
	--fs44: clamp(30px, 3.385dvw, 44px);
	--fs48: clamp(30px, 3.692dvw, 48px);
	--fs50: clamp(32px, 3.846dvw, 50px);
	--fs53: clamp(32px, 4.077dvw, 53px);
	--fs60: clamp(36px, 4.615dvw, 60px);
	--fs70: clamp(42px, 5.385dvw, 70px);
	--fs78: clamp(44px, 6.000dvw, 78px);
	--fs80: clamp(50px, 6.154dvw, 80px);
	--fs84: clamp(52px, 6.462dvw, 84px);
	--main-color: #00005a;
}
* {
	box-sizing: border-box;
}
button {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}
/*body {
	margin: 0;
	font: 16px/1.7 "M PLUS 1p", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-weight: 400;
	color:var(--main-color);
    -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}*/
body {
  margin: 0;
  /* サイズをremに、アンチエイリアスを追加 */
  font-size: 1rem; 
  line-height: 1.65;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", sans-serif;
  font-weight: 400; /* 500から400に下げてみる */
  color: var(--main-color);

  /* 以下の2行が「ガサガサ」対策に最も効きます */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.site-title a {
	text-decoration: none;
	color: inherit;
}
main {
	display: block;
}
p {
	margin: 0;
}
img {
	max-width: 100%;
	height: auto;
}
header.site-header, footer.site-footer {
	padding: 16px 24px;
	border-top: 4px solid #0000;
	border-bottom: 1px solid #eee;
}
.hotel-list a{
    color: var(--main-color);
}
.nav {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}
.nav a {
	text-decoration: none;
	color: #333;
}
.article {
	padding: 16px 0;
	border-bottom: 1px solid #eee;
}
.pagination {
	display: flex;
	gap: 8px;
}
/* 基本スタイル */
.header {
	width: 100%;
	background: #fff;
	border-bottom: 1px solid #eee;
	padding: 15px 0;
	font-family: sans-serif;
    
}
.header-inner {
	max-width: 95%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px;
}
/* ロゴ */
.header-logo img {
	max-width: 275px;
	height: 68px;
	display: block;
}
/* メニュー（中央） */
.header-nav {
	max-width: 700px;
	margin: auto 30px;
}
.nav-list {
	display: flex;
	list-style: none;
	justify-content: flex-start;
	column-gap: 30px;
	margin: 0;
	padding: 0;
	width: 100%;
	flex-wrap: wrap;
}
.nav-list a {
	text-decoration: none;
	color: #000044;
	font-size: var(--fs14);
	font-weight: bold;
	white-space: nowrap;
}
/* 右側グループ */
.header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}
/* 多言語 */
.lang-switch {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	list-style: none;
	column-gap: 8px;
	margin: 0;
	padding: 0;
	font-size: 12px;
	color: #000044;
}
.lang-switch li:not(:last-child)::after {
	content: "|";
	margin-left: 8px;
}
.lang-switch a {
	text-decoration: none;
	color: inherit;
}
/* SNSアイコン */
.sns-links {
	display: flex;
	gap: 12px;
}
.sns-links img {
	width: 26px;
	height: auto;
}
/***************************************************/
/*以下フッター*/
.access-section {
	color: var(--main-color);
	background-color: #fff;
}
.access-map {
	width: 100%;
	height: 600px;
	vertical-align: bottom;
}
.inner {
	width:90%;
	max-width: var(--max);
	margin: 0 auto;
}
/* タイトル周り */
.section-title {
	margin-bottom: 60px;
}
.title-en {
	font-size: var(--fs60);
	line-height: 1;
	margin-bottom: 5px;
    padding-top: 49.8px;
    margin-top: 0;
}
.title-jp {
	font-size: 16px;
}
/* コンテナ設定 */
.access-container {
	display: flex;
	justify-content: space-between;
	gap: 40px;
}
/* 左側：施設情報 */
.access-left, .access-right {
	flex: 1;
}
.info-main h3 {
	font-size: 19px;
	margin-bottom: 10px;
}
.info-main p {
	font-size: 19px;
	line-height: 1.6;
}
.info-sub {
	margin-top: 30px;
	font-size: 16px;
	line-height: 1.8;
}
/* 右側：周辺・バッジスタイル */
.access-right {
	font-size: 12px;
	line-height: 1.6;
}
.badge {
	display: inline-block;
	background-color: var(--main-color);
	color: #fff;
	padding: 4px 12px;
	font-size: 12px;
	margin-bottom: 15px;
}
.spot-group {
	margin-bottom: 40px;
}
.spot-group p {
	margin-bottom: 8px;
}
/* レスポンシブ（スマホ対応） */
@media (max-width: 768px) {
    .header{
position: sticky; /* もし固定されていなければ追加 */
  top: 0;
  left: 0;
        z-index: 1001;
        height: 71px;
    }
	.access-container {
		flex-direction: column; /* 縦並びに変更 */
	}
	.title-en {
		font-size: 40px; /* スマホでは少し小さくするのが一般的 */
	}
}
/*以下フッター******************************/
.footer {
	background-color: #00005a;
	color: #fff;
	padding: 5rem 0 10rem; 
}
.footer-inner {
	width:90%;
	max-width: var(--max);
	margin: 0 auto;
}
.footer-top {
	display: flex;
	justify-content: space-between;
	gap: 40px;
}
/* 左側ブロック (19px) */
.footer-left {
	font-size: var(--fs19);
	flex: 1;
}
.footer-logo{
	max-width: 543px;
}
.footer-logo img {
	width:100%;
	margin-bottom: 30px;
}
.company-info p {
	margin-bottom: 10px;
}
.privacy-link {
	color: #fff;
	text-decoration: underline;
	display: inline-block;
	margin-top: 20px;
}
/* 右側ブロック (アクセス19px / リスト16px) */
.footer-right {
	flex: 1;
	max-width:543px;
}
              .group-hotels p a{
                  color: white;
              }

.access-summary {
	font-size: var(--fs19);
	margin-bottom: 40px;
}
.group-hotels {
	font-size: 16px; /* 指定の16px */
	line-height: 1.8;
}
/* 画面下固定バナー */
.fixed-banner {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #f2f2de; /* 画像の背景色に近いベージュ */
	z-index: 1000;
	border-top: 1px solid #ccc;
}
.banner-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: var(--max);
	margin: 0 auto;
	padding: 15px 20px;
	text-decoration: none;
	color: #00005a;
	font-weight: bold;
}
.banner-text {
	font-size: 18px; /* デザインに合わせて調整 */
}
/* 右側の矢印ボタン */
.arrow-icon {
	width: 40px;
	height: 40px;
	background-color: #00005a;
	border-radius: 50%;
	position: relative;
}
.arrow-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 45%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(-50%,-50%) rotate(45deg);
}
/* スマホ対応 */
@media (max-width: 768px) {
	.footer-top {
		flex-direction: column;
	}
	.footer-logo img {
		width: 100%;
		max-width: 300px;
	}
    .banner-text {
	font-size: 16px; /* デザインに合わせて調整 */
}
    .banner-link {
        padding: 10px 20px;
    }
}
@media(min-width:769px){
    .sp{
        display: none !important;
    }
}
@media(max-width:768px){
    .pc{
        display: none !important;
    }
}
@media(max-width:767px){
.hero {
	width: 100%;
	/*height: 950px;*/
	aspect-ratio: 360 / 605;
	overflow: hidden;
	position: relative;
}
.header-logo img {
    max-width: 142px;
    height: auto;
    display: block;
}
}

/*header ハンバーガー用に追加*/



/*投稿一覧用*/





    .section-title .en {
    display: block;
    font-size: 3.7rem;
    font-weight: bold;
    line-height: 1;
}
.section-title .jp {
    display: block;
    font-size: 0.9rem;
    font-weight: bold;
    margin-top: 5px;
}
.section-title {
    margin-bottom: 60px;
}

    .category-list {
    display: flex;
    flex-wrap: wrap; /* 折り返し許可 */
    justify-content: center; /* 中央寄せ */
    list-style: none;
    gap: 20px; /* アイテム間の隙間 */
    padding: 20px;
        margin-bottom: 80px;
}

.category-item {
    text-align: center;
    width: 80px; /* アイテムの幅 */
}

.category-item a {
    text-decoration: none;
    color: #001a43; /* 濃い紺色 */
}

.category-icon {
    width: 50px;
    height: 50px;
    
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 8px; /* 下に余白 */
    
}

.category-icon img {
    width: 50px; /* アイコンのサイズ調整 */
    height: auto;
}

.category-name {
    font-size: 12px;
    font-weight: bold;
    display: block;
    white-space: nowrap; /* 改行させない */
}

/* 投稿一覧全体のコンテナ（親要素） */
.post-list-box {
    padding: 40px 0;
    background-color: #c3e5e9;
}
    .post-list-box .site-main-inner{
    max-width: 1285px; /* ご指定の最大幅 */
    width: 96%;        /* ご指定の横幅 */
    margin: 0 auto 120px; /* 上下余白 左右中央寄せ */
    padding: 0;
    }
/* 投稿1記事分の枠組み */

.news-list-box{
    border-top: 1px solid var(--main-color);
}
.ichiran-1set {
    /*display: flex;*/
    /*gap: 30px;  */       /* 画像とテキストの間の余白 */
    /*margin-bottom: 40px;*/
    /*padding-bottom: 40px;*/
    border-bottom: 1px solid var(--main-color); /* 区切り線 */
    align-items: flex-start;
    padding: 0;
}

/* 画像部分（左側） */
.ichiran-img {
    flex: 0 0 360px;   /* 画像の横幅を360pxで固定（広めの画面に合わせて少し大きく調整） */
}

.ichiran-img a {
    display: block;
    overflow: hidden;  /* ホバー時の拡大用 */
    border-radius: 4px;
}

.ichiran-img img {
    width: 100%;
    height: 240px;     /* アスペクト比を保ちつつ高さを固定 */
    object-fit: cover; /* 枠いっぱいにトリミング */
    display: block;
    transition: transform 0.3s ease; /* ホバー時の動き */
}

/* 画像ホバー時に少し大きくする演出 */
.ichiran-img a:hover img {
    transform: scale(1.05);
}

/* テキスト部分（右側） */
.ichiran-txt {
    flex: 1;           /* 残りの幅をすべて使用 */
    display: flex;
    flex-direction: column;
}
.ichiran-txt header{
    display: flex;
    margin: 5px 0;
}

.ichiran-txt h2 {
    margin: 0 0 0 0;
    font-size: 1.5rem; /* タイトルを少し強調 */
    line-height: 1.4;
    display: flex;
    align-items: center;
    font-size: 16px;
}

.ichiran-txt h2 a {
    color:  var(--main-color);
    text-decoration: none;
    font-weight: 700;
}

.ichiran-txt h2 a:hover {
    color:  var(--main-color);    /* テーマカラーの青 */
    text-decoration: underline;
}

.ichiran-txt time {
    display: flex;
    font-size: 0.9rem;
    color: var(--main-color);
    margin: 0px;
    /*font-family: 'M PLUS 1p', sans-serif;*/
    font-size: 16px;
    align-items: center;
    width: 166px;
    border-right: 1px solid #00005a;
    height: 90px;
}

/* 記事の抜粋テキスト */
.ichiran-txt .entry p {
    font-size: 1rem;
    color: #555;
    line-height: 1.7;
    margin: 0;
    /* 3行以上は「...」で省略（必要なければ削除してください） */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
    .cat-label{
        display: flex;
            align-items: center;
    }
    .icon{
        width: 50px;display: flex;margin:0 30px 0 50px;height: 90px; align-items: center;

}
    .icon-title{
        display:flex;
    }
    .icon img{width: 100%;vertical-align: bottom;}
/* --- レスポンシブ対応（タブレット・スマホ） --- */
@media screen and (max-width: 992px) {
    .ichiran-img {
        flex: 0 0 300px; /* タブレットでは少し画像を小さく */
    }
}

@media screen and (max-width: 767px) {
    .ichiran-1set {
        flex-direction: column; /* スマホでは縦並び */
        gap: 20px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .ichiran-img {
        flex: 0 0 auto;
        width: 100%; /* 画像を横幅いっぱいに */
    }

    .ichiran-img img {
        height: auto;
        aspect-ratio: 16 / 9; /* スマホで見やすい比率 */
    }

    .ichiran-txt h2 {
        font-size: 1.25rem;
    }

}
.pagination .page-numbers{
        font-size: 16px;
    height: 1.2em;
    width: 1.2em;
    display: flex;
    background-color: var(--main-color);
    color: white;
margin: 3em 1em;
        align-items: center;
    justify-content: center;
}


.pagination .page-numbers.current{
   font-size: 16px;
    height: 1.2em;
    width: 1.2em;
    display: flex;
    background-color: #c3e5e9!important;
    color: var(--main-color);
    margin: 3em 1em;
        align-items: center;
    justify-content: center;
}
.pagination .next.page-numbers{
    display: none;
}


@media(max-width:767px){
.ichiran-txt header {
    display: block;
    margin: 5px 0;
}
.ichiran-txt time {
    display: flex;
    font-size: 0.9rem;
    color: var(--main-color);
    margin: 0px;
    /* font-family: 'M PLUS 1p', sans-serif; */
    font-size: 16px;
    align-items: center;
    width: 166px;
    border-right: none;
    height: auto;
}
.ichiran-txt .icon {
    width: 50px;
    display: inline-block;
    margin: 0 10px 0 0;
    height: auto;
    align-items: center;
    
}
    .icon img {
    width: 100%;
    vertical-align: bottom;
    margin-bottom: -13px;
}
    .ichiran-txt h2 {
        display: inline-block;
        font-size: 1rem;
        
    } 

    .ichiran-1set {

        margin-bottom: 5px;
        padding-bottom: 25px;
    }
}


/*lightbox調整*/
.lum-lightbox {
    z-index: 9999 !important;
}


/* 1. 全体的な縦幅に余裕を持たせる */
.lum-lightbox-inner {
    padding-bottom: 60px !important; /* キャプション用の底上げ */
}

/* 2. 画像のサイズを制限する */
.lum-img {
    max-height: 75vh !important;  /* 画面の高さの75%までに抑える */
    width: auto !important;       /* 横幅は自動（アスペクト比維持） */
    object-fit: contain;
}

/* 3. キャプションを画像の下に絶対表示させる */
.lum-lightbox-caption {
    position: relative !important;
    display: block !important;
    margin-top: 15px !important;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
    font-size: 16px;
    background: rgba(0, 0, 0, 0.5); /* 文字を見やすく */
    padding: 5px 0;
}

/* 4. 画像とキャプションを並べるラッパーの調整 */
.lum-lightbox-position-helper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}


/*スマホ、safariだけでの案内の表示*/



