:root {
    /* colors - global tokens */
    --white: #FFF;

    --mono-100: #333;
    --mono-75: #666;
    --mono-50: #999;
    --mono-25: #CCC;
    --mono-20: #D6D6D6;
    --mono-10: #EAEAEA;
    --mono-05: #F5F5F5;

    --blue-100: #3D92F5;
    --blue-75: #6DADF7;
    --blue-50: #9DC8FA;
    --blue-25: #CEE4FD;
    --blue-20: #D8E9FD;
    --blue-10: #EBF4FE;
    --blue-05: #F5F9FF;

    --cyan-100: #16C5DB;
    --cyan-75: #50D4E4;
    --cyan-50: #8AE2ED;
    --cyan-25: #C5F0F6;
    --cyan-20: #D0F3F8;
    --cyan-10: #E7F9FB;
    --cyan-05: #F3FCFD;

    --lime-100: #54E32F;
    --lime-75: #7FEA63;
    --lime-50: #A9F196;
    --lime-25: #D4F8CA;
    --lime-20: #DDFAD5;
    --lime-10: #EDFCE9;
    --lime-05: #F6FEF4;

    --yellow-100: #FFD700;
    --yellow-75: #FFE140;
    --yellow-50: #FFEB7F;
    --yellow-25: #FFF5BF;
    --yellow-20: #FFF7CC;
    --yellow-10: #FFFBE5;
    --yellow-05: #FFFDF2;

    --orange-100: #FF8400;
    --orange-75: #FFA340;
    --orange-50: #FFC17F;
    --orange-25: #FFE0BF;
    --orange-20: #FFE0BF;
    --orange-10: #FFF2E5;
    --orange-05: #FFF9F2;

    --red-100: #FF3333;
    --red-75: #FF6666;
    --red-50: #FF9999;
    --red-25: #FFCCCC;
    --red-20: #FFD6D6;
    --red-10: #FFEAEA;
    --red-05: #FFF5F5;

    --brand-color: #DD0000;

    /* colors - Alias tokens */

    /* text */
    --text-color: var(--mono-100);
    --text-color-reserve: var(--cyan-100);
    --text-color-attention: var(--red-100);
    --text-color-disabled: var(--mono-20);

    /* link */
    --link-color: var(--blue-100);

    /* background */
    --bg-color-reserve: var(--cyan-100);
    --bg-color-emphasis-high: var(--yellow-100);
    --bg-color-emphasis-low: var(--yellow-10);
    --bg-color-conversion: var(--orange-100);
    --bg-color-attention-high: var(--red-100);
    --bg-color-attention-low: var(--red-50);
    --bg-color-disabled: var(--mono-05);

    /* border */
    --border-color: var(--mono-50);
    --border-color-reserve: var(--cyan-100);
    --border-color-attention-high: var(--red-100);
    --border-color-attention-low: var(--red-100);
    --border-color-disabled: var(--mono-05);

    /* cta */
    --text-color-cta-primary: var(--white);
    --text-color-cta-secondary: var(--blue-100);
    --bg-color-cta-primary: var(--blue-100);
    --bg-color-cta-secondary: var(--white);
    --border-color-cta-secondary: var(--blue-100);

    /* colors - Component-specific tokens */
    --button-reserve-bg-color: var(--bg-color-reserve);
    --button-attention-bg-color: var(--bg-color-attention-high);
    --button-conversion-bg-color: var(--bg-color-conversion);
    --button-primary-text-color: var(--text-color-cta-primary);
    --button-primary-bg-color: var(--bg-color-cta-primary);
    --button-secondary-text-color: var(--text-color-cta-secondary);
    --button-secondary-bg-color: var(--bg-color-cta-secondary);
    --button-secondary-border-color: var(--border-color-cta-secondary);
    --button-edit-text-color: var(--text-color-cta-secondary);
    --button-edit-bg-color: var(--bg-color-cta-secondary);
    --button-edit-border-color: var(--border-color-cta-secondary);
    --button-edit-disabled-text-color: var(--text-color-disabled);
    --button-edit-disabled-bg-color: var(--bg-color-disabled);
    --button-edit-disabled-border-color: var(--border-color-disabled);

    /*  typography  */
   /* --font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;*/
    --font-family: unset;
    --font-size: 1.4rem;

    /*  spacing */
    /*  TODO:style guide用に仮で入れています。
        今のところ使っていません。
        基本4の倍数で管理した場合
     */

    /*  app  */
    --main-width: auto;
    --content-width: 100vw;
}


/*
 後でドキュメントにするかも
 基本となるものにはbaseなどつけず名称だけ
 --font-family
 --font-family-heading
 モディファイアに段階がある場合（形容の場合のみ）
 モディファイアの後に続ける。検索性を上げるため
 --spacing
 --spacing-tight
 --spacing-tight-extra
 --spacing-tight-extra2
*/


/* デバイス別の変数 */


:root {
    --page-width: 100vw;
    --mainArea-width: 99rem;
    --content-width: 65rem;
    /* overwriting */
    --ekiten-padding-layoutGarter: 0 !important;
}


/*
    トークン名: Global
    概要: 新エキテン全体で使用するGlobalトークンの一覧。AliasもしくはspecificはGlobalに依存する。
    接頭辞: --ekiten
    命名規則: [カテゴリ名※1]-[段階名※2]
    ※1:「カテゴリ名」とは、Globalに定義しているカテゴリ名。一部例外を除きCSSプロパティ名と同様になる。
       「カラー」のカテゴリ名は、基本的に色名とする。
    ※2:「段階名」とは、カテゴリ名の値の段階名。カテゴリ名に応じて最適な命名をする。
*/


:root {
    /* ------------------------------------------------ */
    /* カテゴリ名: テキスト */
    --ekiten-font-family: "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    sans-serif;
    /* font-size */
    --ekiten-fontSize-xxl: 2.2rem;
    --ekiten-fontSize-xl: 2rem;
    --ekiten-fontSize-l: 1.6rem;
    --ekiten-fontSize-m: 1.4rem;
    --ekiten-fontSize-s: 1.2rem;
    --ekiten-fontSize-xs: 1rem;
    /* line-height */
    --ekiten-lineHeight-m: 1.6;
    --ekiten-lineHeight-s: 1.3;

    /* ------------------------------------------------ */
    /* カテゴリ名: カラー */
    --ekiten-black: #000;
    --ekiten-white: #FFF;

    --ekiten-mono-100: #333;
    --ekiten-mono-75: #666;
    --ekiten-mono-50: #999;
    --ekiten-mono-25: #CCC;
    --ekiten-mono-20: #D6D6D6;
    --ekiten-mono-10: #EAEAEA;
    --ekiten-mono-05: #F5F5F5;

    --ekiten-blue-100: #3D92F5;
    --ekiten-blue-75: #6DADF7;
    --ekiten-blue-50: #9DC8FA;
    --ekiten-blue-25: #CEE4FD;
    --ekiten-blue-20: #D8E9FD;
    --ekiten-blue-10: #EBF4FE;
    --ekiten-blue-05: #F5F9FF;

    --ekiten-cyan-100: #16C5DB;
    --ekiten-cyan-75: #50D4E4;
    --ekiten-cyan-50: #8AE2ED;
    --ekiten-cyan-25: #C5F0F6;
    --ekiten-cyan-20: #D0F3F8;
    --ekiten-cyan-10: #E7F9FB;
    --ekiten-cyan-05: #F3FCFD;

    --ekiten-lime-100: #54E32F;
    --ekiten-lime-75: #7FEA63;
    --ekiten-lime-50: #A9F196;
    --ekiten-lime-25: #D4F8CA;
    --ekiten-lime-20: #DDFAD5;
    --ekiten-lime-10: #EDFCE9;
    --ekiten-lime-05: #F6FEF4;

    --ekiten-yellow-100: #FFD700;
    --ekiten-yellow-75: #FFE140;
    --ekiten-yellow-50: #FFEB7F;
    --ekiten-yellow-25: #FFF5BF;
    --ekiten-yellow-20: #FFF7CC;
    --ekiten-yellow-10: #FFFBE5;
    --ekiten-yellow-05: #FFFDF2;

    --ekiten-orange-100: #FF8400;
    --ekiten-orange-75: #FFA340;
    --ekiten-orange-50: #FFC17F;
    --ekiten-orange-25: #FFE0BF;
    --ekiten-orange-20: #FFE0BF;
    --ekiten-orange-10: #FFF2E5;
    --ekiten-orange-05: #FFF9F2;

    --ekiten-red-100: #FF3333;
    --ekiten-red-75: #FF6666;
    --ekiten-red-50: #FF9999;
    --ekiten-red-25: #FFCCCC;
    --ekiten-red-20: #FFD6D6;
    --ekiten-red-10: #FFEAEA;
    --ekiten-red-05: #FFF5F5;

    /* 色の役割が固定されているため例外的な管理とする */
    --ekiten-brandColor: #DD0000;
    --ekiten-positiveColor: #3EA9FB;
    --ekiten-negativeColor: #FD8391;

    /* ------------------------------------------------ */
    /* カテゴリ名: scales
       memo:プリミティブなサイズを定義すべきですが、現在はないので個別に（文脈を持って）定義しています。
     */
    /* border関連 5px基準 */
    --ekiten-border-size-20: 0.1rem;
    --ekiten-border-size-40: 0.2rem;
    --ekiten-border-size-80: 0.4rem;
    --ekiten-border-size-120: 0.6rem;
    --ekiten-border-size-160: 0.8rem;

    /* item関連 5px基準 */
    --ekiten-item-size-100: 0.5rem;
    --ekiten-item-size-600: 3rem;
    --ekiten-item-size-880: 4.4rem;
    --ekiten-item-size-1000: 5rem;
    --ekiten-item-size-1200: 6rem;

    /* space関連 5px基準 */
    --ekiten-space-size-20: 0.1rem;
    --ekiten-space-size-40: 0.2rem;
    --ekiten-space-size-60: 0.3rem;
    --ekiten-space-size-80: 0.4rem;
    --ekiten-space-size-100: 0.5rem;
    --ekiten-space-size-120: 0.6rem;
    --ekiten-space-size-140: 0.7rem;
    --ekiten-space-size-160: 0.8rem;
    --ekiten-space-size-180: 0.9rem;
    --ekiten-space-size-200: 1rem;
    --ekiten-space-size-220: 1.1rem;
    --ekiten-space-size-240: 1.2rem;
    --ekiten-space-size-260: 1.3rem;
    --ekiten-space-size-280: 1.4rem;
    --ekiten-space-size-300: 1.5rem;
    --ekiten-space-size-400: 2rem;
    --ekiten-space-size-500: 2.5rem;
    --ekiten-space-size-600: 3rem;
    --ekiten-space-size-900: 4.5rem;
    --ekiten-space-size-1200: 6rem;

    /* ------------------------------------------------ */
    /* カテゴリ名: 余白（margin, padding） */

    /* ------------------------------------------------ */
    /* カテゴリ名: 透過度 */
    --ekiten-opacity-80: 0.8;
    --ekiten-opacity-25: 0.25;
    --ekiten-opacity-00: 0;

    /* ------------------------------------------------ */
    /* カテゴリ名: レイヤー */
    /* TODO：変数作成 */
    --ekiten-zIndex-04: 400;
    --ekiten-zIndex-03: 300;
    --ekiten-zIndex-02: 200;
    --ekiten-zIndex-01: 100;
    --ekiten-zIndex-00: 0;

    /* ------------------------------------------------ */
    /* カテゴリ名: 影 */
    --ekiten-boxShadow-04: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
    --ekiten-boxShadow-03: 0 0 0.6rem 0 rgba(0, 0, 0, 0.2);
    --ekiten-boxShadow-02: 0 0 0.4rem 0 rgba(0, 0, 0, 0.25);
    --ekiten-boxShadow-01: 0 0 0.2rem 0 rgba(0, 0, 0, 0.3);
    --ekiten-boxShadow-00: none;
}


/*
    トークン名: Alias
    概要: 新エキテン全体で使用するAliasトークンの一覧。AliasはGlobalに依存する。
    接頭辞: --ekiten
    命名規則: [抽象名※1]-[カテゴリ名※2]-[文脈名※3]
    ※1:「抽象名」とは、〇〇の[文字 / 線 / 背景 / サイズ / 余白 / 形 / 効果 / アイテム※4 ]といった[]内に含まれる名称。対して、〇〇に当てはまる名称は「具体名」。
    ※2:「カテゴリ名」とは、Globalに定義しているカテゴリ名。
    ※3:「文脈名」とは、ページ内における意味内容、状態。
    ※4:「抽象名」には、万能な名称として「アイテム」を命名可能とする。（ページ内にある全ての構成要素は、〇〇のアイテムと抽象化できるため）
       「アイテム」を命名する場合、以下の例ように「抽象名」が連続し命名規則のルールから逸脱するが、これを許容する。
       ex: [抽象名(item)]-[抽象名(letter)]-[カテゴリ名(color)]-[文脈名(default)]

    命名補足
    「Within」：focus,hoverアクションが要素に入った

    TODO：命名に忠実に従うことができていないです。組織内で意思相通ができるように整理する。
*/


:root {
    /* ------------------------------------------------ */
    /* 抽象名: 文字 */
    --ekiten-letter-fontFamily: var(--ekiten-font-family);
    /* font-size */
    /* 留意点: font-sizeは、globalで定義している段階をそのまま文脈に適用する。*/
    --ekiten-letter-fontSize-xs: var(--ekiten-fontSize-xs);
    --ekiten-letter-fontSize-s: var(--ekiten-fontSize-s);
    --ekiten-letter-fontSize-m: var(--ekiten-fontSize-m);
    --ekiten-letter-fontSize-l: var(--ekiten-fontSize-l);
    --ekiten-letter-fontSize-xl: var(--ekiten-fontSize-xl);
    --ekiten-letter-fontSize-xxl: var(--ekiten-fontSize-xxl);
    /* line-height */
    --ekiten-letter-lineHeight-default: var(--ekiten-lineHeight-m);
    --ekiten-letter-lineHeight-narrow: var(--ekiten-lineHeight-s);
    /* color */
    --ekiten-letter-color-default: var(--ekiten-mono-100);
    /* - 強度 */
    --ekiten-letter-color-weak: var(--ekiten-mono-50);
    --ekiten-letter-color-strong: var(--ekiten-mono-75);
    /* - テーマ */
    --ekiten-letter-color-attention: var(--ekiten-red-100);
    --ekiten-letter-color-coupon: var(--ekiten-red-50);
    --ekiten-letter-color-premiumCoupon: var(--ekiten-red-100);
    --ekiten-letter-color-sunday: #F08282;
    --ekiten-letter-color-saturday: #515DD4;
    --ekiten-letter-color-positive: var(--ekiten-positiveColor);
    --ekiten-letter-color-negative: var(--ekiten-negativeColor);
    --ekiten-letter-color-reserve: var(--ekiten-cyan-100);
    /* - 状態 */
    /*--ekiten-letter-color-disabled: var(--ekiten-mono-25);*/
    --ekiten-letter-color-overBackground: var(--ekiten-white);

    /* ------------------------------------------------ */
    /* 抽象名: リンク */
    /* color */
    --ekiten-link-color-default: var(--ekiten-blue-100);
    /* - 優先度 */
    /*--ekiten-link-color-primary: var(--ekiten-blue-100);*/
    --ekiten-link-color-secondary: var(--ekiten-mono-100);
    --ekiten-link-color-tertiary: var(--ekiten-blue-100);
    /* - 状態 */
    --ekiten-link-color-current: var(--ekiten-brandColor);
    --ekiten-link-color-overBackground: var(--ekiten-white);

    /* ------------------------------------------------ */
    /* 抽象名: 線 */
    /* color */
    --ekiten-border-color-default: var(--ekiten-mono-20);
    /* - 強度 */
    --ekiten-border-color-weak: var(--ekiten-mono-10);
    --ekiten-border-color-strong: var(--ekiten-mono-25);
    /* - 優先度 */
    /* TODO：ボタン関連は別の文脈になっていそうなので変更必要か確認 */
    --ekiten-border-color-primary: var(--ekiten-blue-100);
    --ekiten-border-color-primaryWithin: var(--ekiten-blue-75);
    --ekiten-border-color-secondary: var(--ekiten-mono-10);
    --ekiten-border-color-secondaryWithin: var(--ekiten-mono-05);
    --ekiten-border-color-secondaryOn: var(--ekiten-mono-75);
    --ekiten-border-color-tertiary: var(--ekiten-blue-100);
    --ekiten-border-color-tertiaryWithin: var(--ekiten-blue-100);
    /* - テーマ */
    --ekiten-border-color-attention: var(--ekiten-red-100);
    --ekiten-border-color-coupon: var(--ekiten-red-50);
    --ekiten-border-color-premiumCoupon: var(--ekiten-red-100);
    /* TODO：ボタン関連は別の文脈になっていそうなので変更必要か確認 */
    --ekiten-border-color-contactAction: var(--ekiten-red-100);
    --ekiten-border-color-contactActionWithin: var(--ekiten-red-75);
    --ekiten-border-color-customContactAction: var(--ekiten-orange-100);
    --ekiten-border-color-customContactActionWithin: var(--ekiten-orange-75);
    --ekiten-border-color-reserve: var(--ekiten-cyan-100);
    --ekiten-border-color-reserveWithin: var(--ekiten-cyan-75);
    /* - 状態 */
    --ekiten-border-color-disabled: var(--ekiten-mono-05);
    --ekiten-border-color-overBackground: var(--ekiten-white);
    --ekiten-border-color-quiet: rgba(0, 0, 0, 0);
    /* scales */
    --ekiten-border-size-default: var(--ekiten-border-size-20);
    --ekiten-border-size-l: var(--ekiten-border-size-40);
    /* - テーマ */
    --ekiten-border-size-marker: var(--ekiten-border-size-160);
    /* - 状態 */
    --ekiten-border-size-current: var(--ekiten-border-size-80);

    /* ------------------------------------------------ */
    /* 抽象名: 背景 */
    /* color */
    --ekiten-background-color-white: var(--ekiten-white);
    --ekiten-background-color-default: var(--ekiten-mono-10);
    /* - 強度 */
    --ekiten-background-color-weak: var(--ekiten-mono-05);
    --ekiten-background-color-strong: var(--ekiten-mono-50);
    /* - 優先度 */
    /* TODO：ボタン関連は別の文脈になっていそうなので変更必要か確認 */
    --ekiten-background-color-primary: var(--ekiten-blue-100);
    --ekiten-background-color-primaryWithin: var(--ekiten-blue-75);
    --ekiten-background-color-secondary: var(--ekiten-mono-10);
    --ekiten-background-color-secondaryWithin: var(--ekiten-mono-05);
    --ekiten-background-color-secondaryOn: var(--ekiten-mono-75);
    --ekiten-background-color-tertiary: var(--ekiten-white);
    --ekiten-background-color-tertiaryWithin: var(--ekiten-blue-10);
    /* - テーマ */
    --ekiten-background-color-attention: var(--ekiten-red-100);
    --ekiten-background-color-coupon: var(--ekiten-red-50);
    --ekiten-background-color-premiumCoupon: var(--ekiten-red-100);
    --ekiten-background-color-notice: var(--ekiten-yellow-10);
    --ekiten-background-color-reply: var(--ekiten-orange-05);
    --ekiten-background-color-sunday: #FFEAEA;
    --ekiten-background-color-saturday: #E8F3FD;
    --ekiten-background-color-positive: var(--ekiten-positiveColor);
    --ekiten-background-color-negative: var(--ekiten-negativeColor);
    --ekiten-background-color-modal: rgba(0, 0, 0, var(--ekiten-opacity-80));
    /* TODO：ボタン関連は別の文脈になっていそうなので変更必要か確認 */
    --ekiten-background-color-contactAction: var(--ekiten-red-100);
    --ekiten-background-color-contactActionWithin: var(--ekiten-red-75);
    --ekiten-background-color-customContactAction: var(--ekiten-orange-100);
    --ekiten-background-color-customContactActionWithin: var(--ekiten-orange-75);
    --ekiten-background-color-reserve: var(--ekiten-cyan-100);
    --ekiten-background-color-reserveWithin: var(--ekiten-cyan-75);
    /* - 状態 */
    --ekiten-background-color-disabled: var(--ekiten-mono-05);
    --ekiten-background-color-overBackground: var(--ekiten-white);
    --ekiten-background-color-quiet: rgba(0, 0, 0, 0);
    --ekiten-background-color-placeholder: var(--ekiten-mono-05);

    /* ------------------------------------------------ */
    /* 抽象名: レイヤー */
    /* 留意点: レイヤーは、globalで定義している段階を文脈に落とし込むことができないため、文脈名に具体名を持たせることを許容する。 */
    /* TODO：階層付される機能の仕様自体が正しく設定できていないの下記はまだ使用しないこと。z-index指定が必要な場合はベタで適当に設定しておく */
    --ekiten-layer-zIndex-modal: var(--ekiten-zIndex-04);
    --ekiten-layer-zIndex-tooltip: var(--ekiten-zIndex-03);
    --ekiten-layer-zIndex-navigation: var(--ekiten-zIndex-02);
    --ekiten-layer-zIndex-overlay: var(--ekiten-zIndex-01);
    --ekiten-layer-zIndex-base: var(--ekiten-zIndex-00);

    /* ------------------------------------------------ */
    /* 抽象名: appearance（外観） */
    /* boxShadow */
    /* - 強度 */
    --ekiten-appearance-boxShadow-stronger: var(--ekiten-boxShadow-04);
    --ekiten-appearance-boxShadow-strong: var(--ekiten-boxShadow-03);
    --ekiten-appearance-boxShadow-week: var(--ekiten-boxShadow-02);
    --ekiten-appearance-boxShadow-weeker: var(--ekiten-boxShadow-01);
    --ekiten-appearance-boxShadow-none: var(--ekiten-boxShadow-00);
    /* opacity */
    /* - 状態 */
    --ekiten-appearance-opacity-disabled: var(--ekiten-opacity-25);

    /* ------------------------------------------------ */
    /* 抽象名: 要素間・コンテンツ間の間隔（margin） */
    /* 留意点01: 垂直方向にしか使えません。別コンテンツ間、コンポーネント内の構造間（〇〇bodyと〇〇footerなど）と考えるとわかりやすい。 */
    /* TODO:反映は未 */
    --ekiten-margin-unityNarrow: var(--ekiten-space-size-100);
    --ekiten-margin-unityDefault: var(--ekiten-space-size-200);
    --ekiten-margin-unityWide: var(--ekiten-space-size-300);
    --ekiten-margin-divideNarrow: var(--ekiten-space-size-400);
    --ekiten-margin-divideDefault: var(--ekiten-space-size-600);
    --ekiten-margin-divideWide: var(--ekiten-space-size-1200);

    /* 抽象名: 隙間（gap） */
    /* 留意点01: CSSのgapと意味ではありません。marginに指定しても問題ありません。 */
    /* 留意点02: コンポーネント内の要素同士の間隔と考えるとわかりやすい。 */
    --ekiten-gap-gridGarter: var(--ekiten-space-size-300);

    /* 抽象名: 詰め物（padding） */
    /* TODO:汎用的なもの未作成。 */
    /* - テーマ */
    --ekiten-padding-layoutGarter: var(--ekiten-space-size-300);
    --ekiten-padding-layoutGarterReset: calc(-1 * var(--ekiten-padding-layoutGarter));

    /* ------------------------------------------------ */
    /* 抽象名: item */
    /* scales */
    /* - height */
    --ekiten-item-height-s: var(--ekiten-item-size-600);
    --ekiten-item-height-m: var(--ekiten-item-size-880);
    --ekiten-item-height-l: var(--ekiten-item-size-1000);
    --ekiten-item-height-xl: var(--ekiten-item-size-1200);
    /* - size（幅・高さ両方） */
    --ekiten-item-size-s: var(--ekiten-item-size-600);
    --ekiten-item-size-m: var(--ekiten-item-size-880);
    --ekiten-item-size-l: var(--ekiten-item-size-1000);
    --ekiten-item-size-xl: var(--ekiten-item-size-1200);
    /* border-radius */

    /* ------------------------------------------------ */
    /* 抽象名: 対象物限定 */
    /* scales */
    --ekiten-appHeader-height-default: 4rem;
}


/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */


html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}


*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}


:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}


* {
  padding: 0;
  margin: 0;
}


hr {
  overflow: visible;
  height: 0;
}


details,
main {
  display: block;
}


summary {
  display: list-item;
}


small {
  font-size: 80%;
}


[hidden] {
  display: none;
}


abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}


a {
  background-color: transparent;
}


a:active,
a:hover {
  outline-width: 0;
}


code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}


pre {
  font-size: 1em;
}


b,
strong {
  font-weight: bolder;
}


sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}


sub {
  bottom: -0.25em;
}


sup {
  top: -0.5em;
}


input {
  border-radius: 0;
}


[disabled] {
  cursor: default;
}


[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}


[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}


[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}


textarea {
  overflow: auto;
  resize: vertical;
}


