/* =========================================================
   1. Base / Variables / Typography
========================================================= */
:root {
    --green: #6fc14f;
    --orange: #ff903d;
    --sky: #52c3e5;
    --radius-s: .25rem;
    --radius-m: .5rem;
    --radius-pill: 62.5rem;
    --gap-s: clamp(.5rem, 1.5vw, 1rem);
    --gap-m: clamp(1rem, 3vw, 2.5rem);
    --step--1: clamp(.8125rem, 1.6vw, .9375rem);
    --step-0: clamp(.9375rem, 2.8vw, 1rem);
    --step-1: clamp(1.125rem, 3vw, 1.25rem);
    --step-2: clamp(1.5rem, 4vw, 2rem);
	--max-width:1600px;
	--header-mokume: clamp(200px, 30vh, 360px);
}


html,
body {
    overflow-x: hidden;
}

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    margin: 0 auto;
	/*
    font-size: clamp(0.9375rem, 2.8vw, 1rem);
	*/
    line-height: clamp(1.6em, 4.5vw, 1.9em);
}

/* Fonts ------------------------------------------------- */
/* Kiwi Maru headings */
h1,
h2,
h3,
h4,
h5,
.feature_wrap_titl_text,
.floor_label,
.main_text,
.block_title,
.news_content {
    font-family: "Kiwi Maru", sans-serif;
}

/* Noto Sans JP regular */
body,
.syukka,
.news_text,
button,
.button,
.news_section_title,
.news_box_text,
.menu_title p {
    font-family: "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Kiwi Maru medium / shared heading style */
.kiwi-maru-medium,
h2,
h2 .floor_label,
.concept_img,
.open_hours,
.main_title_sub,
.main_text,
.block_title,
.menu_title p,
.restaurant_text,
.feature_subcontent,
.heading_lines,
.news_section_titl,
.map_icon p,
.map_label p,
.news_card_title {
    font-family: "Kiwi Maru", sans-serif;
    font-weight: 500;
    font-style: normal;
    padding: 0;
    margin: 0;
}

/* Noto Sans bold */
.body-sans-700,
.picture_text,
.feature_left_box p {
    font-family: "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;
/*
	font-weight: 700;
*/
}

/* Noto Serif JP */
.fruit_description_okinawa .menu_caption,
.news_back_color_black,
.map_shop_list span,
.map_shop_list ol {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
}

/* Noto Sans JP: Medium */
.body-sans,
.year,
.main_description,
.fruit_description,
.main_item p,
.foods_text,
.restaurant_text,
button,
.medium .news_title,
.map_take,
.li_line,
.footer_titl {
    font-family: "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 500;
}

/* =========================================================
   共通
========================================================= */
.std_page {
    padding-inline: clamp(0px, 2.8vw, 40px);
	box-sizing:border-box;
	max-width:var(--max-width);
}

/* マージン、パッディング */
.std_margin_top {margin-top:80px;}
.std_margin_top2 {margin-top:40px;}
.std_margin_top3 {margin-top:20px;}
.std_margin_top4 {margin-top:10px;}

.std_padding_top {padding-top:80px;}
.std_padding_top2 {padding-top:40px;}
.std_padding_top3 {padding-top:20px;}
.std_padding_top4 {padding-top:10px;}

.std_margin_bottom {margin-bottom:80px;}
.std_margin_bottom2 {margin-bottom:40px;}
.std_margin_bottom3 {margin-bottom:20px;}
.std_margin_bottom4 {margin-bottom:10px;}

.std_padding_bottom {padding-bottom:80px;}
.std_padding_bottom2 {padding-bottom:40px;}
.std_padding_bottom3 {padding-bottom:20px;}
.std_padding_bottom4 {padding-bottom:10px;}

/* 文字サイス 16px基準 */
.f12 { font-size:0.75rem;}
.f14 { font-size:0.875rem;}
.f16 { font-size:1rem;}
.f18 { font-size:1.125rem;}
.f19 { font-size:1.1875rem;}
.f20 { font-size:1.25rem;}
.f21 { font-size:1.3125rem;}
.f22 { font-size:1.375rem;}
.f24 { font-size:1.5rem;}
.f26 { font-size:1.625rem;}
.f28 { font-size:1.75rem;}
.f30 { font-size:1.88rem;}
.f32 { font-size:2rem;}
.f34 { font-size:2.13rem;}

/* 文字のウェイト */
.fw100 {font-weight:100;}
.fw300 {font-weight:300;}
.fw400 {font-weight:400;}
.fw500 {font-weight:500;}
.fw700 {font-weight:700;}
.fw900 {font-weight:900;}

/* テキストの配置 */
.align_center { text-align:center;}
.align_left { text-align:left;}
.align_right { text-align:right;}
.align_justify { text-align:justify;word-break: break-word;}

/* 幅 */
.w100p {width:100%}
.w90p {width:90%}
.w80p {width:80%}
.w70p {width:70%}
.w60p {width:60%}
.w58p {width:58%}
.w50p {width:50%}
.w43p {width:43%}
.w40p {width:40%}
.w33p {width:33%}
.w30p {width:30%}
.w25p {width:25%}
.w20p {width:20%}
.w16p {width:16%}
.w15p {width:15%}
.w13p {width:13%}
.w10p {width:10%}
.div_center { margin-left:auto;margin-right:auto;}

/* 画像 */
.std_w100_hauto { width:100%;height:auto;display:block;}


/* =========================================================
   2. Text / Utility helpers
========================================================= */
.margin_0 {
    margin: 0 !important;
}

.sp_0 {
    width: auto !important;
}

small {
    font-size: clamp(0.875rem, 1.2114vw, 1.06rem);
}

/* Headings */
h2 {
    font-size: clamp(3rem, 2.4vw, 3rem);
    margin: 0;
}

h3 {
    font-size: 2rem;
    margin: auto;
}

h3 span {
    font-size: clamp(1.7rem, 2.4286vw, 2.125rem);
}

h4 {
    font-size: clamp(1.6rem, 3.2857vw, 2rem);
    margin: auto;
}

h5 {
    font-size: clamp(1rem, 3.2857vw, 2rem);
}

h5 .underline {
    display: inline-block;
}

h5 .underline:last-child {
    margin-bottom: 0;
}

.std_h4,
h4.std_h4,
h5.std_h4 {
	font-size:2rem;
	line-height:1em;
}



/* general text blocks */
.concept_content p {
    text-align: justify;
    line-break: strict;
    overflow-wrap: anywhere;
	/*
    margin-top: clamp(3rem, 3.4286vw, 3rem);
	*/
    line-height: clamp(1.4em, 3vw, 1.9em);
}

.main_description p {
    margin: 0;
    max-width: 35.43rem;
    line-height: 2;
}

.main_section .main_item p,
.main_list .main_item p {
    width: 100%;
    max-width: none;
    margin: 0;
    text-align: left;
	/*
    font-size: clamp(0.8125rem, 1.6vw, 0.9375rem);
    line-height: clamp(1.4rem, 2.2vw, 1.9rem);
	*/
	line-height:1.6em;
    overflow-wrap: break-word;
    word-break: break-word;
    text-align: justify;
}

/* underline text used in feature headings */
span.underline {
/*
    border-bottom: .3125rem dotted var(--green);
*/
    border-bottom: 4px dotted var(--green);
/*
    margin-bottom: 1.62rem;
*/
    display: inline-block;
    text-align: left;
/*
    padding-bottom: clamp(0.8rem, 1.3021vw, 0.625rem);
*/
	padding-bottom:0.3em;
	margin-bottom:0.7em;
}


/* =========================================================
   3. Buttons
========================================================= */
.button,
a.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    border: none;
    font-weight: 700;
}

.button--primary {
    background-color: var(--green);
    color: #fff;
}

.button--primary:hover {
    background-color: #5ab13a;
}

.button--primary:active {
    transform: translateY(0);
}

.button.is-fixed {
    width: clamp(12rem, 20vw, 14.06rem);
    height: clamp(3rem, 5vw, 4.37rem);
    font-size: clamp(0.9rem, 1.5vw, 1.125rem);
    gap: clamp(0.4rem, 1.5vw, 0.625rem);
}

.button .arrow_circle {
    border: 2px solid #fff;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: clamp(1.25rem, 2vw, 1.75rem);
    height: clamp(1.25rem, 2vw, 1.75rem);
    margin-left: 0.5em;
    font-weight: 900;
    line-height: 1;
}

.button--orange {
    background: var(--orange);
    color: #fff;
}

.button--orange:hover {
    background: #ff7a12;
}

.button--orange:active {
    transform: translateY(0);
}

.button:focus-visible,
a.button:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
}

/* メニュー ボタンラッパー（ヘッダー〜沖縄までで使用） */
.menu_button {
/*
    margin: clamp(1.25rem, 4vw, 2.5rem) 0 clamp(2rem, 6vw, 3.75rem) 0;
*/
    text-align: center;
    container-type: inline-size;
    display: grid;
    place-items: center;
    width: 100%;
}

.menu_button .button {
    color: #fff;
    border: none;
    border-radius: clamp(0.15rem, 0.390625vw, 0.1875rem);
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: clamp(0.5rem, 0.7vw, 0.62rem);
    padding: clamp(0.6rem, 1vw, 0.87rem) clamp(0.75rem, 1.8vw, 1.25rem);
    width: clamp(15rem, 40vw, 21.37rem);
    aspect-ratio: 341.92 / 70;
    min-height: 3.25rem;
}

.menu_button .button:focus-visible {
    outline: 0.1875rem solid #ffb07a;
    outline-offset: 0.1875rem;
}

/* =========================================================
   4. Global layout helpers
========================================================= */
.wrapper {
    margin-inline: auto;
    padding-inline: clamp(0.75rem, 3vw, 2.5rem);
    width: 100%;
    box-sizing: border-box;
}

.u_contain_right_image {
    margin-inline: auto;
    padding-inline: 0;
}

.wrapper.u_contain_right_image {
    padding-right: 0 !important;
    padding-left: clamp(0.75rem, 3vw, 2.5rem);
}

/* 右側フルブリード画像の共通レイアウト */
.u_contain_right_image .feature_block.abs_image {
    position: relative;
}

.feature_block {
/*
    max-width: 1500px;
*/
	max-width:var(--max-width);
    margin: auto;
}

.u_contain_right_image .feature_block.abs_image .feature_image {
/*
	position: absolute;
*/
	position:relative;
	
    top: 0;
    bottom: 0;
	/*
    width: calc(60% + 60px);
	*/
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.u_contain_right_image .feature_block.abs_image .feature_image img {
    position: absolute;
    inset: 0;
    width: 100%;
    object-fit: cover;
    display: block;
}

.feature_image.restaurant_mask_imge {
    height: calc(100% + 60px);
}

.feature_image img {
    width: 100%;
    height: 110%;
    display: block;
    position: relative;
}

/* 共通画像調整 */
.video img,
.video video {
    width: 100%;
}

.umaimono_wrapper .image_row img {
    height: 100%;
    width: 100%;
}

/* Feature Blocks 2カラム共通（1〜4のベース） */
.feature_blocks.main_inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	/*
    max-width: min(100%, 87.5rem);
	*/
	max-width:var(--max-width);
    margin-inline: auto;
    box-sizing: border-box;
}

.feature_blocks.main_inner>*,
.feature_blocks.main_inner>.feature_boxs,
.feature_blocks.main_inner>.feature_images {
    min-width: 0;
}

.feature_gap {
    gap: clamp(1rem, 3vw, 2.5rem);
}

.feature_images img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.feature_left_box {
    min-width: 0;
}

/*
.track_img img {
    margin: clamp(2rem, 5.20833vw, 2.5rem) 0;
}
*/

/* ================================================
   5. Hero / Header (top key visual)
================================================ */
/* header {
    height: 60vh;
    min-height: 520px;
} */

header {
	height:100vh;
}

header .main_image {
/*
	background: url(../img/header/top_3000.jpg) center center / cover no-repeat;
*/
	height:calc(100vh - var(--header-mokume));
    display: flex;
    align-items: center;
}

.article_title {
/*
    height: 60vh;
    min-height: 520px;
	height:100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    overflow: hidden;
*/
	width:100%;
}

.article_title>* {
    position: relative;
    z-index: 1;
}

.article_title::after {
    content: "";
    position: absolute;
    inset: 0;
	/*
    background: url(../img/header/top.jpg) center bottom / cover no-repeat;
	*/
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 1200ms cubic-bezier(.22, .61, .36, 1),
        transform 1200ms cubic-bezier(.22, .61, .36, 1);
    z-index: 0;
}

.article_title.is-show::after {
    opacity: 1;
    transform: translateY(0);
}

.logo_img {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    top: 0;
    right: 0;
}

.logo_img img {
    width: clamp(7.5rem, 14vw, 12.5rem);
    height: auto;
}

.logo-title {
    width: 100%;
    background-color: rgba(255, 255, 255, 0.37);
    text-align: center;
    padding: clamp(1.25rem, 3.255vw, 1.5625rem) 0;
    display: flex;
    justify-content: center;
/*
    margin: clamp(3rem, 7.8125vw, 3.75rem);
*/
}

.logo-title img {
    max-width: 100%;
}

/* ================================================
   6. ナビゲーション（上部カード）
================================================ */
.nav_wrapper {
    position: relative;
/*
    padding-inline: clamp(0px, 2.8vw, 40px);
*/
    background: url(../img/column/bg-mokume.jpg) no-repeat center center;
	background-size:cover;
	height:var(--header-mokume);
	z-index:2;
}

