@charset "UTF-8";
/* =======================================
   レスポンシブフォントサイズユーティリティ
   ======================================= */

/*
  第二引数の流動的な値 (例: 3vw + 1rem) は、
  画面幅によってサイズが変動する度合いを調整します。
  必要に応じてvwの係数(例: 3)を調整してください。
*/
/* H1 (Max: 6.0rem, Min: 4.8rem) */
.u-fs-h1 {
  font-size: clamp(4.8rem, 3.5vw + 1rem, 6.0rem);
}
/* H2 (Max: 4.6rem, Min: 3.68rem) */
.u-fs-h2 {
  font-size: clamp(3.68rem, 3vw + 1rem, 4.6rem);
}
/* H3 (Max: 4.0rem, Min: 3.2rem) */
.u-fs-h3 {
  font-size: clamp(3.2rem, 2.8vw + 1rem, 4.0rem);
}
/* H4 (Max: 3.2rem, Min: 2.56rem) */
.u-fs-h4 {
  font-size: clamp(2.56rem, 2.5vw + 1rem, 3.2rem);
}
/* P-Large (Max: 3.0rem, Min: 2.4rem) */
.u-fs-p-large {
  font-size: clamp(2.4rem, 2vw + 1rem, 3.0rem);
}
/* P-Base (Max: 2.4rem, Min: 1.92rem) */
.u-fs-p-base {
  font-size: clamp(1.92rem, 1.5vw + 1rem, 2.4rem);
}
/* P-Small (Max: 2.0rem, Min: 1.6rem) */
.u-fs-p-small {
  font-size: clamp(1.6rem, 1.2vw + 1rem, 2.0rem);
}
/* Caption-1 (Max: 1.8rem, Min: 1.44rem) */
.u-fs-caption-1 {
  font-size: clamp(1.44rem, 1vw + 1rem, 1.8rem);
}
/* Caption-2 (Max: 1.6rem, Min: 1.28rem) */
.u-fs-caption-2 {
  font-size: clamp(1.28rem, 0.8vw + 1rem, 1.6rem);
}
/* Caption-3 (Max: 1.2rem, Min: 0.96rem) */
.u-fs-caption-3 {
  font-size: clamp(0.96rem, 0.5vw + 1rem, 1.2rem);
}
body {
    background-color: #fff;
    color: #333333;
    margin: 0;
    padding: 0;
    font-family: "Noto Serif JP", serif;
}
.topcontent_section {
    display: flex;
    justify-content: space-between;
    max-width: 86%;
    margin: 0 auto;
    align-items: center;
}
.content__b {
    width: clamp(300px, 45vw, 600px);
}
.content__b img {
    width: 100%; 
    height: auto; 
    display: block; 
}
.head-name {
    margin: 0 auto;
    align-items: center;
    max-width: 96%;
    padding-top: 26px;
}
.head-name-main {
    line-height: 1.19;
}







.has-deco-dot {
  /* 擬似要素を配置するために position: relative を設定 */
  position: relative;
  /* テキストと丸点の間のスペースを確保 */
  /* 丸点(8px) + 間隔(20px) = 28px を左右に設定 */
  padding-left: 28px;
  padding-right: 28px;
  
  /* 幅をコンテンツに合わせる */
  display: inline-block; 
}

/* テキストの前の丸点 */
.has-deco-dot::before {
  content: ''; 
  display: block;
  /* サイズと色 */
  width: 8px;
  height: 8px;
  background-color: #F26532; /* 指定色 */
  border-radius: 50%; 
  
  /* 位置の調整 */
  position: absolute;
  left: 0; 
  top: 50%; 
  transform: translateY(-50%); 
}