button,
input,
optgroup,
select,
textarea {
  font: inherit;
}


optgroup {
  font-weight: 700;
}


button {
  overflow: visible;
}


button,
select {
  text-transform: none;
}


[role="button"],
[type="button"],
[type="reset"],
[type="submit"],
button {
  cursor: pointer;
  color: inherit;
}


[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}


[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}


[type="reset"],
[type="submit"],
button,
html [type="button"] {
  -webkit-appearance: button;
}


button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}


select {
  -moz-appearance: none;
  -webkit-appearance: none;
}


select::-ms-expand {
  display: none;
}


select::-ms-value {
  color: currentColor;
}


legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}


::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}


img {
  border-style: none;
}


progress {
  vertical-align: baseline;
}


@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}


[aria-busy="true"] {
  cursor: progress;
}


[aria-controls] {
  cursor: pointer;
}


[aria-disabled] {
  cursor: default;
}


/*
リセット（ress.css）に追加する形で、初期化を行う為のstyleを指定しています。
classをあてないで使用されることがないものはなるべくこちらで指定しないようにしてください。
*/


html {
    line-height: 1.6;
    line-height: var(--ekiten-letter-lineHeight-default);
    font-size: 62.5%; /* font-size 1em = 10px */
}


body {
    background-color: #FFF;
    background-color: var(--ekiten-background-color-white);
    font-family: "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    sans-serif;
    font-family: var(--ekiten-letter-fontFamily);
    font-size: 1.4rem;
    font-size: var(--ekiten-letter-fontSize-m);
    color: #333;
    color: var(--ekiten-letter-color-default);
    line-break: strict;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
    font-size: inherit;
}


ul, ol {
    list-style: none;
}


a {
    color: inherit;
    text-decoration: none;
}


a:hover {
    text-decoration: inherit;
}


em {
    font-style: normal;
}


div, p, dd {
    word-wrap: break-word;
    overflow-wrap: break-word;
}


address {
    font-style: normal;
}


img {
    /* TODO：width: 100%指定を無くした影響を確認 */
    /*width: 100%;
    height: auto;*/
    vertical-align: bottom;

    /* TODO：fix 無くしたので使用箇所からclass外す */
}


/*&.fix {
        width: auto;
    }*/


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


/**
 iconは文字列と同等の扱いの特別な要素としています
 */


.ll-icon {
    width: 1em;
    min-width: 1.4rem;
    height: 1em;
    min-height: 1.4rem;
    display: inline-block;
    vertical-align: middle;
    fill: currentColor;
    transition: transform 0.3s;
    pointer-events: none; /* javascriptのevent伝搬を禁止している場合にsvgがイベントを拾ってしまうのを防ぐ */
    font-size: inherit;
}


.ll-icon--outline {
        stroke: currentColor;
        stroke-width: 1;
        fill: none;
    }


/* ボタンアクションに含まれるアイコンはアクション済みの場合にoutlineからfillに戻す */


button[aria-pressed="true"] .ll-icon--outline {
    fill: currentColor;
}


.pageWrapper {
    width: 100%;
    min-width: 99rem;
}


.mainFrame {
    display: flex;
    flex-flow: column;
    min-height: 100vh;
}


.headerContainer {
    min-width: 99rem;
    width: 100%;
    height: 6rem;
    background-color: #fff;
    border-bottom: solid 0.1rem #EAEAEA;
    border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-weak);
}


.mainContainer {
    position: relative;
    flex: 1;
    width: 99rem;
    margin: 0 auto;
    padding: 3rem 0;
}


.mainContainer .aboveMainContent {
        margin-bottom: 2.5rem;
    }


.mainContainer .mainContent {
        container-type: inline-size;
        width: 65rem;
        margin: 0 auto;
    }


.mainContainer .mainContent--full {
            width: auto;
            width: initial;
        }


.mainContainer .asideContent {
        container-type: inline-size;
        width: 31rem;
    }


.mainContainer--asideLeft {
        display: flex;
        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }


.mainContainer--asideLeft .mainContent {
            order: 2;
        }


.mainContainer--asideLeft .asideContent {
            order: 1;
        }


.mainContainer--asideRight {
        display: flex;
        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }


.mainContainer--asideRight .mainContent {
            order: 1;
        }


.mainContainer--asideRight .asideContent {
            order: 2;
        }


.mainContainer--topFit {
        padding-top: 0;
    }


.mainContainer .mainContentAside {
        container-type: inline-size;
    }


.bottomContentsContainer {
    container-type: inline-size;
    position: relative;
    width: 99rem;
    margin: 0 auto;
    padding: 3rem 0;
}


.bottomContentsContainer:before {
        content: "";
        position: absolute;
        top: 0;
        width: 100vw;
        height: 1px;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
        background: #D6D6D6;
    }


.bottomContentsContainer > *:last-child {
        margin-bottom: 0;
        margin-bottom: initial;
    }


.pageTopContainer {
    width: 99rem;
    margin: 2rem auto;
    text-align: right;
}


.footerContainer {
    width: 100%;
    min-width: 99rem;
    background: #F5F5F5;
    background: var(--ekiten-background-color-weak);
}


.floatingFrame {
    position: sticky;
    bottom: 0;
    /* TODO:適当です */
    z-index: 1000;
}


/* TODO：仮 各テンプレのレイアウうと作成して移動する */


.shopListHeader {
    padding-bottom: 3rem;
}


.shopListMain {
    display: flex;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    padding-bottom: 3rem;
}


.shopListMainMainColumn {
        flex-grow: 1;
        order: 1;
    }


.shopListMainSideColumn {
        order: 0;
        width: 22.5rem;
        flex-shrink: 0;
    }


.shopListMain > *:last-child {
        margin-bottom: 0;
        margin-bottom: initial;
    }


/* TODO：仮 各テンプレのレイアウうと作成して移動する */


/* TODO：仮 SPと設計が揺れているので統一する */


.shopPageMain {
    display: flex;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    width: 99rem;
    padding: 3rem 0;
}


.shopPageMainMainColumn {
        container-type: inline-size;
        width: 65rem;
    }


.shopPageMainSideColumn {
        container-type: inline-size;
        width: 31rem;
        flex-shrink: 0;
    }


.shopPageHeader {
    margin: 3rem 0;
}


.timeLinePageHeader {
    position: relative;
}


.timeLineContent,
.memberContent,
.myShopContent {
    container-type: inline-size;
    display: flex;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    width: 99rem;
    margin: auto;
}


/*padding: 3rem 0;*/


.timeLineContentMain, .memberContentMain, .myShopContentMain {
        container-type: inline-size;
        order: 1;
        width: 65rem;
    }


/* TODO：下記不要と思われるので一旦コメントアウト */


.timeLineContentAside, .memberContentAside, .myShopContentAside {
        container-type: inline-size;
        order: 2;
        width: 31rem;
    }


.timeLineContentAside__profilePanel, .memberContentAside__profilePanel {
            margin-bottom: 1.5rem;
        }


.timeLineContent {
    position: relative;
    z-index: 1;
    padding-top: 1.5rem;
}


.timeLineContent::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        z-index: -1;
        width: 100vw;
        height: 100%;
        background-color: #EAEAEA;
        background-color: var(--ekiten-background-color-default);
        transform: translateX(-50%);
    }


.timeLineContentMain__reviewPost {
        margin-bottom: 1.5rem;
        padding: 1.5rem; /* デザイン上の恣意的な値です。*/
        background-color: #FFF;
        background-color: var(--white); /* デザイン上の恣意的な値です。*/
    }


.timeLineContentMain__activityPanels {
    }


.header {
    position: relative;
    display: flex;
    align-items: center;
    width: 99rem;
    height: 6rem;
    margin: 0 auto;
    border-bottom: solid 0.1rem #EAEAEA;
    border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-weak);
}


.header__logo {
        width: 11rem;
        margin-right: auto;
    }


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


.header__utils {
        display: flex;
    }


.footer {
    width: 99rem;
    margin: 0 auto;
    padding: 3rem 0 2rem;
    background: #F5F5F5;
    background: var(--ekiten-background-color-weak);
}


.footer__footer {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin-top: 3rem;
    }


.footer__utilLinks {
        display: flex;
        align-items: center;
        justify-content: center;
        -moz-column-gap: 7rem;
             column-gap: 7rem;
    }


@media (hover: hover) {
                .footer__utilLinks a:hover {
                    text-decoration: underline;
                }
            }


.footer__companyLinks {
        display: flex;
        justify-content: flex-start;
        -moz-column-gap: 1.5rem;
             column-gap: 1.5rem;
    }


.footer__companyLinks > li {
            font-size: 1.2rem;
        }


@media (hover: hover) {
                    .footer__companyLinks > li a:hover {
                        text-decoration: underline;
                    }
                }


.footer__companyLinks > li .hasIcon {
                display: inline-flex;
                align-items: center;
            }


.footer__companyLinks > li .hasIcon > .ll-icon {
                    margin-left: .5rem;
                }


.footer__copy {
        font-size: 1rem;
        color: #999;
        color: var(--mono-50);
        margin-left: auto;
        white-space: nowrap;
    }


.layoutNonStatus__pageWrapper {
        width: 100%;
    }


.layoutNonStatus__mainFrame {
        display: flex;
        flex-flow: column;
        min-height: 100vh;
    }


.layoutNonStatus__headerContainer {
        min-width: 65rem;
        width: 100%;
        height: 6rem;
        background-color: #fff;
        border-bottom: solid 0.1rem #EAEAEA;
        border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-weak);
    }


.layoutNonStatus__mainContainer {
        flex: 1;
        width: 65rem;
        margin: 0 auto;
        padding: 1.5rem 1.5rem 4.5rem;
    }


.layoutNonStatus__footerContainer {
        width: 100%;
        min-width: 65rem;
        background: #F5F5F5;
        background: var(--ekiten-background-color-weak);
    }


.headerNonStatus {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65rem;
    height: 6rem;
    margin: 0 auto;
    border-bottom: solid 0.1rem #EAEAEA;
    border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-weak);
}


.headerNonStatus__logo {
        width: 11rem;
    }


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


.ll-a-anchorLink {
    display: inline-flex;
    align-items: center;
    color: #333;
    color: var(--ekiten-link-color-secondary);
    text-decoration: underline;
    font-size: inherit;
}


.ll-a-anchorLink--m {
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
    }


.ll-a-anchorLink--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-a-anchorLink--xs {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
    }


.ll-a-anchorLink--overBackGround {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
    }


.ll-a-anchorLink__label + .ll-icon {
            margin-left: .3rem;
        }


.ll-a-anchorLink .ll-icon {
        flex-shrink: 0;
    }


.ll-a-anchorLink .ll-icon + .ll-a-anchorLink__label {
            margin-left: .3rem;
        }


.ll-a-annotation {
    font-size: 0.6em;
    font-weight: normal;
    vertical-align: top;
}


.ll-a-avatar {
    display: inline-block;
}


.ll-a-avatar--m > img {
            width: 3rem;
            width: var(--ekiten-item-size-s);
            height: 3rem;
            height: var(--ekiten-item-size-s);
        }


.ll-a-avatar--l > img {
            width: 6rem;
            width: var(--ekiten-item-size-xl);
            height: 6rem;
            height: var(--ekiten-item-size-xl);
        }


.ll-a-avatar img {
        border-radius: 50%;
    }


.ll-a-badge {
    position: relative;
    display: inline-block;
}


.ll-a-badge__badge {
        position: absolute;
        top: 0;
        right: 0;
        width: 0.6rem;
        height: 0.6rem;
        background-color: #FF3333;
        background-color: var(--ekiten-background-color-attention);
        border-radius: 50%;
    }


.ll-a-beforeAfterButton {
    min-width: 10.5rem;
    min-height: 3rem;
    min-height: var(--ekiten-item-height-s);
    padding: 0 1.5rem;
    border: 0.1rem solid;
    border: var(--ekiten-border-size-default) solid;
    border-color: #EAEAEA;
    border-color: var(--ekiten-background-color-secondary);
    border-radius: calc(3rem/2);
    border-radius: calc(var(--ekiten-item-height-s)/2);
    background-color: #EAEAEA;
    background-color: var(--ekiten-border-color-secondary);
    font-size: 1.2rem;
    font-size: var(--ekiten-letter-fontSize-s);
    font-weight: bold;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
    color: #333;
    color: var(--ekiten-link-color-secondary);
    white-space: nowrap;
}


.ll-a-beforeAfterButton > * {
        white-space: nowrap;
    }


@media (hover: hover) {
        .ll-a-beforeAfterButton:hover {
            background-color: #F5F5F5;
            background-color: var(--ekiten-border-color-secondaryWithin);
            border-color: #F5F5F5;
            border-color: var(--ekiten-border-color-secondaryWithin);
        }
    }


.ll-a-beforeAfterButton[aria-pressed="true"] {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        border-color: #EAEAEA;
        border-color: var(--ekiten-border-color-secondary);
        background-color: #666;
        background-color: var(--ekiten-background-color-secondaryOn);
    }


.ll-a-bodyText {
    color: inherit;
    line-height: 1.6;
    line-height: var(--ekiten-letter-lineHeight-default);
}


.ll-a-bodyText--xxl {
        font-size: 2.2rem;
        font-size: var(--ekiten-letter-fontSize-xxl);
    }


.ll-a-bodyText--xl {
        font-size: 2rem;
        font-size: var(--ekiten-letter-fontSize-xl);
    }


.ll-a-bodyText--l {
        font-size: 1.6rem;
        font-size: var(--ekiten-letter-fontSize-l);
    }


.ll-a-bodyText--m {
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
    }


.ll-a-bodyText--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-a-bodyText--xs {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
    }


.ll-a-bodyText + .ll-a-bodyText {
        margin-top: 1.5rem;
    }


.ll-a-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    border: 0.1rem solid;
    border: var(--ekiten-border-size-default) solid;
    font-weight: bold;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}


.ll-a-button > * {
        pointer-events: none;
    }


.ll-a-button--l {
        min-height: 5rem;
        min-height: var(--ekiten-item-height-l);
        padding: 0 calc(5rem - 1.6rem);
        padding: 0 calc(var(--ekiten-item-height-l) - var(--ekiten-letter-fontSize-l));
        font-size: 1.6rem;
        font-size: var(--ekiten-letter-fontSize-l);
        border-radius: calc(5rem/2);
        border-radius: calc(var(--ekiten-item-height-l)/2);
    }


.ll-a-button--m {
        min-height: 4.4rem;
        min-height: var(--ekiten-item-height-m);
        padding: 0 calc(4.4rem - 1.4rem);
        padding: 0 calc(var(--ekiten-item-height-m) - var(--ekiten-letter-fontSize-m));
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
        border-radius: calc(4.4rem/2);
        border-radius: calc(var(--ekiten-item-height-m)/2);
    }


.ll-a-button--s {
        min-height: 3rem;
        min-height: var(--ekiten-item-height-s);
        padding: 0 calc(3rem - 1.2rem);
        padding: 0 calc(var(--ekiten-item-height-s) - var(--ekiten-letter-fontSize-s));
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        border-radius: calc(3rem/2);
        border-radius: calc(var(--ekiten-item-height-s)/2);
    }


.ll-a-button--primary {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        background-color: #3D92F5;
        background-color: var(--ekiten-background-color-primary);
        border-color: #3D92F5;
        border-color: var(--ekiten-border-color-primary);
    }


/* TODO：他のhover指定含めて、適切な指定を行う。 */


@media (hover: hover) {
            .ll-a-button--primary:hover {
                background-color: #6DADF7;
                background-color: var(--ekiten-background-color-primaryWithin);
                border-color: #6DADF7;
                border-color: var(--ekiten-border-color-primaryWithin);
            }
        }


.ll-a-button--secondary {
        color: #333;
        color: var(--ekiten-link-color-secondary);
        background-color: #EAEAEA;
        background-color: var(--ekiten-border-color-secondary);
        border-color: #EAEAEA;
        border-color: var(--ekiten-background-color-secondary);
    }


@media (hover: hover) {
            .ll-a-button--secondary:hover {
                background-color: #F5F5F5;
                background-color: var(--ekiten-border-color-secondaryWithin);
                border-color: #F5F5F5;
                border-color: var(--ekiten-border-color-secondaryWithin);
            }
        }


.ll-a-button--tertiary {
        color: #3D92F5;
        color: var(--ekiten-link-color-tertiary);
        background-color: #FFF;
        background-color: var(--ekiten-background-color-tertiary);
        border-color: #3D92F5;
        border-color: var(--ekiten-border-color-tertiary);
    }


@media (hover: hover) {
            .ll-a-button--tertiary:hover {
                background-color: #EBF4FE;
                background-color: var(--ekiten-background-color-tertiaryWithin);
                border-color: #3D92F5;
                border-color: var(--ekiten-border-color-tertiaryWithin);
            }
        }


.ll-a-button--full {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }


.ll-a-button--disabled {
        opacity: 0.25;
        opacity: var(--ekiten-appearance-opacity-disabled);
        pointer-events: none;
    }


.ll-a-button .ll-icon {
        flex-shrink: 0;
    }


.ll-a-countButton {
    display: flex;
    align-items: center;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}


.ll-a-countButton button {
        width: auto;
        min-height: 3rem;
        min-height: var(--ekiten-item-height-s);
        padding: 0 calc(3rem - 1.2rem);
        padding: 0 calc(var(--ekiten-item-height-s) - var(--ekiten-letter-fontSize-s));
        border: 0.1rem solid;
        border: var(--ekiten-border-size-default) solid;
        border-color: #EAEAEA;
        border-color: var(--ekiten-background-color-secondary);
        border-radius: calc(3rem/2);
        border-radius: calc(var(--ekiten-item-height-s)/2);
        background-color: #EAEAEA;
        background-color: var(--ekiten-border-color-secondary);
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        font-weight: bold;
        line-height: 1.3;
        line-height: var(--ekiten-letter-lineHeight-narrow);
        color: #333;
        color: var(--ekiten-link-color-secondary);
    }


.ll-a-countButton button + span {
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            white-space: nowrap;
        }


@media (hover: hover) {
            .ll-a-countButton button:hover {
                background-color: #F5F5F5;
                background-color: var(--ekiten-border-color-secondaryWithin);
                border-color: #F5F5F5;
                border-color: var(--ekiten-border-color-secondaryWithin);
            }
        }


.ll-a-countButton button[aria-pressed="true"] {
            color: #FFF;
            color: var(--ekiten-link-color-overBackground);
            border-color: #EAEAEA;
            border-color: var(--ekiten-border-color-secondary);
            background-color: #666;
            background-color: var(--ekiten-background-color-secondaryOn);
        }


.ll-a-countButton button[aria-pressed="true"] + span {
                font-weight: bold;
            }


.ll-a-countButton--disabled button {
            opacity: 0.25;
            opacity: var(--ekiten-appearance-opacity-disabled);
            pointer-events: none;
        }


.ll-a-cvButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    border: 0.1rem solid;
    border: var(--ekiten-border-size-default) solid;
    font-weight: bold;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
}


.ll-a-cvButton > * {
        pointer-events: none;
    }


.ll-a-cvButton--l {
        min-height: 5rem;
        min-height: var(--ekiten-item-height-l);
        padding: 0 calc(5rem - 1.6rem);
        padding: 0 calc(var(--ekiten-item-height-l) - var(--ekiten-letter-fontSize-l));
        font-size: 1.6rem;
        font-size: var(--ekiten-letter-fontSize-l);
        border-radius: calc(5rem/2);
        border-radius: calc(var(--ekiten-item-height-l)/2);
    }


.ll-a-cvButton--m {
        min-height: 4.4rem;
        min-height: var(--ekiten-item-height-m);
        padding: 0 calc(4.4rem - 1.4rem);
        padding: 0 calc(var(--ekiten-item-height-m) - var(--ekiten-letter-fontSize-m));
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
        border-radius: calc(4.4rem/2);
        border-radius: calc(var(--ekiten-item-height-m)/2);
    }


.ll-a-cvButton--s {
        min-height: 3rem;
        min-height: var(--ekiten-item-height-s);
        padding: 0 calc(3rem - 1.2rem);
        padding: 0 calc(var(--ekiten-item-height-s) - var(--ekiten-letter-fontSize-s));
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        border-radius: calc(3rem/2);
        border-radius: calc(var(--ekiten-item-height-s)/2);
    }


.ll-a-cvButton--full {
        width: 100%;
    }


.ll-a-cvButton--action {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        background-color: #FF3333;
        background-color: var(--ekiten-background-color-contactAction);
        border-color: #FF3333;
        border-color: var(--ekiten-border-color-contactAction);
    }


@media (hover: hover) {
            .ll-a-cvButton--action:hover {
                background-color: #FF6666;
                background-color: var(--ekiten-background-color-contactActionWithin);
                border-color: #FF6666;
                border-color: var(--ekiten-border-color-contactActionWithin);
            }
        }


.ll-a-cvButton--reserve {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        background-color: #16C5DB;
        background-color: var(--ekiten-background-color-reserve);
        border-color: #16C5DB;
        border-color: var(--ekiten-border-color-reserve);
    }


@media (hover: hover) {
            .ll-a-cvButton--reserve:hover {
                background-color: #50D4E4;
                background-color: var(--ekiten-background-color-reserveWithin);
                border-color: #50D4E4;
                border-color: var(--ekiten-border-color-reserveWithin);
            }
        }


.ll-a-cvButton--inquiry {
        color: #333;
        color: var(--ekiten-link-color-secondary);
        background-color: #EAEAEA;
        background-color: var(--ekiten-border-color-secondary);
        border-color: #EAEAEA;
        border-color: var(--ekiten-background-color-secondary);
    }


@media (hover: hover) {
            .ll-a-cvButton--inquiry:hover {
                background-color: #F5F5F5;
                background-color: var(--ekiten-border-color-secondaryWithin);
                border-color: #F5F5F5;
                border-color: var(--ekiten-border-color-secondaryWithin);
            }
        }


.ll-a-cvButton--customConversion {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        background-color: #FF8400;
        background-color: var(--ekiten-background-color-customContactAction);
        border-color: #FF8400;
        border-color: var(--ekiten-border-color-customContactAction);
    }


.ll-a-cvButton--customConversion:hover {
            background-color: #FFA340;
            background-color: var(--ekiten-background-color-customContactActionWithin);
            border-color: #FFA340;
            border-color: var(--ekiten-border-color-customContactActionWithin);
        }


.ll-a-cvButton--disabled {
        opacity: 0.25;
        opacity: var(--ekiten-appearance-opacity-disabled);
        pointer-events: none;
    }


.ll-a-detailText {
    color: inherit;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
}


.ll-a-detailText--m {
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
    }


.ll-a-detailText--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-a-detailText--xs {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
    }


.ll-a-divider {
    border-top: solid .1rem #D6D6D6;
    border-top: solid .1rem var(--mono-20);
    border-bottom: none;
    border-left: none;
    border-right: none;
    margin: 2rem 0;
}


.ll-a-emphasisLabelText {
    position: relative;
    display: inline-block;
    padding: 0.1rem 1rem 0;
    font-size: inherit;
    font-weight: bold;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
    color: #FF3333;
    color: var(--ekiten-letter-color-attention);
}


.ll-a-emphasisLabelText::before,
    .ll-a-emphasisLabelText::after {
        content: "";
        position: relative;
        display: inline-block;
        top: 0;
        width: 0.1rem;
        height: 1em;
        background-color: #FF3333;
        background-color: var(--ekiten-letter-color-attention);
    }


.ll-a-emphasisLabelText::before {
        left: -0.3rem;
        transform: rotate(-32deg);
        transform-origin: left bottom;
    }


.ll-a-emphasisLabelText::after {
        right: -0.3rem;
        transform: rotate(32deg);
        transform-origin: right bottom;
    }


.ll-a-emphasisText {
    margin: 0 .5rem;
    color: #FF3333;
    color: var(--ekiten-letter-color-attention);
    font-size: inherit;
}


.ll-a-googleMap {
    width: 100%;
    height: 100%;
}


.ll-a-googleMap--widthSizeS {
        width: 35vw;
    }


.ll-a-googleMap--widthSizeM {
        width: 50vw;
    }


.ll-a-googleMap--widthSizeL {
        width: 65vw;
    }


.ll-a-googleMap--widthSizeFull {
        width: 100vw;
    }


.ll-a-googleMap--heightSizeS {
        height: 35vh;
    }


.ll-a-googleMap--heightSizeM {
        height: 50vh;
    }


.ll-a-googleMap--heightSizeL {
        height: 65vh;
    }


.ll-a-googleMap--heightSizeFull {
        height: 100vh;
    }


.ll-a-heading {
    font-weight: bold;
    color: inherit;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
}


.ll-a-heading__sub {
        font-weight: normal;
        font-size: 83.3%;
    }


.ll-a-heading--xxl {
        font-size: 2.2rem;
        font-size: var(--ekiten-letter-fontSize-xxl);
    }


.ll-a-heading--xl {
        font-size: 2rem;
        font-size: var(--ekiten-letter-fontSize-xl);
    }