/*
.nav_wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(../img/column/bg-mokume.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
}
*/

nav.flex {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    column-gap: clamp(0.25rem, 2vw, 1.75rem);
    row-gap: clamp(1rem, 2vw, 1.75rem);
	/*
    max-width: min(87.5rem, 100%);
	*/
	max-width: var(--max-width);
    margin-inline: auto;
    align-items: stretch;
}

.nav_image {
    width: 100%;
    margin-top: auto;
}

.nav_image img {
    width: 100%;
    height: auto;
    display: block;
}

/* ナビカード */
.column {
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1.75rem, 1.8vw, 1.5rem) clamp(0.5rem, 1vw, 0.75rem) 0;
    box-sizing: border-box;
    position: relative;
    overflow: visible;
    z-index: 1;
    margin-top: clamp(-6rem, -1vw, -1rem);
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
    align-self: stretch;
    height: auto;
}

.column * {
    margin-left: auto;
    margin-right: auto;
}

.column_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.column .food {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(3.2rem, 4.5vw, 4.5rem);
    height: auto;
    z-index: -10;
}

@media (min-width: 768px) and (max-height: 1000px) {
  .column{ transform-origin: top center;transform:scale(0.9); margin-top:-30px; }
}

@media (min-width: 768px) and (max-height: 850px) {
  .logo-title img{ width:600px; }
  .column{ transform-origin: top center;transform:scale(0.85); margin-top:-40px; }
}

@media (min-width: 768px) and (max-height: 750px) {
  .logo-title img{ width:550px; }
  .column{ transform-origin: top center;transform:scale(0.85); margin-top:-30px; }
}

@media (min-width: 768px) and (max-height: 650px) {
  .logo-title img{ width:500px; }
  .column{ transform-origin: top center;transform:scale(0.8); margin-top:-20px; }
}




/* 黒帯ラベル */
.kiwi-maru-regular,
.shyunnkann_title,
.back_color_black,
.new_date,
.open_hours_2f,
.floor_label,
.feature_number {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
	/*
    margin: 0;
	*/
}

.back_color_black {
    background-color: #000;
    color: #fff;
    font-size: clamp(0.8rem, 1.2vw, 0.9rem);
    text-align: center;
    line-height: clamp(1.25rem, 1.6vw, 1.5625rem);
    border-radius: clamp(2.5rem, 4vw, 3.125rem);
    margin-bottom: clamp(0rem, 0.4vw, 1rem);
    padding: clamp(0.2rem, 0.3vw, 0.25rem) clamp(0.5rem, 1.3021vw, 1.625rem);
}

.back_color_black.shopping,
.back_color_black.torikumi {
    margin-bottom: clamp(0.5rem, 1.3021vw, 0.625rem);
}

/* カードタイトル */
.column_title {
    min-height: clamp(3rem, 7.8125vw, 3.75rem);
    display: flex;
    align-items: center;
    margin-bottom: clamp(0.48rem, 0.6857vw, 0.6rem);
    height: clamp(3rem, 7.8125vw, 3.75rem);
}

.column_title .title_green,
.column_title .title_skyblue,
.column_title .title_yellow {
    max-width: 100%;
    font-size: clamp(1rem, 1.6vw, 1.5625rem);
    margin-bottom: clamp(0.35rem, 1vw, 0.46rem);
    padding: 0 0 clamp(0.25rem, 0.651vw, 0.3125rem);
}

.column_title .title_green {
    font-size: clamp(1rem, 2vw, 1.625rem);
}

.title_green {
    border-bottom: 0.125rem solid #00985c;
    font-weight: bold;
}

.title_skyblue {
    border-bottom: 0.125rem solid #52bae6;
    font-weight: bold;
    text-align: center;
}

.column_title .title_skyblue .torikumi {
    font-size: clamp(1.6rem, 2vw, 1.875rem);ƒ
}

.title_yellow {
    border-bottom: 0.125rem solid #c9ab00;
    font-weight: bold;
    font-size: clamp(1.125rem, 1.8vw, 1.5625rem);
}

/* カード下の三角 */
.column .triangle {
    position: relative;
    width: 0;
    height: 0;
    border-left: 0.6rem solid transparent;
    border-right: 0.6rem solid transparent;
    border-top: 0.6rem solid #00985c;
    margin-top: clamp(0.625rem, 1.5vw, 0.9375rem);
    margin-bottom: clamp(0.75rem, 2vw, 1.25rem);
    align-self: center;
}

.column a.triangle {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    display: inline-block;
}

.column a.triangle:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 4px;
    border-radius: 0.25rem;
}

.column .triangle.triangle_shopping {
    border-top: 0.6rem solid var(--green);
}

.column .triangle.triangle_food {
    border-top: 0.6rem solid #ff903d;
}

.column .triangle.triangle_skyblue {
    border-top: 0.6rem solid #52bae6;
}

.column .triangle.triangle_yellow {
    width: clamp(0.875rem, 1.5vw, 1.125rem);
    height: clamp(0.875rem, 1.5vw, 1.125rem);
    background: url(../img/column/fruit-triangle.png) no-repeat center / contain;
    justify-self: center;
    margin-top: clamp(0.5rem, 1.2vw, 0.75rem);
    margin-bottom: clamp(0.75rem, 1.4vw, 1.25rem);
    border: none;
}

/* =========================================================
   7. 新着情報 / イベント（info, icon）
========================================================= */
.background {
    background-color: #fff9e3;
    max-width: 100%;
}

.info {
    max-width: var(--max-width);
    width: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(0.5rem, 2.857vw, 2.5rem);
	/*
    padding: clamp(2rem, 3vw, 3.75rem) 0;
	*/
}

.block_title {
    text-align: center;
    font-size: clamp(1rem, 4vw, 2.1rem);
	/*
    padding: clamp(1.5rem, 2.9vw, 2.5rem) 0;
    margin: 0;
	*/
}

/* 日付とテキスト */
.year {
    font-size: clamp(0.6rem, 1vw, 0.8rem);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    display: block;
    line-height: 1;
}

.new_info_item {
/*
    max-width: 39.983rem;
*/
    display: grid;
    align-items: stretch;
    grid-template-columns: auto 1fr;
    margin-bottom: clamp(0.5rem, 0.9vw, 0.75rem);
}

.new_date {
    width: clamp(5.5rem, 9.80475vw, 8.5791rem);
    padding: clamp(0.4rem, 0.5714vw, 0.5rem) 0 clamp(0.3rem, 0.4286vw, 0.375rem) clamp(0.6rem, 0.8571vw, 0.75rem);
    display: flex;
    align-self: stretch;
    flex-direction: column;
    background-color: #d5eabe;
}

.day {
    font-size: clamp(0.9rem, 2vw, 1.75rem);
}

.day span {
    display: inline-block;
    font-size: clamp(0.8rem, 0.9vw, 1rem);
}

.is_wednesday {
    width: auto;
}

.news_text {
    display: block;
    border-bottom: 0.3125rem dotted #d5eabe;
    align-content: center;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    font-size: clamp(0.8rem, 2.0833vw, 1rem);
    width: 100%;
    padding: 0 clamp(0px, 1.1428vw, 16px) clamp(0px, 0.9286vw, 13px) clamp(0px, 1.1428vw, 16px);
}

/* イベント側カラー */
.pink {
    background-color: #ffd9d1;
}

.border_pink {
/*
    border-bottom: 0.3125rem dotted #ffd9d1;
*/
    border-bottom: 2px dashed #ffd9d1;

}

/* 8. アイコンリスト（Instagram など） */
.icon {
    justify-content: center;
    list-style: none;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, auto);
}

.icon>li {
    position: relative;
    padding: 0;
	display:flex;
	align-items: center;
}

.icon>li::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
	/*
	width: 1px;
    background-color: rgba(110, 105, 95, 0.38);
	*/
	width: 2px;
    background-color: #ece6d0;
}

.icon>li::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
	/*
	height: 1px;
    background-color: rgba(110, 105, 95, 0.38);
	*/
	height: 2px;
    background-color: #ece6d0;
}

.icon>li:nth-child(4n)::after {
    display: none;
}

.icon>li:nth-last-child(-n + 4)::before {
    display: none;
}

.icon_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    gap: 0.25rem;
    text-decoration: none;
    color: inherit;
}

.icon_item:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 4px;
}

.icon_item img {
    display: block;
    object-fit: contain;
    object-position: top;
    height: clamp(1.5rem, 3.5vw, 2.5rem);
    width: auto;
    margin-bottom: 0;
}

.icon_label {
    font-family: "Noto Sans JP", sans-serif;
	/*
	font-weight: 900;
	*/
	font-weight:500;
    margin-top: 0;
    font-size: 0.875rem;
    text-align: center;
    /*
	line-height: 1.8;
	*/
	line-height: 3em;
}

.icon_label.line2 {
	line-height:1.5em;
}

/* =========================================================
   9. コンセプトセクション
========================================================= */
.concept_section {
    background-color: #fffcf2;
	/*
    padding: clamp(3rem, 7.8125vw, 3.75rem) 0;
	*/
}

.concept {
/*
    max-width: 1400px;
*/
	max-width:var(--max-width);
    margin-inline: auto;
    display: grid;
    justify-items: center;
/*
    padding-inline: clamp(1rem, 8vw, 13.5rem);
*/
}

.concept_wrap {
    display: flex;
    justify-content: center;
    padding-bottom: clamp(0.75rem, 1.5vw, 1.25rem);
}

.concept_title {
    text-align: center;
	/*
    font-size: clamp(1.2rem, 1.6vw, 2rem);
	*/
    margin: clamp(2rem, 5.20833vw, 2.5rem) auto 0;
    line-height: 2em;
    font-weight: bold;
}

.concept>p {
/*
    max-width: 56rem;
*/
    margin: clamp(2rem, 5.20833vw, 2.5rem) auto clamp(2rem, 3vw, 3.75rem);
    line-height: 2;
    text-align: justify;
}

.concept_list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(4rem, 11vw, 8.4375rem);
	/*
    max-width: clamp(37rem, 64vw, 56rem);
	*/
    margin: 0 auto clamp(2rem, 3vw, 3.75rem);
    padding-bottom: clamp(2rem, 3vw, 3.75rem);
}

.concept_list>li.concept_figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
}

.concept_figure_media {
/*
    max-width: clamp(8.75rem, 14vw, 13.125rem);
*/
    aspect-ratio: 1 / 1;
    margin: 0;
    justify-content: center;
}

.concept_figure_media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.concept_figure_label {
    display: block;
    text-align: center;
    margin-top: clamp(0.75rem, 1.43vw, 1.25rem);
    font-size: clamp(0.875rem, 1.6vw, 1.125rem);
}

.one_stop_card {
/*
    padding: clamp(2.5rem, 5vw, 3.75rem) 0;
    max-width: clamp(0rem, 80vw, 43rem);
    margin: 0 auto;
*/
	width:810px;
	margin-left:auto;
	margin-right:auto;
    text-align: center;
}

.one_stop_card .w50p {
	position:relative;
	left:1.6em;
}

p.one_stop {
    text-align: left;
	/*
	margin-top: clamp(2rem, 3.4286vw, 4rem);
    font-size: clamp(0.875rem, 1.6vw, 1.125rem);
	*/
    line-height: 2;
}

/*
.one_stop span {
    display: inline-block;
    text-indent: -1.6em;
}
*/


.concept_card {
    display: grid;
	/*
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	*/
	grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: clamp(3.2rem, 4.5714vw, 4rem);
	/*
    padding-top: clamp(2.5rem, 5vw, 3.75rem);
    max-width: 1400px;
	*/
    max-width: var(--max-width);
    margin: 0 auto;
}

.concept_card > div {
	position:relative;
}

.one_stop_card .feature_title_start.feature_title.shyunnkann_title {
    line-height: 1.8;
}

.main_left_img {
	/*
	position: relative;
    overflow: hidden;
	*/
	position:absolute;
    min-height: 100%;
	width:50vw;
	right:0;
    --concept-bg-x: 59%;
}

.main_left_bg {
    position: absolute;
    inset: 0;
    background-image: url(../img/concept_section/syunnkannhiroba.jpg);
    background-size: cover;
    background-repeat: no-repeat;
	/*
    background-position: var(--concept-bg-x) center;
	*/
    background-position: left center;
}


@media (max-width: 1024px) {
    .main_left_img {
        --concept-bg-x: 35%;
    }

    .main_left_bg {
        background-position: var(--concept-bg-x) center;
    }
}

.concept_content {
    align-items: flex-start;
	/*
    text-align: center;
    max-width: clamp(16rem, 52vw, 36rem);
	*/
}

.facility_summary {
    border: 1px solid #000;
	/*
    margin: 0.4rem 0 0 0;
	*/
    padding: 0.8rem;
    font-size: 0.8rem;
}

.facility_summary p,
.floor p {
/*
    text-align: center;
*/
    font-weight: bold;
    margin: 0;
}

.facility_summary ul {
/*
	margin: 0 auto;
*/
	margin:0 0 0 1em;
    padding-left: 1.2em;
    line-height: 1.6;
    text-align: left;
	/*
    max-width: fit-content;
	*/
	
}

.facility_floors ul {
    margin: 0;
    padding-left: 1.2em;
    line-height: 1.6;
}

.facility_overview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 常に半分 */
    gap: 0.6rem;
    justify-content: center;
}

.floor li {
    text-align: left;
}



/* =========================================================
   section floor1
========================================================= */
.floor_1 { }

