@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css) layer(foundation);
/*
Theme Name: yunnu-kaiyou
Theme URL: https://yunnu-kyouiku.jp/
Description: テーマの説明
Author: e-space.inc
Version: 2.0.0
Tags: テーマの特徴を表すタグ（カンマ区切り/オプション）
License: テーマのライセンス
License URI: テーマのライセンスのURI
*/
/* レイヤーの宣言 */
@layer foundation, layout, component, project, utility;
/* =================
* Foundation
* ================= */
/* Reset CSS */
@layer foundation{
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}
/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}
/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}
/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}
/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
    /* 2 */
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}
/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}
/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}
/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}
/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}
/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
    -webkit-appearance: button;
}
/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
    border-style: none;
    padding: 0;
}
/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
    outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'],
[type='radio'] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
    height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
    -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}
/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}
/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}
/****** Elad Shechter's RESET *******/
/*** box sizing border-box for all elements ***/
*,
*::before,
*::after {
    box-sizing: border-box;
}
a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
button {
    background-color: transparent;
    color: inherit;
    border-width: 0;
    padding: 0;
    cursor: pointer;
}
figure {
    margin: 0;
}
input::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0;
}
ul,
ol,
dl,
dt,
dd {
    margin: 0;
    padding: 0;
    list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}
p {
    margin: 0;
}
cite {
    font-style: normal;
}
fieldset {
    border-width: 0;
    padding: 0;
    margin: 0;
}
a[href^='tel:'] {
    text-decoration: none;
    pointer-events: none;
}
*:focus {
    outline: none;
}

/* foundation/_variables.css */