.ll-a-heading--l {
        font-size: 1.6rem;
        font-size: var(--ekiten-letter-fontSize-l);
    }


.ll-a-heading--m {
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
    }


.ll-a-heading--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-a-heading--attention {
        color: #FF3333;
        color: var(--ekiten-letter-color-attention);
    }


.ll-a-iconButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0.1rem solid;
    border: var(--ekiten-border-size-default) solid;
    border-radius: 50%;
}


.ll-a-iconButton .ll-icon {
        font-size: 2rem;
        width: 1em;
        height: 1em;
    }


.ll-a-iconButton--m {
        width: 4.4rem;
        width: var(--ekiten-item-size-m);
        height: 4.4rem;
        height: var(--ekiten-item-size-m);
    }


.ll-a-iconButton--s {
        width: 3rem;
        width: var(--ekiten-item-size-s);
        height: 3rem;
        height: var(--ekiten-item-size-s);
    }


.ll-a-iconButton--primary {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        background-color: #3D92F5;
        background-color: var(--ekiten-background-color-primary);
        border-color: #3D92F5;
        border-color: var(--ekiten-border-color-primary);
    }


@media (hover: hover) {
            .ll-a-iconButton--primary:hover {
                background-color: #6DADF7;
                background-color: var(--ekiten-background-color-primaryWithin);
                border-color: #6DADF7;
                border-color: var(--ekiten-border-color-primaryWithin);
            }
        }


.ll-a-iconButton--secondary {
        color: #333;
        color: var(--ekiten-link-color-secondary);
        background-color: #EAEAEA;
        background-color: var(--ekiten-border-color-secondary);
        border-color: #EAEAEA;
        border-color: var(--ekiten-background-color-secondary);
    }


@media (hover: hover) {
            .ll-a-iconButton--secondary:hover {
                background-color: #F5F5F5;
                background-color: var(--ekiten-border-color-secondaryWithin);
                border-color: #F5F5F5;
                border-color: var(--ekiten-border-color-secondaryWithin);
            }
        }


.ll-a-iconButton--tertiary {
        color: #3D92F5;
        color: var(--ekiten-link-color-tertiary);
        background-color: #FFF;
        background-color: var(--ekiten-background-color-tertiary);
        border-color: #3D92F5;
        border-color: var(--ekiten-border-color-tertiary);
    }


@media (hover: hover) {
            .ll-a-iconButton--tertiary:hover {
                background-color: #EBF4FE;
                background-color: var(--ekiten-background-color-tertiaryWithin);
                border-color: #3D92F5;
                border-color: var(--ekiten-border-color-tertiaryWithin);
            }
        }


.ll-a-iconButton--disabled {
        opacity: 0.25;
        opacity: var(--ekiten-appearance-opacity-disabled);
        pointer-events: none;
    }


.ll-a-iconButton--quiet {
        background-color: rgba(0, 0, 0, 0);
        background-color: var(--ekiten-background-color-quiet);
        border-color: rgba(0, 0, 0, 0);
        border-color: var(--ekiten-border-color-quiet);
    }


.ll-a-iconCountButton {
    display: flex;
    align-items: center;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}


.ll-a-iconCountButton button {
        display: flex;
        align-items: center;
        font-size: 2rem;
        color: #FF3333;
        color: var(--ekiten-red-100);
    }


.ll-a-iconCountButton button + span {
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            white-space: nowrap;
        }


@media (hover: hover) {
            .ll-a-iconCountButton button:hover {
                background-color: #F5F5F5;
                background-color: var(--ekiten-border-color-secondaryWithin);
                border-color: #F5F5F5;
                border-color: var(--ekiten-border-color-secondaryWithin);
            }
        }


.ll-a-iconCountButton--good button {
            color: #FF3333;
            color: var(--ekiten-red-100);
        }


.ll-a-iconCountButton--good button[aria-pressed="true"] + span {
                    color: #FF3333;
                    color: var(--ekiten-red-100);
                }


.ll-a-iconCountButton--disabled button {
            opacity: 0.25;
            opacity: var(--ekiten-appearance-opacity-disabled);
            pointer-events: none;
        }


.ll-a-iconTextButton {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.4rem;
    font-size: var(--ekiten-item-size-m);
    gap: 0.5rem;
}


.ll-a-iconTextButton .ll-icon {
        font-size: 2rem;
        width: 1em;
        height: 1em;
    }


.ll-a-iconTextButton__label {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
        font-weight: bold;
        line-height: 1;
    }


@media (hover: hover) {
        .ll-a-iconTextButton:hover {
            background-color: #F5F5F5;
            background-color: var(--ekiten-border-color-secondaryWithin);
            border-color: #F5F5F5;
            border-color: var(--ekiten-border-color-secondaryWithin);
        }
    }


.ll-a-iconTextButton--bottom {
        flex-direction: column;
    }


.ll-a-iconTextButton--top {
        flex-direction: column;
    }


.ll-a-iconTextButton--top .ll-a-iconTextButton__label {
            order: 2;
        }


.ll-a-iconTextButton--left {
        flex-direction: row-reverse;

    }


.ll-a-iconTextButton--right {
        flex-direction: row;
    }


/* memo:
縦横比維持
横幅は表示領域max
縦はトリミング
 */


.ll-a-imagePreview {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
}


.ll-a-imagePreview > img {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        height: auto;
    }


.ll-a-imagePreview--fixSize {
        padding-top: 0;
        padding-top: initial;
    }


.ll-a-numberBadge {
    display: inline-block;
    min-width: 1.6rem;
    font-size: 1.2rem;
    font-size: var(--ekiten-letter-fontSize-s);
    font-weight: normal;
    color: #FFF;
    color: var(--ekiten-letter-color-overBackground);
    border-radius: 1.3rem;
    line-height: 1;
    text-align: center;
    padding: 0.2rem 0.3rem;
    flex-shrink: 0;
}


.ll-a-numberBadge--primary {
        background-color: #FF3333;
        background-color: var(--ekiten-background-color-attention);
    }


.ll-a-numberBadge--secondary {
        background-color: #CCC;
        background-color: var(--ekiten-border-color-strong);
    }


.ll-a-priceText__taxDisplay {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
        font-weight: normal;
    }


.ll-a-ratingPoint {
    display: flex;
    align-items: center;
}


.ll-a-ratingPoint__icon {
        display: flex;
        position: relative;
        width: 2rem;
        height: 2rem;
    }


.ll-a-ratingPoint__icon .ll-icon {
            position: absolute;
            top: 0;
            left: 0;
            fill: #EAEAEA;
            fill: var(--ekiten-mono-10);
            font-size: 2rem;
        }


.ll-a-ratingPoint__icon .ll-icon:first-child {
                transform-origin: 50% 50%;
                transform: scale(-1, 1);
            }


.ll-a-ratingPoint__text {
        margin-left: 0.5rem;
        font-size: 1.6rem;
        font-size: var(--ekiten-letter-fontSize-l);
        font-weight: bold;
        color: #FF3333;
        color: var(--ekiten-letter-color-attention);
        line-height: 1;
    }


.ll-a-ratingPoint--l .ll-a-ratingPoint__icon {
            width: 3.5rem;
            height: 3.5rem;
        }


.ll-a-ratingPoint--l .ll-a-ratingPoint__icon .ll-icon {
                font-size: 3.5rem;
            }