.floor_1 .block_1 .feature_box {
	--floor_1_feature_box_width:635px;
	width:var(--floor_1_feature_box_width);
}


/* =========================================================
   10. 1F / 2F フロア共通
========================================================= */
.floor_block {
    display: grid;
    grid-template-columns: minmax(16rem, 29.75rem) 1fr;
    column-gap: clamp(1rem, 1.9vw, 1.6875rem);
    align-items: stretch;
	/*
    margin: clamp(2rem, 3vw, 3.75rem) auto;
	*/
	margin-left:auto;
	margin-right:auto;
	/*
    max-width: 1400px;
	*/
    max-width: var(--max-width);
}

.floor_inner {
    width: 100%;
    max-width: 29.75rem;
    display: grid;
    position: relative;
    text-align: center;
    border: 0.125rem solid transparent;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
}

.floor_inner,
.floor_box {
    box-sizing: border-box;
}

/* 緑のコーナー装飾 */
.floor_inner::before,
.floor_inner::after {
    content: "";
    position: absolute;
    width: clamp(3rem, 18vw, 7rem);
    border: clamp(0.6rem, 2.6vw, 1rem) solid var(--green);
    aspect-ratio: 28 / 31;
}

.floor_inner::before {
    top: clamp(-1rem, 0.57vw, -0.375rem);
    right: clamp(-1rem, 0.57vw, -0.28rem);
    border-left: none;
    border-bottom: none;
}

.floor_inner::after {
    bottom: clamp(-1rem, 0.57vw, -0.375rem);
    left: clamp(-1rem, 0.57vw, -0.28rem);
    border-right: none;
    border-top: none;
}

/* 1F・2F 丸ラベル */
.floor_label {
    background-color: var(--green);
    color: #fff;
    border-radius: 50%;
    width: clamp(5rem, 8vw, 7rem);
    height: clamp(5rem, 8vw, 7rem);
    display: grid;
    place-items: center;
    font-size: clamp(1.75rem, 3.7vw, 3.25rem);
    position: absolute;
    top: clamp(-1.5rem, -3vw, -2.4375rem);
    left: clamp(-2rem, -2.2vw, -1rem);
}

.floor_label.orange {
    background-color: var(--orange);
    color: #fff;
}

/* フロア情報ボックス */
.floor_box {
    border: 0.125rem solid var(--green);
    width: 100%;
    display: grid;
    place-items: center;
    padding: clamp(1.5rem, 2.86vw, 2.5rem) 0;
    height: auto;
    align-items: center;
    overflow: visible;
	
}

.floor_box h4 {
    display: flex;
    justify-content: center;
    width: clamp(2.8rem, 4.3571vw, 4.0625rem);
    height: auto;
    margin-bottom: clamp(0.5rem, 2.6042vw, 1.25rem);
}

.floor_box h4 img {
    width: 100%;
    height: auto;
}

/* 2Fのオレンジ枠 */
.floor_box.orange_line {
    border: 0.125rem solid var(--orange);
    padding: clamp(1.5rem, 2.86vw, 1rem) 0;
}

.floor_wrapper {
    overflow: hidden;
    margin-right: calc(50% - 50vw);
    height: 100%;
    position: relative;
}

.floor_images {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(15.2rem, 18vw, 15.75rem);
    height: 100%;
    gap: 0.1rem;
    width: max-content;
    will-change: transform;
}

.floor_images img {
    flex-shrink: 0;
    display: block;
}

/* OPEN / 定休日テーブル */
.open_hours {
    display: block;
    margin-inline: auto;
}

.open_hours th,
.open_hours td {
    padding-bottom: clamp(0rem, 2.6042vw, 1.25rem);
}

.open_hours th {
    font-size: clamp(1rem, 1.5vw, 1.3125rem);
    padding-right: clamp(1rem, 2vw, 1.75rem);
}

.open_hours td {
    font-size: clamp(1.6rem, 2.4286vw, 2.125rem);
    white-space: nowrap;
    text-align: left;
}


/* =========================================================
   11. Feature タイトル共通
========================================================= */
.feature_wrap_titl {
/*
    margin: 0 auto clamp(2rem, 5.20833vw, 2.5rem);
*/
    display: flex;
    flex-direction: column;
	width:100%;
}

.feature_wrap_titl_whole {
    max-width: 1400px;
    margin-inline: auto;
    display: flex;
    justify-content: center;
}

.feature_wrap_titl .feature_icon {
    position: relative;
    width: clamp(1.5625rem, 3.2143vw, 2.8125rem);
    height: clamp(1.5625rem, 3.2143vw, 2.8125rem);
    top: 1rem;
}

.feature_icon img {
    width: 100%;
    height: 100%;
}

.feature_icon .feature_label {
    position: absolute;
    display: grid;
    top: clamp(-4rem, 0.4rem, 0.625rem);
    left: clamp(1.3125rem, 2.5vw, 2.1875rem);
}

.feature_wrap_titl .feature_wrap_titl_text {
	/*
    font-size: clamp(1.3rem, 3vw, 3.0625rem);
	*/
	font-size:3rem;
    line-height: 1.2;
	/*
	text-align:center;
	*/
	text-align:left;
}

.feature_wrap_titl_text .second_line {
	position:relative;
	padding-left:2em;
/*
    margin-left: clamp(0.2rem, 3.4286vw, 3rem);
*/
    display: inline-block;
/*
    margin-top: 1.4rem;
*/
/*
	padding-left:2em;
*/
	text-align:left;
}



.feature_wrap_titl .feature_number {
/*
	font-size: clamp(1.8rem, 4.7143vw, 4.125rem);
*/
	position:absolute;
	font-size:4rem;
    display: inline-block;
    line-height: 0;
    padding: 0;
    margin: 0;
    color: var(--green);
	left:40px;
	top:-25px;
}

.feature_wrap_titl .feature_number .feature_icon {
    position: relative;
    width: 45px;
    height: 45px;
    top: -0.8rem;
    left: -3rem;
}

.feature_wrap_titl .feature_number .feature_icon .feature_label {
    position: absolute;
	font-size:1rem;
	display:block;
	top:20px;
	left:38px;
	color:black;
}









.feature_number.orange_color {
    color: var(--orange);
}

.feature_wrap_titl_text .second_line_indent {
/*
    margin-left: clamp(0.2rem, 2.6vw, 3rem);
*/
/*
	margin-left:2em;
*/
    display: inline-block;
}

/* Feature 3などで使うセンター寄せ */
.feature_wrap_titl_center.feature_wrap_text_center {
/*
	max-width: 1400px;
*/
	max-width:var(--max-width);
    margin-inline: auto;
    display: flex;
    flex-direction: column;
}

.feature_wrap_titl_text.feature_title_text {
    word-break: auto-phrase;
    flex-wrap: wrap;
}

.feature_title span {
    border-bottom-width: 0.3125rem;
    display: inline;
    border-bottom: 0.3125rem solid #009933;
    padding: clamp(0.6rem, 0.7143vw, 0.625rem) 0;
}

.feature_wrap_titl_text .title_phrase {
    white-space: nowrap;
}

/* =========================================================
   12. Feature Block 1（1F 売り場右画像）
========================================================= */
.feature_block {
    display: flex;
    box-sizing: border-box;
    position: relative;
}

.feature_box {
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    background: transparent;
/*
    margin-top: clamp(2rem, 4.3vw, 3.75rem);
*/
    justify-items: center;
}

.u_contain_right_image {
/*
	overflow:hidden;
*/
}

.u_contain_right_image .feature_block.abs_image .feature_image {
	width:calc(100% - var(--floor_1_featiure_box_width));
	height:auto;
	overflow:visible;
}

.u_contain_right_image .feature_block.abs_image .feature_image img {
	width:74vw;
	max-width:unset;
	right:0;
	margin-left:-10vw;
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 15%, black 40%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 15%, black 40%);
}

.feature_text_box {
/*
	width: 100%;
    max-width: clamp(25.9rem, 56vw, 32.375rem);
    box-sizing: border-box;
	padding-left:1.8em;
*/
}

.feature_subcontent {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.75rem, 2vw, 1.5625rem);
    width: 100%;
}

.feature_subcontent.row_picture {
    grid-template-columns: repeat(2, minmax(0, 1fr));
	/*
    margin-bottom: clamp(0.8rem, 4.20833vw, 2.5rem);
	*/
}

.picture_text {
    text-align: center;
/*
    max-width: clamp(28rem, 72.9167vw, 35rem);
    margin: clamp(0.5rem, 1.3021vw, 0.625rem) 0 0;
    font-size: clamp(0.6rem, 1.0833vw, 1rem);
*/
	font-size:0.875rem;
	margin-top:0.5em;
}

.margin_box_60 {
    margin-bottom: clamp(3rem, 7.8125vw, 3.75rem);
}

/* マスク画像（右側） */
.restaurant_mask_imge img {

	-webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 20%, black 50%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 40%, black 70%);
}

/* =========================================================
   13. Feature Block 2（動画＋テキスト）
========================================================= */
.feature_blocks.feature_block_2 {
    display: flex;
    gap: clamp(1rem, 3vw, 2.5rem);
    align-items: flex-start;
	/*
    margin-top: clamp(7rem, 8.6vw, 7.5rem);
    margin-bottom: clamp(2rem, 4.3vw, 3.75rem);
	*/
}

.feature_blocks.feature_block_2 .video {
    flex: 0 0 57%;
    max-width: 100%;
    margin: auto;
    text-align: center;
}

.feature_blocks.feature_block_2 .video .picture_text {
/*
	display: inline-block;
    margin: 0 auto;
    max-width: clamp(28rem, 72.9167vw, 35rem);
    font-size: clamp(0.9rem, 1.0833vw, 1rem);
    text-align: center;
*/
}

.feature_blocks.feature_block_2 .feature_boxs {
    flex: 0 0 40%;
    max-width: 100%;
}


/* 直行便とは？ ブロック（feature_gap） */
.feature_blocks.main_inner.feature_gap {
    display: grid;
    grid-template-columns: 4fr 6fr;
    align-items: center;
    column-gap: clamp(1rem, 2.6042vw, 3.25rem);
	/*
    max-width: 1400px;
	*/
    width: 100%;
	/*
    margin: clamp(2rem, 4vw, 3.75rem) auto;
	*/
}

.feature_blocks.main_inner.feature_gap .feature_boxs {
    max-width: none;
}

.feature_blocks.main_inner.feature_gap .feature_images {
    width: 100%;
    max-width: none;
}

.feature_blocks.main_inner.feature_gap .feature_images img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.feature_blocks.main_inner.feature_gap .feature_subcontent {
    grid-template-columns: 1fr 1fr;
    width: 100%;
}

/* =========================================================
   14. Feature Block 3（うまいもの探し）
========================================================= */
.feature_wrap_center_block {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    justify-items: center;
}

.umaimono_wrapper {
    overflow: visible;
}

.umaimono_wrapper .image_row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(12rem, 17.4vw, 15.25rem);
    gap: clamp(0rem, 0.2vw, 0.3rem);
    align-items: start;
    margin-inline: auto;
    max-width: min(100%, 87.5rem);
    justify-content: center;
}

.image_row {
    display: flex;
    align-items: center;
}

/* Feature 3下のテキスト（珍しい野菜など） */
.main_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    justify-items: start;
    gap: clamp(5rem, 7.1429vw, 6.25rem);
	/*
    margin: clamp(1.25rem, 4vw, 2.5rem) auto 0;
	*/
    max-width: min(100%, 87.5rem);
	/*
    width: 87%;
	*/
    padding-inline: clamp(1rem, 3vw, 2rem);
    box-sizing: border-box;
}

.main_box h5.kiwi-maru-medium {
/*
    font-size: clamp(1.14rem, 2.4286vw, 2.125rem);
    line-height: clamp(1.6em, 4vw, 1.9em);
*/
    text-align: center;
    margin-left: auto;
}

.main_box .main_description p {
    line-height: clamp(1.6em, 3.4vw, 1.9em);
    margin-inline: auto;
    text-align: justify;
    line-break: strict;
    word-break: normal;
    overflow-wrap: anywhere;
}

.main_description {
    justify-self: start;
}

/* =========================================================
   15. 白桃カード(main_section)＋ main_list
========================================================= */
.main_section {
/*
    max-width: 87.5rem;
*/
	max-width:var(--max-width);
    margin-inline: auto;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: clamp(1.25rem, 3vw, 2.5rem);
    align-items: start;
    justify-items: start;
/*
    margin-top: clamp(1.25rem, 5vw, 2.5rem);
*/
}

.main_item {
    min-width: 0;
}

.main_item img {
    width: 100%;
    height: auto;
}

.main_text {
/*
    font-size: clamp(1.25rem, 3.2vw, 2.125rem);
*/	
	font-size:1.875rem;
    margin-bottom: clamp(0.75rem, 2vw, 1.0625rem);
    text-align: center;
}

.main_text span {
    display: block;
    font-size: 1.125rem;
    color: #7cbe36;
}

/* 白桃カード */
.fruit_card {
    grid-column: span 2;
    margin-top: clamp(4rem, 10.4167vw, 5rem);
    border: 0.1875rem dotted var(--green);
    align-items: start;
    justify-items: stretch;
    container-type: inline-size;
    width: min(90rem, 100%);
    padding: clamp(1rem, 2.6042vw, 1.25rem);
    box-sizing: border-box;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	/*
    gap: clamp(0.8rem, 1vw, 1.25rem);
	*/
	gap:2em;
    text-align: justify;
    border-radius: clamp(0.8rem, 2.0833vw, 1rem);
}