/* テキストの後の丸点 */
.has-deco-dot::after {
  content: ''; 
  display: block;
  /* サイズと色 */
  width: 8px;
  height: 8px;
  background-color: #F26532; /* 指定色 */
  border-radius: 50%; 
  
  /* 位置の調整 */
  position: absolute;
  right: 0; 
  top: 50%; 
  transform: translateY(-50%); 
}
.gnav-container {
    max-width: 90%;
    width: 100%;
    margin: 0 auto;
    background-color: #dedede; 
    border-radius: 25px; 
    padding: 10px 20px; 
    box-sizing: border-box; 
}
.gnav-list {
    display: flex;
    justify-content: space-between; 
    justify-content: center; 
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: nowrap; 
    overflow-x: hidden; 
}
.gnav-list li {
    position: relative;
    display: flex;
    align-items: center;
    min-width: min-content; 
}
.gnav-list li::after {
    content: "｜";
    color: #333333;
    margin: 0 0.8vw; 
    min-width: 10px; 
}
.gnav-list li:last-child::after {
    content: none;
    margin: 0;
}
.gnav-link {
    color: #333333;
    text-decoration: none;
    white-space: nowrap;
    padding: 5px 0; 
    line-height: 1.2;
    min-width: min-content; 
}
.flex-top-art {
    display: flex;
    justify-content: space-between;
}
.content-title h2 {
    margin-bottom: 20px;
}
.content-title h2,.content-title p {
    padding-left: 30px;
}
.content-title p {
    padding-bottom: 22px;
}
.title-main {
    text-align: right;
    padding-right: 25px;
    padding-bottom: 10px;
}
.title-sub-main {
    text-align: right;
    padding-right: 25px;
    padding-bottom: 10px;
}
.content-title div img {
    padding-left: 30px;
}
.content-cont-top {
    padding-bottom: 22px;
    padding-top: 90px;
}
.content-cont {
    padding-bottom: 22px;
    padding-top: 90px;
    border-top: solid 0.25px #707070;
}
.content-profile {
    display: flex;
    gap: 63px;
    padding-top: 50px;
}
.profile-text {
    padding-top: 15px;
    position: relative;
}
.profile-text .u-fs-caption-2 {
    line-height: 2.5;
}
.profile-text .u-fs-h4 {
    line-height: 1.25;
    padding-bottom: 10%;
}
.profile-text div {
    display: flex;
    align-items: center;
    margin-left: auto; 
    position: absolute;
    right: 0;
}
.profile-text div img {
    height: 18px;
}
.profile-text > p:nth-child(1) {
    margin-bottom: 0%;
}
.profile-text > p:nth-child(3) {
    margin-bottom: 25%;
}
.padd-top {
    padding-bottom: 170px;
}
.main-section-container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding-left: 20px; 
    padding-right: 20px;
}
.main-section-container-02 {
    background-color: #dedede; 
    margin-bottom: 200px;
}
.content-main-text01 {
    padding-bottom: 137px;
}
.content-main-text01 p {
    border-top: solid 0.25px #707070;
    line-height: 2;
    padding-left: 18.5px;
}
.content-main-text01 p:last-child {
    border-bottom: solid 0.25px #707070;
}
.travel-contents {
    display: flex;
    gap: 3.6rem; 
    justify-content: space-between; 
    padding-bottom: 270px;
}
.content-item {
    text-decoration: none;
    color: inherit;
    display: block;
    flex-grow: 1; 
    flex-shrink: 1; 
    flex-basis: calc(33.333% - 2.4rem); 
}
.content-image-wrapper {
    width: 100%;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
}
.content-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; 
}
.content-title {
    margin-top: 1.2rem;
}
.news-section {
    padding: 70px 0; 
    border-top: solid 1px #707070;
    border-bottom: solid 1px #707070;
}
.news-container {
    max-width: 94%;
    margin: 0 auto;
}
.section-header {
    text-align: center; 
    margin-bottom: 82px; 
}
.news-list {
    border-top: 1px solid #707070; 
}
.news-item {
    display: flex; 
    align-items: center;
    padding: 20px 0; 
    border-bottom: 1px solid #707070; 
    text-decoration: none; 
    color: inherit; 
    transition: background-color 0.3s ease; 
}
.news-item:hover {
    background-color: #f9f9f9; 
    opacity: 0.8;
}
.news-meta {
    width: 120px; 
    flex-shrink: 0; 
    font-weight: bold; 
    font-family: sans-serif; 
}
.news-title {
    flex-grow: 1;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}




.foot-content {
    display: flex;
    justify-content: space-between;
}