.ll-a-ratingPoint--rate5 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon:first-child {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate15 .ll-a-ratingPoint__icon:nth-child(2) .ll-icon:first-child {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate25 .ll-a-ratingPoint__icon:nth-child(3) .ll-icon:first-child {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate35 .ll-a-ratingPoint__icon:nth-child(4) .ll-icon:first-child {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate45 .ll-a-ratingPoint__icon:nth-child(5) .ll-icon:first-child {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate10 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon, .ll-a-ratingPoint--rate15 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon, .ll-a-ratingPoint--rate20 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon, .ll-a-ratingPoint--rate25 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon, .ll-a-ratingPoint--rate30 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon, .ll-a-ratingPoint--rate35 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon, .ll-a-ratingPoint--rate40 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon, .ll-a-ratingPoint--rate45 .ll-a-ratingPoint__icon:nth-child(1) .ll-icon {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate20 .ll-a-ratingPoint__icon:nth-child(2) .ll-icon, .ll-a-ratingPoint--rate25 .ll-a-ratingPoint__icon:nth-child(2) .ll-icon, .ll-a-ratingPoint--rate30 .ll-a-ratingPoint__icon:nth-child(2) .ll-icon, .ll-a-ratingPoint--rate35 .ll-a-ratingPoint__icon:nth-child(2) .ll-icon, .ll-a-ratingPoint--rate40 .ll-a-ratingPoint__icon:nth-child(2) .ll-icon, .ll-a-ratingPoint--rate45 .ll-a-ratingPoint__icon:nth-child(2) .ll-icon {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate30 .ll-a-ratingPoint__icon:nth-child(3) .ll-icon, .ll-a-ratingPoint--rate35 .ll-a-ratingPoint__icon:nth-child(3) .ll-icon, .ll-a-ratingPoint--rate40 .ll-a-ratingPoint__icon:nth-child(3) .ll-icon, .ll-a-ratingPoint--rate45 .ll-a-ratingPoint__icon:nth-child(3) .ll-icon {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate40 .ll-a-ratingPoint__icon:nth-child(4) .ll-icon, .ll-a-ratingPoint--rate45 .ll-a-ratingPoint__icon:nth-child(4) .ll-icon {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-ratingPoint--rate50 .ll-a-ratingPoint__icon .ll-icon {
                    fill: #FFD700;
                    fill: var(--ekiten-yellow-100);
                }


.ll-a-noteText {
    display: flex;
    color: inherit;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
    font-size: inherit;
}


.ll-a-noteText .ll-a-noteText__asterisk {
        margin-right: .5rem;
    }


.ll-a-noteText--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-a-noteText--xs {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
    }


.ll-a-leadText {
    font-size: 1.6rem;
    font-size: var(--ekiten-letter-fontSize-l);
    color: #333;
    color: var(--ekiten-letter-color-default);
    line-height: 1.6;
    line-height: var(--ekiten-lineHeight-m);
}


.ll-a-listNumberText {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: baseline;
    color: inherit;
}


.ll-a-listNumberText--overBackGround {
        color: #FFF;
        color: var(--white);
    }


.ll-a-listNumberText--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-a-listNumberText--s .ll-a-listNumberText__name,
        .ll-a-listNumberText--s .ll-a-listNumberText__counters {
            font-size: .857em;
        }


.ll-a-listNumberText--m {
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
    }


.ll-a-listNumberText--m .ll-a-listNumberText__name,
        .ll-a-listNumberText--m .ll-a-listNumberText__counters {
            font-size: .857em;
        }


.ll-a-listNumberText--l {
        font-size: 1.6rem;
        font-size: var(--ekiten-letter-fontSize-l);
    }


.ll-a-listNumberText--l .ll-a-listNumberText__number {
            font-weight: bold;
        }


.ll-a-listNumberText--l .ll-a-listNumberText__name,
        .ll-a-listNumberText--l .ll-a-listNumberText__counters {
            font-size: .75em;
        }


.ll-a-listNumberText--xl {
        font-size: 2rem;
        font-size: var(--ekiten-letter-fontSize-xl);
    }


.ll-a-listNumberText--xl .ll-a-listNumberText__number {
            font-weight: bold;
        }


.ll-a-listNumberText--xl .ll-a-listNumberText__name,
        .ll-a-listNumberText--xl .ll-a-listNumberText__counters {
            font-size: .75em;
        }


.ll-a-listNumberText__name {
        font-weight: bold;
        margin-right: 0.3rem;
    }


.ll-a-listNumberText__number {
        flex-shrink: 0;
    }


.ll-a-listNumberText__counters {
        margin-left: 0.3rem;
    }


.ll-a-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}


.ll-a-loader__loader {
        fill: #999;
        fill: var(--mono-50);
    }


.ll-a-loader__loader--isOverBackGround {
            fill: #EAEAEA;
            fill: var(--mono-10);
        }


.ll-a-mapContainer {
    margin: 0 calc(-1 * 1.5rem);
    margin: 0 var(--ekiten-padding-layoutGarterReset);
}


/* memo：google mapを使用している場合の指定になります。 */


.ll-a-mapContainer > iframe {
        width: 100%;
        height: 75vh;
    }


.ll-a-snsHeading {
    font-weight: bold;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
    font-size: 1.4rem;
    border: solid .1rem #D6D6D6;
    border: solid .1rem var(--mono-20);
    padding: 1rem 1.5rem;
}


.ll-a-snsHeading__img {
        width: 1.8rem;
        height: 1.8rem;
        margin-right: 1rem;
    }


.ll-a-switchButton {
    display: flex;
    min-height: 4.4rem;
    min-height: var(--ekiten-item-height-m);
    border-radius: 2.2rem;
}


.ll-a-switchButton .ll-a-switchButton__button {
        width: 100%;
        padding: 0 1rem;
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        color: #333;
        color: var(--ekiten-link-color-secondary);
        line-height: 1.3;
        line-height: var(--ekiten-letter-lineHeight-narrow);
        background-color: #EAEAEA;
        background-color: var(--ekiten-background-color-secondary);
    }


.ll-a-switchButton .ll-a-switchButton__button:hover:enabled {
            background-color: #F5F5F5;
            background-color: var(--ekiten-background-color-secondaryWithin);
        }


.ll-a-switchButton .ll-a-switchButton__button:hover:enabled.ll-a-switchButton__button--on {
                background-color: #666;
                background-color: var(--ekiten-mono-75);
            }


.ll-a-switchButton .ll-a-switchButton__button:first-child {
            border-radius: 2.2rem 0 0 2.2rem;
        }


.ll-a-switchButton .ll-a-switchButton__button:last-child {
            border-radius: 0 2.2rem 2.2rem 0;
        }


.ll-a-switchButton .ll-a-switchButton__button:not(:first-child) {
            border-left: 0.1rem solid #EAEAEA;
            border-left: var(--ekiten-border-size-default) solid var(--ekiten-border-color-weak);
        }


.ll-a-switchButton .ll-a-switchButton__button--on {
            color: #FFF;
            color: var(--ekiten-link-color-overBackground);
            background-color: #666;
            background-color: var(--ekiten-mono-75);
        }


.ll-a-switchButton .ll-a-switchButton__button--disabled {
            opacity: 0.25;
            opacity: var(--ekiten-appearance-opacity-disabled);
            pointer-events: none;
        }


.ll-a-switchCountButton {
    display: flex;
    min-height: 4.4rem;
    min-height: var(--ekiten-item-height-m);
    border-radius: 0.6rem;
}


.ll-a-switchCountButton .ll-a-switchCountButton__button {
        width:  100%;
        padding: 0 1rem;
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        line-height: 1.3;
        line-height: var(--ekiten-letter-lineHeight-narrow);
        background-color: #EAEAEA;
        background-color: var(--ekiten-background-color-secondary);
    }


.ll-a-switchCountButton .ll-a-switchCountButton__button:hover:enabled {
             background-color: #F5F5F5;
             background-color: var(--ekiten-background-color-secondaryWithin);
        }


.ll-a-switchCountButton .ll-a-switchCountButton__button:first-child {
            border-radius: 2.2rem 0 0 2.2rem;
        }


.ll-a-switchCountButton .ll-a-switchCountButton__button:last-child {
            border-radius: 0 2.2rem 2.2rem 0;
        }


.ll-a-switchCountButton .ll-a-switchCountButton__button:not(:first-child) {
            border-left: 0.1rem solid #EAEAEA;
            border-left: var(--ekiten-border-size-default) solid var(--ekiten-border-color-weak);
        }


.ll-a-switchCountButton .ll-a-switchCountButton__button--positive {
            color: #3EA9FB;
            color: var(--ekiten-letter-color-positive);
        }


.ll-a-switchCountButton .ll-a-switchCountButton__button--negative {
            color: #FD8391;
            color: var(--ekiten-letter-color-negative);
        }


.ll-a-switchCountButton .ll-a-switchCountButton__button--on {
            color: #FFF;
            color: var(--ekiten-link-color-overBackground);
        }


.ll-a-switchCountButton .ll-a-switchCountButton__button--on.ll-a-switchCountButton__button--positive {
                background-color: #3EA9FB;
                background-color: var(--ekiten-background-color-positive);
            }


.ll-a-switchCountButton .ll-a-switchCountButton__button--on.ll-a-switchCountButton__button--positive:hover:enabled {
                    background-color: #3EA9FB;
                    background-color: var(--ekiten-background-color-positive);
                }


.ll-a-switchCountButton .ll-a-switchCountButton__button--on.ll-a-switchCountButton__button--negative {
                background-color: #FD8391;
                background-color: var(--ekiten-background-color-negative);
            }


.ll-a-switchCountButton .ll-a-switchCountButton__button--on.ll-a-switchCountButton__button--negative:hover:enabled {
                    background-color: #FD8391;
                    background-color: var(--ekiten-background-color-negative);
                }


.ll-a-switchCountButton .ll-a-switchCountButton__button--disabled {
            opacity: 0.25;
            opacity: var(--ekiten-appearance-opacity-disabled);
            pointer-events: none;
        }


.ll-a-switchCountButton .ll-a-switchCountButton__count {
        display: block;
    }


.ll-a-tag {
    display: inline-block;
    line-height: 1;
}


.ll-a-tag > * {
        display: inline-block;
        max-width: 100%;
        padding: 0.4rem 0.6rem;
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
        color: #333;
        color: var(--ekiten-letter-color-default);
        line-height: 1;
        vertical-align: bottom;
        background-color: #FFF;
        background-color: var(--ekiten-background-color-white);
        border: 0.1rem solid #D6D6D6;
        border: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }


.ll-a-tag > *:hover {
            text-decoration: none;
        }


/* TODO：名称変える */


.ll-a-tag--gray > * {
            color: #FFF;
            color: var(--ekiten-letter-color-overBackground);
            background-color: #999;
            background-color: var(--ekiten-background-color-strong);
            border-color: #999;
            border-color: var(--ekiten-background-color-strong);
        }


.ll-a-tag--cyan100 > * {
            color: #FFF;
            color: var(--ekiten-letter-color-overBackground);
            background-color: #16C5DB;
            background-color: var(--ekiten-background-color-reserve);
            border-color: #16C5DB;
            border-color: var(--ekiten-background-color-reserve);
        }


.ll-a-tag--red100 > * {
            color: #FFF;
            color: var(--ekiten-letter-color-overBackground);
            background-color: #FF3333;
            background-color: var(--ekiten-background-color-attention);
            border-color: #FF3333;
            border-color: var(--ekiten-background-color-attention);
        }


.ll-a-tag--borderRed100 > * {
            color: #FF3333;
            color: var(--ekiten-background-color-attention);
            background-color: #FFF;
            background-color: var(--ekiten-background-color-white);
            border-color: #FF3333;
            border-color: var(--ekiten-background-color-attention);
        }


.ll-a-tag--overBackGround > * {
            color: #FFF;
            color: var(--white);
            background-color: transparent;
            background-color: initial;
        }


.ll-a-tagButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    width: auto;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
    border: 0.1rem solid;
    border: var(--ekiten-border-size-default) solid;
    min-height: 3rem;
    min-height: var(--ekiten-item-height-s);
    padding: 0.5rem 1rem;
    font-size: 1.4rem;
    font-size: var(--ekiten-letter-fontSize-m);
    border-radius: 0.6rem;
    color: #333;
    color: var(--ekiten-link-color-secondary);
    background-color: #EAEAEA;
    background-color: var(--ekiten-background-color-secondary);
    border-color: #EAEAEA;
    border-color: var(--ekiten-border-color-secondary);
}


.ll-a-tagButton__label {
        text-align: left;
    }


@media (hover: hover) {
        .ll-a-tagButton:hover {
            background-color: #F5F5F5;
            background-color: var(--ekiten-border-color-secondaryWithin);
            border-color: #F5F5F5;
            border-color: var(--ekiten-border-color-secondaryWithin);
        }
    }


/* TODO:詳細度でhover打ち消し。詳細度を利用するか検討すること */


.ll-a-tagButton.ll-a-tagButton--selected {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        border-color: #EAEAEA;
        border-color: var(--ekiten-border-color-secondary);
        background-color: #666;
        background-color: var(--ekiten-background-color-secondaryOn);
    }


.ll-a-tagButton .ll-icon {
        flex-shrink: 0;
    }


.ll-a-textLink {
    display: inline-flex;
    align-items: center;
    -moz-column-gap: 0.3rem;
         column-gap: 0.3rem;
    line-height: inherit;
    font-size: inherit;
}


.ll-a-textLink--m {
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
    }


.ll-a-textLink--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-a-textLink--xs {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
    }


.ll-a-textLink--primary {
        color: #3D92F5;
        color: var(--ekiten-link-color-default);
        text-decoration: none;
    }


@media (hover: hover) {
            .ll-a-textLink--primary:hover {
                text-decoration: underline;
            }
        }


.ll-a-textLink--secondary {
        color: #333;
        color: var(--ekiten-link-color-secondary);
        text-decoration: underline;
    }


@media (hover: hover) {
            .ll-a-textLink--secondary:hover {
                text-decoration: none;
            }
        }


.ll-a-textLink--overBackGround {
        color: #FFF;
        color: var(--ekiten-link-color-overBackground);
        text-decoration: underline;
    }


@media (hover: hover) {
            .ll-a-textLink--overBackGround:hover {
                text-decoration: none;
            }
        }


.ll-a-textLink__label {
        pointer-events: none;
    }


.ll-a-textLink .ll-icon {
        flex-shrink: 0;
        pointer-events: none;
    }


.ll-a-thumbnail {
    -o-object-fit: contain;
       object-fit: contain;
    width: 100%;
    height: auto;
}


.ll-a-thumbnail--xs {
        width: 5rem;
        height: 5rem;
    }


.ll-a-thumbnail--s {
        width: 7.5rem;
        height: 7.5rem;
    }


.ll-a-thumbnail--m {
        width: 10rem;
        height: 10rem;
    }


.ll-a-thumbnail--clippedCorner {
        border-radius: 0.6rem;
    }


.ll-a-thumbnail:not(img){
        display: block;
        background: #F5F5F5;
        background: var(--ekiten-background-color-placeholder);
    }


.ll-a-toggleSwitchButton {
    position: relative;
    display: inline-block;
}


.ll-a-toggleSwitchButton input {
        position: absolute;
        clip: rect(0, 0, 0, 0);
        width: 0.1rem;
        height: 0.1rem;
        margin: -0.1rem;
        padding: 0;
        border: 0;
        white-space: nowrap;
    }


.ll-a-toggleSwitchButton input:checked ~ .ll-a-toggleSwitchButton__switchArea {
            background-color: #3D92F5;
            background-color: var(--ekiten-background-color-primary);
            border-color: #3D92F5;
            border-color: var(--ekiten-border-color-primary);
        }


.ll-a-toggleSwitchButton input:checked ~ .ll-a-toggleSwitchButton__switchArea .ll-a-toggleSwitchButton__button {
            background-color: #FFF;
            background-color: var(--ekiten-background-color-white);
            transform: translateX(1.6rem);
        }


.ll-a-toggleSwitchButton__inner {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 0.5rem;
        cursor: pointer;
    }


.ll-a-toggleSwitchButton__label {
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
        font-weight: bold;
        line-height: 1;
        text-align: center;
    }


.ll-a-toggleSwitchButton__switchArea {
        position: relative;
        width: 3.6rem;
        height: 2rem;
        margin: auto;
        background-color: #D6D6D6;
        background-color: var(--ekiten-mono-20);
        border: 0.1rem solid #D6D6D6;
        border: var(--ekiten-border-size-default) solid var(--ekiten-mono-20);
        border-radius: 4rem;
    }


.ll-a-toggleSwitchButton__button {
        position: absolute;
        top: 0.1rem;
        left: 0.1rem;
        width: 1.6rem;
        height: 1.6rem;
        background-color: #FFF;
        background-color: var(--ekiten-background-color-white);
        border-radius: 50%;
        transition: 0.2s;
    }


.ll-a-toggleSwitchButton--bottom {
    }


.ll-a-toggleSwitchButton--top .ll-a-toggleSwitchButton__label {
            order: 2;
        }


.ll-a-toggleSwitchButton--disabled .ll-a-toggleSwitchButton__switchArea {
        background-color: #f5f5f5 !important;
    }


.ll-a-toggleSwitchButton--disabled .ll-a-toggleSwitchButton__button {
        background-color: #eaeaea !important;
    }


.ll-a-video {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
}


.ll-a-video > iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }


.ll-a-snsButton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: 0.1rem solid;
    border: var(--ekiten-border-size-default) solid;
    font-weight: bold;
    line-height: 1.3;
    line-height: var(--ekiten-letter-lineHeight-narrow);
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
    min-height: 4.4rem;
    min-height: var(--ekiten-item-height-m);
    padding: 0 calc(4.4rem - 1.4rem);
    padding: 0 calc(var(--ekiten-item-height-m) - var(--ekiten-letter-fontSize-m));
    font-size: 1.4rem;
    font-size: var(--ekiten-letter-fontSize-m);
    border-radius: calc(4.4rem / 2);
    border-radius: calc(var(--ekiten-item-height-m) / 2);
    color: #333;
    color: var(--mono-100);
    background-color: #FFF;
    background-color: var(--white);
    border-color: #D6D6D6;
    border-color: var(--mono-20);
    position: relative;
}


@media (hover: hover) {
        .ll-a-snsButton:hover {
            background-color: #F5F5F5;
        }
    }


.ll-a-snsButton__img {
        position: absolute;
        top: 50%;
        left: 2rem;
        transform: translateY(-50%);
        width: 1.8rem;
        height: 1.8rem;
    }


.ll-a-bannerListItem {
    display: block;
}


.ll-a-bannerListItem img {
        width: 100%;
    }


.ll-a-bannerListItem > * {
        pointer-events: none;
    }


.ll-a-errorText {
    color: #FF3333;
    color: var(--text-color-attention);
}


/* TODO:変数に置き換える */


.ll-a-errorText + .ll-a-errorText {
        margin-top: 1.5rem;
    }


/*
* TODO: hover時のスタイルを mediaQuery で制御する
* TODO: storybookに登録する
*/


.ll-a-select {
    display: inline-block;
    position: relative;
    border-radius: 6px;
    width: 100%;
}


.ll-a-select:hover {
        box-shadow: 0 0 .4rem #3D92F5;
        box-shadow: 0 0 .4rem var(--blue-100);
    }


.ll-a-select__select-box {
        border: solid 1px #D6D6D6;
        border: solid 1px var(--mono-20);
        border-radius: 6px;
        color: #333;
        color: var(--mono-100);
        width: 100%;
        height: 100%;
        padding: 0 4rem 0 1.5rem;
        cursor: pointer;
    }


.ll-a-select .ll-icon {
        color: #666;
        color: var(--mono-75);
        width: 1.6rem;
        position: absolute;
        right: 1.5rem;
        top: 50%;
        transform: translateY(-50%);
    }


.ll-a-select--m {
        font-size: 1.6rem;
        height: 4.4rem;
    }


.ll-a-select--s {
        font-size: 1.2rem;
        height: 3rem;
    }


/* オプションの文字数に合わせる場合 */


.ll-a-select--autoWidth .ll-a-select__select-box {
            width: auto;
        }


.ll-a-select--disabled .ll-a-select__select-box {
            background-color: #F5F5F5;
            background-color: var(--mono-05);
            color: #CCC;
            color: var(--mono-25);
        }


.ll-a-select--disabled .ll-icon {
            fill: #CCC;
            fill: var(--mono-25);
        }


.ll-a-select--error .ll-a-select__select-box {
            background-color: #FFF5F5;
            background-color: var(--red-05);
            color: #FF3333;
            color: var(--red-100);
            border-color: #FF9999;
            border-color: var(--red-50)
        }


.ll-a-select--error .ll-icon {
            fill: #FF3333;
            fill: var(--red-100);
        }


.ll-a-select--multiple {
        position: relative;
    }


.ll-a-select--multiple .ll-a-select__select-box:focus {
                position: absolute;
                height: 13.2rem; /* 4.4 * 3 */
                padding: 0;
                padding: initial;
                background-color: #fff;
                z-index: 1;
            }


/* ファイル分割 */


.ll-a-textFiled {
    position: relative;
    width: 100%;
}


.ll-a-textFiled__input {
        border: solid 1px #ccc;
        border-radius: 5px;
        padding: 0.95rem 1rem;
        width: 100%;
        font-size: 1.6rem;
        line-height: 1.4375;
    }


textarea.ll-a-textFiled__input {
            height: 10em;
        }


.ll-a-textFiled__input::-moz-placeholder {
            color: #ccc;
        }


.ll-a-textFiled__input:-ms-input-placeholder {
            color: #ccc;
        }


.ll-a-textFiled__input::placeholder {
            color: #ccc;
        }


.ll-a-textFiled__input--invalid {
            border-color: #FF9999;
            background-color: #FFF5F5;
        }


.ll-a-textFiled__input[disabled] {
            border-color: #D6D6D6;
            background-color: #F5F5F5;
            color: #CCC;
            cursor: not-allowed;
        }


.ll-a-textFiled__input[disabled]::-moz-placeholder {
                color: #F5F5F5;
            }


.ll-a-textFiled__input[disabled]:-ms-input-placeholder {
                color: #F5F5F5;
            }


.ll-a-textFiled__input[disabled]::placeholder {
                color: #F5F5F5;
            }


.ll-a-textFiled__icon {
        position: absolute;
        font-size: 2rem;
        top: 50%;
        right: 1.5rem;
        transform: translateY(-50%);
        color: #999;
        color: var(--mono-50);
    }


.ll-a-textFiled--s .ll-a-textFiled__input {
            padding-top: 0.575rem;
            padding-bottom: 0.575rem;
            font-size: 1.2rem;
            line-height: 1.375;
        }


.ll-a-textFiled--s .ll-a-textFiled__input[type="date"],
            .ll-a-textFiled--s .ll-a-textFiled__input[type="month"],
            .ll-a-textFiled--s .ll-a-textFiled__input[type="datetime-local"],
            .ll-a-textFiled--s .ll-a-textFiled__input[type="time"] {
                padding-top: 0.475rem;
                padding-bottom: 0.475rem;
            }


/* ファイル分割 */


.ll-m-formSection__header {
        margin-bottom: 2rem;
    }


.ll-m-formSection__lead {
        margin-bottom: 2rem;
    }


.ll-m-formSection__body .ll-m-formSection {
            margin-bottom: 3rem;
        }


.ll-m-formSection__footer {
        margin-top: 4.5rem;
    }


/* ファイル分割 */


.ll-m-formRepeat__item {
        display: flex;
        -moz-column-gap: 1rem;
             column-gap: 1rem;
        align-items: center;
        margin-bottom: 1rem;
    }


.ll-m-formRepeat__item__main {
            flex-grow: 1;
        }


.ll-m-formRepeat__item__controller {
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: center;
            flex-shrink: 0;
            min-width: 3rem;
            min-width: var(--ekiten-item-size-s);
        }


.ll-m-formRepeat__item__controller > * {
                /* orderの上に重なるように調整 */
                z-index: 1;
            }


.ll-m-formRepeat__item__controller--hasOrder {
                min-height: 10.5rem; /* magic number コントローラー + X分の高さ */
            }


.ll-m-formRepeat__item__controller__order {
                position: absolute;
                top: 0;
                bottom: 0;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                z-index: 0;
            }


.ll-m-formRepeat__footer {
        border-top: solid 1px #ddd;
        padding-top: 1.5rem;
        text-align: center;
    }


.ll-m-inputItem__head {
        margin-bottom: 1rem;
    }


.ll-m-inputItem__body--bodyAsidePosition-top {
            display: flex;
            flex-direction: column;
            row-gap: 1rem;
        }


.ll-m-inputItem__body--bodyAsidePosition-top .ll-m-inputItem__body__aside {
                order: 0;
            }


.ll-m-inputItem__body--bodyAsidePosition-top .ll-m-inputItem__body__main {
                order: 1;
            }


.ll-m-inputItem__body--bodyAsidePosition-bottom {
            display: flex;
            flex-direction: column;
            row-gap: 1rem;
        }


.ll-m-inputItem__body--bodyAsidePosition-bottom .ll-m-inputItem__body__aside {
                order: 1;
            }


.ll-m-inputItem__body--bodyAsidePosition-bottom .ll-m-inputItem__body__main {
                order: 0;
            }


.ll-m-inputItem__body--bodyAsidePosition-left {
            display: flex;
            align-items: center;
            -moz-column-gap: 1rem;
                 column-gap: 1rem;
        }


.ll-m-inputItem__body--bodyAsidePosition-left .ll-m-inputItem__body__aside {
                order: 0;
                flex-grow: 1;
                flex-shrink: initial;
            }


.ll-m-inputItem__body--bodyAsidePosition-left .ll-m-inputItem__body__main {
                order: 1;
                flex-grow: initial;
                flex-shrink: 0;
            }


.ll-m-inputItem__body--bodyAsidePosition-right {
            display: flex;
            align-items: center;
            -moz-column-gap: 1rem;
                 column-gap: 1rem;
        }


.ll-m-inputItem__body--bodyAsidePosition-right .ll-m-inputItem__body__aside {
                order: 1;
                flex-grow: initial;
                flex-shrink: 0;
            }


.ll-m-inputItem__body--bodyAsidePosition-right .ll-m-inputItem__body__main {
                order: 0;
                flex-grow: 1;
                flex-shrink: initial;
            }


.ll-m-inputItem__input {
        display: flex;
        align-items: center;
        -moz-column-gap: 0.5rem;
             column-gap: 0.5rem;
    }


.ll-m-inputItem__input__suffix {
            flex-shrink: 0;
            align-self: flex-end;
            font-size: 1.2rem;
        }


.ll-m-inputItem__helperContainer {
        display: flex;
        justify-content: space-between;
        margin-top: 0.5rem;
        -moz-column-gap: 1.5rem;
             column-gap: 1.5rem;
    }


.ll-m-inputItem__helperCount {
        margin-left: auto;
        font-size: 1.2rem;
        color: #999;
        white-space: nowrap;
        line-height: 1.3;
    }


.ll-m-inputItem__helperCount__max {
            font-weight: bold;
        }


.ll-m-inputItem__HelperText {
        font-size: 1.2rem;
        color: #999;
        line-height: 1.3;
    }


.ll-m-inputItem__invalidMessageContainer {
        margin-top: 1rem;
    }


.ll-m-inputItem__addInfoContainer {
        margin-top: 1rem;
    }


.ll-m-inputItem--invalid .ll-m-inputItem__helperCount {
            color: #FF3333;
        }


.ll-m-inputItem--hidden {
        display: none;
    }


/*&--grouped {
        margin-bottom: 1.5rem;
    }*/


.ll-m-inputItem--colSpan-1 {
            grid-column: span 1;
        }


.ll-m-inputItem--colSpan-2 {
            grid-column: span 2;
        }


.ll-m-inputItem--colSpan-3 {
            grid-column: span 3;
        }


.ll-m-inputItem--colSpan-4 {
            grid-column: span 4;
        }


.ll-m-inputItem--colSpan-5 {
            grid-column: span 5;
        }


.ll-m-inputItem--colSpan-6 {
            grid-column: span 6;
        }


.ll-m-inputItem--colSpan-7 {
            grid-column: span 7;
        }


.ll-m-inputItem--colSpan-8 {
            grid-column: span 8;
        }


.ll-m-inputItem--colSpan-9 {
            grid-column: span 9;
        }


.ll-m-inputItem--colSpan-10 {
            grid-column: span 10;
        }


.ll-m-inputItem--colSpan-11 {
            grid-column: span 11;
        }


.ll-m-inputItem--colSpan-12 {
            grid-column: span 12;
        }


.ll-m-inputConfirmItem__head {
        margin-bottom: 1rem;
    }


.ll-m-inputConfirmItem__body {
    }


.ll-m-inputConfirmItem__text {
        white-space: pre-wrap;
    }


.ll-m-inputConfirmItem--colSpan-1 {
            grid-column: span 1;
        }


.ll-m-inputConfirmItem--colSpan-2 {
            grid-column: span 2;
        }


.ll-m-inputConfirmItem--colSpan-3 {
            grid-column: span 3;
        }


.ll-m-inputConfirmItem--colSpan-4 {
            grid-column: span 4;
        }


.ll-m-inputConfirmItem--colSpan-5 {
            grid-column: span 5;
        }


.ll-m-inputConfirmItem--colSpan-6 {
            grid-column: span 6;
        }


.ll-m-inputConfirmItem--colSpan-7 {
            grid-column: span 7;
        }


.ll-m-inputConfirmItem--colSpan-8 {
            grid-column: span 8;
        }


.ll-m-inputConfirmItem--colSpan-9 {
            grid-column: span 9;
        }


.ll-m-inputConfirmItem--colSpan-10 {
            grid-column: span 10;
        }


.ll-m-inputConfirmItem--colSpan-11 {
            grid-column: span 11;
        }


.ll-m-inputConfirmItem--colSpan-12 {
            grid-column: span 12;
        }


.ll-m-inputItemGroup__head {
        margin-bottom: 1rem;
    }


.ll-m-inputItemGroup__lead {
        margin-bottom: 1rem;
    }


.ll-m-inputItemGroup__body {
        display: grid;
        grid-gap: 3rem;
        gap: 3rem;
    }


.ll-m-inputItemGroup__addInfoContainer {
        margin-top: 1rem;
    }


.ll-m-inputItemGroup--uiControl .ll-m-inputItemGroup__body {
            grid-template-columns: repeat(12, 1fr);
            gap: 1.5rem;
        }


.ll-m-inputItemGroup--uiControl.ll-m-inputItemGroup--columnGapWide .ll-m-inputItemGroup__body {
                -moz-column-gap: 3rem;
                     column-gap: 3rem;
            }


.ll-m-inputItemGroup--colSpan-1 {
            grid-column: span 1;
        }


.ll-m-inputItemGroup--colSpan-2 {
            grid-column: span 2;
        }


.ll-m-inputItemGroup--colSpan-3 {
            grid-column: span 3;
        }


.ll-m-inputItemGroup--colSpan-4 {
            grid-column: span 4;
        }


.ll-m-inputItemGroup--colSpan-5 {
            grid-column: span 5;
        }


.ll-m-inputItemGroup--colSpan-6 {
            grid-column: span 6;
        }


.ll-m-inputItemGroup--colSpan-7 {
            grid-column: span 7;
        }


.ll-m-inputItemGroup--colSpan-8 {
            grid-column: span 8;
        }


.ll-m-inputItemGroup--colSpan-9 {
            grid-column: span 9;
        }


.ll-m-inputItemGroup--colSpan-10 {
            grid-column: span 10;
        }


.ll-m-inputItemGroup--colSpan-11 {
            grid-column: span 11;
        }


.ll-m-inputItemGroup--colSpan-12 {
            grid-column: span 12;
        }


.ll-a-inputLabel {
    font-weight: bold;
    font-size: 1.6rem;
}


.ll-a-inputLabel__tag {
        margin-left: 0.5rem;
        line-height: 1;
        padding: 0.4rem 0.6rem;
        font-size: 1rem;
        font-size: var(--ekiten-letter-fontSize-xs);
        font-weight: normal;
        color: #FF3333;
        color: var(--ekiten-letter-color-attention);
        border: 0.1rem solid #FF3333;
        border: var(--ekiten-border-size-default) solid var(--ekiten-background-color-attention);
    }


.ll-a-inputLabel--grouped {
        font-size: 1.4rem;
    }


.ll-a-inputRange {
    width: 100%;
}


/* TODO：-webkit-slider-thumbは非推奨なので変更できないか確認する */


.ll-a-inputRange__input {
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        cursor: pointer;
        background: #D6D6D6;
        height: 1rem;
        width: 100%;
        border-radius: 0.5rem;
        outline: 0;
    }


.ll-a-inputRange__input::-webkit-slider-thumb {
            -webkit-appearance: none;
                    appearance: none;
            background: #3D92F5;
            width: 2.4rem;
            height: 2.4rem;
            border-radius: 50%;
        }


.ll-a-inputRange__input--noValue::-webkit-slider-thumb {
                width: 0;
                height: 0;
            }


.ll-a-inputRange__head {
        margin-bottom: 0.2rem;
    }


.ll-a-inputRange__head__title {
            width: 100%;
            text-align: center;
            font-weight: bold;
        }


.ll-a-inputRange__head__label {
            display: flex;
            justify-content: space-between;
            -moz-column-gap: 2rem;
                 column-gap: 2rem;

        }


.ll-a-inputRange > datalist {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }


.ll-a-inputRange > input:disabled {
        cursor: not-allowed;
    }


.ll-a-inputRange > input:disabled::-webkit-slider-thumb {
            background: #F5F5F5;
        }


.ll-m-inputHeader {
    display: flex;
    align-items: center;
}


.ll-m-inputHeader__label {
        flex-grow: 1;
    }


.ll-m-inputHeader__helpTips {
        flex-shrink: 0;
        margin-left: 1.5rem;
    }


.ll-a-radioBox {
    position: relative;
    display: flex;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 1rem 0;
}


.ll-a-radioBox > input {
        opacity: 0;
        position: absolute;
        margin: 0;
        width: 2.4rem;
        height: 2.4rem;
        cursor: pointer;
    }


.ll-a-radioBox__input {
        flex-shrink: 0;
        display: inline-block;
        width: 2.4rem;
        height: 2.4rem;
        border-radius: 50%;
        border: 0.2rem solid #D6D6D6;
        background-color: #fff;
    }


.ll-a-radioBox__label {
        font-size: 1.4rem;
    }


/* input 状態 */


.ll-a-radioBox > input:checked + .ll-a-radioBox__input {
        position: relative;
    }


.ll-a-radioBox > input:checked + .ll-a-radioBox__input:after {
            position: absolute;
            inset: 0;
            content: "";
            display: block;
            width: 1rem;
            height: 1rem;
            margin: auto;
            border-radius: 50%;
            background-color: #3D92F5;
        }


.ll-a-radioBox > input:disabled {
        cursor: not-allowed;
    }


.ll-a-radioBox > input:disabled + .ll-a-radioBox__input {
        background-color: #F5F5F5;
        cursor: not-allowed;
    }


.ll-a-radioBox > input:disabled + .ll-a-radioBox__input:after {
            display: none;
        }


.ll-a-radioBox--invalid .ll-a-radioBox__input {
            border-color: #FF9999;
            background-color: #FFF5F5;
        }


.ll-a-radioBox--invalid .ll-a-radioBox__label {
            color: #FF9999;
        }


.ll-a-checkBox {
    position: relative;
    display: flex;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 1rem 0;
}


.ll-a-checkBox > input {
        opacity: 0;
        position: absolute;
        margin: 0;
        width: 2.4rem;
        height: 2.4rem;
        cursor: pointer;
    }


.ll-a-checkBox__input {
        flex-shrink: 0;
        display: inline-block;
        width: 2.4rem;
        height: 2.4rem;
        border-radius: 0.5rem;
        border: 0.2rem solid #D6D6D6;
        background-color: #fff;
    }


.ll-a-checkBox__label {
        font-size: 1.4rem;
    }


/* input 状態 */


.ll-a-checkBox > input:checked + .ll-a-checkBox__input {
        position: relative;
        border-color: #3D92F5;
        background-color: #3D92F5;
    }


.ll-a-checkBox > input:checked + .ll-a-checkBox__input:after {
            --c:#fff; /* Color */
            --t:3px;  /* thickness */
            --r:3px;  /* Radius */
            --w:14px; /* width */
            --h:9px;   /* height */
            position: absolute;
            inset: 0;
            margin: auto;
            content: "";

            display: block;
            height: var(--h);
            width: var(--w);
            border-bottom-left-radius: var(--r);
            background:
                radial-gradient(farthest-side,var(--c) 99%,transparent 100%) top left    /var(--t) var(--t),
                radial-gradient(farthest-side,var(--c) 99%,transparent 100%) bottom right/var(--t) var(--t),
                linear-gradient(var(--c),var(--c)) left bottom/var(--t) calc(100% - var(--t)/2),
                linear-gradient(var(--c),var(--c)) left bottom/calc(100% - var(--t)/2) var(--t);
            background-repeat:no-repeat;
            transform: translateY(-10%) rotate(-45deg);
        }


.ll-a-checkBox > input:disabled {
        cursor: not-allowed;
    }


.ll-a-checkBox > input:disabled + .ll-a-checkBox__input {
        border-color: #D6D6D6;
        background-color: #D6D6D6;
        cursor: not-allowed;
    }


.ll-a-checkBox > input:disabled:not(:checked)  + .ll-a-checkBox__input {
        border-color: #D6D6D6;
        background-color: #F5F5F5;
    }


.ll-a-checkBox > input:disabled:not(:checked)  + .ll-a-checkBox__input:after {
            display: none;
        }


.ll-a-checkBox--invalid .ll-a-checkBox__input {
            border-color: #FF9999;
            background-color: #FFF5F5;
        }


.ll-a-checkBox--invalid > input:checked + .ll-a-checkBox__input {
            border-color: #FF9999;
            background-color: #FF9999;
        }


.ll-a-checkBox--invalid .ll-a-checkBox__label {
            color: #FF9999;
        }


.ll-m-optionalList {
    width: 100%; /* flex内部で利用された場合の対策 */
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    -moz-column-gap: var(--ekiten-gap-gridGarter);
         column-gap: var(--ekiten-gap-gridGarter);
}


.ll-m-optionalList__addContent {
        padding-left: 34px; /* 34pxはアイコン + アイコンとラベルの間隔 */
    }


.ll-m-optionalList--cs1 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
    }


.ll-m-optionalList--cs2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }


.ll-m-optionalList--cs3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }


.ll-m-optionalList--cs4 {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
    }


.ll-m-optionalList--cs5 {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
    }


.ll-m-optionalList--cs6 {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
    }


.ll-a-inputSearch__form {
        display: flex;
        justify-content: center;
    }


.ll-a-inputSearch__input {
        flex-grow: 1;
        border: solid 0.1rem #D6D6D6;
        border: solid 0.1rem var(--mono-20);
        height: 4.4rem;
        border-radius: 1rem 0 0 1rem;
        background-color: #FFF;
        background-color: var(--ekiten-white);
        padding: 0 1.5rem;
        font-size: 1.6rem;
    }


.ll-a-inputSearch__input::-moz-placeholder {
            color: #D6D6D6;
            color: var(--mono-20);
            font-size: 1.4rem;
        }


.ll-a-inputSearch__input:-ms-input-placeholder {
            color: #D6D6D6;
            color: var(--mono-20);
            font-size: 1.4rem;
        }


.ll-a-inputSearch__input::placeholder {
            color: #D6D6D6;
            color: var(--mono-20);
            font-size: 1.4rem;
        }


.ll-a-inputSearch__button {
        flex-shrink: 0;
        background-color: #DD0017;
        color: #FFF;
        color: var(--ekiten-white);
        width: 5.8rem;
        border-top-right-radius: 1rem;
        border-bottom-right-radius: 1rem;
        font-size: 1.4rem;
        line-height: 1rem;
    }


.ll-a-inputSearch__button:disabled {
            background-color: #c00919;
        }


.ll-m-accessUpPanel {
    margin-bottom: 4rem;
}


.ll-m-accessUpPanel__image {
        margin: 1.5rem 0;
    }


.ll-m-accessUpPanel__image img {
            width: 100%;
        }


.ll-m-accessUpPanel__title {
        margin-bottom: 1rem;
    }


.ll-m-accessUpPanel__explanation {
        margin-bottom: 1rem;
    }


.ll-m-accessUpPanel__linkItem {
        margin-top: 2rem;
    }


.ll-m-accessUpPanel__link {
        line-height: 1rem;
        text-align: right;
        margin-bottom: 1.5rem;
    }


.ll-m-actionBar {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.25);
    background: #fff;
}


.ll-m-actionBar__body {
        display: flex;
        align-items: stretch;
        -moz-column-gap: 1.5rem;
             column-gap: 1.5rem;
        width: 99rem;
        width: var(--mainArea-width);
        padding: 1rem 1.5rem;
        background: #FFF;
        background: var(--ekiten-background-color-white);
    }


.ll-m-actionBar__item {
        display: flex;
        align-items: center;
    }


.ll-m-actionBar__item--hasTips {

            position: relative;
        }


.ll-m-actionBar__item--hasTips::after {
                content: "";
                display: block;
                position: absolute;
                /* TODO:正しい数値は計算式で出さないといけないがわからない */
                top: -1.6rem;
                left: 50%;
                transform-origin: top left;
                /* calc((90deg - つけたい角度) / 2) */
                transform: rotate(45deg) skew(
                    calc((90deg - 70deg) / 2),
                    calc((90deg - 70deg) / 2)
                ) translateX(-0.1rem);
                width: 0.8rem;
                height: 0.8rem;
                margin: 0 auto;
                background-color: #EAEAEA;
                background-color: var(--ekiten-background-color-default);
            }


.ll-m-actionBar__item--mainItem {
            width: calc(100%/2);
        }


.ll-m-actionBar__item--autoMargin-left {
            margin-left: auto;
        }


.ll-m-actionBar__tips {
        position: relative;
        width: 99rem;
        width: var(--mainArea-width);
        padding: 0.5rem 1.5rem;
        background: #EAEAEA;
        background: var(--ekiten-background-color-default);
        text-align: center;
        z-index: 1;
    }


.ll-m-actionBar__tips::after {
            position: absolute;
            inset: 0;
            display: block;
            content: "";
            width: 100vw;
            margin: 0 calc(50% - 50vw);
            background: #EAEAEA;
            background: var(--ekiten-background-color-default);
            z-index: -1;
        }


@container (min-width: 990px) {
        .ll-m-actionBar__body {
            padding-left: 0;
            padding-right: 0;
        }
            .ll-m-actionBar__item--mainItem {
                width: calc(100%/4);
            }
}


.ll-m-activityContentCard {
    padding: 1rem;
    box-shadow: 0 0 0.2rem 0 rgba(0, 0, 0, 0.3);
    box-shadow: var(--ekiten-appearance-boxShadow-weeker);
}


.ll-m-article__header {
    }


.ll-m-article__divider {
        border-top: solid 0.1rem #D6D6D6;
        border-top: solid 0.1rem var(--mono-20);
        border-bottom: none;
        border-left: none;
        border-right: none;
        margin-top: 1.5rem;
    }


.ll-m-article__body__item {
            margin-top: 1.5rem;
        }


.ll-m-article__author {
        margin-top: 3rem;

    }


.ll-m-article__reaction {
        margin-top: 3rem;
    }


.ll-m-article__footer {
        margin-top: 3rem;
    }


.ll-m-addContainer {
    padding: 2rem 0;
}


.ll-m-addContainer > *:last-child {
        margin-bottom: 0;
        margin-bottom: initial;
    }


.ll-m-adRecruitment {
    position: relative;
    margin-top: -1px;
    background-color: #fff;
    border-top: solid 1px #D6D6D6;
    border-bottom: solid 1px #D6D6D6;
}


.ll-m-adRecruitment__link {
        position: absolute;
        inset: 0;
        z-index: 1;
    }


@media (hover: hover) {
                .ll-m-adRecruitment__link:hover + .ll-m-adRecruitment__body {
                    background: #f5f5f5;
                }
        }


.ll-m-adRecruitment__body {
        padding: 1.2rem 1.5rem;
    }


.ll-m-adRecruitment__title {
        font-size: 1.6rem;
        font-weight: bold;
        margin-bottom: 0.8rem;
        color: #3D92F5;
    }


.ll-m-adRecruitment__info {
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
    }


.ll-m-adRecruitment__applicants {
        display: flex;
        flex-direction: column;
        row-gap: .3rem;
        margin-bottom: 0.5rem;
    }


.ll-m-adRecruitment__applicants > div {
            display: flex;
        }


.ll-m-adRecruitment__applicants > div > dt {
                flex-basis: 6.5em;
                flex-shrink: 0;
                font-size: 1.2rem;
                font-weight: bold;
            }


.ll-m-adRecruitment__applicants > div > dd {
                font-size: 1.2rem;
            }


.ll-m-alertMessage {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    color: #FF3333;
    color: var(--ekiten-letter-color-attention);
}


.ll-m-alertMessage--iconPosition--top {
        flex-direction: column;
    }


.ll-m-alertMessage--iconPosition--right .ll-m-alertMessage__icon {
        order: 2;
    }


.ll-m-alertMessage--iconPosition--bottom {
        flex-direction: column;
    }


.ll-m-alertMessage--iconPosition--bottom .ll-m-alertMessage__icon {
        order: 2;
    }


.ll-m-alertMessage__icon {
        display: block;
    }


.ll-m-alertMessage__icon--s {
            width: 1.4rem;
            min-width: 1.4rem;
            height: 1rem;
            min-height: 1rem;
        }


.ll-m-alertMessage__icon--m {
            width: 2.8rem;
            min-width: 2.8rem;
            height: 2rem;
            min-height: 2rem;
        }


.ll-m-alertMessage__icon--l {
            width: 5.6rem;
            min-width: 5.6rem;
            height: 4rem;
            min-height: 4rem;
        }


.ll-m-alertMessage__message {
        font-weight: bold;
    }


.ll-m-alertMessage__message--s {
            font-size: 1rem;
        }


.ll-m-alertMessage__message--m {
            font-size: 1.5rem;
        }


.ll-m-alertMessage__message--l {
            font-size: 2rem;
        }


.ll-m-alertMessage__message--align--start{
            text-align: start;
        }


.ll-m-alertMessage__message--align--end{
            text-align: end;
        }


.ll-m-alertMessage__message--align--center{
            text-align: center;
        }


.ll-m-alertMessage__message--align--justify{
            text-align: justify;
        }


.ll-m-breadcrumb__breadcrumbs {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
    }


.ll-m-breadcrumb__item {
        display: flex;
        align-items: center;
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-m-breadcrumb__item__rightArrow {
            margin: 0 .5rem;
            color: #CCCCCC;
        }


.ll-m-breadcrumb__item--current {
            font-weight: bold;
        }


.ll-m-businessHourTable__summary {
        margin-bottom: 1rem;
    }


.ll-m-businessHourTable__table {
        width: 100%;
        border-collapse: collapse;
        background-color: #FFF;
        background-color: var(--ekiten-background-color-white);
        font-size: 1.4rem;
        font-size: var(--ekiten-letter-fontSize-m);
        text-align: center;
        line-height: 1;
    }


.ll-m-businessHourTable__hour {
        background-color: #FFF;
        background-color: var(--ekiten-background-color-white);
        text-align: center;
    }


.ll-m-businessHourTable__hour__cell {
            font-weight: normal;
            padding: .7rem .5rem;
            border: 0.1rem solid #D6D6D6;
            border: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
            word-break: break-word;
        }


.ll-m-businessHourTable__head__cell {
            background-color: #F5F5F5;
            background-color: var(--ekiten-background-color-weak);
            font-weight: normal;
            padding: .7rem;
            border: 0.1rem solid #D6D6D6;
            border: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
        }


.ll-m-businessHourTable__head__cell--saturday {
                background-color: #E8F3FD;
                background-color: var(--ekiten-background-color-saturday);
                color: #515DD4;
                color: var(--ekiten-letter-color-saturday);
            }


.ll-m-businessHourTable__head__cell--sunday {
                background-color: #FFEAEA;
                background-color: var(--ekiten-background-color-sunday);
                color: #F08282;
                color: var(--ekiten-letter-color-sunday);
            }


.ll-m-businessHourTable__body__cell {
            font-weight: normal;
            padding: .7rem;
            border: 0.1rem solid #D6D6D6;
            border: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
        }


.ll-m-businessHourTable__mark--isOpen {
            color: #666;
            color: var(--ekiten-letter-color-strong);
        }


.ll-m-businessHourTable__mark--isClose {
            color: #FF3333;
            color: var(--ekiten-letter-color-attention);
        }


.ll-m-businessHourList {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
}


.ll-m-businessHourList > li {
        display: flex;
        flex-direction: row;
        -moz-column-gap: 1rem;
             column-gap: 1rem;
    }


.ll-m-businessHourList__term {
        font-weight: bold;
    }


.ll-m-businessHourList__term--saturday {
            color: #515DD4;
            color: var(--ekiten-letter-color-saturday);
        }


.ll-m-businessHourList__term--sunday, .ll-m-businessHourList__term--holiday {
            color: #F08282;
            color: var(--ekiten-letter-color-sunday);
        }


.ll-m-buttonGroup {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 1.5rem;
}


.ll-m-buttonGroup--horizontal {
        flex-direction: row;
        /* TODO：0306追加 使用箇所要検証 */
        flex-wrap: nowrap;
    }


.ll-m-buttonGroup--horizontal.ll-m-buttonGroup--leftAlign {
            justify-content: flex-start;
        }


.ll-m-buttonGroup--horizontal.ll-m-buttonGroup--rightAlign {
            justify-content: flex-end;
        }


.ll-m-buttonGroup--vertical {
        flex-direction: column;
    }


.ll-m-buttonGroup--vertical.ll-m-buttonGroup--leftAlign {
            align-items: flex-start;
        }


.ll-m-buttonGroup--vertical.ll-m-buttonGroup--rightAlign {
            align-items: flex-end;
        }


.ll-m-buttonGroup--formActions {
        margin-top: 4rem;
    }


.ll-m-buttonGroup--contentActions {
        margin-top: 2rem;
    }


.ll-m-card {
    position: relative;
    display: flex;
    padding: 1rem;
    box-shadow: 0 0 0.2rem 0 rgba(0, 0, 0, 0.3);
    box-shadow: var(--ekiten-appearance-boxShadow-weeker);
    background-color: #fff;
}


.ll-m-card__link {
        position: absolute;
        inset: 0;
        z-index: 1;
    }


.ll-m-card__image {
        flex-shrink: 0;
        margin-right: 1.5rem;
        order: 1;
    }


.ll-m-card__body {
        flex-grow: 1;
        order: 2;
    }


.ll-m-card--notice {
        background-color: #FFFBE5;
        background-color: var(--ekiten-background-color-notice);
    }


.ll-m-cardGroup {
    display: grid;
    grid-gap: 1.5rem;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
}


.ll-m-cardGroup--span-1 {
            grid-template-columns: repeat(1, 1fr);
        }


.ll-m-cardGroup--span-2 {
            grid-template-columns: repeat(2, 1fr);
        }


.ll-m-cardGroup--span-3 {
            grid-template-columns: repeat(3, 1fr);
        }


@container (min-width: 990px) {
    .ll-m-cardGroup--span-1 {
        grid-template-columns: repeat(3, 1fr);
    }
}


.ll-m-cassetteContainer {
    padding: 1rem 0;
    background-color: #F5F5F5;
    background-color: var(--ekiten-background-color-weak);
}


.ll-m-cassetteContainer__footer {
        padding: 2rem;
    }


.ll-m-cassetteContainer--bgNone {
        background-color: #fff;
    }


/* TODO：molecule に登録しているが、本機能のように実態を伴わないstyleの分類として妥当かを検討・対応 */


.ll-m-collapse:not(.is-show) {
        display: none;
    }


.ll-m-collapse--hasContentPadding {
        padding: 1rem;
    }


.ll-m-completeContent__lead {
        font-weight: bold;
    }


.ll-m-completeContent__message {
        margin-top: 1.5rem;
    }


.ll-m-completeContent__footer {
        display: flex;
        justify-content: center;
        margin-top: 1.5rem;
    }


.ll-m-contentHeader {
    display: flex;
    align-items: center;
}


.ll-m-contentHeader__buttonContainer {
        margin-left: 1.5rem;
        white-space: nowrap;
    }


.ll-m-contentHeader--spaceBetween {
        justify-content: space-between;
    }


.ll-m-contentHeader--lightColorBand {
        background-color: #F5F5F5;
        background-color: var(--ekiten-background-color-weak);
        margin-bottom: 1.5rem;
        padding: .5rem 1.5rem;
    }


.ll-m-contentHeader--darkColorBand {
        background-color: #666;
        background-color: var(--ekiten-mono-75);
        color: #FFF;
        color: var(--ekiten-letter-color-overBackground);
        margin-bottom: 1.5rem;
        padding: .5rem 1.5rem;
    }


.ll-m-contentHeader--verticalLine {
        border-left: 0.6rem solid #999;
        border-left: var(--ekiten-border-size-120) solid var(--ekiten-background-color-strong);
        padding: .5rem 0 .5rem .5rem;
    }


.ll-m-contentSection {
    margin-bottom: 6rem;
}


.ll-m-contentSection__header {
        margin-bottom: 1rem;
    }


.ll-m-contentSection__lead {
        margin-bottom: 1.5rem;
    }


.ll-m-contentSection__nav {
    }


.ll-m-contentSection__counter {
        display: flex;
        min-height: 4.4rem;
        min-height: var(--ekiten-item-height-m);
        align-items: center;
    }


.ll-m-contentSection__counter__count {
            flex-grow: 1;
        }


.ll-m-contentSection__counter__sort {
            flex-shrink: 0;
        }


.ll-m-contentSection__body > *:not(.ll-m-contentSection) {
            margin-bottom: 1.5rem;
        }


.ll-m-contentSection__body > *:last-child {
            margin-bottom: 0;
            margin-bottom: initial;
        }


.ll-m-contentSection__footer {
        padding: 2rem 0;
    }


.ll-m-contentSection--topLevel,
    .ll-m-contentSection--lv-1 {
        margin-bottom: 6rem;
    }


.ll-m-contentSection--topLevel > .ll-m-contentSection__header, .ll-m-contentSection--lv-1 > .ll-m-contentSection__header {
            margin-bottom: 1.5rem;
        }


.ll-m-contentSection--lv-2 {
        margin-bottom: 4.5rem;
    }


.ll-m-contentSection--narrowStack,
    .ll-m-contentSection--lv-3 {
        margin-bottom: 3rem;
    }


.ll-m-contentSection--hasSort > .ll-m-contentSection__counter {
            margin-bottom: 1.5rem;
        }


.ll-m-contentSection--hasHorizontalLine {
        margin-top: -1px;
        margin-bottom: 0;
        padding: 1.5rem 0;
        border-top: solid 0.1rem #D6D6D6;
        border-top: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
        border-bottom: solid 0.1rem #D6D6D6;
        border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
    }


.ll-m-contentSection > .ll-m-contentSection {
    margin-top: 3rem;
}


@container (min-width: 650px) {
            .ll-m-contentSection--hasBodyGarter > .ll-m-contentSection__body {
                padding: 0 1.5rem;
            }
}


.ll-m-contributor {
    display: flex;
    align-items: center;
    -moz-column-gap: 0.5rem;
         column-gap: 0.5rem;
}


.ll-m-contributor__avatar {
        flex-shrink: 0;
    }


.ll-m-contributor__nameWrap {
        flex-grow: 1;
    }


.ll-m-contributor__name {
        font-weight: bold;
        color: #333;
        color: var(--ekiten-link-color-secondary);
    }


.ll-m-contributor__name__title {
            font-weight: normal;
            font-size: 1rem;
            font-size: var(--ekiten-letter-fontSize-xs);
        }


.ll-m-contributor__name--normal {
            font-weight: normal;
        }


.ll-m-contributor__aside {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-m-contributor--l .ll-m-contributor__name {
            font-size: 1.6rem;
            font-size: var(--ekiten-letter-fontSize-l);
        }


.ll-m-contributor--m .ll-m-contributor__name {
            font-size: 1.2rem;
            font-size: var(--ekiten-letter-fontSize-s);
        }


.ll-m-couponGroup {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
}


.ll-m-coverImageSlider {
    height: 100%;
}


.ll-m-coverImageSlider__buttonPrev {
        left: calc(50% - 49.5rem - 4rem);
        position: absolute;
        top: 50%;
        z-index: 1;
        transform: translateY(-50%);
        color: #666;
        color: var(--mono-75);
    }


.ll-m-coverImageSlider__buttonNext {
        right: calc(50% - 49.5rem - 4rem);
        position: absolute;
        top: 50%;
        z-index: 1;
        transform: translateY(-50%);
        color: #666;
        color: var(--mono-75);
    }


.ll-m-coverImageSlider__index {
        position: absolute;
        top: 1rem;
        right: 1rem;
        padding: 0.4rem 0.8rem;
        background: #707070;
        border-radius: 2rem;
        font-size: 1rem;
        line-height: 1;
        color: #FFF;
        color: var(--white);
        z-index: 10;
    }


.ll-m-coverImageWrap {
    position: relative;
    width: 99rem;
    width: var(--mainArea-width);
    margin: 0 auto;
}


.ll-m-coverImageWrap__body {
        position: relative;
        height: 33rem;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
        padding-right: calc(50vw - 50%);
        padding-left: calc(50vw - 50%);
        background-repeat: no-repeat;
        background-size: cover;
        background-position-y: 50%;
        background-color: #F5F5F5;
        background-color: var(--ekiten-background-color-weak);
    }


.ll-m-coverImageWrap__body::after {
            content: "";
            -webkit-backdrop-filter: blur(2rem);
                    backdrop-filter: blur(2rem);
            width: 100%;
            height: 33rem;
            position: absolute;
            left: 0;
            top: 0;
        }


.ll-m-coverImageWrap__image {
        position: relative;
        z-index: 1;
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
    }


.ll-m-definitionList {
    display: flex;
    flex-direction: column;
    row-gap: 1.5rem;
    font-size: inherit;
    line-height: inherit;
}


.ll-m-definitionList > .ll-m-definitionList__item > dt {
            margin-bottom: 0.6rem;
            font-weight: bold;
        }


.ll-m-definitionList--horizontalLine {
        row-gap: 0;
    }


.ll-m-definitionList--horizontalLine > .ll-m-definitionList__item {
            margin-top: -1px;
            padding: 1.5rem 0;
            border-top: solid 0.1rem #D6D6D6;
            border-top: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
            border-bottom: solid 0.1rem #D6D6D6;
            border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
        }


.ll-m-definitionList--justifyBetween > .ll-m-definitionList__item {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }


.ll-m-definitionList--justifyBetween > .ll-m-definitionList__item > dt {
                margin-bottom: 0;
                font-weight: normal; /* デザイン上の恣意的な値です。*/
            }


.ll-m-definitionList--rowSelf {
        -moz-column-gap: 2rem;
             column-gap: 2rem;
        flex-wrap: wrap;
        flex-direction: row;
    }


.ll-m-definitionList--rowItem {
        row-gap: 1rem;
    }


.ll-m-definitionList--rowItem > .ll-m-definitionList__item {
            display: grid;
            grid-template-columns: auto 1fr;
            align-items: start;
        }


.ll-m-definitionList--rowItem > .ll-m-definitionList__item > dt {
                grid-column: 1;
                margin-bottom: 0;
                margin-right: 0.5rem;
            }


.ll-m-definitionList--rowItem > .ll-m-definitionList__item > dd {
                grid-column: 2;
            }


/* TODO：nowrap は不要なのでhtmlの実装と合わせて削除する */


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-nowrap > .ll-m-definitionList__item > dt {
                    white-space: nowrap;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-2 > .ll-m-definitionList__item > dt {
                    width: 2em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-3 > .ll-m-definitionList__item > dt {
                    width: 3em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-4 > .ll-m-definitionList__item > dt {
                    width: 4em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-5 > .ll-m-definitionList__item > dt {
                    width: 5em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-6 > .ll-m-definitionList__item > dt {
                    width: 6em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-7 > .ll-m-definitionList__item > dt {
                    width: 7em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-8 > .ll-m-definitionList__item > dt {
                    width: 8em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-10 > .ll-m-definitionList__item > dt {
                    width: 10em;
                }


.ll-m-definitionList--rowItem.ll-m-definitionList--rowTermSize-12 > .ll-m-definitionList__item > dt {
                    width: 12em;
                }


.ll-m-definitionList--rowItem-center > .ll-m-definitionList__item {
                align-items: center;
                grid-template-rows: auto auto;
            }


.ll-m-definitionList--rowItem-center > .ll-m-definitionList__item > dt {
                    grid-row: 1/ -1;
                }


.ll-m-definitionList--s {
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        line-height: 1.3;
        line-height: var(--ekiten-letter-lineHeight-narrow);
    }


/**
 * Note:扱いに注意
 * コンテンツの編集状態に関わる指定以外は絶対にしない。
 * 編集モード状態（.is-editModeあり）でない時に、兄弟要素や、内包する要素に影響が出ないように display: contents; を仕様
 */


.ll-m-editableContent {
    display: contents;
    margin: 0 !important;
}


/** 他の入れ子のstyleの拒否 **/


.ll-m-editableContent__body {
        display: contents;
    }


.ll-m-editableContent__button {
        display: none;
    }


.ll-m-editableContent.is-editMode .ll-m-editableContent__body {
            display: inline;
            display: initial;
        }


.ll-m-editableContent.is-editMode .ll-m-editableContent__button {
            display: block;
        }


.ll-m-editableContent--row.is-editMode {
            display: flex;
        }


.ll-m-editableContent--row.is-editMode .ll-m-editableContent__body > *:first-child {
                    margin-bottom: 0 !important;
                    margin-bottom: initial !important;
                }


.ll-m-editableContent--row {
        flex-direction: row;
        align-items: center;
        margin-bottom: 1rem;
}


.ll-m-editableContent--row .ll-m-editableContent__body {
            flex-grow: 1;
        }


.ll-m-editableContent--row .ll-m-editableContent__button {
            flex-shrink: 0;
            margin-left: 1rem;
        }


.ll-m-editableContent--column.is-editMode {
            display: flex;
        }


.ll-m-editableContent--column.is-editMode .ll-m-editableContent__body > *:first-child {
                    margin-bottom: 0 !important;
                    margin-bottom: initial !important;
                }


.ll-m-editableContent--column {

        margin-bottom: 1rem;
        flex-direction: column;
}


.ll-m-editableContent--column .ll-m-editableContent__button {
            margin-top: 0.5rem;
            align-self: flex-end;
        }


.ll-m-editableContent--inside.is-editMode {
            display: block;
        }


.ll-m-editableContent--inside {
        position: relative;
        width: 100%;
}


.ll-m-editableContent--inside .ll-m-editableContent__button {
            position: absolute;
            right: 0;
            z-index: 1;
        }


.ll-m-editableContent--inside .ll-m-editableContent__button--hasMargin {
                margin: 1.5rem;
            }


.ll-m-editableContent--inside .ll-m-editableContent__button--middle {
                top: 50%;
                transform: translateY(-50%);
                margin-top: 0;
                margin-bottom: 0;
            }


.ll-m-editableContent--inside .ll-m-editableContent__button--top {
                top: 0;
            }


.ll-m-editableContent--inside .ll-m-editableContent__button--bottom {
                bottom: 0;
            }


.ll-m-fileDropArea {
    background-color: #F5F5F5;
    background-color: var(--mono-05);
}


.ll-m-fileDropArea__inputFileWrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 1.5rem 0.5rem;
    }


.ll-m-fileDropArea__caution {
        padding: 1.5rem 0.5rem;
        text-align: center;
    }


.ll-m-fileDropArea__cautionContent {
        display: inline-flex;
        flex-direction: column;
        align-items: flex-start;
    }


.ll-m-fileDropArea__cautionParagraph {
        display: inline-block;
        text-align: start;
        font-size: 1.2rem;
    }


.ll-m-fileDropArea--dropHover {
        border: 1px dashed #3D92F5;
        border: 1px dashed var(--blue-100);
    }


.ll-m-selectBusinessHours__row {
        display: flex;
        align-items: center;
        max-width: 100%;
    }


.ll-m-selectBusinessHours__col {
        flex: 1 1 auto;
    }


/* inline-blockの子要素を横幅いっぱいに広げる */


.ll-m-selectBusinessHours__selectWrapper {
        display: flex;
        flex-direction: column;
    }


.ll-m-selectBusinessHours__separator {
        height: 100%;
        line-height: 1;
        padding: 1rem;
    }


.ll-m-shopContentList {
    border-top: solid 0.1rem #D6D6D6;
    border-top: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
}


.ll-m-shopContentList__item {
        display: flex;
        border-bottom: solid 0.1rem #D6D6D6;
        border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
    }


.ll-m-shopContentList__itemPick {
            flex: 0 0;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0 1.0rem;
        }


.ll-m-shopContentList__itemPick > input {
                width: 20px;
                height: 20px;
            }


.ll-m-shopContentList__itemContent {
            flex: 1 1;
        }


.ll-m-shopContentList__itemSort {
            flex: 0 0;
            display: flex;
            -moz-column-gap: 1.0rem;
                 column-gap: 1.0rem;
            justify-content: space-between;
            align-items: center;
            padding: 0 1.0rem;
        }


.ll-m-shortageContent {
    padding: 6rem;
    text-align: center;
    background-color: #F5F5F5;
}


.ll-m-shortageContent__footer {
        margin-top: 1.5rem;
    }


.ll-m-flex {
    display: flex;
    width: 100%;
}


.ll-m-flex--flex-wrap-wrap {
            flex-wrap: wrap;
        }


.ll-m-flex--justify-content-flex-start {
            justify-content: flex-start;
        }


.ll-m-flex--justify-content-flex-end {
            justify-content: flex-end;
        }


.ll-m-flex--justify-content-center {
            justify-content: center;
        }


.ll-m-flex--justify-content-space-between {
            justify-content: space-between;
        }


.ll-m-flex--justify-content-space-around {
            justify-content: space-around;
        }


.ll-m-flex--align-items-flex-start {
            align-items: flex-start;
        }


.ll-m-flex--align-items-flex-end {
            align-items: flex-end;
        }


.ll-m-flex--align-items-center {
            align-items: center;
        }


.ll-m-flex--align-items-baseline {
            align-items: baseline;
        }


.ll-m-flex--align-items-stretch {
            align-items: stretch;
        }


/* TODO：フロント gapをrow込にするか検討 */


.ll-m-flex--column-gap-s {
            -moz-column-gap: 1rem;
                 column-gap: 1rem;
        }


.ll-m-flex--column-gap-m {
            -moz-column-gap: 1.5rem;
                 column-gap: 1.5rem;
        }


.ll-m-flex--column-gap-l {
            -moz-column-gap: 2rem;
                 column-gap: 2rem;
        }


.ll-m-flex__item--fill {
           flex: 1 1 auto;
        }


.ll-m-flex__item--grow-1 {
           flex-grow: 1;
        }


.ll-m-flex__item--shrink-0 {
           flex-shrink: 0;
        }


.ll-m-flex__item--autoMargin-left {
                margin-left: auto;
            }


.ll-m-flex__item--autoMargin-right {
                margin-right: auto;
            }


.ll-m-floatingFrame {
    width: 100%;
    transition: transform 0.5s 0s ease;
    /* TODO:適当です */
    z-index: 100;
}


.ll-m-floatingFrame--top {
        position: fixed;
        top: 0;
    }


/*padding: 1rem var(--ekiten-padding-layoutGarter);
        background-color: var(--ekiten-background-color-white);
        box-shadow: var(--ekiten-appearance-boxShadow-week);*/


.ll-m-floatingFrame--top.ll-m-floatingFrame--slideIn {
            transform: translateY(-100%);
        }


.ll-m-floatingFrame--top.ll-m-floatingFrame--slideIn.is-show {
                transform: translateY(0);
            }


.ll-m-floatingFrame--bottom {
        position: sticky;
        bottom: 0;
    }


/*padding: 1rem var(--ekiten-padding-layoutGarter);
        background-color: var(--ekiten-background-color-white);
        box-shadow: var(--ekiten-appearance-boxShadow-week);*/


.ll-m-floatingFrame--bottom.ll-m-floatingFrame--slideIn {
            position: fixed;
            transform: translateY(100%);
        }


.ll-m-floatingFrame--bottom.ll-m-floatingFrame--slideIn.is-show {
                transform: translateY(0);
            }


.ll-m-horizontalPositionContent {
    display: flex;
}


.ll-m-horizontalPositionContent--center {
        justify-content: center;
    }


.ll-m-horizontalPositionContent--left {
        justify-content: left;
    }


.ll-m-horizontalPositionContent--right {
        justify-content: right;
    }


.ll-m-imagePreviewList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1.5rem;
    gap: 1.5rem;
}


.ll-m-imagePreviewList__item {
        position: relative;
    }


.ll-m-imagePreviewList__item:before {
            content: "";
            padding-top: 100%;
        }


.ll-m-imagePreviewList__item__index {
            position: absolute;
            top: 0;
            left: 0;
            width: 2rem;
            height: 2rem;
            line-height: 2rem;
            background-color: #999999;
            color: #fff;
            font-size: 1rem;
            text-align: center;
        }


.ll-m-imageSelectListItem {
    display: grid;
    grid-template-columns: 10rem 1fr;
    grid-column-gap: 1rem;
    width: 100%;
}


/* TODO：flex内部に入った場合の調整用。不要な実装に修正する */


.ll-m-imageSelectListItem__preview {
        position: relative;
    }


.ll-m-imageSelectListItem__preview:before {
            content: "";
            padding-top: 100%;
        }


.ll-m-imageSelectListItem__preview > img {
            position: absolute;
        }


.ll-m-imageSelectListItem__previewTitle {
        position: absolute;
        top: 0;
        left: 0;
        width: 2rem;
        height: 2rem;
        line-height: 2rem;
        background-color: #999999;
        color: #fff;
        font-size: 1rem;
        text-align: center;
    }


.ll-m-imageSelectListItem__noImage {
        position: relative;
        width: 100%;
        height: 0;
        padding-top: 100%;
        background-color: #CCC;
        background-color: var(--mono-25);
        font-size: 1rem;
        font-weight: bold;
    }


.ll-m-imageSelectListItem__noImage:after {
            content: "未設定";
            color: #333;
            color: var(--mono-100);
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }


.ll-m-imageSelectListItem__body {
        display: flex;
        flex-direction: column;
        justify-content: space-around;
    }


.ll-m-imageSelectListItem__fileName {
        display: flex;
        flex-direction: row;
        row-gap: 1rem;
    }


.ll-m-imageSelectListItem__fileName__term {
            flex-shrink: 0;
            font-weight: bold;
        }


.ll-m-imageSelectListItem__fileName__name {
            overflow-wrap: anywhere;
        }


.ll-m-informationPanel {
    padding: 1.5rem;
    background-color: #F5F5F5;
    background-color: var(--ekiten-background-color-weak);
    border: 0.1rem solid #F5F5F5;
    border: var(--ekiten-border-size-default) solid var(--ekiten-background-color-weak);
}


.ll-m-informationPanel__header {
        margin-bottom: 1rem;
    }


.ll-m-informationPanel__meta {
        margin-bottom: 1rem;
    }


.ll-m-informationPanel--attention {
        background-color: #FFF;
        background-color: var(--ekiten-background-color-white);
        border: 0.1rem solid #FF3333;
        border: var(--ekiten-border-size-default) solid var(--ekiten-border-color-attention);
    }


.ll-m-itemDetail__image {
        margin-bottom: 1rem;
    }


.ll-m-itemDetail__header {
        margin-bottom: 1.5rem;
    }


.ll-m-itemDetail__footer {
        margin-top: 3rem;
    }


@container (min-width: 650px) {
    .ll-m-itemDetail {
        display: grid;
        grid-template-areas:
            "header image"
            "body image"
            "footer footer"
        ;
        grid-template-columns: minmax(0, 1fr) 22.5rem;
        grid-column-gap: 3rem;
        -moz-column-gap: 3rem;
             column-gap: 3rem;
    }

        .ll-m-itemDetail__image {
            grid-area: image;
        }

        .ll-m-itemDetail__header {
            grid-area: header;
        }

        .ll-m-itemDetail__body {
            grid-area: body;
        }

        .ll-m-itemDetail__footer {
            grid-area: footer;
        }
}


.ll-m-itemList {
    border-top: solid 0.1rem #D6D6D6;
    border-top: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
}


.ll-m-itemList__item {
        position: relative;
        border-bottom: solid 0.1rem #D6D6D6;
        border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 1.5rem;
    }


.ll-m-itemList__item__body {
            flex-grow: 1;
            text-align: left;
            overflow: hidden; /* memo:内部に text-overflow: ellipsis; を使用する場合の bug fixとして指定 */
        }


.ll-m-itemList__item__icon, .ll-m-itemList__item__meta, .ll-m-itemList__item__controller {
            flex-shrink: 0;
        }


.ll-m-itemList__item__icon {
            margin-right: 1rem;
        }


.ll-m-itemList__item__meta {
            margin-left: 1rem;
        }


.ll-m-itemList__item__controller {
            margin-left: 1rem;
            font-size: 2rem;
            line-height: 1; /* TODO：リスト下部余白調整。他に方法がないか */
        }


.ll-m-itemList__item__lowerContent {
            width: 100%;
        }


.ll-m-itemList__item--disablePadding {
            padding: 0;
        }


.ll-m-itemList__link {
        position: absolute;
        inset: 0;
        z-index: 0;
    }


.ll-m-itemList__link + .ll-m-itemList__itemAction .ll-m-itemList__item__controller {
                color: #3D92F5;
            }


/* linkよりz-indexを上にするためのclass */


.ll-m-itemList__actions {
        position: relative;
        z-index: 1;
    }


.ll-m-itemList__itemAction {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 1rem 1.5rem;
        min-height: 5rem;
    }


.ll-m-itemList__itemAction .ll-m-itemList__item__controller {
            color: #666;
            color: var(--mono-75);
        }


.ll-m-itemList__itemAction.is-show .ll-m-itemList__item__body {
                font-weight: bold;
            }


.ll-m-itemList__itemAction.is-show .ll-m-itemList__item__controller .ll-icon {
                    transform: rotate(-180deg);
                }


.ll-m-itemList__itemAction--disabled, .ll-m-itemList__itemAction:disabled {
            background: #ddd;
        }


.ll-m-itemList__itemAction--bgDarken {
            background-color: #F5F5F5;
            background-color: var(--mono-05);
        }


.ll-m-itemList .ll-m-itemList {
        padding: 0 1.5rem;
    }


.ll-m-itemList .ll-m-itemList .ll-m-itemList__item:last-child {
                border-bottom: none;
            }


.ll-m-itemList--wideFit > .ll-m-itemList__item {
            padding-left: 0;
            padding-right: 0;
        }


.ll-m-itemList--wideFit > .ll-m-itemList__item .ll-m-itemList__itemAction {
                padding-left: 0;
                padding-right: 0;
            }


.ll-m-itemList--ranking {
        counter-reset: ranking;
    }


.ll-m-itemList--ranking > .ll-m-itemList__item {
            counter-increment: ranking;
        }


.ll-m-itemList--ranking > .ll-m-itemList__item .ll-m-itemList__item__icon {
                display: flex;
                flex-wrap: nowrap;
                align-items: center;
            }


.ll-m-itemList--ranking > .ll-m-itemList__item .ll-m-itemList__item__icon::before {
                    content: counter(ranking);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin-right: 1rem;
                    width: 2rem;
                    height: 2rem;
                    font-size: 1rem;
                    color: #FFF;
                    color: var(--ekiten-white);
                    background-color: #999;
                }


.ll-m-itemList--ranking > .ll-m-itemList__item:first-child .ll-m-itemList__item__icon::before {
                        background-color: #E8D364;
                    }


.ll-m-itemList--ranking > .ll-m-itemList__item:nth-child(2) .ll-m-itemList__item__icon::before {
                        background-color: #D6D6D6;
                        background-color: var(--ekiten-mono-20);
                    }


.ll-m-itemList--ranking > .ll-m-itemList__item:nth-child(3) .ll-m-itemList__item__icon::before {
                        background-color: #C49260;
                    }


.ll-m-itemList--disabledTopBorder {
        border-top: none;
    }


.ll-m-linkContainer {
    display: flex;
    align-items: center;
}


.ll-m-linkContainer > *:first-child {
        flex-grow: 1;
    }


.ll-m-linkContainer > .ll-icon {
        flex-shrink: 0;
    }


.ll-m-linkContainer--hasSubContent > .ll-icon {
            transform: rotate(90deg);
        }


.ll-m-linkContainer[aria-expanded="true"] > .ll-icon {
            transform: rotate(-90deg);
        }


.ll-m-listNumberContext {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}


.ll-m-listNumberContext--s .ll-m-listNumberContext__label {
            font-size: 1.2rem;
            font-size: var(--ekiten-letter-fontSize-s);
        }


.ll-m-listNumberContext--m .ll-m-listNumberContext__label {
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
        }


.ll-m-listNumberContext__shoulder {
        width: 100%;
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
    }


.ll-m-listNumberContext__label {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        flex-grow: 1;
    }


.ll-m-listNumberContext__tooltip {
        display: flex;
        align-items: center;
        margin-left: 0.5rem;
    }


.ll-m-listNumberContext__number {
        flex-shrink: 0;
    }


.ll-m-localNav {
    position: relative;
    width: 100%;
    background-color: #F5F5F5;
    background-color: var(--ekiten-background-color-weak);
}


.ll-m-localNav__lists {
        display: flex;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }


.ll-m-localNav__lists__item {
            position: relative;
            -webkit-user-select: none;
               -moz-user-select: none;
                -ms-user-select: none;
                    user-select: none;
        }


.ll-m-localNav__lists__item__anchor {
                display: flex;
                justify-content: center;
                align-items: center;
                -moz-column-gap: 0.3rem;
                     column-gap: 0.3rem;
                font-size: 1.4rem;
                font-size: var(--ekiten-letter-fontSize-m);
                font-weight: bold;
                padding: 1.5rem;
                color: #333;
                color: var(--ekiten-link-color-secondary);
                white-space: nowrap;
            }


.ll-m-localNav__lists__item--current .ll-m-localNav__lists__item__anchor {
                    position: relative;
                    color: #DD0000;
                    color: var(--ekiten-link-color-current);
                }


.ll-m-localNav__lists__item--current .ll-m-localNav__lists__item__anchor::after {
                        content: '';
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        width: 100%;
                        height: 0.4rem;
                        height: var(--ekiten-border-size-current);
                        background-color: #DD0000;
                        background-color: var(--ekiten-link-color-current);
                    }


.ll-m-localNav__lists__item__newLabel {
                position: absolute;
                top: .3rem;
                left: 1.5rem;
                font-size: 1rem;
                color: #FF3333;
                color: var(--ekiten-letter-color-attention);
            }


.ll-m-localNav::after {
        position: absolute;
        inset: 0;
        display: block;
        content: "";
        width: 100vw;
        margin: 0 calc(50% - 50vw);
        background-color: #F5F5F5;
        background-color: var(--ekiten-background-color-weak);
        box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.25);
        box-shadow: var(--ekiten-appearance-boxShadow-week);
        z-index: -1;
    }


.ll-m-media {
    display: flex;
}


.ll-m-media--align-items-flex-start {
            align-items: flex-start;
        }


.ll-m-media--align-items-flex-end {
            align-items: flex-end;
        }


.ll-m-media--align-items-center {
            align-items: center;
        }


.ll-m-media__image {
        flex-shrink: 0;
        margin-right: 1.5rem;
        order: 1;
    }


.ll-m-media__body {
        flex-grow: 1;
        order: 2;
        overflow: hidden;
    }


/* memo:内部に text-overflow: ellipsis; を使用する場合の bug fixとして指定 */


.ll-m-media__body--align-self-stretch {
                align-self: stretch;
            }


.ll-m-media__body--align-self-start {
                align-self: start;
            }


.ll-m-media__body--align-self-center {
                align-self: center;
            }


.ll-m-media__body--align-self-end {
                align-self: end;
            }


.ll-m-modal {
    position: fixed;
    inset: 0;
    z-index: 1000000001; /* ジーニーの広告より上 */
    display: none;
}


.ll-m-modal__overlay {
        position: fixed;
        inset: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: rgba(0, 0, 0, 0.8);
        background-color: var(--ekiten-background-color-modal);
        z-index: -1;
    }


.ll-m-modal__closeButton {
        position: absolute;
        top: 0;
        right: 0;
    }


.ll-m-modal__container {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }


.ll-m-modal__floatingFrame {
        position: fixed;
        bottom: 0;
        width: 100%;
    }


.ll-m-modal--solid .ll-m-modal__overlay {
            background-color: #fff;
        }


.ll-m-modal.is-open {
        display: block;
    }


.ll-m-modal[aria-hidden="false"] .ll-m-modal__overlay {
            animation: modal_fadeIn 0.3s;
        }


.ll-m-modal[aria-hidden="false"] .ll-m-modal__container {
            animation: modal_fadeIn 0.3s, modal_slideInBottom 0.4s;
        }


.ll-m-modal[aria-hidden="true"] .ll-m-modal__overlay {
            animation: modal_fadeOut 0.3s;
        }


.ll-m-modal[aria-hidden="true"] .ll-m-modal__container {
            animation: modal_fadeOut 0.3s, modal_slideOutBottom 0.3s;
        }


/* Animation */


@keyframes modal_fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


@keyframes modal_fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}


@keyframes modal_slideInBottom {
    from {
        transform: translateY(100%);
    }

    to {
        transform: translateY(0);
    }
}


@keyframes modal_slideOutBottom {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(30%);
    }
}


/* TODO：ファイル分ける */


.ll-m-modalDialog {
    position: relative;
    display: flex;
    margin: 0 1.5rem;
    flex-direction: column;
    background: #FFF;
    background: var(--ekiten-background-color-white);
    max-height: calc(100vh - 7rem);
    padding: 3rem 1.5rem;
    overflow-y: auto;
    /* TODO:適当です */
    z-index: 100000;
}


.ll-m-modalDialog__closeButton {
        position: absolute;
        top: 0;
        right: 0;
    }


.ll-m-modalDialog__body {
        flex: 1 1 auto;
        overflow-y: auto;
    }


.ll-m-modalDialog__footer {
        flex-shrink: 0;
        background: #FFF;
        background: var(--ekiten-background-color-white);
    }


.ll-m-modalDialog--fill {
        width: 100%;
        max-width: 65rem;
        max-width: var(--content-width);
        height: 100%;
        max-height: none;
        max-height: initial;
        margin: 0;
    }


.ll-m-modalDialog--fullWidth {
        width: 100%;
        /* TODO:仮で指定 */
        max-width: 65rem;
        max-width: var(--content-width);
    }


.ll-m-modalDialog--pageType {
        width: 100%;
        height: 100%;
        max-height: none;
        max-height: initial;
        margin: 0;
        padding-bottom: 7rem;
        display: flex;
        align-items: center;
    }


.ll-m-modalDialog--pageType .ll-m-modalDialog__closeButton {
            position: fixed;
        }


.ll-m-modalDialog--pageType .ll-m-modalDialog__body {
            width: 65rem;
            width: var(--content-width);
            overflow-y: visible;
            overflow-y: initial;
        }


.ll-m-modalDialog--pageType .ll-m-modalDialog__footer {
            position: fixed;
            bottom: 0;
            width: 100%;
        }


.ll-m-news {
    padding: 1rem;
    border: solid 0.2rem #D6D6D6;
    border: solid 0.2rem var(--mono-20);
    color: #333;
    color: var(--mono-100);
}


.ll-m-news__date {
        font-size: 1.2rem;
        margin-bottom: 0.3rem
    }


.ll-m-news__title {
        font-size: 1.4rem;
        font-weight: bold;
    }


.ll-m-news__text {
        font-size: 1.4rem;
    }


.ll-m-news--important {
        border: solid 0.2rem #FF3333;
        border: solid 0.2rem var(--red-100);
        color: #FF3333;
        color: var(--red-100);
    }


.ll-m-news--notice {
        border: solid 0.2rem #FFD700;
        border: solid 0.2rem var( --yellow-100);
        color: #333;
        color: var(--mono-100);
    }


.ll-m-numberList {
    counter-reset: count 0;

}


.ll-m-numberList__item {
        position: relative;
        text-indent: -1.1em;
        padding-left: 1.1em;
    }


.ll-m-numberList__item:before {
            content: counter(count) ".";
            counter-increment: count 1;
            padding-right: .2em;
        }


.ll-m-numberList--xs .ll-m-numberList__item {
            font-size: 1rem;
        }


.ll-m-pagination {
    text-align: center;

}


.ll-m-pagination__range {
        color: #333;
        color: var(--ekiten-link-color-secondary);
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        margin-bottom: 1.2rem;
    }


.ll-m-pagination__navigator {
        display: flex;
        justify-content: center;
        align-items: center;
    }


.ll-m-pagination__pages {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        padding: 0 3.5rem;
    }


.ll-m-pagination__item {
        padding: 0 .75rem;
    }


.ll-m-pagination__item__pagingNumber {
            display: block;
            background-color: #EAEAEA;
            background-color: var(--ekiten-background-color-secondary);
            color: #333;
            color: var(--ekiten-link-color-secondary);
            text-align: center;
            line-height: 3rem;
            line-height: var(--ekiten-item-size-s);
            font-size: 1.2rem;
            font-size: var(--ekiten-letter-fontSize-s);
            font-weight: bold;
            border: solid 0.1rem #EAEAEA;
            border: solid var(--ekiten-border-size-default) var(--ekiten-border-color-secondary);
            width: 3rem;
            width: var(--ekiten-item-size-s);
            height: 3rem;
            height: var(--ekiten-item-size-s);
            border-radius: 50%;
        }


.ll-m-pagination__item__pagingNumber--current {
                background-color: #FFF;
                background-color: var(--ekiten-background-color-white);
                border: solid 0.1rem #D6D6D6;
                border: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
                color: #DD0000;
                color: var(--ekiten-link-color-current);
            }


.ll-m-pagination__pagingFirstLast {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        color: #666;
        color: var(--ekiten-letter-color-strong);
    }


.ll-m-pagination__pagingFirstLast--first {
            margin-right: -3rem;
        }


.ll-m-pagination__pagingFirstLast--last {
            margin-left: -3rem;
        }


.ll-m-photoCaption {
    max-width: 65rem;
    margin: 0 auto;
}


.ll-m-photoCaption__information {
        margin-bottom: 1.5rem;
    }


.ll-m-photoCaption__caption {
        margin-bottom: 1.5rem;
    }


.ll-m-photoCaption__link {
        text-align: center;
        margin-bottom: 1rem;
    }


.ll-m-photoCaption__actions {
        margin-bottom: 0;
    }


.ll-m-replyPanel {
    padding: 1.5rem;
    background-color: #FFF9F2;
    background-color: var(--ekiten-background-color-reply);
}


.ll-m-replyPanel__head {
        margin-bottom: 1rem;
    }


.ll-m-replyPanel__date {
        margin-bottom: 1rem;
    }


/* 旧環境から実装移管したものなので、コード参考にしないこと */


#lottery {
    margin: 30px auto;
    width:300px;
    height: 150px;
    position: relative;
    transform: perspective(500);
    transform-style: preserve-3d;
    transform-origin: 50% 40%;
    animation: lottery 2s ease-out 1s infinite forwards;
}


#lottery.opening {
    height: 300px;
    transition: height 0.375s 0s cubic-bezier(0.0, 0.0, 0.2, 1);
}


@keyframes lottery {
    0% {	transform: rotateZ(0); }
    5% {	transform: rotateZ(2deg); }
    10% {	transform: rotateZ(0deg); }
    15% {	transform: rotateZ(2deg); }
    20% {	transform: rotateZ(0deg); }
    100% {	transform: rotateZ(0deg); }
}


#lottery img {
    display: block;
    width:100%;
}


#lottery img:first-child {
    position: absolute;
}


#lottery img:last-child {
    transform-origin: 50% 100%;
    position: absolute;
    left: 0;
    top: 0;
}


#lottery img:last-child {
    animation: lotteryOpen .5s ease-out .2s 1 forwards;
}