.fruit_card::before {
    content: "";
    position: absolute;
	/*
    top: clamp(0.5rem, 2.71vw, 2.5rem);
    left: clamp(1.5rem, 6vw, 4rem);
	*/
	top:1.5em;
	left:1em;
    width: clamp(3.5rem, 12vw, 7rem);
    transform: translate(-50%, -100%);
    aspect-ratio: 28 / 31;
    background-image: url(../img/feature1_1f/main_list/pickup.png);
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 2;
}

.wrapper .main_section .fruit_card .fruit_content {
    display: grid;
    width: 100%;
/*
    max-width: clamp(17rem, 28vw, 24.43rem);
    gap: clamp(0.6rem, 1.4vw, 1.5625rem);
*/
	gap:2em;
}

.wrapper .main_section .fruit_card .fruit_content,
.wrapper .main_section .main_fruit_img {
    min-width: 0;
    margin: 0;
}

.fruit_content h2 {
/*
    font-size: clamp(1.5rem, 4vw, 3rem);
*/
	font-size:3rem;
    line-height: 1.2;
    position: relative;
	/*
    margin-top: clamp(1rem, 2.6042vw, 1.25rem);
	*/
}

.syukka {
    font-size: clamp(1rem, 1.6042vw, 1.25rem);
}

.syukka span {
    margin-left: 1rem;
}

.main_fruit_img {
    padding: 0;
    width: 100%;
    align-self: center;
}

.main_fruit_img img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    margin: 0;
    object-fit: cover;
}

.fruit_description {
    height: auto;
    word-break: break-all;
    overflow-wrap: break-word;
    font-size: clamp(0.875rem, 1.8vw, 0.87rem);
    line-height: clamp(1.25rem, 2.255vw, 1.5625rem);
    margin: 0;
    text-align: justify;
}

/* 一覧のカード (main_list) */
.main_list {
/*
    max-width: 1400px;
*/
    max-width: var(--max-width);
    margin-inline: auto;
    display: grid;
	/*
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
	*/
	grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.25rem, 4vw, 2.5rem);
    margin-block: clamp(2rem, 5.20833vw, 2.5rem) clamp(3rem, 7.8125vw, 3.75rem);
}

/* =========================================================
   16. 沖縄カード(fruit_card_okinawa)
========================================================= */
.feature_blocks.gap {
    display: flex;
    gap: clamp(1rem, 3.2143vw, 2.8125rem);
/*
    max-width: 1400px;
*/
    max-width: var(--max-width);
/*
	margin: auto;
*/
	margin-left:auto;
	margin-right:auto;
}

.feature_blocks.gap>* {
    flex: 1 1 0;
    min-width: 0;
}

.feature_okinawa {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 0.25rem;
    justify-items: center;
}

.feature_text.specialty {
/*
    margin-top: clamp(2rem, 5.20833vw, 2.5rem);
    width: 90%;
*/
}

/* 沖縄コラボカード */
.fruit_card_okinawa {
    border: 0.1875rem dotted var(--green);
    padding: clamp(1.5rem, 5vw, 2.37rem) clamp(1rem, 4vw, 1.5rem) clamp(1rem, 5vw, 1.68rem);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: clamp(1rem, 2.9vw, 2.25rem);
/*
    margin: clamp(6rem, 10vw, 7.5rem) auto clamp(3rem, 7.8125vw, 3.75rem);
*/
	margin-left:auto;
	margin-right:auto;
    border-radius: 0.625rem;
    box-sizing: border-box;
    position: relative;
/*
    max-width: 1400px;
*/
	max-width:var(--max-width);
    width: 100%;
    align-items: flex-start;
}

.fruit_card_okinawa h2 br { display:none;}
@media (max-width: 1285px) {
	.fruit_card_okinawa h2 br { display:block;}
}


.fruit_card_okinawa::before {
    content: "";
    position: absolute;
    top: clamp(0.5rem, 2.71vw, 2.5rem);
    left: clamp(1.5rem, 6vw, 4rem);
    transform: translate(-50%, -100%);
    width: clamp(3.5rem, 12vw, 7rem);
    aspect-ratio: 28 / 31;
    background-image: url(../img/feature1_1f/main_list/pickup.png);
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 5;
}

.fruit_card_okinawa .sp_okinawa_img {
    display: none;
}

.fruit_card_okinawa h2 {
/*
    font-size: clamp(1.3rem, 4.2vw, 3rem);
*/
	font-size:3rem;
}

.main_title_sub {
	font-size:2rem;
	line-height:1.6em;
/*
	font-size: clamp(1rem, 2.45vw, 2.125rem);
    line-height: 1.6;
    margin-top: clamp(0.6rem, 5.2vw, 2.5rem);
*/
}

.fruit_card_okinawa .fruit_description_okinawa {
/*
    font-size: clamp(0.875rem, 1.8vw, 0.9375rem);
    line-height: clamp(1.4rem, 2.2vw, 1.9rem);
    text-align: justify;
    margin: clamp(0.75rem, 2.2vw, 1.25rem) 0 clamp(1.5rem, 3vw, 2rem);
*/
}

.fruit_card_okinawa .okinawa_img img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.fruit_card_okinawa .button.is-fixed {
    margin-top: clamp(0.75rem, 2vw, 1.5rem);
    display: flex;
    margin: auto;
}

/* =========================================================
   17. PC専用 / SP非表示（ヘッダー〜沖縄で使用）
========================================================= */
.sp_feature_text,
.sp_video,
.sp_feature_image,
.sp_feature_wrap_center_block,
.sp_floor_wrapper,
.sp_okinawa_img,
.sp_umaimono_text,
.pc-only,
.sp_br {
    display: none !important;
}

/* =========================================================
   18. 2F セクション（フロア＋OPEN情報）
========================================================= */
.floor_2 {
    background-color: #fffaf0;
}

.second_floor {
	background-color: #fffaf0;
/*
	padding: clamp(2rem, 6vw, 3.75rem) 0;
*/
}

.light_orange_box .floor_box.orange_line .open_hours.open_hours_2f {
    justify-items: center;
    width: 100%;
    font-size: clamp(0.875rem, 2.2vw, 1rem);
    border-collapse: collapse;
    table-layout: auto;
    display: flex;
    gap: 0.5rem;
    line-height: 1.4;
    text-align: left;
    align-items: flex-start;
}

.floor_box h4.osyokuzi_2f_icon {
    width: clamp(1.5rem, 2vw, 4.0625rem);
}

.open_hours_2f .open_hours_2f span {
    display: inline-block;
}

.light_orange_box .floor_box.orange_line .open_hours.open_hours_2f small {
    font-size: clamp(0.9rem, 1.8vw, 0.875rem);
}

.meal_times {
    display: block;
    line-height: 1.1;
}

.meal_time {
    display: block;
/*
    line-height: 0.8;
*/
}

.open_hours_2f strong {
	line-height:1.3em;
	font-size:1.125rem;
}

.orange_box_font.morning,
.open_hours_2f.regular_holiday {
/*
    margin-top: clamp(0.1rem, 1.6vw, 0.4rem);
*/
}

/* .meal_times .orange_box_font {
    line-height: 1.1;
} */

.meal_times small {
    line-height: 1.1;
}

.orange_box_font {
    display: inline-block;
    margin: 0;
    line-height: 1.1;
}

.open_hours_2f small {
/*
    line-height: 1.1;
    margin-top: 0.15em;
*/
}

.light_orange_box::before,
.light_orange_box::after {
    border: clamp(0.6rem, 2.6vw, 1rem) solid var(--orange);
}


.light_orange_box::before {
    border-left: none;
    border-bottom: none;
}

.light_orange_box::after {
    border-right: none;
    border-top: none;
}

.open_hours_2f {
    display: flex;
    gap: clamp(0.25rem, 1vw, 0.75rem);
    line-height: 1;
}

.open_hours_2f small {
    display: block;
/*
    font-size: clamp(0.625rem, 1.2vw, 0.8125rem);
*/
	font-size:0.875rem;
	/*
    margin: clamp(0.2rem, 1.2vw, 0rem) 0;
	*/
}

.open_hours_2f p {
/*
    font-size: clamp(1em, 1.9vw, 1.2rem);
*/
}


/* =========================================================
   19. Feature Block レストラン1（使う食材は「晴れのち晴れ」から。）
========================================================= */

.feature_block.restaurant_gap {
    display: grid;
	/*
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	*/
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(1.5rem, 4vw, 3.75rem);
	/*
    align-items: center;
	*/
	/*
    max-width: 1400px;
	*/
    max-width: var(--max-width);
	/*
    margin: clamp(3rem, 7.8125vw, 3.75rem) auto 0 auto;
	*/
}

.restaurant_osyokuzi {
    width: 100%;
	/*
    max-width: clamp(25rem, 50vw, 39.375rem);
	*/
    display: block;
}

.restaurant_osyokuzi img {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: cover;
    display: block;
}

/* 右側テキストブロック */
.restauran {
    display: grid;
    grid-auto-rows: min-content;
    align-items: flex-start;
}

.restauran .feature_text {
/*
    max-width: clamp(20rem, 36vw, 28rem);
*/
    /* margin-top: clamp(0.5rem, 1.2vw, 0.75rem); */
}

/* =========================================================
   20. レストラン メニュー一覧（green / orange box）
========================================================= */

.restaurant_list {
/*
    max-width: 1400px;
    margin-inline: auto;
    margin-top: clamp(3rem, 7.8125vw, 3.75rem);
*/
}

/* 見出し「メニューの一部をご覧ください！」 */
.restaurant_list .part_title {
    font-size: clamp(1.25rem, 3vw, 1.875rem);
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.menu_boxes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    align-items: stretch;
    position: relative;
    margin-top: clamp(1.5rem, 6vw, 3.75rem);
    row-gap: clamp(1rem, 10vw, 5.5rem);
    z-index: 1;
}

.restaurant_green_box,
.restaurant_orange_box {
/*
    max-width: 41.3125rem;
*/
    padding: clamp(3rem, 7.8125vw, 3.75rem) clamp(1rem, 4vw, 1.25rem);
    text-align: center;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
    box-sizing: content-box;
}

.restaurant_green_box {
    background: #e3f2db;
}

.restaurant_orange_box {
    background: #ffd7b8;
}

/* タイトルアイコン（丸いアイコン画像） */

.menu_title_img {
    position: absolute;
    top: -4%;
    left: 50%;
    transform: translate(-50%);
    z-index: -1;
    border-radius: 50%;
}

/* 「お食事メニュー」「カフェメニュー」 */
.menu_title {
    text-align: center;
    margin: clamp(1.5rem, 3.90625vw, 1.875rem) auto clamp(2rem, 5.20833vw, 2.5rem) auto;
}

.menu_title p {
    font-size: clamp(1.125rem, 2.2vw, 1.5rem);
    font-weight: 700;
    margin: 0;
}

/* メイン画像＋キャプション */

:root {
    --menu-main-height: clamp(16rem, 32vw, 26rem);
}

.feature_block__no_stretch {
    align-items: start;
}

.restaurant_list {
/*
    max-width: min(100%, 87.5rem);
*/
	max-width:var(--max-width);
    margin-inline: auto;
}

.wrapper .restaurant_list .main_menu {
    position: relative;
    padding-top: var(--menu-main-height);
}

.wrapper .restaurant_list .main_menu>img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: var(--menu-main-height) !important;
    width: 100% !important;
    object-fit: cover;
    display: block;
}

.wrapper .restaurant_list .main_menu img[width][height] {
    height: var(--menu-main-height);
}


.wrapper .restaurant_list .main_menu.desert>img {
    object-fit: contain !important;
    background: #ffd7b8;
}

.main_menu.desert img {
    object-fit: cover;
}

.menu_caption {
    margin-top: clamp(1rem, 2.6042vw, 1.25rem);
}

.menu_images {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(0.2rem, 1.8vw, 0.5rem);
    margin-top: clamp(1rem, 2.8vw, 1.75rem);
}

.menu_images img {
    width: 100%;
    height: auto;
    display: block;
}

/* =========================================================
   21. Feature Block レストラン2（「おいしかった♪」〜）
========================================================= */

/* 構造図＋テキストの2カラム */

.floor_2 .feature_wrap_titl .feature_wrap_titl_text {
	text-align:center;
}

.feature_wrap_titl_center.feature_wrap_text_center .second_line {
/*
	margin-left: clamp(1.125rem, 4.2vw, 3rem);
    margin-top: 1.4rem;
*/
}

.feature_blocks.feature_block__no_stretch.main_inner {
    display: grid;
    column-gap: clamp(1.5rem, 4vw, 3.75rem);
/*
    max-width: 1400px;
    width: 100%;
*/
	max-width:var(--max-width);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
}

.structure img {
    width: 100%;
    height: auto;
    display: block;
}

/* 右側テキストブロック */
.feature_blocks.feature_block__no_stretch .feature_boxs {
    display: grid;
    grid-auto-rows: min-content;
    row-gap: clamp(1rem, 2.6vw, 1.75rem);
}

/* 下の見出し3行 */
.heading_lines {
    margin: 0;
    margin-top: clamp(0.75rem, 2vw, 1.5rem);
    font-size: clamp(1.25rem, 2.6vw, 1.875rem);
    line-height: 1.6;
    text-align: center;
}

.heading_lines .uline {
    display: inline-block;
    border-bottom: .25rem dotted var(--orange);
    padding-bottom: clamp(0.1rem, 0.3vw, 0.2rem);
    padding-bottom: clamp(0.25rem, 0.8vw, 0.75rem);
    margin: clamp(0.5rem, 2vw, 0.625rem) auto;

}