:root {
    /* =================
     * Breakpoints
     * ================= */
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;

    /* =================
     * Colors
     * ================= */
    /* Base Colors */
    --color-white: #fff;
    --color-black: #000;

    /* Brand Colors */
    --color-primary: var(--color-blue);
    --color-primary-dark: var(--color-blue-dark);
    --color-secondary: var(--color-brown);

    /* UI Colors */
    --color-blue: #00a2cc;
    --color-blue-dark: #007390;
    --color-brown: #8c6456;

    /* Gray Scale */
    --color-gray-10: var(--color-gray-light, #f8f8f8);
    --color-gray-50: var(--color-gray-light, #f1f1f1);
    --color-gray-100: var(--color-gray, #efeeec);
    --color-gray-200: var(--color-gray-medium, #ddd);
    --color-gray-800: var(--color-gray-dark, #545454);

    /* Status Colors */
    --color-success: var(--color-green);
    --color-success-light: var(--color-green-light);
    --color-error: var(--color-red);
    --color-warning: var(--color-yellow);
    --color-info: var(--color-blue);

    /* Semantic Colors */
    --text-color-primary: var(--color-gray-800);
    --text-color-secondary: #999;
    --text-color-inverse: var(--color-white);

    --background-color-primary: var(--color-white);
    --background-color-secondary: var(--color-gray-50);

    --border-color-default: var(--color-gray-200);
    --border-color-focus: var(--color-primary);

    --main-white: #fff;
    --lightgray: #f1f1f1;
    --gray: #ddd;
    --main-blue: #00a2cc;
    --main-darkblue: #007390;
    --main-brown: #8c6456;
    --main-gray: #efeeec;
    --main-darkgray: #545454;
    --sub-red: #c91a13;
    --sub-green: #6ebf8e;
    --sub-yellow: #e8d63b;
    --sub-pink: #ffe6e5;
    --sub-lightgreen: #f3fff8;
    --text-primary: #545454;
    --text-secondary: #999;

    /* =================
     * Container Layout
     * ================= */
    /* Container Calculations */
    --container-fluid: clamp(var(--container-min) * 1px, 90vw, var(--container-max) * 1px);
    --main-width: calc(var(--container-fluid) - var(--header-width));

    /* =================
     * Spacing
     * ================= */
    --space-none: 0;
    --space-unit: 0.25rem; /* 4px */
    --space-2: var(--space-unit); /* 4px */
    --space-3: calc(var(--space-unit) * 3); /* 12px */
    --space-xs: calc(var(--space-unit) * 2); /* 8px */
    --space-sm: calc(var(--space-unit) * 4); /* 16px */
    --space-md: calc(var(--space-unit) * 6); /* 24px */
    --space-lg: calc(var(--space-unit) * 8); /* 32px */
    --space-xl: calc(var(--space-unit) * 12); /* 48px */
    --space-14: calc(var(--space-unit) * 14); /* 56px */
    --space-16: calc(var(--space-unit) * 16); /* 64px */
    --space-18: calc(var(--space-unit) * 18); /* 72px */

    /* =================
     * Typography
     * ================= */
    --font-family-base: 'Noto Sans JP', sans-serif;
    --font-family-heading: var(--font-family-base);

    --font-size-xxs: 0.625rem; /* 10px */
    --font-size-xs: 0.75rem; /* 12px */
    --font-size-sm: 0.875rem; /* 14px */
    --font-size-base: 1rem; /* 16px */
    --font-size-lg: 1.125rem; /* 18px */
    --font-size-xl: 1.25rem; /* 20px */
    --font-size-2xl: 1.5rem; /* 24px */
    --font-size-3xl: 1.75rem; /* 28px */
    --font-size-4xl: 2rem; /* 32px */
    --font-size-5xl: 2.25rem; /* 36px */
    --font-size-6xl: 2.5rem; /* 40px */
    --font-size-7xl: 2.75rem; /* 44px */
    --font-size-8xl: 3rem; /* 48px */
    --font-size-9xl: 3.5rem; /* 56px */
    --font-size-10xl: 4rem; /* 64px */

    /* Typography - Fluid sizes */
    --fluid-h1: clamp(1.75rem, 1.75rem + 2.25cqi, 4rem); /* 28px - 64px */
    --fluid-h2: clamp(1.5rem, 1.5rem + 1cqi, 2rem); /* 24px - 32px */
    --fluid-h3: clamp(1.25rem, 1.25rem + 0.75cqi, 2rem); /* 20px - 32px */
    --fluid-base: clamp(1rem, 1rem + 0.125cqi, 1.125rem); /* 16px - 18px */
    --fluid-small: clamp(0.875rem, 0.875rem + 0.125cqi, 1rem); /* 14px - 16px */

    /* line-heightはフォントサイズに応じて調整 */
    --line-height-none: 1; /* テキストが1行の場合など */
    --line-height-tight: 1.25; /* 見出しなど、コンパクトに */
    --line-height-snug: 1.375; /* やや詰まったテキスト */
    --line-height-base: 1.5; /* 本文用の標準値 */
    --line-height-relaxed: 1.625; /* 読みやすさ重視 */
    --line-height-loose: 2; /* より広いスペース */

    /* =================
     * Borders & Shadows
     * ================= */
    /* 角丸の大きさ */
    --border-radius-none: 0; /* 0px - 角丸なし */
    --border-radius-xxs: 0.125rem; /* 2px - 最小の角丸 */
    --border-radius-xs: 0.25rem; /* 4px - 軽い角丸 */
    --border-radius-sm: 0.5rem; /* 8px - 標準的な角丸 */
    --border-radius-md: 1rem; /* 16px - 大きな角丸 */
    --border-radius-lg: 1.5rem; /* 24px - より大きな角丸 */
    --border-radius-full: 9999px; /* 完全な円形 */

    /* ボーダーの太さ */
    --border-width-none: 0; /* 0px - ボーダーなし */
    --border-width-xxs: 1px; /* 1px - 最小のボーダー */
    --border-width-xs: 2px; /* 2px - 軽いボーダー */
    --border-width-sm: 4px; /* 4px - 標準的なボーダー */
    --border-width-md: 6px; /* 6px - 大きなボーダー */
    --border-width-lg: 8px; /* 8px - より大きなボーダー */

    /* シャドウの大きさ */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* 小さな浮き上がり感 */
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1); /* 標準的な影 */
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1); /* 大きな影・モーダルなどに */

    /* =================
     * Transitions
     * ================= */
    --transition-fast: 150ms;
    --transition-base: 300ms;
    --transition-slow: 500ms;
    --transition-timing: ease-in-out;

    /* =================
     * Icons
     * ================= */
    --icon-home: url('./assets/images/header/home.svg');
    --icon-report: url('./assets/images/header/report.svg');
    --icon-event: url('./assets/images/header/event.svg');
    --icon-about: url('./assets/images/header/about.svg');
    --icon-quest: url('./assets/images/header/quest.svg');
    --icon-useful: url('./assets/images/header/useful.svg');
    --icon-interview: url('./assets/images/header/interview.svg');
    --icon-project: url('./assets/images/header/project.svg');

    /* ↓ あとで調整*/

    /* Layout */
    --viewport-min: 1280;
    --viewport-max: 1920;
    --container-min: 1172;
    --container-max: 1600;
    /* Header Width Calculations */
    --header-min: 280;
    /* 最小幅: 280px */
    --header-max: 320;
    /* 最大幅: 320px */
    --header-width: clamp(var(--header-min) * 1px, calc(18vw + 50px), /* 流動的に変化する値 */ var(--header-max) * 1px);
    /* Container Calculations */
    --container-fluid: clamp(var(--container-min) * 1px, 90vw, var(--container-max) * 1px);
    --main-width: calc(var(--container-fluid) - var(--header-width));
}

/* foundation/_breakpoints.css */

/* ================================================================
Breakpoint Definitions
----------------------------------------------------------------
モバイルファーストアプローチ:
- すべてのブレイクポイントはmin-widthで定義
- 基本サイズ: sm(576px) / md(768px) / lg(992px) / xl(1200px)
================================================================ */

/* Basic Breakpoints
================================================================ */
@custom-media --viewport-sm (min-width: 576px);
@custom-media --viewport-md (min-width: 768px);
@custom-media --viewport-lg (min-width: 992px);
@custom-media --viewport-xl (min-width: 1200px);

/* Device Specific
================================================================ */
@custom-media --mobile-only (max-width: 575px);
@custom-media --tablet-portrait (min-width: 576px) and (max-width: 767px);
@custom-media --tablet-landscape (min-width: 768px) and (max-width: 991px);
@custom-media --tablet-all (min-width: 576px) and (max-width: 991px);
@custom-media --desktop (min-width: 992px);

/* Context Specific
================================================================ */
/* ダークモード */
@custom-media --dark-mode (prefers-color-scheme: dark);
@custom-media --light-mode (prefers-color-scheme: light);

/* モーション設定 */
@custom-media --reduced-motion (prefers-reduced-motion: reduce);
@custom-media --motion-ok (prefers-reduced-motion: no-preference);

/* 画面向き */
@custom-media --portrait (orientation: portrait);
@custom-media --landscape (orientation: landscape);

/* High Resolution Displays */
@custom-media --retina (min-resolution: 2dppx);

/* Hover機能 */
@custom-media --hover-device (hover: hover);
@custom-media --touch-device (hover: none);

/*-cursor------*/
.cursor__pointer {
    cursor: pointer;
}

html {
    /* より一般的な指定方法 */
    font-size: 100%; /* または 100% */
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-family: var(--font-family-base);
    font-size: 1rem; /* 16px */
    line-height: 1.6;
    overflow-x: hidden;
}

/*-pagenavi
プラグイン使用
------*/
.wp-pagenavi {
    margin: 40px auto;
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #77a0d1;
}
.wp-pagenavi a {
    color: #8c6456;
    color: var(--main-brown);
}
.wp-pagenavi a,.wp-pagenavi span {
    border: none !important;
    padding: 0 !important;

}
.wp-pagenavi span.current,
.wp-pagenavi a.page {
    margin: 0 8px 0 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
    box-sizing: border-box;
    justify-content: center;
    display: flex;
    align-items: center;
}
.wp-pagenavi span.current {
    border: none;
    background: #8c6456;
    background: var(--main-brown);
    color: #fff;
    color: var(--main-white);
}
.wp-pagenavi a.page {
    background: #fff;
    background: var(--main-white);
}
.wp-pagenavi a.page.lager {
    margin-right: 16px;
}
.wp-pagenavi a.page:hover {
    background: #8c6456;
    background: var(--main-brown);
    color: #fff;
    color: var(--main-white);
}
.wp-pagenavi .first,
.wp-pagenavi .extend {
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink {
    position: relative;
}
.wp-pagenavi .previouspostslink:after {
    position: absolute;
    content: '';
    background: url('./assets/images/icon/icon_pager_prev.svg') no-repeat;
    width: 20px;
    height: 20px;
    background-size: cover;
    top: -10px;
    left: -28px;
}
.wp-pagenavi .nextpostslink {
    position: relative;
}
.wp-pagenavi .nextpostslink:after {
    position: absolute;
    content: '';
    background: url('./assets/images/icon/icon_pager_next.svg') no-repeat;
    width: 20px;
    height: 20px;
    background-size: cover;
    top: -10px;
    left: 8px;
}
/*-base------*/
body {
    background: #eaf6fd;
    color: #545454;
    color: var(--main-darkgray);
}
img {
    width: 100%;
    vertical-align: bottom;
    height: auto;
}
a {
    text-decoration: none;
    word-break: break-all;
    color: #545454;
    color: var(--text-primary);
}
a:visited {
    color: #545454;
    color: var(--text-primary);
}
a:active {
    color: #545454;
    color: var(--text-primary);
}
a:hover {
    text-decoration: underline;
}
/*-common------*/
.wr {
    word-wrap: break-word;
    display: inline-block;
}
.container {
    padding: 0 calc(0.25rem * 4);
    padding: 0 var(--space-sm);
    max-width: 960px;
    margin: auto;
}
.inner {
    padding: 0;
    max-width: 720px;
    margin: auto;
}
/*-youtube------*/
.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}
/*-map_pin------*/
.pin {
    margin-left: 20px;
    position: relative;
}
.pin:before {
    content: '';
    background: url('./assets/images/icon/icon_pin.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    left: -20px;
    top: 4px;
}

.fluid-h1 {
    font-size: clamp(1.75rem, 1.75rem + 2.25cqi, 4rem);
    font-size: var(--fluid-h1);
}

.fluid-h2 {
    font-size: clamp(1.5rem, 1.5rem + 1cqi, 2rem);
    font-size: var(--fluid-h2);
}

.fluid-h3 {
    font-size: clamp(1.25rem, 1.25rem + 0.75cqi, 2rem);
    font-size: var(--fluid-h3);
}

.fluid-base {
    font-size: clamp(1rem, 1rem + 0.125cqi, 1.125rem);
    font-size: var(--fluid-base);
}

.fluid-small {
    font-size: clamp(0.875rem, 0.875rem + 0.125cqi, 1rem);
    font-size: var(--fluid-small);
}
}
/* 基本変数とブレイクポイントの定義 */
/* タイポグラフィ関連 */
/* ベーススタイル */
/* =================
* Layout
* ================= */
@layer layout{

.l-wrapper {
    width: min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%);
    width: min(var(--container-fluid), 100%);
    margin-inline: auto;
    padding-inline: calc(0.25rem * 2);
    padding-inline: var(--space-xs);
}

/*
ヘッダー用
*/

.l-header {
    background: #fff;
    background: var(--main-white);
    top: calc(0.25rem * 6);
    top: var(--space-md);
    flex-direction: column;
    border-radius: 999px;
    border-radius: var(--border-radius-infinity, 999px);
    box-shadow: 0px 1px 24px 0px rgba(0, 0, 0, 0.10);
    border: 6px solid #fff;
    border: var(--border-width-md) solid var(--color-white);
    z-index: 480;
    position: fixed;
    width: calc(100% - calc(0.25rem * 2) - calc(0.25rem * 2));
    width: calc(100% - var(--space-xs) - var(--space-xs));
}

    .l-header .l-header__logo {
        border-radius: 0px 0px 20px 0px;
        background: #fff;
        background: var(--main-white);
        padding-block: calc(0.25rem * 2);
        padding-block: var(--space-xs);
        padding-inline: calc(0.25rem * 4);
        padding-inline: var(--space-sm);
        z-index: 50;
        text-align: center;
    }
        :is(.l-header .l-header__logo) img {
                width: 135px;
                height: auto;
        }

.l-header__nav {
    flex-grow: 1;
    border-radius: 0px 0px 0px 20px;
    background: #00a2cc;
    background: var(--main-blue);
    padding: calc(0.25rem * 2);
    padding: var(--space-xs);
}
/*-content------*/
.content {
    box-shadow: 0px 1px 4px 0px #0000001a;
    border-radius: 8px;
    background: #fff;
    background: var(--main-white);
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
}

/* ↑ あとで消す */
.l-main {
    width: 100%;
    max-width: calc(clamp(1172 * 1px, 90vw, 1600 * 1px) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px));
    max-width: var(--main-width);
    background: var(--bg-light);
    margin: auto;
    margin-top: 110px;
}

.l-main-content {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    box-shadow: var(--shadow-md);
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    background: #fff;
    background: var(--main-white);
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
    margin-bottom: calc(0.25rem * 12);
    margin-bottom: var(--space-xl);
    container-type: inline-size;
    container-name: main-content;
    position: relative;
}

    .l-main-content:not(:has(.inner)) {
        background: none;
        box-shadow: none;
        padding: 0;
        padding: var(--space-none);
    }

    .l-main-content .inner {
        padding: 0;
        max-width: clamp(356px, calc(100px + 60vw), 960px);
        margin: auto;
    }
/*
フッター用
*/
/* スマホ */
footer {
    background: url('./assets/images/common/footer_bg.png') repeat-x;
    background-position: center top;
    padding-block: calc(0.25rem * 16);
    padding-block: var(--space-16);
    padding-inline: 0;
    color: #fff;
    color: var(--main-white);
    position: relative;
    overflow: hidden;
    margin-top: 40px;
    text-align: center;
}
    footer a {
        color: #fff;
        color: var(--main-white);
        display: block;
    }

        :is(footer a):visited {
            color: #fff;
            color: var(--main-white);
        }

        :is(footer a):hover {
            text-decoration: underline;
        }

    footer .subsidy {
        margin-bottom: 40px;
    }

        :is(footer .subsidy) img {
            max-width: 205px;
            margin: auto;
            display: block;
        }

:scope .logo {
    margin-bottom: 24px;
    background: #fff;
    background: var(--main-white);
    border-radius: 16px;
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
    display: inline-block;
}

    :is(:scope .logo) img {
        max-width: 200px;
        margin: auto;
        display: block;
    }

.copyright {
    text-align: center;
    display: block;
}

.link-menu{
    margin: 40px 0;
}

.privacy-term-link{
    display: flex;
    justify-content: center;
    gap: 16px;
}

.privacy-term-link__body{
    position: relative;
    font-weight: bold;
    padding-right: 32px;
}

    .privacy-term-link__body::after{
        content: "";
        display:block;
        width: 16px;
        height: 16px;
        position: absolute;
        top: 6px;
        right: 8px;
        background: url(./assets/images/icon/btn_arrow.svg) no-repeat;
        background-size: cover;
    }
}
/* =================
* Object
* ================= */
/* Component */
@layer component{

.c-gnav {
    display: none;
}

    .c-gnav .c-gnav__item {
        font-weight: bold;
    }

.c-gnav__link {
    color: #fff !important;
    color: var(--main-white) !important;
    display: flex;
    position: relative;
    padding-block: calc(0.25rem * 4);
    padding-block: var(--space-sm);
    padding-inline: calc(0.25rem * 14);
    padding-inline: var(--space-14);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    border-bottom: 1px solid #fff;
    border-bottom: 1px solid var(--main-white);
}

    .c-gnav__link::after {
        position: absolute;
        content: '';
        right: 24px;
        margin: auto;
        width: 24px;
        height: 24px;
        background: url('./assets/images/gnavi/sp_arrow.svg') no-repeat;
        background-size: cover;
    }

    .c-gnav__link.is-active {
        background: #007390;
        background: var(--main-darkblue);
    }

    .c-gnav__link[class*='icon-']:before {
        position: absolute;
        content: '';
        left: 24px;
        margin: auto;
        width: 24px;
        height: 24px;
        background-repeat: no-repeat;
        background-size: cover;
    }
    .c-gnav__link.icon-home:before {
        background-image: url('./assets/images/header/home.svg');
        background-image: var(--icon-home);
    }

    .c-gnav__link.icon-report:before {
        background-image: url('./assets/images/header/report.svg');
        background-image: var(--icon-report);
    }

    .c-gnav__link.icon-event:before {
        background-image: url('./assets/images/header/event.svg');
        background-image: var(--icon-event);
    }

    .c-gnav__link.icon-about:before {
        background-image: url('./assets/images/header/about.svg');
        background-image: var(--icon-about);
    }

    .c-gnav__link.icon-quest:before {
        background-image: url('./assets/images/header/quest.svg');
        background-image: var(--icon-quest);
    }

    .c-gnav__link.icon-useful:before {
        background-image: url('./assets/images/header/useful.svg');
        background-image: var(--icon-useful);
    }

    .c-gnav__link.icon-interview:before {
        background-image: url('./assets/images/header/interview.svg');
        background-image: var(--icon-interview);
    }



    /* ヘッダーのコンポーネントスタイル */
        .header .header__content{
            position: relative;
        }
        .header .c-header-menu {
            border-radius: 1rem;
            border-radius: var(--border-radius-md);
            box-shadow: 0px 1px 24px 0px rgba(0, 0, 0, 0.10);
            border: 6px solid #fff;
            border: var(--border-width-md) solid var(--color-white);
            top:0;
            width: 100%;
            position: absolute;
            background: #00a2cc;
            background: var(--main-blue);
            padding-top: calc(0.25rem * 4);
            padding-top: var(--space-sm);
            height: calc(100dvh - calc(0.25rem * 4) - calc(0.25rem * 4));
            height: calc(100dvh - var(--space-sm) - var(--space-sm));
        }
        .header .c-header-logo {
            border-radius: 16px;
            background: #fff;
            width: 110px;
            padding: 8px;
            margin: auto;
        }
            :is(.header .c-header-logo) .logo__img {
                width: 100%;
                height: auto;
            }
        .header .c-header-sp{
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
        }
        .header .c-header-spmenu{
            width: 48px;
            height: 48px;
            background: #DDF4FA;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            position: absolute;
            right: 0;
        }
            :is(.header .c-header-spmenu) img{
                width: 32px;
            }
        .header .c-header-spclose{
            border: 4px solid #fff;
            border: var(--border-width-sm) solid var(--color-white);
            border-radius: 24px;
            background: #fff;
            width: 48px;
            height: 48px;
            background: #DDF4FA;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            position: absolute;
            top: -15px;
            right: -10px;
            z-index: 200;
            box-shadow: 0px 1px 24px 0px rgba(0, 0, 0, 0.10);
        }
            :is(.header .c-header-spclose) img{
                width: 15px;
            }
        .header .c-header-menu,.header .c-header-spclose {
          display: none; /* 初期状態は非表示 */
        }
        
        .header .c-header-menu.is_active {
          display: block; /* is_activeが付いたら表示 */
        }

        .header .c-header-spclose.is_active {
          display: flex; /* is_activeが付いたら表示 */
        }
          
        .header .c-header-sp.is_active {
            display: none; /* is_activeが付いたら非表示 */
        }
          
          .header .menuList {
            padding: 16px 8px;
            margin: 0;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
            box-sizing: border-box;
            width: 100%;
        }
            .under-border:is(.header .menuList){
                border-bottom: #fff solid 1px;
            }

            :is(.header .menuList) .menuList__item {
                width: 100%;
            }

            :is(.header .menuList) .menuList__link {
                text-decoration: none;
                display: flex;
                align-items: center;
                height: 32px;
                position: relative;
                color: #fff;
                color: var(--main-white);
                font-weight: 700;
                padding-right: 24px;
            }

                :is(:is(.header .menuList) .menuList__link):hover{
                    opacity: 0.6;
                }

                .icon:is(:is(.header .menuList) .menuList__link) {
                        padding-left: 32px;
                }
                    
                        .icon:is(:is(.header .menuList) .menuList__link)::before {
                            position: absolute;
                            content: '';
                            left: 0;
                            margin: auto;
                            width: 32px;
                            height: 32px;
                            background-size: cover;
                        }
                    
                    .icon.home:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/home.svg') no-repeat;
                        background: var(--icon-home) no-repeat;
                    }
        
                    .icon.about:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/about.svg') no-repeat;
                        background: var(--icon-about) no-repeat;
                    }
        
                    .icon.quest:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/quest.svg') no-repeat;
                        background: var(--icon-quest) no-repeat;
                    }
        
                    .icon.report:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/report.svg') no-repeat;
                        background: var(--icon-report) no-repeat;
                    }
        
                    .icon.event:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/event.svg') no-repeat;
                        background: var(--icon-event) no-repeat;
                    }
        
                    .icon.project:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/project.svg') no-repeat;
                        background: var(--icon-project) no-repeat;
                    }
        
                    .icon.useful:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/useful.svg') no-repeat;
                        background: var(--icon-useful) no-repeat;
                    }
        
                    .icon.interview:is(:is(.header .menuList) .menuList__link)::before {
                        background: url('./assets/images/header/interview.svg') no-repeat;
                        background: var(--icon-interview) no-repeat;
                    }
                .arrow-none:is(:is(.header .menuList) .menuList__link)::after {
                    display: none;
                }
                        
                :is(:is(.header .menuList) .menuList__link)::after {
                    background: url(assets/images/gnavi/icon_arrow.svg) no-repeat;
                    background-size: cover;
                    width: 22px;
                    height: 22px;
                    content: '';
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    right: 0;
                    margin: auto;
                }

                .parent:is(:is(.header .menuList) .menuList__link)::after {
                    background: url(assets/images/gnavi/icon_humburger.svg) no-repeat;
                }

                .parent.is_active:is(:is(.header .menuList) .menuList__link)::after {
                    background: url(assets/images/gnavi/icon_humburger_blue.svg) center no-repeat;
                    border-radius: 12px 0px 0px 12px;
                    background-color: #fff;
                    padding: 0px 46px 34px 0px;
                    margin-right: -14px;
                }

                .leader-btn:is(:is(.header .menuList) .menuList__link){
                    color: #fff;
                    color: var(--main-white);
                    background: linear-gradient(78deg, #6DC6DD, #92DEF2);
                    font-size: 0.75rem;
                    font-size: var(--font-size-xs);
                    border-radius: 4px;
                    justify-content: center;
                    padding-right: 0px;
                }
        .header .menuContent {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
            width: 100%;
        }

            :is(.header .menuContent) .menuContent__title {
                color: #999;
                color: var(--text-secondary);
                font-size: 0.875rem;
                font-size: var(--font-size-sm);
                font-style: normal;
                font-weight: 700;
                padding-left: 8px;
                margin: 0;
            }
        .header .gnav-back-btn {
            position: absolute;
            left: 10px;
            content: "";
            width: 22px;
            height: 22px;
            background: url(assets/images/gnavi/button_arrow.svg) no-repeat;
            transform: scale(-1, 1);
            cursor: pointer;
            top: 8px;
        }

        .header .secondMenu {
            position: absolute;
            top: -6px;
            box-sizing: border-box;
            background: #fff;
            z-index: 80;
            display: flex;
            padding: 32px 16px 16px;
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
            border-radius: 1rem;
            border-radius: var(--border-radius-md);
            opacity: 0;
            height: auto;
            min-height: calc(100% + 12px);
            visibility: hidden;
            pointer-events: none;
            border: 6px solid #fff;
            left: -6px;
            width: calc(100% + 12px);
        }
            .is_active:is(.header .secondMenu) {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
            }
            .no-border-radius:is(.header .secondMenu) {
                border-radius: 0;
            }

        .header .thirdMenu {
            position: absolute;
            pointer-events: none;
            top: -6px;
            left: -6px;
            width: calc(100% + 12px);
            box-sizing: border-box;
            background: #f7f7f7;
            border: 6px solid #fff;
            border-radius: 1rem;
            border-radius: var(--border-radius-md);
            padding: 32px 16px 16px;
            opacity: 0;
            height: auto;
            min-height: calc(100% + 12px);
            visibility: hidden;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 40px;
            z-index: 120;
        }
            .is_active:is(.header .thirdMenu) {
                opacity: 1;
                visibility: visible;
                pointer-events: auto;
            }

            :is(.header .thirdMenu) .thirdMenu__list {
                display: flex;
                flex-direction: column;
                gap: 40px;
                width: 100%;
            }

        /* 2階層目・3階層目の.menuList__linkのスタイル変更 */
            :is(.header .secondMenu) .menuList__link {
                color: #00a2cc;
                color: var(--main-blue);
            }

                :is(:is(.header .secondMenu) .menuList__link)::after {
                    background: url(assets/images/gnavi/button_arrow.svg) no-repeat;
                }
                :is(:is(.header .secondMenu) .subParent) .menuList__link::after {
                    background: url(assets/images/gnavi/icon_humburger_blue.svg) no-repeat;
                }

                :is(:is(.header .secondMenu) .subParent) .menuList__link.is_active::after {
                    background: url(assets/images/gnavi/icon_arrow_blue.svg) center no-repeat;
                    border-radius: 12px 0px 0px 12px;
                    background-color: #f7f7f7;
                    padding: 0px 42px 34px 0px;
                    margin-right: -10px;
                }
                :is(:is(.header .secondMenu) .thirdMenu) .menuList__link::after {
                    background: url(assets/images/gnavi/button_arrow.svg) no-repeat;
                }
    /* display: flex;
    flex-wrap: wrap;
    justify-content: center; */
    .c-cat-link h3 {
        width: 100%;
        margin: 0 auto calc(0.25rem * 4);
        margin: 0 auto var(--space-sm);
        font-size: clamp(1.25rem, 1.25rem + 0.75cqi, 2rem);
        font-size: var(--fluid-h3);
        font-weight: bold;
        color: #00a2cc;
        color: var(--main-blue);
    }
    .c-cat-link h4 {
        width:100%;
        margin: 0 auto calc(0.25rem * 4);
        margin: 0 auto var(--space-sm);
        border-left: 4px solid #00a2cc;
        border-left: 4px solid var(--main-blue);
        padding: 8px 16px;
        background: #f8f8f8;
        font-size: var(--fluid-h4);
        font-weight: bold;
    }

.c-link-list {
    display: grid;
    width: 100%;
    margin: 0 auto calc(0.25rem * 4);
    margin: 0 auto var(--space-sm);
    grid-template-columns: none;
    gap: calc(0.25rem * 4);
    gap: var(--space-sm);
    list-style: none;
    padding: 0;
}

.c-link-list--into{
    display: grid;
    width: 100%;
    margin: 0 auto ;
    grid-template-columns: none;
    gap: calc(0.25rem * 4);
    gap: var(--space-sm);
    list-style: none;
    padding: 0;
    align-items: end;
}

    .c-link-list--into .btn__pdf{
        max-width: none;
        width: 100%;
    }

.c-prevnext-link{
    display: flex;
    flex-direction: column;
    gap: 16px;

}
    .c-prevnext-link .c-link-item{
        width: 100%;
        margin-bottom: calc(0.25rem * 2);
        margin-bottom: var(--space-xs);
    }
    .c-prevnext-link .card a::after{
        background: url('./assets/images/icon/button_arrow.svg') no-repeat;
        background-size: cover;
        width: 20px;
        height: 20px;
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        margin: auto;
    }

    .c-prevnext-link .next-link a::after {
        transform: scale(-1, 1);
        top: 0;
        bottom: 0;
        right: auto;
        left: 10px;
    }
    .c-prevnext-link .prev-link a::after {
        top: 0;
        bottom: 0;
        left: auto;
        right: 10px;
    }
    .c-prevnext-link .c-item-dateil{
        position: relative;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 4px;
        padding: 0 20px;
    }

        :is(.c-prevnext-link .c-item-dateil)::after{
                background-image: url('./assets/images/icon/button_arrow.svg') ;
                background-repeat: no-repeat;
                background-size: cover;
                width: 16px;
                height: 16px;
                content: '';
                position: absolute;
                top: 8px;
                bottom: 0;
                right: 0;
        }

        .next-link:is(.c-prevnext-link .c-item-dateil){
            justify-content: flex-start;
        }

        .next-link:is(.c-prevnext-link .c-item-dateil)::after {
            transform: scale(-1, 1);
            top: 8px;
            bottom: 0;
            left: 0;
        }
        
        :is(.c-prevnext-link .c-item-dateil) .c-item-thumbnail img{
            font-family: 'object-fit: cover;';
            -o-object-fit: cover;
               object-fit: cover;
            aspect-ratio: 3 / 2;
            border-radius: 8px;
        }
        :is(.c-prevnext-link .c-item-dateil) .c-supporter-thumbnail{
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background-position: center center;
            background-size: cover;
        }
        
        :is(.c-prevnext-link .c-item-dateil) figure.c-supporter-thumbnail{
            margin: 0 !important;
        }
            :is(:is(.c-prevnext-link .c-item-dateil) .c-item-text) .c-item-time{
                font-size: 0.75rem;
                font-size: var(--font-size-xs);
                display: flex;
                font-weight: normal;
            }
            :is(:is(.c-prevnext-link .c-item-dateil) .c-item-text) .c-item-title{
                font-size: 1rem;
                font-size: var(--font-size-base);
                font-weight: bold;
                -webkit-line-clamp: 2;
                min-height: 52px;
                overflow: hidden;
                display: -webkit-box;
                text-overflow: ellipsis;
                -webkit-box-orient: vertical;
            }
            :is(:is(.c-prevnext-link .c-item-dateil) .c-item-text) .c-item-name{
                font-size: 0.875rem;
                font-size: var(--font-size-sm);
                font-weight: bold;
            }
    .c-prevnext-link .prev-link .c-item-dateil{
        flex-direction: row-reverse;
    }
    .c-prevnext-link .c-supporter-profile a::after {
        top: 0;
        bottom: 0;
        left: auto;
        right: 10px;
    }

.c-leader-list {
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
    gap: calc(0.25rem * 4);
    gap: var(--space-sm);
    list-style: none;
}

/* 次の記事・前の記事に戻るボタンのコンポーネント */
.c-prevnext-container{
    margin:0 auto 32px;
}

.c-card-prevnext{
    position: relative;
    width: 100%;
    border-radius: 8px;
}

    .c-card-prevnext a{
        text-decoration: none;
    }

    .c-card-prevnext :hover{
        background-color: #ffffee;
    }

    .c-card-prevnext.prev-link::after{
        background-image: url('./assets/images/icon/button_arrow.svg') ;
                background-repeat: no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 38px;
                right: 8px;
    }

    .c-card-prevnext.next-link::after{
        background-image: url('./assets/images/icon/button_arrow.svg') ;
                background-repeat: no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 38px;
                left: 8px;
                transform: scale(-1, 1);
    }

.c-card-prevnext__item{
    background:#fff;
    background:var(--main-white) ;
    border-radius: 8px;
    display: flex;
    gap: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    box-shadow: var(--shadow-md);
}

    .c-card-prevnext__item.next-link{
        flex-direction: row-reverse;
        justify-content: space-between;
        padding: 8px 8px 8px 40px;
    }

    .c-card-prevnext__item.prev-link{
        padding: 8px 40px 8px 8px;
    }

    .c-card-prevnext__item .c-card-prevnext__thumbnail img{
        width: 110px;
        height: 80px;
        border-radius: 8px;
        -o-object-fit: cover;
           object-fit: cover;
    }
    
    .c-card-prevnext__item .c-card-prevnext__time{
        font-size: 0.75rem;
        font-size: var(--font-size-xs);
        color: #999;
        color: var(--text-color-secondary);
    }
    
    .c-card-prevnext__item .c-card-prevnext__title{
        font-size: 1rem;
        font-size: var(--font-size-base);
        font-weight: bold;
    }
.site-research{
    display: flex;
    justify-content: flex-end;
    gap: 20px;
    margin-bottom: 16px;
}
    
    .site-research a{
        font-size: 1rem;
        font-size: var(--font-size-base);
        font-weight: bold;
        color: #00a2cc;
        color: var(--main-blue);
    }

        .site-research .site-research__search,.site-research .site-research__sitemap{
            position: relative;
            padding-left: 32px;
        }
        .site-research .site-research__search::before{
            position: absolute;
            content: "";
            left: 5px;
            top: 2px;
            background-image: url('./assets/images/icon/icon_site_search.svg') ;
            background-size: contain;
            background-repeat: no-repeat;
            width: 24px;
            height: 24px;
        }
        .site-research .site-research__sitemap::before{
            position: absolute;
            content: "";
            left: 5px;
            top: 2px;
            background-image: url('./assets/images/icon/icon_sitemap.svg') ;
            background-size: contain;
            background-repeat: no-repeat;
            width: 24px;
            height: 24px;
        }
/*-btn------*/
.btn {
    border-radius: 8px;
    border: 3px solid #00a2cc;
    border: 3px solid var(--main-blue);
    background: #ecf6f8;
    font-weight: 700;
    padding-block: calc(0.25rem * 3);
    padding-block: var(--space-3);
    padding-inline: calc(0.25rem * 3) calc(0.25rem * 4);
    padding-inline: var(--space-3) var(--space-sm);
    display: block;
    color: #00a2cc !important;
    color: var(--main-blue) !important;
    position: relative;
    min-width: 190px;
}
.btn__2lines {
    padding: 8px 48px 7px 16px;
}
.btn__small {
    padding: 12px 48px 12px 16px;
}
.btn:hover {
    background: #00a2cc;
    background: var(--main-blue);
    color: #fff !important;
    color: var(--main-white) !important;
    text-decoration: none;
}
.btn:after {
    background: url('./assets/images/icon/button_arrow.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    margin: auto;
    z-index: 20;
}
.btn:hover:after {
    background: url('./assets/images/icon/icon_arrow_white.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
}
.btn--active {
    background: #00a2cc;
    background: var(--main-blue);
    color: #fff !important;
    color: var(--main-white) !important;
    text-decoration: none;
}
.btn--active:after {
    background: url('./assets/images/icon/icon_arrow_white.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
}
.btn__pdf {
    max-width: 326px;
}
.btn__pdf:after,
.btn__pdf:hover:after {
    background: url('./assets/images/icon/icon_pdf.svg') no-repeat;
    width: 20px;
    height: 20px;
}
.btn__word:after,
.btn__word:hover:after {
    background: url('./assets/images/icon/icon_word.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
}
.btn.win:after {
    background: url('./assets/images/icon/icon_window.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
}
.btn.win:hover:after {
    background: url('./assets/images/icon/icon_window_white.svg') no-repeat;
}
.btn.win {
    width: -moz-max-content;
    width: max-content;
}
.act-btn {
    width: 210px;
    padding: calc(0.25rem * 2) calc(0.25rem * 4);
    padding: var(--space-xs) var(--space-sm);
    border-radius: 56px;
    background: #8c6456;
    background: var(--main-brown);
    display: inline-block;
    color: #fff !important;
    color: var(--main-white) !important;
    text-align: center;
    cursor: pointer;
    border: solid 2px #8c6456;
    border: solid 2px var(--main-brown);
    text-decoration: none !important;
    position: relative;
}

    .act-btn.top-header{
        width: auto;
        padding: calc(0.25rem * 2) calc(0.25rem * 12) calc(0.25rem * 2) calc(0.25rem * 4);
        padding: var(--space-xs) var(--space-xl) var(--space-xs) var(--space-sm);
    }
.act-btn:hover {
    color: #8c6456 !important;
    color: var(--main-brown) !important;
    background: #fff;
    background: var(--main-white);
}
.act-btn__arrow:after {
    background: url('./assets/images/icon/btn_arrow.svg') no-repeat;
    background-size: cover;
    width: 28px;
    height: 28px;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    margin: auto;
    z-index: 20;
}
.act-btn__arrow:hover:after {
    background: url('./assets/images/icon/btn_arrow_over.svg') no-repeat;
}
.link {
    display: inline-block;
    color: #007390 !important;
    color: var(--main-darkblue) !important;
    position: relative;
    text-decoration: underline;
    padding-right: 30px;
}
.link:hover {
    text-decoration: none;
}
.link.win:after {
    background: url('./assets/images/icon/icon_window.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0px;
    margin: auto;
}
.link.win:after:hover {
    background: url('./assets/images/icon/icon_window_white.svg') no-repeat;
}
.back__list {
    position: relative;
    color: #00a2cc !important;
    color: var(--main-blue) !important;
    padding-left: 20px;
}
.back__list:hover {
    color: #00a2cc !important;
    color: var(--main-blue) !important;
    text-decoration: underline;
}
.back__list:before {
    background: url('./assets/images/icon/icon_back.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0px;
    margin: auto;
}
.btn-cat {
    border: solid 3px #00a2cc;
    border: solid 3px var(--main-blue);
    border-radius: 16px;
    padding: 16px 8px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-size: 0.625rem;
    font-size: var(--font-size-xxs);
    font-weight: 700;
    text-decoration: none !important;
    width: 103px;
    height: 103px;
    position: relative;
}
.btn-cat:before {
    width: 54px;
    height: 54px;
    content: '';
    position: absolute;
    top: 11px;
    right: 0;
    left: 0px;
    margin: auto;
}
.btn-cat:hover {
    background: #00a2cc;
    background: var(--main-blue);
    color: #fff !important;
    color: var(--main-white) !important;
}
.btn-cat--active {
    background: #00a2cc;
    background: var(--main-blue);
    color: #fff !important;
    color: var(--main-white) !important;
}
.btn-cat__education:before {
    background: url('./assets/images/theme/education_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__education:hover:before {
    background: url('./assets/images/theme/education_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__education--active:before {
    background: url('./assets/images/theme/education_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__industry:before {
    background: url('./assets/images/theme/industry_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__industry:hover:before {
    background: url('./assets/images/theme/industry_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__industry--active:before {
    background: url('./assets/images/theme/industry_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__environment:before {
    background: url('./assets/images/theme/environment_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__environment:hover:before {
    background: url('./assets/images/theme/environment_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__environment--active:before {
    background: url('./assets/images/theme/environment_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__tradition:before {
    background: url('./assets/images/theme/tradition_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__tradition:hover:before {
    background: url('./assets/images/theme/tradition_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__tradition--active:before {
    background: url('./assets/images/theme/tradition_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__life:before {
    background: url('./assets/images/theme/life_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__life:hover:before {
    background: url('./assets/images/theme/life_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__life--active:before {
    background: url('./assets/images/theme/life_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__economy:before {
    background: url('./assets/images/theme/economy_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__economy:hover:before {
    background: url('./assets/images/theme/economy_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__economy--active:before {
    background: url('./assets/images/theme/economy_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__sightseeing:before {
    background: url('./assets/images/theme/sightseeing_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__sightseeing:hover:before {
    background: url('./assets/images/theme/sightseeing_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__sightseeing--active:before {
    background: url('./assets/images/theme/sightseeing_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__administration:before {
    background: url('./assets/images/theme/administration_b.svg') no-repeat;
    background-size: cover;
}
.btn-cat__administration:hover:before {
    background: url('./assets/images/theme/administration_w.svg') no-repeat;
    background-size: cover;
}
.btn-cat__administration--active:before {
    background: url('./assets/images/theme/administration_w.svg') no-repeat;
    background-size: cover;
}

.heading-medium {
    border-left: 4px solid #00a2cc;
    border-left: 4px solid var(--main-blue);
    padding: 8px 16px;
    background: #f8f8f8;
    font-size: clamp(1.25rem, 1.25rem + 0.75cqi, 2rem);
    /* 20px - 32px */
}

.heading-sub {
    border-bottom: 2px solid #00a2cc;
    border-bottom: 2px solid var(--main-blue);
    padding: 8px 0;
    font-size: var(--fluid-h4);
    font-weight: bold;
}

.c-heading-has-tag {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/*-hero_img------*/

.c-hero {
    margin-bottom: calc(0.25rem * 12);
    margin-bottom: var(--space-xl);
}

.c-hero__img {
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center center;
    padding: 16px;
    border-radius: 24px;
    border: solid 6px #fff;
    border: solid 6px var(--main-white);
}

.c-hero__title {
    font-size: clamp(1.5rem, 1.5rem + 1cqi, 2.5rem);
    font-weight: bold;
    line-height: 1.4;
}
/*-img------*/
.obj-fit__ar32 {
    font-family: 'object-fit: cover;';
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 3 / 2;
}

/* Tab Components 
---------------------------------*/

/* Panel Block */
.panel {
    display: none;
}

    .panel.active {
        display: block;
    }

    .panel.cat-active.tag-active {
        display: block;
    }

    .panel.zero {
        display: block;
    }

/* Library Block */
.library-area {
    display: none;
}

    .library-area.active {
        display: block;
    }

/* Tab Block */
.tab-container {
    overflow-x: auto;
    width: calc(100vw - calc(0.25rem * 8));
    width: calc(100vw - var(--space-lg));
    margin-right: calc(0.25rem * 2);
    margin-right: var(--space-xs);
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--space-md);
}
.tab-area {
    display: flex;
    gap: 0.25rem;
    gap: var(--space-2);
    padding: 4px;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    background: #fff;
    background: var(--main-white) ;
    list-style: none;
    margin: 0 auto 24px;
    width: -moz-max-content;
    width: max-content;
}

.tab-container::-webkit-scrollbar {
    height: 8px;
    }

.tab-container::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 0;
    }

.tab-container::-webkit-scrollbar-track {
    background-color: transparent;
    }
    /* メインのタブスタイル */
    .tab {
        border: 2px solid #f1f1f1;
        border: 2px solid var(--lightgray);
        background: #f1f1f1;
        background: var(--lightgray);
        color: #00a2cc !important;
        color: var(--main-blue) !important;
        padding: 8px 24px;
        border-radius: 32px;
        text-align: center;
        display: block;
        text-decoration: none !important;
        font-weight: bold;
    }

        .tab:hover {
            border: 2px solid #00a2cc;
            border: 2px solid var(--main-blue);
        }

.tab--selected {
    border: 2px solid #00a2cc;
    border: 2px solid var(--main-blue);
    background: #00a2cc;
    background: var(--main-blue);
    color: #fff !important;
    color: var(--main-white) !important;
    font-weight: bold;
}
/* Status Block */
.status {
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    border-radius: 4px;
    padding-block: calc(0.25rem * 2);
    padding-block: var(--space-xs);
    padding-inline: 0.25rem;
    padding-inline: var(--space-2);
    display: inline-block;
    min-width: -moz-max-content;
    min-width: max-content;
    text-align: center;
}

    .status.status--calendar {
        color: #999;
        color: var(--text-secondary);
        border: solid 1px #999;
        border: solid 1px var(--text-secondary);
        margin-left: calc(0.25rem * 2);
        margin-left: var(--space-xs);
    }

    .status.status--report {
        font-size: 0.75rem;
        font-size: var(--font-size-xs);
        font-weight: bold;
        color: #6ebf8e;
        color: var(--sub-green);
        border: solid 1px #6ebf8e;
        border: solid 1px var(--sub-green);
        background: #f3fff8;
        background: var(--sub-lightgreen);
        position: relative;
        padding-block: 0.25rem;
        padding-block: var(--space-2);
        padding-inline: calc(0.25rem * 2);
        padding-inline: var(--space-xs);
        position: absolute;
        right: 10px;
        top: 10px;
    }

    .status.status--training {
        font-size: 0.75rem;
        font-size: var(--font-size-xs);
        font-weight: bold;
        color:#0FA151;
        border: solid 1px #0FA151;
        background: #f3fff8;
        background: var(--sub-lightgreen);
        padding: 4px 8px;
        width: -moz-fit-content;
        width: fit-content;
    }

    .status.status--new {
        color: #c91a13;
        color: var(--sub-red);
        border: solid 1px #c91a13;
        border: solid 1px var(--sub-red);
        background: #fff;
        background: var(--main-white);
    }

.status-tag-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Number Block */
.number {
    border-radius: 2px;
    padding-block: 0;
    padding-inline: calc(0.25rem * 4);
    padding-inline: var(--space-sm);
    display: inline-block;
    min-width: 48px;
    text-align: center;
    color: #fff;
    color: var(--main-white);
    background: #8c6456;
    background: var(--main-brown);
}

/* Category Block */
.category {
    border: 1px solid #ddd;
    border: 1px solid var(--gray);
    background: #fff;
    background: var(--main-white);
    color: #545454 !important;
    color: var(--main-darkgray) !important;
    min-width: 92px;
    padding-block: calc(0.25rem * 2);
    padding-block: var(--space-xs);
    padding-inline: calc(0.25rem * 8);
    padding-inline: var(--space-lg);
    border-radius: 32px;
    text-align: center;
    display: inline-block;
    text-decoration: none !important;
}

    .category.category--selected {
        border: 1px solid #00a2cc;
        border: 1px solid var(--main-blue);
        background:#ddf4fa;
        color: #00a2cc !important;
        color: var(--main-blue) !important;
    }

    .category.category--small {
        padding-block: 0.25rem;
        padding-block: var(--space-2);
        padding-inline: calc(0.25rem * 4);
        padding-inline: var(--space-sm);
        font-size: 0.75rem;
        font-size: var(--font-size-xs);
        min-width: auto;
        line-height: 1.2;
    }

.interview-keyword-list{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.supporter-detail-categorys{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.supporter-detail-category{
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    border: 1px solid #00a2cc;
    border: 1px solid var(--main-blue);
    background:#ddf4fa;
    color: #00a2cc !important;
    color: var(--main-blue) !important;
    border-radius: 32px;
    padding: 4px 16px;
    text-align: center;
    display: inline-block;
    text-decoration: none !important;
}

/* Tag Block */
.tag {
    font-size: 1rem;
    font-size: var(--font-size-base);
    border-radius: 0.25rem;
    border-radius: var(--border-radius-xs);
    padding-block: 0.25rem;
    padding-block: var(--space-unit);
    padding-inline: 0.25rem;
    padding-inline: var(--space-unit);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--space-lg);
    padding-right: calc(0.25rem * 4);
    padding-right: var(--space-sm);
    display: inline-block;
    color: #999 !important;
    color: var(--text-secondary) !important;
    background: #fff;
    background: var(--main-white);
    border: solid 1px #ddd;
    border: solid 1px var(--gray);
    position: relative;
    text-decoration: none !important;
    text-align: left;
    min-width: auto;
}

    .tag::before {
        background: url(./assets/images/icon/icon_tag.svg) no-repeat;
        background-size: cover;
        width: 20px;
        height: 20px;
        content: '';
        position: absolute;
        left: 8px;
        top: 6px;
    }

    .tag.tag--small {
        padding-block: 0.25rem;
        padding-block: var(--space-2);
        padding-inline: calc(0.25rem * 2) calc(0.25rem * 8);
        padding-inline: var(--space-xs) var(--space-lg);
        padding-right: 0.25rem;
        padding-right: var(--space-2);
        padding-left: calc(0.25rem * 6);
        padding-left: var(--space-md);
        border: solid 1px #ddd;
        border: solid 1px var(--gray);
        font-size: 0.75rem;
        font-size: var(--font-size-xs);

    }

        .tag.tag--small::before {
            left: 4px;
            top: 3px;
        }

    .tag.tag--selected {
        border: 1px solid #00a2cc;
        border: 1px solid var(--main-blue);
        color: #00a2cc !important;
        color: var(--main-blue) !important;
        background:#ddf4fa;
    }
        .tag.tag--selected::before {
            background: url(./assets/images/icon/icon_tag_blue.svg) no-repeat;
            background-size: cover;
        }
.c-supporter-thum-list-area {
    overflow-x: auto;
    width: calc(100vw - calc(0.25rem * 8));
    width: calc(100vw - var(--space-lg));
    margin-right: calc(0.25rem * 2);
    margin-right: var(--space-xs);
    margin-bottom: 24px;
}
/* Webkitベースのブラウザ用 */
.c-supporter-thum-list-area::-webkit-scrollbar {
height: 8px; /* スクロールバーの高さを1pxに設定 */
}

.c-supporter-thum-list-area::-webkit-scrollbar-thumb {
background-color: #ccc; /* スクロールバーの色 */
border-radius: 0; /* スクロールバーの角を丸くしない */
}

.c-supporter-thum-list-areaa::-webkit-scrollbar-track {
background-color: transparent; /* スクロールバーのトラック部分を透明にする */
}


.c-supporter-thum-list {
    display: flex;
    gap: calc(0.25rem * 2);
    gap: var(--space-xs);
    padding: 0;
    list-style: none;
    margin: 0;
    width: -moz-max-content;
    width: max-content;
    margin-bottom:  calc(0.25rem * 8);
    margin-bottom:  var(--space-lg);
}
.c-supporter-thum-list-item {
    background: #fff;
    background: var(--main-white);
    box-shadow: 0px 1px 4px 0px #0000001a;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    position: relative;
    display: block;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
    padding: calc(0.25rem * 4) calc(0.25rem * 4) calc(0.25rem * 6);
    padding: var(--space-sm) var(--space-sm) var(--space-md);


}
    .c-supporter-thum-list-item a {
        display: flex;
        align-items: center;
        background: #fff;
        background: var(--main-white);
        padding: calc(0.25rem * 4) calc(0.25rem * 8) calc(0.25rem * 4) calc(0.25rem * 4);
        padding: var(--space-sm) var(--space-lg) var(--space-sm) var(--space-sm) ;
        height: 100%;

    }
            :is(.c-supporter-thum-list-item a)::after {
                background: url('./assets/images/icon/button_arrow.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                right: 10px;
                margin: auto;
            }

        :is(.c-supporter-thum-list-item a):hover {
            background: #ffffee;
            text-decoration: none;
        }
.c-supporter-thum-list-item {
    padding: calc(0.25rem * 2);
    padding: var(--space-xs);
    display: inline-block;
    border-radius: 9999px;
    border-radius: var(--border-radius-full);


}
    .c-supporter-thum-list-item::after {
        top: 0;
        bottom: 0;
        right: 10px;
    }
    .c-supporter-thum-list-item.list--selected {
        border: 1px solid #00a2cc;
        border: 1px solid var(--main-blue);
        background:#ddf4fa;
        color: #00a2cc !important;
        color: var(--main-blue) !important;
    }
.c-supporter-thum-list-wrap {
    display: flex;
    align-items: center;
}

.c-supporter-thum-list-item__thum {
    width: 64px;
    height: 64px;
    margin-bottom: 0 !important;
    border-radius: 50%;
    border: solid 4px #f1f1f1;
    border: solid 4px var(--lightgray);
    background-position: center center;
    background-size: cover;
}

.c-supporter-thum-list-item__profile {
    text-align: center;
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    font-weight: bold;
}

.new_icon_detail{
    position: absolute;
    width: 44px;
    height: 44px;
    top: -24px;
    left: 0;
}
/* Local Navigation Component */
.local-nav {
    /* Container */
    container-type: inline-size;
    container-name: local-nav;

    /* Layout */
    display: flex;
    align-items: center;
    justify-content: center;
    min-block-size: 70px;
    padding-block: 8px;

    /* Appearance */
    border-block-end: 3px solid #ddd;
    border-block-end: 3px solid var(--gray);
    background-color: #fff;
    background-color: var(--main-white);
    color: #999;
    color: var(--text-secondary);

    /* Typography */
    text-align: center;
    font-size: 1rem;
    font-size: var(--font-size-base, 1rem);
    text-decoration: none;
}

/* Active State */
.local-nav--active {
    border-block-end-color: #007390;
    border-block-end-color: var(--main-darkblue);
    background-color: #00a2cc;
    background-color: var(--main-blue);
    color: #fff;
    color: var(--main-white);
    font-weight: 700;
}

/* Navigation Items */
.local-nav__item {
    width: 50%;
    margin-inline-end: 1px;
}

/* Container Query */
@container local-nav (min-width: 768px) {
    .local-nav__item {
        width: 25%;
    }
}

/* Fallback for browsers that don't support container queries */
@supports not (container-type: inline-size) {
}
/* Slide Navigation Block */
.slide-nav {
    overflow-x: auto;
}

    .slide-nav::-webkit-scrollbar {
        height: 3px;
    }

    .slide-nav::-webkit-scrollbar-track {
        background-color: #ddd;
        background-color: var(--gray);
    }

    .slide-nav::-webkit-scrollbar-thumb {
        background-color: #007390;
        background-color: var(--main-darkblue);
    }

    .slide-nav .slide-nav__list {
        display: flex;
        width: -moz-max-content;
        width: max-content;
        justify-content: center;
    }

    .slide-nav .slide-nav__item {
        background-color: #fff;
        background-color: var(--main-white);
        text-align: center;
        border-bottom: 3px solid #ddd;
        border-bottom: 3px solid var(--gray);
        display: block;
        color: #999 !important;
        color: var(--text-secondary) !important;
        text-decoration: none !important;
        padding: 8px 16px 6px;
    }

        :is(.slide-nav .slide-nav__item):hover {
            border-bottom: 3px solid #007390;
            border-bottom: 3px solid var(--main-darkblue);
            color: #007390 !important;
            color: var(--main-darkblue) !important;
        }

        --active:is(.slide-nav .slide-nav__item) {
            border-bottom: 3px solid #007390;
            border-bottom: 3px solid var(--main-darkblue);
            color: #007390 !important;
            color: var(--main-darkblue) !important;
            font-weight: 700;
        }
/*-card------*/
.card {
    background: #fff;
    background: var(--main-white);
    box-shadow: 0px 1px 4px 0px #0000001a;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    position: relative;
    display: block;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
    padding: calc(0.25rem * 4) calc(0.25rem * 4) calc(0.25rem * 6);
    padding: var(--space-sm) var(--space-sm) var(--space-md);
}
    .card a {
        display: flex;
        align-items: center;
        background: #fff;
        background: var(--main-white);
        padding: calc(0.25rem * 4) calc(0.25rem * 8) calc(0.25rem * 4) calc(0.25rem * 4);
        padding: var(--space-sm) var(--space-lg) var(--space-sm) var(--space-sm) ;
        height: 100%;

    }
            :is(.card a)::after {
                background: url('./assets/images/icon/button_arrow.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                right: 10px;
                margin: auto;
            }

        :is(.card a):hover {
            background: #ffffee;
            text-decoration: none;
        }
    .card .new_icon{
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
    }

.c-supporter-list {
    display: grid;
    grid-template-columns: none;
    gap: calc(0.25rem * 4);
    gap: var(--space-sm);
    padding: 0;
    list-style: none;
    margin: 0;
}

.c-supporter-list-item {
    background: #fff;
    background: var(--main-white);
    box-shadow: 0px 1px 4px 0px #0000001a;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    position: relative;
    display: block;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
    padding: calc(0.25rem * 4) calc(0.25rem * 4) calc(0.25rem * 6);
    padding: var(--space-sm) var(--space-sm) var(--space-md);
}
    .c-supporter-list-item a {
        display: flex;
        align-items: center;
        background: #fff;
        background: var(--main-white);
        padding: calc(0.25rem * 4) calc(0.25rem * 8) calc(0.25rem * 4) calc(0.25rem * 4);
        padding: var(--space-sm) var(--space-lg) var(--space-sm) var(--space-sm) ;
        height: 100%;

    }
            :is(.c-supporter-list-item a)::after {
                background: url('./assets/images/icon/button_arrow.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                right: 10px;
                margin: auto;
            }

        :is(.c-supporter-list-item a):hover {
            background: #ffffee;
            text-decoration: none;
        }

.c-supporter-list-item {
    padding: 0;
}

    .c-supporter-list-item::after {
        top: 0;
        bottom: 0;
        right: 10px;
    }

    .c-supporter-list-item .c-supporter-list-wrap {
        display: flex;
        align-items: center;
    }

    .c-supporter-list-item .c-supporter-list-item__thum {
        width: 80px;
        height: 80px;
        margin-right: 16px !important;
        margin-bottom: 0 !important;
        border-radius: 50%;
        border: solid 4px #f1f1f1;
        border: solid 4px var(--lightgray);
        background-position: center center;
        background-size: cover;
    }

    .c-supporter-list-item .c-supporter-list-item__profile {
        /* width: calc(100% - 105px); */
    }

.supporter__item--prev {
    padding: 16px 16px 16px 40px;
}

    .supporter__item--prev::after {
        transform: scale(-1, 1);
        top: 0;
        bottom: 0;
        right: auto;
        left: 10px;
    }

.supporter__content{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 24px;
    border: solid 6px #f4f4f4;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    background: #fff;
    background: var(--main-white);
    margin-bottom: 24px;
}

    .supporter__content .supporter__profile{
        display: flex;
        align-items: center;
        gap: 16px;
    }

        :is(.supporter__content .supporter__profile) .supporter__profile-img{
            width: 80px;
            height: 80px;
            border-radius: 50%;
            border: solid 4px #f1f1f1;
            border: solid 4px var(--lightgray);
            background-position: center center;
            background-size: cover;
        }
        :is(.supporter__content .supporter__profile) figure.supporter__profile-img{
            margin: 0 !important;
        }
        :is(.supporter__content .supporter__profile) .supporter__profile-img figure{
            margin: 0;
        }
        :is(.supporter__content .supporter__profile) .supporter__profile-names{
            display: flex;
            flex-direction: column;
        }
        :is(.supporter__content .supporter__profile) .supporter__profile-name{
            font-size: 1.25rem;
            font-size: var(--font-size-xl);
            font-weight: bold;
        }
        :is(.supporter__content .supporter__profile) .supporter__profile-name-kana{
            font-size: 0.75rem;
            font-size: var(--font-size-xs);
        }

.supporter__profile-affiliation{
    font-size: 1rem;
    font-size: var(--font-size-base);
}

.speech-bubbles{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.speech-bubble {
    width: 85%;
    background-color: #fff;
    background-color: var(--main-white);
    border: 4px solid #8c6456;
    border: 4px solid var(--main-brown);
    border-radius: 0px 24px 24px 40px;
    padding: 16px 24px;
    margin: 0 auto calc(0.25rem * 8);
    margin: 0 auto var(--space-lg);
}

    .speech-bubble .speech-bubble__question{
        font-size: 1.25rem;
        font-size: var(--font-size-xl);
        font-weight: bold;
        color: #8c6456;
        color: var(--main-brown);
    }

    .speech-bubble .speech-bubble__answer{
        
    }


/* 地域サポーターの授業例コンポーネント */
.supporter-library-year{
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    color: #00a2cc;
    color: var(--main-blue);
    font-weight: bold;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--space-md);
}

.supporter-no-library{
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--space-md);
}

.supporter-library {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--space-md);
}

.supporter-library__item{
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    background-color: #fff;
    background-color: var(--main-white);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    box-shadow: var(--shadow-md);
}
    .supporter-library__item:hover{
        background-color: #ffffee;
    }

.supporter-library__item::after{
    position: absolute;
    content: "";
    background: url('./assets/images/icon/icon_pdf.svg') no-repeat;
    background-size: cover;
    width: 36px;
    height: 36px;
    bottom: 16px;
    right: 16px;
}

.supporter-library__content{
    text-decoration: none;
    display: flex;
    gap: 16px;
    padding: 16px 48px 16px 16px;
    width: 100%;
    position: relative;
}

    .supporter-library__content.quest-library{
        flex-direction: column;
        padding: 16px;
    }

.supporter-library__thumbnail-img{
    width: 100%;
    height: 245px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 1rem;
    border-radius: var(--border-radius-md);
}

.supporter-library__information{
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
}

.supporter-library__title{
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    font-weight: bold;
}

.supporter-library__department{
    color: #999;
    color: var(--text-color-secondary);
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--space-md);
}

.supporter-library__teacher{
    display: flex;
    align-items: center;
    gap: 4px;
    width: -moz-fit-content;
    width: fit-content;
}

    .supporter-library__teacher a{
        text-decoration: underline!important;
    }

/* 通常のホバー時のスタイル */
.supporter-library__item:hover {
    background-color: #ffffee; /* 例: 背景色を変更 */
}

/* JavaScriptで.no-hoverクラスが追加されたら、ホバー効果を無効化 */
.supporter-library__item.no-hover:hover {
    background-color: #ffffff; /* ホバー効果を解除 */
}

.supporter-library__teacher__thumbnail{
    width: 32px;
    height: 32px;
    border-radius: 9999px;
    border-radius: var(--border-radius-full);
    border: solid 2px #f1f1f1;
    border: solid 2px var(--lightgray);
    background-size: cover;
}

figure.supporter-library__teacher__thumbnail{
    margin: 0 !important;
}

.supporter-library__teacher__name{
    font-size: 0.875rem;
    font-size: var(--font-size-sm);
    font-weight: bold;
}


.supporter__accordion {
    position: relative;

}

    .supporter__accordion::after {
        background: url('./assets/images/icon/icon_plus.svg') no-repeat;
        background-size: cover;
        width: 16px;
        height: 16px;
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        margin: auto;
    }

    .supporter__accordion .c-supporter-list-wrap {
        display: flex;
        align-items: center;
    }

    .supporter__accordion .c-supporter-list-item__thum {
        width: 80px;
        height: 80px;
        margin-right: 16px !important;
        margin-bottom: 0 !important;
        border-radius: 50%;
        border: solid 4px #f1f1f1;
        border: solid 4px var(--lightgray);
        background-position: center center;
        background-size: cover;
    }

.supporter__accordion--open:after {
    background: url('./assets/images/icon/icon_minus.svg') no-repeat;
    top: 8px;
}

.c-report-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(0.25rem * 4);
    gap: var(--space-sm);
    padding: 0;
    list-style: none;
    margin: 0;
}

    
    .c-report-list.supporter-library{
        margin-bottom: calc(0.25rem * 6);
        margin-bottom: var(--space-md);
        }

.c-report-list-item {
    background: #fff;
    background: var(--main-white);
    box-shadow: 0px 1px 4px 0px #0000001a;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    position: relative;
    display: block;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
    padding: calc(0.25rem * 4) calc(0.25rem * 4) calc(0.25rem * 6);
    padding: var(--space-sm) var(--space-sm) var(--space-md);
}
    .c-report-list-item a {
        display: flex;
        align-items: center;
        background: #fff;
        background: var(--main-white);
        padding: calc(0.25rem * 4) calc(0.25rem * 8) calc(0.25rem * 4) calc(0.25rem * 4);
        padding: var(--space-sm) var(--space-lg) var(--space-sm) var(--space-sm) ;
        height: 100%;

    }
            :is(.c-report-list-item a)::after {
                background: url('./assets/images/icon/button_arrow.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                right: 10px;
                margin: auto;
            }

        :is(.c-report-list-item a):hover {
            background: #ffffee;
            text-decoration: none;
        }

.c-report-list-item {
    padding: 0;
}
    .c-report-list-item .new_icon{
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
    }
        :is(.c-report-list-item .new_icon) img{
            height: 100%;
            width: 100%;
            aspect-ratio:unset;
            border-radius: 0;
        }

    .c-report-list-item a {
        flex-direction: column;
        align-items: flex-start;
        padding: calc(0.25rem * 4) calc(0.25rem * 4) calc(0.25rem * 8);
        padding: var(--space-sm) var(--space-sm) var(--space-lg);
    }

        :is(.c-report-list-item a)::after {
            top: auto !important;
            bottom: 16px !important;
            margin: auto !important;
            right: 16px !important;
        }

        :is(.c-report-list-item a):hover {
            background: #ffffee;
            text-decoration: none;
        }
.c-report-list-item .card-info{
    background: #f8f8f8;
    background: var(--color-gray-10);
    padding: 16px;
    border-radius: 1rem;
    border-radius: var(--border-radius-md);
    margin: 16px 0;
    width: 100%;
}

    :is(.c-report-list-item .card-info) p{
        font-size: var(--font-size-md);
        color: #999;
        color: var(--text-color-secondary);
    }

    :is(.c-report-list-item .card-info) .card-icon::before{
        top: -1px;
    }

    .c-report-list-item .c-report-list-item-status{
        background: rgba(0, 0, 0, 0.5);
        color: #fff;
        color: var(--color-white);
        border-radius: 0.125rem;
        border-radius: var(--border-radius-xxs);
        padding: 0.25rem calc(0.25rem * 2);
        padding: var(--space-unit) var(--space-xs);
        text-align: center;
        font-size: 0.75rem;
        font-size: var(--font-size-xs);
        position: absolute;
        top: calc(0.25rem * 2);
        top: var(--space-xs);
        right: calc(0.25rem * 2);
        right: var(--space-xs);
    }

    .c-report-list-item img {
        width: 100%;
        aspect-ratio: 3 / 2;
        -o-object-fit: cover;
           object-fit: cover;
        border-radius: 1rem;
        border-radius: var(--border-radius-md);
        margin-bottom: calc(0.25rem * 2);
        margin-bottom: var(--space-xs);
    }

.card-icon{
    margin-left: 20px;
    position: relative;
    padding-left: 8px;
}

    .card-icon::before{
        content: '';
        background-size: cover;
        width: 20px;
        height: 20px;
        display: block;
        position: absolute;
        left: -20px;
        top: 0;
    }
    .card-icon.no-icon{display: none;}
    .card-icon.card-date-time::before{
        background: url('./assets/images/icon/icon_date.svg') no-repeat;
    }
    .card-icon.card-place::before{
        background: url('./assets/images/icon/icon_pin.svg') no-repeat;
    }
    .card-icon.card-participants::before{
        background: url('./assets/images/icon/icon_participants.svg') no-repeat;
    }
.card-date{
    font-size: 0.875rem;
    font-size: var(--font-size-sm);
    color: #999;
    color: var(--text-secondary);
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--space-sm);
}
.card-title{
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    color: #545454;
    color: var(--main-darkgray);
    font-weight: 700;
}
.card-number{
    font-size: 1rem;
    font-size: var(--font-size-base);
    color: #fff;
    color: var(--main-white);
    background: #8c6456;
    background: var(--main-brown);
    border-radius: 0.125rem;
    border-radius: var(--border-radius-xxs);
    padding: 0 16px;
    width: -moz-fit-content;
    width: fit-content;
}
.c-report-list .report-photo a::after{
    background: url('./assets/images/icon/icon_window.svg') no-repeat;
}
.card-thum-report-photo{
    width: 100%;
    margin-bottom: 8px;
}
.card-info--detail{
    display: flex;
    flex-direction: column;
}
/*-breadcrumbs
プラグイン使用
------*/
.breadcrumbs {
    padding-block: calc(0.25rem * 4);
    padding-block: var(--space-sm);
    padding-inline: calc(0.25rem * 2);
    padding-inline: var(--space-xs);
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100vw;
    font-weight: 700;
}
.breadcrumbs > span {
    margin: 0 4px;
}
.breadcrumbs a.home {
    position: relative;
    width: 16px;
    height: 16px;
    display: inline-block;
}
.breadcrumbs a:hover {
    text-decoration: underline;
}
.breadcrumbs span.home {
    background: url('./assets/images/icon/icon_home.svg') no-repeat;
    background-size: cover;
    width: 16px;
    height: 16px;
    content: '';
    position: absolute;
    top: 8px;
    bottom: 0;
    margin: auto;
}
/* Password Block */
.password {
    max-width: 420px;
    margin: auto;
}

.password__key {
    width: 45px;
    margin: auto auto calc(0.25rem * 2);
    margin: auto auto var(--space-xs);
    display: block;
}

.password__error {
    color: #c91a13;
    color: var(--sub-red);
    display: none;
}
    .password__error.is-active{
        display: block;
    }

.password__entry {
    padding: 14px 10px;
    width: 100%;
    border-radius: 0.5rem;
    border-radius: var(--border-radius-sm);
}

.password__entry--error {
    border-color: #c91a13;
    border-color: var(--sub-red);
    background: rgba(201, 26, 19, 0.1);
}
.c-pw-title{
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    font-weight: bold;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--space-lg);
}
.c-pw-text{
    margin-bottom: calc(0.25rem * 2);
    margin-bottom: var(--space-xs);
}
.password__btn-area {
    margin: 30px auto;
    text-align: center;
    position: relative;
    display: inline-block;
    display: block;
    width: 210px;
}
    .password__btn-area::after {
        background: url('./assets/images/icon/btn_arrow.svg') no-repeat;
        background-size: cover;
        width: 28px;
        height: 28px;
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 10px;
        cursor: pointer;
        pointer-events: none;
    }

    .password__btn-area:hover::after {
        background: url('./assets/images/icon/btn_arrow_over.svg') no-repeat;
    }

.password__link {
    width: 210px;
    line-height: 48px;
    border-radius: 56px;
    background: #8c6456;
    background: var(--main-brown);
    display: inline-block;
    color: #fff;
    color: var(--main-white);
    text-align: center;
    cursor: pointer;
    border: solid 2px #8c6456;
    border: solid 2px var(--main-brown);
}

    .password__link:hover {
        color: #8c6456 !important;
        color: var(--main-brown) !important;
        background: #fff;
        background: var(--main-white);
    }
    .c-youtube .movie-title {
        text-align: center;
        font-weight: bold;
        margin-bottom: 32px;
    }
    .c-youtube .movie {
        width: 100%;
        aspect-ratio: 16 / 9;
    }
        :is(.c-youtube .movie) iframe {
            width: 100%;
            height: 100%;
        }
/*-
------*/
    .c-event-description p {
        max-width: none !important;
        margin-inline: revert-layer !important;
    }
    .c-event-description figure img {
        margin-block: 0 !important;
    }
    .c-event-description figcaption strong {
        text-align: center;
        display: block;
    }

.c-report-list-filter-container--scroll{
  overflow-x: auto;
  width: calc(100vw - calc(0.25rem * 8));
  width: calc(100vw - var(--space-lg));
  margin-right: calc(0.25rem * 2);
  margin-right: var(--space-xs);
  margin-bottom: calc(0.25rem * 6);
  margin-bottom: var(--space-md);
}

.c-report-list-filter-container--scroll::-webkit-scrollbar {
  height: 8px;
  }

.c-report-list-filter-container--scroll::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 0;
  }

.c-report-list-filter-container--scroll::-webkit-scrollbar-track {
  background-color: transparent;
  }

.c-report-list-filter {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 calc(0.25rem * 4);
  margin: 0 0 var(--space-sm);
}

.c-report-list-filter--keyword {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--space-lg);
  margin: 0 0 calc(0.25rem * 8);
  margin: 0 0 var(--space-lg);
  overflow: hidden;
  height: auto;
}

.c-report-list-filter--keyword.nomore:before {
  content: none;
}

.c-report-list-filter--keyword::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100px;
  background: linear-gradient( rgba(234,246,253,0.1) 0%, rgba(234,246,253,1) 65%);
  z-index: 5;
}

.c-report-list-filter--keyword.is_open:before{
  display: none;
}

.c-report-list-filter__btn{
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0px;
  margin: 0 auto;
  width: 200px;
  color: #00a2cc;
  color: var(--color-blue);
  text-align: center;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 6;
}

.c-report-list-filter__btn::before{
  position: absolute;
  content: "";
  background: url('./assets/images/icon/icon_arrow_blue.svg') no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
  right: -10px;
  top: 2px;
  transform: rotate(90deg);
}

.c-report-list-filter__btn.is_open::before{
  right: 0px;
  transform: rotate(270deg);
}

.c-report-list-filter--scroll {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 calc(0.25rem * 2);
  margin: 0 0 var(--space-xs);
  width: -moz-max-content;
  width: max-content;
}

.c-report-list-filter li {
  margin-right: calc(0.25rem * 4);
  margin-right: var(--space-sm);
  margin-bottom: calc(0.25rem * 4);
  margin-bottom: var(--space-sm);
}
.c-report-list-select  {
  text-align: right;
  margin: 0 0 32px;
}
  .c-report-list-select select{
      width: 152px;
      padding: calc(0.25rem * 2);
      padding: var(--space-xs);
      border-radius: 0.25rem;
      border-radius: var(--border-radius-xs);
  }
    .c-library a:hover {
        text-decoration: none;
    }
    .c-library .c-library-detail {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
        :is(.c-library .c-library-detail) .btn {
            margin-left: auto;
        }
        :is(.c-library .c-library-detail) .pdf_thumbnail {
            margin-right: calc(0.25rem * 4);
            margin-right: var(--space-sm);
        }
        :is(.c-library .c-library-detail) .btn {
            width: 40%;
        }
    .c-library img {
        margin-block: 0 !important;
        margin-block: var(--space-none) !important;
    }
/* Modal Components 
---------------------------------*/
.modal-container{
    display: none;
}
    .modal-container.active{
        display: block;
    }
.modal-overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px); /* 背景ぼかし */
    z-index: 490;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
}
    .modal-overlay.active{
        display: block;
    }
.c-pw-modal{
    width: calc(90vw);
    max-width: calc(calc(clamp(1172 * 1px, 90vw, 1600 * 1px) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px)) - calc(0.25rem * 12) - calc(0.25rem * 12) - calc(0.25rem * 12));
    max-width: calc(var(--main-width) - var(--space-xl) - var(--space-xl) - var(--space-xl));
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    box-shadow: var(--shadow-md);
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    background: #fff;
    background: var(--main-white);
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
    position: fixed;
    top: 50%; /* 上下中央寄せ */
    left: 50%; /* 左右中央寄せ */
    transform: translate(-50%, -50%); /* 中央に配置 */
    z-index: 600;
}
.c-pw-modal-contents{
    position: relative;
}
.c-pw-modal-close{
    position: absolute;
    top: calc(0.25rem * 2);
    top: var(--space-xs);
    right: calc(0.25rem * 2);
    right: var(--space-xs);
    width: 32px;
    height: 32px;
    z-index: 110;
    cursor: pointer;
}
/* theme Components 
---------------------------------*/
.c-theme{
    max-width: clamp(356px, calc(100px + 40vw), 960px);
    
}

    .c-theme p{
        margin-bottom: calc(0.25rem * 4);
        margin-bottom: var(--space-sm);
    }
    .c-theme h2{
        margin-bottom: calc(0.25rem * 8);
        margin-bottom: var(--space-lg);
        font-weight: bold;
    }
    .c-theme .c-step-list{
        margin-bottom: calc(0.25rem * 8);
        margin-bottom: var(--space-lg);
    }
    .c-theme .c-step-list-item{
        list-style: none;
        margin-left: 20px;
        position: relative;    
    }
        :is(.c-theme .c-step-list-item)::before{
            content: "";
            position: absolute;
            top: 29px;
            left: -14px;
            border-left: solid 2px #ddd;
            border-left: solid 2px var(--border-color-default);
            width: 2px;
            height: calc(100% - 17px);
        }

        :is(.c-theme .c-step-list-item)::after {
            content: "";
            position: absolute;
            top: 14px;
            left: -19px;
            width: 13px;
            height: 13px;
            background-color:#00a2cc;
            background-color:var(--main-blue);
            border-radius: 50%;
        }
            :is(.c-theme .c-step-list-item):last-child::before{
                content: none;
            }
        :is(.c-theme .c-step-list-item) dt{
            color: #00a2cc;
            color: var(--main-blue);
            font-size: 1.5rem;
            font-size: var(--font-size-2xl);
            font-weight: bold;

        }
        :is(.c-theme .c-step-list-item) dd{
            position: relative;
            padding-bottom: 1px;
        }
        :is(.c-theme .c-step-list-item) .c-step-list-item__title{
            font-weight: bold;
            font-size: 1.5rem;
            font-size: var(--font-size-2xl);
        }
        :is(.c-theme .c-step-list-item) .c-step-list-item__supplement{
            border: 1px solid #E0E0E0;
            border: var(--border-width-xxs, 1px) solid var(--color-background-white-subtler, #E0E0E0);
            border-radius: 0.5rem;
            border-radius: var(--border-radius-sm);
            background: #FBFBFB;
            background: var(--color-background-white-default, #FBFBFB);
            padding: calc(0.25rem * 4);
            padding: var(--space-sm);
            font-weight: normal;
            margin-bottom: calc(0.25rem * 4);
            margin-bottom: var(--space-sm);
        }
        :is(.c-theme .c-step-list-item) .c-link-list{
            margin-top: calc(0.25rem * 4);
            margin-top: var(--space-sm);
            margin-bottom: calc(0.25rem * 4);
            margin-bottom: var(--space-sm);
            width: 100%;
        }
                    :is(.c-theme .c-step-list-item) .btn__pdf{
                max-width: none;
                width: 100%;
            }

    .c-theme .c-history-step-list{
        margin-bottom: calc(0.25rem * 8);
        margin-bottom: var(--space-lg);
    }

    .c-theme .c-history-list-item{
        position: relative;            
    }
            :is(.c-theme .c-history-list-item)::before{
                content: "";
                position: absolute;
                top: 46px;
                left: -19px;
                border-left: solid 2px #ddd;
                border-left: solid 2px var(--border-color-default);
                width: 2px;
                height: calc(90%);
            }

    .c-theme .c-history-list-item__mainttl{
        position: relative;
        color: #00a2cc;
        color: var(--main-blue);
        font-size: 2.25rem;
        font-size: var(--font-size-5xl);
        font-weight: bold;
    }

        :is(.c-theme .c-history-list-item__mainttl)::before{
            position: absolute;
            top:26px;
            left: -24px;
            content: "";
            width: 13px;
            height: 13px;
            background-color: #00a2cc;
            background-color: var(--main-blue);
            border-radius: 50%;
        }

    .c-theme .c-history-list-item__subttl{
        color: #00a2cc;
        color: var(--main-blue);
        font-size: 0.875rem;
        font-size: var(--font-size-sm);
    }

    .c-theme .c-history-list-item__events{
    }

    .c-theme .c-history-list-item__event{
        font-weight: bold;
    }
    .c-theme .c-theme-main-visual {
        position: relative;
        margin-bottom: calc(0.25rem * 12);
        margin-bottom: var(--space-xl);
    }
        :is(.c-theme .c-theme-main-visual) .swiper{
            border-radius: 8px !important;
            border: none !important;
        }
        :is(.c-theme .c-theme-main-visual) .swiper-button-next::after,:is(.c-theme .c-theme-main-visual) .swiper-button-prev::after {
            color: #fff;
            color: var(--main-white);
            font-size: 32px !important;
        }
        :is(.c-theme .c-theme-main-visual) .swiper-pagination {
            bottom: -40px !important;
        }
        :is(.c-theme .c-theme-main-visual) .swiper-pagination-bullet {
            width: 16px !important;
            height: 16px !important;
            margin: 0 8px !important;
            background-color: #ddd;
            background-color: var(--gray);
            opacity: 1;
        }
        :is(.c-theme .c-theme-main-visual) .swiper-pagination-bullet-active {
            background-color: #00a2cc !important;
            background-color: var(--main-blue) !important;
            opacity: 1;
        }
    .c-theme .c-step-gallery{
        display: grid;
        gap: 16px;
        grid-template-columns: 1fr;
    }

        :is(.c-theme .c-step-gallery) .c-step-gallery__img{
            position: relative;
        }
            :is(:is(.c-theme .c-step-gallery) .c-step-gallery__img) img{
                box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.20);
            }
            :is(:is(.c-theme .c-step-gallery) .c-step-gallery__img) a{
                display: inline-block;
                transition: .3s;
            }
                :is(:is(:is(.c-theme .c-step-gallery) .c-step-gallery__img) a):hover {
                    transform: scale(1.03);
                }
            :is(:is(:is(.c-theme .c-step-gallery) .c-step-gallery__img) a)::before{
                background: url('./assets/images/icon/button_arrow.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                bottom: -10px;
                right:0;
                left: 0;
                margin: 0 auto;
                transform: rotate(90deg);
            }

.c-theme-detail__ttl{
    font-size: clamp(1.5rem, 1.5rem + 0.5vw, 2rem);
    font-weight: bold;
    line-height: 1.4;
    margin-block: clamp(1.75rem, calc(1.75rem + 0.75vw), 2.5rem) clamp(1rem, calc(1rem + 0.5vw), 1.5rem);
    color: #00a2cc;
    color: var(--main-blue);
}
/* theme-category Components 
---------------------------------*/
.c-cat-btn-area{
    display: flex;
    gap: calc(0.25rem * 4);
    gap: var(--space-sm);
    flex-wrap: wrap;
    justify-content: center;
    max-width: 660px;
    margin: auto auto calc(0.25rem * 8);
    margin: auto auto var(--space-lg);
    padding-inline-start: 0 !important;
}
    .c-cat-btn-area .c-cat-btn-item{
        margin-block-start:0 !important;
    }

.c-cat-text{
    text-align: center;
    background: #f1f1f1;
    background: var(--background-color-secondary);
    padding: calc(0.25rem * 2);
    padding: var(--space-xs);
}

.c-theme-bubble-area{
    position: relative;
    padding-left: 48px;
}
.c-theme-bubble-area::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border: 3px solid #ddd;
    border: 3px solid var(--border-color-default);
    background: url(./assets/images/theme/icon_teacher.png) no-repeat;
    background-size: cover;
    border-radius: 9999px;
    border-radius: var(--border-radius-full);
}
.c-theme-bubble{
    display: flex;
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
    flex-direction: column;
    gap: calc(0.25rem * 2);
    gap: var(--space-xs);
    border-radius: 0 24px 24px 24px;
    border-radius: var(--border-radius-none, 0px) var(--border-radius-xl, 24px) var(--border-radius-xl, 24px) var(--border-radius-xl, 24px);
    border: 2px solid #E0E0E0;
    border: var(--border-width-xs, 2px) solid var(--color-background-white-subtler, #E0E0E0);
    background: #FBFBFB;
    background: var(--color-background-white-default, #FBFBFB);
}
.c-theme-bubble-subtitle{
    color: #C2C2C2;
    color: var(--color-text-subtler, #C2C2C2);
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    font-weight: 700;
}
.c-theme-exmaple{
    color: #5C5C5C;
    color: var(--color-text-subtle, #5C5C5C);
    font-size: 1rem;
    font-size: var(--font-size-base);
    font-weight: 700;
    margin-block: 0 !important;
}
.c-theme-question_list{
    color: #5C5C5C;
    color: var(--color-text-subtle, #5C5C5C);
    padding-inline-start: 0 !important;
    font-size: 0.875rem;
    font-size: var(--font-size-sm);
}
    .c-theme-question_list .u-list-disc{
        margin-block-start: 0 !important;
    }
/* theme-keyword Components 
---------------------------------*/
.c-keyword-area{
    display: grid;
    grid-gap: 3px;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-auto-rows: 50px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--space-lg);
}
.c-keyword-item {
    background-color: #f1f1f1;
    background-color: var(--background-color-secondary);
    background-size: cover;
    border-radius: 0.25rem;
    border-radius: var(--border-radius-xs);
    text-shadow: 
        1px 1px 0 #007390,
        -1px 1px 0 #007390,
        1px -1px 0 #007390,
        -1px -1px 0 #007390;
    text-shadow: 
        1px 1px 0 var(--main-darkblue),
        -1px 1px 0 var(--main-darkblue),
        1px -1px 0 var(--main-darkblue),
        -1px -1px 0 var(--main-darkblue);
}
        .c-keyword-item a{
            color: #fff;
            color: var(--main-white);
            display: block;
            padding: calc(0.25rem * 4);
            padding: var(--space-sm);
            font-size: 1.5rem;
            font-size: var(--font-size-2xl);
            text-align: center;
            font-weight: bold;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100%;
        }
        .c-keyword-item:hover{
            opacity: 0.7;
        }
        .c-keyword-item a:hover{
            text-decoration: none;
        }
.c-keyword-item.size2 {
    grid-row-end: span 2;
}
.c-keyword-item.size3 {
    grid-row-end: span 3;
}
.c-keyword-item.size4 {
    grid-row-end: span 4;
}

.c-keyword-text{
    text-align: center;
    padding: calc(0.25rem * 2);
    padding: var(--space-xs);
    font-weight: bold;
}
/* theme-problems Components 
---------------------------------*/
.c-problems-text{
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
    border: solid 4px #ddd;
    border: solid 4px var(--border-color-default);
    border-radius: 1rem;
    border-radius: var(--border-radius-md);
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--space-lg);
}
    .c-problems-text h3{
        font-weight: 700;
        margin-bottom: calc(0.25rem * 4);
        margin-bottom: var(--space-sm);
        font-size: 1.25rem;
        font-size: var(--font-size-xl);
    }
    .c-problems-text p{
        margin-bottom: 0;
    }
.c-problems-filter {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 0 calc(0.25rem * 8);
    margin: 0 0 var(--space-lg);
}
.c-problems-filter li {
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--space-sm);
    margin-right: calc(0.25rem * 4);
    margin-right: var(--space-sm);
}
    .c-problems-list .c-problems-item{
        display: flex;
        gap: 16px;
        margin-bottom: calc(0.25rem * 4);
        margin-bottom: var(--space-sm);
    }
    .c-problems-list .c-problems-thumbnail{
        min-width: 40px;
        height: 40px;
        border: solid 3px #ddd;
        border: solid 3px var(--border-color-default);
        border-radius: 50%;
    }
        .icon_boy:is(.c-problems-list .c-problems-thumbnail){
            background: url('./assets/images/theme/icon_boy.png') no-repeat;
            background-size: cover;
        }
        .icon_girl:is(.c-problems-list .c-problems-thumbnail){
            background: url('./assets/images/theme/icon_girl.png') no-repeat;
            background-size: cover;
        }
        .icon_man:is(.c-problems-list .c-problems-thumbnail){
            background: url('./assets/images/theme/icon_man.png') no-repeat;
            background-size: cover;
        }
        .icon_woman:is(.c-problems-list .c-problems-thumbnail){
            background: url('./assets/images/theme/icon_woman.png') no-repeat;
            background-size: cover;
        }
        .icon_old_man:is(.c-problems-list .c-problems-thumbnail){
            background: url('./assets/images/theme/icon_old_man.png') no-repeat;
            background-size: cover;
        }
        .icon_old_woman:is(.c-problems-list .c-problems-thumbnail){
            background: url('./assets/images/theme/icon_old_woman.png') no-repeat;
            background-size: cover;
        }
    .c-problems-list .c-problems-bubble {
        width: -moz-fit-content;
        width: fit-content;
        background-color: #fff;
        background-color: var(--main-white);
        border: 4px solid #8c6456;
        border: 4px solid var(--main-brown);
        border-radius: 0 24px 24px 24px;
        padding: 12px 24px;
    }
        :is(.c-problems-list .c-problems-bubble) p{
            margin-bottom: calc(0.25rem * 2);
            margin-bottom: var(--space-xs);
            color: #8c6456;
            color: var(--main-brown);
            font-weight: 700;
        }
    .c-problems-list li:nth-child(odd) .c-problems-item{
        flex-direction: row;
    }
    .c-problems-list li:nth-child(even) .c-problems-item{
        flex-direction: row-reverse;
    }
    .c-problems-list li:nth-child(odd) .c-problems-bubble{
        border-radius: 0 24px 24px 24px;
    }
    .c-problems-list li:nth-child(even) .c-problems-bubble{
        border-radius: 24px 0 24px 24px;
    }
    .c-problems-list .visible-odd .c-problems-item {
        flex-direction: row !important;
      }
    .c-problems-list .visible-even .c-problems-item {
        flex-direction: row-reverse !important;
    }
    .c-problems-list .visible-odd .c-problems-bubble {
        border-radius: 0 24px 24px 24px !important;
      }
    .c-problems-list .visible-even .c-problems-bubble {
        border-radius: 24px 0 24px 24px !important;
    }
.c-problems-icon-area{
    display: flex;
}
    .c-problems-icon-area a:hover{
        text-decoration: none;
    }
.c-problems-icon {
    border: solid 1px #00a2cc;
    border: solid 1px var(--main-blue);
    border-radius: 0.25rem;
    border-radius: var(--space-unit);
    padding: 0.25rem calc(0.25rem * 2) 0.25rem calc(0.25rem * 8);
    padding: var(--space-unit) var(--space-xs) var(--space-unit) var(--space-lg);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    font-weight: 700;
    text-decoration: none !important;
    position: relative;
    margin-right: calc(0.25rem * 2);
    margin-right: var(--space-xs);
}
.c-problems-icon:before {
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    top: 4px;
    left: 5px;
}
.c-problems-icon:hover {
    background: #00a2cc;
    background: var(--main-blue);
    color: #fff !important;
    color: var(--main-white) !important;
}
.c-problems-icon__education:before {
    background: url('./assets/images/theme/education_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__education:hover:before {
    background: url('./assets/images/theme/education_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__education--active:before {
    background: url('./assets/images/theme/education_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__industry:before {
    background: url('./assets/images/theme/industry_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__industry:hover:before {
    background: url('./assets/images/theme/industry_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__industry--active:before {
    background: url('./assets/images/theme/industry_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__environment:before {
    background: url('./assets/images/theme/environment_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__environment:hover:before {
    background: url('./assets/images/theme/environment_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__environment--active:before {
    background: url('./assets/images/theme/environment_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__tradition:before {
    background: url('./assets/images/theme/tradition_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__tradition:hover:before {
    background: url('./assets/images/theme/tradition_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__tradition--active:before {
    background: url('./assets/images/theme/tradition_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__life:before {
    background: url('./assets/images/theme/life_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__life:hover:before {
    background: url('./assets/images/theme/life_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__life--active:before {
    background: url('./assets/images/theme/life_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__economy:before {
    background: url('./assets/images/theme/economy_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__economy:hover:before {
    background: url('./assets/images/theme/economy_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__economy--active:before {
    background: url('./assets/images/theme/economy_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__sightseeing:before {
    background: url('./assets/images/theme/sightseeing_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__sightseeing:hover:before {
    background: url('./assets/images/theme/sightseeing_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__sightseeing--active:before {
    background: url('./assets/images/theme/sightseeing_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__administration:before {
    background: url('./assets/images/theme/administration_b.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__administration:hover:before {
    background: url('./assets/images/theme/administration_w.svg') no-repeat;
    background-size: cover;
}
.c-problems-icon__administration--active:before {
    background: url('./assets/images/theme/administration_w.svg') no-repeat;
    background-size: cover;
}
  
  .spinner {
    display: none; /* 初期状態では非表示 */
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-top: 4px solid #333;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 10px auto; /* 中央寄せ */
  }
  
  @keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

.search-content{
    padding: 24px;
    border: solid 6px #f4f4f4;
    border-radius: 1.5rem;
    border-radius: var(--border-radius-lg);
    background: #fff;
    background: var(--main-white);
    margin-bottom: 24px;
}

.search-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
    .search-form label {
      display:flex;
      align-items: center;
      gap: 24px;
      width: 100%;
      margin-bottom: 16px;
    }
  
      :is(.search-form label) .search-field {
        display: block;
        width: 100%;
        padding: 14px 10px;
        box-sizing: border-box;
        border: 1px solid #DDDDDD;
        border-radius: 8px;
      }

      :is(.search-form label) .search-heading{
        white-space: nowrap;
        font-size: 1.25rem;
        font-size: var(--font-size-xl);
        font-weight: bold;
      }
    .search-item a{
        text-decoration: none;
    }
            :is(:is(.search-item a) h4):hover{
                text-decoration: none;
                color: #00a2cc;
                color: var(--main-blue);
            }

  .search-result{
    position: relative;
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    font-weight: bold;
    padding-left: 30px;
  }

    .search-result::before{
        position: absolute;
        content: "";
        top: 5px;
        left: 5px;
        background-image: url('./assets/images/icon/icon_site_search_black.svg') ;
        background-size: contain;
        background-repeat: no-repeat;
        width: 24px;
        height: 24px;
    }
  .first,
  .last{
    display: none;
  }

  .search-error-message{
    margin-bottom: 16px;
  }
}
/* Project */
@layer project{
/* Article Typography
---------------------------------------- */
.c-article {
    /* ベースフォントサイズ: 16px-18px */
    font-size: clamp(1rem, 1rem + 0.125vw, 1.125rem);
    line-height: 1.7;
    max-width: 780px;
}

/* 見出し */
.c-article h2 {
    font-size: clamp(1.5rem, 1.5rem + 0.5vw, 2rem);
    line-height: 1.3;
    margin-block-end: clamp(1rem, calc(1rem + 0.5vw), 1.5rem);
}

/* 前に要素がある場合のみ上部マージンを適用 */
.c-article :has(+ h2) {
    margin-block-end: clamp(2rem, calc(2rem + 1vw), 3rem);
}

.c-article h3 {
    /* 24px-32px */
    font-size: clamp(1.5rem, 1.5rem + 0.5vw, 2rem);
    line-height: 1.4;
    margin-block: clamp(1.75rem, calc(1.75rem + 0.75vw), 2.5rem)
        clamp(1rem, calc(1rem + 0.5vw), 1.5rem);
}

.c-article h4 {
    /* 20px-24px */
    font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
    line-height: 1.4;
    margin-block: clamp(1.5rem, calc(1.5rem + 0.5vw), 2rem) calc(0.25rem * 4);
    margin-block: clamp(1.5rem, calc(1.5rem + 0.5vw), 2rem) var(--space-sm);
}

.c-article h5 {
    /* 18px-20px */
    font-size: clamp(1.125rem, 1.125rem + 0.125vw, 1.25rem);
    line-height: 1.5;
    margin-block: calc(0.25rem * 6) calc(0.25rem * 4);
    margin-block: var(--space-md) var(--space-sm);
}

.c-article h6 {
    /* 16px-18px */
    font-size: clamp(1rem, 1rem + 0.125vw, 1.125rem);
    font-weight: bold;
    line-height: 1.5;
    margin-block: calc(0.25rem * 6) calc(0.25rem * 4);
    margin-block: var(--space-md) var(--space-sm);
}

/* 段落とブロック要素の間隔 */
.c-article > * + * {
    margin-block-start: calc(0.25rem * 6);
    margin-block-start: var(--space-md);
}

/* パラグラフ */
.c-article p {
    margin-inline: auto; /* 左右のマージンを自動で調整して中央揃えに */
    text-align: left; /* 文章は左揃えを維持 */
}

/* 注釈テキスト */
.c-article .note {
    /* 14px-16px */
    font-size: clamp(0.875rem, 0.875rem + 0.125vw, 1rem);
    line-height: 1.6;
    color: #999;
    color: var(--text-secondary);
}

/* リスト */
.c-article ul,
.c-article ol {
    padding-inline-start: calc(0.25rem * 8);
    padding-inline-start: var(--space-lg);
}
    .c-article .c-link-list--into{
        padding-inline-start:0;
    }
    .c-article .search-list{
        padding-inline-start:0;
    }

.c-article li + li {
    margin-block-start: calc(0.25rem * 8);
    margin-block-start: var(--space-lg);
}

    .c-leader-list:is(.c-article ul){
        padding-inline-start: 0;
    }


/* 画像 */
.c-article img {
    max-width: 100%;
    height: auto;
    margin-block: calc(0.25rem * 6);
    margin-block: var(--space-md);
}

/* 引用 */
.c-article blockquote {
    padding: calc(0.25rem * 6);
    padding: var(--space-md);
    margin-block: calc(0.25rem * 6);
    margin-block: var(--space-md);
    background: var(--bg-light);
    border-left: 4px solid #00a2cc;
    border-left: 4px solid var(--main-blue);
}

/* テーブル */
.c-article table {
    width: 100%;
    border-collapse: collapse;
    margin-block: calc(0.25rem * 6);
    margin-block: var(--space-md);
}

.c-article th,
.c-article td {
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
    border: 1px solid var(--border-color);
}

/* 区切り線 */
.c-article .separator{
    border:dashed 1px #C2C2C2;
    margin: 64px 0;
}

/* 枠線 */
/* .c-article .c-frame-line{
    padding: 16px;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
}
.c-article .c-frame-line ul{
    padding: 0px;
} */
/* あとで追加する 2025.01.07 */

/*
トップページ用
*/
.swiper{
    border: solid #fff 8px;
    border-radius: 24px;
}
.p-main-visual {
    position: relative;
    margin-bottom: calc(0.25rem * 12);
    margin-bottom: var(--space-xl);
}

.main_visual img {
    height: 400px;
    -o-object-fit: cover;
       object-fit: cover;
}

.slide-title-bg {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background-color: #fff;
    background-color: var(--main-white);
    padding: calc(0.25rem * 4);
    padding: var(--space-sm);
    border-top-right-radius: 30px;
    border-top-left-radius: 30px;
    max-width: 580px;
    text-align: center;
}
.slider-link {
    position: relative;
    display: inline-block;
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    font-weight: bold;
}
.slider-caption{
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
}
.slider-link:after {
    background: url('./assets/images/icon/icon_arrow.svg') no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    content: '';
    position: absolute;
    top: 3px;
    bottom: 0;
    right: -23px;
    margin: auto;
    z-index: 500;
}
.swiper-slide:hover .slider-link {
    text-decoration: none;
}
.swiper-button-next::after,
.swiper-button-prev::after {
    color: #fff;
    color: var(--main-white);
    font-size: 32px !important;
}
.swiper-pagination {
    bottom: -40px !important;
}
.swiper-pagination-bullet {
    width: 16px !important;
    height: 16px !important;
    margin: 0 8px !important;
    background-color: #ddd;
    background-color: var(--gray);
    opacity: 1;
}
.swiper-pagination-bullet-active {
    background-color: #00a2cc !important;
    background-color: var(--main-blue) !important;
    opacity: 1;
}
/*
--------------------------------*/
.c-top-section{
    margin-bottom: calc(0.25rem * 12);
    margin-bottom: var(--space-xl);
}
    .c-top-section .c-top-title-en{
        font-size: 0.875rem;
        font-size: var(--font-size-sm);
    }
    .c-top-section .c-top-title-ja{
        font-size: 2rem;
        font-size: var(--font-size-4xl);
        font-weight: bold;
        line-height: 1;
    }
    .c-top-section .c-top-header-area{
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: calc(0.25rem * 6);
        margin-bottom: var(--space-md);
    }
    .c-top-section .c-top-list-area{
        overflow-x: auto;
        width: calc(100vw - calc(0.25rem * 2));
        width: calc(100vw - var(--space-xs));
        margin-right: calc(0.25rem * 2);
        margin-right: var(--space-xs);
    }
    /* Webkitベースのブラウザ用 */
    .c-top-section .c-top-list-area::-webkit-scrollbar {
        height: 8px; /* スクロールバーの高さを1pxに設定 */
    }

    .c-top-section .c-top-list-area::-webkit-scrollbar-thumb {
        background-color: #ccc; /* スクロールバーの色 */
        border-radius: 0; /* スクロールバーの角を丸くしない */
    }

    .c-top-section .c-top-list-area::-webkit-scrollbar-track {
        background-color: transparent; /* スクロールバーのトラック部分を透明にする */
    }
    .c-top-section .c-report-list{
        width: -moz-max-content;
        width: max-content;
        display: flex;
        gap: calc(0.25rem * 4);
        gap: var(--space-sm);
    }
    .c-top-section .c-report-list-item{
        width: 240px;
        height: auto;
    }

    .c-top-section .c-top-whats-list{
        display: flex;
        flex-direction: column;
        gap: calc(0.25rem * 4);
        gap: var(--space-sm);
    }

            :is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a{
                background: #fff;
                background: var(--main-white);
                border-radius: calc(0.25rem * 2);
                border-radius: var(--space-xs);
                display: flex;
                padding: calc(0.25rem * 4) calc(0.25rem * 14) calc(0.25rem * 4) calc(0.25rem * 8);
                padding: var(--space-sm) var(--space-14) var(--space-sm) var(--space-lg);
                position: relative;
                box-shadow: 0px 1px 4px 0px #0000001a;
            }

                    :is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content{
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        align-items: flex-start;
                    }

                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-info{
                            display: flex;
                            align-items: center;
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-date{
                            margin-bottom: 0;
                            width: 110px;
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-lebel{
                            width: 136px;
                            margin-right: 0;
                            margin-right: var(--space-none);
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-title{
                            margin-top: calc(0.25rem * 2);
                            margin-top: var(--space-xs);
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .label--event{
                            padding: 0.25rem calc(0.25rem * 2);
                            padding: var(--space-2) var(--space-xs);
                            background: #0029AE;
                            border-radius: 2px;
                            color: #fff;
                            color: var(--main-white);
                            font-weight: bold;
                            font-size: 0.75rem;
                            font-size: var(--font-size-xs);
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .label--report{
                            padding: 0.25rem calc(0.25rem * 2);
                            padding: var(--space-2) var(--space-xs);
                            background: #74AE00;
                            border-radius: 2px;
                            color: #fff;
                            color: var(--main-white);
                            font-weight: bold;
                            font-size: 0.75rem;
                            font-size: var(--font-size-xs);
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .label--package{
                            padding: 0.25rem calc(0.25rem * 2);
                            padding: var(--space-2) var(--space-xs);
                            background: #00AEAA;
                            border-radius: 2px;
                            color: #fff;
                            color: var(--main-white);
                            font-weight: bold;
                            font-size: 0.75rem;
                            font-size: var(--font-size-xs);
                        }
                :is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a):hover {
                    background: #ffffee;
                    text-decoration: none;
                }

                :is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a)::after{
                    background: url(./assets/images/icon/button_arrow.svg) no-repeat;
                    background-size: cover;
                    width: 20px;
                    height: 20px;
                    content: '';
                    position: absolute;
                    top: 40%;
                    right: 32px;
                }

                :is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .new_icon{
                    position: absolute;
                    top: 0;
                    left: 0;
                    z-index: 5;
                }
                    :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .new_icon) img{
                        height: 100%;
                        width: 100%;
                        aspect-ratio:unset;
                        border-radius: 0;
                    }

    .c-top-section .c-about-contents{
        position: relative;
        margin-bottom: calc(0.25rem * 8);
        margin-bottom: var(--space-lg);
    }
    .c-top-section .c-about-img{
        top: -60px;
        right: 0;
        z-index: -1;
    }
    .c-top-section .c-discription-text{
        margin-bottom: calc(0.25rem * 6);
        margin-bottom: var(--space-md);
    }
    .c-top-section .c-about-text{
        margin-bottom: calc(0.25rem * 4);
        margin-bottom: var(--space-sm);
    }
    .c-top-section .c-contact-contents{
        position: relative;
        margin-bottom: calc(0.25rem * 8);
        margin-bottom: var(--space-lg);
        background: #fff;
        background: var(--main-white);
        padding: calc(0.25rem * 6);
        padding: var(--space-md);
        border-radius: 1rem;
        border-radius: var(--border-radius-md);
    }
    .c-top-section .c-contact-img{
        position: absolute;
        top: -20px;
        right: 0;
        left: 0;
        margin: auto;
        z-index: 10;
        text-align: center;
    }
        :is(.c-top-section .c-contact-img) img{
            width: auto;
        }
    .c-top-section .c-contact-text{
        font-size: 1rem;
        font-size: var(--font-size-base);
        margin-bottom: calc(0.25rem * 4);
        margin-bottom: var(--space-sm);
        margin-top: 170px;
    }
    .c-top-section .c-top-btn-area{
        gap: calc(0.25rem * 2);
        gap: var(--space-xs);
        flex-wrap: wrap;

    }
        :is(.c-top-section .c-top-btn-area) .c-top-btn-item{
            margin-bottom: calc(0.25rem * 4);
            margin-bottom: var(--space-sm);
        }
        :is(.c-top-section .c-top-btn-area) .c-top-btn-item-sm{
            margin-bottom: calc(0.25rem * 4);
            margin-bottom: var(--space-sm);
        }
    .c-top-section .c-top-list-data{
        margin-top: calc(0.25rem * 4);
        margin-top: var(--space-sm);
        color: #999;
        color: var(--text-secondary);
        font-size: 0.75rem;
        font-size: var(--font-size-xs);
        border-top: solid 1px #ddd;
        border-top: solid 1px var(--border-color-default);
        border-bottom: solid 1px #ddd;
        border-bottom: solid 1px var(--border-color-default);
        padding: calc(0.25rem * 2) 0.25rem;
        padding: var(--space-xs) var(--space-2);
    }
        :is(.c-top-section .c-top-list-data) .c-top-data-time{
            position: relative;
            padding-left: calc(0.25rem * 6);
            padding-left: var(--space-md);
        }
            :is(:is(.c-top-section .c-top-list-data) .c-top-data-time)::before {
                background: url('./assets/images/icon/icon_date.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                margin: auto;
            }
        :is(.c-top-section .c-top-list-data) .c-top-data-place{
            position: relative;
            padding-left: calc(0.25rem * 6);
            padding-left: var(--space-md);
        }
            :is(:is(.c-top-section .c-top-list-data) .c-top-data-place)::before {
                background: url('./assets/images/icon/icon_pin.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                margin: auto;
            }
        :is(.c-top-section .c-top-list-data) .c-top-data-participants{
            position: relative;
            padding-left: calc(0.25rem * 6);
            padding-left: var(--space-md);
        }
            :is(:is(.c-top-section .c-top-list-data) .c-top-data-participants)::before {
                background: url('./assets/images/icon/icon_participants.svg') no-repeat;
                background-size: cover;
                width: 20px;
                height: 20px;
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                left: 0;
                margin: auto;
            }
    .c-top-section .c-top-quest-nav-container{
        overflow-x: auto;
        width: calc(100vw - calc(0.25rem * 8));
        width: calc(100vw - var(--space-lg));
        margin-right: calc(0.25rem * 2);
        margin-right: var(--space-xs);
        margin-bottom: calc(0.25rem * 6);
        margin-bottom: var(--space-md);
    }

        :is(.c-top-section .c-top-quest-nav-container) .c-top-quest-nav{
            display: flex;
            margin-bottom: calc(0.25rem * 6);
            margin-bottom: var(--space-md);
            gap: 0.25rem;
            gap: var(--space-2);
            padding: 4px;
            border: 1px solid #DDDDDD;
            border-radius: 1.5rem;
            border-radius: var(--border-radius-lg);
            background: #fff;
            background: var(--main-white) ;
            list-style: none;
            margin: 0 auto 24px;
            width: -moz-max-content;
            width: max-content;
        }
            
            :is(:is(.c-top-section .c-top-quest-nav-container) .c-top-quest-nav) .c-top-quest-nav-item{
                width: 225px;
                text-align: center;
                font-weight: bold;
            }
                :is(:is(:is(.c-top-section .c-top-quest-nav-container) .c-top-quest-nav) .c-top-quest-nav-item) a{
                    display: block;
                    padding: calc(0.25rem * 2);
                    padding: var(--space-xs);
                    border: 2px solid #f1f1f1;
                    border: 2px solid var(--lightgray);
                    background: #f1f1f1;
                    background: var(--lightgray);
                    color: #00a2cc !important;
                    color: var(--main-blue) !important;
                    border-radius: 32px;
                    text-align: center;
                    display: block;
                    text-decoration: none !important;
                    font-weight: bold;
                }
                :is(:is(:is(.c-top-section .c-top-quest-nav-container) .c-top-quest-nav) .c-top-quest-nav-item) a:hover{
                    border: 2px solid #00a2cc;
                    border: 2px solid var(--main-blue);
                }
                .is-active:is(:is(:is(.c-top-section .c-top-quest-nav-container) .c-top-quest-nav) .c-top-quest-nav-item) a{
                    border: 2px solid #00a2cc;
                    border: 2px solid var(--main-blue);
                    background: #00a2cc;
                    background: var(--main-blue);
                    color: #fff !important;
                    color: var(--main-white) !important;
                    font-weight: bold;
                }
    .c-top-section .c-top-quest-contents{
        background: #fff;
        background: var(--main-white);
        padding: calc(0.25rem * 8);
        padding: var(--space-lg);
        gap: calc(0.25rem * 4);
        gap: var(--space-sm);
        display: none;
        border-radius: 0.5rem;
        border-radius: var(--border-radius-sm);
    }
        .is-active:is(.c-top-section .c-top-quest-contents){
            display: block;
        }
                :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-detail{
                padding: calc(0.25rem * 4);
                padding: var(--space-sm);
                border-bottom: solid 1px  #5C5C5C;
                border-bottom: solid 1px  var(--color-text-subtle, #5C5C5C);

            }
                :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-detail):last-child{
                    border-bottom: none;
                }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-detail-title{
                font-weight: bold;
                position: relative;
                padding-right: calc(0.25rem * 8);
                padding-right: var(--space-lg);
                color: #00a2cc;
                color: var(--main-blue);
            }
                :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-detail-title)::after{
                    background: url('./assets/images/icon/icon_down.svg') no-repeat;
                    background-size: cover;
                    width: 20px;
                    height: 20px;
                    content: '';
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    right: 10px;
                    margin: auto;
                }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-detail-title:after{
                background: url('./assets/images/icon/icon_up.svg') no-repeat;
                background-size: cover;
            }

            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-detail-contents{
                display: none;
                margin-top: calc(0.25rem * 4);
                margin-top: var(--space-sm);
                position: relative;
            }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-detail-contents{
                display: block;
            }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-imgarea--sp{
                display: none;
            }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp{
                    display: block;
            }
                :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area{
                    display: grid;
                    gap: calc(0.25rem * 2);
                    gap: var(--space-xs);
                }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-detail-contents-list{
                list-style:disc;
            }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .c-top-quest-detail-contents-list-item{
                margin-left: 1rem;
                margin-left: var(--font-size-base);
            }
        :is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea{
            display: none;
        }
            .is-active:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea){
                display: none;
            }
                :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area{
                display: grid;
                gap: calc(0.25rem * 2);
                gap: var(--space-xs);
            }

.goal {
    border: solid 4px #00a2cc;
    border: solid 4px var(--main-blue);
    background: #fff;
    background: var(--main-white);
    text-align: center;
    padding: 24px 16px;
    border-radius: 24px;
    position: relative;
    z-index: 100;
}

    .goal h3 {
        font-weight: bold;
        color: #00a2cc;
        color: var(--main-blue);
        margin-top: calc(0.25rem * 2);
        margin-top: var(--space-xs);
        margin-bottom: 16px;
        font-size: 1.5rem;
        font-size: var(--font-size-2xl);
    }

.power {
    text-align: center;
    padding-top: 24px;
    padding-bottom: 80px;
    position: relative;
}

    .power::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 50px;
        height: calc(100% - 30px);
        margin: auto;
        background-color: #00a2cc;
        background-color: var(--main-blue);
    }

    .power::after {
        content: '';
        position: absolute;
        border-style: solid;
        border-width: 40px 100px 0 100px;
        border-color: #00a2cc transparent transparent transparent;
        border-color: var(--main-blue) transparent transparent transparent;
        display: inline-block;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 0;
        height: 20px;
    }

.power h3 {
    background: #00a2cc;
    background: var(--main-blue);
    font-weight: bold;
    text-align: center;
    color: #fff;
    color: var(--main-white);
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    padding: 16px 24px;
    border-radius: 8px;
    display: inline-block;
    margin-bottom: 8px;
    position: relative;
    z-index: 50;
}
.power picture {
    position: relative;
    z-index: 50;
    display: block;
}
.power ul li {
    box-shadow: 6px 6px 0px 0px #0000001a;
    margin-bottom: 16px;
    border-radius: 8px;
    position: relative;
    z-index: 50;
}
.power ul li dl dt {
    background: #8c6456;
    background: var(--main-brown);
    color: #fff;
    color: var(--main-white);
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px 8px 0px 0px;
}
.power ul li dl dd {
    background: #fff;
    background: var(--main-white);
    padding: 8px 16px 16px;
    border-radius: 0px 0px 8px 8px;
    text-align: left;
}
.power ul li dl dd h4 {
    color: #8c6456;
    color: var(--main-brown);
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    text-align: center;
    margin-bottom: 16px;
}
.education h3 {
    font-weight: bold;
    text-align: center;
    color: #8c6456;
    color: var(--main-brown);
    font-size: 1.5rem;
    font-size: var(--font-size-2xl);
}
.education h4 {
    font-weight: bold;
    text-align: center;
    color: #8c6456;
    color: var(--main-brown);
    font-size: 1rem;
    font-size: var(--font-size-base);
    position: relative;
    margin-bottom: 44px;
}
.education h4:after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 16px 40px 0 40px;
    border-color: #8c6456 transparent transparent transparent;
    border-color: var(--main-brown) transparent transparent transparent;
    display: inline-block;
    left: 0;
    right: 0;
    bottom: -30px;
    margin: auto;
    width: 0;
}
.education .round {
    width: 234px;
    height: 234px;
    border-radius: 50%;
    background: #ffe3e2;
    margin: auto;
    position: relative;
    z-index: 10;
    margin-bottom: 32px;
}
.education .round:before {
    content: '';
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 214px;
    height: 214px;
    margin: auto;
    background: #ffa3a0;
    border-radius: 50%;
}
.education .round:after {
    content: '誠の教育';
    color: #fff;
    color: var(--main-white);
    font-size: 2rem;
    font-size: var(--font-size-4xl);
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 30;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 190px;
    height: 190px;
    margin: auto;
    background: #c91a13;
    background: var(--sub-red);
    border-radius: 50%;
}
.thinking h3 {
    font-weight: bold;
    text-align: center;
    font-size: 1.5rem;
    font-size: var(--font-size-2xl);
    margin-bottom: 16px;
}
.thinking .bg {
    background: #abc774;
    margin-left: -16px;
    margin-right: -16px;
    padding: 40px 16px;
    position: relative;
    overflow: hidden;
}
.thinking .bg:after {
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 33%;
    margin: auto;
    background: #62c0b4;
}
.thinking .learn {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    position: absolute;
    width: calc(100% - 32px);
    height: calc(100% - 24px);
    align-items: flex-end;
    color: #fff;
    color: var(--main-white);
    top: 8px;
    z-index: 10;
}
.thinking .line {
    display: flex;
    flex-direction: column;
    position: absolute;
    width: calc(100% - 32px);
    height: calc(100% - 30px);
    align-items: flex-start;
    top: 12px;
    z-index: 10;
}
.thinking .line div p {
    padding: 0 8px;
    border-radius: 24px;
    color: #62c0b4;
    text-align: center;
    background: #fff;
    background: var(--main-white);
    font-size: 0.75rem;
    font-size: var(--font-size-xs);
    position: relative;
    z-index: 50;
    display: inline-block;
}
.thinking .line div {
    height: 33%;
    position: relative;
}
.thinking .line div:first-child:before {
    content: '';
    position: absolute;
    top: 5px;
    left: 25px;
    width: 1px;
    height: 300%;
    margin: auto;
    background-color: #fff;
    background-color: var(--main-white);
}
.thinking .line div:nth-child(2):before {
    border-bottom: 1px dashed #fff;
    border-bottom: 1px dashed var(--main-white);
    content: '';
    position: absolute;
    top: 15px;
    width: calc(100vw - 16px);
}
.thinking .line div:nth-child(3):before {
    border-bottom: 1px dashed #fff;
    border-bottom: 1px dashed var(--main-white);
    content: '';
    position: absolute;
    top: 15px;
    width: calc(100vw - 16px);
}
.thinking .line div:after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 4px 6px 0 6px;
    border-color: #fff transparent transparent transparent;
    border-color: var(--main-white) transparent transparent transparent;
    display: inline-block;
    left: 20px;
    top: calc(96% + 12px);
    margin: auto;
    width: 0;
    height: 0px;
}
.thinking ul {
    width: 80%;
    margin-left: 20%;
    position: relative;
    z-index: 50;
}
.thinking ul li {
    border-radius: 8px;
    padding: 20px;
    background: #fff;
    background: var(--main-white);
    margin-bottom: 8px;
}
.thinking ul li dl dt {
    color: #fff;
    color: var(--main-white);
    margin-bottom: 8px;
    background: #00a2cc;
    background: var(--main-blue);
    border-radius: 8px;
    text-align: center;
    padding: 8px;
}
.thinking ul li dl dt strong {
    display: block;
}
.learning {
    background: #abdaf1;
    margin-left: -16px;
    margin-right: -16px;
    padding: 16px;
    margin-bottom: 40px;
}
.learning h3 {
    font-weight: bold;
    text-align: center;
    font-size: 1.5rem;
    font-size: var(--font-size-2xl);
    margin-bottom: 24px;
}
.learning ul li {
    border-radius: 8px;
    padding: 20px;
    background: #fff;
    background: var(--main-white);
    margin-bottom: 8px;
}
.learning ul li dl dt {
    font-size: 1.25rem;
    font-size: var(--font-size-xl);
    font-weight: 700;
    color: #00a2cc;
    color: var(--main-blue);
    margin-bottom: 8px;
}
}
/* Utility */
/* レイアウト関連 */
@layer utility{
/*-only------*/
.sp_only {
    display: block;
}
.pc_only {
    display: none;
}

/*-display------*/
.d__iflex {
    display: inline-flex;
}
.d__flex {
    display: flex;
}
.d__block {
    display: block;
}
.d__none {
    display: none;
}

/*-flex-wrap------*/
.flw__wrap {
    flex-wrap: wrap;
}
/*-flex-direction------*/
.fld__column {
    flex-direction: column;
}
.fld__row-r {
    flex-direction: row-reverse;
}
/*-gap------*/
.flgap__1p {
    gap: 1%;
}
.flgap__2p {
    gap: 2%;
}
.flgap__1 {
    gap: 1px;
}
.flgap__8 {
    gap: 8px;
}
.flgap__16 {
    gap: 16px;
}
/*-justify-content------*/
.jc__sb {
    justify-content: space-between;
}
.jc__center {
    justify-content: center;
}
.jc__fe {
    justify-content: flex-end;
}
.jc__fs {
    justify-content: flex-start;
}
/*-align-items------*/
.ai__start {
    align-items: flex-start;
}
.ai__center {
    align-items: center;
}
/*-spaciing------*/
.u-ma {
    margin: auto;
}
.u-mxy-auto {
    margin-left: auto;
    margin-right: auto;
}
.u-mb-4 {
    margin-bottom: 4px !important;
}
.u-mb-8 {
    margin-bottom: 8px !important;
}
.u-mb-16 {
    margin-bottom: 16px !important;
}
.u-mb-24 {
    margin-bottom: 24px !important;
}
.u-mb-32 {
    margin-bottom: 32px !important;
}
.u-mb-40 {
    margin-bottom: 40px !important;
}
.u-mb-64 {
    margin-bottom: 64px !important;
}

/* Margin Top */
.u-mt-8 {
    margin-top: 8px !important;
}
.u-mt-16 {
    margin-top: 16px !important;
}
.u-mt-24 {
    margin-top: 24px !important;
}
.u-mt-32 {
    margin-top: 32px !important;
}
.u-mt-40 {
    margin-top: 40px !important;
}
.u-mt-64 {
    margin-top: 64px !important;
}

/* Margin Left */
.u-ml-8 {
    margin-left: 8px !important;
}
.u-ml-16 {
    margin-left: 16px !important;
}
.u-ml-24 {
    margin-left: 24px !important;
}
.u-ml-32 {
    margin-left: 32px !important;
}
.u-ml-40 {
    margin-left: 40px !important;
}
.u-ml-64 {
    margin-left: 64px !important;
}

/* Margin Right */
.u-mr-8 {
    margin-right: 8px !important;
}
.u-mr-16 {
    margin-right: 16px !important;
}
.u-mr-24 {
    margin-right: 24px !important;
}
.u-mr-32 {
    margin-right: 32px !important;
}
.u-mr-40 {
    margin-right: 40px !important;
}
.u-mr-64 {
    margin-right: 64px !important;
}

/* Padding All */
.u-p-8 {
    padding: 8px !important;
}
.u-p-16 {
    padding: 16px !important;
}
.u-p-24 {
    padding: 24px !important;
}
.u-p-32 {
    padding: 32px !important;
}
.u-p-40 {
    padding: 40px !important;
}
.u-p-64 {
    padding: 64px !important;
}

/* Padding Bottom */
.u-pb-8 {
    padding-bottom: 8px !important;
}
.u-pb-16 {
    padding-bottom: 16px !important;
}
.u-pb-24 {
    padding-bottom: 24px !important;
}
.u-pb-32 {
    padding-bottom: 32px !important;
}
.u-pb-40 {
    padding-bottom: 40px !important;
}
.u-pb-64 {
    padding-bottom: 64px !important;
}

/* Padding Top */
.u-pt-8 {
    padding-top: 8px !important;
}
.u-pt-16 {
    padding-top: 16px !important;
}
.u-pt-24 {
    padding-top: 24px !important;
}
.u-pt-32 {
    padding-top: 32px !important;
}
.u-pt-40 {
    padding-top: 40px !important;
}
.u-pt-64 {
    padding-top: 64px !important;
}
/*-position------*/
.pst__relative {
    position: relative;
}
/*
色設定用
*/
/*common----------*/
.white {
    color: #fff;
    color: var(--main-white);
}
.lightgray {
    color: #f1f1f1;
    color: var(--lightgray);
}
.gray {
    color: #ddd;
    color: var(--gray);
}
/*main----------*/
.main__blue {
    color: #00a2cc;
    color: var(--main-blue);
}
.main__darkblue {
    color: #007390;
    color: var(--main-darkblue);
}
.main__brown {
    color: #8c6456;
    color: var(--main-brown);
}
.main__gray {
    color: #efeeec;
    color: var(--main-gray);
}
.main__darkgray {
    color: #545454;
    color: var(--main-darkgray);
}
/*sub----------*/
.sub__red {
    color: #c91a13;
    color: var(--sub-red);
}
.sub__green {
    color: #6ebf8e;
    color: var(--sub-green);
}
.sub__yellow {
    color: #e8d63b;
    color: var(--sub-yellow);
}
.sub__pink {
    color: #ffe6e5;
    color: var(--sub-pink);
}
.sub__lightgreen {
    color: #f3fff8;
    color: var(--sub-lightgreen);
}
/*text----------*/
.text__primary {
    color: #545454;
    color: var(--text-primary);
}
.text__secondary {
    color: #999;
    color: var(--text-secondary);
}

/* ----------------------------------------
 Utility: Radius
---------------------------------------- */

/* Basic Border Radius */
.u-radius-none {
    border-radius: 0 !important;
    border-radius: var(--border-radius-none) !important;
}

/* 個別の角を0にするクラス */
.u-radius-top-none {
    border-top-left-radius: 0 !important;
    border-top-left-radius: var(--border-radius-none) !important;
    border-top-right-radius: 0 !important;
    border-top-right-radius: var(--border-radius-none) !important;
}

.u-radius-right-none {
    border-top-right-radius: 0 !important;
    border-top-right-radius: var(--border-radius-none) !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-right-radius: var(--border-radius-none) !important;
}

.u-radius-bottom-none {
    border-bottom-left-radius: 0 !important;
    border-bottom-left-radius: var(--border-radius-none) !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-right-radius: var(--border-radius-none) !important;
}

.u-radius-left-none {
    border-top-left-radius: 0 !important;
    border-top-left-radius: var(--border-radius-none) !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-left-radius: var(--border-radius-none) !important;
}

/* 個別のコーナーを0にするクラス */
.u-radius-top-left-none {
    border-top-left-radius: 0 !important;
    border-top-left-radius: var(--border-radius-none) !important;
}

.u-radius-top-right-none {
    border-top-right-radius: 0 !important;
    border-top-right-radius: var(--border-radius-none) !important;
}

.u-radius-bottom-right-none {
    border-bottom-right-radius: 0 !important;
    border-bottom-right-radius: var(--border-radius-none) !important;
}

.u-radius-bottom-left-none {
    border-bottom-left-radius: 0 !important;
    border-bottom-left-radius: var(--border-radius-none) !important;
}

/* Basic Border Radius */
.u-radius-xxs {
    border-radius: 0.125rem !important;
    border-radius: var(--border-radius-xxs) !important;
}

.u-radius-xs {
    border-radius: 0.25rem !important;
    border-radius: var(--border-radius-xs) !important;
}

.u-radius-sm {
    border-radius: 0.5rem !important;
    border-radius: var(--border-radius-sm) !important;
}

.u-radius-md {
    border-radius: 1rem !important;
    border-radius: var(--border-radius-md) !important;
}

.u-radius-lg {
    border-radius: 1.5rem !important;
    border-radius: var(--border-radius-lg) !important;
}

.u-radius-full {
    border-radius: 9999px !important;
    border-radius: var(--border-radius-full) !important;
}

/* Specific Corner Radius */
.u-radius-top-xxs {
    border-radius: 0.125rem 0.125rem 0 0 !important;
    border-radius: var(--border-radius-xxs) var(--border-radius-xxs) 0 0 !important;
}

.u-radius-top-xs {
    border-radius: 0.25rem 0.25rem 0 0 !important;
    border-radius: var(--border-radius-xs) var(--border-radius-xs) 0 0 !important;
}

.u-radius-top-sm {
    border-radius: 0.5rem 0.5rem 0 0 !important;
    border-radius: var(--border-radius-sm) var(--border-radius-sm) 0 0 !important;
}

.u-radius-right-xxs {
    border-radius: 0 0.125rem 0.125rem 0 !important;
    border-radius: 0 var(--border-radius-xxs) var(--border-radius-xxs) 0 !important;
}

.u-radius-right-xs {
    border-radius: 0 0.25rem 0.25rem 0 !important;
    border-radius: 0 var(--border-radius-xs) var(--border-radius-xs) 0 !important;
}

.u-radius-right-sm {
    border-radius: 0 0.5rem 0.5rem 0 !important;
    border-radius: 0 var(--border-radius-sm) var(--border-radius-sm) 0 !important;
}

.u-radius-bottom-xxs {
    border-radius: 0 0 0.125rem 0.125rem !important;
    border-radius: 0 0 var(--border-radius-xxs) var(--border-radius-xxs) !important;
}

.u-radius-bottom-xs {
    border-radius: 0 0 0.25rem 0.25rem !important;
    border-radius: 0 0 var(--border-radius-xs) var(--border-radius-xs) !important;
}

.u-radius-bottom-sm {
    border-radius: 0 0 0.5rem 0.5rem !important;
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm) !important;
}

.u-radius-left-xxs {
    border-radius: 0.125rem 0 0 0.125rem !important;
    border-radius: var(--border-radius-xxs) 0 0 var(--border-radius-xxs) !important;
}

.u-radius-left-xs {
    border-radius: 0.25rem 0 0 0.25rem !important;
    border-radius: var(--border-radius-xs) 0 0 var(--border-radius-xs) !important;
}

.u-radius-left-sm {
    border-radius: 0.5rem 0 0 0.5rem !important;
    border-radius: var(--border-radius-sm) 0 0 var(--border-radius-sm) !important;
}

/* Individual Corner Radius */
.u-radius-top-left-xxs {
    border-top-left-radius: 0.125rem !important;
    border-top-left-radius: var(--border-radius-xxs) !important;
}

.u-radius-top-left-xs {
    border-top-left-radius: 0.25rem !important;
    border-top-left-radius: var(--border-radius-xs) !important;
}

.u-radius-top-left-sm {
    border-top-left-radius: 0.5rem !important;
    border-top-left-radius: var(--border-radius-sm) !important;
}

.u-radius-top-right-xxs {
    border-top-right-radius: 0.125rem !important;
    border-top-right-radius: var(--border-radius-xxs) !important;
}

.u-radius-top-right-xs {
    border-top-right-radius: 0.25rem !important;
    border-top-right-radius: var(--border-radius-xs) !important;
}

.u-radius-top-right-sm {
    border-top-right-radius: 0.5rem !important;
    border-top-right-radius: var(--border-radius-sm) !important;
}

.u-radius-bottom-right-xxs {
    border-bottom-right-radius: 0.125rem !important;
    border-bottom-right-radius: var(--border-radius-xxs) !important;
}

.u-radius-bottom-right-xs {
    border-bottom-right-radius: 0.25rem !important;
    border-bottom-right-radius: var(--border-radius-xs) !important;
}

.u-radius-bottom-right-sm {
    border-bottom-right-radius: 0.5rem !important;
    border-bottom-right-radius: var(--border-radius-sm) !important;
}

.u-radius-bottom-left-xxs {
    border-bottom-left-radius: 0.125rem !important;
    border-bottom-left-radius: var(--border-radius-xxs) !important;
}

.u-radius-bottom-left-xs {
    border-bottom-left-radius: 0.25rem !important;
    border-bottom-left-radius: var(--border-radius-xs) !important;
}

.u-radius-bottom-left-sm {
    border-bottom-left-radius: 0.5rem !important;
    border-bottom-left-radius: var(--border-radius-sm) !important;
}

/* Special Cases */
.u-radius-circle {
    border-radius: 50% !important;
}

.u-radius-none {
    border-radius: 0 !important;
}

/* ----------------------------------------
 Utility: Size
---------------------------------------- */

/* Width */
.u-w-auto {
    width: auto !important;
}

.u-w-full {
    width: 100% !important;
}

.u-w-screen {
    width: 100vw !important;
}

.u-w-min {
    width: -moz-min-content !important;
    width: min-content !important;
}

.u-w-max {
    width: -moz-max-content !important;
    width: max-content !important;
}

.u-w-fit {
    width: -moz-fit-content !important;
    width: fit-content !important;
}

/* Fixed Width */
.u-w-1 {
    width: 1px !important;
}

.u-w-2 {
    width: 2px !important;
}

.u-w-4 {
    width: 4px !important;
}

.u-w-8 {
    width: 8px !important;
}

/* Percentage Width */
.u-w-25 {
    width: 25% !important;
}

.u-w-33 {
    width: 33.333333% !important;
}

.u-w-50 {
    width: 50% !important;
}

.u-w-66 {
    width: 66.666667% !important;
}

.u-w-75 {
    width: 75% !important;
}

/* Height */
.u-h-auto {
    height: auto !important;
}

.u-h-full {
    height: 100% !important;
}

.u-h-screen {
    height: 100vh !important;
}

.u-h-min {
    height: -moz-min-content !important;
    height: min-content !important;
}

.u-h-max {
    height: -moz-max-content !important;
    height: max-content !important;
}

.u-h-fit {
    height: -moz-fit-content !important;
    height: fit-content !important;
}

/* Fixed Height */
.u-h-1 {
    height: 1px !important;
}

.u-h-2 {
    height: 2px !important;
}

.u-h-4 {
    height: 4px !important;
}

.u-h-8 {
    height: 8px !important;
}

/* Percentage Height */
.u-h-25 {
    height: 25% !important;
}

.u-h-33 {
    height: 33.333333% !important;
}

.u-h-50 {
    height: 50% !important;
}

.u-h-66 {
    height: 66.666667% !important;
}

.u-h-75 {
    height: 75% !important;
}

/* Max Width */
.u-max-w-full {
    max-width: 100% !important;
}

.u-max-w-screen {
    max-width: 100vw !important;
}

.u-max-w-min {
    max-width: -moz-min-content !important;
    max-width: min-content !important;
}

.u-max-w-max {
    max-width: -moz-max-content !important;
    max-width: max-content !important;
}

.u-max-w-fit {
    max-width: -moz-fit-content !important;
    max-width: fit-content !important;
}

/* Max Height */
.u-max-h-full {
    max-height: 100% !important;
}

.u-max-h-screen {
    max-height: 100vh !important;
}

.u-max-h-min {
    max-height: -moz-min-content !important;
    max-height: min-content !important;
}

.u-max-h-max {
    max-height: -moz-max-content !important;
    max-height: max-content !important;
}

.u-max-h-fit {
    max-height: -moz-fit-content !important;
    max-height: fit-content !important;
}

/* Min Width */
.u-min-w-0 {
    min-width: 0px !important;
}

.u-min-w-full {
    min-width: 100% !important;
}

.u-min-w-min {
    min-width: -moz-min-content !important;
    min-width: min-content !important;
}

.u-min-w-max {
    min-width: -moz-max-content !important;
    min-width: max-content !important;
}

.u-min-w-fit {
    min-width: -moz-fit-content !important;
    min-width: fit-content !important;
}

/* Min Height */
.u-min-h-0 {
    min-height: 0px !important;
}

.u-min-h-full {
    min-height: 100% !important;
}

.u-min-h-min {
    min-height: -moz-min-content !important;
    min-height: min-content !important;
}

.u-min-h-max {
    min-height: -moz-max-content !important;
    min-height: max-content !important;
}

.u-min-h-fit {
    min-height: -moz-fit-content !important;
    min-height: fit-content !important;
}

/* Aspect Ratio */
.u-aspect-auto {
    aspect-ratio: auto !important;
}

.u-aspect-square {
    aspect-ratio: 1 / 1 !important;
}

.u-aspect-video {
    aspect-ratio: 16 / 9 !important;
}

/* ==========================================================================
  Object/Utility - Text
========================================================================== */

/* Text Alignment
--------------------------------------------------------- */

.u-text-center {
    text-align: center;
}

.u-text-right {
    text-align: right;
}
.u-text-left {
    text-align: left;
}

/* Text Weight
--------------------------------------------------------- */
.u-text-bold {
    font-weight: 700;
}

/* Text Truncate
--------------------------------------------------------- */
/* Line Clamp Utility Classes */
.u-line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: 1;
}

.u-line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: 2;
}

.u-line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: 3;
}

.u-line-clamp-4 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-line-clamp: 4;
}

/* Text Space
--------------------------------------------------------- */

.u-letter-spacing-n1 {
    letter-spacing: -1px;
}

.u-letter-spacing-n3 {
    letter-spacing: -3px;
}

.u-white-space-pre-wrap {
    white-space: pre-wrap;
}

/* Font Size
--------------------------------------------------------- */
.u-text-xxs {
    font-size: 0.625rem;
    font-size: var(--font-size-xxs); /* 10px */
}

.u-text-xs {
    font-size: 0.75rem;
    font-size: var(--font-size-xs); /* 12px */
}

.u-text-sm {
    font-size: 0.875rem;
    font-size: var(--font-size-sm); /* 14px */
}

.u-text-base {
    font-size: 1rem;
    font-size: var(--font-size-base); /* 16px */
}

.u-text-lg {
    font-size: 1.125rem;
    font-size: var(--font-size-lg); /* 18px */
}

.u-text-xl {
    font-size: 1.25rem;
    font-size: var(--font-size-xl); /* 20px */
}

.u-text-2xl {
    font-size: 1.5rem;
    font-size: var(--font-size-2xl); /* 24px */
}

.u-text-3xl {
    font-size: 1.75rem;
    font-size: var(--font-size-3xl); /* 28px */
}

.u-text-4xl {
    font-size: 2rem;
    font-size: var(--font-size-4xl); /* 32px */
}

.u-text-5xl {
    font-size: 2.25rem;
    font-size: var(--font-size-5xl); /* 36px */
}

.u-text-6xl {
    font-size: 2.5rem;
    font-size: var(--font-size-6xl); /* 40px */
}

.u-text-7xl {
    font-size: 2.75rem;
    font-size: var(--font-size-7xl); /* 44px */
}

.u-text-8xl {
    font-size: 3rem;
    font-size: var(--font-size-8xl); /* 48px */
}

.u-text-9xl {
    font-size: 3.5rem;
    font-size: var(--font-size-9xl); /* 56px */
}

.u-text-10xl {
    font-size: 4rem;
    font-size: var(--font-size-10xl); /* 64px */
}

/* Text Color
--------------------------------------------------------- */
.u-text-primary {
    color: #00a2cc;
    color: var(--color-primary);
}

.u-text-secondary {
    color: #8c6456;
    color: var(--color-secondary);
}

.u-text-error {
    color: var(--color-error);
}

/* Text Transform
--------------------------------------------------------- */
.u-text-uppercase {
    text-transform: uppercase;
}

.u-text-capitalize {
    text-transform: capitalize;
}

/* Text Decoration
  --------------------------------------------------------- */
.u-text-underline {
    text-decoration: underline;
}

.u-text-no-underline {
    text-decoration: none;
}

/* Text Break
  --------------------------------------------------------- */
.u-text-break-all {
    word-break: break-all;
}

.u-text-break-word {
    word-break: break-word;
}

/* Text Wrap
  --------------------------------------------------------- */
.u-text-nowrap {
    white-space: nowrap;
}

.u-text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* Text Alignment */
.u-text-left {
    text-align: left !important;
}

.u-text-center {
    text-align: center !important;
}

.u-text-right {
    text-align: right !important;
}

/* ---------------------------------------------
  Utility: Border
--------------------------------------------- */

.u-border-bottom-solid {
    border-bottom: solid 1px #ddd;
    border-bottom: solid 1px var(--gray);
}
.u-border-bottom-dashed {
    border-bottom: dashed 1px #ddd;
    border-bottom: dashed 1px var(--gray);
}
.u-border-box-solid {
    border: solid 1px #ddd;
    border: solid 1px var(--gray);
}
/* マーカー付きリスト */
.u-list-disc {
    list-style: disc;
    margin-left: 20px;
}
.u-list-disc-bold{
    list-style: disc;
    margin-left: 20px;
    font-weight: bold;
}

/* 番号付きリスト */
.u-list-decimal {
    list-style: decimal;
    margin-left: 20px;
}
}
/* @import url('object/utility/_layout.css') layer(utility); */
/* スペーシング関連 */
/* 見た目関連 */
/* =================
* Vendors
* ================= */
/* @import 'swiper-bundle.min.css'; */
/*
* ==================================
* インポート順序の意図：
* 1. Foundation: 基礎となる設定やリセット
* 2. Layout: ページの大枠構造
* 3. Object/Component: 再利用可能なコンポーネント
* 4. Object/Project: プロジェクト固有のコンポーネント
* 5. Object/Utility: 汎用クラス
* 6. Vendors: サードパーティ製のCSS
* ==================================
*/
@media (min-width: 992px){
@layer layout{

.l-wrapper {
        padding-inline: calc(0.25rem * 6);
        padding-inline: var(--space-md);
}

.l-container {
        display: grid;
        grid-template-columns: clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) minmax(0, 1fr);
        grid-template-columns: var(--header-width) minmax(0, 1fr);
        align-items: start;
}

.l-header {
        border-radius: 1.5rem;
        border-radius: var(--border-radius-lg);
        background: #00a2cc;
        background: var(--main-blue);
        width: calc(100% - calc(0.25rem * 6) - calc(0.25rem * 6));
        width: calc(100% - var(--space-md) - var(--space-md));
        position: sticky;
        width: clamp(280 * 1px, calc(18vw + 50px),  320 * 1px);
        width: var(--header-width);
        justify-content: space-between;
        margin-top: calc(0.25rem * 6);
        margin-top: var(--space-md);
}
        :is(.l-header .l-header__logo) img {
                width: 182px;
        }

.l-header__nav {
        border-radius: 0px;
        padding: 0;
        width: 100%;
}
.l-main {
        padding: calc(0.25rem * 2);
        padding: var(--space-xs);
        padding: calc(0.25rem * 6) calc(0.25rem * 12);
        padding: var(--space-md) var(--space-xl);
        margin-top: 0;
}
}
@layer component{

.c-gnav {
        display: flex;
        flex-direction: column;
        justify-content: end;
        font-size: 1rem;
        font-size: var(--font-size-base);
}

.c-gnav__link {
        border-bottom: none;
        color: #fff !important;
        color: var(--main-white) !important;
        display: inline-block;
        padding-block: calc(0.25rem * 4);
        padding-block: var(--space-sm);
        padding-inline: calc(0.25rem * 8) 0.25rem;
        padding-inline: var(--space-lg) var(--space-2);
        position: relative;
        height: 60px;
}

    .c-gnav__link:hover {
            background: #007390;
            background: var(--main-darkblue);
            text-decoration: none;
    }

    .c-gnav__link::after {
            display: none;
    }

    .c-gnav__link.is-active {
            max-width: unset;
            margin: auto;
            top: 0;
    }

    .c-gnav__link[class*='icon-']:before {
            left: 4px;
    }
        .header .header__content{
                padding: calc(0.25rem * 6);
                padding: var(--space-md);
        }
        .header .c-header-menu {
                border-radius: none;
                box-shadow: none;
                border: none;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                margin-top: 0;
                width: auto;
                position: static;
                padding-top: 0px;
                height: auto;
        }
        .header .c-header-logo {
                padding: 16px 24px 12px 24px;
                width:  100%;
                margin-bottom: calc(0.25rem * 6);
                margin-bottom: var(--space-md);
        }
        .header .c-header-spmenu{
                display: none;
        }
        .header .c-header-spclose{
                display: none;
        }

        .header .c-header-spclose.is_active {
            display: none;
        }
        .header .gnav-back-btn {
                display: none;
        }

        .header .secondMenu {
                left: 0;
                border-left: none;
                padding: 32px 16px 0px 32px;
                left: calc(clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - 30px);
                left: calc(var(--header-width) - 30px);
                width: 316px;
                border-radius: 0 1.5rem 1.5rem 0;
                border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
        }

        .header .thirdMenu {
                left: 0;
                padding: 32px 16px 0px 32px;
                border-left: none;
                left: 296px;
                width: 316px;
                border-radius: 0 1.5rem 1.5rem 0;
                border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
        }

.c-link-list {
        margin: 0 auto calc(0.25rem * 8);
        margin: 0 auto var(--space-lg);
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - calc(0.25rem * 4)), 1fr));
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - var(--space-sm)), 1fr));
}

.c-link-list--into{
        margin: 0 auto;
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - calc(0.25rem * 4)), 1fr));
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - var(--space-sm)), 1fr));
}

.c-leader-list {
        margin: 0 auto calc(0.25rem * 8);
        margin: 0 auto var(--space-lg);
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - calc(0.25rem * 4)), 1fr));
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - var(--space-sm)), 1fr));
}
.c-supporter-thum-list-area {
        width: calc(min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) + ((100vw - min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - calc(0.25rem * 12))/2) + 16px);
        width: calc(min(var(--container-fluid), 100%) + ((100vw - min(var(--container-fluid), 100%) - var(--header-width) - var(--space-xl))/2) + 16px);
        margin-right: calc(((-100vw + 1200px) / 2) - calc(0.25rem * 18));
        margin-right: calc(((-100vw + 1200px) / 2) - var(--space-18));
}

.c-supporter-list {
        grid-template-columns: repeat(2, 1fr);
}

.supporter-library__item{
        align-items: center;
}

.c-report-list-filter-container--scroll{
    width: calc(min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) + ((100vw - min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - calc(0.25rem * 12))/2) + 16px);
    width: calc(min(var(--container-fluid), 100%) + ((100vw - min(var(--container-fluid), 100%) - var(--header-width) - var(--space-xl))/2) + 16px);
    margin-right: calc(((-100vw + 1200px) / 2) - calc(0.25rem * 18));
    margin-right: calc(((-100vw + 1200px) / 2) - var(--space-18));
}

.c-report-list-filter--scroll {
      margin: 0 0 calc(0.25rem * 4);
      margin: 0 0 var(--space-sm);
}
.c-pw-modal{
        width: calc(100vw - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px));
        width: calc(100vw - var(--header-width));
}
    .c-theme .c-step-gallery{
            grid-template-columns: 1fr 1fr;
            width: 100%;
    }
            :is(:is(:is(.c-theme .c-step-gallery) .c-step-gallery__img) a)::before{
                transform: rotate(0deg);
                top: 43%;
                right:-10px;
                left: unset;
            }
}
}
@media (--viewport-lg){
@layer layout{

.l-wrapper {
        padding-inline: calc(0.25rem * 6);
        padding-inline: var(--space-md);
}

.l-container {
        display: grid;
        grid-template-columns: clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) minmax(0, 1fr);
        grid-template-columns: var(--header-width) minmax(0, 1fr);
        align-items: start;
}

.l-header {
        border-radius: 1.5rem;
        border-radius: var(--border-radius-lg);
        background: #00a2cc;
        background: var(--main-blue);
        width: calc(100% - calc(0.25rem * 6) - calc(0.25rem * 6));
        width: calc(100% - var(--space-md) - var(--space-md));
        position: sticky;
        width: clamp(280 * 1px, calc(18vw + 50px),  320 * 1px);
        width: var(--header-width);
        justify-content: space-between;
        margin-top: calc(0.25rem * 6);
        margin-top: var(--space-md);
}
        :is(.l-header .l-header__logo) img {
                width: 182px;
        }

.l-header__nav {
        border-radius: 0px;
        padding: 0;
        width: 100%;
}
.l-main {
        padding: calc(0.25rem * 2);
        padding: var(--space-xs);
        padding: calc(0.25rem * 6) calc(0.25rem * 12);
        padding: var(--space-md) var(--space-xl);
        margin-top: 0;
}
}
@layer component{

.c-gnav {
        display: flex;
        flex-direction: column;
        justify-content: end;
        font-size: 1rem;
        font-size: var(--font-size-base);
}

.c-gnav__link {
        border-bottom: none;
        color: #fff !important;
        color: var(--main-white) !important;
        display: inline-block;
        padding-block: calc(0.25rem * 4);
        padding-block: var(--space-sm);
        padding-inline: calc(0.25rem * 8) 0.25rem;
        padding-inline: var(--space-lg) var(--space-2);
        position: relative;
        height: 60px;
}

    .c-gnav__link:hover {
            background: #007390;
            background: var(--main-darkblue);
            text-decoration: none;
    }

    .c-gnav__link::after {
            display: none;
    }

    .c-gnav__link.is-active {
            max-width: unset;
            margin: auto;
            top: 0;
    }

    .c-gnav__link[class*='icon-']:before {
            left: 4px;
    }
        .header .header__content{
                padding: calc(0.25rem * 6);
                padding: var(--space-md);
        }
        .header .c-header-menu {
                border-radius: none;
                box-shadow: none;
                border: none;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                margin-top: 0;
                width: auto;
                position: static;
                padding-top: 0px;
                height: auto;
        }
        .header .c-header-logo {
                padding: 16px 24px 12px 24px;
                width:  100%;
                margin-bottom: calc(0.25rem * 6);
                margin-bottom: var(--space-md);
        }
        .header .c-header-spmenu{
                display: none;
        }
        .header .c-header-spclose{
                display: none;
        }

        .header .c-header-spclose.is_active {
            display: none;
        }
        .header .gnav-back-btn {
                display: none;
        }

        .header .secondMenu {
                left: 0;
                border-left: none;
                padding: 32px 16px 0px 32px;
                left: calc(clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - 30px);
                left: calc(var(--header-width) - 30px);
                width: 316px;
                border-radius: 0 1.5rem 1.5rem 0;
                border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
        }

        .header .thirdMenu {
                left: 0;
                padding: 32px 16px 0px 32px;
                border-left: none;
                left: 296px;
                width: 316px;
                border-radius: 0 1.5rem 1.5rem 0;
                border-radius: 0 var(--border-radius-lg) var(--border-radius-lg) 0;
        }

.c-link-list {
        margin: 0 auto calc(0.25rem * 8);
        margin: 0 auto var(--space-lg);
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - calc(0.25rem * 4)), 1fr));
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - var(--space-sm)), 1fr));
}

.c-link-list--into{
        margin: 0 auto;
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - calc(0.25rem * 4)), 1fr));
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - var(--space-sm)), 1fr));
}

.c-leader-list {
        margin: 0 auto calc(0.25rem * 8);
        margin: 0 auto var(--space-lg);
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - calc(0.25rem * 4)), 1fr));
        grid-template-columns: repeat(auto-fill, minmax(calc(50% - var(--space-sm)), 1fr));
}
.c-supporter-thum-list-area {
        width: calc(min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) + ((100vw - min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - calc(0.25rem * 12))/2) + 16px);
        width: calc(min(var(--container-fluid), 100%) + ((100vw - min(var(--container-fluid), 100%) - var(--header-width) - var(--space-xl))/2) + 16px);
        margin-right: calc(((-100vw + 1200px) / 2) - calc(0.25rem * 18));
        margin-right: calc(((-100vw + 1200px) / 2) - var(--space-18));
}

.c-supporter-list {
        grid-template-columns: repeat(2, 1fr);
}

.supporter-library__item{
        align-items: center;
}

.c-report-list-filter-container--scroll{
    width: calc(min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) + ((100vw - min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - calc(0.25rem * 12))/2) + 16px);
    width: calc(min(var(--container-fluid), 100%) + ((100vw - min(var(--container-fluid), 100%) - var(--header-width) - var(--space-xl))/2) + 16px);
    margin-right: calc(((-100vw + 1200px) / 2) - calc(0.25rem * 18));
    margin-right: calc(((-100vw + 1200px) / 2) - var(--space-18));
}

.c-report-list-filter--scroll {
      margin: 0 0 calc(0.25rem * 4);
      margin: 0 0 var(--space-sm);
}
.c-pw-modal{
        width: calc(100vw - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px));
        width: calc(100vw - var(--header-width));
}
    .c-theme .c-step-gallery{
            grid-template-columns: 1fr 1fr;
            width: 100%;
    }
            :is(:is(:is(.c-theme .c-step-gallery) .c-step-gallery__img) a)::before{
                transform: rotate(0deg);
                top: 43%;
                right:-10px;
                left: unset;
            }
}
}
@media (min-width: 768px){
@layer layout{
.content {
        padding: calc(0.25rem * 8);
        padding: var(--space-lg);
}

.l-main-content {
        padding-block: calc(0.25rem * 12);
        padding-block: var(--space-xl);
        padding-inline: calc(0.25rem * 8);
        padding-inline: var(--space-lg);
}
}
@layer component{

.c-prevnext-link{
        flex-direction: row;
        justify-content: space-between;

}
    .c-prevnext-link .c-link-item{
            width: -moz-fit-content;
            width: fit-content;
    }

.c-card-prevnext{
        width: 50%;
}
    .btn-cat {
        padding: 24px 8px;
        font-size: 1rem;
        font-size: var(--font-size-base);
        width: 152px;
        height: 152px;
    }
    .btn-cat:before {
        top: 22px;
        width: 64px;
        height: 64px;
    }

.c-hero__img {
        height: 260px;
}
.tab-container {
        width:-moz-fit-content;
        width:fit-content;
        margin: 0 auto 24px;
}

    .supporter-library__content.quest-library{
            flex-direction: row;
    }

.supporter-library__thumbnail-img{
        width: 260px;
        height: 190px;
}
    .c-report-list{
        grid-template-columns: repeat(3, 1fr);
    }
.card-info--detail{
        flex-direction: row;
        gap: 8px;
}
}
@supports not (container-type: inline-size){
        .local-nav__item {
            width: 25%;
        }
}
@layer project{
    .c-top-section .c-top-quest-nav-container{
            width:-moz-fit-content;
            width:fit-content;
            margin: 0 auto;
    }
    /* PC */
    .power picture {
        margin-top: -130px;
    }
    .power ul {
        display: flex;
        gap: 16px;
        align-items: self-start;
    }
    .power ul li {
        width: 32%;
    }
    .power ul li:first-child {
        margin-top: -32px;
    }
    .power ul li:last-child {
        margin-top: -32px;
    }
    .thinking .bg:after {
        left: auto;
        width: 34%;
        height: 100%;
    }
    .thinking .learn {
        flex-direction: row;
        align-items: flex-start;
    }
    .thinking .line {
        flex-direction: row;
        top: auto;
        height: auto;
    }
    .thinking .line div {
        height: auto;
        width: 32%;
    }
    .thinking .line div:first-child:before {
        top: 14px;
        width: 300%;
        height: 1px;
    }
    .thinking .line div:after {
        border-width: 5px 0 5px 4px;
        border-color: transparent transparent transparent #fff;
        border-color: transparent transparent transparent var(--main-white);
        top: 10px;
        left: calc(93% + 13px);
    }
    .thinking .line div:last-child:after {
        left: calc(104% + 11px);
    }
    .thinking .line div:nth-child(2):before {
        border-bottom: none;
        top: auto;
        width: 1px;
        border-left: 1px dashed #fff;
        border-left: 1px dashed var(--main-white);
        bottom: 15px;
        height: 300px;
        left: 25px;
    }
    .thinking .line div:nth-child(3):before {
        border-bottom: none;
        top: auto;
        width: 1px;
        border-left: 1px dashed #fff;
        border-left: 1px dashed var(--main-white);
        bottom: 15px;
        height: 300px;
        left: 19px;
    }
    .thinking ul {
        width: 100%;
        margin-left: 0%;
        position: relative;
        z-index: 40;
        display: flex;
        gap: 16px;
    }
    .thinking ul li {
        width: 24%;
    }
}
@layer utility{
    .sp_only {
        display: none;
    }
    .pc_only {
        display: block;
    }
    .tabflgap__1p {
        gap: 1%;
    }
    .tabflgap__2p {
        gap: 2%;
    }
    .tabflgap__16 {
        gap: 16px;
    }
    .pcflgap__1p {
        gap: 1%;
    }
    .pcflgap__16 {
        gap: 16px;
    }
}
}
@media (--viewport-md){
@layer layout{
.content {
        padding: calc(0.25rem * 8);
        padding: var(--space-lg);
}

.l-main-content {
        padding-block: calc(0.25rem * 12);
        padding-block: var(--space-xl);
        padding-inline: calc(0.25rem * 8);
        padding-inline: var(--space-lg);
}
}
@layer component{

.c-prevnext-link{
        flex-direction: row;
        justify-content: space-between;

}
    .c-prevnext-link .c-link-item{
            width: -moz-fit-content;
            width: fit-content;
    }

.c-card-prevnext{
        width: 50%;
}
    .btn-cat {
        padding: 24px 8px;
        font-size: 1rem;
        font-size: var(--font-size-base);
        width: 152px;
        height: 152px;
    }
    .btn-cat:before {
        top: 22px;
        width: 64px;
        height: 64px;
    }

.c-hero__img {
        height: 260px;
}
.tab-container {
        width:-moz-fit-content;
        width:fit-content;
        margin: 0 auto 24px;
}

    .supporter-library__content.quest-library{
            flex-direction: row;
    }

.supporter-library__thumbnail-img{
        width: 260px;
        height: 190px;
}
    .c-report-list{
        grid-template-columns: repeat(3, 1fr);
    }
.card-info--detail{
        flex-direction: row;
        gap: 8px;
}
}
@supports not (container-type: inline-size){
        .local-nav__item {
            width: 25%;
        }
}
@layer project{
    .c-top-section .c-top-quest-nav-container{
            width:-moz-fit-content;
            width:fit-content;
            margin: 0 auto;
    }
    /* PC */
    .power picture {
        margin-top: -130px;
    }
    .power ul {
        display: flex;
        gap: 16px;
        align-items: self-start;
    }
    .power ul li {
        width: 32%;
    }
    .power ul li:first-child {
        margin-top: -32px;
    }
    .power ul li:last-child {
        margin-top: -32px;
    }
    .thinking .bg:after {
        left: auto;
        width: 34%;
        height: 100%;
    }
    .thinking .learn {
        flex-direction: row;
        align-items: flex-start;
    }
    .thinking .line {
        flex-direction: row;
        top: auto;
        height: auto;
    }
    .thinking .line div {
        height: auto;
        width: 32%;
    }
    .thinking .line div:first-child:before {
        top: 14px;
        width: 300%;
        height: 1px;
    }
    .thinking .line div:after {
        border-width: 5px 0 5px 4px;
        border-color: transparent transparent transparent #fff;
        border-color: transparent transparent transparent var(--main-white);
        top: 10px;
        left: calc(93% + 13px);
    }
    .thinking .line div:last-child:after {
        left: calc(104% + 11px);
    }
    .thinking .line div:nth-child(2):before {
        border-bottom: none;
        top: auto;
        width: 1px;
        border-left: 1px dashed #fff;
        border-left: 1px dashed var(--main-white);
        bottom: 15px;
        height: 300px;
        left: 25px;
    }
    .thinking .line div:nth-child(3):before {
        border-bottom: none;
        top: auto;
        width: 1px;
        border-left: 1px dashed #fff;
        border-left: 1px dashed var(--main-white);
        bottom: 15px;
        height: 300px;
        left: 19px;
    }
    .thinking ul {
        width: 100%;
        margin-left: 0%;
        position: relative;
        z-index: 40;
        display: flex;
        gap: 16px;
    }
    .thinking ul li {
        width: 24%;
    }
}
@layer utility{
    .sp_only {
        display: none;
    }
    .pc_only {
        display: block;
    }
    .tabflgap__1p {
        gap: 1%;
    }
    .tabflgap__2p {
        gap: 2%;
    }
    .tabflgap__16 {
        gap: 16px;
    }
    .pcflgap__1p {
        gap: 1%;
    }
    .pcflgap__16 {
        gap: 16px;
    }
}
}
@media (min-width: 1200px){
@layer component{
    .c-cat-link h3 {
            width: 85%;
    }
    .c-cat-link h4 {
            width: 85%;
    }

.c-link-list {
        width: 85%;
}
    .tab {
            padding: 8px 48px;
    }
}
@layer project{
    .c-top-section .c-top-list-area{
            width: calc(min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) + ((100vw - min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - calc(0.25rem * 12))/2) + 16px);
            width: calc(min(var(--container-fluid), 100%) + ((100vw - min(var(--container-fluid), 100%) - var(--header-width) - var(--space-xl))/2) + 16px);
            margin-right: calc(((-100vw + 1200px) / 2) - calc(0.25rem * 18));
            margin-right: calc(((-100vw + 1200px) / 2) - var(--space-18));
    }

            :is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a{
                    padding: calc(0.25rem * 4) calc(0.25rem * 8);
                    padding: var(--space-sm) var(--space-lg) ;
            }

                    :is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content{
                            flex-direction: row;
                            align-items: center;
                    }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-lebel{
                                margin-right: calc(0.25rem * 16);
                                margin-right: var(--space-16);
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-title{
                                margin-top: 0;
                                margin-top: var(--space-none);
                        }
        :is(.c-top-section .c-about-img) img{
                width: auto;
            }
    .c-top-section .c-about-img{
            position: absolute;
    }
    .c-top-section .c-contact-img{
            right: 24px;
            top: auto;
            left: auto;
            bottom: 24px;
    }
    .c-top-section .c-contact-text{
            margin-top: 0px;
    }
    .c-top-section .c-top-btn-area{
            display: flex;

    }
            :is(.c-top-section .c-top-btn-area) .c-top-btn-item{
                width: 32%;
                margin-bottom: 0;
            }
            :is(.c-top-section .c-top-btn-area) .c-top-btn-item-sm{
                width: 24%;
                margin-bottom: 0;
            }
        .is-active:is(.c-top-section .c-top-quest-contents){
                display: flex;
                gap: calc(0.25rem * 8);
                gap: var(--space-lg);
        }

        :is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list{
                width: 40%;
        }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp{
                    display: none;
            }
                :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area{
                        display: flex;
                }
    
                    .one-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area){
                            display: flex;
                            justify-content: center;
                    }
                    .two-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area){
                            display: flex;
                            justify-content: space-around;
                    }
                    .four-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area){
                            display: flex;
                            flex-wrap: wrap;
                            justify-content: space-between;
                    }
                :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn{
                        width: 32%;
                }
                        :is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn) a{
                           min-width: auto;
                        }
                    .one-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn){
                            width: 60%;
                    }
                    .two-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn){
                            width: 45%;
                    }
                    .four-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn){
                            width: 49%;
                    }
        :is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea{
                width: 60%;
        }
            .is-active:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea){
                    display: block;
            }
                :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area{
                    display: flex;
            }

                .one-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area){
                        display: flex;
                        justify-content: center;
                }
                .two-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area){
                        display: flex;
                        justify-content: space-around;
                }
                .four-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area){
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: space-between;
                }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn{
                    width: 32%;
            }
                    :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn) a{
                       min-width: auto;
                    }
                .one-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn){
                        width: 60%;
                }
                .two-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn){
                        width: 45%;
                }
                .four-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn){
                        width: 49%;
                }
    .thinking .line div:after {
        left: calc(95% + 11px);
    }
    .thinking .line div:nth-child(2):before {
        height: 275px;
        left: 25px;
    }
    .thinking .line div:nth-child(3):before {
        height: 275px;
        left: 24px;
    }
}
}
@media (--viewport-xl){
@layer component{
    .c-cat-link h3 {
            width: 85%;
    }
    .c-cat-link h4 {
            width: 85%;
    }

.c-link-list {
        width: 85%;
}
    .tab {
            padding: 8px 48px;
    }
}
@layer project{
    .c-top-section .c-top-list-area{
            width: calc(min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) + ((100vw - min(clamp(1172 * 1px, 90vw, 1600 * 1px), 100%) - clamp(280 * 1px, calc(18vw + 50px),  320 * 1px) - calc(0.25rem * 12))/2) + 16px);
            width: calc(min(var(--container-fluid), 100%) + ((100vw - min(var(--container-fluid), 100%) - var(--header-width) - var(--space-xl))/2) + 16px);
            margin-right: calc(((-100vw + 1200px) / 2) - calc(0.25rem * 18));
            margin-right: calc(((-100vw + 1200px) / 2) - var(--space-18));
    }

            :is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a{
                    padding: calc(0.25rem * 4) calc(0.25rem * 8);
                    padding: var(--space-sm) var(--space-lg) ;
            }

                    :is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content{
                            flex-direction: row;
                            align-items: center;
                    }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-lebel{
                                margin-right: calc(0.25rem * 16);
                                margin-right: var(--space-16);
                        }
                        :is(:is(:is(:is(.c-top-section .c-top-whats-list) .c-whats-list-item) a) .card-content) .card-title{
                                margin-top: 0;
                                margin-top: var(--space-none);
                        }
        :is(.c-top-section .c-about-img) img{
                width: auto;
            }
    .c-top-section .c-about-img{
            position: absolute;
    }
    .c-top-section .c-contact-img{
            right: 24px;
            top: auto;
            left: auto;
            bottom: 24px;
    }
    .c-top-section .c-contact-text{
            margin-top: 0px;
    }
    .c-top-section .c-top-btn-area{
            display: flex;

    }
            :is(.c-top-section .c-top-btn-area) .c-top-btn-item{
                width: 32%;
                margin-bottom: 0;
            }
            :is(.c-top-section .c-top-btn-area) .c-top-btn-item-sm{
                width: 24%;
                margin-bottom: 0;
            }
        .is-active:is(.c-top-section .c-top-quest-contents){
                display: flex;
                gap: calc(0.25rem * 8);
                gap: var(--space-lg);
        }

        :is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list{
                width: 40%;
        }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp{
                    display: none;
            }
                :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area{
                        display: flex;
                }
    
                    .one-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area){
                            display: flex;
                            justify-content: center;
                    }
                    .two-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area){
                            display: flex;
                            justify-content: space-around;
                    }
                    .four-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn-area){
                            display: flex;
                            flex-wrap: wrap;
                            justify-content: space-between;
                    }
                :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn{
                        width: 32%;
                }
                        :is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn) a{
                           min-width: auto;
                        }
                    .one-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn){
                            width: 60%;
                    }
                    .two-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn){
                            width: 45%;
                    }
                    .four-btn:is(:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-detail-list) .is-active .c-top-quest-imgarea--sp) .c-top-quest-btn){
                            width: 49%;
                    }
        :is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea{
                width: 60%;
        }
            .is-active:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea){
                    display: block;
            }
                :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area{
                    display: flex;
            }

                .one-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area){
                        display: flex;
                        justify-content: center;
                }
                .two-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area){
                        display: flex;
                        justify-content: space-around;
                }
                .four-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn-area){
                        display: flex;
                        flex-wrap: wrap;
                        justify-content: space-between;
                }
            :is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn{
                    width: 32%;
            }
                    :is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn) a{
                       min-width: auto;
                    }
                .one-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn){
                        width: 60%;
                }
                .two-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn){
                        width: 45%;
                }
                .four-btn:is(:is(:is(.c-top-section .c-top-quest-contents) .c-top-quest-imgarea) .c-top-quest-btn){
                        width: 49%;
                }
    .thinking .line div:after {
        left: calc(95% + 11px);
    }
    .thinking .line div:nth-child(2):before {
        height: 275px;
        left: 25px;
    }
    .thinking .line div:nth-child(3):before {
        height: 275px;
        left: 24px;
    }
}
}
@media (min-width: 576px){
@layer component{
            :is(.c-supporter-thum-list-item a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
            :is(.card a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
            :is(.c-supporter-list-item a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
            :is(.c-report-list-item a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
}
@layer project{
    /* タブレット */
    .power picture {
        margin-top: -100px;
    }
    .thinking .line div:after {
        top: calc(96% + 10px);
    }
}
}
@media (--viewport-sm){
@layer component{
            :is(.c-supporter-thum-list-item a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
            :is(.card a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
            :is(.c-supporter-list-item a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
            :is(.c-report-list-item a)::after {
                    top: 0;
                    bottom: 0;
                    margin: auto;
                    right: 16px;
            }
}
@layer project{
    /* タブレット */
    .power picture {
        margin-top: -100px;
    }
    .thinking .line div:after {
        top: calc(96% + 10px);
    }
}
}
@media (min-width: 576px) and (max-width: 767px){
@layer component{

.c-report-list {
        grid-template-columns: repeat(2, 1fr);
}
}
}
@media (--tablet-portrait){
@layer component{

.c-report-list {
        grid-template-columns: repeat(2, 1fr);
}
}
}