@keyframes lotteryOpen {
    0% {	transform: rotateX(0);}
    100% {	transform: rotateX(-20deg);}
}


#lottery2 {
    margin: 30px auto;
    width:300px;
    height: 300px;
    position: relative;
    transform: perspective(500);
    transform-style: preserve-3d;
}


#lottery2 img {
    display: block;
    width:100%;
}


#lottery2 img:first-child {
    position: relative;
    z-index: 1;
}


#lottery2 img:nth-child(2) {
    transform-origin: 50% 0%;
    transform: rotateX(180deg);
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 3;
}


#lottery2 img:last-child {
    transform-origin: 50% 100%;
    transform: scale(1);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}


#lottery2 img:nth-child(2) {
    animation: lotteryOpen2 .6s ease-out .2s 1 forwards;
}


#lottery2 img:last-child {
    animation: lotteryOpen3 .6s ease-out .2s 1 forwards;
}


@keyframes lotteryOpen2 {
    0% {	transform: rotateX(180deg); }
    100% {	transform: rotateX(0); }
}


@keyframes lotteryOpen3 {
    0% {	transform: rotateX(0); }
    100% {	transform: rotateX(-180deg); }
}


.lottery-banner {
    margin: 0 auto;
    width: 100%;
    max-width: 375px;
}