/* =========================================================
   22. レストラン マーク案内（このマークが目印）
========================================================= */
.restaurant_content {
    border: 0.3rem dotted #ff903d;
    border-radius: 0.5rem;
	/*
    margin: clamp(2rem, 5.20833vw, 2.5rem) auto clamp(2rem, 6vw, 3.75rem) auto;
	*/
	margin-left:auto;
	margin-right:auto;
    padding: clamp(1.25rem, 3.255vw, 1.5625rem);
    max-width: clamp(12rem, 59rem, 58.94rem);
    background: #fffaf0;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: clamp(0.5rem, 1.5vw, 1rem);
    align-items: center;
}

.restaurant_content .block {
    font-size: clamp(0.8125rem, 2.4vw, 1rem);
    line-height: clamp(1.4, r 4vw, 1.8);
}

.restaurant_content_imge {
    grid-row: 1 / 3;
    grid-column: 1;
    display: flex;
    align-items: center;
}

.restaurant_content_imge img {
/*
    width: clamp(3.5rem, 10vw, 5.1875rem);
*/
	width:120px;
    height: auto;
    display: block;
}

.restaurant_content_item {
    grid-row: 1;
    grid-column: 2;
    display: flex;
	/*
    align-items: center;
	*/
    gap: 0.25rem;
}

.restaurant_content_item img {
/*
    width: clamp(1.8rem, 6vw, 2.875rem);
    height: auto;
*/
    display: block;
	position:relative;
	top:3px;
	height:min-content;
	
}

.restaurant_content>p.block {
    grid-row: 2;
    grid-column: 1 / -1;
    text-align: right;
}

.restaurant_text {
    font-size: clamp(0.9375rem, 1.6vw, 1.125rem);
    line-height: clamp(1.5rem, 1.8em, 2rem);
	/*
    margin-left: clamp(0rem, 1.8vw, 1.5625rem);
	*/
}


/* =========================================================
   2*. Feature Block レストラン1（子どもともゆっくり食事を）
========================================================= */

.floor_2 .feature_block.kids .feature_box {
    --floor_2_feature_box_kids_width: 750px;
    width: var(--floor_2_feature_box_kids_width);
}

.floor_2 .u_contain_right_image .feature_block.kids.abs_image .feature_image {
    width: calc(100% - var(--floor_2_featiure_box.kids_width));
    height: auto;
    overflow: visible;
}



/* =========================================================
   23. Feature Block レストラン3（テラスでまったり、のんびり♪）
========================================================= */

.floor_2 .feature_block .feature_box {
    --floor_2_feature_box_width: 530px;
    width: var(--floor_2_feature_box_width);
}

.floor_2 .u_contain_right_image .feature_block.abs_image .feature_image {
    width: calc(100% - var(--floor_2_featiure_box_width));
    height: auto;
    overflow: visible;
}

.restaurant_terrace img {
    width: 100%;
    height: 110%;
    object-fit: cover;
    display: block;
}

.feature_subcontent.feature_subcontent_picture {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(0.75rem, 2vw, 1.5rem);
/*
    margin-top: clamp(3rem, 7.8125vw, 3.75rem);
*/
}

.feature_subcontent_picture img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.feature_subcontent_picture {
    border: 0.125rem solid #ff903d;
    padding: clamp(1.65rem, 2.3571vw, 2.0625rem) clamp(1rem, 2vw, 2.25rem);
    width: 100%;
    max-width: clamp(18rem, 42vw, 28.875rem);
    position: relative;
	/*
    margin: clamp(2rem, 5.20833vw, 2.5rem) auto 0 auto;
	*/
	margin-left:auto;
	margin-right:auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(0.75rem, 2.6vw, 2.3125rem);
    box-sizing: border-box;
}

.feature_subcontent_picture::after {
    content: "テイクアウトできるメニューもあります。";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    translate: 0 -50%;
    background-color: var(--orange);
    color: #fff;
    padding: clamp(0.375rem, 1vw, 0.75rem) clamp(0.7rem, 1.6vw, 1.25rem);
    border-radius: 62.4375rem;
    font-weight: 700;
    font-size: clamp(0.9rem, 1.25vw, 1rem);
    line-height: 1;
    width: clamp(14rem, 90%, 28rem);
    text-align: center;
    box-sizing: border-box;
    white-space: nowrap;
}

/* テラス写真の上に薄くマスクをかけたい場合（必要なら） */
/*
.feature_image.restaurant_mask_imge.restaurant_terrace img {
    -webkit-mask-image: linear-gradient(to right,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.6) 20%,
        black 60%);
    mask-image: linear-gradient(to right,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.6) 40%,
        black 70%);
}
*/

/* =========================================================
   24. SDGs リードブロック（news_box + タイトル）
========================================================= */

.news_box {
    display: grid;
    grid-template-columns: auto auto auto;
	/*
	align-items: start;
    margin: clamp(2rem, 3vw, 3.75rem) auto clamp(2rem, 5.20833vw, 2.5rem) auto;
	*/
	align-items:center;
	margin-left:auto;
	margin-right:auto;
    justify-items: center;
	/*
    max-width: min(87.5rem, 100%);
	*/
	max-width:var(--max-width);
    width: 100%;
    column-gap: clamp(1rem, 4.5714vw, 4rem);
}

.news_box>* {
    min-width: 0;
}

.news_left,
.light_blue_box {
    width: 100%;
    height: auto;
}


.light_blue_box {
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.light_blue_box .floor_box.light_blue {
    width: clamp(14.25rem, 24.6429vw, 21.5625rem);
    aspect-ratio: 1 / 1;
    border: 0.125rem solid var(--sky);
    text-align: center;
    box-sizing: border-box;
    position: relative;
    row-gap: 0;
}

.light_blue_box .floor_box.light_blue>* {
    min-width: 0;
}

.light_blue::before,
.light_blue::after {
    content: "";
    position: absolute;
    width: clamp(3rem, 6vw, 5rem);
    height: clamp(3rem, 6vw, 5rem);
    border: clamp(0.15rem, 0.390625vw, 0.1875rem) solid var(--sky);
    border-width: clamp(0.7rem, 1.6vw, 1.125rem);
}

.light_blue::before {
    top: -0.45rem;
    right: -0.45rem;
    border-left: none;
    border-bottom: none;
}

.light_blue::after {
    bottom: -0.45rem;
    left: -0.45rem;
    border-right: none;
    border-top: none;
    z-index: 200;
}

.news_box_img {
    width: clamp(2.5rem, 7vw, 6.1875rem);
    height: auto;
    display: block;
}

.news_back_color_black {
    margin-top: clamp(0.5rem, 1.2vw, 0.75rem);
    margin-bottom: clamp(0.75rem, 1.6vw, 1rem);
}

.news_box_title {
    font-size: clamp(1.5rem, 2vw, 2.125rem);
    line-height: 1.4;
    text-align: center;
}

.light_blue_box .news_box_title span {
    font-size: clamp(2.5rem, 4.8vw, 3.75rem);
    font-weight: 700;
}

/* 中央テキスト */
.news_text.light_blue_text {
    align-self: center;
    font-size: clamp(0.875rem, 1.8vw, 1rem);
    line-height: clamp(1.6rem, 2.4vw, 1.9rem);
    text-align: justify;
    border: none;
    max-width: clamp(16.25rem, 38vw, 25.175rem);
    margin: auto;
    padding: 0;
}

.news_right img {
    width: 100%;
    height: auto;
    display: block;
	/*
    padding-top: clamp(1.5rem, 2.86vw, 2.5rem);
	*/
}

.news_title {
    display: flex;
    align-items: center;
    text-align: center;
    width: 100%;
	max-width:var(--max-width);
	margin-left:auto;
	margin-right:auto;
    color: var(--sky);
    position: relative;
}

.news_title::before,
.news_title::after {
    content: "";
    flex: 1;
    height: 0.1875rem;
    background-image: repeating-linear-gradient(to right,
            var(--sky) 0rem,
            var(--sky) 0.125rem,
            transparent 0.125rem,
            transparent 0.375rem);
}

.news_title::before {
    margin-right: 1rem;
}

.news_title::after {
    margin-left: 1rem;
}

.news_title span {
    white-space: nowrap;
}

/* =========================================================
   25. SDGs カード（キッチンスタジオ / 総社市 / 3カラム row）
========================================================= */

/* キッチンスタジオカード */

.news_card {
/*
    max-width: 1400px;
*/
	max-width:var(--max-width);
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--gap-m);
	/*
    margin: clamp(3rem, 7.8125vw, 3.75rem) auto;
	*/
	margin-left:auto;
	margin-right:auto;
    align-items: start;
}

.news_img_kitchen_studio {
    min-width: 0;
}

.news_img_kitchen_studio img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news_content {
    display: grid;
    grid-auto-rows: min-content;
    row-gap: clamp(1rem, 2.6042vw, 1.25rem);
    align-content: start;
}

.news_card_title.kitchen {
/*
    font-size: clamp(1.6rem, 3.5vw, 3.0625rem);
*/
	font-size:3rem;
    padding: 0;
	line-height:1em;
}

.kitchen_heading {
	/*
	margin-left: 1rem;
    font-size: clamp(0.8rem, 1.8571vw, 1.625rem);
	*/
}

/* SDGsアイコン行は共通 .sdgs_icons を使用 */

.news_box_text {
/*
    font-size: clamp(0.875rem, 1.8vw, 1rem);
*/
    line-height: clamp(1.6rem, 2.4vw, 1.9rem);
    margin: 0;
    text-align: justify;
}

.sdgs_icons {
    display: flex;
    gap: clamp(0.625rem, 2vw, 1.375rem);
	/*
    margin: clamp(0.75rem, 4vw, 1.25rem) auto;
	*/
	margin-left:0;
    justify-content: center;
}

.sdgs_icons img {
    width: clamp(3rem, 8vw, 4.875rem);
    height: auto;
}

.sdgs_icons.kitchen_icons {
    display: flex;
    justify-content: flex-start;
/*
	margin: 0;
*/
	margin-left:0;
}

/* 総社市カード */

.news_card_sojasi {
    border: 0.1875rem dashed var(--sky);
    display: grid;
    --pad: clamp(2rem, 5.20833vw, 2.5rem);
    padding: clamp(2rem, 5.20833vw, 2.5rem) clamp(1.25rem, 3.255vw, 1.5625rem);
    font-size: clamp(0.875rem, 1.6vw, 1rem);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    align-items: flex-start;
    column-gap: clamp(2.75rem, 7.1615vw, 3.4375rem);
	/*
    max-width: 87.5rem;
	*/
	max-width:var(--max-width);
    margin-inline: auto;
    border-radius: 0.5rem;
	/*
    margin: 0 auto clamp(3rem, 7.8125vw, 3.75rem) auto;
	*/
	margin-left:auto;
	margin-right:auto;
}

.news_card_sojasi>* {
    align-self: start;
}

.news_content_sojasi {
    display: block;
    align-self: center;
	/*
    max-width: clamp(13rem, 58vw, 46rem);
	*/
}

.sojasi_img {
    width: 100%;
    max-width: none;
    display: flex;
}

.news_card_sojasi .sojasi_img img {
    display: block;
    height: auto;
    aspect-ratio: 455 / 328;
    object-fit: cover;
    max-width: 100%;
    width: 100%;
    margin: 0;
}

.news_card_sojasi .news_section_title {
    font-size: clamp(1.125rem, 3vw, 3.16rem);
    padding-bottom: clamp(2rem, 5.20833vw, 2.5rem);
    margin-top: 0;
}

.news_box_text_sojasi {
/*
    max-width: clamp(18.75rem, 58vw, 46rem);
    line-height: 1.6;
*/
}

.light_blue_button {
    background: var(--sky);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
	/*
    padding: .7em 1em;
	*/
	padding:1em 0;
	text-align:center;
    border: none;
    line-height: 1em;
    text-decoration: none;
	/*
    width: clamp(11.292rem, 16.1315vw, 14.115rem);
	*/
	width:13em;
	/*
    height: clamp(3rem, 6vw, 4.375rem);
	*/
}

.light_blue_button .arrow_circle {
    border: 2px solid #fff;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    inline-size: 1.25em;
    block-size: 1.25em;
    font-weight: 900;
}

.news_content_sojasi .light_blue_button {
    display: block;
    margin: clamp(1rem, 5.20833vw, 2.5rem) auto 0 auto;
    font-size: clamp(0.9rem, 1.2857vw, 1.125rem);
}

/* 3カラム SDGs row */

.news_row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5.3125rem;
	/*
    margin: clamp(6.25rem, 3vw, 3.75rem) auto 0 auto;
    max-width: 87.5rem;
	*/
	margin-left:auto;
	margin-right:auto;
	max-width:var(--max-width);
/*
    padding: 0 clamp(0.5rem, 1.7vw, 1.5rem);
*/
}

.sdgs {
    margin: 0;
}

.row_icon {
    margin: 0;
    max-width: 100%;
    margin: clamp(1rem, 2.6042vw, 1.25rem);
}

.feature_col {
    display: grid;
    grid-auto-rows: min-content;
    justify-items: center;
    text-align: left;
    gap: clamp(0.5rem, 0.77rem, 1.25rem);
    width: 100%;
}

.sdgs_text {
	/*
    font-size: clamp(0.78rem, 1.5714vw, 1.375rem);
	*/
	font-size:1.1rem;
    margin: 0;
    text-align: center;
}

.news_card_box {
    width: 100%;
    max-width: 46.375rem;
}

/* =========================================================
   26. 野菜栽培室カード
========================================================= */

.news_card_title {
    font-size: clamp(1.6rem, 3.5vw, 3.0625rem);
    padding: clamp(1rem, 2.6042vw, 1.25rem) 0;
}

.yasai_icons {
    display: flex;
    justify-content: flex-start;
}

.vegetables_text {
/*
    line-height: clamp(0.6rem, calc(1.85rem + 0.5vw), 1.5rem);
*/
    word-break: break-all;
    text-align: left;
    overflow-wrap: break-word;
    width: 100%;
}

.news_img {
    width: 100%;
}

/* =========================================================
   27. 店内MAP セクション
========================================================= */

.map_section {
    background-color: #f4fbff;
    padding: clamp(3rem, 7.8vw, 3.75rem) 0 clamp(4rem, 8vw, 4.5rem);
}

.map_section .wrapper {
/*
	max-width: 1400px;
*/
	max-width:var(--max-width);
}

/* マップ */
.map_section {
    background-color: #fff9e3;
	/*
    padding-top: clamp(7rem, 4.3vw, 3.75rem);
	*/
}

.map_icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.map_icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.map_icon img,
.map_label img {
    width: clamp(2.3rem, 5.9896vw, 2.875rem);
    height: auto;
    display: block;
}

.map_icon p {
    font-size: clamp(1rem, 3vw, 1.5rem);
    margin: clamp(0.5rem, 1.5vw, 1.25rem) 0 0;
}

/* 店内マップ + リスト */

.map {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(0.75rem, 1.43vw, 1.25rem);
    margin: clamp(3rem, 7.8125vw, 3.75rem) auto;
    align-items: center;
    max-width: 87.5rem;
    margin-left: auto;
    margin-right: auto;
}

.map_shop {
    padding-right: 0;
}

.map_shop_list {
    text-align: center;
    counter-reset: item;
    container-type: inline-size;
}

/* 1F / 2F / 駐車場 */

.map_shop_list span {
    font-size: clamp(1.15rem, 1.6429vw, 1.4375rem);
    color: #7cbe36;
    display: inline-block;
    border: 0.2rem solid #7cbe36;
    background-color: #fff;
    padding: clamp(0.2rem, 1.2vw, 0.5rem);
    line-height: 1;
    text-align: center;
    margin: clamp(1rem, 2.6042vw, 1.25rem) 0;
}

.map_take span {
    border: none;
    padding: 0;
    color: #000;
    margin: 0;
    text-align: left;
    line-height: 1.7;
    font-weight: 700;
    font-size: 1.125rem;
}

.map_icon p {
    font-size: 1.5rem;
    margin: clamp(0.75rem, 1.5vw, 1.25rem) 0 0;
}

.map_shop_list .map_take p {
    padding-left: 4em;
    text-indent: -1em;
    margin: clamp(0.25rem, 0.6vw, 0.5rem) 0 0;
    text-align: center;
}

.map_label p {
    margin: 0;
    font-weight: 700;
    font-size: clamp(1rem, 2.2vw, 1.125rem);
    line-height: 1.35;
}

.map_shop_list span.padding_1 {
    padding: 0.6rem 1.6rem;
}


.map_shop_list ol {
    counter-reset: item;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: fit-content;
    text-align: left;
}

.map_shop_list ol[start="4"] {
    counter-reset: item 3;
}

.map_shop_list .li_line {
    flex: 1 1 auto;
    min-width: 0;
    font-size: clamp(0.95rem, 1.4vw, 1.125rem);
    font-weight: 700;
    line-height: 1.6;
    word-break: break-word;
    padding-bottom: 0.9rem;
}

.map_shop_list li {
    position: relative;
    display: flex;
    align-items: center;
    --dot: clamp(1.5rem, 3.5vw, 2.25rem);
    --gap: clamp(0.5rem, 1.8vw, 1rem);
    padding: 0 0 0 calc(var(--dot) + var(--gap));
    min-height: clamp(2.25rem, 4.2vw, 2.75rem);
    background-image: repeating-linear-gradient(to right,
            #7cbe36 0rem,
            #7cbe36 0.25rem,
            transparent 0.25rem,
            transparent 0.625rem);
    background-repeat: repeat-x;
    background-position: bottom left;
    background-size: 100% clamp(0.125rem, 0.5vw, 0.1875rem);
    margin: clamp(0.5rem, 1.6vw, 0.75rem) 0;
}

.map_shop_list li::after {
    counter-increment: item;
    content: counter(item);
    position: absolute;
    left: 0;
    top: 38%;
    transform: translateY(-50%);
    width: var(--dot);
    height: var(--dot);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #7cbe36;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    font-size: clamp(0.85rem, 2.2vw, 1rem);
}

.li_line {
    display: inline-block;
    width: clamp(14.5rem, 26vw, 23.75rem);
    font-size: clamp(1rem, 1.29vw, 1.125rem);
    font-weight: 700;
}

.map_box {
    padding-top: clamp(4rem, 7.8125vw, 3.75rem);
}

.map_box {
    margin-top: clamp(3rem, 6vw, 4rem);
    display: flex;
    justify-content: center;
}

/* Google Map iframe */

.google_map {
    margin-top: clamp(2rem, 5vw, 3rem);
}

.google_map iframe {
    width: 100%;
    margin-top: clamp(1.5rem, 3vw, 2.5rem);
    height: auto;
    aspect-ratio: 1400 / 562;
    display: block;
}

/* MAP アイコンボックス */

.map_icon_box {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    justify-items: center;
    max-width: 981px;
    width: 100%;
    box-sizing: border-box;
	/*
    padding: clamp(3rem, 7.8125vw, 3.75rem) 0 clamp(4rem, 12.9vw, 11.25rem) 0;
	*/
    padding-inline: clamp(0.75rem, 3vw, 2.5rem);
    position: static;
	/*
    margin: clamp(3rem, 7.8125vw, 3.75rem) auto 0 auto;
	*/
	margin-left:auto;
	margin-right:auto;
    column-gap: clamp(1rem, 12.357vw, 10.8125rem);
    row-gap: clamp(3rem, 7.8125vw, 3.75rem);
}

.map_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: clamp(2rem, 5.20833vw, 2.5rem);
    min-width: 0;
    width: 25rem;
}

.map_item .maad:after {
	content:'yamate-fm@ja-hareoka.or.jp';
}

.map_item p.body-sans-700 {
/*
    text-align: left;
*/
	text-align:justify;
    line-height: clamp(1.6rem, 2vw, 2rem);
    font-size: clamp(0.8125rem, 1.6vw, 1rem);
}

.body-sans-700 a {
    color: #0066cc;
    text-decoration: underline;
    text-decoration-color: #0066cc;
    text-underline-offset: 0.15em;
    font-weight: 700;
    white-space: nowrap;
}

.body-sans-700 a:hover {
    color: #004999;
    text-decoration-color: #004999;
}

.map_label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: clamp(1rem, 2.6042vw, 1.25rem);
}

.std_flex4,
.std_flex3 {
	display:flex;
	justify-content: space-between;
}

.std_flex4 > div {
	width:23%;
}

.std_flex3> div {
	width:32%;
}




.totop {
    position: fixed;
	width: 80px;
    height: 80px;
	/*
    bottom: -200px;
	*/
    right: 30px;
    z-index: 100;
    text-align: center;
}



/* =========================================================
   28. フッター
========================================================= */

.footer_title {
	position:relative;
    background-color: var(--green);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-block: clamp(1rem, 2.4vw, 2.4375rem);
    container-type: inline-size;
    gap: clamp(0.25rem, 1vw, 0.5rem);
}

.footer_title p {
    font-size: clamp(0.875rem, 2.6vw, 1rem);
}

.footer_title img {
/*
    width: clamp(13.75rem, 40vw, 28.125rem);
*/
}

.footer_title p {
    color: #fff;
}

.footer_title p small {
    color: #c3e4b2;
    font-size: clamp(0.9rem, 1.6vw, 0.875rem);
    line-height: 1.4;
}

.footer_title span {
	position:relative;
}

.footer_title span:after {
	content:'';
	height:calc(100% + 2em);
	aspect-ratio: 937 / 1181;
	position:absolute;
	display:block;
	background:url(../img/chiiki_kouken2.jpg) no-repeat center center;
	background-size:cover;
	top:0;
	left:105%;
}

.footer_title .chiikikouken {
	position:absolute;
	top:65px;
	right:20px;
}