.lottery-banner .lottery-banner__image {
        width: 100%;
        height: auto;
        vertical-align: middle;
    }


.lottery-message p {
        color: #333;
        font-size: 14px;
        line-height: 22px;
    }


.lottery-message p + p {
        margin-top: 1em;
    }


.lottery-message b {
        color: #d00;
    }


.ll-m-scrollArea {
    display: block;
    border: solid .1rem #D6D6D6;
    border: solid .1rem var(--mono-20);
    padding: 1.5rem 1.5rem 0;
}


.ll-m-scrollArea__contentWrapper {
        overflow-y: scroll;

        /* TODO: 仮で固定値とする。css に複数のサイズを設けるか、
            props で高さ指定で使用する数字を受け取り style 属性にあてるか検討する */
        height: 265px;
    }


/* スクロールバーを非表示にしている */


.ll-m-scrollArea ::-webkit-scrollbar{
        display: none;
    }


.ll-m-snsGroup {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    list-style: none;
    margin: 2rem 0;
}


.ll-m-snsGroup__item +.ll-m-snsGroup__item {
            margin-left: 1rem;
        }


.ll-m-snsGroup__item > * {
            vertical-align: bottom;
        }


.ll-m-summaryMenu__item > dt {
            display: flex;
            align-items: center;
            -moz-column-gap: 2rem;
                 column-gap: 2rem;
            background-color: #F5F5F5;
            background-color: var(--ekiten-background-color-weak);
            padding: 1rem 1.5rem;
        }


.ll-m-summaryMenu__item > dt .ll-m-summaryMenu__item__termName {
                flex-grow: 1;
                font-size: 1.2rem;
                font-size: var(--ekiten-letter-fontSize-s);
                font-weight: bold;
            }


.ll-m-summaryMenu__item > dt .ll-m-summaryMenu__item__termLead {
                flex-shrink: 0;
            }


.ll-m-summaryMenu__item > dd {
            display: flex;
            justify-content: space-between;
            align-items: center;
            -moz-column-gap: 2rem;
                 column-gap: 2rem;
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            line-height: 1.3;
            line-height: var(--ekiten-letter-lineHeight-narrow);
            padding: 1rem 1.5rem;
        }


.ll-m-summaryMenu__item > dd .ll-m-summaryMenu__item__descriptionName {
                flex-grow: 1;
            }


.ll-m-summaryMenu__item > dd .ll-m-summaryMenu__item__descriptionMeta {
                flex-shrink: 0;
            }


.ll-m-tabBar {
    width: 100%;
}


.ll-m-tabBar__items {
        display: flex;
        width: 100%;
        border-bottom: solid 0.1rem #EAEAEA;
        border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-weak);
        overflow-x: scroll;
    }


.ll-m-tabBar__item {
        padding: 1.5rem 1.5rem 0;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
    }