/* ================================
   SP：news_box〜SDGs〜MAP〜フッター
   （@media はこのブロック 1 つだけでOK）
================================ */
@media (max-width: 768px) {

    .sp_feature_image,
    .sp_video,
    .sp_okinawa_img,
    .sp_floor_wrapper,
    .sp_umaimono_text {
        display: block !important;
    }

    .pc-only {
        display: none !important;
    }

    .sp_br {
        display: inline !important;
    }

    header {
        min-width: 0;
    }

    /*--------------------------------
    1. ヒーロー（.article_title）
  --------------------------------*/

    .article_title {
        height: 100svh;
        min-height: 0;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 0;
    }
/*
    .article_title::after {
        inset: 0;
        background: url(../img/header/top.jpg) center bottom / cover no-repeat;
    }
*/
    .article_title .logo-title {
        margin: 0;
    }

    .logo-title {
        margin: clamp(2rem, 6vw, 3rem) auto 0;
        padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1rem, 4vw, 2rem);
        width: 100%;
        box-sizing: border-box;
    }

    .logo-title img {
        width: min(90%, 20rem);
    }

    .logo_img {
	/*
        width: 27vw;
        max-width: 150px;
	*/
		height:60px;
		width:auto;
        position: absolute;
        top: 0;
        right: 0;
		display:block;
    }

    .logo_img img {
	/*
        width: 100%;
        height: auto;
	*/
		height:100%;
		width:auto;
    }

    .logo-title img.bg {
        width: 90%;
        height: auto;
    }

    /*--------------------------------
    2. ナビカード（.nav_wrapper / .column）
  --------------------------------*/
    .nav_wrapper {
        padding-inline: clamp(1rem, 4vw, 1.5rem);
        padding-bottom: clamp(2rem, 6vw, 3rem);
    }

    nav.flex {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: clamp(0.5rem, 3vw, 1rem);
        row-gap: clamp(0.75rem, 3.5vw, 1.25rem);
        justify-content: initial;
        align-items: stretch;
    }

    .column {
        margin-top: clamp(1.5rem, 3.90625vw, 1.875rem);
        margin-bottom: clamp(1rem, 4vw, 1.75rem);
    }

    .column_title {
        min-height: clamp(3.25rem, 9vw, 4.25rem);
        display: grid;
        place-items: center;
        margin: 0;
    }

    .column_title_shopping {
        margin: 0;
        display: grid;
        place-items: center;
    }

    .column_title.meal {
        min-height: clamp(3.25rem, 9vw, 4.25rem);
        display: grid;
        place-items: center;
        margin: 0;
    }

    .nav_image {
        margin-top: auto;
    }

    .column .food {
        width: clamp(3.5rem, 16vw, 4.5rem);
    }

    .nav_image img {
        width: 100%;
        height: auto;
        padding-top: 1rem;
    }

    /*--------------------------------
    3. 新着情報 ＋ アイコン
  --------------------------------*/

    .block_title.kiwi-maru-regular.event {
        padding-bottom: 0;
        font-size: 1.6rem;
    }

    .kiwi-maru-regular {
/*
        margin: clamp(2rem, 5.20833vw, 2.5rem) 0;
*/
    }

    .background .wrapper {
        padding-inline: clamp(1rem, 4vw, 1.5rem);
    }

    .info {
        grid-template-columns: 1fr;
        row-gap: 0;
        padding: 0;
    }

    .new_info_item {
        max-width: none;
    }


    .icon {
        grid-template-columns: repeat(3, 1fr);
		/*
        margin: clamp(2rem, 5.20833vw, 2.5rem) 0;
		*/
		margin:2em 0 0 0;
    }

    .icon>li::before,
    .icon>li::after {
        display: none !important;
    }

    .icon>li {
        border-right: 1px solid rgba(110, 105, 95, 0.38);
        border-bottom: 1px solid rgba(110, 105, 95, 0.38);
        box-sizing: border-box;
    }

    .icon>li:nth-child(3n) {
        border-right: none;
    }

    .icon>li:nth-last-child(-n + 2) {
        border-bottom: none;
    }

    .icon_item {
        aspect-ratio: 1 / 1;
    }

	.icon_item img {
		margin-top:0.5em;
	}
	
    .icon_label {
	/*
        margin-bottom: clamp(1.5rem, 5vw, 2rem);
	*/
		line-height:1.2em;
		height:2em;
		margin-top:0.3em;
    }
	

    /*--------------------------------
    4. コンセプトセクション
  --------------------------------*/
    .concept_section {
        padding-block: clamp(2.5rem, 7vw, 3.5rem);
    }

    .concept {
        padding-inline: clamp(1rem, 5vw, 1.5rem);
    }

    .concept .concept_title {
		margin-bottom:1em;
	}

    .concept>p {
        margin-bottom: clamp(1.5rem, 5vw, 2.5rem);
    }

    .concept_list {
/*
        flex-direction: row;
        flex-wrap: wrap;
        gap: clamp(1.5rem, 4vw, 2rem);
*/
		margin-top:2em;
        gap: 1em;
		width:100%;
		margin-bottom:0;
    }

    .concept_list .concept_figure_media {
		aspect-ratio:unset;
	}
	
    .concept_card {
        grid-template-columns: 1fr;
        row-gap: clamp(1.5rem, 4vw, 2.5rem);
		/*
        padding-top: clamp(1.5rem, 4vw, 2.5rem);
		*/
    }

    .concept_card .main_left_img {
        order: 1;
    }

    .concept_card {
        grid-template-columns: 1fr;
        gap: clamp(1.5rem, 5vw, 2.5rem);
    }

    .main_left_img {
		position:relative;
		width:100%;
		/*
        min-height: clamp(14rem, 60vw, 20rem);
		*/
		height:auto;
        --concept-bg-x: 87%;
		aspect-ratio:13 / 8;
    }

    .main_left_bg {
        position: absolute;
        inset: 0;
		/*
        background-image: url(../img/concept_section/sp_syunnkannhiroba.jpg);
		*/
        background-size: cover;
        background-repeat: no-repeat;
        background-position: var(--concept-bg-x) center;
    }

    .concept_content {
        max-width: none;
    }

    .concept_card .concept_content {
        order: 2;
        max-width: 100%;
    }

    .concept_card .concept_content > div {
		line-height:2em;
	}
	
    .concept>p {
        margin: 0;
    }

	.facility_summary {
		font-size:0.9rem;
		word-break: break-all;
	}
	
	.facility_summary.std_margin_top3 {
		margin-top:2em;
	}
	
    .facility_summary>p {
        text-align: center;
        margin: 0 auto 0.75rem;
        width: 100%;
    }

    .facility_summary ul.facility_ul {
        text-align: left;
        margin: 0 auto;
        max-width: 24rem;
        padding-left: 1.2em;
        box-sizing: border-box;
    }

    .facility_overview {
        margin-top: 1.2rem;
        display: grid;
        grid-template-columns: 1fr;
		/*
        gap: 0.9rem;
		*/
		gap:0;
        justify-items: stretch;
    }

    .facility_overview .floor {
        width: 100%;
		margin-top:2em;
    }

    .facility_overview .floor>p {
        text-align: center;
        margin: 0 auto 0.5rem;
        width: 100%;
    }

    .facility_overview .floor>ul {
        text-align: left;
        margin: 0 auto;
        max-width: 24rem;
        padding-left: 1.2em;
        box-sizing: border-box;
    }

    /*--------------------------------
    5. 1F フロアブロック
  --------------------------------*/

    .floor_block {
        grid-template-columns: 1fr;
        column-gap: clamp(0rem, 11.4286vw, 10rem);
        justify-items: center;
		/*
        margin: clamp(3rem, 7.8125vw, 3.75rem) auto;
		*/
		margin:0 auto;
        width: 90%;
    }

    .floor_inner {
        max-width: 26rem;
        margin-inline: auto;
        aspect-ratio: auto;
    }

    .floor_wrapper {
        margin-right: 0;
        margin-top: clamp(1rem, 4vw, 1.5rem);
        overflow-x: auto;
    }

    .floor_images {
        grid-auto-columns: clamp(9rem, 40vw, 12rem);
    }

    .floor_title img {
        width: 90%;
        margin: auto;
    }

    /*--------------------------------
    6. Feature Block 1（右大画像）
  --------------------------------*/
    .wrapper.u_contain_right_image {
        padding-inline: 0;
    }

    .u_contain_right_image .feature_block.abs_image .feature_image {
/*
		display: none;
*/
		width:100%;
    }

    .u_contain_right_image .feature_block.abs_image .feature_image img {
		width:100%;
		/*
		height:auto;
		*/
		aspect-ratio: 3 / 2;
		position:relative;
		right:unset;
		margin-left:unset;
		margin-top:1em;
		mask-image:linear-gradient(to right, black 0%, black 100%);
		-webkit-mask-image:linear-gradient(to right, black 0%, black 100%);
	}

    .feature_block .feature_box {
	/*
        margin-top:
            clamp(1.5rem, 4vw, 2rem);
	*/
    }

    /* フロア情報ボックス */
    /* .floor_box {
        row-gap: clamp(1rem, 2.6042vw, 1.25rem);
    } */

    .floor_box.orange_line {
        row-gap: 0.2rem;
    }

    .feature_wrap_titl .feature_icon {
        top: 0;
    }

    .feature_icon .feature_label {
        top: -0.1rem;
    }


    .feature_text_box {
	/*
        max-width: 90%;
	*/
    }

    .feature_text_box.std_margin_top2 {
		margin-top:0;
	}

    .feature_text {
	/*
        text-align: left;
		*/
    }

    .feature_subcontent {
		margin-top:2em;
        grid-template-columns: 1fr 1fr;
		/*
        margin-top: clamp(1rem, 2.6042vw, 1.25rem);
		*/
    }


    .u_contain_right_image .feature_block.abs_image::after {
/*
		content: "";
*/
        position: absolute;
        inset: 0;
        background-color: rgba(255, 255, 255, 0.35);
        z-index: 1;
        pointer-events: none;
        height: calc(100% + 60px);
    }

    .u_contain_right_image .feature_block.abs_image::before {
/*
		content: "";
*/
        position: absolute;
        inset: 0;
        background-image: url("../img/feature1_1f/freshvegetables.jpg");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        -webkit-mask-image: linear-gradient(to bottom,
                rgba(0, 0, 0, 0) 0%,
                rgba(0, 0, 0, 0.15) 25%,
                rgba(0, 0, 0, 0.5) 60%,
                #000 90%);
        mask-image: linear-gradient(to bottom,
                rgba(0, 0, 0, 0) 0%,
                rgba(0, 0, 0, 0.15) 25%,
                rgba(0, 0, 0, 0.5) 60%,
                #000 90%);
        z-index: 0;
        pointer-events: none;
        height: calc(100% + 30px);
    }

    .u_contain_right_image .feature_block.abs_image .feature_box {
        margin-inline: auto;
		/*
        padding-inline: 1rem;
		*/
		line-height:2em;
        text-align: center;
        display: grid;
        justify-items: center;
    }

.floor_2 .feature_block .feature_box {
	width:100%;
}

.floor_2 .feature_block .feature_box.std_padding_top {
	padding-top:0;
}

    /*--------------------------------
    7. Feature Block 2（動画＋テキスト）
  --------------------------------*/
    .feature_blocks.feature_block_2 {
        flex-direction: column;
        margin-top: clamp(3rem, 8vw, 3.5rem);
    }

    .feature_blocks.feature_block_2 .video {
        width: 90%;
        max-width: 100%;
    }

    /* PC動画を消してSP用を出す */
    .feature_blocks.feature_block_2 .video {
/*
		display: none;
*/
		order:2;
    }

    .feature_blocks.feature_block_2 .sp_video {
        display: block !important;
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
    }

    .feature_blocks.feature_block_2 .sp_video img {
        width: 100%;
        height: auto;
    }

    .feature_blocks.feature_block_2 .feature_boxs {
/*
		width: 90%;
*/
        max-width: 100%;
        margin-inline: auto;
        display: grid;
        justify-items: center;
    }

    /* 「直行便とは？」ブロック */
    .feature_blocks.main_inner.feature_gap {
        grid-template-columns: 1fr;
        row-gap: clamp(1.5rem, 4vw, 2.5rem);
		/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
    }

    .feature_blocks.main_inner.feature_gap .feature_images {
/*
		order: -1;
*/
    }

    .feature_blocks.main_inner.feature_gap {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .feature_blocks.main_inner.feature_gap .feature_boxs {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
    }

    .feature_blocks.main_inner.feature_gap .feature_left_box {
        display: grid;
        justify-items: center;
    }

    /* 見出し */
    .feature_blocks.main_inner.feature_gap h4 {
        text-align: center;
    }

    .track_img img {
        margin-top: 0;
    }

    /*--------------------------------
    8. Feature Block 3（うまいもの探し！）
  --------------------------------*/

    .feature_wrap_titl.feature_wrap_titl_center .feature_icon {
/*
		left: -2rem;
*/
    }

    .feature_wrap_center_block {
	/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
	*/
    }

    .umaimono_wrapper .image_row {
        grid-auto-columns: clamp(9rem, 40vw, 12rem);
        overflow-x: auto;
    }

	.main_item img {
		width:70%;
		height:auto;
		display:block;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:1em;
	}

	.main_text {
		font-size:1.1rem;
	}

	.main_text span{
		font-size:1rem;
	}

    .main_box {
        grid-template-columns: 1fr;
        gap: clamp(1.5rem, 4vw, 2rem);
		/*
        width: 90%;
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
        margin-top: clamp(1.5rem, 5vw, 2.5rem);
        justify-content: center;
    }

    .main_box.w90p {
		width:100%;
	}

    .second_line {
        display: inline-flex;
        align-items: flex-start;
        gap: 0;
    }

    .main_box h5 {
        text-align: left;
        margin-inline: 0;
    }

    .main_description {
        justify-self: stretch;
    }

    .main_box h5.kiwi-maru-medium {
        margin: auto;
    }

    /*--------------------------------
    9. 白桃カード(main_section)＋一覧(main_list)
  --------------------------------*/
    .main_section {
        grid-template-columns: 1fr;
        row-gap: clamp(2rem, 6vw, 3rem);
		/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
        box-sizing: border-box;
    }

    .main_item {
        max-width: 28rem;
        margin-inline: auto;
		margin-bottom:1em;
    }

    .fruit_card {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
/*
		width: 90%;
*/
        margin: clamp(2rem, 6vw, 3rem) auto;
    }

    .fruit_card::before {
        left: clamp(2.5rem, 10vw, 3.5rem);
    }

	.fruit_content h2 {
		font-size:1.4rem;
	}

    .wrapper .main_section .fruit_card .fruit_content {
        max-width: 100%;
        text-align: center;
		gap:1em;
    }

	.fruit_card .fruit_description {
		line-height:1.6em;
		font-size:1rem;
	}

    .main_list {
        grid-template-columns: 1fr;
		/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
        box-sizing: border-box;
    }

    /*--------------------------------
    10. 沖縄ブロック（Feature4 + fruit_card_okinawa）
  --------------------------------*/
    .feature_blocks.gap {
        flex-direction: column;
		/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
    }

    .feature_okinawa {
        display: none;
    }

    .feature_text.specialty {
/*
		width: 90%;
        margin-top: 0;
*/
    }

    .fruit_card_okinawa {
        grid-template-columns: 1fr;
        margin-inline: auto;
		/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
        width: 90%;
		*/
        max-width: 100%;
        margin-inline: auto;
    }

    .fruit_card_okinawa .sp_okinawa_img {
        display: block !important;
        margin: clamp(1rem, 4vw, 1.5rem) auto;
        max-width: 22rem;
    }

    .fruit_card_okinawa .sp_okinawa_img img {
        width: 90%;
        height: auto;
        display: block;
        margin: auto;
    }

    .fruit_card_okinawa .okinawa_img {
        display: none;
    }

    .fruit_card_okinawa .button.is-fixed {
        margin-inline: auto;
    }

    .feature_boxs.network {
/*
		width: 90%;
        max-width: 90%;
*/
        margin-inline: auto;
        display: grid;
        justify-items: center;
        text-align: center;
    }

    .feature_boxs.network h5 {
        text-align: center;
    }

    .feature_boxs.network .sp_feature_image img {
        width: 100%;
        height: auto;
        margin-inline: auto;
    }

    .feature_boxs.network .feature_text {
        text-align: left;
    }

    .fruit_content {
        text-align: center;
    }

    /* ================================
   SP：2F〜レストラン3
   @media (max-width: 768px)
================================ */
    /*--------------------------------
    1. 2F フロア リード
  --------------------------------*/
    .second_floor {
	/*
        padding: clamp(2.5rem, 7vw, 3.5rem) 0;
	*/
    }

    .floor_box h4 {
        margin-bottom: clamp(0.5rem, 1.3021vw, 0.625rem);
    }

    .open_hours_2f {
        text-align: left;
        margin-top: 0;
    }

	.open_hours_2f small{
		margin-top:0;
		margin-right:0.5em;
		margin-bottom:1em;
		line-height:1.3em;
	}

    .floor_wrapper {
        overflow: hidden;
    }

    .js-loop-slider {
        display: flex;
        flex-wrap: nowrap;
        width: max-content;
        will-change: transform;
    }

    .js-loop-slider img {
        flex: 0 0 auto;
        display: block;
		/*
        height: auto;
		*/
		width:auto;
		height:150px;
    }

    /*--------------------------------
    2. レストラン Feature 1
       「使う食材は〜」
  --------------------------------*/
    .feature_block.restaurant_gap {
        grid-template-columns: 1fr;
        row-gap: clamp(1.5rem, 5vw, 2.25rem);
		/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
    }

    .restaurant_osyokuzi {
        order: -1;
        max-width: 28rem;
        margin-inline: auto;
        display: none;
    }

    .restaurant_osyokuzi img {
        width: 100%;
        height: auto;
    }

    .restauran {
        width: 100%;
    }

    .restauran .feature_text {
        max-width: 100%;
        text-align: left;
    }

    /*--------------------------------
    3. メニュー一覧（green / orange）
  --------------------------------*/
    .restaurant_list {
        margin-top: clamp(2.5rem, 7vw, 3.25rem);
		/*
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
    }

    .restaurant_list .part_title {
        text-align: center;
        font-size: clamp(1rem, 4.6vw, 1.375rem);
    }

    .menu_title_img {
        width: 28%;
        height: auto;
    }

    .menu_boxes {
        grid-template-columns: 1fr;
        row-gap: clamp(2rem, 6vw, 2.5rem);
    }

    .restaurant_green_box,
    .restaurant_orange_box {
        max-width: 28rem;
        margin-inline: auto;
    }

    .restaurant_orange_box {
		margin-top:2em;
	}
	
    .menu_images {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /*--------------------------------
    4. レストラン Feature 2
       「おいしかった♪」
  --------------------------------*/

    .feature_wrap_titl.feature_wrap_titl_center.feature_wrap_text_center .feature_icon {
/*
		left: 0;
*/
    }

    .feature_blocks.feature_block__no_stretch.main_inner {
        grid-template-columns: 1fr;
		/*
		row-gap: clamp(1.75rem, 6vw, 2.5rem);
        padding-inline: clamp(1rem, 4vw, 1.5rem);
		*/
		row-gap: 1em;
    }

    .feature_wrap_titl_text {
        display: inline;
        text-align: center;
    }

    .feature_wrap_titl_text .second_line {
        margin: 0;
    }

    .feature_wrap_titl_text .second_line_indent {
        margin-left: 0;
    }

    .feature_wrap_center_block .feature_wrap_text_center .second_line {
        display: inline-flex;
        justify-content: flex-start;
        align-items: flex-start;
        margin-top: 0;
    }

    .feature_wrap_center_block .feature_wrap_text_center .second_line .feature_title_text {
        display: inline-block;
/*
		width: 13rem;
*/
		word-break:unset;
    }

    .feature_wrap_center_block .feature_wrap_text_center .second_line .feature_number {
        flex: 0 0 auto;
    }


    .structure {
        order: -1;
        max-width: 30rem;
        margin-inline: auto;
    }


    .feature_wrap_titl .feature_number {
/*
		line-height: 1;
*/
        /* margin-right: -6rem; */
		position:absolute;
		font-size:2rem;
    }

    .structure img {
        width: 100%;
    }

    .feature_blocks.feature_block__no_stretch .feature_boxs {
        max-width: 100%;
        text-align: left;
    }

    .feature_blocks.feature_block__no_stretch .feature_boxs .std_padding_top {
		padding-top:20px;
	}

    .heading_lines {
        font-size: clamp(0.8rem, 4vw, 1.5rem);
    }

    /*--------------------------------
    5. レストラン マーク案内
  --------------------------------*/
    /* ファイルのいちばん最後の方に追加する */
    .restaurant_content {
        row-gap: 1rem;
        padding-inline: clamp(1rem, 4vw, 1.5rem);
        text-align: center;
    }

    .restaurant_content_imge {
        justify-content: center;
        grid-row: auto;
    }

    .restaurant_text {
        font-size: clamp(0.8rem, 4vw, 1.2rem);
        text-align: left;
    }

    .restaurant_content>p.block {
        grid-column: 1 / -1 !important;
        text-align: left;
    }

    /*--------------------------------
    6. レストラン Feature 3
       「テラスでまったり」
  --------------------------------*/
    .feature_block.abs_image {
        flex-direction: column;
    }

    .restaurant_terrace {
        position: static;
        height: auto;
        max-width: 100%;
        margin-top: clamp(1.5rem, 5vw, 2.5rem);
    }

    .restaurant_terrace img {
        width: 100%;
        height: auto;
    }

    .feature_subcontent_picture::after {
        content: "テイクアウトできる\Aメニューもあります";
    }

    .feature_subcontent_picture::after {
        white-space: pre-line;
        padding-block: 0.5rem;
    }

    .feature_subcontent_picture {
        padding-top: clamp(2rem, 2.3571vw, 2.0625rem);
    }
	
	.feature_subcontent_picture.std_margin_top2 {
		margin-top:40px;
	}

    /* ================================
   SP：ヘッダー〜沖縄カード
   @media (max-width: 768px)
================================ */

    /*--------------------------------
    1. news_box（青ボックス＋テキスト＋右写真）
  --------------------------------*/
    .news_box {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 1.5rem;
    }

    .news_box .light_blue_box,
    .news_box .news_text,
    .news_box .news_right {
/*
		width: 90%;
        max-width: 90%;
*/
		width:100%;
    }

	.news_text.light_blue_text {
		max-width:100%;
	}

    .news_box .light_blue_box {
        margin-inline: auto;
    }

    .news_box .light_blue_box .floor_box.light_blue {
        margin-inline: auto;
    }

    .news_box .news_text {
        text-align: left;
        font-size: 0.95rem;
        line-height: 1.7;
		/*
        width: 90%;
		*/
    }

    .news_box .news_right {
        order: 3;
        display: flex;
        justify-content: center;
    }

    .news_box .news_right img {
        width: 90%;
        height: auto;
        max-width: 100%;
    }

    .news_section_title {
        margin-bottom: 1.5rem;
        text-align: center;
        padding: 0;
    }

    .news_card_sojasi .news_section_title {
        padding: 0;
    }

    .news_box_text.news_box_text_sojasi {
        width: 100%;
        max-width: 100%;
    }

    /*--------------------------------
    2. SDGsまわり（キッチンスタジオ〜菜園〜ソーラーパネル etc.）
  --------------------------------*/

    .news_card {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
        row-gap: 1.5rem;
    }

    .news_card.std_margin_bottom2 {
		margin-bottom:40px;
	}
	
    .news_img_kitchen_studio {
	/*
        width: 90%;
	*/
    }

    .news_img_kitchen_studio img {
/*
		width: 90%;
*/
		width: 70%;
        height: auto;
        display: block;
        margin-inline: auto;
    }

    .news_content {
	/*
        width: 90%;
	*/
        text-align: center;
        display: grid;
        justify-items: center;
		row-gap:0.5em;
    }

    .news_content .heading-serif {
        text-align: left;
    }

    .news_content .sdgs_icons.row_icon {
        justify-content: flex-start;
    }

    .news_content .feature_text.sdgs {
        margin-top: 0.5rem;
    }

    .news_card_sojasi {
        display: flex;
        flex-direction: column;
        gap: 1rem;
		/*
        padding: clamp(2.5rem, 7vw, 3.5rem) 0;
		*/
		padding:15px;
    }

    .sojasi_img {
        margin-inline: auto;
        display: flex;
        justify-content: center
    }

	.news_content_sojasi .std_margin_top {
		margin-top:20px;
	}

    .news_card_sojasi .news_img {
        width: 80%;
    }

    .news_card_sojasi .sojasi_img img {
        width: 90%;
    }

    .news_card_sojasi .news_img img {
        width: 80%;
        height: auto;
        object-fit: cover;
    }

    .news_card_sojasi .news_text_box {
        width: 80%;
    }

    .news_card_sojasi .sdgs_icons.row_icon {
        justify-content: flex-start;
    }

    /* 下段：3カラムになっている SDGs カード群（ソーラーパネル等） */
    .news_row {
        display: flex;
        flex-direction: column;
        gap: 1.75rem;
        margin-top: 2rem;
    }

    .news_row .feature_col {
        max-width: 26rem;
        width: 100%;
        margin-inline: auto;
		margin-bottom:1em;
    }

    .news_row .feature_col>img {
/*
		width: 90%;
*/
		width: 70%;
        height: auto;
        object-fit: cover;
    }

    .news_row .sdgs_icons.row_icon {
        justify-content: center;
    }

	.sdgs_icons.kitchen_icons {
		margin-top:10px;
		margin-bottom:10px;
	}

    .news_row .sdgs_text {
        text-align: center;
    }

    .news_row .feature_text.sdgs {
        text-align: left;
    }

    .news_card {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        row-gap: 1.5rem;
        text-align: center;
        width: 100%;
    }

    .news_card:nth-of-type(2) {
        max-width: 100%;
        margin: 2rem auto 0;
        flex-direction: column;
    }

    .news_card .sp_feature_image {
/*
		width: 90%;
*/
        margin-bottom: 0.75rem;
    }

    .news_card .sp_feature_image img,
    .news_card .sp_feature_image video {
        width: 100%;
        height: auto;
        object-fit: cover;
    }


    .sp_feature_image,
    .sp_news_img img {
        display: block;
        margin-inline: auto;
        width: 100%;
        height: auto;
    }

    .news_card_box {
/*
        width: 90%;
*/
        display: grid;
        justify-items: center;
        text-align: center;
    }

    .yasai_icons img {
        margin-inline: auto;
    }

    .vegetables_text {
        max-width: 100%;
        margin-inline: auto;
    }

    .news_img {
        display: none;
    }


    /*--------------------------------
    3. MAP セクション
  --------------------------------*/
    .map {
        display: grid;
        grid-template-columns: 1fr;
        margin-bottom: clamp(1rem, 7.8125vw, 3.75rem);
    }

    .map_shop img {
        padding-top: 2rem;
        margin: auto;
    }

    .map_shop_list {
        max-width: 100%;
        overflow-x: hidden;
    }

    .li_line {
        font-size: 1rem;
        word-break: auto-phrase;
    }

    .fruit_content h2 {
        line-height: 1.3em;
		font-size:1.5rem;
        text-align: center;
    }

    .light_blue_text p {
        margin: auto;
		/*
        max-width: 80%;
		*/
    }

	.main_title_sub {
		font-size:1.2rem;
	}

    .menu_title {
        text-align: center;
        margin: clamp(1rem, 2.6042vw, 1.25rem) auto clamp(1rem, 2.6042vw, 1.25rem) auto;
    }

    .menu_title p {
        font-size: clamp(1.4rem, 1.7143vw, 1.5rem);
        margin: 0;
        /* padding-top: clamp(1rem, 2.6042vw, 1.25rem); */
    }

    .map_take {
        margin-top: clamp(1rem, 2.6042vw, 1.25rem);
        font-size: clamp(0.9rem, 2.0833vw, 1rem);
    }

    .google_map iframe {
        width: 100%;
        height: 260px;
    }

    .map_icon_box {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: clamp(3rem, 3vw, 1.5rem);
    }

    .map_item {
        width: 80%;
        margin-inline: auto;
        gap: 0.8rem;
        text-align: center;
    }

    /*--------------------------------
    4. フッター
  --------------------------------*/
    .footer_title {
        padding-inline: 1.5rem;
		padding-top:2em;
		padding-bottom:80px;
    }

    .footer_title img {
		/*
        width: min(90%, 16rem);
		*/
		width:90%;
        height: auto;
		display:block;
		margin-left:auto;
		margin-right:auto;
    }

    .footer_title p {
        max-width: clamp(17rem, 8vw, 24rem);
        font-size: clamp(0.1rem, 0.1vw, 0.6rem);
    }

    .footer_inner {
        padding-inline: 1.5rem;
    }

    .footer_info {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    .footer_info address {
        font-style: normal;
        line-height: 1.7;
    }

    .footer_bottom {
        text-align: center;
        padding-inline: 1.5rem;
    }

}



/* ================================================
   Hero background slideshow (4 images / 3s interval)
================================================ */

/* 既存の header .main_image の background 指定は無効化 */
header .main_image.hero_slideshow{
  position: relative;
  overflow: hidden;
  background: none; /* ← これで固定背景をやめる */
  /* 既存の display:flex / align-items はそのままでOK */
  z-index:-1;
}

/* スライドを敷くレイヤー */
header .main_image.hero_slideshow .hero_slides{
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* 1枚1枚のスライド */
header .main_image.hero_slideshow .hero_slide{
  position: absolute;
  inset: 0;
  background: center center / cover no-repeat;
  opacity: 0;
  animation: heroFade 16s infinite;
  will-change: opacity;
  transform: translateZ(0);
}

/* 表示コンテンツは前面に */
header .main_image.hero_slideshow .article_title{
  position: relative;
  z-index: ;
}

/* 画像差し替えはここだけ */
header .main_image.hero_slideshow .hero_slide--1{ background-image: url(../img/header/01.jpg); }
header .main_image.hero_slideshow .hero_slide--2{ background-image: url(../img/header/02.jpg); }
header .main_image.hero_slideshow .hero_slide--3{ background-image: url(../img/header/03.jpg); }
header .main_image.hero_slideshow .hero_slide--4{ background-image: url(../img/header/04.jpg); }

@media (max-width: 768px) {
	header .main_image.hero_slideshow .hero_slide--1{ background-image: url(../img/header/01_sp.jpg?v=0940); }
	header .main_image.hero_slideshow .hero_slide--2{ background-image: url(../img/header/02_sp.jpg?v=0940); }
	header .main_image.hero_slideshow .hero_slide--3{ background-image: url(../img/header/03_sp.jpg?v=0940); }
	header .main_image.hero_slideshow .hero_slide--4{ background-image: url(../img/header/04_sp.jpg?v=0940); }
}


/* 3秒間隔でずらす（0,3,6,9秒） */
header .main_image.hero_slideshow .hero_slide:nth-child(1){ animation-delay: 0s; }
header .main_image.hero_slideshow .hero_slide:nth-child(2){ animation-delay: 4s; }
header .main_image.hero_slideshow .hero_slide:nth-child(3){ animation-delay: 8s; }
header .main_image.hero_slideshow .hero_slide:nth-child(4){ animation-delay: 12s; }

/* クロスフェード（各3秒枠の中で：ふわっ→キープ→ふわっ） */
@keyframes heroFade{
  0%   { opacity: 0; }
  8%   { opacity: 1; }  /* フェードイン */
  25%  { opacity: 1; }  /* 表示キープ（3秒地点） */
  33%  { opacity: 0; }  /* フェードアウト */
  100% { opacity: 0; }
}