.ll-m-tabBar__item--current .ll-m-tabBar__item__pagingLabel {
                color: #DD0000;
                color: var(--ekiten-link-color-current);
                border-bottom: solid 0.4rem #DD0000;
                border-bottom: solid var(--ekiten-border-size-current) var(--ekiten-link-color-current);
                padding-bottom: 1.1rem;
                margin-bottom: -.1rem;
            }


.ll-m-tabBar__item__pagingLabel {
            display: block;
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            font-weight: bold;
            line-height: 1;
            padding-bottom: 1.5rem;
            white-space: nowrap;
        }


.ll-m-table {
    width: 100%;
    border-top: solid .1rem #D6D6D6;
    border-top: solid .1rem var(--mono-20);
    border-right: solid .1rem #D6D6D6;
    border-right: solid .1rem var(--mono-20);
    border-left: solid .1rem #D6D6D6;
    border-left: solid .1rem var(--mono-20);
}


.ll-m-table__table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
    }


.ll-m-table__table th {
            background-color: #EAEAEA;
            background-color: var(--mono-10);
            font-weight: bold;
        }


.ll-m-table__table th, .ll-m-table__table td {
            text-align: center;
            border-right: solid .1rem #D6D6D6;
            border-right: solid .1rem var(--mono-20);
            border-bottom: solid .1rem #D6D6D6;
            border-bottom: solid .1rem var(--mono-20);
            padding: 1rem;
        }


.ll-m-table__table th:last-child, .ll-m-table__table td:last-child {
                border-right: none;
            }


.ll-m-table__table__body td {
                background-color: #FFF;
                background-color: var(--white);
            }


/* TODO: ２列目のカラムを固定にする必要がある。https://xd.adobe.com/view/a0e1d8c7-fe52-4bed-6180-4658f39f7c3c-d6d0/screen/a141c844-6922-4711-b4b0-2f468c751f07/ */


.ll-m-table__table .stickyItem--left {
                position: sticky;
                z-index: 1;
                left: 0;
            }


.ll-m-table--fixed .ll-m-table__table {
            table-layout: fixed;
        }


.ll-m-table--scroll {
        overflow: scroll;
    }


.ll-m-table--scroll .ll-m-table__table {
            white-space: nowrap;
        }


.ll-m-tagButtonGroup {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
    flex-direction: row;
    gap: 1rem;
}


.ll-m-tagButtonGroup--nowrap {
        flex-wrap: nowrap;
    }


.ll-m-tagButtonGroup--nowrap .ll-m-tagButtonGroup__item {
            white-space: nowrap;
        }


.ll-m-tagGroup {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    line-height: 1;
}


/* TODO：リスト下部余白調整。他に方法がないか */


.ll-m-tagGroup .ll-m-tagGroup__item {
        overflow: hidden; /* memo:内部に text-overflow: ellipsis; を使用する場合の bug fixとして指定 */
    }


.ll-m-textList {
    display: flex;
    flex-wrap: wrap;
}


.ll-m-textList__item {
        position: relative;
    }


.ll-m-textList--xs .ll-m-textList__item {
            font-size: 1rem;
        }


.ll-m-textList--horizontal {
        flex-direction: row;
        align-items: center;
        -moz-column-gap: 2rem;
             column-gap: 2rem;
        row-gap: 0.6rem;
    }


.ll-m-textList--horizontal.ll-m-textList--dot {
            -moz-column-gap: normal;
                 column-gap: normal;
            -moz-column-gap: initial;
                 column-gap: initial;
        }


.ll-m-textList--horizontal.ll-m-textList--dot .ll-m-textList__item::after {
                    content: "•";
                    display: inline-block;
                    margin: 0 0.3em;
                }


.ll-m-textList--horizontal.ll-m-textList--dot .ll-m-textList__item:last-child {
                    padding-right: 0;
                    padding-right: initial;
                }


.ll-m-textList--horizontal.ll-m-textList--dot .ll-m-textList__item:last-child::after {
                        display: none;
                    }


.ll-m-textList--horizontal.ll-m-textList--slash {
            -moz-column-gap: normal;
                 column-gap: normal;
            -moz-column-gap: initial;
                 column-gap: initial;
        }


.ll-m-textList--horizontal.ll-m-textList--slash .ll-m-textList__item::after {
                    content: "/";
                    display: inline-block;
                    margin: 0 0.3em;
                    color: #D6D6D6;
                    color: var(--mono-20);
                }


.ll-m-textList--horizontal.ll-m-textList--slash .ll-m-textList__item:last-child {
                    padding-right: 0;
                    padding-right: initial;
                }


.ll-m-textList--horizontal.ll-m-textList--slash .ll-m-textList__item:last-child::after {
                        display: none;
                    }


.ll-m-textList--inline-horizontal {
        display: inline;
        display: initial;
    }


.ll-m-textList--inline-horizontal.ll-m-textList--dot {
            -moz-column-gap: normal;
                 column-gap: normal;
            -moz-column-gap: initial;
                 column-gap: initial;
        }


.ll-m-textList--inline-horizontal.ll-m-textList--dot .ll-m-textList__item {
                display: inline;
            }


.ll-m-textList--inline-horizontal.ll-m-textList--dot .ll-m-textList__item::after {
                    content: "•";
                    display: inline-block;
                    margin: 0 0.3em;
                }


.ll-m-textList--inline-horizontal.ll-m-textList--dot .ll-m-textList__item:last-child {
                    padding-right: 0;
                    padding-right: initial;
                }


.ll-m-textList--inline-horizontal.ll-m-textList--dot .ll-m-textList__item:last-child::after {
                        display: none;
                    }


.ll-m-textList--inline-horizontal.ll-m-textList--slash {
            -moz-column-gap: normal;
                 column-gap: normal;
            -moz-column-gap: initial;
                 column-gap: initial;
        }


.ll-m-textList--inline-horizontal.ll-m-textList--slash .ll-m-textList__item {
                display: inline;
            }


.ll-m-textList--inline-horizontal.ll-m-textList--slash .ll-m-textList__item::after {
                    content: "/";
                    display: inline-block;
                    margin: 0 0.3em;
                    color: #D6D6D6;
                    color: var(--mono-20);
                }


.ll-m-textList--inline-horizontal.ll-m-textList--slash .ll-m-textList__item:last-child {
                    padding-right: 0;
                    padding-right: initial;
                }


.ll-m-textList--inline-horizontal.ll-m-textList--slash .ll-m-textList__item:last-child::after {
                        display: none;
                    }


.ll-m-textList--vertical {
        flex-direction: column;
        align-items: flex-start;
    }


.ll-m-textList--vertical .ll-m-textList__item * {
                line-height: 1;
            }


.ll-m-textList--vertical .ll-m-textList__item + .ll-m-textList__item {
            margin-top: 1.5rem;
        }


.ll-m-textList--vertical.ll-m-textList--bullet .ll-m-textList__item {
                padding-left: 1.5rem;
            }


.ll-m-textList--vertical.ll-m-textList--bullet .ll-m-textList__item::before {
                    content: "•";
                    position: absolute;
                    top: 0;
                    left: 0.5rem;
                    line-height: inherit;
                }


.ll-m-textList--vertical.ll-m-textList--bullet .ll-m-textList__item + .ll-m-textList__item {
                margin-top: 2rem;
            }


.ll-m-textList--vertical.ll-m-textList--underBorder .ll-m-textList__item {
                width: 100%;
                padding-top: 1rem;
                padding-bottom: 1rem;
            }


.ll-m-textList--vertical.ll-m-textList--underBorder .ll-m-textList__item + .ll-m-textList__item {
                margin-top: 0;
                border-top: 0.1rem solid #D6D6D6;
                border-top: var(--ekiten-border-size-default) solid var(--mono-20);
            }


.ll-m-thumbnailList {
    display: grid;
    grid-gap: 0.2rem;
    gap: 0.2rem;
}


.ll-m-thumbnailList--column5 {
        grid-template-columns: repeat(5, 1fr);
    }


.ll-m-thumbnailList--column4 {
        grid-template-columns: repeat(4, 1fr);
    }


.ll-m-thumbnailList--column3 {
        grid-template-columns: repeat(3, 1fr);
    }


.ll-m-thumbnailList--column2 {
        grid-template-columns: repeat(2, 1fr);
    }


.ll-m-thumbnailList--columnPickUp {
        grid-template-columns: repeat(2, 1fr);
    }


.ll-m-thumbnailList--columnNormal {
        grid-template-columns: repeat(3, 1fr);
    }


@container (min-width: 650px) {
        .ll-m-thumbnailList--columnPickUp {
            grid-template-columns: repeat(3, 1fr);
        }

        .ll-m-thumbnailList--columnNormal {
            grid-template-columns: repeat(5, 1fr);
        }
}


.ll-m-tooltipPanel {
    display: none;
    max-width: 48rem;
}


.ll-m-tooltipPanel__panel {
        background-color: #FFF;
        background-color: var(--white);
        padding: 1.5rem;
        box-shadow: 0 0 0.6rem 0 rgba(0, 0, 0, 0.2);
        box-shadow: var(--ekiten-boxShadow-03);
    }


.ll-m-tooltipPanel.is-display {
        display: block;
        position: absolute;
        z-index: 10; /* TODO:仮実装。重なり順を検討する */
    }


.ll-m-totalAmount {
    display: flex;
    justify-content: space-between;
}


.ll-m-totalAmount__head {
        flex-shrink: 1;
    }


.ll-m-totalAmount__amount {
        flex-shrink: 0;
    }


.ll-m-totalAmount__amount__taxIn {
            font-size: 2rem;
            line-height: 1;
        }


.ll-m-totalAmount__amount__taxEx {
            font-size: 1.4rem;
        }


.ll-m-totalAmount__supplement {
        display: block;
        text-align: right;
        font-size: 1.4rem;
        width: 100%;
    }


.ll-m-tabs__list {
        display: flex;
        align-items: stretch;
        background-color: #FFF;
        background-color: var(--white);
        padding: 0 1.5rem;
        padding: 0 var(--ekiten-padding-layoutGarter);
        border-bottom: solid .1rem #D6D6D6;
        border-bottom: solid .1rem var(--mono-20);
        min-height: 5.4rem;
    }


.ll-m-tabs__item {
        flex: 1;
        margin-bottom: -.1rem;
        position: relative;
    }


.ll-m-tabs__item.is-active {
            border: solid .1rem #D6D6D6;
            border: solid .1rem var(--mono-20);
            border-top-left-radius: .6rem;
            border-top-right-radius: .6rem;
            border-bottom: none;
            background-color: #FFF;
            background-color: var(--white);
        }


.ll-m-tabs__item.is-active .ll-m-tabs__button {
                color: #DD0000;
                color: var(--brand-color);
                text-decoration: none;
                pointer-events: none;
            }


/*
            以下の条件以外の場合に border-left を付与する
            最初に並ぶタブ
            アクティブタブ
            アクティブタブの次に並ぶタブ
         */


.ll-m-tabs__item:not(.is-active) + .ll-m-tabs__item:not(.is-active):before {
                display: block;
                content: "";
                background-color: #D6D6D6;
                background-color: var(--mono-20);
                height: calc(100% - 3.8rem); /* マジックナンバー：デザイン上の恣意的な値です。 */
                width: .1rem;
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                left: 0;
            }


.ll-m-tabs__button {
        display: flex;
        align-items: center;
        justify-content: center;
        -moz-column-gap: .3rem;
             column-gap: .3rem;
        padding: .6rem 1rem;
        color: #333;
        color: var(--mono-100);
        font-weight: bold;
        width: 100%;
        height: 100%;
    }


.ll-m-tabs__panel {
        padding: 0 1.5rem;
        padding: 0 var(--ekiten-padding-layoutGarter);
    }


.ll-m-tabs__panel__intro { /* タブ内コンテンツの前置き */
        padding: 1.5rem 0 1rem;
    }


.ll-m-rankingSummary {
    margin-bottom: 1.5rem;
}


.ll-m-rankingSummary__board {
        text-align: center;
        background: #F5F5F5;
        background: var(--ekiten-background-color-weak);
        padding: 30px 0;
        margin-bottom: 15px;
    }


.ll-m-rankingSummary__board__category {
            font-size: 1.4rem;
            font-weight: bold;
        }


.ll-m-rankingSummary__board__rank__own {
                font-size: 2.2rem;
                font-weight: bold;
            }


.ll-m-rankingSummary__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem 2rem;
    }


.ll-m-rankingSummary__meta__title {
            font-size: 1.4rem;
            font-weight: bold;
            margin-right: 5px;
        }


.ll-m-rankingSummary__meta + .ll-m-rankingSummary__meta {
            margin-top: 1rem;
        }


.ll-m-stepIndicator {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    color: #999;
    color: var(--mono-50);
}


.ll-m-stepIndicator__step {
        display: flex;
        align-items: center;
        position: relative;
        padding-left: 0.5rem;
    }


.ll-m-stepIndicator__step:first-child {
            padding-left: 0;
        }


.ll-m-stepIndicator__step__content {
            text-align: center;
            font-size: 1rem;
        }


.ll-m-stepIndicator__step__label {
            font-weight: bold;
            font-size: 1.2rem;
        }


.ll-m-stepIndicator__step .ll-icon {
            margin-left: 0.5rem;
        }


.ll-m-stepIndicator__step .isLastElement {
            display: none;
        }


.ll-m-stepIndicator .isActive {
        color: #DD0000;
        color: var(--ekiten-brandColor);
    }


.ll-m-goodsCard {
    margin-bottom: 3rem;
}


.ll-m-goodsCard__image {
        margin-bottom: 1.5rem;
    }


.ll-m-goodsCard__head {
        margin-bottom: 1.5rem;
    }


.ll-m-goodsCard__head__heading {
            margin-right: 0.5rem;
            font-size: 1.6rem;
            font-weight: bold;
        }


.ll-m-goodsCard__head__supplement {
            font-size: 1.2rem;
            font-weight: normal;
        }


.ll-m-goodsCard__head__supplement > * {
                margin: 0; /* デザイン上の恣意的な値です。 */
            }


.ll-m-goodsCard__body {
        margin-bottom: 1.5rem;
    }


.ll-m-goodsCard__footer {
        text-align: center;
    }


@container (min-width: 650px) {
    .ll-m-goodsCardGroup {
        display: grid;
        grid-gap: 1.5rem;
        gap: 1.5rem;
        grid-template-columns: repeat(3, 1fr);
    }
}


.ll-m-bannerList {
    display: grid;
    grid-gap: 1.5rem;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}


.ll-m-bannerList--column {
        grid-template-columns: 1fr;
    }


@container (min-width: 650px) {
        .ll-m-bannerList--column {
            grid-template-columns: repeat(2, 1fr);
        }
}


.ll-m-grid {
    display: flex;
    flex-flow: row wrap;
    width: calc(100% + 1.5rem);
    margin-left: -1.5rem;
    row-gap: 3rem;
}


.ll-m-grid__item {
        flex: 1 0 0;
        width: 100%;
        max-width: 100%;
        padding-left: 1.5rem;
    }


.ll-m-grid__item > * {
            margin-bottom: 0;
        }


/* cw コンテナ幅で調整 */


.ll-m-grid__item--span-1 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 1);
        }


/* span gridの何個分 */


.ll-m-grid__item--span-2 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 2);
        }


.ll-m-grid__item--span-3 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 3);
        }


.ll-m-grid__item--span-4 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 4);
        }


.ll-m-grid__item--span-5 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 5);
        }


.ll-m-grid__item--span-6 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 6);
        }


.ll-m-grid__item--cw-span-6 {
            flex: 1 0 auto;
            width: 100%;
            max-width: 100%;
        }


.ll-m-grid__item--span-7 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 7);
        }


.ll-m-grid__item--span-8 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 8);
        }


.ll-m-grid__item--span-9 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 9);
        }


.ll-m-grid__item--span-10 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 10);
        }


.ll-m-grid__item--span-11 {
            flex: 0 0 auto;
            width: calc(100% / 12 * 11);
        }


.ll-m-grid__item--span-12 {
            flex: 0 0 auto;
            width: calc(100%);
        }


.ll-m-grid__item--auto {
            flex: 0 0 auto;
            width: auto;
        }


@container (min-width: 650px) {
    .ll-m-grid {
        width: calc(100% + 3rem);
        margin-left: -3rem;
    }

        .ll-m-grid__item {
            padding-left: 3rem;
        }

            .ll-m-grid__item--cw-span-6 {
                flex: 0 0 auto;
                width: calc(100% / 12 * 6);
            }
}


.ll-o-activityPanel {
    margin-bottom: 1.5rem;
    padding: 1.5rem;
    background-color: #FFF;
    background-color: var(--white);
}


.ll-o-activityPanel__activatorInformation {}


.ll-o-activityPanel__content {
        margin-top: 1rem;
    }


.ll-o-activityPanel__content__label {
            margin-top: 1rem;
        }


.ll-o-activityPanel__content__label * {
                line-height: 1;
                vertical-align: bottom;
            }


.ll-o-activityPanel__content__pr {
            margin-top: 1rem;
        }


.ll-o-activityPanel__content__pr * {
                color: #FF3333;
                color: var(--ekiten-red-100);
            }


.ll-o-activityPanel__content__related {
            margin-top: 1rem;
        }


.ll-o-activityPanel__content__main {
            position: relative;
            display: block;
            margin-top: 1rem;
        }


/* アクティビティのボックス要素リンク内にクリッカブル領域がある場合のみ、ボックス要素リンクに適用 */


.ll-o-activityPanel__content__mainCoveredLink {
            position: absolute;
            inset: 0;
            z-index: 0;
        }


/* アクティビティのボックス要素リンク内にクリッカブル領域がある場合のみ、ボックス要素リンク内のクリッカブル要素に適用 */


.ll-o-activityPanel__content__mainInnerClickable {
            position: relative;
            z-index: 1;
        }


/* 写真投稿アクティビティ専用 */


/* 写真が2枚の場合のグリッドレイアウト。デザイン上の恣意的な値です */


.ll-o-activityPanel__content__mainPhotoGrid--2 {
                grid-template-columns: repeat(2, 1fr);
            }


/* 写真が3枚の場合のグリッドレイアウト。デザイン上の恣意的な値です */


.ll-o-activityPanel__content__mainPhotoGrid--3 {
                grid-template-columns: repeat(2, 1fr);
                grid-template-rows: 8.475rem 8.475rem;
            }


/* 写真が3枚以上の場合はデザイン上、写真の可視領域を制限する */


.ll-o-activityPanel__content__mainPhotoGrid--3 > * {
                    overflow: hidden;
                }


.ll-o-activityPanel__content__mainPhotoGrid--3 > *:first-child {
                    grid-row: 1 / 3;
                }


/* 写真が4枚の場合のグリッドレイアウト。デザイン上の恣意的な値です */


.ll-o-activityPanel__content__mainPhotoGrid--4 {
                grid-template-columns: repeat(4, 1fr);
                grid-template-rows: 8.475rem 8.475rem;
            }


/* 写真が3枚以上の場合はデザイン上、写真の可視領域を制限する */


.ll-o-activityPanel__content__mainPhotoGrid--4 > * {
                    overflow: hidden;
                }


.ll-o-activityPanel__content__mainPhotoGrid--4 > *:first-child {
                    grid-column: 1 / 3;
                    grid-row: 1 / 3;
                }


.ll-o-activityPanel__content__mainPhotoGrid--4 > *:nth-child(2) {
                    grid-column: 3 / 5;
                }


/* 写真が5枚以上の場合のグリッドレイアウト。デザイン上の恣意的な値です */


.ll-o-activityPanel__content__mainPhotoGrid--5 {
                grid-template-columns: repeat(4, 1fr);
                grid-template-rows: 8.475rem 8.475rem;
            }


/* 写真が3枚以上の場合はデザイン上、写真の可視領域を制限する */


.ll-o-activityPanel__content__mainPhotoGrid--5 > * {
                    overflow: hidden;
                }


.ll-o-activityPanel__content__mainPhotoGrid--5 > *:first-child {
                    grid-column: 1 / 3;
                    grid-row: 1 / 3;
                }


/* 写真が6枚以上の場合は非表示にして「もっと見る」ボタンを表示 */


.ll-o-activityPanel__content__mainPhotoGrid--5 > *:nth-child(n + 6) {
                    display: none;
                }


.ll-o-activityPanel__reaction {
        margin-top: 1.5rem;
    }


.ll-o-activityPanel__shopLink {
        display: block;
        margin-top: 1.5rem;
    }


.ll-o-approvalPanel__header__postedDateTime {
            margin-bottom: 1rem;
        }


.ll-o-approvalPanel__header__contributor {
            margin-bottom: 1.5rem;
        }


.ll-o-approvalPanel__header__shopContents {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 1.5rem;
        }


.ll-o-approvalPanel__header__shopContentsName {
            font-weight: bold;
        }


.ll-o-approvalPanel__header__shopContentsLink {}


.ll-o-approvalPanel__body {
        margin-bottom: 3rem;
        padding: 1.5rem;
        border: 0.1rem solid #D6D6D6;
        border: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
    }


.ll-o-approvalPanel__footer {}


.ll-o-coupon {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    border: 0.2rem solid;
    border: var(--ekiten-border-size-l) solid;
    border-color: #FF9999;
    border-color: var(--ekiten-border-color-coupon);
    text-align: left;
}


.ll-o-coupon__container {
        flex-grow: 1;
    }


.ll-o-coupon__icon {
        color: #FF9999;
        font-size: 2rem;
        flex-shrink: 0;
    }


/* コンポーネント内の項目汎用的に使います */


.ll-o-coupon__header__item {
            margin-bottom: 1rem;
            margin-bottom: var(--ekiten-margin-unityDefault);
        }


.ll-o-coupon__header__item:last-child {
                margin-bottom: 0;
            }


.ll-o-coupon__body {
        margin-top: 1.5rem;
        margin-top: var(--ekiten-margin-unityWide);
    }


/* コンポーネント内の項目汎用的に使います */


.ll-o-coupon__body__item {
            margin-bottom: 1.5rem;
            margin-bottom: var(--ekiten-margin-unityWide);
        }


.ll-o-coupon__body__item:last-child {
                margin-bottom: 0;
            }


.ll-o-coupon__footer {
        margin-top: 3rem;
        margin-top: var(--ekiten-margin-divideDefault);
    }


/* コンポーネント内の項目汎用的に使います */


.ll-o-coupon__footer__item {
            margin-bottom: 1.5rem;
            margin-bottom: var(--ekiten-margin-unityWide);
        }


.ll-o-coupon__footer__item:last-child {
                margin-bottom: 0;
            }


.ll-o-coupon__rateAndPrice {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }


.ll-o-coupon__rateAndPrice__rate {
            width: auto;
            margin-right: 0.5rem;
            padding: 0.3rem 0.4rem;
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            font-weight: bold;
            color: #FFF;
            color: var(--ekiten-letter-color-overBackground);
            background-color: #FF9999;
            background-color: var(--ekiten-background-color-coupon);
            border-color: #FF9999;
            border-color: var(--ekiten-border-color-coupon);
            white-space: nowrap;
        }


.ll-o-coupon__rateAndPrice__rateAside {
            width: auto;
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            font-weight: bold;
        }


.ll-o-coupon__rateAndPrice__price {
            display: flex;
            flex-wrap: wrap;
            align-items: center;

        }


.ll-o-coupon__rateAndPrice__price__before {
                font-size: 1.4rem;
                font-size: var(--ekiten-letter-fontSize-m);
            }


.ll-o-coupon__rateAndPrice__price__after {
                font-size: 2rem;
                font-size: var(--ekiten-letter-fontSize-xl);
                font-weight: bold;
                color: #FF9999;
                color: var(--ekiten-letter-color-coupon);
            }


.ll-o-coupon--premium {
        background-color: #FFFBE5;
        background-color: var(--ekiten-background-color-notice);
        border-color: #FF3333;
        border-color: var(--ekiten-border-color-premiumCoupon);
    }


.ll-o-coupon--premium .ll-o-coupon__icon {
            color: #FF3333;
        }


.ll-o-coupon--premium .ll-o-coupon__rateAndPrice__rate {
                background-color: #FF3333;
                background-color: var(--ekiten-background-color-premiumCoupon);
            }


.ll-o-coupon--premium .ll-o-coupon__rateAndPrice__price__after {
                    color: #FF3333;
                    color: var(--bg-color-attention-high);
                }


.ll-o-couponList {
    display: flex;
    align-items: center;
    padding: 1rem 1.5rem;
    text-align: left;
    border-top: solid 0.1rem #D6D6D6;
    border-top: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
    border-bottom: solid 0.1rem #D6D6D6;
    border-bottom: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
}


.ll-o-couponList__container {
        flex-grow: 1;
    }


.ll-o-couponList__icon {
        color: #3D92F5;
        font-size: 2rem;
        flex-shrink: 0;
    }


/* コンポーネント内の項目汎用的に使います */


.ll-o-couponList__header__item {
            margin-bottom: 1rem;
            margin-bottom: var(--ekiten-margin-unityDefault);
        }


.ll-o-couponList__header__item:last-child {
                margin-bottom: 0;
            }


.ll-o-couponList__body {
        margin-top: 1.5rem;
        margin-top: var(--ekiten-margin-unityWide);
    }


/* コンポーネント内の項目汎用的に使います */


.ll-o-couponList__body__item {
            margin-bottom: 1.5rem;
            margin-bottom: var(--ekiten-margin-unityWide);
        }


.ll-o-couponList__body__item:last-child {
                margin-bottom: 0;
            }


.ll-o-couponList__footer {
        margin-top: 3rem;
        margin-top: var(--ekiten-margin-divideDefault);
    }


/* コンポーネント内の項目汎用的に使います */


.ll-o-couponList__footer__item {
            margin-bottom: 1.5rem;
            margin-bottom: var(--ekiten-margin-unityWide);
        }


.ll-o-couponList__footer__item:last-child {
                margin-bottom: 0;
            }


.ll-o-couponList__rateAndPrice {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }


.ll-o-couponList__rateAndPrice__rate {
            width: auto;
            margin-right: 0.5rem;
            padding: 0.3rem 0.4rem;
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            font-weight: bold;
            color: #FFF;
            color: var(--ekiten-letter-color-overBackground);
            background-color: #FF9999;
            background-color: var(--ekiten-background-color-coupon);
            border-color: #FF9999;
            border-color: var(--ekiten-border-color-coupon);
            white-space: nowrap;
        }


.ll-o-couponList__rateAndPrice__rateAside {
            width: auto;
            font-size: 1.4rem;
            font-size: var(--ekiten-letter-fontSize-m);
            font-weight: bold;
        }


.ll-o-couponList__rateAndPrice__price {
            display: flex;
            flex-wrap: wrap;
            align-items: center;

        }


.ll-o-couponList__rateAndPrice__price__before {
                font-size: 1.4rem;
                font-size: var(--ekiten-letter-fontSize-m);
            }


.ll-o-couponList__rateAndPrice__price__after {
                font-size: 1.6rem;
                font-size: var(--ekiten-letter-fontSize-l);
                font-weight: bold;
                color: #FF9999;
                color: var(--ekiten-letter-color-coupon);
            }


.ll-o-couponList--premium {
        background-color: #FFFBE5;
        background-color: var(--ekiten-background-color-notice);
    }


.ll-o-couponList--premium .ll-o-couponList__rateAndPrice__rate {
                background-color: #FF3333;
                background-color: var(--ekiten-background-color-premiumCoupon);
            }


.ll-o-couponList--premium .ll-o-couponList__rateAndPrice__price__after {
                    color: #FF3333;
                    color: var(--bg-color-attention-high);
                }


.ll-o-couponList + .ll-o-couponList {
        border-top: none;
    }


.ll-o-displayPhoneNumber {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 3rem;
}


.ll-o-displayPhoneNumber__note {
    }


.ll-o-displayPhoneNumber__main {
        display: flex;
        flex-direction: column;
        row-gap: 1rem;
    }


.ll-o-displayPhoneNumber__aside {
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: 1rem;
    }


.ll-o-displayPhoneNumber__phoneNumber {
        font-size: 1.6rem;
        display: flex;
        -moz-column-gap: 0.5rem;
             column-gap: 0.5rem;
        align-items: center;
    }


.ll-o-loginModalContent {
    text-align: center;
    padding: 0 1.5rem;
}


.ll-o-loginModalContent__logoWrapper {
        line-height: 1;
        margin-bottom: 1.5rem;
    }


.ll-o-loginModalContent__logoWrapper > img {
            width: 7.2rem;
        }


.ll-o-loginModalContent__buttons {
        display: flex;
        flex-direction: column;
        row-gap: 1.5rem;
        flex-grow: 1;
    }


.ll-o-memberNav {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 27rem;
}


/* memo: PCの会員ナビの幅 */


.ll-o-memberNav__accountInformation {
        padding: 2rem 0 1.5rem;
        background-color: #F5F5F5;
        background-color: var(--ekiten-background-color-weak);
        text-align: center;
    }


.ll-o-memberNav__accountInformation__avatar {
            margin-bottom: 1rem;
        }


.ll-o-memberNav__accountInformation__name {
            font-weight: bold;
            margin-bottom: 1.5rem;
        }


.ll-o-memberNav__accountInformation__action {
            display: flex;
            justify-content: center;
            -moz-column-gap: 1.5rem;
                 column-gap: 1.5rem;
            margin-bottom: 1.5rem;
        }


.ll-o-memberNav__accountInformation__action > li {
                display: flex;
                align-items: center;
                -moz-column-gap: .5rem;
                     column-gap: .5rem;
            }


.ll-o-memberNav__accountInformation__action > li > div {
                    font-size: 1.2rem;
                    font-weight: bold;
                }


.ll-o-memberNav__body {
        flex-grow: 1;
        padding: 2rem;
    }


.ll-o-memberNav__body__shopName {
            font-weight: bold;
            margin-bottom: 1.5rem;
        }


.ll-o-memberNav__pageLinks {
        display: flex;
        flex-direction: column;
        row-gap: 1.5rem;
    }


.ll-o-memberNav__pageLinks__item > a:hover {
                color: #DD0000;
                color: var(--brand-color);
            }


.ll-o-memberNav--isSetGround {
        width: auto;
        border-radius: 0 0 1rem 1rem;
        border-left: solid 1px #EAEAEA;
        border-right: solid 1px #EAEAEA;
        border-bottom: solid 1px #EAEAEA;
    }


.ll-o-memberNav--isSetGround .ll-o-memberNav__accountInformation {
            border-radius:1rem 1rem 0 0 ;
        }


.ll-o-memberNav--isSetGround .ll-o-memberNav__bottom {
            padding: 0 1.5rem;
        }


.ll-o-profilePanel {
    position: relative;
    background-color: #FFF;
    background-color: var(--white);
    margin-bottom: 1.5rem;
}


.ll-o-profilePanel__header {
        position: relative;
        aspect-ratio: 375/110;
        background: var(--bg-image) no-repeat center center / cover;
    }


.ll-o-profilePanel__header__editButton {
            position: absolute;
            z-index: 1;
            right: 1.5rem;
            bottom: 3rem;
        }


.ll-o-profilePanel__header__editButton--adjust {
                bottom: auto;
                bottom: initial;
                top: -11.5rem;
            }


.ll-o-profilePanel__accountInformation {
        padding: 1.5rem;
    }


.ll-o-profilePanel__accountInformation--adjust {
            margin-top: -6.5rem;
        }


.ll-o-profilePanel__accountInformation__contributor {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            align-items: center;
        }


.ll-o-profilePanel__accountInformation__avatar {
            position: relative;
            width: 9rem;
            margin-bottom: 1rem;
            -webkit-clip-path: circle(50%);
                    clip-path: circle(50%);
        }


.ll-o-profilePanel__accountInformation__avatar input {
                display: none;
            }


.ll-o-profilePanel__accountInformation__avatar button {
                position: absolute;
                inset: 0;
                background-image: linear-gradient(to bottom, rgba(255,0,0,0) 5.6rem, rgba(0,0,0,0.16) 3.4rem);
            }


.ll-o-profilePanel__accountInformation__avatar button span {
                    position: absolute;
                    left: 0;
                    right: 0;
                    bottom: 1rem;
                    font-size: 1.4rem;
                    font-weight: bold;
                    color: #fff;
                    line-height: 1;
                }


.ll-o-profilePanel__accountInformation__avatar img {
                width: 100%;
            }


.ll-o-profilePanel__accountInformation__name {
            font-size: 1.4rem;
            font-weight: bold;
        }


.ll-o-profilePanel__accountInformation__demographic {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0 1.5rem;
            margin-bottom: 1.5rem;
            text-align: center;
        }


.ll-o-profilePanel__accountInformation__demographicItem--frequentlyUsedStation {
                display: flex;
                justify-content: center;
                width: 100%;
            }


.ll-o-profilePanel__accountInformation__demographicItem--frequentlyUsedStation > *:first-child {
                    flex-shrink: 0;
                }


.ll-o-profilePanel__accountInformation__demographicItem--frequentlyUsedStation > *:not(first-child) {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 0 1rem;
                }


.ll-o-profilePanel__accountInformation__action {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0 2rem;
            margin-bottom: 1.5rem;
            text-align: center;
        }


.ll-o-profilePanel__accountInformation__action li > div {
                    font-size: 1.2rem;
                    font-weight: bold;
                }


.ll-o-profilePanel__accountInformation__introduction {}


.ll-o-qa__header__item {
           margin-bottom: 1rem;
        }


.ll-o-qa__header__item:last-child {
                margin-bottom: 0;
            }


.ll-o-qa__body {
        margin-top: 1.5rem;
    }


.ll-o-qa__body__item {
           margin-bottom: 1.5rem;
        }


.ll-o-qa__body__item:last-child {
                margin-bottom: 0;
            }


.ll-o-qa__questionContainer__question {
            display: flex;
            font-size: 1.6rem;
            font-size: var(--ekiten-letter-fontSize-l);
            font-weight: bold;
            line-height: 1.3;
            line-height: var(--ekiten-letter-lineHeight-narrow);
        }


.ll-o-qa__questionContainer__question > span {
                flex-shrink: 0;
            }


/* memo:現在使用箇所ありません
     * TODO：使っていないので変数置き換え未
     * html
     *<div class="ll-o-qa__slider">
        <span class="ll-o-qa__slider__bar" data-max-number="11"
              data-min-number="0"></span>
            <div class="ll-o-qa__slider__caption">
                <span class="ll-o-qa__slider__caption__max">参考になった</span>
                <span class="ll-o-qa__slider__caption__min">参考にならない</span>
            </div>
        </div>
     */


.ll-o-qa__slider {
        margin-top: 1.5rem;
    }


.ll-o-qa__slider__bar {
            position: relative;
            display: block;
            width: 20rem;
            height: 0.5rem;
            margin: auto;
            background: linear-gradient(90deg, #3EA9FF 0%, #3EA9FF 70%, #FD8391 70%, #FD8391 100%);
        }


.ll-o-qa__slider__bar::before {
                content: attr(data-max-number);
                position: absolute;
                top: calc(-1.2rem/2);
                right: 103%;
                display: block;
            }


.ll-o-qa__slider__bar::after {
                content: attr(data-min-number);
                position: absolute;
                top: calc(-1.2rem/2);
                left: 103%;
                display: block;
            }


.ll-o-qa__slider__caption {
            margin-top: 1rem;
            display: flex;
            justify-content: center;
        }


.ll-o-qa__slider__caption__max, .ll-o-qa__slider__caption__min {
                margin: 0 1rem;
                font-size: 1rem;
                font-size: var(--ekiten-letter-fontSize-xs);
            }


.ll-o-qa__slider__caption__max::before, .ll-o-qa__slider__caption__min::before {
                    content: "";
                    display: inline-block;
                    width: 0.7rem;
                    height: 0.7rem;
                    margin-right: 0.3rem;
                }


.ll-o-qa__slider__caption__max::before {
                    background-color: #3EA9FF;
                }


.ll-o-qa__slider__caption__min::before {
                    background-color: #FD8391;
                }


/* TODO:F 命名規則にしたがっていないクラス名を修正する */


.ll-o-reserveSlotList {
    display: flex;
    overflow: auto;
}


.ll-o-reserveSlotList__title {
        display: flex;
        flex-shrink: 0;
        width: 4em;
        font-size: 1.2rem;
        font-size: var(--ekiten-letter-fontSize-s);
        color: #16C5DB;
        color: var(--ekiten-letter-color-reserve);
        background-color: #E7F9FB;
        background-color: var(--ekiten-cyan-10);
        border-top: 0.1rem solid #D6D6D6;
        border-top: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
        border-left: 0.1rem solid #D6D6D6;
        border-left: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
        border-bottom: 0.1rem solid #D6D6D6;
        border-bottom: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
    }


.ll-o-reserveSlotList__title span {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            line-height: 1.3;
            line-height: var(--ekiten-letter-lineHeight-narrow);
        }


.ll-o-reserveSlotList__list {
        display: flex;
        background-color: #16C5DB;
        background-color: var(--bg-color-reserve);
        border-top: 0.1rem solid #D6D6D6;
        border-top: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
        border-left: 0.1rem solid #D6D6D6;
        border-left: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
        border-bottom: 0.1rem solid #D6D6D6;
        border-bottom: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
    }


.ll-o-reserveSlotList__list li {
            min-width: 4.4rem;
            background-color: #FFF;
            background-color: var(--ekiten-background-color-white);
        }


.ll-o-reserveSlotList__list li span,
            .ll-o-reserveSlotList__list li a {
                display: block;
            }


.ll-o-reserveSlotList__list li > span,
            .ll-o-reserveSlotList__list li > a {
                border-right: 0.1rem solid #D6D6D6;
                border-right: var(--ekiten-border-size-default) solid var(--ekiten-border-color-default);
            }


.ll-o-reserveSlotList__list li .inner {
                padding: 0.5rem 0 0.3rem;
                text-align: center;
            }


.ll-o-reserveSlotList__list li .date {
                font-size: 1.2rem;
                font-size: var(--ekiten-letter-fontSize-s);
            }


.ll-o-reserveSlotList__list li .day {
                font-size: 1rem;
                font-size: var(--ekiten-letter-fontSize-xs);
            }


.ll-o-reserveSlotList__list li .status {
            }


.ll-o-review__header {
        display: flex;
        margin-bottom: 1.5rem;
        -moz-column-gap: 1rem;
             column-gap: 1rem;


    }


.ll-o-review__header__main {
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            row-gap: 1rem;
        }


.ll-o-review__header__aside {
            flex-shrink: 0;
        }


.ll-o-review__body {
        display: flex;
        flex-direction: column;
        row-gap: 1.5rem;
    }


.ll-o-groupItemSelect {
    position: relative;
    display: flex;

}


.ll-o-groupItemSelect__scroll {
        overflow-y: scroll;
    }


.ll-o-groupItemSelect__label {
        cursor: pointer;
    }


.ll-o-groupItemSelect__groupLabel {
        display: inline-flex;
        align-items: center;
    }


.ll-o-groupItemSelect__groupContainer {
        flex: 0 0 auto;
    }


.ll-o-groupItemSelect__itemContainer {
        flex: 1 1 auto;
        margin-left: 40px;
        /* 44pxはボタン表示領域 */
        padding-bottom: 44px;
    }


.ll-o-groupItemSelect__group {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 133px;
        height: 40px;
        text-align: center;
        background-color: #F5F5F5;
        cursor: pointer;
    }


.ll-o-groupItemSelect__group--selected,
        .ll-o-groupItemSelect__group:hover {
            background-color: #FFFFFF;
        }


.ll-o-groupItemSelect__itemList {
        display: flex;
        flex-wrap: wrap;
        gap: 0 44px;
        align-items: center;
        width: 100%;
    }


.ll-o-groupItemSelect__item {
        display: flex;
        width: 118px;
        height: 40px;
        align-items: center;
    }


.ll-o-groupItemSelect__button {
        position: absolute;
        height: 44px;
        top: calc(100% - 44px);
        /* 133pxはグループ名列のwidth */
        width: calc(100% - 133px);
        left: 133px;

        display: flex;
        justify-content: center;
        align-items: center;
    }


.ll-o-searchConditions {
    margin-bottom: 1.5rem;
}


.ll-o-searchConditions__header {
        display: flex;
        align-items: center;
        min-height: 4rem;
        margin-bottom: 15px;
   }


.ll-o-searchConditions__header__head {
           flex-grow: 1;
       }


.ll-o-searchConditions__header__link {
           display: flex;
           align-self: stretch;
           align-items: center;
           flex-shrink: 0;
           margin-left: 15px;
           padding-left: 15px;
           border-left: solid 0.1rem #D6D6D6;
           border-left: solid var(--ekiten-border-size-default) var(--ekiten-border-color-default);
       }


.ll-o-searchConditions__featuredItems {
        margin-bottom: 1.5rem;
    }


.ll-o-searchConditions__result {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }


.ll-o-searchConditions__result__count {
            flex-grow: 1;
        }


.ll-o-searchConditions__result__select {
            flex-shrink: 0;
            margin-left: 15px;
        }


.ll-o-searchConditions--isBar {
        padding: 1rem 1.5rem;
        padding: 1rem var(--ekiten-padding-layoutGarter);
        background-color: #FFF;
        background-color: var(--ekiten-background-color-white);
        box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.25);
        box-shadow: var(--ekiten-appearance-boxShadow-week);
    }


.ll-o-searchConditions--isBar > *:last-child {
            margin-bottom: 0;
        }


.ll-o-securityCodeExplanation {
    background-color: #FFF;
    background-color: var(--white);
}


.ll-o-securityCodeExplanation__title {
        margin-bottom: 1.5rem;
    }


.ll-o-securityCodeExplanation__lead {
        margin-bottom: 3rem;
    }


.ll-o-securityCodeExplanation__lead__noteText {
            margin-top: 1.5rem;
        }


.ll-o-securityCodeExplanation__content__item__title {
                margin-bottom: 1rem;
            }


.ll-o-securityCodeExplanation__content__item__lead {
                margin-bottom: 1.5rem;
            }


.ll-o-securityCodeExplanation__content__item__content {
                display: flex;
                justify-content: center;
            }


.ll-o-securityCodeExplanation__content__item + .ll-o-securityCodeExplanation__content__item {
                margin-top: 4.5rem;
            }


.ll-o-shopCassette {
    position: relative;
    border-top: solid 1px #D6D6D6;
}


.ll-o-shopCassette__link {
        position: absolute;
        inset: 0;
        z-index: 1;
    }


.ll-o-shopCassette__link:hover + .ll-o-shopCassette__inner {
                background: #f5f5f5;
            }


.ll-o-shopCassette__inner {
        padding: 1.5rem;
        background-color: #FFF;
        background-color: var(--ekiten-background-color-white);
    }


.ll-o-shopCassette__actions {
        position: relative;
        z-index: 2;
    }


.ll-o-shopCassette__header {
        margin-bottom: 1rem;
    }


.ll-o-shopCassette__header__item {
            margin-bottom: 1rem;
        }


.ll-o-shopCassette__header__item:last-child {
                margin-bottom: 0;
            }


.ll-o-shopCassette__body {
        margin-bottom: 1rem;
    }


.ll-o-shopCassette__body__item {
            margin-bottom: 1rem;
        }


.ll-o-shopCassette__body__item:last-child {
                margin-bottom: 0;
            }


.ll-o-shopCassette__footer__item {
            margin-bottom: 1rem;
        }


.ll-o-shopCassette__footer__item:last-child {
                margin-bottom: 0;
            }


.ll-o-shopCassette__media {
        display: flex;
        flex-direction: column;
        row-gap: 1rem;
    }


.ll-o-shopHeader {
    display: flex;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
}


.ll-o-shopHeader__body {
        flex-grow: 1;
    }


.ll-o-shopHeader__footer {
        display: flex;
        flex-direction: column;
        align-self: flex-start;
        row-gap: 2rem;
        flex-shrink: 0;
        width: 31rem;
    }


/* コンポーネント内の項目汎用的に使います */


.ll-o-shopHeader__row {
        margin-bottom: 1rem;
    }


/* text */


/* TODO:見た目優先で対応しているので基本使用しないこと */


.ll-u-fontWeight--bold {
    font-weight: bold;
}


/* 幅 */


.ll-u-w-100 {
    width: 100%;
}


/* 固定幅 */


.ll-u-fixW-12 {
    width: 99rem;
    width: var(--mainArea-width);
}


.ll-u-fixW-11 {
    width: calc(99rem/12 * 11);
    width: calc(var(--mainArea-width)/12 * 11);
}


.ll-u-fixW-10 {
    width: calc(99rem/12 * 10);
    width: calc(var(--mainArea-width)/12 * 10);
}


.ll-u-fixW-9 {
    width: calc(99rem/12 * 8);
    width: calc(var(--mainArea-width)/12 * 8);
}


.ll-u-fixW-8 {
    width: calc(99rem/12 * 8);
    width: calc(var(--mainArea-width)/12 * 8);
}


.ll-u-fixW-7 {
    width: calc(99rem/12 * 7);
    width: calc(var(--mainArea-width)/12 * 7);
}


.ll-u-fixW-6 {
    width: calc(99rem/2);
    width: calc(var(--mainArea-width)/2);
}


.ll-u-fixW-5 {
    width: calc(99rem/12 * 5);
    width: calc(var(--mainArea-width)/12 * 5);
}


.ll-u-fixW-4 {
    width: calc(99rem/3);
    width: calc(var(--mainArea-width)/3);
}


.ll-u-fixW-3 {
    width: calc(99rem/4);
    width: calc(var(--mainArea-width)/4);
}


.ll-u-fixW-2 {
    width: calc(99rem/6);
    width: calc(var(--mainArea-width)/6);
}


.ll-u-fixW-1 {
    width: calc(99rem/12);
    width: calc(var(--mainArea-width)/12);
}


/* マージン */


.ll-u-mb00 {
    margin-bottom: 0;
}


.ll-u-mb05 {
    margin-bottom: 0.5rem;
}


.ll-u-mb10 {
    margin-bottom: 1rem;
}


.ll-u-mb15 {
    margin-bottom: 1.5rem;
}


.ll-u-mb20 {
    margin-bottom: 2rem;
}


.ll-u-mb25 {
    margin-bottom: 2.5rem;
}


.ll-u-mb30 {
    margin-bottom: 3rem;
}


.ll-u-mb35 {
    margin-bottom: 3.5rem;
}


.ll-u-mb40 {
    margin-bottom: 3.5rem;
}


.ll-u-mt00 {
    margin-top: 0;
}


.ll-u-mt05 {
    margin-top: 0.5rem;
}


.ll-u-mt10 {
    margin-top: 1rem;
}


.ll-u-mt15 {
    margin-top: 1.5rem;
}


.ll-u-mt20 {
    margin-top: 2rem;
}


.ll-u-mt25 {
    margin-top: 2.5rem;
}


.ll-u-mt30 {
    margin-top: 3rem;
}


.ll-u-mt35 {
    margin-top: 3.5rem;
}


.ll-u-mt40 {
    margin-top: 3.5rem;
}


.ll-u-ml00 {
    margin-left: 0;
}


.ll-u-ml05 {
    margin-left: 0.5rem;
}


.ll-u-ml10 {
    margin-left: 1rem;
}


.ll-u-ml15 {
    margin-left: 1rem;
}


.ll-u-mr00 {
    margin-right: 0;
}


.ll-u-mr05 {
    margin-right: 0.5rem;
}


.ll-u-mr10 {
    margin-right: 1rem;
}


.ll-u-mr15 {
    margin-right: 1.5rem;
}


.ll-u-layoutGarterReset {
    margin-left: calc(-1 * 1.5rem);
    margin-left: var(--ekiten-padding-layoutGarterReset);
    margin-right: calc(-1 * 1.5rem);
    margin-right: var(--ekiten-padding-layoutGarterReset);
}


.ll-u-layoutGarterResetR {
    margin-right: calc(-1 * 1.5rem);
    margin-right: var(--ekiten-padding-layoutGarterReset);
}


/* Text alignment */


.ll-u-textAlign--left {
        text-align: left;
    }


.ll-u-textAlign--right {
        text-align: right;
    }


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


.ll-u-verticalAlign--top {
        vertical-align: top;
    }


.ll-u-verticalAlign--middle {
        vertical-align: middle;
    }


.ll-u-verticalAlign--bottom {
        vertical-align: bottom;
    }


/* Text clamp */


.ll-u-textClamp:not(.is-show){
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }


.ll-u-textClamp--1 {
        -webkit-line-clamp: 1;
    }


.ll-u-textClamp--2 {
        -webkit-line-clamp: 2;
    }


.ll-u-textClamp--3 {
        -webkit-line-clamp: 3;
    }


.ll-u-textBreak {
    overflow-wrap: anywhere;
}


/* 改行 */


.ll-u-ws-preWrap {
        white-space: pre-wrap;
    }


.ll-u-display--inlineBlock {
        display: inline-block;
    }


/* javascriptで読み込み時に除去されます。 */


.ll-u-initDisplayNone {
    display: none;
}


.ll-u-inline-size-container {
    container-type: inline-size;
}


.page_404 {
    padding-top: 5.5rem;
}


.page_404__imageWrapper {
        display: flex;
        justify-content: center;
        margin-bottom: 3rem;
    }


.page_404__imageWrapper > img {
            -o-object-fit: contain;
               object-fit: contain;
            width: 29rem;
        }


.page_404__leadText {
        text-align: center;
        font-size: 1.6rem;
        font-weight: bold;
        margin-bottom: 1.5rem;
    }


.page_404__bodyText {
        text-align: center;
        margin-bottom: 1.5rem;
    }


.tmp_placing_content{margin:.5rem 0;padding:20px;border:solid 10px;background:#fff;color:red}


.tmp_placing_content--design{margin:.2rem 0;padding:10px;border:solid 3px;background:#fff;color:orange}
