@charset "UTF-8";
/**======================================
	styles *floccss
======================================**/
/* init */
@layer variable, foundation, contents, lib, component, base;
/**======================================
	reset
======================================**

	var 23.1
		2025-03-11 block-sizeの挙動を修正

		全面的に見直して一から再構築
		参考：acab/reset.css

	ver 15.1.1
		2018-02-21	再整備 N（for_ct10）[10.1.1]
		ファイル名変更：defalt > reset
*/
@layer foundation {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  :where(html) {
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    text-size-adjust: none;
  }
  :where(section, article, aside, header, footer, nav, details, figcaption, figure, menu) {
    display: block;
  }
  :where(input, button, textarea, select) {
    font: inherit;
    color: inherit;
  }
  :where(button, label, select, summary, [role=button], [role=option]) {
    cursor: pointer;
  }
  :where(:disabled) {
    cursor: not-allowed;
  }
  :where(label:has(> input:disabled), label:has(+ input:disabled)) {
    cursor: not-allowed;
  }
  :where(button) {
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
  }
  :where(select) {
    border: 1px solid;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  :where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block;
    border: none;
  }
  :where(img, picture, svg) {
    max-inline-size: 100%;
    block-size: auto;
    vertical-align: top;
  }
  :where(table) {
    border-spacing: 0;
    border-collapse: collapse;
  }
  :where(th) {
    text-align: left;
    font-weight: normal;
  }
  :where(td) {
    font-style: normal;
  }
  :where(h1, h2, h3, h4, h5, h6) {
    font-size: 100%;
    font-weight: normal;
  }
  :where(a) {
    cursor: pointer;
  }
  :where(a):focus, :where(a):hover, :where(a):active {
    outline: none;
  }
  :where(ul, ol) {
    list-style: none;
  }
  :where(address, caption, cite, code, dfn, em, strong, var, kbd) {
    font-style: normal;
  }
  :where(caption) {
    text-align: left;
  }
  :where(sup) {
    vertical-align: text-top;
  }
  :where(sub) {
    vertical-align: text-bottom;
  }
  :where(mark) {
    background: none;
  }
  :where(blockquote::before, blockquote::after, q::before, q::after) {
    content: none;
  }
  :where(blockquote, q) {
    quotes: none;
  }
  :where(hr) {
    border: none;
    border-block-start: 1px solid;
    overflow: visible;
    color: inherit;
    block-size: 0;
  }
  :where(em, strong) {
    font-weight: bold;
  }
  :where(small) {
    font-size: inherit;
  }
}
/**======================================
	global
======================================**/
/* mq */
/* icon */
/**======================================
	valiables
======================================**/
/**======================================
	functions
======================================**/
/*--------------------------------------
	variables
---------------------------------------*/
/*--------------------------------------
	clamp_calc
---------------------------------------*/
/**======================================
	mixins
======================================**/
/* wrapper */
/* icon
	xx/sample_icon.php 参照
*/
/* fuchidori_text */
/* mq */
@layer foundation {
  html {
    font-family: var(--txt_font_base);
  }
  :where(:not(div, nav, section)) > :where(a) {
    text-decoration: underline;
    text-underline-offset: 0.2ex;
    color: var(--txt_color_link);
    transition: color 0.3s;
  }
  :where(:not(div, nav, section)) > :where(a):hover {
    color: rgba(var(--txt_color_link), 0.7);
  }
  :where(div, nav, section) > :where(a) {
    display: block;
    text-decoration: none;
  }
  :where(div, nav, section) > :where(a), :where(div, nav, section) > :where(a)::before, :where(div, nav, section) > :where(a)::after {
    color: inherit;
  }
  :where(div, nav, section) > :where(a):hover *,
  :where(div, nav, section) > :where(a):hover *::before,
  :where(div, nav, section) > :where(a):hover *::after {
    color: inherit;
  }
  :where(a)[href^=tel] {
    text-decoration: underline;
  }
  @media print, screen and (min-width: 960px) {
    :where(a)[href^=tel] {
      text-decoration: none;
      color: inherit;
      pointer-events: none;
      cursor: default;
    }
  }
  :where(a):where(:disabled, [disabled], .disabled) {
    pointer-events: none;
    cursor: default;
  }
}
/**======================================
	init
======================================**/
/*--------------------------------------
	other
		hide
		youtube
		mrcut mbcut
		clearfix
		sns_btn
---------------------------------------*/
@layer foundation {
  /* js */
  .ajax_more_load {
    text-align: center;
  }
  /* sns */
  .fb-like {
    vertical-align: top !important;
  }
  .tw_tweet {
    display: inline-block;
  }
  /*--------------------------------------
  	wpadminbar
  ---------------------------------------*/
  #wpadminbar {
    position: fixed !important;
  }
}
@layer variable {
  body {
    --header_height: var(--header_height_default);
    --topnav_height: var(--topnav_height_default, 0px);
    --header_height_total: calc(var(--header_height) + var(--topnav_height) + var(--wp-admin--admin-bar--height, 0px));
  }
  body:has(.header_wrap_change) {
    --topnav_height: var(--topnav_height_change, 0px);
  }
}
/*--------------------------------------

	ct24からSCSS変数からCSSカスタムプロパティ管理に変更

---------------------------------------*/
@layer variable {
  :root {
    --color_xx_yyy01: #de1d1d;
    --color_xx_yyy02: #ba8d16;
    --color_xx_yyy03: #619a28;
    --color_xx_yyy04: #239ba4;
    --color_xx_yyy05: #1d30de;
    --color_xx_yyy06: #981dde;
    --color_step_temp: #999;
    --color_step_order: #eea324;
    --color_step_pay: #85c432;
    --color_step_adj: #26bd9c;
    --color_step_fix: #4786c0;
    --color_step_end: #7b6cda;
    --color_step_comp: #82678d;
    --color_step_trouble: #ed6933;
    --color_step_dead: #403c3c;
    --color_step_delete: #403c3c;
    --color_step_nofix: #ca4747;
    --color_step_ocr_matched: #85c432;
    --color_step_dete_backed: #23c3bd;
    --color_step_customer_signed: #296bdf;
    --color_step_cancel: #999;
    --color_user_user01: #358825;
    --color_user_user02: #1f6f94;
    --color_user_user03: #651b97;
    --color_field_field1: #ca4747;
    --color_field_field2: #eea324;
    --color_field_field3: #85c432;
    --color_field_field4: #23c3bd;
    --color_field_field5: #b239e2;
    --color_field_field6: #3545db;
    --color_field_field7: #999;
    --color_util_caution: #c00;
    --color_util_accent: #ff0045;
    --color_util_info: #00a9cc;
    --color_theme_base: #0d537e;
    --color_theme_light: #107dc0;
    --color_theme_sub: #097;
    --color_util_caution: #c00;
    --color_util_accent: #ff0045;
    --color_util_file_pdf: #a00;
    --color_util_file_excel: #217346;
    --color_util_file_word: #2b579a;
    --color_util_calendar_saturday: #2b579a;
    --color_util_calendar_sunday: #e33;
    --color_util_calendar_holiday: #e33;
    --color_util_calendar_close: #ddd;
    --area_margin: 50px;
    --box_margin: clamp(30px, 30px + 40 * (100vw - 400px) / 800, 70px);
    --part_margin: clamp(20px, 20px + 20 * (100vw - 400px) / 800, 40px);
    --cont_margin: clamp(15px, 15px + 10 * (100vw - 400px) / 800, 25px);
    --wrapper_width_large: 1200px;
    --wrapper_default: 90%;
    --wrapper_max: var(--wrapper_width_large);
    --bg_color_base: #f1f1f1;
    --bg_color_sub: #eee;
    --bg_color_light: #eee;
    --border_color_base: #777;
    --border_color_light: #eee;
    --txt_color_base: #333;
    --txt_color_light: #888;
    --txt_color_conf: #666;
    --txt_color_heading: #111;
    --txt_color_link: #333;
    --txt_font_base: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans", "Noto Sans CJK JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
    --txt_font_mincho: "Noto Serif JP", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", YuMincho, serif;
    --list_color_base: #000;
    --icon_color_base: #000;
    --radius_base: 4px;
    --table_th_bg_color: #e5e5e5;
    --table_td_bg_color: #fff;
    --table_th_txt_color: var(--txt_color_heading);
    --table_td_txt_color: var(--txt_color_base);
    --table_border_color: var(--border_color_base);
    --btn_color_bg: var(--color_theme_base);
    --btn_color_border: var(--color_theme_base);
    --btn_color_txt: white;
    --btn_color_txt_hover: var(--color_theme_base);
    --btn_color_bg_hover: white;
    --btn_width: 100%;
    --btn_radius: 4px;
    --btn_transition: 0.3s;
    --btn_pd_block: 10px;
    --btn_pd_inline: 15px;
    --btn_txt_size: 1.6rem;
    --btn_wrap_gap: 8px 10px;
    --form_input_bg: #fafafa;
    --form_input_bg_hover: #eee;
    --form_input_bg_focus: #fff;
    --form_input_border: #ababab;
    --form_input_border_hover: var(--color_theme_base);
    --form_input_border_focus: var(--color_theme_base);
    --form_input_checked: var(--color_theme_base);
    --form_input_radius: var(--radius_base);
  }
  :root .narrow_pc {
    --wrapper_max: 900px;
  }
  :root .compact_pc {
    --wrapper_max: 700px;
  }
  :root .bc_theme {
    --btn_color_base: var(--color_theme_base);
  }
  :root .bc_strong {
    --btn_color_base: #900;
  }
  :root .bc_white {
    --btn_color_bg: white;
    --btn_color_border: var(--border_color_base);
    --btn_color_txt: black;
    --btn_color_bg_hover: rgba(#eee, 0.5);
    --btn_color_txt_hover: black;
  }
  :root .bc_light {
    --btn_color_bg: #ebf1f5;
    --btn_color_border: var(--border_color_base);
    --btn_color_txt: var(--txt_color_base);
    --btn_color_bg_hover: var(--bg_color_sub);
    --btn_color_txt_hover: var(--txt_color_light);
  }
  @media print, screen and (min-width: 600px) {
    :root {
      --btn_width: 300px;
      --btn_pd_inline: 25px;
    }
  }
  @media print, screen and (min-width: 960px) {
    :root {
      --btn_pd_inline: 30px;
    }
  }
  :root .btn.btn_small,
  :root .btn.btn_ss {
    --btn_pd_block: 5px;
  }
  :root .btn.btn_small {
    --btn_pd_inline: 15px;
  }
  @media print, screen and (min-width: 600px) {
    :root .btn.btn_small {
      --btn_pd_inline: 20px;
    }
  }
  :root .btn.btn_ss {
    --btn_txt_size: 1.2rem;
    --btn_pd_inline: 10px;
  }
  @media print, screen and (min-width: 600px) {
    :root .btn.btn_ss {
      --btn_pd_inline: 20px;
    }
  }
  :root .btn.btn_more,
  :root .btn.btn_edit {
    --btn_pd_block: 5px;
    --btn_pd_inline: 15px;
  }
  @media print, screen and (min-width: 600px) {
    :root .btn.btn_more,
    :root .btn.btn_edit {
      --btn_pd_inline: 20px;
    }
  }
}
@layer variable {
  :root {
    --image_texts_gap: 5%;
    --image_texts_imagesize: 20%;
    --float_imagesize: 30%;
    --clm_gap: 10px;
    --snap_item_width: 100%;
    --slider_item_width: 100%;
    --smooth_slide_item_width: 150px;
    --smooth_slide_duration: 30s;
    --smooth_slide_gap: 10px;
    --left_right_gap: 2%;
  }
  @media print, screen and (min-width: 600px) {
    :root {
      --image_texts_imagesize: 30%;
      --clm_gap: 30px;
    }
  }
  @media print, screen and (min-width: 960px) {
    :root {
      --image_texts_imagesize: 35%;
      --snap_item_width: 100%;
      --snap_gap: 0;
      --slider_item_width: 640px;
    }
  }
}
/* lib */
@layer lib {
  .sns_widget_wrap.twitter_widget {
    border: 1px solid var(--border_color_base);
    border-radius: 12px;
    max-width: 400px;
    height: 500px;
    overflow: hidden scroll;
    background: #fff;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap:not(:last-child) {
    border-bottom: 1px solid var(--border_color_base);
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 10px;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap > * {
    max-width: 100%;
    overflow: hidden;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap > * p {
    max-width: 100%;
    font-size: 1.4rem;
    word-break: break-all;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap > * p a {
    text-decoration: none;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap > * p a:hover {
    text-decoration: underline;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto 20px;
    gap: 0 10px;
    align-items: center;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .object_fit {
    grid-row: 1/3;
    grid-column: 1;
    margin-bottom: 0;
    border-radius: 50%;
    overflow: hidden;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .object_fit::before {
    padding-top: 100%;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item p {
    line-height: 1.6;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item p a {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_name {
    grid-row: 1;
    grid-column: 2/4;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_id,
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .time {
    grid-row: 2;
    font-size: 1.2rem;
    letter-spacing: normal;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_id a,
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .time a {
    color: var(--txt_color_light);
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .user_id {
    grid-column: 2;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .time {
    grid-column: 3;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .icon_twitter {
    grid-row: 1;
    grid-column: 4;
    font-size: 0;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .icon_twitter a::before {
    font-size: 2rem;
    line-height: 1;
    color: var(--color_theme_sns_twitter);
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .user_item .icon_twitter a:hover {
    opacity: 0.5;
    text-decoration: none;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .texts_item a {
    color: var(--color_theme_sns_twitter);
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .texts_item a.url {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .image_item {
    position: relative;
    padding-top: 56%;
    border-radius: 10px;
    overflow: hidden;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
    height: 100%;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap .object_fit {
    margin-bottom: 0;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap .object_fit:first-of-type*:last-of-type {
    grid-column: 1/3;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .image_item .image_wrap .object_fit:first-of-type*:nth-last-of-type(3) {
    grid-row: 1/3;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item {
    display: flex;
    justify-content: space-between;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item > p {
    display: flex;
    gap: 0.5em;
    align-items: center;
    justify-content: center;
    padding: 5px;
    font-size: 1.3rem;
    line-height: 1;
    color: var(--txt_color_light);
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item > p::before {
    display: block;
    font-size: 2rem;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item > p span {
    display: none;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_mention::before {
    content: "chat_bubble";
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_like {
    margin-right: auto;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_like::before {
    content: "favorite";
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_like span {
    display: block;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item .icon_information::before {
    content: "info";
  }
  .sns_widget_wrap.instagram_widget {
    gap: 2px;
  }
  .sns_widget_wrap.instagram_widget .clm_item {
    margin: 0;
    width: auto;
  }
  .sns_widget_wrap.instagram_widget .clm_item::before {
    padding-top: 100%;
  }
  @media print, screen and (min-width: 960px) {
    .sns_widget_wrap.instagram_widget .clm_item::before {
      padding-top: 0;
    }
  }
  .sns_widget_wrap.instagram_widget .post_wrap {
    position: relative;
  }
  .sns_widget_wrap.instagram_widget .post_wrap .texts_item {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    padding: 20px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.8);
    opacity: 0;
    transition: 0.5s;
  }
  .sns_widget_wrap.instagram_widget .post_wrap .texts_item p {
    color: #fff;
  }
  .sns_widget_wrap.instagram_widget .post_wrap .texts_item p.text {
    flex-grow: 1;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, black 20%, transparent);
    mask-image: linear-gradient(to bottom, black 20%, transparent);
    font-size: 1.3rem;
  }
  .sns_widget_wrap.instagram_widget .post_wrap .texts_item p.date {
    margin-bottom: 20px;
    font-size: 1rem;
  }
  .sns_widget_wrap.instagram_widget .post_wrap:hover .texts_item {
    opacity: 1;
  }
}
/**======================================
	picture
======================================**/
@layer lib {
  .pic,
  .object_fit {
    text-align: center;
  }
  .pic > a,
  .object_fit > a {
    display: block;
  }
  .pic > a:hover img,
  .object_fit > a:hover img {
    opacity: 0.7;
  }
  .pic img,
  .pic svg,
  .object_fit img,
  .object_fit svg {
    transition: 0.5s;
  }
  .pic svg,
  .object_fit svg {
    height: auto;
  }
  .pic svg text,
  .object_fit svg text {
    font-family: var(--txt_font_base) !important;
  }
  .pic.max100px img,
  .object_fit.max100px img {
    max-width: min(100%, 100px);
  }
  .pic.max150px img,
  .object_fit.max150px img {
    max-width: min(100%, 150px);
  }
  .pic.max200px img,
  .object_fit.max200px img {
    max-width: min(100%, 200px);
  }
  .pic.max250px img,
  .object_fit.max250px img {
    max-width: min(100%, 250px);
  }
  .pic.max300px img,
  .object_fit.max300px img {
    max-width: min(100%, 300px);
  }
  .pic.max350px img,
  .object_fit.max350px img {
    max-width: min(100%, 350px);
  }
  .pic.max400px img,
  .object_fit.max400px img {
    max-width: min(100%, 400px);
  }
  .pic.max450px img,
  .object_fit.max450px img {
    max-width: min(100%, 450px);
  }
  .pic.max500px img,
  .object_fit.max500px img {
    max-width: min(100%, 500px);
  }
  .pic.max550px img,
  .object_fit.max550px img {
    max-width: min(100%, 550px);
  }
  .pic.max600px img,
  .object_fit.max600px img {
    max-width: min(100%, 600px);
  }
  .pic.max650px img,
  .object_fit.max650px img {
    max-width: min(100%, 650px);
  }
  .pic {
    /* util */
  }
  .pic img,
  .pic svg {
    margin-inline: auto;
    width: auto;
    max-width: 100%;
  }
  .pic.max img {
    width: 100%;
  }
  .pic.left img {
    margin-left: 0;
  }
  .pic.right img {
    margin-right: 0;
  }
  .object_fit {
    position: relative;
    display: block;
    aspect-ratio: 1/1;
    /* util */
  }
  .object_fit > * {
    width: 100%;
    height: 100%;
  }
  .object_fit img,
  .object_fit svg {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .object_fit img[src$="noimage_icon.svg"],
  .object_fit svg[src$="noimage_icon.svg"] {
    background-color: #eee;
    -o-object-fit: none;
    object-fit: none;
  }
  .object_fit.contain img {
    -o-object-fit: contain;
    object-fit: contain;
  }
  .pinchzoom {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    background-color: var(--bg_color_light);
    touch-action: none; /* タッチイベントを自前制御 */
  }
  .pinchzoom img {
    width: 100%;
    height: auto;
    pointer-events: none; /* イベントは親divで受ける */
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transform-origin: center center;
    will-change: transform;
  }
  .pic_text {
    display: inline-flex;
    vertical-align: baseline;
  }
  .pic_text img,
  .pic_text svg {
    height: 1.5rem;
  }
}
@layer lib {
  *:where(form, .form_type, .modal_form) .hidden_text, *:where(form, .form_type, .modal_form) select, *:where(form, .form_type, .modal_form) textarea, *:where(form, .form_type, .modal_form) input {
    flex-grow: 1;
    display: block;
    padding: 8px 15px;
    border: 1px solid var(--form_input_border, var(--border_color_base));
    border-radius: var(--form_input_radius, var(--radius_base));
    min-width: 0;
    background-color: var(--form_input_bg, var(--bg_color_base));
    outline: none;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
    font-size: 1.6rem;
    transition: outline 0.3s, border-color 0.3s, background-color 0.3s, resize 0s;
  }
  *:where(form, .form_type, .modal_form) .hidden_text:focus, *:where(form, .form_type, .modal_form) select:focus, *:where(form, .form_type, .modal_form) textarea:focus, *:where(form, .form_type, .modal_form) input:focus {
    border-color: var(--form_input_border_focus, #000);
    background-color: var(--form_input_bg_focus, #fff);
  }
  *:where(form, .form_type, .modal_form) .hidden_text:hover:not(:focus), *:where(form, .form_type, .modal_form) select:hover:not(:focus), *:where(form, .form_type, .modal_form) textarea:hover:not(:focus), *:where(form, .form_type, .modal_form) input:hover:not(:focus) {
    border-color: var(--form_input_border_hover, #000);
    background-color: var(--form_input_bg_hover, #eee);
  }
  *:where(form, .form_type, .modal_form) .hidden_text::-moz-placeholder, *:where(form, .form_type, .modal_form) select::-moz-placeholder, *:where(form, .form_type, .modal_form) textarea::-moz-placeholder, *:where(form, .form_type, .modal_form) input::-moz-placeholder {
    color: #ccc;
  }
  *:where(form, .form_type, .modal_form) .hidden_text::placeholder, *:where(form, .form_type, .modal_form) select::placeholder, *:where(form, .form_type, .modal_form) textarea::placeholder, *:where(form, .form_type, .modal_form) input::placeholder {
    color: #ccc;
  }
  *:where(form, .form_type, .modal_form) input {
    max-width: 100%;
  }
  *:where(form, .form_type, .modal_form) input[type=date] {
    flex-shrink: 0;
    box-sizing: content-box;
    min-width: calc(5.5em + 40px);
    min-height: 1lh;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  *:where(form, .form_type, .modal_form) input[type=number].no_spin {
    -webkit-appearance: textfield !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
  }
  *:where(form, .form_type, .modal_form) input[type=number].no_spin::-webkit-inner-spin-button,
  *:where(form, .form_type, .modal_form) input[type=number].no_spin::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0;
    appearance: none !important;
  }
  *:where(form, .form_type, .modal_form) textarea {
    width: 100%;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  }
  *:where(form, .form_type, .modal_form) select {
    padding-right: 40px;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    background: #fff url(../images/lib/parts/select_arrow.svg) no-repeat right 10px center/10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  }
  @media print, screen and (min-width: 600px) {
    *:where(form, .form_type, .modal_form) select {
      flex-grow: 0;
    }
  }
  *:where(form, .form_type, .modal_form) .hidden_text {
    border-style: dashed;
    min-height: 1lh;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: none;
  }
  *:where(form, .form_type, .modal_form) .hidden_text:hover:not(:focus) {
    border-color: var(--form_input_border, var(--border_color_base));
  }
  *:where(form, .form_type, .modal_form) .file_input_wrap,
  *:where(form, .form_type, .modal_form) .file_uploaded_wrap {
    display: inline-flex;
    align-items: center;
  }
  *:where(form, .form_type, .modal_form) .file_input_wrap .file_delete + .file_name,
  *:where(form, .form_type, .modal_form) .file_uploaded_wrap .file_delete + .file_name {
    display: inline-block;
    width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.3rem;
    white-space: nowrap;
  }
  *:where(form, .form_type, .modal_form) .file_input_wrap .file_uploaded,
  *:where(form, .form_type, .modal_form) .file_uploaded_wrap .file_uploaded {
    margin-left: 8px;
    font-size: 1.3rem;
  }
  *:where(form, .form_type, .modal_form) p:has(> .file_input_wrap) {
    display: flex;
    align-items: center;
  }
  *:where(form, .form_type, .modal_form) .file_clear,
  *:where(form, .form_type, .modal_form) .file_delete {
    --icon_image: url(../images/lib/icon/delete.svg);
    --icon_size: 50%;
    --icon_color: #000;
    position: relative;
    display: none;
    width: 45px;
    aspect-ratio: 1/1;
    background: var(--icon_color);
    cursor: pointer;
    -webkit-mask: var(--icon_image) no-repeat center/var(--icon_size);
    mask: var(--icon_image) no-repeat center/var(--icon_size);
    transition: 0.3s;
  }
  *:where(form, .form_type, .modal_form) .file_clear:hover,
  *:where(form, .form_type, .modal_form) .file_delete:hover {
    --icon_color: var(--color_util_accent);
  }
  *:where(form, .form_type, .modal_form) .file_delete,
  *:where(form, .form_type, .modal_form) .file_clear.show {
    display: inline-block;
  }
  *:where(form, .form_type, .modal_form) .size_ss {
    flex-grow: 0;
    width: calc(12.5% - 4.375px);
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) .size_ss_sp, *:where(form, .form_type, .modal_form) .size_ss_sp_tb {
      flex-grow: 0;
      width: calc(12.5% - 4.375px);
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    *:where(form, .form_type, .modal_form) .size_ss_sp_tb, *:where(form, .form_type, .modal_form) .size_ss_tb, *:where(form, .form_type, .modal_form) .size_ss_tb_pc {
      flex-grow: 0;
      width: calc(12.5% - 4.375px);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_ss_tb_pc, *:where(form, .form_type, .modal_form) .size_ss_pc {
      flex-grow: 0;
      width: calc(12.5% - 4.375px);
    }
  }
  @media screen and (min-width: 1200px) {
    *:where(form, .form_type, .modal_form) .size_ss_lg {
      flex-grow: 0;
      width: calc(12.5% - 4.375px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_s {
    flex-grow: 0;
    width: calc(25% - 3.75px);
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) .size_s_sp, *:where(form, .form_type, .modal_form) .size_s_sp_tb {
      flex-grow: 0;
      width: calc(25% - 3.75px);
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    *:where(form, .form_type, .modal_form) .size_s_sp_tb, *:where(form, .form_type, .modal_form) .size_s_tb, *:where(form, .form_type, .modal_form) .size_s_tb_pc {
      flex-grow: 0;
      width: calc(25% - 3.75px);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_s_tb_pc, *:where(form, .form_type, .modal_form) .size_s_pc {
      flex-grow: 0;
      width: calc(25% - 3.75px);
    }
  }
  @media screen and (min-width: 1200px) {
    *:where(form, .form_type, .modal_form) .size_s_lg {
      flex-grow: 0;
      width: calc(25% - 3.75px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_m {
    flex-grow: 0;
    width: calc(50% - 2.5px);
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) .size_m_sp, *:where(form, .form_type, .modal_form) .size_m_sp_tb {
      flex-grow: 0;
      width: calc(50% - 2.5px);
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    *:where(form, .form_type, .modal_form) .size_m_sp_tb, *:where(form, .form_type, .modal_form) .size_m_tb, *:where(form, .form_type, .modal_form) .size_m_tb_pc {
      flex-grow: 0;
      width: calc(50% - 2.5px);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_m_tb_pc, *:where(form, .form_type, .modal_form) .size_m_pc {
      flex-grow: 0;
      width: calc(50% - 2.5px);
    }
  }
  @media screen and (min-width: 1200px) {
    *:where(form, .form_type, .modal_form) .size_m_lg {
      flex-grow: 0;
      width: calc(50% - 2.5px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_zip {
    flex-grow: 0;
    width: 4.5em;
  }
  *:where(form, .form_type, .modal_form) .size_1w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 1 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_1w {
      width: calc(1.1em * 1 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_1w:not(.nospin) {
      width: calc(1.1em * 1 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_2w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 2 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_2w {
      width: calc(1.1em * 2 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_2w:not(.nospin) {
      width: calc(1.1em * 2 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_3w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 3 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_3w {
      width: calc(1.1em * 3 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_3w:not(.nospin) {
      width: calc(1.1em * 3 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_4w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 4 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_4w {
      width: calc(1.1em * 4 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_4w:not(.nospin) {
      width: calc(1.1em * 4 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_5w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 5 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_5w {
      width: calc(1.1em * 5 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_5w:not(.nospin) {
      width: calc(1.1em * 5 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_6w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 6 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_6w {
      width: calc(1.1em * 6 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_6w:not(.nospin) {
      width: calc(1.1em * 6 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_7w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 7 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_7w {
      width: calc(1.1em * 7 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_7w:not(.nospin) {
      width: calc(1.1em * 7 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_8w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 8 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_8w {
      width: calc(1.1em * 8 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_8w:not(.nospin) {
      width: calc(1.1em * 8 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_9w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 9 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_9w {
      width: calc(1.1em * 9 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_9w:not(.nospin) {
      width: calc(1.1em * 9 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_10w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 10 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_10w {
      width: calc(1.1em * 10 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_10w:not(.nospin) {
      width: calc(1.1em * 10 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_11w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 11 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_11w {
      width: calc(1.1em * 11 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_11w:not(.nospin) {
      width: calc(1.1em * 11 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_12w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 12 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_12w {
      width: calc(1.1em * 12 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_12w:not(.nospin) {
      width: calc(1.1em * 12 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_13w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 13 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_13w {
      width: calc(1.1em * 13 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_13w:not(.nospin) {
      width: calc(1.1em * 13 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_14w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 14 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_14w {
      width: calc(1.1em * 14 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_14w:not(.nospin) {
      width: calc(1.1em * 14 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_15w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 15 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_15w {
      width: calc(1.1em * 15 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_15w:not(.nospin) {
      width: calc(1.1em * 15 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_16w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 16 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_16w {
      width: calc(1.1em * 16 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_16w:not(.nospin) {
      width: calc(1.1em * 16 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_17w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 17 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_17w {
      width: calc(1.1em * 17 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_17w:not(.nospin) {
      width: calc(1.1em * 17 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_18w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 18 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_18w {
      width: calc(1.1em * 18 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_18w:not(.nospin) {
      width: calc(1.1em * 18 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_19w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 19 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_19w {
      width: calc(1.1em * 19 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_19w:not(.nospin) {
      width: calc(1.1em * 19 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_20w {
    flex-grow: 0;
    flex-shrink: 0;
    box-sizing: content-box;
    width: calc(1.2em * 20 / 2);
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) .size_20w {
      width: calc(1.1em * 20 / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) [type=number].size_20w:not(.nospin) {
      width: calc(1.1em * 20 / 2 + 17px + 10px);
    }
  }
  *:where(form, .form_type, .modal_form) select.size_fit_content {
    flex-grow: 0;
  }
  *:where(form, .form_type, .modal_form) select.size_full {
    width: 100%;
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) select.size_full_sp, *:where(form, .form_type, .modal_form) select.size_full_sp_tb {
      width: 100%;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    *:where(form, .form_type, .modal_form) select.size_full_sp_tb, *:where(form, .form_type, .modal_form) select.size_full_tb, *:where(form, .form_type, .modal_form) select.size_full_tb_pc {
      width: 100%;
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) select.size_full_tb_pc, *:where(form, .form_type, .modal_form) select.size_full_pc {
      width: 100%;
    }
  }
  @media screen and (min-width: 1200px) {
    *:where(form, .form_type, .modal_form) select.size_full_lg {
      width: 100%;
    }
  }
  *:where(form, .form_type, .modal_form) textarea.size_2row {
    box-sizing: content-box;
    height: 2lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_3row {
    box-sizing: content-box;
    height: 3lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_4row {
    box-sizing: content-box;
    height: 4lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_5row {
    box-sizing: content-box;
    height: 5lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_6row {
    box-sizing: content-box;
    height: 6lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_7row {
    box-sizing: content-box;
    height: 7lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_8row {
    box-sizing: content-box;
    height: 8lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_9row {
    box-sizing: content-box;
    height: 9lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_10row {
    box-sizing: content-box;
    height: 10lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_11row {
    box-sizing: content-box;
    height: 11lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_12row {
    box-sizing: content-box;
    height: 12lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_13row {
    box-sizing: content-box;
    height: 13lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_14row {
    box-sizing: content-box;
    height: 14lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_15row {
    box-sizing: content-box;
    height: 15lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_16row {
    box-sizing: content-box;
    height: 16lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_17row {
    box-sizing: content-box;
    height: 17lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_18row {
    box-sizing: content-box;
    height: 18lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_19row {
    box-sizing: content-box;
    height: 19lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_20row {
    box-sizing: content-box;
    height: 20lh;
  }
  *:where(form, .form_type, .modal_form) .radius {
    border-radius: 30px;
  }
  *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)) {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 5px;
    align-items: center;
  }
  *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)) > :is(input, textarea, select).center {
    flex-grow: 0;
    margin-inline: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
  *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col {
    flex-direction: column;
    align-items: stretch;
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_sp, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_sp_tb {
      flex-direction: column;
      align-items: stretch;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_sp_tb, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_tb, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_tb_pc {
      flex-direction: column;
      align-items: stretch;
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_tb_pc, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_pc {
      flex-direction: column;
      align-items: stretch;
    }
  }
  @media screen and (min-width: 1200px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_lg {
      flex-direction: column;
      align-items: stretch;
    }
  }
  *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row {
    flex-direction: row;
    align-items: center;
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_sp, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_sp_tb {
      flex-direction: row;
      align-items: center;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_sp_tb, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_tb, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_tb_pc {
      flex-direction: row;
      align-items: center;
    }
  }
  @media print, screen and (min-width: 960px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_tb_pc, *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_pc {
      flex-direction: row;
      align-items: center;
    }
  }
  @media screen and (min-width: 1200px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_lg {
      flex-direction: row;
      align-items: center;
    }
  }
  *:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label) {
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label):not(.row, .row_sp, .row_sp_tb) {
      flex-direction: column;
      gap: 0;
      align-items: stretch;
      border: 1px solid var(--form_input_border);
      border-radius: var(--form_input_radius);
    }
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label):not(.row, .row_sp, .row_sp_tb) :is(.radio_label, .checkbox_label) {
      padding: 8px;
      border-bottom: 1px solid var(--form_input_border);
    }
  }
  @media screen and (max-width: 599px) {
    *:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label):not(.row, .row_sp, .row_sp_tb) :is(.radio_label, .checkbox_label):last-of-type {
      border-bottom: none;
    }
  }
  *:where(form, .form_type, .modal_form) p:has(> input.password) {
    position: relative;
  }
  *:where(form, .form_type, .modal_form) p:has(> input.password) input.password + .password_eye {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    display: block;
    margin-block: auto;
    width: 1em;
    aspect-ratio: 1/1;
    background: var(--txt_color_light);
    cursor: pointer;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  *:where(form, .form_type, .modal_form) p:has(> input.password) input.password + .password_eye.look {
    --icon_image: url(../images/lib/icon/eye.svg);
  }
  *:where(form, .form_type, .modal_form) p:has(> input.password) input.password + .password_eye.nolook {
    --icon_image: url(../images/lib/icon/eye_close.svg);
  }
  *:where(form, .form_type, .modal_form) label:where(:has([type=radio], [type=checkbox])) {
    --icon_size: 1lh;
    cursor: pointer;
  }
  *:where(form, .form_type, .modal_form) label:where(:has([type=radio], [type=checkbox])) > *:not(input) {
    position: relative;
    display: block;
    padding-left: calc(var(--icon_size) + var(--icon_gap));
    min-height: var(--icon_size);
  }
  *:where(form, .form_type, .modal_form) label:where(:has([type=radio], [type=checkbox])) > *:not(input)::before, *:where(form, .form_type, .modal_form) label:where(:has([type=radio], [type=checkbox])) > *:not(input)::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: var(--icon_size);
    height: var(--icon_size);
    transition: 0.2s linear;
  }
  *:where(form, .form_type, .modal_form) label:where(:has([type=radio], [type=checkbox])) > span:empty {
    margin-left: 0;
  }
  *:where(form, .form_type, .modal_form) label:where(:has([type=radio], [type=checkbox])) input:is([type=radio], [type=checkbox]) {
    display: none;
  }
  *:where(form, .form_type, .modal_form) label:has([type=radio]) > *::before, *:where(form, .form_type, .modal_form) label:has([type=radio]) > *::after {
    content: "";
    border: 1px solid;
    border-radius: 50%;
  }
  *:where(form, .form_type, .modal_form) label:has([type=radio]) > *::before {
    border-color: var(--form_input_border, var(--border_color_base));
    background: var(--form_input_bg, var(--bg_color_base));
  }
  *:where(form, .form_type, .modal_form) label:has([type=radio]) > *::after {
    border-color: transparent;
    background-color: var(--form_input_checked, #000);
    opacity: 0;
    transform: scale(0.1);
  }
  *:where(form, .form_type, .modal_form) label:has(input[type=radio]:checked) > *::after {
    opacity: 1;
    transform: scale(0.6);
  }
  *:where(form, .form_type, .modal_form) label:has(input[type=radio]):hover > *::before {
    border-color: var(--form_input_border_hover, #000);
    background-color: var(--form_input_bg_hover, #eee);
  }
  *:where(form, .form_type, .modal_form) label:has([type=checkbox]) > *::before {
    z-index: 5;
    background-color: #fff;
    opacity: 0;
    -webkit-mask: url(../images/lib/icon/check.svg) no-repeat center/contain;
    mask: url(../images/lib/icon/check.svg) no-repeat center/contain;
  }
  *:where(form, .form_type, .modal_form) label:has([type=checkbox]) > *::after {
    border: 1px solid var(--form_input_border, var(--border_color_base));
    background: var(--form_input_bg, var(--bg_color_base));
  }
  *:where(form, .form_type, .modal_form) label:has(input[type=checkbox]:is(:checked, :indeterminate)) > *::before {
    opacity: 1;
  }
  *:where(form, .form_type, .modal_form) label:has(input[type=checkbox]:is(:checked, :indeterminate)) > *::after {
    background-color: var(--form_input_checked, #000);
  }
  *:where(form, .form_type, .modal_form) label:has(input[type=checkbox]:indeterminate) > *::before {
    background: #fff;
  }
  *:where(form, .form_type, .modal_form) label:has([type=checkbox]):hover > *::after {
    border-color: var(--form_input_border_hover, #000);
    background-color: var(--form_input_bg_hover, #eee);
  }
  *:where(form, .form_type, .modal_form) input[type=file] {
    display: none;
  }
  *:where(form, .form_type, .modal_form) input[type=file] + .file_select {
    position: relative;
    display: inline-block;
    margin: 5px 8px 5px 0;
    padding: 12px 10px;
    border: 1px solid var(--form_input_border, var(--border_color_base));
    border-radius: 4px;
    background: white;
    font-size: 1.2rem;
    color: var(--txt_color_base);
    cursor: pointer;
  }
  *:where(form, .form_type, .modal_form) input[type=file] + .file_select:hover {
    opacity: 0.7;
    transition: 0.3s ease-out;
  }
  *:where(form, .form_type, .modal_form) input[type=file][disabled] + .file_select {
    display: none;
  }
  *:where(form, .form_type, .modal_form) input[type=file] + .file_select + .file_name {
    display: inline-block;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    color: #ccc;
    white-space: nowrap;
  }
  *:where(form, .form_type, .modal_form) input[type=file] + .file_select + .file_name.directed {
    color: var(--txt_color_base);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    align-items: center;
    justify-content: center;
    padding: clamp(15px, 15px + 15 * (100vw - 400px) / 800, 30px);
    border: 2px dashed var(--status_color);
    border-radius: var(--radius_base);
    background-color: var(--form_input_bg);
    text-align: center;
    transition: 0.3s;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap .icon {
    position: relative;
    display: block;
    width: 40px;
    aspect-ratio: 1/1;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap .icon::before, *:where(form, .form_type, .modal_form) .filedrop_wrap .icon::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    margin: auto;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap .icon::before {
    background: var(--txt_color_light);
    -webkit-mask: url(../images/lib/icon/file_blank.svg) no-repeat center/contain;
    mask: url(../images/lib/icon/file_blank.svg) no-repeat center/contain;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap .icon::after {
    content: "";
    width: 50%;
    aspect-ratio: 1/1;
    background: var(--status_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
    translate: 0 16%;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap .heading {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--status_color);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap label {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap label input {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap .message {
    display: none;
    font-size: 1.3rem;
    color: var(--color_util_caution);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap .btn_select,
  *:where(form, .form_type, .modal_form) .filedrop_wrap .btn_redo,
  *:where(form, .form_type, .modal_form) .filedrop_wrap .btn_change {
    display: none;
    pointer-events: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready {
    --status_color: var(--form_input_border);
    --icon_image: url(../images/lib/icon/arrow_down.svg);
    border: 2px dashed var(--form_input_border);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .heading {
    color: var(--txt_color_light);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .heading.filename,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .heading.error {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ready .btn_wrap .btn_select {
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_error {
    --status_color: var(--color_util_caution);
    --icon_image: url(../images/lib/icon/close.svg);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .btn.btn_change,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .btn.btn_delete {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .heading.info,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .heading.error {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .message {
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_error .btn_wrap .btn_redo {
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok {
    --status_color: #2fa532;
    --icon_image: url(../images/lib/icon/check.svg);
    border-style: solid;
    background-color: white;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok::before,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .message,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .btn.btn_select {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .heading.info,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .heading.error {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.status_ok .btn.btn_change {
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.drag_over {
    border-color: var(--form_input_border_hover);
    background: var(--form_input_bg_hover);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap:has(label:hover) {
    cursor: pointer;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap:has(label:hover) .btn.btn_select,
  *:where(form, .form_type, .modal_form) .filedrop_wrap:has(label:hover) .btn.btn_change {
    --v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
  }
  *:where(form, .form_type, .modal_form) .error,
  *:where(form, .form_type, .modal_form) input[type=file].error + .file_select,
  *:where(form, .form_type, .modal_form) label:has(input[type=radio].error),
  *:where(form, .form_type, .modal_form) label:has(input[type=checkbox].error) {
    --form_input_border: var(--form_error, var(--color_util_caution));
    --form_input_bg: var(--form_error_bg, rgb(from var(--color_util_caution) R G B / 0.05));
    --form_input_checked: var(--form_error, var(--color_util_caution));
  }
  *:where(form, .form_type, .modal_form) label.error {
    font-size: 1.3rem;
    color: var(--form_error, var(--color_util_caution));
  }
  @media print, screen and (min-width: 600px) {
    .form_set:not(.col) {
      grid-template-columns: minmax(auto, 200px) 1fr;
      -moz-column-gap: 5cqw;
      column-gap: 5cqw;
    }
  }
  .form_set:not(.col) > * {
    grid-column: 1/-1;
    min-width: 0;
  }
  .form_set:not(.col) .fbody:not(.col) {
    grid-template-columns: subgrid;
  }
  .form_set:not(.col) .fbody:not(.col) > * {
    grid-column: 1/-1;
  }
  .form_set:not(.col) .fbody:not(.col) .fr:not(.col):has(> .fh) {
    grid-template-columns: subgrid;
  }
  @media print, screen and (min-width: 600px) {
    .form_set:not(.col) .fbody:not(.col) .fr:not(.col):has(> .fh) .fh {
      grid-column: 1;
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set:not(.col) .fbody:not(.col) .fr:not(.col):has(> .fh) .fd {
      grid-column: 2;
    }
  }
  .form_set:not(.col) .fbody:not(.col) .fr.col .fh,
  .form_set:not(.col) .fbody:not(.col) .fr.col .fd,
  .form_set:not(.col) .fbody:not(.col) .fr .fd:first-child:last-child {
    grid-column: 1/-1;
  }
  .form_set:not(.col) .fbody:not(.col) .fr.align_center {
    align-items: center;
  }
  .form_set:not(.col) .fbody:not(.col) .fr.align_top {
    align-items: flex-start;
  }
  .form_set:not(.col) .fbody:not(.col) .fr.align_bottom {
    align-items: flex-end;
  }
  .form_set {
    display: grid;
    row-gap: var(--part_margin);
  }
  .form_set .fbody {
    display: grid;
    row-gap: var(--cont_margin);
    margin-bottom: 0;
  }
  .form_set .fbody .fr {
    display: grid;
    row-gap: 5px;
    align-items: baseline;
    animation-name: animation_fr;
    animation-duration: 0.5s;
  }
  @keyframes animation_fr {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .form_set .fbody .fr > * {
    min-width: 0;
  }
  .form_set .fbody .fr .fh {
    font-size: 1.3rem;
    font-weight: bold;
  }
  .form_set .fbody .fr .fd {
    transition: 0.3s;
  }
  .form_set .fbody .fr .fd > *:not(:last-child) {
    margin-bottom: 8px;
  }
  .form_set .fbody .fr .fd .set {
    display: flex;
    -moz-column-gap: 5px;
    column-gap: 5px;
    margin-bottom: 8px;
  }
  .form_set .fbody .fr .fd .set > * {
    min-width: 0;
  }
  .form_set .fbody .fr .fd :has(.delete_btn) {
    position: relative;
    padding-right: 30px;
  }
  .form_set .fbody .fr .fd :has(.delete_btn) .delete_btn {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .form_set .fbody .fr .fd .fbody:not(.col) {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 5px;
    column-gap: 5px;
  }
  .form_set .fbody .fr .fd .fbody {
    row-gap: 5px;
  }
  .form_set .fbody .fr.align_top {
    align-items: flex-start;
  }
  .form_set .fbody .fr.align_bottom {
    align-items: flex-end;
  }
  .form_set .fbody .fr.align_center {
    align-items: center;
  }
  .form_set .must {
    margin-left: 10px;
    font-size: 1.3rem;
    color: var(--color_util_caution);
  }
  .form_set .form_caption {
    --icon_color: var(--txt_color_light);
    font-size: 1.3rem;
    color: var(--txt_color_light);
  }
  .form_set .form_scroll_wrap {
    margin: 10px 0 6px;
    padding: 10px;
    border: 2px solid var(--form_input_border);
    height: 90px;
    overflow-y: scroll;
    background-color: #fafafa;
  }
  .form_set .form_scroll_wrap h4,
  .form_set .form_scroll_wrap p {
    font-size: 1.3rem;
    line-height: 1.3;
  }
  .form_set .clone_src {
    display: none;
  }
  .form_set .clone_item:has(.delete_btn) {
    padding-right: 45px;
  }
  .form_set .clone_item:has(.delete_btn) .delete_btn {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  .form_set .input_table {
    display: table;
    width: 100%;
  }
  .form_set .input_table .tr {
    display: table-row;
  }
  .form_set .input_table .tr .td,
  .form_set .input_table .tr > * {
    display: table-cell;
    padding: 0 2px;
    font-size: 1.3rem;
  }
  .form_set .input_table .tr .td input,
  .form_set .input_table .tr > * input {
    width: auto;
  }
  .form_set .kiyaku_wrap {
    display: block;
    margin: 8px 0;
    padding: 6px 15px 18px;
    border: 1px solid var(--form_input_border);
    border-radius: var(--radius_base);
    width: 100%;
    max-height: 120px;
    overflow-x: clip;
    overflow-y: scroll;
    background-color: #f2f2f2;
    font-size: 1.3rem;
  }
  .form_set .kiyaku_wrap .heading_kiyaku {
    padding: 12px 0;
    font-weight: bold;
    line-height: 1.3;
  }
  @media print, screen and (min-width: 600px) {
    .form_set .form_btns .submit_send {
      order: 2;
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set .form_btns .submit_back {
      order: 1;
    }
  }
  .form_set .with_help {
    display: inline;
  }
  .form_set .btn_help {
    --icon_image: url(../images/lib/icon/question.svg);
    --icon_color: #000;
    --icon_size: 1lh;
    display: inline-block;
    margin-left: 5px;
    border-radius: 50%;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    -webkit-mask-image: linear-gradient(#000, #000), var(--icon_image);
    mask-image: linear-gradient(#000, #000), var(--icon_image);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: 100%, 60%;
    mask-size: 100%, 60%;
    vertical-align: bottom;
    transition: 0.3s;
    -webkit-mask-composite: xor;
    mask-composite: exclude;
  }
  .form_set .btn_help:hover {
    opacity: 0.5;
  }
  .form_set .delete_btn {
    display: inline-block;
    width: 30px;
    height: 30px;
    cursor: pointer;
    --icon_image: url(../images/lib/icon/delete.svg);
    --icon_color: black;
    --icon_size: 16px;
    --lr_p: 0;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    /****
    疑似要素
    ****/
  }
  .form_set .delete_btn::before {
    content: "";
    /* left_right */
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(-50%);
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .form_set .delete_btn span {
    display: none;
  }
  .form_set .delete_btn.disabled::before {
    opacity: 0.3;
  }
  .form_set .fixed_text {
    margin: 8px 0;
    padding: 6px 15px;
    width: 100%;
    min-height: 32px;
  }
  @media print, screen and (min-width: 600px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) {
      border-top: 1px dashed var(--border_color_base);
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fr {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: 1px dashed var(--border_color_base);
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fr .fh p {
      line-height: 1.6;
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fr .fd {
      padding: 15px 10px;
    }
  }
  .form_set:where([data-step=conf], form[data-step=confirm]) .fr .fd > * {
    margin: 8px 0;
    padding: 6px;
    border: none;
    background-color: inherit;
  }
  @media screen and (max-width: 599px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fr .fd > * {
      border: 1px dashed var(--border_color_base);
      min-height: 38px;
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fr .fd > * {
      margin: 0;
      padding: 0;
    }
  }
  @media screen and (max-width: 599px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fr .fd > * span {
      color: var(--txt_color_light);
    }
  }
  .form_set:where([data-step=conf], form[data-step=confirm]) .fr .fd > * .confirm_error {
    color: var(--color_util_caution);
  }
  .login_wrap {
    row-gap: 10px;
  }
  @media print, screen and (min-width: 600px) {
    .login_wrap {
      margin-inline: auto;
      max-width: 350px;
    }
  }
  .login_wrap .fbody {
    row-gap: 5px;
  }
  .search_wrap,
  .period_wrap {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
  }
  .search_wrap > *,
  .period_wrap > * {
    flex-shrink: 0;
    min-width: 0;
  }
  .search_wrap .input_wrap,
  .period_wrap .input_wrap {
    flex-wrap: nowrap;
  }
  .search_wrap .btn_icon,
  .period_wrap .btn_icon {
    flex-shrink: 0;
    display: flex;
  }
  .search_wrap .btn_icon > *,
  .period_wrap .btn_icon > * {
    flex-grow: 1;
    flex-shrink: 0;
  }
  .search_wrap .input_wrap {
    flex-grow: 1;
    flex-shrink: 1;
  }
  @media screen and (max-width: 599px) {
    .period_wrap .input_wrap {
      flex-direction: column;
      row-gap: 5px;
      align-items: stretch;
    }
  }
  .period_wrap .input_wrap input {
    flex-grow: 1;
  }
  @media screen and (max-width: 599px) {
    .period_wrap .input_wrap input {
      width: auto;
    }
  }
  .period_wrap .input_wrap .sep {
    align-self: center;
  }
  @media screen and (max-width: 599px) {
    .period_wrap .input_wrap .sep {
      display: none;
    }
  }
  .filter_wrap {
    --form_input_checked: #000;
  }
  .filter_wrap ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px;
  }
  @media print, screen and (min-width: 600px) {
    .filter_wrap ul {
      display: flex;
      gap: 0;
      margin-inline: auto;
      border-radius: var(--radius_base);
      width: -moz-fit-content;
      width: fit-content;
      overflow: hidden;
    }
  }
  .filter_wrap ul li {
    display: flex;
  }
  .filter_wrap ul li .radio_label,
  .filter_wrap ul li .checkbox_label {
    flex-grow: 1;
    display: flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: var(--radius_base);
    background-color: var(--btn_color_base, var(--btn_color_bg));
    font-size: 1.2rem;
    font-weight: bold;
    color: var(--btn_color_txt, #fff);
    transition: all 0.2s;
  }
  @media print, screen and (min-width: 600px) {
    .filter_wrap ul li .radio_label,
    .filter_wrap ul li .checkbox_label {
      border-radius: 0;
    }
  }
  .filter_wrap ul li .radio_label > *::before,
  .filter_wrap ul li .checkbox_label > *::before {
    background-color: var(--form_input_checked);
  }
  .filter_wrap ul li .radio_label > *::after,
  .filter_wrap ul li .checkbox_label > *::after {
    border: none;
    border-radius: 50%;
    background: var(--form_input_bg);
  }
}
/**======================================
	table
======================================**/
/*--------------------------------------
	table
---------------------------------------*/
/* table common */
@layer lib {
  *:where(table, .table_type) {
    width: 100%;
    line-height: 1.4;
  }
  @media screen and (max-width: 599px) {
    *:where(table, .table_type) {
      font-size: 1.3rem;
    }
  }
  *:where(table, .table_type) caption {
    display: none;
  }
  *:where(table, .table_type) caption.left,
  *:where(table, .table_type) caption.right,
  *:where(table, .table_type) caption.center {
    display: table-caption;
    margin-bottom: 8px;
  }
  @media screen and (max-width: 599px) {
    *:where(table, .table_type).table_block_sp thead {
      display: none;
    }
    *:where(table, .table_type).table_block_sp tbody tr, *:where(table, .table_type).table_block_sp tr {
      display: block;
    }
    *:where(table, .table_type).table_block_sp tbody tr th,
    *:where(table, .table_type).table_block_sp tbody tr td, *:where(table, .table_type).table_block_sp tr th,
    *:where(table, .table_type).table_block_sp tr td {
      display: block;
    }
    *:where(table, .table_type).table_block_sp tbody tr td, *:where(table, .table_type).table_block_sp tr td {
      display: block;
    }
    *:where(table, .table_type).table_block_sp tbody tr td:where(:not(:last-child)), *:where(table, .table_type).table_block_sp tr td:where(:not(:last-child)) {
      margin-bottom: 5px;
    }
    *:where(table, .table_type).table_block_sp.add_thead tbody tr td {
      display: flex;
    }
    *:where(table, .table_type).table_block_sp.add_thead tbody tr td::before {
      content: attr(data-title);
    }
  }
  .table_type {
    display: table;
  }
  .table_type .thead {
    display: table-header-group;
  }
  .table_type .tbody {
    display: table-row-group;
  }
  .table_type .tr {
    display: table-row;
  }
  .table_type .th,
  .table_type .td {
    display: table-cell;
  }
  /* scroll_table */
  @media screen and (max-width: 959px) {
    .scroll_wrap {
      overflow: auto;
      white-space: nowrap;
    }
    .scroll_wrap::-webkit-scrollbar {
      height: 5px;
    }
    .scroll_wrap::-webkit-scrollbar-track {
      background: #f1f1f1;
    }
    .scroll_wrap::-webkit-scrollbar-thumb {
      background: #bcbcbc;
    }
    .scroll_wrap table {
      width: -moz-fit-content;
      width: fit-content;
    }
  }
  @media screen and (max-width: 959px) {
    .scroll_horizon {
      position: relative;
    }
    .scroll_horizon::before {
      content: "スクロールできます";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 1;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      margin: auto;
      padding: 10px;
      border-radius: 10px;
      width: clamp(140px, 50%, 200px);
      height: 100px;
      background: rgba(0, 0, 0, 0.5) url(../images/lib/parts/scroll_horizon.svg) no-repeat center 30%/30px;
      opacity: 0;
      text-align: center;
      font-size: 1.2rem;
      font-weight: bold;
      color: #fff;
      pointer-events: none;
      transition: 0.3s;
    }
    .scroll_horizon.show::before {
      opacity: 1;
    }
  }
  .table_grid {
    display: grid;
  }
  .table_grid :where(.thead, .tbody) {
    display: grid;
    row-gap: var(--part_margin);
  }
  .table_grid :where(.thead, .tbody) .tr {
    display: grid;
    row-gap: var(--cont_margin);
  }
  .table_grid :where(.thead, .tbody) .tr :where(.th, .td) p.heading {
    margin-bottom: 0.5em;
    font-weight: bold;
  }
  .table_grid :where(.thead, .tbody) .tr :where(.th, .td) .th {
    font-weight: bold;
  }
  .table_grid.row {
    border-right: 1px solid var(--table_border_color);
    border-bottom: 1px solid var(--table_border_color);
  }
  .table_grid.row :where(.thead, .tbody) {
    display: contents;
  }
  .table_grid.row :where(.thead, .tbody) .tr {
    display: contents;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td) {
    margin-bottom: 0;
    padding: min(1.5cqw, 20px) min(2cqw, 25px);
    border-top: 1px solid var(--table_border_color);
    border-left: 1px solid var(--table_border_color);
    min-width: 0;
    font-size: 1.3rem;
  }
  @media print, screen and (min-width: 960px) {
    .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td) {
      font-size: 1.5rem;
    }
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td) > * {
    font-size: inherit;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
    grid-column: span 2;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
    grid-row: span 2;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
    grid-column: span 3;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
    grid-row: span 3;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
    grid-column: span 4;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
    grid-row: span 4;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
    grid-column: span 5;
  }
  .table_grid.row :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
    grid-row: span 5;
  }
  .table_grid.row :where(.thead, .tbody) .tr .th {
    background: var(--table_th_bg_color);
    color: var(--table_th_txt);
  }
  .table_grid.row :where(.thead, .tbody) .tr .td {
    background: var(--table_td_bg_color);
    color: var(--table_td_txt_color);
  }
  .table_grid.row .tbody .tr .th {
    grid-column: 1;
    align-self: stretch;
  }
  .table_grid.row:has(.td:nth-child(2):last-child) {
    grid-template-columns: repeat(2, auto);
  }
  .table_grid.row:has(.td:nth-child(3):last-child) {
    grid-template-columns: repeat(3, auto);
  }
  .table_grid.row:has(.td:nth-child(4):last-child) {
    grid-template-columns: repeat(4, auto);
  }
  .table_grid.row:has(.td:nth-child(5):last-child) {
    grid-template-columns: repeat(5, auto);
  }
  .table_grid.row:has(.td:nth-child(6):last-child) {
    grid-template-columns: repeat(6, auto);
  }
  .table_grid.row:has(.td:nth-child(7):last-child) {
    grid-template-columns: repeat(7, auto);
  }
  .table_grid.row.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row.layout_fixed:has(.td:nth-child(2):last-child) {
    grid-template-columns: auto repeat(1, 1fr);
  }
  .table_grid.row.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row.layout_fixed:has(.td:nth-child(3):last-child) {
    grid-template-columns: auto repeat(2, 1fr);
  }
  .table_grid.row.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row.layout_fixed:has(.td:nth-child(4):last-child) {
    grid-template-columns: auto repeat(3, 1fr);
  }
  .table_grid.row.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row.layout_fixed:has(.td:nth-child(5):last-child) {
    grid-template-columns: auto repeat(4, 1fr);
  }
  .table_grid.row.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row.layout_fixed:has(.td:nth-child(6):last-child) {
    grid-template-columns: auto repeat(5, 1fr);
  }
  .table_grid.row.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row.layout_fixed:has(.td:nth-child(7):last-child) {
    grid-template-columns: auto repeat(6, 1fr);
  }
  @media screen and (max-width: 599px) {
    .table_grid.row_sp, .table_grid.row_sp_tb {
      border-right: 1px solid var(--table_border_color);
      border-bottom: 1px solid var(--table_border_color);
    }
    .table_grid.row_sp :where(.thead, .tbody), .table_grid.row_sp_tb :where(.thead, .tbody) {
      display: contents;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr, .table_grid.row_sp_tb :where(.thead, .tbody) .tr {
      display: contents;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) {
      margin-bottom: 0;
      padding: min(1.5cqw, 20px) min(2cqw, 25px);
      border-top: 1px solid var(--table_border_color);
      border-left: 1px solid var(--table_border_color);
      min-width: 0;
      font-size: 1.3rem;
    }
  }
  @media screen and (max-width: 599px) and (min-width: 960px) {
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) {
      font-size: 1.5rem;
    }
  }
  @media screen and (max-width: 599px) {
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td) > *, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) > * {
      font-size: inherit;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_2, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
      grid-column: span 2;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
      grid-row: span 2;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_3, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
      grid-column: span 3;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
      grid-row: span 3;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_4, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
      grid-column: span 4;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
      grid-row: span 4;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).colspan_5, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
      grid-column: span 5;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5, .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
      grid-row: span 5;
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr .th, .table_grid.row_sp_tb :where(.thead, .tbody) .tr .th {
      background: var(--table_th_bg_color);
      color: var(--table_th_txt);
    }
    .table_grid.row_sp :where(.thead, .tbody) .tr .td, .table_grid.row_sp_tb :where(.thead, .tbody) .tr .td {
      background: var(--table_td_bg_color);
      color: var(--table_td_txt_color);
    }
    .table_grid.row_sp .tbody .tr .th, .table_grid.row_sp_tb .tbody .tr .th {
      grid-column: 1;
      align-self: stretch;
    }
    .table_grid.row_sp:has(.td:nth-child(2):last-child), .table_grid.row_sp_tb:has(.td:nth-child(2):last-child) {
      grid-template-columns: repeat(2, auto);
    }
    .table_grid.row_sp:has(.td:nth-child(3):last-child), .table_grid.row_sp_tb:has(.td:nth-child(3):last-child) {
      grid-template-columns: repeat(3, auto);
    }
    .table_grid.row_sp:has(.td:nth-child(4):last-child), .table_grid.row_sp_tb:has(.td:nth-child(4):last-child) {
      grid-template-columns: repeat(4, auto);
    }
    .table_grid.row_sp:has(.td:nth-child(5):last-child), .table_grid.row_sp_tb:has(.td:nth-child(5):last-child) {
      grid-template-columns: repeat(5, auto);
    }
    .table_grid.row_sp:has(.td:nth-child(6):last-child), .table_grid.row_sp_tb:has(.td:nth-child(6):last-child) {
      grid-template-columns: repeat(6, auto);
    }
    .table_grid.row_sp:has(.td:nth-child(7):last-child), .table_grid.row_sp_tb:has(.td:nth-child(7):last-child) {
      grid-template-columns: repeat(7, auto);
    }
    .table_grid.row_sp.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_sp.layout_fixed:has(.td:nth-child(2):last-child), .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(2):last-child) {
      grid-template-columns: auto repeat(1, 1fr);
    }
    .table_grid.row_sp.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_sp.layout_fixed:has(.td:nth-child(3):last-child), .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(3):last-child) {
      grid-template-columns: auto repeat(2, 1fr);
    }
    .table_grid.row_sp.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_sp.layout_fixed:has(.td:nth-child(4):last-child), .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(4):last-child) {
      grid-template-columns: auto repeat(3, 1fr);
    }
    .table_grid.row_sp.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_sp.layout_fixed:has(.td:nth-child(5):last-child), .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(5):last-child) {
      grid-template-columns: auto repeat(4, 1fr);
    }
    .table_grid.row_sp.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_sp.layout_fixed:has(.td:nth-child(6):last-child), .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(6):last-child) {
      grid-template-columns: auto repeat(5, 1fr);
    }
    .table_grid.row_sp.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_sp.layout_fixed:has(.td:nth-child(7):last-child), .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(7):last-child) {
      grid-template-columns: auto repeat(6, 1fr);
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .table_grid.row_sp_tb, .table_grid.row_tb, .table_grid.row_tb_pc {
      border-right: 1px solid var(--table_border_color);
      border-bottom: 1px solid var(--table_border_color);
    }
    .table_grid.row_sp_tb :where(.thead, .tbody), .table_grid.row_tb :where(.thead, .tbody), .table_grid.row_tb_pc :where(.thead, .tbody) {
      display: contents;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr, .table_grid.row_tb :where(.thead, .tbody) .tr, .table_grid.row_tb_pc :where(.thead, .tbody) .tr {
      display: contents;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) {
      margin-bottom: 0;
      padding: min(1.5cqw, 20px) min(2cqw, 25px);
      border-top: 1px solid var(--table_border_color);
      border-left: 1px solid var(--table_border_color);
      min-width: 0;
      font-size: 1.3rem;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) and (min-width: 960px) {
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) {
      font-size: 1.5rem;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td) > *, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td) > *, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) > * {
      font-size: inherit;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_2, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_2, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
      grid-column: span 2;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
      grid-row: span 2;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_3, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_3, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
      grid-column: span 3;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
      grid-row: span 3;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_4, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_4, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
      grid-column: span 4;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
      grid-row: span 4;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_5, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).colspan_5, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
      grid-column: span 5;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5, .table_grid.row_tb :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5, .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
      grid-row: span 5;
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr .th, .table_grid.row_tb :where(.thead, .tbody) .tr .th, .table_grid.row_tb_pc :where(.thead, .tbody) .tr .th {
      background: var(--table_th_bg_color);
      color: var(--table_th_txt);
    }
    .table_grid.row_sp_tb :where(.thead, .tbody) .tr .td, .table_grid.row_tb :where(.thead, .tbody) .tr .td, .table_grid.row_tb_pc :where(.thead, .tbody) .tr .td {
      background: var(--table_td_bg_color);
      color: var(--table_td_txt_color);
    }
    .table_grid.row_sp_tb .tbody .tr .th, .table_grid.row_tb .tbody .tr .th, .table_grid.row_tb_pc .tbody .tr .th {
      grid-column: 1;
      align-self: stretch;
    }
    .table_grid.row_sp_tb:has(.td:nth-child(2):last-child), .table_grid.row_tb:has(.td:nth-child(2):last-child), .table_grid.row_tb_pc:has(.td:nth-child(2):last-child) {
      grid-template-columns: repeat(2, auto);
    }
    .table_grid.row_sp_tb:has(.td:nth-child(3):last-child), .table_grid.row_tb:has(.td:nth-child(3):last-child), .table_grid.row_tb_pc:has(.td:nth-child(3):last-child) {
      grid-template-columns: repeat(3, auto);
    }
    .table_grid.row_sp_tb:has(.td:nth-child(4):last-child), .table_grid.row_tb:has(.td:nth-child(4):last-child), .table_grid.row_tb_pc:has(.td:nth-child(4):last-child) {
      grid-template-columns: repeat(4, auto);
    }
    .table_grid.row_sp_tb:has(.td:nth-child(5):last-child), .table_grid.row_tb:has(.td:nth-child(5):last-child), .table_grid.row_tb_pc:has(.td:nth-child(5):last-child) {
      grid-template-columns: repeat(5, auto);
    }
    .table_grid.row_sp_tb:has(.td:nth-child(6):last-child), .table_grid.row_tb:has(.td:nth-child(6):last-child), .table_grid.row_tb_pc:has(.td:nth-child(6):last-child) {
      grid-template-columns: repeat(6, auto);
    }
    .table_grid.row_sp_tb:has(.td:nth-child(7):last-child), .table_grid.row_tb:has(.td:nth-child(7):last-child), .table_grid.row_tb_pc:has(.td:nth-child(7):last-child) {
      grid-template-columns: repeat(7, auto);
    }
    .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(2):last-child), .table_grid.row_tb.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_tb.layout_fixed:has(.td:nth-child(2):last-child), .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(2):last-child) {
      grid-template-columns: auto repeat(1, 1fr);
    }
    .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(3):last-child), .table_grid.row_tb.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_tb.layout_fixed:has(.td:nth-child(3):last-child), .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(3):last-child) {
      grid-template-columns: auto repeat(2, 1fr);
    }
    .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(4):last-child), .table_grid.row_tb.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_tb.layout_fixed:has(.td:nth-child(4):last-child), .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(4):last-child) {
      grid-template-columns: auto repeat(3, 1fr);
    }
    .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(5):last-child), .table_grid.row_tb.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_tb.layout_fixed:has(.td:nth-child(5):last-child), .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(5):last-child) {
      grid-template-columns: auto repeat(4, 1fr);
    }
    .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(6):last-child), .table_grid.row_tb.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_tb.layout_fixed:has(.td:nth-child(6):last-child), .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(6):last-child) {
      grid-template-columns: auto repeat(5, 1fr);
    }
    .table_grid.row_sp_tb.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_sp_tb.layout_fixed:has(.td:nth-child(7):last-child), .table_grid.row_tb.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_tb.layout_fixed:has(.td:nth-child(7):last-child), .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(7):last-child) {
      grid-template-columns: auto repeat(6, 1fr);
    }
  }
  @media print, screen and (min-width: 960px) {
    .table_grid.row_tb_pc, .table_grid.row_pc {
      border-right: 1px solid var(--table_border_color);
      border-bottom: 1px solid var(--table_border_color);
    }
    .table_grid.row_tb_pc :where(.thead, .tbody), .table_grid.row_pc :where(.thead, .tbody) {
      display: contents;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr, .table_grid.row_pc :where(.thead, .tbody) .tr {
      display: contents;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td) {
      margin-bottom: 0;
      padding: min(1.5cqw, 20px) min(2cqw, 25px);
      border-top: 1px solid var(--table_border_color);
      border-left: 1px solid var(--table_border_color);
      min-width: 0;
      font-size: 1.3rem;
    }
  }
  @media print, screen and (min-width: 960px) and (min-width: 960px) {
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td), .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td) {
      font-size: 1.5rem;
    }
  }
  @media print, screen and (min-width: 960px) {
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td) > *, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td) > * {
      font-size: inherit;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_2, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
      grid-column: span 2;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
      grid-row: span 2;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_3, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
      grid-column: span 3;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
      grid-row: span 3;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_4, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
      grid-column: span 4;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
      grid-row: span 4;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_5, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
      grid-column: span 5;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5, .table_grid.row_pc :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
      grid-row: span 5;
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr .th, .table_grid.row_pc :where(.thead, .tbody) .tr .th {
      background: var(--table_th_bg_color);
      color: var(--table_th_txt);
    }
    .table_grid.row_tb_pc :where(.thead, .tbody) .tr .td, .table_grid.row_pc :where(.thead, .tbody) .tr .td {
      background: var(--table_td_bg_color);
      color: var(--table_td_txt_color);
    }
    .table_grid.row_tb_pc .tbody .tr .th, .table_grid.row_pc .tbody .tr .th {
      grid-column: 1;
      align-self: stretch;
    }
    .table_grid.row_tb_pc:has(.td:nth-child(2):last-child), .table_grid.row_pc:has(.td:nth-child(2):last-child) {
      grid-template-columns: repeat(2, auto);
    }
    .table_grid.row_tb_pc:has(.td:nth-child(3):last-child), .table_grid.row_pc:has(.td:nth-child(3):last-child) {
      grid-template-columns: repeat(3, auto);
    }
    .table_grid.row_tb_pc:has(.td:nth-child(4):last-child), .table_grid.row_pc:has(.td:nth-child(4):last-child) {
      grid-template-columns: repeat(4, auto);
    }
    .table_grid.row_tb_pc:has(.td:nth-child(5):last-child), .table_grid.row_pc:has(.td:nth-child(5):last-child) {
      grid-template-columns: repeat(5, auto);
    }
    .table_grid.row_tb_pc:has(.td:nth-child(6):last-child), .table_grid.row_pc:has(.td:nth-child(6):last-child) {
      grid-template-columns: repeat(6, auto);
    }
    .table_grid.row_tb_pc:has(.td:nth-child(7):last-child), .table_grid.row_pc:has(.td:nth-child(7):last-child) {
      grid-template-columns: repeat(7, auto);
    }
    .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(2):last-child), .table_grid.row_pc.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_pc.layout_fixed:has(.td:nth-child(2):last-child) {
      grid-template-columns: auto repeat(1, 1fr);
    }
    .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(3):last-child), .table_grid.row_pc.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_pc.layout_fixed:has(.td:nth-child(3):last-child) {
      grid-template-columns: auto repeat(2, 1fr);
    }
    .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(4):last-child), .table_grid.row_pc.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_pc.layout_fixed:has(.td:nth-child(4):last-child) {
      grid-template-columns: auto repeat(3, 1fr);
    }
    .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(5):last-child), .table_grid.row_pc.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_pc.layout_fixed:has(.td:nth-child(5):last-child) {
      grid-template-columns: auto repeat(4, 1fr);
    }
    .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(6):last-child), .table_grid.row_pc.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_pc.layout_fixed:has(.td:nth-child(6):last-child) {
      grid-template-columns: auto repeat(5, 1fr);
    }
    .table_grid.row_tb_pc.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_tb_pc.layout_fixed:has(.td:nth-child(7):last-child), .table_grid.row_pc.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_pc.layout_fixed:has(.td:nth-child(7):last-child) {
      grid-template-columns: auto repeat(6, 1fr);
    }
  }
  @media screen and (min-width: 1200px) {
    .table_grid.row_lg {
      border-right: 1px solid var(--table_border_color);
      border-bottom: 1px solid var(--table_border_color);
    }
    .table_grid.row_lg :where(.thead, .tbody) {
      display: contents;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr {
      display: contents;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td) {
      margin-bottom: 0;
      padding: min(1.5cqw, 20px) min(2cqw, 25px);
      border-top: 1px solid var(--table_border_color);
      border-left: 1px solid var(--table_border_color);
      min-width: 0;
      font-size: 1.3rem;
    }
  }
  @media screen and (min-width: 1200px) and (min-width: 960px) {
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td) {
      font-size: 1.5rem;
    }
  }
  @media screen and (min-width: 1200px) {
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td) > * {
      font-size: inherit;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_2 {
      grid-column: span 2;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_2 {
      grid-row: span 2;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_3 {
      grid-column: span 3;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_3 {
      grid-row: span 3;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_4 {
      grid-column: span 4;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_4 {
      grid-row: span 4;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).colspan_5 {
      grid-column: span 5;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td).rowspan_5 {
      grid-row: span 5;
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr .th {
      background: var(--table_th_bg_color);
      color: var(--table_th_txt);
    }
    .table_grid.row_lg :where(.thead, .tbody) .tr .td {
      background: var(--table_td_bg_color);
      color: var(--table_td_txt_color);
    }
    .table_grid.row_lg .tbody .tr .th {
      grid-column: 1;
      align-self: stretch;
    }
    .table_grid.row_lg:has(.td:nth-child(2):last-child) {
      grid-template-columns: repeat(2, auto);
    }
    .table_grid.row_lg:has(.td:nth-child(3):last-child) {
      grid-template-columns: repeat(3, auto);
    }
    .table_grid.row_lg:has(.td:nth-child(4):last-child) {
      grid-template-columns: repeat(4, auto);
    }
    .table_grid.row_lg:has(.td:nth-child(5):last-child) {
      grid-template-columns: repeat(5, auto);
    }
    .table_grid.row_lg:has(.td:nth-child(6):last-child) {
      grid-template-columns: repeat(6, auto);
    }
    .table_grid.row_lg:has(.td:nth-child(7):last-child) {
      grid-template-columns: repeat(7, auto);
    }
    .table_grid.row_lg.layout_fixed:has(.th:nth-child(2):last-child), .table_grid.row_lg.layout_fixed:has(.td:nth-child(2):last-child) {
      grid-template-columns: auto repeat(1, 1fr);
    }
    .table_grid.row_lg.layout_fixed:has(.th:nth-child(3):last-child), .table_grid.row_lg.layout_fixed:has(.td:nth-child(3):last-child) {
      grid-template-columns: auto repeat(2, 1fr);
    }
    .table_grid.row_lg.layout_fixed:has(.th:nth-child(4):last-child), .table_grid.row_lg.layout_fixed:has(.td:nth-child(4):last-child) {
      grid-template-columns: auto repeat(3, 1fr);
    }
    .table_grid.row_lg.layout_fixed:has(.th:nth-child(5):last-child), .table_grid.row_lg.layout_fixed:has(.td:nth-child(5):last-child) {
      grid-template-columns: auto repeat(4, 1fr);
    }
    .table_grid.row_lg.layout_fixed:has(.th:nth-child(6):last-child), .table_grid.row_lg.layout_fixed:has(.td:nth-child(6):last-child) {
      grid-template-columns: auto repeat(5, 1fr);
    }
    .table_grid.row_lg.layout_fixed:has(.th:nth-child(7):last-child), .table_grid.row_lg.layout_fixed:has(.td:nth-child(7):last-child) {
      grid-template-columns: auto repeat(6, 1fr);
    }
  }
}
/**======================================
	icon
======================================**/
@layer variable {
  :root {
    --icon_color: var(--icon_color_base, var(--color_theme_base));
    --icon_size: 1em;
    --icon_gap: 0.5em;
    --icon_image: url(../images/lib/icon/circle.svg);
  }
  .icon_angle_double_down {
    --icon_image: url(../images/lib/icon/angle_double_down.svg);
  }
  .icon_angle_double_left {
    --icon_image: url(../images/lib/icon/angle_double_left.svg);
  }
  .icon_angle_double_right {
    --icon_image: url(../images/lib/icon/angle_double_right.svg);
  }
  .icon_angle_down {
    --icon_image: url(../images/lib/icon/angle_down.svg);
  }
  .icon_angle_down_circle {
    --icon_image: url(../images/lib/icon/angle_down_circle.svg);
  }
  .icon_angle_down_circle_line {
    --icon_image: url(../images/lib/icon/angle_down_circle_line.svg);
  }
  .icon_angle_left {
    --icon_image: url(../images/lib/icon/angle_left.svg);
  }
  .icon_angle_left_circle {
    --icon_image: url(../images/lib/icon/angle_left_circle.svg);
  }
  .icon_angle_left_circle_line {
    --icon_image: url(../images/lib/icon/angle_left_circle_line.svg);
  }
  .icon_angle_right {
    --icon_image: url(../images/lib/icon/angle_right.svg);
  }
  .icon_angle_right_circle {
    --icon_image: url(../images/lib/icon/angle_right_circle.svg);
  }
  .icon_angle_right_circle_line {
    --icon_image: url(../images/lib/icon/angle_right_circle_line.svg);
  }
  .icon_angle_up {
    --icon_image: url(../images/lib/icon/angle_up.svg);
  }
  .icon_angle_up_circle {
    --icon_image: url(../images/lib/icon/angle_up_circle.svg);
  }
  .icon_angle_up_circle_line {
    --icon_image: url(../images/lib/icon/angle_up_circle_line.svg);
  }
  .icon_arrow_down {
    --icon_image: url(../images/lib/icon/arrow_down.svg);
  }
  .icon_arrow_left {
    --icon_image: url(../images/lib/icon/arrow_left.svg);
  }
  .icon_arrow_right {
    --icon_image: url(../images/lib/icon/arrow_right.svg);
  }
  .icon_arrow_rotate_left {
    --icon_image: url(../images/lib/icon/arrow_rotate_left.svg);
  }
  .icon_arrow_up {
    --icon_image: url(../images/lib/icon/arrow_up.svg);
  }
  .icon_car {
    --icon_image: url(../images/lib/icon/car.svg);
  }
  .icon_caret_down {
    --icon_image: url(../images/lib/icon/caret_down.svg);
  }
  .icon_caret_left {
    --icon_image: url(../images/lib/icon/caret_left.svg);
  }
  .icon_caret_right {
    --icon_image: url(../images/lib/icon/caret_right.svg);
  }
  .icon_caret_up {
    --icon_image: url(../images/lib/icon/caret_up.svg);
  }
  .icon_cart {
    --icon_image: url(../images/lib/icon/cart.svg);
  }
  .icon_change {
    --icon_image: url(../images/lib/icon/change.svg);
  }
  .icon_change_circle {
    --icon_image: url(../images/lib/icon/change_circle.svg);
  }
  .icon_check {
    --icon_image: url(../images/lib/icon/check.svg);
  }
  .icon_circle {
    --icon_image: url(../images/lib/icon/circle.svg);
  }
  .icon_circle_line {
    --icon_image: url(../images/lib/icon/circle_line.svg);
  }
  .icon_close {
    --icon_image: url(../images/lib/icon/close.svg);
  }
  .icon_copy {
    --icon_image: url(../images/lib/icon/copy.svg);
  }
  .icon_date {
    --icon_image: url(../images/lib/icon/date.svg);
  }
  .icon_delete {
    --icon_image: url(../images/lib/icon/delete.svg);
  }
  .icon_dot {
    --icon_image: url(../images/lib/icon/dot.svg);
  }
  .icon_dots {
    --icon_image: url(../images/lib/icon/dots.svg);
  }
  .icon_download {
    --icon_image: url(../images/lib/icon/download.svg);
  }
  .icon_edit {
    --icon_image: url(../images/lib/icon/edit.svg);
  }
  .icon_exclamation {
    --icon_image: url(../images/lib/icon/exclamation.svg);
  }
  .icon_eye {
    --icon_image: url(../images/lib/icon/eye.svg);
  }
  .icon_eye_close {
    --icon_image: url(../images/lib/icon/eye_close.svg);
  }
  .icon_favorite {
    --icon_image: url(../images/lib/icon/favorite.svg);
  }
  .icon_fax {
    --icon_image: url(../images/lib/icon/fax.svg);
  }
  .icon_file {
    --icon_image: url(../images/lib/icon/file.svg);
  }
  .icon_file_blank {
    --icon_image: url(../images/lib/icon/file_blank.svg);
  }
  .icon_folder {
    --icon_image: url(../images/lib/icon/folder.svg);
  }
  .icon_grip {
    --icon_image: url(../images/lib/icon/grip.svg);
  }
  .icon_home {
    --icon_image: url(../images/lib/icon/home.svg);
  }
  .icon_info_circle {
    --icon_image: url(../images/lib/icon/info_circle.svg);
  }
  .icon_link_blank {
    --icon_image: url(../images/lib/icon/link_blank.svg);
  }
  .icon_list {
    --icon_image: url(../images/lib/icon/list.svg);
  }
  .icon_lock {
    --icon_image: url(../images/lib/icon/lock.svg);
  }
  .icon_lock_open {
    --icon_image: url(../images/lib/icon/lock_open.svg);
  }
  .icon_mail {
    --icon_image: url(../images/lib/icon/mail.svg);
  }
  .icon_map {
    --icon_image: url(../images/lib/icon/map.svg);
  }
  .icon_message {
    --icon_image: url(../images/lib/icon/message.svg);
  }
  .icon_message_fill {
    --icon_image: url(../images/lib/icon/message_fill.svg);
  }
  .icon_minus {
    --icon_image: url(../images/lib/icon/minus.svg);
  }
  .icon_minus_circle {
    --icon_image: url(../images/lib/icon/minus_circle.svg);
  }
  .icon_modal {
    --icon_image: url(../images/lib/icon/modal.svg);
  }
  .icon_pagetop {
    --icon_image: url(../images/lib/icon/pagetop.svg);
  }
  .icon_play {
    --icon_image: url(../images/lib/icon/play.svg);
  }
  .icon_plus {
    --icon_image: url(../images/lib/icon/plus.svg);
  }
  .icon_plus_circle {
    --icon_image: url(../images/lib/icon/plus_circle.svg);
  }
  .icon_question {
    --icon_image: url(../images/lib/icon/question.svg);
  }
  .icon_search {
    --icon_image: url(../images/lib/icon/search.svg);
  }
  .icon_tel {
    --icon_image: url(../images/lib/icon/tel.svg);
  }
  .icon_train {
    --icon_image: url(../images/lib/icon/train.svg);
  }
  .icon_user {
    --icon_image: url(../images/lib/icon/user.svg);
  }
  .icon_warning {
    --icon_image: url(../images/lib/icon/warning.svg);
  }
  .icon_excel {
    --icon_image: url(../images/lib/icon/brand/excel.svg);
  }
  .icon_facebook {
    --icon_image: url(../images/lib/icon/brand/facebook.svg);
  }
  .icon_facebook_square {
    --icon_image: url(../images/lib/icon/brand/facebook_square.svg);
  }
  .icon_freedial {
    --icon_image: url(../images/lib/icon/brand/freedial.svg);
  }
  .icon_illustrator {
    --icon_image: url(../images/lib/icon/brand/illustrator.svg);
  }
  .icon_instagram {
    --icon_image: url(../images/lib/icon/brand/instagram.svg);
  }
  .icon_line {
    --icon_image: url(../images/lib/icon/brand/line.svg);
  }
  .icon_line_square {
    --icon_image: url(../images/lib/icon/brand/line_square.svg);
  }
  .icon_pdf {
    --icon_image: url(../images/lib/icon/brand/pdf.svg);
  }
  .icon_photoshop {
    --icon_image: url(../images/lib/icon/brand/photoshop.svg);
  }
  .icon_twitter {
    --icon_image: url(../images/lib/icon/brand/twitter.svg);
  }
  .icon_twitter_square {
    --icon_image: url(../images/lib/icon/brand/twitter_square.svg);
  }
  .icon_twitterx {
    --icon_image: url(../images/lib/icon/brand/twitterx.svg);
  }
  .icon_word {
    --icon_image: url(../images/lib/icon/brand/word.svg);
  }
  .icon_wordpress {
    --icon_image: url(../images/lib/icon/brand/wordpress.svg);
  }
  .icon_youtube {
    --icon_image: url(../images/lib/icon/brand/youtube.svg);
  }
  .size_12 {
    --icon_size: 12px;
  }
  .size_14 {
    --icon_size: 14px;
  }
  .size_18 {
    --icon_size: 18px;
  }
  .size_24 {
    --icon_size: 24px;
  }
  .size_36 {
    --icon_size: 36px;
  }
  [class*=icon_].size_12 {
    --icon_size: 12px;
  }
  [class*=icon_].size_14 {
    --icon_size: 14px;
  }
  [class*=icon_].size_18 {
    --icon_size: 18px;
  }
  [class*=icon_].size_24 {
    --icon_size: 24px;
  }
  [class*=icon_].size_36 {
    --icon_size: 36px;
  }
}
/*--------------------------------------
	mixin

	・ paddingが出力されるので上書きに注意
		$type
			* 第1引数 *必須
				block
				inline
				icon
		$icon
			* 第2引数
				アイコンのファイル名　※「.svg」省略
		第1引数と第2引数以外は名前付き引数で設定
		$size     アイコン画像のサイズ
		$color    「original」でsvgのカラーがそのまま適用されます。
					※ background-image になることに注意
		$lr       left || right ※ block,inlineのみ有効
		$lr_p     left や right の値
			$ba       before || after ※疑似要素を
	---------------------------------------*/
@layer lib {
  .mixin_block {
    display: inline-block;
    margin-bottom: 5px;
    padding: 5px 15px;
    border: 1px solid #ccc;
    background-color: #eee;
    --icon_image: url(../images/lib/icon/change.svg);
    --icon_color: green;
    --icon_size: 20px;
    --lr_p: 15px;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    padding-left: calc(var(--lr_p) + var(--icon_size) + var(--icon_gap));
    /****
    疑似要素
    ****/
  }
  .mixin_block::before {
    content: "";
    /* left_right */
    position: absolute;
    top: 50%;
    left: var(--lr_p);
    margin: auto;
    transform: translateY(-50%);
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .mixin_inline {
    display: inline-block;
    --icon_image: url(../images/lib/icon/change.svg);
    --icon_color: red;
    --icon_size: 20px;
    --lr_p: 0;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    padding-right: calc(var(--icon_size) + var(--icon_gap));
    /****
    疑似要素
    ****/
  }
  .mixin_inline::after {
    content: "";
    /* left_right */
    right: 0;
    margin-left: var(--icon_gap);
    margin: auto;
    transform: translateY(-50%);
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .mixin_self {
    --icon_image: url(../images/lib/icon/brand/instagram.svg);
    --icon_color: original;
    --icon_size: 50px;
    --lr_p: 0;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    /****
    疑似要素
    ****/
    display: block;
    margin-bottom: 5px;
    border: 1px solid #ccc;
    width: 100px;
    height: 100px;
  }
  .mixin_self::before {
    content: "";
    /* left_right */
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(-50%);
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background: var(--icon_image) no-repeat center/contain;
  }
  .mixin_self span {
    display: none;
  }
  .mixin_icon {
    --icon_image: url(../images/lib/icon/change.svg);
    --icon_color: black;
    --icon_size: 30px;
    --lr_p: 0;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    /****
    疑似要素
    ****/
    display: inline-block;
    margin-bottom: 5px;
    border: 1px solid #ccc;
  }
  .mixin_icon::before {
    content: "";
    /* left_right */
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::before, [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::after {
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    font-size: inherit;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after)),
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)).after {
    position: relative;
  }
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after))::before,
  [class*=icon_].after:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    margin: 0;
    translate: 0 calc((1lh - var(--icon_size)) / 2);
  }
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after)) {
    padding-left: calc(var(--icon_size) + var(--icon_gap));
  }
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(:not(.after))::before {
    left: 0;
  }
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)).after {
    padding-right: calc(var(--icon_size) + var(--icon_gap));
  }
  [class*=icon_].after:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul))::before {
    right: 0;
  }
  [class*=icon_].original::before, [class*=icon_].original::after {
    background-image: var(--icon_image);
  }
  [class*=icon_]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon, .contents, .container, .modal_overlay, ul)):where(li)::before {
    top: 50%;
    translate: 0 -50%;
  }
  .block_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    font-size: 0 !important;
    letter-spacing: 0;
  }
  .block_icon::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 1/1;
    background: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .block_icon.original::before {
    background: var(--icon_image) no-repeat center/contain;
    -webkit-mask: none;
    mask: none;
  }
  .icon_kome::before {
    content: "※";
    height: 1lh;
    aspect-ratio: auto;
    font-size: var(--icon_size);
    color: transparent;
    -webkit-mask: none;
    mask: none;
    -webkit-background-clip: text;
    background-clip: text;
    translate: none;
  }
  .icon_none::before {
    background: none;
  }
  .gnav_list.sample li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 60px;
    background-color: white;
    transition: all 0.4s;
  }
  .gnav_list.sample li a:hover {
    background-color: #eee;
  }
  .gnav_list.sample li .gnav_icon::before {
    content: "";
    display: block;
    margin-right: 5px;
    width: 26px;
    aspect-ratio: 1/1;
    background: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .gnav_list.sample li .gnav_icon.favorite {
    --icon_image: url(../images/lib/icon/favorite.svg);
  }
  .gnav_list.sample li .gnav_icon.cart {
    --icon_image: url(../images/lib/icon/cart.svg);
  }
  .gnav_list.sample li .gnav_icon.mypage {
    --icon_image: url(../images/lib/icon/user.svg);
  }
  .gnav_list.sample li .gnav_icon.logout {
    --icon_image: url(../images/lib/icon/lock_open.svg);
  }
}
/**======================================
	option_modal

		// edit--
======================================**/
@layer lib {
  /*--------------------------------------
  	modal
  ---------------------------------------*/
  .modal_handle {
    cursor: pointer;
  }
  .modal_icon {
    position: relative;
  }
  .modal_icon::before, .modal_icon::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 40px;
    aspect-ratio: 1/1;
    transition: 0.3s;
  }
  .modal_icon::before {
    background: rgba(0, 0, 0, 0.5);
  }
  .modal_icon::after {
    display: block;
    background: #fff;
    -webkit-mask: url(../images/lib/icon/plus_circle.svg) no-repeat center/60%;
    mask: url(../images/lib/icon/plus_circle.svg) no-repeat center/60%;
  }
  .modal_icon:hover::before {
    background: rgba(var(--color_theme_base), 0.5);
  }
  .contents .modal_target {
    display: none;
  }
  .modal_overlay.show {
    opacity: 1;
  }
  .modal_overlay.show,
  .modal_overlay.show * {
    pointer-events: auto;
  }
  .modal_overlay {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
    left: 0;
    z-index: 100;
    display: block;
    width: 100vw;
    height: calc(100vh - 1px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.7s;
  }
  .modal_overlay .modal_bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7);
    cursor: pointer;
  }
  .modal_overlay .modal_wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding: 0;
    width: -moz-fit-content;
    width: fit-content;
    max-width: min(100%, var(--wrapper_width_large));
    height: -moz-fit-content;
    height: fit-content;
    background-color: white;
    box-shadow: 0 1px 10px black;
  }
  .modal_overlay .modal_wrap .modal {
    max-height: 90vh;
    overflow-y: auto;
  }
  .modal_overlay .modal_wrap .modal > .modal_target {
    display: block;
    padding: clamp(15px, 15px + 15 * (100vw - 400px) / 800, 30px);
  }
  .modal_overlay .modal_wrap .modal > .modal_target.no_padding {
    padding: 0;
  }
  .modal_overlay .modal_wrap .modal_close {
    position: fixed;
    top: min(5vw, 30px);
    right: min(5vw, 30px);
    width: clamp(40px, 5vw, 80px);
    aspect-ratio: 1/1;
    cursor: pointer;
  }
  .modal_overlay .modal_wrap .modal_close::before {
    content: "";
    display: block;
    aspect-ratio: 1/1;
    background: #fff;
    -webkit-mask: url(../images/lib/icon/close.svg) no-repeat center/100%;
    mask: url(../images/lib/icon/close.svg) no-repeat center/100%;
  }
  @media print, screen and (min-width: 600px) {
    .modal_overlay .modal_wrap:not(:has(.pinchzoom)) .modal_close {
      position: absolute;
      top: 0;
      right: 0;
      border-radius: 15px;
      width: 30px;
      background: #000;
      transform: translate(50%, -50%);
    }
  }
  @media print, screen and (min-width: 600px) {
    .modal_overlay .modal_wrap:not(:has(.pinchzoom)) .modal_close::before {
      -webkit-mask-size: 60%;
      mask-size: 60%;
    }
  }
  .modal_overlay .modal_wrap:has(.youtube_wrap) {
    width: auto;
  }
  .modal_overlay .modal_wrap:has(.modal_target.wide) {
    width: 90%;
  }
  .modal_overlay .modal_wrap:has(.modal_target.full) {
    width: 100%;
  }
  .modal_overlay .modal_wrap:has(.modal_target.full) .modal_target {
    padding: 0;
  }
  .modal_overlay .modal_prev_next > * {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    margin: auto 0;
    width: 40px;
    height: 40px;
    background: #222;
    opacity: 0.6;
    cursor: pointer;
    transition: opacity 0.3s;
  }
  .modal_overlay .modal_prev_next > * span {
    --icon_color: white;
    --icon_size: 20px;
    --lr_p: 0;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    /****
    疑似要素
    ****/
    display: block;
    width: 40px;
    height: 40px;
  }
  .modal_overlay .modal_prev_next > * span::before {
    content: "";
    /* left_right */
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(-50%);
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .modal_overlay .modal_prev_next > * span:hover {
    opacity: 1;
  }
  .modal_overlay .modal_prev_next > *.prev {
    left: 0;
  }
  .modal_overlay .modal_prev_next > *.prev span::before {
    -webkit-mask-image: url(../images/lib/icon/arrow_left.svg);
    mask-image: url(../images/lib/icon/arrow_left.svg);
  }
  .modal_overlay .modal_prev_next > *.next {
    right: 0;
  }
  .modal_overlay .modal_prev_next > *.next span::before {
    -webkit-mask-image: url(../images/lib/icon/arrow_right.svg);
    mask-image: url(../images/lib/icon/arrow_right.svg);
  }
  .modal_overlay .modal_prev_next > *.disabled {
    pointer-events: none;
  }
  .modal_overlay .modal_prev_next > *.disabled span {
    opacity: 0.2;
  }
  .modal_overlay .modal_wrap.add_prop {
    width: calc(100vw - 30px);
    height: calc(100vh - 30px);
  }
  @media print, screen and (min-width: 600px) {
    .modal_overlay .modal_wrap.add_prop {
      max-width: 800px;
      max-height: 800px;
    }
  }
  .modal_wrap:has(.pinchzoom) {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: 100dvh;
    overflow: hidden;
    background: none;
    box-shadow: none;
  }
  .modal_wrap:has(.pinchzoom) .modal {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-height: 100%;
    overflow: visible;
  }
  .modal_wrap:has(.pinchzoom) .modal .modal_target {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    row-gap: var(--cont_margin);
    align-items: center;
    justify-content: center;
    padding: 0;
    width: min(100%, var(--wrapper_width_large));
    max-height: 80vh;
  }
  @media print, screen and (min-width: 600px) {
    .modal_wrap:has(.pinchzoom) .modal .modal_target {
      width: min(90%, var(--wrapper_width_large));
    }
  }
  .modal_wrap:has(.pinchzoom) .modal .modal_target .pinchzoom {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    overflow: visible;
    background: none;
  }
  .modal_wrap:has(.pinchzoom) .modal .modal_target .pinchzoom img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .modal_wrap:has(.pinchzoom) .modal .modal_target .caption_wrap {
    position: relative;
    z-index: 1;
    margin-inline: auto;
    width: min(90vw, 100%);
    font-size: 1.4rem;
  }
  .modal_wrap:has(.pinchzoom) .nav_dots {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    padding-block: 15px;
    background: #fff;
  }
}
/*--------------------------------------
	tooltip // oo_lib
---------------------------------------*/
@layer lib {
  .tooltip_handle {
    position: relative;
    display: inline-block;
    border-bottom: 1px dashed #666;
    cursor: pointer;
  }
  .tooltip_handle .tooltip {
    position: absolute;
    bottom: 100%;
    display: block;
    padding: 10px;
    border-radius: 3px;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 200px;
    background: #222;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    opacity: 0;
    font-size: 1.1rem;
    line-height: 1.2;
    color: white;
    white-space: nowrap;
    pointer-events: none;
    transition: 0.2s;
    transform: translateY(-5px);
  }
  .tooltip_handle .tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 20px;
    margin: auto;
    width: 10px;
    aspect-ratio: 1/1;
    clip-path: polygon(50% 70%, 100% 0, 0 0);
    background: #222;
    transform: translateY(-1px);
  }
  .tooltip_handle .tooltip.show {
    opacity: 1;
    pointer-events: all;
  }
  .tooltip_bottom .tooltip {
    top: 100%;
    bottom: auto;
    transform: translateY(10px);
  }
  .tooltip_bottom .tooltip::after {
    top: auto;
    bottom: 100%;
    transform: scale(1, -1);
  }
  .tooltip_right .tooltip,
  .tooltip_left .tooltip {
    top: 50%;
    bottom: auto;
  }
  .tooltip_right .tooltip::after,
  .tooltip_left .tooltip::after {
    top: 0;
    bottom: 0;
    clip-path: polygon(30% 50%, 100% 100%, 100% 0);
  }
  .tooltip_right .tooltip {
    left: 100%;
    transform: translate(10px, -50%);
  }
  .tooltip_right .tooltip::after {
    right: 100%;
    left: auto;
    transform: translateX(1px);
  }
  .tooltip_left .tooltip {
    right: 100%;
    transform: translate(-10px, -50%);
  }
  .tooltip_left .tooltip::after {
    right: auto;
    left: 100%;
    transform: translateX(-1px) scale(-1, 1);
  }
}
@layer lib {
  /**======================================
  	calendar
  ======================================**/
  .calendar_header {
    position: relative;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
  }
  .calendar_header .btn_prev,
  .calendar_header .btn_next {
    display: block;
    border-radius: 10px;
    width: 20px;
    height: 20px;
    background-color: black;
    cursor: pointer;
  }
  .calendar_header .btn_prev {
    --icon_image: url(../images/lib/icon/angle_left.svg);
    --icon_color: white;
    --icon_size: 16px;
    --lr_p: 0;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    /****
    疑似要素
    ****/
  }
  .calendar_header .btn_prev::before {
    content: "";
    /* left_right */
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(-50%);
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .calendar_header .btn_next {
    --icon_image: url(../images/lib/icon/angle_right.svg);
    --icon_color: white;
    --icon_size: 16px;
    --lr_p: 0;
    /****
    セレクター
    ****/
    position: relative;
    /* padding */
    /****
    疑似要素
    ****/
  }
  .calendar_header .btn_next::before {
    content: "";
    /* left_right */
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    transform: translateY(-50%);
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    /* icon, color */
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .calendar_header .btn_prev.disabled,
  .calendar_header .btn_next.disabled {
    opacity: 0.2;
    cursor: default;
  }
  .calendar_header .calendar_ttl {
    text-align: center;
    font-size: 92%;
    font-weight: bold;
    color: var(--txt_color_heading);
  }
  .calendar_table {
    border-top: 2px solid var(--table_border_color);
    border-bottom: 2px solid var(--table_border_color);
    width: 100%;
  }
  .calendar_table tr th,
  .calendar_table tr td {
    padding: 5px 0;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 2.2;
  }
  .calendar_table tr th p,
  .calendar_table tr td p {
    line-height: 2.2;
  }
  .calendar_table tr th a,
  .calendar_table tr td a {
    color: inherit;
  }
  .calendar_table tr th {
    color: var(--table_th_txt_color);
  }
  .calendar_table tr td {
    color: var(--table_td_txt_color);
  }
  .calendar_table tr.sunday th,
  .calendar_table tr.sunday td,
  .calendar_table tr th.sunday,
  .calendar_table tr td.sunday {
    color: var(--color_util_calendar_sunday);
  }
  .calendar_table tr.saturday th,
  .calendar_table tr.saturday td,
  .calendar_table th.saturday,
  .calendar_table td.saturday {
    color: var(--color_util_calendar_saturday);
  }
  .calendar_table tr.close th,
  .calendar_table tr.close td,
  .calendar_table th.close,
  .calendar_table td.close {
    color: var(--color_util_calendar_close);
  }
  .calendar_table tr.holiday th,
  .calendar_table tr.holiday td,
  .calendar_table th.holiday,
  .calendar_table td.holiday {
    color: var(--color_util_calendar_holiday);
  }
  .calendar_table tr.today th,
  .calendar_table tr.today td,
  .calendar_table th.today,
  .calendar_table td.today {
    background: #fee;
  }
  .calendar_table tr.past th,
  .calendar_table tr.past td,
  .calendar_table th.past,
  .calendar_table td.past {
    opacity: 0.4 !important;
  }
  .calendar_table.calendar_vertical tr th {
    width: 20%;
  }
  .calendar_table.calendar_vertical tr th,
  .calendar_table.calendar_vertical tr td {
    border-bottom: 1px solid var(--table_border_color);
  }
  .calendar_table.calendar_vertical tr th p,
  .calendar_table.calendar_vertical tr td p {
    line-height: 2.2;
  }
  .calendar_table.calendar_vertical tr:last-child th,
  .calendar_table.calendar_vertical tr:last-child td {
    border: none;
  }
  .calendar_column7 {
    table-layout: fixed;
  }
  .calendar_column7 tr th {
    text-align: center;
    font-weight: bold;
  }
  .check_calendar_table tbody tr td {
    padding: 2px;
    text-align: center;
    font-size: 1.2rem;
  }
  .check_calendar_table tbody tr td span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border: 1px solid var(--border_color_base);
    border-radius: 5px;
    font-weight: bold;
  }
  .check_calendar_table tbody tr td label {
    --icon_image: url(../images/lib/icon/check.svg);
    --icon_color: #fff;
    display: block;
    cursor: pointer;
  }
  .check_calendar_table tbody tr td label > input {
    display: none;
  }
  .check_calendar_table tbody tr td label span {
    background: transparent;
    transition: 0.3s;
  }
  .check_calendar_table tbody tr td label span::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    opacity: 0;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
    transition: 0.3s;
  }
  .check_calendar_table tbody tr td label:has(input:checked) span {
    background: #70c7c4;
  }
  .check_calendar_table tbody tr td label:has(input:checked) span::before {
    opacity: 1;
  }
  .check_calendar_table tbody tr td.past span,
  .check_calendar_table tbody tr td.close span,
  .check_calendar_table tbody tr td.holiday span,
  .check_calendar_table tbody tr td.sunday span,
  .check_calendar_table tbody tr td.close span {
    border: 1px dashed var(--color_util_calendar_close);
  }
  .calendars_weekly.slide_wrap > .slide_overflow_hidden > .slide_items > .slide_item {
    position: relative;
  }
  @media screen and (max-width: 599px) {
    .calendars_weekly.slide_wrap > .slide_overflow_hidden > .slide_items > .slide_item {
      width: 100%; /* ここをjsに転記 */
    }
  }
  @media print, screen and (min-width: 600px) {
    .calendars_weekly.slide_wrap > .slide_overflow_hidden > .slide_items > .slide_item {
      width: 50%; /* ここをjsに転記 */
    }
  }
}
/**======================================
	animate
======================================**/
/*--------------------------------------
	promo
---------------------------------------*/
@layer lib {
  .promo_wrap .promo.promo_fade .promo_item {
    animation-duration: 1s;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_fade .promo_item.current {
    animation-name: promo_fade_show;
  }
  .promo_wrap .promo.promo_fade .promo_item:not(.current) {
    animation-name: promo_fade_hide;
  }
  @keyframes promo_fade_show {
    0% {
      z-index: 2;
      opacity: 0;
    }
    50% {
      z-index: 2;
      opacity: 1;
    }
    100% {
      z-index: 1;
      opacity: 1;
    }
  }
  @keyframes promo_fade_hide {
    0% {
      z-index: 1;
      opacity: 1;
    }
    50% {
      z-index: 1;
      opacity: 1;
    }
    100% {
      z-index: 0;
      opacity: 0;
    }
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item {
    animation-duration: 4s;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.current {
    animation-name: promo_fade_zoom_show;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item:not(.current) {
    animation-name: promo_fade_zoom_hide;
  }
  @keyframes promo_fade_zoom_show {
    0% {
      z-index: 2;
      opacity: 0;
      transform: scale(1);
    }
    25% {
      opacity: 1;
    }
    50% {
      z-index: 2;
    }
    100% {
      z-index: 1;
      opacity: 1;
      transform: scale(1.05);
    }
  }
  @keyframes promo_fade_zoom_hide {
    0% {
      z-index: 1;
      opacity: 1;
      transform: scale(1.05);
    }
    75% {
      opacity: 1;
    }
    100% {
      z-index: 0;
      opacity: 0;
      transform: scale(1.1);
    }
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.promo_01 {
    transform-origin: center;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.promo_02 {
    transform-origin: top left;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.promo_03 {
    transform-origin: bottom right;
  }
  .promo_wrap .promo.promo_slide .promo_item {
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_slide .promo_item.current {
    animation-name: promo_slide_show;
  }
  .promo_wrap .promo.promo_slide .promo_item:not(.current) {
    transform: translateX(-100%);
    animation-name: promo_slide_hide;
  }
  @keyframes promo_slide_show {
    0% {
      z-index: 2;
      transform: translateX(-100%);
    }
    99% {
      transform: translateX(0%);
    }
    100% {
      z-index: 1;
    }
  }
  @keyframes promo_slide_hide {
    0% {
      z-index: 1;
      transform: translateX(0%);
    }
    99% {
      transform: translateX(100%);
    }
    100% {
      z-index: 0;
    }
  }
  .promo_wrap .promo.promo_clip .promo_item {
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_clip .promo_item.current {
    animation-name: promo_clip_show;
  }
  .promo_wrap .promo.promo_clip .promo_item:not(.current) {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    animation-name: promo_clip_hide;
  }
  @keyframes promo_clip_show {
    0% {
      z-index: 2;
      clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    }
    99% {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
    100% {
      z-index: 1;
    }
  }
  @keyframes promo_clip_hide {
    0% {
      z-index: 1;
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
    99% {
      clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    }
    100% {
      z-index: 0;
    }
  }
}
/**======================================
	application
======================================**/
/*--------------------------------------
		setting
	---------------------------------------*/
@layer lib {
  /*--------------------------------------
  	flashmessage
  ---------------------------------------*/
  /* flashmessage : wrap container */
  .flash_message {
    padding: 15px;
    border-left: var(--flashmessage-c-border) 10px solid;
    background-color: var(--flashmessage-c-bg);
  }
  .flash_message > * {
    color: var(--flashmessage-c-txt);
  }
  .flash_message > *::before {
    color: var(--flashmessage-c-txt);
  }
  .flash_message.info {
    --flashmessage-c-border: #9fb3c8;
    --flashmessage-c-bg: #eaeff6;
    --flashmessage-c-txt: #386ea5;
  }
  .flash_message.success {
    --flashmessage-c-border: #a1d6d8;
    --flashmessage-c-bg: #e5fbf6;
    --flashmessage-c-txt: #218e92;
  }
  .flash_message.warning {
    --flashmessage-c-border: #c00;
    --flashmessage-c-bg: #fcf5f5;
    --flashmessage-c-txt: #c22c1d;
  }
  .flash_message.info2 {
    --flashmessage-c-border: #fda;
    --flashmessage-c-bg: #fcfaf5;
    --flashmessage-c-txt: #fc9e4c;
  }
  /*--------------------------------------
  	ux_info_wrap
  ---------------------------------------*/
  .ux_info_wrap {
    padding: 10px;
    background-color: black;
    text-align: center;
  }
  .ux_info_wrap * {
    font-size: 1.8rem;
    line-height: 1.2;
    color: white;
  }
  .ux_info_wrap .meta {
    font-size: 1.3rem;
  }
  /*--------------------------------------
  	formula
  ---------------------------------------*/
  .formula.result {
    padding: 15px;
    border-top: 1px solid var(--border_color_base);
    border-bottom: 1px solid var(--border_color_base);
  }
  .formula.result q {
    white-space: nowrap;
  }
  .formula.result q.n {
    font-size: 1.8rem;
    font-weight: bold;
  }
  @media print, screen and (min-width: 600px) {
    .formula.result q.n {
      font-size: 4rem;
    }
  }
  .formula.result q.u {
    font-size: 1.3rem;
    font-weight: normal;
  }
  .formula.result q.o {
    margin: 0 15px;
    font-size: 1.8rem;
    font-weight: bold;
  }
  @media print, screen and (min-width: 600px) {
    .formula.result q.o {
      font-size: 3rem;
    }
  }
  .formula.result q.m {
    font-size: 1.2rem;
    font-weight: normal;
  }
  .formula.process q {
    white-space: nowrap;
  }
  .formula.process q.n {
    font-size: 1.3rem;
    font-weight: bold;
  }
  .formula.process q.s {
    font-size: 1.3rem;
    color: var(--txt_color_light);
  }
  .formula.process q.o {
    font-size: 1.3rem;
    font-weight: bold;
  }
  .formula.process q.p {
    font-size: 1.3rem;
  }
  .formula.process q.p.point_01 {
    color: #0a887f;
  }
  .formula.process q.p.point_02 {
    color: #ff0045;
  }
  /*--------------------------------------
  	fukidashi
  ---------------------------------------*/
  .fukidashi {
    display: flex;
    gap: 0 10px;
    justify-content: space-between;
  }
  .fukidashi .texts_item {
    position: relative;
    flex-grow: 1;
    padding: calc(1.25vw + 5px);
    border: 3px solid var(--color_theme_base);
    border-radius: 6px;
    background: white;
  }
  @media screen and (min-width: 1200px) {
    .fukidashi .texts_item {
      padding: 20px;
    }
  }
  .fukidashi .texts_item::before {
    content: "";
    position: absolute;
    top: 20px;
    display: block;
    margin: auto;
    width: 10px;
    aspect-ratio: 1/2;
    background: var(--color_theme_base);
  }
  .fukidashi .texts_item p {
    font-size: 1.4rem;
  }
  @media print, screen and (min-width: 960px) {
    .fukidashi .texts_item p {
      font-size: 1.5rem;
    }
  }
  .fukidashi .texts_item p {
    margin-bottom: 0.3em;
  }
  .fukidashi .texts_item p:last-child {
    margin-bottom: 0;
  }
  .fukidashi .image_item {
    flex-shrink: 0;
    width: clamp(80px, 80px + 40 * (100vw - 400px) / 800, 120px);
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.3;
  }
  .fukidashi .image_item .object_fit {
    aspect-ratio: 1/1;
    overflow: hidden;
    background: transparent no-repeat center bottom/100%;
  }
  .fukidashi.fukidashi_left .texts_item::before {
    left: -13px;
    clip-path: polygon(0 51%, 100% 100%, 100% 0);
  }
  .fukidashi.fukidashi_left .image_item {
    order: -1;
  }
  .fukidashi.fukidashi_right .texts_item::before {
    right: -13px;
    clip-path: polygon(100% 50%, 0 100%, 0 0);
  }
  .fukidashi.fukidashi_right .image_item {
    order: 1;
  }
  .fukidashi.fukidashi_m01 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m01 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_m01 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m02 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m02 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_m02 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m03 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m03 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_m03 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m04 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m04 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_m04 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m05 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_m05 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_m05 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w01 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w01 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_w01 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w02 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w02 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_w02 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w03 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w03 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_w03 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w04 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w04 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_w04 .image_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w05 .texts_item {
    border-color: #eee4c7;
  }
  .fukidashi.fukidashi_w05 .texts_item::before {
    background-color: #eee4c7;
  }
  .fukidashi.fukidashi_w05 .image_item {
    border-color: #eee4c7;
  }
}
/**======================================
	button
======================================**/
@layer component {
  .pager_wrap {
    --icon_size: 1.6rem;
    --btn_width: min(100%, 40px);
    --btn_pd_block: 0;
    --btn_pd_inline: 0;
    --btn_txt_size: 1.2rem;
    margin: 10px 0;
  }
  .pager_wrap ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: center;
  }
  .pager_wrap ul li {
    display: flex;
  }
  .pager_wrap ul li > * {
    --icon_color: var(--v_btn_color_icon);
    display: block;
    width: var(--btn_width);
    text-decoration: none;
    cursor: pointer;
    transition: none;
    --btn_primary_color_bg_hover: rgba(var(--btn_color_base) 255 255 255);
    --btn_primary_color_txt_hover: var(--btn_color_base);
    flex-grow: 1;
    display: flex;
  }
  .pager_wrap ul li > * > * {
    position: relative;
    display: block;
    padding: var(--btn_pd_block) var(--btn_pd_inline);
    border: 1px solid var(--v_btn_color_border);
    border-radius: var(--btn_radius);
    background-color: var(--v_btn_color_bg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .pager_wrap ul li > * > * {
      box-shadow: none;
    }
  }
  .pager_wrap ul li > * > *::before, .pager_wrap ul li > * > *::after {
    background-color: var(--icon_color);
    transition: var(--btn_transition);
  }
  .pager_wrap ul li > * > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: var(--btn_transition);
  }
  .pager_wrap ul li > * > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: fill var(--btn_transition);
  }
  .pager_wrap ul li > *:active > * {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  }
  .pager_wrap ul li > *:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
    --v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
  }
  .pager_wrap ul li > *:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .pager_wrap ul li > *:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_color_bg_hover, #fff);
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
  }
  .pager_wrap ul li > *:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
  }
  .pager_wrap ul li > * > * {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
  }
  .pager_wrap ul li > * > .prev::before,
  .pager_wrap ul li > * > .next::before {
    content: "";
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1.6;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .pager_wrap ul li > * > .prev {
    --icon_image: url(../images/lib/icon/angle_left.svg);
  }
  .pager_wrap ul li > * > .next {
    --icon_image: url(../images/lib/icon/angle_right.svg);
  }
  .pager_wrap ul li > * > .next::before {
    order: 1;
  }
  .pager_wrap ul li > *.current {
    opacity: 0.3;
    pointer-events: none;
  }
  .pager_wrap ul li > *.dots {
    align-items: center;
    justify-content: center;
    border: none;
    box-shadow: none;
    text-align: center;
    font-size: 1.2rem;
    color: black;
  }
  .pager_wrap ul li > *.disabled {
    opacity: 0.3;
  }
  .pager_wrap ul.pager_numbers li {
    flex: 1;
    max-width: 40px;
  }
  .pager_wrap ul.pager_numbers li > * > .prev,
  .pager_wrap ul.pager_numbers li > * > .next {
    --btn_txt_size: 0;
  }
  .pager_wrap ul.pager_next_back {
    --btn_width: auto;
    --btn_pd_inline: 10px;
  }
  .pagetop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 3;
    width: auto;
    opacity: 1;
  }
  .pagetop.disabled {
    opacity: 0;
    pointer-events: none;
  }
  .pagetop a {
    --btn_width: 40px;
    --btn_pd_block: 0;
    --btn_pd_inline: 0;
    --icon_color: var(--v_btn_color_icon);
    display: block;
    width: var(--btn_width);
    text-decoration: none;
    cursor: pointer;
    transition: none;
    --btn_primary_color_bg_hover: rgba(var(--btn_color_base) 255 255 255);
    --btn_primary_color_txt_hover: var(--btn_color_base);
  }
  .pagetop a > * {
    position: relative;
    display: block;
    padding: var(--btn_pd_block) var(--btn_pd_inline);
    border: 1px solid var(--v_btn_color_border);
    border-radius: var(--btn_radius);
    background-color: var(--v_btn_color_bg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .pagetop a > * {
      box-shadow: none;
    }
  }
  .pagetop a > *::before, .pagetop a > *::after {
    background-color: var(--icon_color);
    transition: var(--btn_transition);
  }
  .pagetop a > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: var(--btn_transition);
  }
  .pagetop a > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: fill var(--btn_transition);
  }
  .pagetop a:active > * {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  }
  .pagetop a:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
    --v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
  }
  .pagetop a:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .pagetop a:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_color_bg_hover, #fff);
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
  }
  .pagetop a:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
  }
  .pagetop a > * {
    display: flex;
    align-items: center;
    justify-content: center;
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 1/1;
  }
  .btn.btn_hoverline {
    position: relative;
    transition: var(--btn_transition);
  }
  .btn.btn_hoverline > * {
    position: relative;
    z-index: 2;
    border: none;
    background: none;
  }
  .btn.btn_hoverline::before, .btn.btn_hoverline::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    transition: var(--btn_transition);
  }
  .btn.btn_hoverline::before {
    border-top: 1px solid var(--v_btn_color_border);
    border-bottom: 1px solid var(--v_btn_color_border);
    opacity: 0;
    transform: scale(0.1, 1);
  }
  .btn.btn_hoverline::after {
    background-color: var(--v_btn_color_bg);
  }
  .btn.btn_hoverline:hover > * {
    background: none;
    letter-spacing: 0.1em;
  }
  .btn.btn_hoverline:hover::before {
    opacity: 1;
    transform: scale(1, 1);
  }
  .btn.btn_hoverline:hover::after {
    opacity: 0;
    transform: scale(0.1, 1);
  }
  .btn.btn_zoomout {
    --btn_transition: 0.5s;
    position: relative;
    transition: var(--btn_transition);
  }
  .btn.btn_zoomout > * {
    position: relative;
    z-index: 2;
    border: none;
    background: none;
  }
  .btn.btn_zoomout::before, .btn.btn_zoomout::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    transition: var(--btn_transition);
  }
  .btn.btn_zoomout::before {
    background-color: var(--v_btn_color_bg);
    opacity: 1;
  }
  .btn.btn_zoomout::after {
    border: 1px solid var(--v_btn_color_border);
    opacity: 0;
    transform: scale(1.2);
  }
  .btn.btn_zoomout:hover > * {
    background: none;
  }
  .btn.btn_zoomout:hover::before {
    opacity: 0;
    transform: scale(0.5);
  }
  .btn.btn_zoomout:hover::after {
    opacity: 0.5;
    transform: scale(1);
  }
  .btn.btn_zoomin {
    --btn_transition: 0.5s;
    position: relative;
    transition: var(--btn_transition);
  }
  .btn.btn_zoomin > * {
    position: relative;
    z-index: 2;
    border: none;
    background: none;
  }
  .btn.btn_zoomin::before, .btn.btn_zoomin::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    transition: var(--btn_transition);
  }
  .btn.btn_zoomin::before {
    border: 1px solid var(--v_btn_color_border);
    opacity: 0;
    transform: scale(0.5);
  }
  .btn.btn_zoomin::after {
    background-color: var(--v_btn_color_bg);
    transform: scale(1);
  }
  .btn.btn_zoomin:hover > * {
    background: none;
  }
  .btn.btn_zoomin:hover::before {
    opacity: 1;
    transform: scale(1);
  }
  .btn.btn_zoomin:hover::after {
    opacity: 0;
    transform: scale(1.2);
  }
  .btn.bggrow {
    --btn_transition: 0.5s;
    position: relative;
    border: 1px solid var(--btn_color_border);
    border-radius: var(--btn_radius);
    overflow: hidden;
    background-color: var(--v_btn_color_bg);
    transition: var(--btn_transition);
  }
  .btn.bggrow > * {
    position: relative;
    z-index: 2;
    border: none;
    border-radius: 0;
    background: none;
  }
  .btn.bggrow::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    background-color: var(--v_btn_color_bg_hover);
    opacity: 0;
    transition: var(--btn_transition);
  }
  .btn.bggrow:hover::before {
    opacity: 1;
  }
  .btn.bggrow.to_right::before {
    margin-right: auto;
    width: 0;
  }
  .btn.bggrow.to_right:hover::before {
    width: 100%;
  }
  .btn.bggrow.to_left::before {
    margin-left: auto;
    width: 0;
  }
  .btn.bggrow.to_left:hover::before {
    width: 100%;
  }
  .btn.bggrow.to_inline::before {
    margin-inline: auto;
    width: 0;
  }
  .btn.bggrow.to_inline:hover::before {
    width: 100%;
  }
  .btn.bggrow.to_block::before {
    margin-block: auto;
    height: 0;
  }
  .btn.bggrow.to_block:hover::before {
    height: 100%;
  }
}
/**======================================
	btn
======================================**/
@layer lib {}
@layer lib {
  /* btn : wrap container */
  .btn {
    cursor: pointer;
    --icon_color: var(--v_btn_color_icon);
    display: block;
    width: var(--btn_width);
    text-decoration: none;
    cursor: pointer;
    transition: none;
    --btn_primary_color_bg_hover: rgba(var(--btn_color_base) 255 255 255);
    --btn_primary_color_txt_hover: var(--btn_color_base);
  }
  .btn > * {
    position: relative;
    display: block;
    padding: var(--btn_pd_block) var(--btn_pd_inline);
    border: 1px solid var(--v_btn_color_border);
    border-radius: var(--btn_radius);
    background-color: var(--v_btn_color_bg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .btn > * {
      box-shadow: none;
    }
  }
  .btn > *::before, .btn > *::after {
    background-color: var(--icon_color);
    transition: var(--btn_transition);
  }
  .btn > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: var(--btn_transition);
  }
  .btn > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: fill var(--btn_transition);
  }
  .btn:active > * {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  }
  .btn:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
    --v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
  }
  .btn:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .btn:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_color_bg_hover, #fff);
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
  }
  .btn:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
  }
  @media screen and (max-width: 599px) {
    .btn_sp {
      --icon_color: var(--v_btn_color_icon);
      display: block;
      width: var(--btn_width);
      text-decoration: none;
      cursor: pointer;
      transition: none;
      --btn_primary_color_bg_hover: rgba(var(--btn_color_base) 255 255 255);
      --btn_primary_color_txt_hover: var(--btn_color_base);
    }
    .btn_sp > * {
      position: relative;
      display: block;
      padding: var(--btn_pd_block) var(--btn_pd_inline);
      border: 1px solid var(--v_btn_color_border);
      border-radius: var(--btn_radius);
      background-color: var(--v_btn_color_bg);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
      text-align: center;
      font-size: var(--btn_txt_size);
      font-weight: bold;
      color: var(--v_btn_color_txt);
      transition: var(--btn_transition);
    }
  }
  @media screen and (max-width: 599px) and (min-width: 600px) {
    .btn_sp > * {
      box-shadow: none;
    }
  }
  @media screen and (max-width: 599px) {
    .btn_sp > *::before, .btn_sp > *::after {
      background-color: var(--icon_color);
      transition: var(--btn_transition);
    }
    .btn_sp > * svg {
      display: block;
      fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
      transition: var(--btn_transition);
    }
    .btn_sp > * svg path {
      fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
      transition: fill var(--btn_transition);
    }
    .btn_sp:active > * {
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    }
    .btn_sp:where(:not(.bc_reverse)) {
      --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
      --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
      --v_btn_color_txt: var(--btn_color_txt, #fff);
      --v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
    }
    .btn_sp:where(:not(.bc_reverse)):hover {
      --v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
      --v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
      --v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
    }
    .btn_sp:where(.bc_reverse) {
      --v_btn_color_bg: var(--btn_color_bg_hover, #fff);
      --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
      --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    }
    .btn_sp:where(.bc_reverse):hover {
      --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
      --v_btn_color_txt: var(--btn_color_txt, #fff);
    }
  }
  .btn_sp[class*=icon_] {
    padding-left: 0;
  }
  .btn_sp[class*=icon_]::before {
    display: none;
  }
  .btn.auto,
  .btn.btn_small,
  .btn.btn_ss {
    --btn_width: auto;
  }
  .btn.btn_small,
  .btn.btn_ss,
  .btn.btn_more,
  .btn.btn_edit {
    display: inline-block;
  }
  .btn.full {
    --btn_width: 100%;
  }
  .btn:where(.off, .disabled, [disabled]) {
    opacity: 0.2;
    pointer-events: none;
  }
  .btn.current {
    opacity: 0.4;
    pointer-events: none;
    cursor: default;
  }
  .btn_wrap {
    display: flex;
    flex-direction: column;
    gap: var(--btn_wrap_gap);
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap {
      flex-direction: row;
      align-items: flex-start;
    }
  }
  .btn_wrap:where(:not(:last-child):not(.cont)) {
    margin-bottom: 10px;
  }
  .btn_wrap.stretch {
    align-items: stretch;
  }
  .btn_wrap.stretch > *.btn {
    display: flex;
    align-items: stretch;
  }
  .btn_wrap.stretch > *.btn > * {
    flex-grow: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap.center {
      justify-content: center;
    }
  }
  .btn_wrap.row_wrap {
    flex-wrap: wrap;
  }
  .btn_wrap.grow {
    --btn_width: auto;
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap.grow > *.btn {
      flex-grow: 1;
    }
  }
  .btn_wrap.vertical {
    flex-direction: column;
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap.vertical.center {
      align-items: center;
    }
  }
  .btn_img > *::before, .btn_icon > *::before, .btn[class*=icon_] > *::before, .btn_img > *::after, .btn_icon > *::after, .btn[class*=icon_] > *::after {
    width: var(--icon_size);
    aspect-ratio: 1/1;
    font-size: inherit;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .btn[class*=icon_]:where(:not(.inline)):not(.right) > *,
  .btn[class*=icon_]:where(:not(.inline)).right > * {
    position: relative;
  }
  .btn[class*=icon_]:where(:not(.inline)):not(.right) > *::before,
  .btn[class*=icon_]:where(:not(.inline)).right > *::before {
    content: "";
    position: absolute;
    top: 50%;
    display: block;
    margin: auto;
    transform: translateY(-50%);
  }
  .btn[class*=icon_]:where(:not(.inline)):not(.right) > *::before {
    left: 10px;
  }
  .btn[class*=icon_]:where(:not(.inline)).right > *::before {
    right: 10px;
  }
  .btn[class*=icon_].inline:not(.right) > *::before, .btn[class*=icon_].inline:not(.right) > *::after,
  .btn[class*=icon_].inline.right > *::before,
  .btn[class*=icon_].inline.right > *::after {
    position: relative;
    top: 0.5em;
    display: inline-block;
    transform: translateY(-37.5%);
  }
  .btn[class*=icon_].inline:not(.right) > *::before {
    content: "";
    margin-right: var(--icon_gap);
  }
  .btn[class*=icon_].inline.right > *::after {
    content: "";
    margin-left: var(--icon_gap);
  }
  .btn[class*=icon_]:where(:not(.inline)):not(.right):where(.btn_small, .btn_ss) > * {
    padding-left: calc(10px + var(--icon_size) + var(--icon_gap));
  }
  .btn[class*=icon_]:where(:not(.inline)).right:where(.btn_small, .btn_ss) > * {
    padding-right: calc(10px + var(--icon_size) + var(--icon_gap));
  }
  @media screen and (max-width: 599px) {
    .btn_sp[class*=icon_] > *::before, .btn_sp[class*=icon_] > *::after {
      width: var(--icon_size);
      aspect-ratio: 1/1;
      font-size: inherit;
      -webkit-mask: var(--icon_image) no-repeat center/contain;
      mask: var(--icon_image) no-repeat center/contain;
    }
    .btn_sp[class*=icon_]:where(:not(.inline)):not(.right) > *,
    .btn_sp[class*=icon_]:where(:not(.inline)).right > * {
      position: relative;
    }
    .btn_sp[class*=icon_]:where(:not(.inline)):not(.right) > *::before,
    .btn_sp[class*=icon_]:where(:not(.inline)).right > *::before {
      content: "";
      position: absolute;
      top: 50%;
      display: block;
      margin: auto;
      transform: translateY(-50%);
    }
    .btn_sp[class*=icon_]:where(:not(.inline)):not(.right) > *::before {
      left: 10px;
    }
    .btn_sp[class*=icon_]:where(:not(.inline)).right > *::before {
      right: 10px;
    }
    .btn_sp[class*=icon_].inline:not(.right) > *::before, .btn_sp[class*=icon_].inline:not(.right) > *::after,
    .btn_sp[class*=icon_].inline.right > *::before,
    .btn_sp[class*=icon_].inline.right > *::after {
      position: relative;
      top: 0.5em;
      display: inline-block;
      transform: translateY(-37.5%);
    }
    .btn_sp[class*=icon_].inline:not(.right) > *::before {
      content: "";
      margin-right: var(--icon_gap);
    }
    .btn_sp[class*=icon_].inline.right > *::after {
      content: "";
      margin-left: var(--icon_gap);
    }
    .btn_sp[class*=icon_]:where(:not(.inline)):not(.right):where(.btn_small, .btn_ss) > * {
      padding-left: calc(10px + var(--icon_size) + var(--icon_gap));
    }
    .btn_sp[class*=icon_]:where(:not(.inline)).right:where(.btn_small, .btn_ss) > * {
      padding-right: calc(10px + var(--icon_size) + var(--icon_gap));
    }
  }
  .btn_icon {
    --btn_width: 40px;
    --icon_size: 50%;
    --icon_color: var(--v_btn_color_icon);
    display: block;
    width: var(--btn_width);
    text-decoration: none;
    cursor: pointer;
    transition: none;
    --btn_primary_color_bg_hover: rgba(var(--btn_color_base) 255 255 255);
    --btn_primary_color_txt_hover: var(--btn_color_base);
  }
  .btn_icon > * {
    position: relative;
    display: block;
    padding: var(--btn_pd_block) var(--btn_pd_inline);
    border: 1px solid var(--v_btn_color_border);
    border-radius: var(--btn_radius);
    background-color: var(--v_btn_color_bg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .btn_icon > * {
      box-shadow: none;
    }
  }
  .btn_icon > *::before, .btn_icon > *::after {
    background-color: var(--icon_color);
    transition: var(--btn_transition);
  }
  .btn_icon > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: var(--btn_transition);
  }
  .btn_icon > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: fill var(--btn_transition);
  }
  .btn_icon:active > * {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  }
  .btn_icon:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
    --v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
  }
  .btn_icon:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .btn_icon:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_color_bg_hover, #fff);
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
  }
  .btn_icon:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
  }
  .btn_icon > * {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: var(--btn_width);
    aspect-ratio: 1/1;
    font-size: 0;
    letter-spacing: 0;
  }
  .btn_icon > *::before {
    content: "";
    display: block;
    width: var(--icon_size);
    height: auto;
    aspect-ratio: 1/1;
  }
  .btn_icon.btn_small {
    --btn_width: 30px;
  }
  .btn_icon.btn_ss {
    --btn_width: 20px;
  }
  .btn_img {
    --btn_width: 40px;
    --icon_size: 50%;
    --icon_color: var(--v_btn_color_icon);
    display: block;
    width: var(--btn_width);
    text-decoration: none;
    cursor: pointer;
    transition: none;
    --btn_primary_color_bg_hover: rgba(var(--btn_color_base) 255 255 255);
    --btn_primary_color_txt_hover: var(--btn_color_base);
  }
  .btn_img > * {
    position: relative;
    display: block;
    padding: var(--btn_pd_block) var(--btn_pd_inline);
    border: 1px solid var(--v_btn_color_border);
    border-radius: var(--btn_radius);
    background-color: var(--v_btn_color_bg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .btn_img > * {
      box-shadow: none;
    }
  }
  .btn_img > *::before, .btn_img > *::after {
    background-color: var(--icon_color);
    transition: var(--btn_transition);
  }
  .btn_img > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: var(--btn_transition);
  }
  .btn_img > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    transition: fill var(--btn_transition);
  }
  .btn_img:active > * {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  }
  .btn_img:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
    --v_btn_color_icon: var(--btn_color_icon, var(--btn_color_txt, #fff));
  }
  .btn_img:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_primary_color_bg_hover, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_icon_hover, var(--btn_primary_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .btn_img:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_color_bg_hover, #fff);
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
  }
  .btn_img:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_color_txt, #fff);
  }
  .btn_img > * {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: var(--btn_width);
    aspect-ratio: 1/1;
    font-size: 0;
    letter-spacing: 0;
  }
  .btn_img > * img,
  .btn_img > * svg {
    display: block;
    width: var(--icon_size);
    height: auto;
    aspect-ratio: 1/1;
  }
  .btn_img.btn_small {
    --btn_width: 30px;
  }
  .btn_img.btn_ss {
    --btn_width: 20px;
  }
  /* btn_group_sp */
  @media screen and (max-width: 599px) {
    .btn_group_sp {
      display: flex;
      flex-direction: column;
      row-gap: 1px;
      border: 1px solid var(--btn_color_border);
      border-radius: var(--radius_base);
      overflow: hidden;
    }
    .btn_group_sp .btn > *,
    .btn_group_sp .btn_sp > * {
      border: none;
      border-radius: 0;
    }
  }
  @media print, screen and (min-width: 600px) {
    .btn_group_sp {
      --icon_image: url(../images/lib/icon/angle_right.svg);
    }
    .btn_group_sp a:not(.btn) > * {
      position: relative;
      display: block;
      padding-left: calc(var(--icon_size) + var(--icon_gap));
    }
    .btn_group_sp a:not(.btn) > *::before {
      content: "";
      position: absolute;
      left: 0;
      width: var(--icon_size);
      aspect-ratio: 1/1;
      background: var(--icon_color);
      font-size: inherit;
      -webkit-mask: var(--icon_image) no-repeat center/contain;
      mask: var(--icon_image) no-repeat center/contain;
    }
  }
}
@layer lib {
  :is(.image_texts),
  :is(.texts_image) {
    display: grid;
    grid-auto-rows: min-content;
    gap: 0 var(--image_texts_gap);
  }
  :is(.image_texts) > *[class^=heading]:not(.heading_item),
  :is(.texts_image) > *[class^=heading]:not(.heading_item) {
    grid-row: 1;
    grid-column: 1/-1;
  }
  :is(.image_texts) > *,
  :is(.texts_image) > * {
    --cont_margin: 0;
    min-width: 0;
  }
  :is(.image_texts) > .heading_item,
  :is(.texts_image) > .heading_item {
    grid-row: auto;
  }
  :is(.image_texts) > .image_item,
  :is(.texts_image) > .image_item {
    grid-row: 1/-1;
    margin-bottom: 0;
  }
  :is(.image_texts) > .align_center,
  :is(.texts_image) > .align_center {
    align-self: center;
  }
  :has(> *[class^=heading]:not(.heading_item)):is(.image_texts) > .image_item,
  :has(> *[class^=heading]:not(.heading_item)):is(.texts_image) > .image_item {
    grid-row-start: 2;
  }
  .align_center:has(> :nth-child(2):last-child):is(.image_texts),
  .align_center:has(> :nth-child(2):last-child):is(.texts_image) {
    align-items: center;
  }
  :has(> :nth-child(3):last-child):is(.image_texts),
  :has(> :nth-child(3):last-child):is(.texts_image) {
    grid-template-rows: repeat(1, min-content) 1fr;
  }
  .align_center:has(> :nth-child(3):last-child):is(.image_texts),
  .align_center:has(> :nth-child(3):last-child):is(.texts_image) {
    grid-template-rows: repeat(2, min-content);
  }
  .align_center:has(> :nth-child(3):last-child):is(.image_texts) > .heading_item,
  .align_center:has(> :nth-child(3):last-child):is(.texts_image) > .heading_item {
    margin-top: auto;
  }
  :has(> :nth-child(4):last-child):is(.image_texts),
  :has(> :nth-child(4):last-child):is(.texts_image) {
    grid-template-rows: repeat(2, min-content) 1fr;
  }
  .align_center:has(> :nth-child(4):last-child):is(.image_texts),
  .align_center:has(> :nth-child(4):last-child):is(.texts_image) {
    grid-template-rows: repeat(3, min-content);
  }
  .align_center:has(> :nth-child(4):last-child):is(.image_texts) > .heading_item,
  .align_center:has(> :nth-child(4):last-child):is(.texts_image) > .heading_item {
    margin-top: auto;
  }
  :has(> :nth-child(5):last-child):is(.image_texts),
  :has(> :nth-child(5):last-child):is(.texts_image) {
    grid-template-rows: repeat(3, min-content) 1fr;
  }
  .align_center:has(> :nth-child(5):last-child):is(.image_texts),
  .align_center:has(> :nth-child(5):last-child):is(.texts_image) {
    grid-template-rows: repeat(4, min-content);
  }
  .align_center:has(> :nth-child(5):last-child):is(.image_texts) > .heading_item,
  .align_center:has(> :nth-child(5):last-child):is(.texts_image) > .heading_item {
    margin-top: auto;
  }
  :has(> :nth-child(6):last-child):is(.image_texts),
  :has(> :nth-child(6):last-child):is(.texts_image) {
    grid-template-rows: repeat(4, min-content) 1fr;
  }
  .align_center:has(> :nth-child(6):last-child):is(.image_texts),
  .align_center:has(> :nth-child(6):last-child):is(.texts_image) {
    grid-template-rows: repeat(5, min-content);
  }
  .align_center:has(> :nth-child(6):last-child):is(.image_texts) > .heading_item,
  .align_center:has(> :nth-child(6):last-child):is(.texts_image) > .heading_item {
    margin-top: auto;
  }
  :has(> :nth-child(7):last-child):is(.image_texts),
  :has(> :nth-child(7):last-child):is(.texts_image) {
    grid-template-rows: repeat(5, min-content) 1fr;
  }
  .align_center:has(> :nth-child(7):last-child):is(.image_texts),
  .align_center:has(> :nth-child(7):last-child):is(.texts_image) {
    grid-template-rows: repeat(6, min-content);
  }
  .align_center:has(> :nth-child(7):last-child):is(.image_texts) > .heading_item,
  .align_center:has(> :nth-child(7):last-child):is(.texts_image) > .heading_item {
    margin-top: auto;
  }
  :has(> :nth-child(8):last-child):is(.image_texts),
  :has(> :nth-child(8):last-child):is(.texts_image) {
    grid-template-rows: repeat(6, min-content) 1fr;
  }
  .align_center:has(> :nth-child(8):last-child):is(.image_texts),
  .align_center:has(> :nth-child(8):last-child):is(.texts_image) {
    grid-template-rows: repeat(7, min-content);
  }
  .align_center:has(> :nth-child(8):last-child):is(.image_texts) > .heading_item,
  .align_center:has(> :nth-child(8):last-child):is(.texts_image) > .heading_item {
    margin-top: auto;
  }
  :is(.image_texts) {
    grid-template-columns: var(--image_texts_imagesize) 1fr;
  }
  :is(.image_texts) > .image_item {
    grid-column: 1;
  }
  :is(.image_texts) > * {
    grid-column: 2;
  }
  :is(.texts_image) {
    grid-template-columns: 1fr var(--image_texts_imagesize);
  }
  :is(.texts_image) > .image_item {
    grid-column: 2;
  }
  :is(.texts_image) > * {
    grid-column: 1;
  }
  :is(.left_right) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 var(--left_right_gap);
  }
  :is(.left_right) > [class^=heading],
  :is(.left_right) > .clm_full {
    grid-column: 1/-1;
  }
  :is(.left_right) > .left_item,
  :is(.left_right) > .right_item {
    margin-bottom: 0;
  }
  :is(.left_right) > .left_item {
    grid-column: 1;
  }
  :is(.left_right) > .right_item {
    grid-column: 2;
  }
  :is(.float_left),
  :is(.float_right) {
    overflow: hidden;
  }
  :is(.float_left) > .image_item,
  :is(.float_right) > .image_item {
    width: var(--float_imagesize);
  }
  :is(.float_left) > .image_item {
    float: left;
    margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
  }
  :is(.float_right) > .image_item {
    float: right;
    margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
  }
  :is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) {
    display: grid;
    gap: var(--clm_gap);
  }
  :is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) > [class^=heading]:first-child,
  :is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) > .clm_full {
    grid-column: 1/-1;
    margin-bottom: 0;
  }
  :is(.clm2, .clm3, .clm4, .clm5, .clm2, .clm3, .clm4, .clm5) > .clm_item {
    margin-bottom: 0;
  }
  .clm2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .clm3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .clm4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .clm5 {
    grid-template-columns: repeat(5, 1fr);
  }
  :is(.snap) {
    container-type: inline-size;
    display: flex;
    flex-flow: row nowrap;
    gap: var(--snap_gap);
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
  }
  :is(.snap) > .clm_item {
    flex-shrink: 0;
    margin-bottom: 0;
    width: var(--snap_item_width);
    scroll-snap-align: center;
  }
  :is(.snap) > .clm_item:first-child {
    margin-left: calc((100% - var(--snap_item_width)) / 2);
  }
  :is(.snap) > .clm_item:last-child {
    margin-right: calc((100% - var(--snap_item_width)) / 2);
  }
  @media screen and (max-width: 599px) {
    :is(.image_texts_sp, .image_texts_sp_tb),
    :is(.texts_image_sp, .texts_image_sp_tb) {
      display: grid;
      grid-auto-rows: min-content;
      gap: 0 var(--image_texts_gap);
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > *[class^=heading]:not(.heading_item),
    :is(.texts_image_sp, .texts_image_sp_tb) > *[class^=heading]:not(.heading_item) {
      grid-row: 1;
      grid-column: 1/-1;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > *,
    :is(.texts_image_sp, .texts_image_sp_tb) > * {
      --cont_margin: 0;
      min-width: 0;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
    :is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
      grid-row: auto;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > .image_item,
    :is(.texts_image_sp, .texts_image_sp_tb) > .image_item {
      grid-row: 1/-1;
      margin-bottom: 0;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > .align_center,
    :is(.texts_image_sp, .texts_image_sp_tb) > .align_center {
      align-self: center;
    }
    :has(> *[class^=heading]:not(.heading_item)):is(.image_texts_sp, .image_texts_sp_tb) > .image_item,
    :has(> *[class^=heading]:not(.heading_item)):is(.texts_image_sp, .texts_image_sp_tb) > .image_item {
      grid-row-start: 2;
    }
    .align_center:has(> :nth-child(2):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    .align_center:has(> :nth-child(2):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      align-items: center;
    }
    :has(> :nth-child(3):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    :has(> :nth-child(3):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(1, min-content) 1fr;
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(2, min-content);
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(4):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    :has(> :nth-child(4):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(2, min-content) 1fr;
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(3, min-content);
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(5):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    :has(> :nth-child(5):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(3, min-content) 1fr;
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(4, min-content);
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(6):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    :has(> :nth-child(6):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(4, min-content) 1fr;
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(5, min-content);
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(7):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    :has(> :nth-child(7):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(5, min-content) 1fr;
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(6, min-content);
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(8):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    :has(> :nth-child(8):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(6, min-content) 1fr;
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_sp, .image_texts_sp_tb),
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-rows: repeat(7, min-content);
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_sp, .image_texts_sp_tb) > .heading_item,
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_sp, .texts_image_sp_tb) > .heading_item {
      margin-top: auto;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) {
      grid-template-columns: var(--image_texts_imagesize) 1fr;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > .image_item {
      grid-column: 1;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > * {
      grid-column: 2;
    }
    :is(.texts_image_sp, .texts_image_sp_tb) {
      grid-template-columns: 1fr var(--image_texts_imagesize);
    }
    :is(.texts_image_sp, .texts_image_sp_tb) > .image_item {
      grid-column: 2;
    }
    :is(.texts_image_sp, .texts_image_sp_tb) > * {
      grid-column: 1;
    }
    :is(.left_right_sp, .left_right_sp_tb) {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 var(--left_right_gap);
    }
    :is(.left_right_sp, .left_right_sp_tb) > [class^=heading],
    :is(.left_right_sp, .left_right_sp_tb) > .clm_full {
      grid-column: 1/-1;
    }
    :is(.left_right_sp, .left_right_sp_tb) > .left_item,
    :is(.left_right_sp, .left_right_sp_tb) > .right_item {
      margin-bottom: 0;
    }
    :is(.left_right_sp, .left_right_sp_tb) > .left_item {
      grid-column: 1;
    }
    :is(.left_right_sp, .left_right_sp_tb) > .right_item {
      grid-column: 2;
    }
    :is(.float_left_sp, .float_left_sp_tb),
    :is(.float_right_sp, .float_right_sp_tb) {
      overflow: hidden;
    }
    :is(.float_left_sp, .float_left_sp_tb) > .image_item,
    :is(.float_right_sp, .float_right_sp_tb) > .image_item {
      width: var(--float_imagesize);
    }
    :is(.float_left_sp, .float_left_sp_tb) > .image_item {
      float: left;
      margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
    }
    :is(.float_right_sp, .float_right_sp_tb) > .image_item {
      float: right;
      margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb) {
      display: grid;
      gap: var(--clm_gap);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb) > [class^=heading]:first-child,
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb) > .clm_full {
      grid-column: 1/-1;
      margin-bottom: 0;
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp, .clm3_sp, .clm4_sp, .clm5_sp, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_sp_sp_tb, .clm3_sp_sp_tb, .clm4_sp_sp_tb, .clm5_sp_sp_tb) > .clm_item {
      margin-bottom: 0;
    }
    .clm2_sp_tb, .clm2_sp, .clm2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .clm3_sp_tb, .clm3_sp, .clm3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .clm4_sp_tb, .clm4_sp, .clm4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .clm5_sp_tb, .clm5_sp, .clm5 {
      grid-template-columns: repeat(5, 1fr);
    }
    :is(.snap_sp, .snap_sp_tb) {
      container-type: inline-size;
      display: flex;
      flex-flow: row nowrap;
      gap: var(--snap_gap);
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
    }
    :is(.snap_sp, .snap_sp_tb) > .clm_item {
      flex-shrink: 0;
      margin-bottom: 0;
      width: var(--snap_item_width);
      scroll-snap-align: center;
    }
    :is(.snap_sp, .snap_sp_tb) > .clm_item:first-child {
      margin-left: calc((100% - var(--snap_item_width)) / 2);
    }
    :is(.snap_sp, .snap_sp_tb) > .clm_item:last-child {
      margin-right: calc((100% - var(--snap_item_width)) / 2);
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      display: grid;
      grid-auto-rows: min-content;
      gap: 0 var(--image_texts_gap);
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > *[class^=heading]:not(.heading_item),
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > *[class^=heading]:not(.heading_item) {
      grid-row: 1;
      grid-column: 1/-1;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > *,
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > * {
      --cont_margin: 0;
      min-width: 0;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
      grid-row: auto;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .image_item,
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .image_item {
      grid-row: 1/-1;
      margin-bottom: 0;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .align_center,
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .align_center {
      align-self: center;
    }
    :has(> *[class^=heading]:not(.heading_item)):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .image_item,
    :has(> *[class^=heading]:not(.heading_item)):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .image_item {
      grid-row-start: 2;
    }
    .align_center:has(> :nth-child(2):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    .align_center:has(> :nth-child(2):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      align-items: center;
    }
    :has(> :nth-child(3):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    :has(> :nth-child(3):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(1, min-content) 1fr;
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(2, min-content);
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(4):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    :has(> :nth-child(4):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(2, min-content) 1fr;
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(3, min-content);
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(5):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    :has(> :nth-child(5):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(3, min-content) 1fr;
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(4, min-content);
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(6):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    :has(> :nth-child(6):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(4, min-content) 1fr;
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(5, min-content);
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(7):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    :has(> :nth-child(7):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(5, min-content) 1fr;
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(6, min-content);
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(8):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    :has(> :nth-child(8):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(6, min-content) 1fr;
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc),
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-rows: repeat(7, min-content);
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .heading_item,
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .heading_item {
      margin-top: auto;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) {
      grid-template-columns: var(--image_texts_imagesize) 1fr;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > .image_item {
      grid-column: 1;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > * {
      grid-column: 2;
    }
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) {
      grid-template-columns: 1fr var(--image_texts_imagesize);
    }
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > .image_item {
      grid-column: 2;
    }
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > * {
      grid-column: 1;
    }
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 var(--left_right_gap);
    }
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > [class^=heading],
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .clm_full {
      grid-column: 1/-1;
    }
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .left_item,
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .right_item {
      margin-bottom: 0;
    }
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .left_item {
      grid-column: 1;
    }
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > .right_item {
      grid-column: 2;
    }
    :is(.float_left_sp_tb, .float_left_tb, .float_left_tb_pc),
    :is(.float_right_sp_tb, .float_right_tb, .float_right_tb_pc) {
      overflow: hidden;
    }
    :is(.float_left_sp_tb, .float_left_tb, .float_left_tb_pc) > .image_item,
    :is(.float_right_sp_tb, .float_right_tb, .float_right_tb_pc) > .image_item {
      width: var(--float_imagesize);
    }
    :is(.float_left_sp_tb, .float_left_tb, .float_left_tb_pc) > .image_item {
      float: left;
      margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
    }
    :is(.float_right_sp_tb, .float_right_tb, .float_right_tb_pc) > .image_item {
      float: right;
      margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_tb, .clm3_tb, .clm4_tb, .clm5_tb, .clm2_sp_tb_tb, .clm3_sp_tb_tb, .clm4_sp_tb_tb, .clm5_sp_tb_tb, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_sp_tb_tb_pc, .clm3_sp_tb_tb_pc, .clm4_sp_tb_tb_pc, .clm5_sp_tb_tb_pc, .clm2_tb_tb_pc, .clm3_tb_tb_pc, .clm4_tb_tb_pc, .clm5_tb_tb_pc, .clm2_sp_tb_tb_tb_pc, .clm3_sp_tb_tb_tb_pc, .clm4_sp_tb_tb_tb_pc, .clm5_sp_tb_tb_tb_pc) {
      display: grid;
      gap: var(--clm_gap);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_tb, .clm3_tb, .clm4_tb, .clm5_tb, .clm2_sp_tb_tb, .clm3_sp_tb_tb, .clm4_sp_tb_tb, .clm5_sp_tb_tb, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_sp_tb_tb_pc, .clm3_sp_tb_tb_pc, .clm4_sp_tb_tb_pc, .clm5_sp_tb_tb_pc, .clm2_tb_tb_pc, .clm3_tb_tb_pc, .clm4_tb_tb_pc, .clm5_tb_tb_pc, .clm2_sp_tb_tb_tb_pc, .clm3_sp_tb_tb_tb_pc, .clm4_sp_tb_tb_tb_pc, .clm5_sp_tb_tb_tb_pc) > [class^=heading]:first-child,
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_tb, .clm3_tb, .clm4_tb, .clm5_tb, .clm2_sp_tb_tb, .clm3_sp_tb_tb, .clm4_sp_tb_tb, .clm5_sp_tb_tb, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_sp_tb_tb_pc, .clm3_sp_tb_tb_pc, .clm4_sp_tb_tb_pc, .clm5_sp_tb_tb_pc, .clm2_tb_tb_pc, .clm3_tb_tb_pc, .clm4_tb_tb_pc, .clm5_tb_tb_pc, .clm2_sp_tb_tb_tb_pc, .clm3_sp_tb_tb_tb_pc, .clm4_sp_tb_tb_tb_pc, .clm5_sp_tb_tb_tb_pc) > .clm_full {
      grid-column: 1/-1;
      margin-bottom: 0;
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_sp_tb, .clm3_sp_tb, .clm4_sp_tb, .clm5_sp_tb, .clm2_tb, .clm3_tb, .clm4_tb, .clm5_tb, .clm2_sp_tb_tb, .clm3_sp_tb_tb, .clm4_sp_tb_tb, .clm5_sp_tb_tb, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_sp_tb_tb_pc, .clm3_sp_tb_tb_pc, .clm4_sp_tb_tb_pc, .clm5_sp_tb_tb_pc, .clm2_tb_tb_pc, .clm3_tb_tb_pc, .clm4_tb_tb_pc, .clm5_tb_tb_pc, .clm2_sp_tb_tb_tb_pc, .clm3_sp_tb_tb_tb_pc, .clm4_sp_tb_tb_tb_pc, .clm5_sp_tb_tb_tb_pc) > .clm_item {
      margin-bottom: 0;
    }
    .clm2_tb_pc, .clm2_tb, .clm2_sp_tb, .clm2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .clm3_tb_pc, .clm3_tb, .clm3_sp_tb, .clm3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .clm4_tb_pc, .clm4_tb, .clm4_sp_tb, .clm4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .clm5_tb_pc, .clm5_tb, .clm5_sp_tb, .clm5 {
      grid-template-columns: repeat(5, 1fr);
    }
    :is(.snap_sp_tb, .snap_tb, .snap_tb_pc) {
      container-type: inline-size;
      display: flex;
      flex-flow: row nowrap;
      gap: var(--snap_gap);
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
    }
    :is(.snap_sp_tb, .snap_tb, .snap_tb_pc) > .clm_item {
      flex-shrink: 0;
      margin-bottom: 0;
      width: var(--snap_item_width);
      scroll-snap-align: center;
    }
    :is(.snap_sp_tb, .snap_tb, .snap_tb_pc) > .clm_item:first-child {
      margin-left: calc((100% - var(--snap_item_width)) / 2);
    }
    :is(.snap_sp_tb, .snap_tb, .snap_tb_pc) > .clm_item:last-child {
      margin-right: calc((100% - var(--snap_item_width)) / 2);
    }
  }
  @media print, screen and (min-width: 960px) {
    :is(.image_texts_tb_pc, .image_texts_pc),
    :is(.texts_image_tb_pc, .texts_image_pc) {
      display: grid;
      grid-auto-rows: min-content;
      gap: 0 var(--image_texts_gap);
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > *[class^=heading]:not(.heading_item),
    :is(.texts_image_tb_pc, .texts_image_pc) > *[class^=heading]:not(.heading_item) {
      grid-row: 1;
      grid-column: 1/-1;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > *,
    :is(.texts_image_tb_pc, .texts_image_pc) > * {
      --cont_margin: 0;
      min-width: 0;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
    :is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
      grid-row: auto;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > .image_item,
    :is(.texts_image_tb_pc, .texts_image_pc) > .image_item {
      grid-row: 1/-1;
      margin-bottom: 0;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > .align_center,
    :is(.texts_image_tb_pc, .texts_image_pc) > .align_center {
      align-self: center;
    }
    :has(> *[class^=heading]:not(.heading_item)):is(.image_texts_tb_pc, .image_texts_pc) > .image_item,
    :has(> *[class^=heading]:not(.heading_item)):is(.texts_image_tb_pc, .texts_image_pc) > .image_item {
      grid-row-start: 2;
    }
    .align_center:has(> :nth-child(2):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    .align_center:has(> :nth-child(2):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      align-items: center;
    }
    :has(> :nth-child(3):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    :has(> :nth-child(3):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(1, min-content) 1fr;
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(2, min-content);
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(4):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    :has(> :nth-child(4):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(2, min-content) 1fr;
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(3, min-content);
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(5):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    :has(> :nth-child(5):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(3, min-content) 1fr;
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(4, min-content);
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(6):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    :has(> :nth-child(6):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(4, min-content) 1fr;
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(5, min-content);
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(7):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    :has(> :nth-child(7):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(5, min-content) 1fr;
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(6, min-content);
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(8):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    :has(> :nth-child(8):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(6, min-content) 1fr;
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_tb_pc, .image_texts_pc),
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-rows: repeat(7, min-content);
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_tb_pc, .image_texts_pc) > .heading_item,
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_tb_pc, .texts_image_pc) > .heading_item {
      margin-top: auto;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) {
      grid-template-columns: var(--image_texts_imagesize) 1fr;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > .image_item {
      grid-column: 1;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > * {
      grid-column: 2;
    }
    :is(.texts_image_tb_pc, .texts_image_pc) {
      grid-template-columns: 1fr var(--image_texts_imagesize);
    }
    :is(.texts_image_tb_pc, .texts_image_pc) > .image_item {
      grid-column: 2;
    }
    :is(.texts_image_tb_pc, .texts_image_pc) > * {
      grid-column: 1;
    }
    :is(.left_right_tb_pc, .left_right_pc) {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 var(--left_right_gap);
    }
    :is(.left_right_tb_pc, .left_right_pc) > [class^=heading],
    :is(.left_right_tb_pc, .left_right_pc) > .clm_full {
      grid-column: 1/-1;
    }
    :is(.left_right_tb_pc, .left_right_pc) > .left_item,
    :is(.left_right_tb_pc, .left_right_pc) > .right_item {
      margin-bottom: 0;
    }
    :is(.left_right_tb_pc, .left_right_pc) > .left_item {
      grid-column: 1;
    }
    :is(.left_right_tb_pc, .left_right_pc) > .right_item {
      grid-column: 2;
    }
    :is(.float_left_tb_pc, .float_left_pc),
    :is(.float_right_tb_pc, .float_right_pc) {
      overflow: hidden;
    }
    :is(.float_left_tb_pc, .float_left_pc) > .image_item,
    :is(.float_right_tb_pc, .float_right_pc) > .image_item {
      width: var(--float_imagesize);
    }
    :is(.float_left_tb_pc, .float_left_pc) > .image_item {
      float: left;
      margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
    }
    :is(.float_right_tb_pc, .float_right_pc) > .image_item {
      float: right;
      margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc) {
      display: grid;
      gap: var(--clm_gap);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc) > [class^=heading]:first-child,
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc) > .clm_full {
      grid-column: 1/-1;
      margin-bottom: 0;
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_tb_pc, .clm3_tb_pc, .clm4_tb_pc, .clm5_tb_pc, .clm2_pc, .clm3_pc, .clm4_pc, .clm5_pc, .clm2_tb_pc_pc, .clm3_tb_pc_pc, .clm4_tb_pc_pc, .clm5_tb_pc_pc) > .clm_item {
      margin-bottom: 0;
    }
    .clm2_pc, .clm2_tb_pc, .clm2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .clm3_pc, .clm3_tb_pc, .clm3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .clm4_pc, .clm4_tb_pc, .clm4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .clm5_pc, .clm5_tb_pc, .clm5 {
      grid-template-columns: repeat(5, 1fr);
    }
    :is(.snap_tb_pc, .snap_pc) {
      container-type: inline-size;
      display: flex;
      flex-flow: row nowrap;
      gap: var(--snap_gap);
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
    }
    :is(.snap_tb_pc, .snap_pc) > .clm_item {
      flex-shrink: 0;
      margin-bottom: 0;
      width: var(--snap_item_width);
      scroll-snap-align: center;
    }
    :is(.snap_tb_pc, .snap_pc) > .clm_item:first-child {
      margin-left: calc((100% - var(--snap_item_width)) / 2);
    }
    :is(.snap_tb_pc, .snap_pc) > .clm_item:last-child {
      margin-right: calc((100% - var(--snap_item_width)) / 2);
    }
  }
  @media screen and (min-width: 1200px) {
    :is(.image_texts_lg),
    :is(.texts_image_lg) {
      display: grid;
      grid-auto-rows: min-content;
      gap: 0 var(--image_texts_gap);
    }
    :is(.image_texts_lg) > *[class^=heading]:not(.heading_item),
    :is(.texts_image_lg) > *[class^=heading]:not(.heading_item) {
      grid-row: 1;
      grid-column: 1/-1;
    }
    :is(.image_texts_lg) > *,
    :is(.texts_image_lg) > * {
      --cont_margin: 0;
      min-width: 0;
    }
    :is(.image_texts_lg) > .heading_item,
    :is(.texts_image_lg) > .heading_item {
      grid-row: auto;
    }
    :is(.image_texts_lg) > .image_item,
    :is(.texts_image_lg) > .image_item {
      grid-row: 1/-1;
      margin-bottom: 0;
    }
    :is(.image_texts_lg) > .align_center,
    :is(.texts_image_lg) > .align_center {
      align-self: center;
    }
    :has(> *[class^=heading]:not(.heading_item)):is(.image_texts_lg) > .image_item,
    :has(> *[class^=heading]:not(.heading_item)):is(.texts_image_lg) > .image_item {
      grid-row-start: 2;
    }
    .align_center:has(> :nth-child(2):last-child):is(.image_texts_lg),
    .align_center:has(> :nth-child(2):last-child):is(.texts_image_lg) {
      align-items: center;
    }
    :has(> :nth-child(3):last-child):is(.image_texts_lg),
    :has(> :nth-child(3):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(1, min-content) 1fr;
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_lg),
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(2, min-content);
    }
    .align_center:has(> :nth-child(3):last-child):is(.image_texts_lg) > .heading_item,
    .align_center:has(> :nth-child(3):last-child):is(.texts_image_lg) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(4):last-child):is(.image_texts_lg),
    :has(> :nth-child(4):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(2, min-content) 1fr;
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_lg),
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(3, min-content);
    }
    .align_center:has(> :nth-child(4):last-child):is(.image_texts_lg) > .heading_item,
    .align_center:has(> :nth-child(4):last-child):is(.texts_image_lg) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(5):last-child):is(.image_texts_lg),
    :has(> :nth-child(5):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(3, min-content) 1fr;
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_lg),
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(4, min-content);
    }
    .align_center:has(> :nth-child(5):last-child):is(.image_texts_lg) > .heading_item,
    .align_center:has(> :nth-child(5):last-child):is(.texts_image_lg) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(6):last-child):is(.image_texts_lg),
    :has(> :nth-child(6):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(4, min-content) 1fr;
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_lg),
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(5, min-content);
    }
    .align_center:has(> :nth-child(6):last-child):is(.image_texts_lg) > .heading_item,
    .align_center:has(> :nth-child(6):last-child):is(.texts_image_lg) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(7):last-child):is(.image_texts_lg),
    :has(> :nth-child(7):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(5, min-content) 1fr;
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_lg),
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(6, min-content);
    }
    .align_center:has(> :nth-child(7):last-child):is(.image_texts_lg) > .heading_item,
    .align_center:has(> :nth-child(7):last-child):is(.texts_image_lg) > .heading_item {
      margin-top: auto;
    }
    :has(> :nth-child(8):last-child):is(.image_texts_lg),
    :has(> :nth-child(8):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(6, min-content) 1fr;
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_lg),
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_lg) {
      grid-template-rows: repeat(7, min-content);
    }
    .align_center:has(> :nth-child(8):last-child):is(.image_texts_lg) > .heading_item,
    .align_center:has(> :nth-child(8):last-child):is(.texts_image_lg) > .heading_item {
      margin-top: auto;
    }
    :is(.image_texts_lg) {
      grid-template-columns: var(--image_texts_imagesize) 1fr;
    }
    :is(.image_texts_lg) > .image_item {
      grid-column: 1;
    }
    :is(.image_texts_lg) > * {
      grid-column: 2;
    }
    :is(.texts_image_lg) {
      grid-template-columns: 1fr var(--image_texts_imagesize);
    }
    :is(.texts_image_lg) > .image_item {
      grid-column: 2;
    }
    :is(.texts_image_lg) > * {
      grid-column: 1;
    }
    :is(.left_right_lg) {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 var(--left_right_gap);
    }
    :is(.left_right_lg) > [class^=heading],
    :is(.left_right_lg) > .clm_full {
      grid-column: 1/-1;
    }
    :is(.left_right_lg) > .left_item,
    :is(.left_right_lg) > .right_item {
      margin-bottom: 0;
    }
    :is(.left_right_lg) > .left_item {
      grid-column: 1;
    }
    :is(.left_right_lg) > .right_item {
      grid-column: 2;
    }
    :is(.float_left_lg),
    :is(.float_right_lg) {
      overflow: hidden;
    }
    :is(.float_left_lg) > .image_item,
    :is(.float_right_lg) > .image_item {
      width: var(--float_imagesize);
    }
    :is(.float_left_lg) > .image_item {
      float: left;
      margin: 0 var(--float_gap, 10px) var(--float_gap, 10px) 0;
    }
    :is(.float_right_lg) > .image_item {
      float: right;
      margin: 0 0 var(--float_gap, 10px) var(--float_gap, 10px);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) {
      display: grid;
      gap: var(--clm_gap);
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) > [class^=heading]:first-child,
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) > .clm_full {
      grid-column: 1/-1;
      margin-bottom: 0;
    }
    :is(.clm2, .clm3, .clm4, .clm5, .clm2_lg, .clm3_lg, .clm4_lg, .clm5_lg) > .clm_item {
      margin-bottom: 0;
    }
    .clm2_lg, .clm2 {
      grid-template-columns: repeat(2, 1fr);
    }
    .clm3_lg, .clm3 {
      grid-template-columns: repeat(3, 1fr);
    }
    .clm4_lg, .clm4 {
      grid-template-columns: repeat(4, 1fr);
    }
    .clm5_lg, .clm5 {
      grid-template-columns: repeat(5, 1fr);
    }
    :is(.snap_lg) {
      container-type: inline-size;
      display: flex;
      flex-flow: row nowrap;
      gap: var(--snap_gap);
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
    }
    :is(.snap_lg) > .clm_item {
      flex-shrink: 0;
      margin-bottom: 0;
      width: var(--snap_item_width);
      scroll-snap-align: center;
    }
    :is(.snap_lg) > .clm_item:first-child {
      margin-left: calc((100% - var(--snap_item_width)) / 2);
    }
    :is(.snap_lg) > .clm_item:last-child {
      margin-right: calc((100% - var(--snap_item_width)) / 2);
    }
  }
  .nav_dots {
    --icon_image: url(../images/lib/icon/angle_right.svg);
    --icon_size: 40px;
    grid-column: 1/-1;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding-block: 8px;
  }
  .nav_dots > span {
    display: block;
    border-radius: 50%;
    width: 8px;
    aspect-ratio: 1/1;
    background-color: #ccc;
    transition: background-color 0.5s;
  }
  .nav_dots > span.current {
    background-color: var(--color_theme_base);
  }
  .nav_btn {
    position: relative;
    z-index: 2;
    grid-row: 1;
    opacity: 1;
    cursor: pointer;
    transition: 0.3s;
  }
  .nav_btn::before {
    content: "";
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  .nav_btn > * {
    display: none;
  }
  .nav_btn.disabled {
    opacity: 0.1;
    pointer-events: none;
  }
  .nav_btn.prev {
    grid-column: 1;
    scale: -1 1;
  }
  .nav_btn.next {
    grid-column: -2;
  }
  .gallery_wrap .gallery_target {
    position: relative;
    display: grid;
    grid-template-columns: min-content 1fr min-content;
    align-items: center;
  }
  .gallery_wrap .gallery_target .pic,
  .gallery_wrap .gallery_target .object_fit {
    z-index: 1;
    grid-row: 1;
    grid-column: 1/-1;
  }
  .gallery_wrap .gallery_target .nav_btn.prev,
  .gallery_wrap .gallery_target .nav_btn.next {
    position: relative;
    z-index: 2;
    grid-row: 1;
  }
  .gallery_wrap .gallery_handles > * {
    cursor: pointer;
    transition: 0.5s;
  }
  .snap_wrap {
    position: relative;
    display: grid;
    grid-template-columns: min-content 1fr min-content;
    align-items: center;
  }
  .snap_wrap > .snap_items {
    z-index: 1;
    grid-row: 1;
    grid-column: 1/-1;
  }
  .snap_wrap .nav_btn {
    position: relative;
    z-index: 2;
    grid-row: 1;
  }
  .snap_wrap .snap_gallery {
    --snap_item_width: 100%;
    --snap_gap: 0;
  }
  .snap_wrap .nav_dots {
    grid-column: 1/-1;
  }
  .snap_wrap .snap_handles {
    grid-column: 1/-1;
  }
  .snap_wrap .snap_handles > * {
    cursor: pointer;
    transition: 0.5s;
  }
  .snap_wrap .snap_handles > *.current {
    opacity: 0.5;
  }
  :is(.slider_wrap, .carousel_wrap, .loop_wrap) {
    position: relative;
    display: grid;
    grid-template-rows: min-content min-content;
    grid-template-columns: min-content 1fr min-content;
    align-items: center;
  }
  :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) {
    z-index: 1;
    grid-row: 1;
    grid-column: 1/4;
    overflow: hidden;
  }
  :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) {
    position: relative;
    left: 0;
    display: flex;
    width: 100%;
  }
  :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > :is(.slider_item, .carousel_item, .loop_item) {
    position: relative;
    flex-shrink: 0;
  }
  :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > :is(.slider_item, .carousel_item, .loop_item) .object_fit {
    margin-bottom: 0;
  }
  :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > :is(.slider_item, .carousel_item, .loop_item) :is(.slider_text, .carousel_text, .loop_text) {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 3rem;
    font-weight: bold;
    color: white;
  }
  @media screen and (max-width: 599px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .slider_item {
      width: 100%; /* ここをjsに転記 */
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .slider_item {
      width: 50%; /* ここをjsに転記 */
    }
  }
  @media print, screen and (min-width: 960px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .slider_item {
      width: 25%; /* ここをjsに転記 */
    }
  }
  @media screen and (max-width: 599px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .carousel_item {
      width: 80vw; /* ここをjsに転記 */
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .carousel_item {
      width: 40%; /* ここをjsに転記 */
    }
  }
  @media print, screen and (min-width: 960px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .carousel_item {
      width: 30%; /* ここをjsに転記 */
    }
  }
  @media screen and (max-width: 599px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .loop_item {
      width: 50%; /* ここをjsに転記 */
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .loop_item {
      width: 33.3%; /* ここをjsに転記 */
    }
  }
  @media print, screen and (min-width: 960px) {
    :is(.slider_wrap, .carousel_wrap, .loop_wrap) > :is(.slider_overflow_hidden, .carousel_overflow_hidden, .loop_overflow_hidden) > :is(.slider_items, .carousel_items, .loop_items) > .loop_item {
      width: 25%; /* ここをjsに転記 */
    }
  }
  .smooth_slide_wrap {
    display: flex;
    align-items: center;
    overflow: hidden;
  }
  .smooth_slide_wrap .smooth_slide_items {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    margin-bottom: 0 !important;
    animation: smooth_slide infinite var(--smooth_slide_duration, 30s) linear both;
  }
  @keyframes smooth_slide {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  .smooth_slide_wrap .smooth_slide_items .slide_item {
    margin-bottom: 0 !important;
    margin-left: var(--smooth_slide_gap, 10px);
    width: var(--smooth_slide_item_width);
  }
  .tab_wrap .tab_handle_set > * {
    cursor: pointer;
    transition: all 0.5s;
  }
  .tab_wrap .tab_handle_set > * > * {
    display: block;
    transition: all 0.5s;
  }
  .tab_wrap .tab_handle_set > *.current {
    pointer-events: none;
    cursor: default;
  }
  .tab_wrap .tab_handle_set.current_grow {
    display: flex;
  }
  .tab_wrap .tab_handle_set.current_grow > * {
    flex-basis: auto;
    flex-grow: 1;
    width: 70%;
    overflow: hidden;
    text-align: center;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
  }
  .tab_wrap .tab_handle_set.current_grow > * > * {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .tab_wrap .tab_handle_set.current_grow > *.current {
    width: 100%;
  }
  .tab_wrap .tab_target {
    margin-bottom: 0;
  }
  ul.ul_ttl {
    display: grid;
    gap: 0 1em;
  }
  ul.ul_ttl > li {
    display: grid;
    margin-bottom: 0;
  }
  ul.ul_ttl > li > .ttl, ul.ul_ttl > li::after {
    order: -1;
    display: block;
    min-width: 0;
    font-size: inherit;
    line-height: inherit;
  }
  ul.ul_ttl > li::after {
    content: attr(title);
  }
  ul.ul_ttl:where(:not(.ttl_dot)) > li {
    padding-left: 0;
  }
  ul.ul_ttl:where(:not(.ttl_dot)) > li::before {
    display: none;
  }
  ul.ul_ttl.ttl_color > li .ttl, ul.ul_ttl.ttl_color > li::after {
    color: var(--list_color_base);
  }
  ul.ul_ttl.ttl_bold > li .ttl, ul.ul_ttl.ttl_bold > li::after {
    font-weight: bold;
  }
  ul.ul_ttl.row {
    grid-template-columns: auto 1fr;
  }
  ul.ul_ttl.row > li {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: subgrid;
  }
  ul.ul_ttl.row > li > * {
    grid-column: 2;
    margin: 0;
  }
  ul.ul_ttl.row > li > .ttl, ul.ul_ttl.row > li::after {
    grid-row: 1;
    grid-column: 1;
  }
  @media screen and (max-width: 599px) {
    ul.ul_ttl.row_sp, ul.ul_ttl.row_sp_tb {
      grid-template-columns: auto 1fr;
    }
    ul.ul_ttl.row_sp > li, ul.ul_ttl.row_sp_tb > li {
      grid-column: 1/-1;
      display: grid;
      grid-template-columns: subgrid;
    }
    ul.ul_ttl.row_sp > li > *, ul.ul_ttl.row_sp_tb > li > * {
      grid-column: 2;
      margin: 0;
    }
    ul.ul_ttl.row_sp > li > .ttl, ul.ul_ttl.row_sp > li::after, ul.ul_ttl.row_sp_tb > li > .ttl, ul.ul_ttl.row_sp_tb > li::after {
      grid-row: 1;
      grid-column: 1;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    ul.ul_ttl.row_sp_tb, ul.ul_ttl.row_tb, ul.ul_ttl.row_tb_pc {
      grid-template-columns: auto 1fr;
    }
    ul.ul_ttl.row_sp_tb > li, ul.ul_ttl.row_tb > li, ul.ul_ttl.row_tb_pc > li {
      grid-column: 1/-1;
      display: grid;
      grid-template-columns: subgrid;
    }
    ul.ul_ttl.row_sp_tb > li > *, ul.ul_ttl.row_tb > li > *, ul.ul_ttl.row_tb_pc > li > * {
      grid-column: 2;
      margin: 0;
    }
    ul.ul_ttl.row_sp_tb > li > .ttl, ul.ul_ttl.row_sp_tb > li::after, ul.ul_ttl.row_tb > li > .ttl, ul.ul_ttl.row_tb > li::after, ul.ul_ttl.row_tb_pc > li > .ttl, ul.ul_ttl.row_tb_pc > li::after {
      grid-row: 1;
      grid-column: 1;
    }
  }
  @media print, screen and (min-width: 960px) {
    ul.ul_ttl.row_tb_pc, ul.ul_ttl.row_pc {
      grid-template-columns: auto 1fr;
    }
    ul.ul_ttl.row_tb_pc > li, ul.ul_ttl.row_pc > li {
      grid-column: 1/-1;
      display: grid;
      grid-template-columns: subgrid;
    }
    ul.ul_ttl.row_tb_pc > li > *, ul.ul_ttl.row_pc > li > * {
      grid-column: 2;
      margin: 0;
    }
    ul.ul_ttl.row_tb_pc > li > .ttl, ul.ul_ttl.row_tb_pc > li::after, ul.ul_ttl.row_pc > li > .ttl, ul.ul_ttl.row_pc > li::after {
      grid-row: 1;
      grid-column: 1;
    }
  }
  @media screen and (min-width: 1200px) {
    ul.ul_ttl.row_lg {
      grid-template-columns: auto 1fr;
    }
    ul.ul_ttl.row_lg > li {
      grid-column: 1/-1;
      display: grid;
      grid-template-columns: subgrid;
    }
    ul.ul_ttl.row_lg > li > * {
      grid-column: 2;
      margin: 0;
    }
    ul.ul_ttl.row_lg > li > .ttl, ul.ul_ttl.row_lg > li::after {
      grid-row: 1;
      grid-column: 1;
    }
  }
  ul.ul_ttl.rowgap_5px {
    row-gap: 5px;
  }
  ul.ul_ttl.rowgap_6px {
    row-gap: 6px;
  }
  ul.ul_ttl.rowgap_7px {
    row-gap: 7px;
  }
  ul.ul_ttl.rowgap_8px {
    row-gap: 8px;
  }
  ul.ul_ttl.rowgap_9px {
    row-gap: 9px;
  }
  ul.ul_ttl.rowgap_10px {
    row-gap: 10px;
  }
  dl.row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 20px;
  }
  dl.row > dt {
    grid-column: 1;
    white-space: nowrap;
  }
  dl.row > dd {
    grid-column: 2;
    margin-bottom: 0;
  }
  @media screen and (max-width: 599px) {
    dl.row_sp, dl.row_sp_tb {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px 20px;
    }
    dl.row_sp > dt, dl.row_sp_tb > dt {
      grid-column: 1;
      white-space: nowrap;
    }
    dl.row_sp > dd, dl.row_sp_tb > dd {
      grid-column: 2;
      margin-bottom: 0;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    dl.row_sp_tb, dl.row_tb, dl.row_tb_pc {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px 20px;
    }
    dl.row_sp_tb > dt, dl.row_tb > dt, dl.row_tb_pc > dt {
      grid-column: 1;
      white-space: nowrap;
    }
    dl.row_sp_tb > dd, dl.row_tb > dd, dl.row_tb_pc > dd {
      grid-column: 2;
      margin-bottom: 0;
    }
  }
  @media print, screen and (min-width: 960px) {
    dl.row_tb_pc, dl.row_pc {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px 20px;
    }
    dl.row_tb_pc > dt, dl.row_pc > dt {
      grid-column: 1;
      white-space: nowrap;
    }
    dl.row_tb_pc > dd, dl.row_pc > dd {
      grid-column: 2;
      margin-bottom: 0;
    }
  }
  @media screen and (min-width: 1200px) {
    dl.row_lg {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 8px 20px;
    }
    dl.row_lg > dt {
      grid-column: 1;
      white-space: nowrap;
    }
    dl.row_lg > dd {
      grid-column: 2;
      margin-bottom: 0;
    }
  }
}
@layer lib {
  .hide {
    display: none !important;
  }
  @media screen and (max-width: 599px) {
    .hide_sp, .hide_sp_tb {
      display: none !important;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .hide_sp_tb, .hide_tb, .hide_tb_pc {
      display: none !important;
    }
  }
  @media print, screen and (min-width: 960px) {
    .hide_tb_pc, .hide_pc {
      display: none !important;
    }
  }
  @media screen and (min-width: 1200px) {
    .hide_lg {
      display: none !important;
    }
  }
  .bold {
    font-weight: bold;
  }
  .nobr {
    display: inline-block;
  }
  :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right {
    text-align: right;
  }
  @media screen and (max-width: 599px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_sp, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_sp_tb {
      text-align: right;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_sp_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_tb_pc {
      text-align: right;
    }
  }
  @media print, screen and (min-width: 960px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_tb_pc, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_pc {
      text-align: right;
    }
  }
  @media screen and (min-width: 1200px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).right_lg {
      text-align: right;
    }
  }
  :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left {
    text-align: left;
  }
  @media screen and (max-width: 599px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_sp, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_sp_tb {
      text-align: left;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_sp_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_tb_pc {
      text-align: left;
    }
  }
  @media print, screen and (min-width: 960px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_tb_pc, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_pc {
      text-align: left;
    }
  }
  @media screen and (min-width: 1200px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).left_lg {
      text-align: left;
    }
  }
  :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center {
    text-align: center;
  }
  @media screen and (max-width: 599px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_sp, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_sp_tb {
      text-align: center;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_sp_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_tb_pc {
      text-align: center;
    }
  }
  @media print, screen and (min-width: 960px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_tb_pc, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_pc {
      text-align: center;
    }
  }
  @media screen and (min-width: 1200px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .caption, .catch, .supple).center_lg {
      text-align: center;
    }
  }
  .texts .right {
    text-align: right;
  }
  @media screen and (max-width: 599px) {
    .texts .right_sp, .texts .right_sp_tb {
      text-align: right;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .texts .right_sp_tb, .texts .right_tb, .texts .right_tb_pc {
      text-align: right;
    }
  }
  @media print, screen and (min-width: 960px) {
    .texts .right_tb_pc, .texts .right_pc {
      text-align: right;
    }
  }
  @media screen and (min-width: 1200px) {
    .texts .right_lg {
      text-align: right;
    }
  }
  .texts .left {
    text-align: right;
  }
  @media screen and (max-width: 599px) {
    .texts .left_sp, .texts .left_sp_tb {
      text-align: right;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .texts .left_sp_tb, .texts .left_tb, .texts .left_tb_pc {
      text-align: right;
    }
  }
  @media print, screen and (min-width: 960px) {
    .texts .left_tb_pc, .texts .left_pc {
      text-align: right;
    }
  }
  @media screen and (min-width: 1200px) {
    .texts .left_lg {
      text-align: right;
    }
  }
  .texts .center {
    text-align: center;
  }
  @media screen and (max-width: 599px) {
    .texts .center_sp, .texts .center_sp_tb {
      text-align: center;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .texts .center_sp_tb, .texts .center_tb, .texts .center_tb_pc {
      text-align: center;
    }
  }
  @media print, screen and (min-width: 960px) {
    .texts .center_tb_pc, .texts .center_pc {
      text-align: center;
    }
  }
  @media screen and (min-width: 1200px) {
    .texts .center_lg {
      text-align: center;
    }
  }
  .youtube_wrap,
  .movie_wrap {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .youtube_wrap iframe,
  .youtube_wrap video,
  .movie_wrap iframe,
  .movie_wrap video {
    width: 100%;
    height: 100%;
  }
  .fadein_wrap {
    opacity: 0;
    transition: none;
  }
  .fadein_wrap.show {
    opacity: 1;
    transition: opacity 0.6s;
  }
  .area > :not(.full) {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_default), var(--wrapper_max));
  }
  .area > .full {
    width: 100%;
  }
  @media screen and (max-width: 599px) {
    .area > .full_sp, .area > .full_sp_tb {
      width: 100%;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .area > .full_sp_tb, .area > .full_tb, .area > .full_tb_pc {
      width: 100%;
    }
  }
  @media print, screen and (min-width: 960px) {
    .area > .full_tb_pc, .area > .full_pc {
      width: 100%;
    }
  }
  @media screen and (min-width: 1200px) {
    .area > .full_lg {
      width: 100%;
    }
  }
  .area > .full > * {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_default), var(--wrapper_max));
  }
  .wrapper {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_default), var(--wrapper_max));
  }
  .wrapper.full {
    --wrapper_max: 100%;
  }
  .wrapper_break {
    margin-inline: calc(50% - 50vw) !important;
  }
  @media screen and (max-width: 599px) {
    .wrapper_break_sp, .wrapper_break_sp_tb {
      margin-inline: calc(50% - 50vw) !important;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .wrapper_break_sp_tb, .wrapper_break_tb, .wrapper_break_tb_pc {
      margin-inline: calc(50% - 50vw) !important;
    }
  }
  @media print, screen and (min-width: 960px) {
    .wrapper_break_tb_pc, .wrapper_break_pc {
      margin-inline: calc(50% - 50vw) !important;
    }
  }
  @media screen and (min-width: 1200px) {
    .wrapper_break_lg {
      margin-inline: calc(50% - 50vw) !important;
    }
  }
  .bottom_line {
    margin-bottom: clamp(20px, 20px + 10 * (100vw - 400px) / 800, 30px);
    padding-bottom: clamp(20px, 20px + 10 * (100vw - 400px) / 800, 30px);
    border-bottom: 1px solid var(--border_color_base);
  }
  .box.flash_wrap {
    margin-bottom: var(--part_margin);
  }
}
/* vendor */
/*======================================
	aos
======================================*/
/*--------------------------------------
	core
---------------------------------------*/
body[data-aos-duration="50"] [data-aos], [data-aos][data-aos][data-aos-duration="50"] {
  transition-duration: 50ms;
}
body[data-aos-delay="50"] [data-aos], [data-aos][data-aos][data-aos-delay="50"] {
  transition-delay: 0s;
}
body[data-aos-delay="50"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="50"].aos-animate {
  transition-delay: 50ms;
}
body[data-aos-duration="100"] [data-aos], [data-aos][data-aos][data-aos-duration="100"] {
  transition-duration: 100ms;
}
body[data-aos-delay="100"] [data-aos], [data-aos][data-aos][data-aos-delay="100"] {
  transition-delay: 0s;
}
body[data-aos-delay="100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="100"].aos-animate {
  transition-delay: 100ms;
}
body[data-aos-duration="150"] [data-aos], [data-aos][data-aos][data-aos-duration="150"] {
  transition-duration: 150ms;
}
body[data-aos-delay="150"] [data-aos], [data-aos][data-aos][data-aos-delay="150"] {
  transition-delay: 0s;
}
body[data-aos-delay="150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="150"].aos-animate {
  transition-delay: 150ms;
}
body[data-aos-duration="200"] [data-aos], [data-aos][data-aos][data-aos-duration="200"] {
  transition-duration: 200ms;
}
body[data-aos-delay="200"] [data-aos], [data-aos][data-aos][data-aos-delay="200"] {
  transition-delay: 0s;
}
body[data-aos-delay="200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="200"].aos-animate {
  transition-delay: 200ms;
}
body[data-aos-duration="250"] [data-aos], [data-aos][data-aos][data-aos-duration="250"] {
  transition-duration: 250ms;
}
body[data-aos-delay="250"] [data-aos], [data-aos][data-aos][data-aos-delay="250"] {
  transition-delay: 0s;
}
body[data-aos-delay="250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="250"].aos-animate {
  transition-delay: 250ms;
}
body[data-aos-duration="300"] [data-aos], [data-aos][data-aos][data-aos-duration="300"] {
  transition-duration: 300ms;
}
body[data-aos-delay="300"] [data-aos], [data-aos][data-aos][data-aos-delay="300"] {
  transition-delay: 0s;
}
body[data-aos-delay="300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="300"].aos-animate {
  transition-delay: 300ms;
}
body[data-aos-duration="350"] [data-aos], [data-aos][data-aos][data-aos-duration="350"] {
  transition-duration: 350ms;
}
body[data-aos-delay="350"] [data-aos], [data-aos][data-aos][data-aos-delay="350"] {
  transition-delay: 0s;
}
body[data-aos-delay="350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="350"].aos-animate {
  transition-delay: 350ms;
}
body[data-aos-duration="400"] [data-aos], [data-aos][data-aos][data-aos-duration="400"] {
  transition-duration: 400ms;
}
body[data-aos-delay="400"] [data-aos], [data-aos][data-aos][data-aos-delay="400"] {
  transition-delay: 0s;
}
body[data-aos-delay="400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="400"].aos-animate {
  transition-delay: 400ms;
}
body[data-aos-duration="450"] [data-aos], [data-aos][data-aos][data-aos-duration="450"] {
  transition-duration: 450ms;
}
body[data-aos-delay="450"] [data-aos], [data-aos][data-aos][data-aos-delay="450"] {
  transition-delay: 0s;
}
body[data-aos-delay="450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="450"].aos-animate {
  transition-delay: 450ms;
}
body[data-aos-duration="500"] [data-aos], [data-aos][data-aos][data-aos-duration="500"] {
  transition-duration: 500ms;
}
body[data-aos-delay="500"] [data-aos], [data-aos][data-aos][data-aos-delay="500"] {
  transition-delay: 0s;
}
body[data-aos-delay="500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="500"].aos-animate {
  transition-delay: 500ms;
}
body[data-aos-duration="550"] [data-aos], [data-aos][data-aos][data-aos-duration="550"] {
  transition-duration: 550ms;
}
body[data-aos-delay="550"] [data-aos], [data-aos][data-aos][data-aos-delay="550"] {
  transition-delay: 0s;
}
body[data-aos-delay="550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="550"].aos-animate {
  transition-delay: 550ms;
}
body[data-aos-duration="600"] [data-aos], [data-aos][data-aos][data-aos-duration="600"] {
  transition-duration: 600ms;
}
body[data-aos-delay="600"] [data-aos], [data-aos][data-aos][data-aos-delay="600"] {
  transition-delay: 0s;
}
body[data-aos-delay="600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="600"].aos-animate {
  transition-delay: 600ms;
}
body[data-aos-duration="650"] [data-aos], [data-aos][data-aos][data-aos-duration="650"] {
  transition-duration: 650ms;
}
body[data-aos-delay="650"] [data-aos], [data-aos][data-aos][data-aos-delay="650"] {
  transition-delay: 0s;
}
body[data-aos-delay="650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="650"].aos-animate {
  transition-delay: 650ms;
}
body[data-aos-duration="700"] [data-aos], [data-aos][data-aos][data-aos-duration="700"] {
  transition-duration: 700ms;
}
body[data-aos-delay="700"] [data-aos], [data-aos][data-aos][data-aos-delay="700"] {
  transition-delay: 0s;
}
body[data-aos-delay="700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="700"].aos-animate {
  transition-delay: 700ms;
}
body[data-aos-duration="750"] [data-aos], [data-aos][data-aos][data-aos-duration="750"] {
  transition-duration: 750ms;
}
body[data-aos-delay="750"] [data-aos], [data-aos][data-aos][data-aos-delay="750"] {
  transition-delay: 0s;
}
body[data-aos-delay="750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="750"].aos-animate {
  transition-delay: 750ms;
}
body[data-aos-duration="800"] [data-aos], [data-aos][data-aos][data-aos-duration="800"] {
  transition-duration: 800ms;
}
body[data-aos-delay="800"] [data-aos], [data-aos][data-aos][data-aos-delay="800"] {
  transition-delay: 0s;
}
body[data-aos-delay="800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="800"].aos-animate {
  transition-delay: 800ms;
}
body[data-aos-duration="850"] [data-aos], [data-aos][data-aos][data-aos-duration="850"] {
  transition-duration: 850ms;
}
body[data-aos-delay="850"] [data-aos], [data-aos][data-aos][data-aos-delay="850"] {
  transition-delay: 0s;
}
body[data-aos-delay="850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="850"].aos-animate {
  transition-delay: 850ms;
}
body[data-aos-duration="900"] [data-aos], [data-aos][data-aos][data-aos-duration="900"] {
  transition-duration: 900ms;
}
body[data-aos-delay="900"] [data-aos], [data-aos][data-aos][data-aos-delay="900"] {
  transition-delay: 0s;
}
body[data-aos-delay="900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="900"].aos-animate {
  transition-delay: 900ms;
}
body[data-aos-duration="950"] [data-aos], [data-aos][data-aos][data-aos-duration="950"] {
  transition-duration: 950ms;
}
body[data-aos-delay="950"] [data-aos], [data-aos][data-aos][data-aos-delay="950"] {
  transition-delay: 0s;
}
body[data-aos-delay="950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="950"].aos-animate {
  transition-delay: 950ms;
}
body[data-aos-duration="1000"] [data-aos], [data-aos][data-aos][data-aos-duration="1000"] {
  transition-duration: 1000ms;
}
body[data-aos-delay="1000"] [data-aos], [data-aos][data-aos][data-aos-delay="1000"] {
  transition-delay: 0s;
}
body[data-aos-delay="1000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1000"].aos-animate {
  transition-delay: 1000ms;
}
body[data-aos-duration="1050"] [data-aos], [data-aos][data-aos][data-aos-duration="1050"] {
  transition-duration: 1050ms;
}
body[data-aos-delay="1050"] [data-aos], [data-aos][data-aos][data-aos-delay="1050"] {
  transition-delay: 0s;
}
body[data-aos-delay="1050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1050"].aos-animate {
  transition-delay: 1050ms;
}
body[data-aos-duration="1100"] [data-aos], [data-aos][data-aos][data-aos-duration="1100"] {
  transition-duration: 1100ms;
}
body[data-aos-delay="1100"] [data-aos], [data-aos][data-aos][data-aos-delay="1100"] {
  transition-delay: 0s;
}
body[data-aos-delay="1100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1100"].aos-animate {
  transition-delay: 1100ms;
}
body[data-aos-duration="1150"] [data-aos], [data-aos][data-aos][data-aos-duration="1150"] {
  transition-duration: 1150ms;
}
body[data-aos-delay="1150"] [data-aos], [data-aos][data-aos][data-aos-delay="1150"] {
  transition-delay: 0s;
}
body[data-aos-delay="1150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1150"].aos-animate {
  transition-delay: 1150ms;
}
body[data-aos-duration="1200"] [data-aos], [data-aos][data-aos][data-aos-duration="1200"] {
  transition-duration: 1200ms;
}
body[data-aos-delay="1200"] [data-aos], [data-aos][data-aos][data-aos-delay="1200"] {
  transition-delay: 0s;
}
body[data-aos-delay="1200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1200"].aos-animate {
  transition-delay: 1200ms;
}
body[data-aos-duration="1250"] [data-aos], [data-aos][data-aos][data-aos-duration="1250"] {
  transition-duration: 1250ms;
}
body[data-aos-delay="1250"] [data-aos], [data-aos][data-aos][data-aos-delay="1250"] {
  transition-delay: 0s;
}
body[data-aos-delay="1250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1250"].aos-animate {
  transition-delay: 1250ms;
}
body[data-aos-duration="1300"] [data-aos], [data-aos][data-aos][data-aos-duration="1300"] {
  transition-duration: 1300ms;
}
body[data-aos-delay="1300"] [data-aos], [data-aos][data-aos][data-aos-delay="1300"] {
  transition-delay: 0s;
}
body[data-aos-delay="1300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1300"].aos-animate {
  transition-delay: 1300ms;
}
body[data-aos-duration="1350"] [data-aos], [data-aos][data-aos][data-aos-duration="1350"] {
  transition-duration: 1350ms;
}
body[data-aos-delay="1350"] [data-aos], [data-aos][data-aos][data-aos-delay="1350"] {
  transition-delay: 0s;
}
body[data-aos-delay="1350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1350"].aos-animate {
  transition-delay: 1350ms;
}
body[data-aos-duration="1400"] [data-aos], [data-aos][data-aos][data-aos-duration="1400"] {
  transition-duration: 1400ms;
}
body[data-aos-delay="1400"] [data-aos], [data-aos][data-aos][data-aos-delay="1400"] {
  transition-delay: 0s;
}
body[data-aos-delay="1400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1400"].aos-animate {
  transition-delay: 1400ms;
}
body[data-aos-duration="1450"] [data-aos], [data-aos][data-aos][data-aos-duration="1450"] {
  transition-duration: 1450ms;
}
body[data-aos-delay="1450"] [data-aos], [data-aos][data-aos][data-aos-delay="1450"] {
  transition-delay: 0s;
}
body[data-aos-delay="1450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1450"].aos-animate {
  transition-delay: 1450ms;
}
body[data-aos-duration="1500"] [data-aos], [data-aos][data-aos][data-aos-duration="1500"] {
  transition-duration: 1500ms;
}
body[data-aos-delay="1500"] [data-aos], [data-aos][data-aos][data-aos-delay="1500"] {
  transition-delay: 0s;
}
body[data-aos-delay="1500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1500"].aos-animate {
  transition-delay: 1500ms;
}
body[data-aos-duration="1550"] [data-aos], [data-aos][data-aos][data-aos-duration="1550"] {
  transition-duration: 1550ms;
}
body[data-aos-delay="1550"] [data-aos], [data-aos][data-aos][data-aos-delay="1550"] {
  transition-delay: 0s;
}
body[data-aos-delay="1550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1550"].aos-animate {
  transition-delay: 1550ms;
}
body[data-aos-duration="1600"] [data-aos], [data-aos][data-aos][data-aos-duration="1600"] {
  transition-duration: 1600ms;
}
body[data-aos-delay="1600"] [data-aos], [data-aos][data-aos][data-aos-delay="1600"] {
  transition-delay: 0s;
}
body[data-aos-delay="1600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1600"].aos-animate {
  transition-delay: 1600ms;
}
body[data-aos-duration="1650"] [data-aos], [data-aos][data-aos][data-aos-duration="1650"] {
  transition-duration: 1650ms;
}
body[data-aos-delay="1650"] [data-aos], [data-aos][data-aos][data-aos-delay="1650"] {
  transition-delay: 0s;
}
body[data-aos-delay="1650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1650"].aos-animate {
  transition-delay: 1650ms;
}
body[data-aos-duration="1700"] [data-aos], [data-aos][data-aos][data-aos-duration="1700"] {
  transition-duration: 1700ms;
}
body[data-aos-delay="1700"] [data-aos], [data-aos][data-aos][data-aos-delay="1700"] {
  transition-delay: 0s;
}
body[data-aos-delay="1700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1700"].aos-animate {
  transition-delay: 1700ms;
}
body[data-aos-duration="1750"] [data-aos], [data-aos][data-aos][data-aos-duration="1750"] {
  transition-duration: 1750ms;
}
body[data-aos-delay="1750"] [data-aos], [data-aos][data-aos][data-aos-delay="1750"] {
  transition-delay: 0s;
}
body[data-aos-delay="1750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1750"].aos-animate {
  transition-delay: 1750ms;
}
body[data-aos-duration="1800"] [data-aos], [data-aos][data-aos][data-aos-duration="1800"] {
  transition-duration: 1800ms;
}
body[data-aos-delay="1800"] [data-aos], [data-aos][data-aos][data-aos-delay="1800"] {
  transition-delay: 0s;
}
body[data-aos-delay="1800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1800"].aos-animate {
  transition-delay: 1800ms;
}
body[data-aos-duration="1850"] [data-aos], [data-aos][data-aos][data-aos-duration="1850"] {
  transition-duration: 1850ms;
}
body[data-aos-delay="1850"] [data-aos], [data-aos][data-aos][data-aos-delay="1850"] {
  transition-delay: 0s;
}
body[data-aos-delay="1850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1850"].aos-animate {
  transition-delay: 1850ms;
}
body[data-aos-duration="1900"] [data-aos], [data-aos][data-aos][data-aos-duration="1900"] {
  transition-duration: 1900ms;
}
body[data-aos-delay="1900"] [data-aos], [data-aos][data-aos][data-aos-delay="1900"] {
  transition-delay: 0s;
}
body[data-aos-delay="1900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1900"].aos-animate {
  transition-delay: 1900ms;
}
body[data-aos-duration="1950"] [data-aos], [data-aos][data-aos][data-aos-duration="1950"] {
  transition-duration: 1950ms;
}
body[data-aos-delay="1950"] [data-aos], [data-aos][data-aos][data-aos-delay="1950"] {
  transition-delay: 0s;
}
body[data-aos-delay="1950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1950"].aos-animate {
  transition-delay: 1950ms;
}
body[data-aos-duration="2000"] [data-aos], [data-aos][data-aos][data-aos-duration="2000"] {
  transition-duration: 2000ms;
}
body[data-aos-delay="2000"] [data-aos], [data-aos][data-aos][data-aos-delay="2000"] {
  transition-delay: 0s;
}
body[data-aos-delay="2000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2000"].aos-animate {
  transition-delay: 2000ms;
}
body[data-aos-duration="2050"] [data-aos], [data-aos][data-aos][data-aos-duration="2050"] {
  transition-duration: 2050ms;
}
body[data-aos-delay="2050"] [data-aos], [data-aos][data-aos][data-aos-delay="2050"] {
  transition-delay: 0s;
}
body[data-aos-delay="2050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2050"].aos-animate {
  transition-delay: 2050ms;
}
body[data-aos-duration="2100"] [data-aos], [data-aos][data-aos][data-aos-duration="2100"] {
  transition-duration: 2100ms;
}
body[data-aos-delay="2100"] [data-aos], [data-aos][data-aos][data-aos-delay="2100"] {
  transition-delay: 0s;
}
body[data-aos-delay="2100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2100"].aos-animate {
  transition-delay: 2100ms;
}
body[data-aos-duration="2150"] [data-aos], [data-aos][data-aos][data-aos-duration="2150"] {
  transition-duration: 2150ms;
}
body[data-aos-delay="2150"] [data-aos], [data-aos][data-aos][data-aos-delay="2150"] {
  transition-delay: 0s;
}
body[data-aos-delay="2150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2150"].aos-animate {
  transition-delay: 2150ms;
}
body[data-aos-duration="2200"] [data-aos], [data-aos][data-aos][data-aos-duration="2200"] {
  transition-duration: 2200ms;
}
body[data-aos-delay="2200"] [data-aos], [data-aos][data-aos][data-aos-delay="2200"] {
  transition-delay: 0s;
}
body[data-aos-delay="2200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2200"].aos-animate {
  transition-delay: 2200ms;
}
body[data-aos-duration="2250"] [data-aos], [data-aos][data-aos][data-aos-duration="2250"] {
  transition-duration: 2250ms;
}
body[data-aos-delay="2250"] [data-aos], [data-aos][data-aos][data-aos-delay="2250"] {
  transition-delay: 0s;
}
body[data-aos-delay="2250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2250"].aos-animate {
  transition-delay: 2250ms;
}
body[data-aos-duration="2300"] [data-aos], [data-aos][data-aos][data-aos-duration="2300"] {
  transition-duration: 2300ms;
}
body[data-aos-delay="2300"] [data-aos], [data-aos][data-aos][data-aos-delay="2300"] {
  transition-delay: 0s;
}
body[data-aos-delay="2300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2300"].aos-animate {
  transition-delay: 2300ms;
}
body[data-aos-duration="2350"] [data-aos], [data-aos][data-aos][data-aos-duration="2350"] {
  transition-duration: 2350ms;
}
body[data-aos-delay="2350"] [data-aos], [data-aos][data-aos][data-aos-delay="2350"] {
  transition-delay: 0s;
}
body[data-aos-delay="2350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2350"].aos-animate {
  transition-delay: 2350ms;
}
body[data-aos-duration="2400"] [data-aos], [data-aos][data-aos][data-aos-duration="2400"] {
  transition-duration: 2400ms;
}
body[data-aos-delay="2400"] [data-aos], [data-aos][data-aos][data-aos-delay="2400"] {
  transition-delay: 0s;
}
body[data-aos-delay="2400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2400"].aos-animate {
  transition-delay: 2400ms;
}
body[data-aos-duration="2450"] [data-aos], [data-aos][data-aos][data-aos-duration="2450"] {
  transition-duration: 2450ms;
}
body[data-aos-delay="2450"] [data-aos], [data-aos][data-aos][data-aos-delay="2450"] {
  transition-delay: 0s;
}
body[data-aos-delay="2450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2450"].aos-animate {
  transition-delay: 2450ms;
}
body[data-aos-duration="2500"] [data-aos], [data-aos][data-aos][data-aos-duration="2500"] {
  transition-duration: 2500ms;
}
body[data-aos-delay="2500"] [data-aos], [data-aos][data-aos][data-aos-delay="2500"] {
  transition-delay: 0s;
}
body[data-aos-delay="2500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2500"].aos-animate {
  transition-delay: 2500ms;
}
body[data-aos-duration="2550"] [data-aos], [data-aos][data-aos][data-aos-duration="2550"] {
  transition-duration: 2550ms;
}
body[data-aos-delay="2550"] [data-aos], [data-aos][data-aos][data-aos-delay="2550"] {
  transition-delay: 0s;
}
body[data-aos-delay="2550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2550"].aos-animate {
  transition-delay: 2550ms;
}
body[data-aos-duration="2600"] [data-aos], [data-aos][data-aos][data-aos-duration="2600"] {
  transition-duration: 2600ms;
}
body[data-aos-delay="2600"] [data-aos], [data-aos][data-aos][data-aos-delay="2600"] {
  transition-delay: 0s;
}
body[data-aos-delay="2600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2600"].aos-animate {
  transition-delay: 2600ms;
}
body[data-aos-duration="2650"] [data-aos], [data-aos][data-aos][data-aos-duration="2650"] {
  transition-duration: 2650ms;
}
body[data-aos-delay="2650"] [data-aos], [data-aos][data-aos][data-aos-delay="2650"] {
  transition-delay: 0s;
}
body[data-aos-delay="2650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2650"].aos-animate {
  transition-delay: 2650ms;
}
body[data-aos-duration="2700"] [data-aos], [data-aos][data-aos][data-aos-duration="2700"] {
  transition-duration: 2700ms;
}
body[data-aos-delay="2700"] [data-aos], [data-aos][data-aos][data-aos-delay="2700"] {
  transition-delay: 0s;
}
body[data-aos-delay="2700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2700"].aos-animate {
  transition-delay: 2700ms;
}
body[data-aos-duration="2750"] [data-aos], [data-aos][data-aos][data-aos-duration="2750"] {
  transition-duration: 2750ms;
}
body[data-aos-delay="2750"] [data-aos], [data-aos][data-aos][data-aos-delay="2750"] {
  transition-delay: 0s;
}
body[data-aos-delay="2750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2750"].aos-animate {
  transition-delay: 2750ms;
}
body[data-aos-duration="2800"] [data-aos], [data-aos][data-aos][data-aos-duration="2800"] {
  transition-duration: 2800ms;
}
body[data-aos-delay="2800"] [data-aos], [data-aos][data-aos][data-aos-delay="2800"] {
  transition-delay: 0s;
}
body[data-aos-delay="2800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2800"].aos-animate {
  transition-delay: 2800ms;
}
body[data-aos-duration="2850"] [data-aos], [data-aos][data-aos][data-aos-duration="2850"] {
  transition-duration: 2850ms;
}
body[data-aos-delay="2850"] [data-aos], [data-aos][data-aos][data-aos-delay="2850"] {
  transition-delay: 0s;
}
body[data-aos-delay="2850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2850"].aos-animate {
  transition-delay: 2850ms;
}
body[data-aos-duration="2900"] [data-aos], [data-aos][data-aos][data-aos-duration="2900"] {
  transition-duration: 2900ms;
}
body[data-aos-delay="2900"] [data-aos], [data-aos][data-aos][data-aos-delay="2900"] {
  transition-delay: 0s;
}
body[data-aos-delay="2900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2900"].aos-animate {
  transition-delay: 2900ms;
}
body[data-aos-duration="2950"] [data-aos], [data-aos][data-aos][data-aos-duration="2950"] {
  transition-duration: 2950ms;
}
body[data-aos-delay="2950"] [data-aos], [data-aos][data-aos][data-aos-delay="2950"] {
  transition-delay: 0s;
}
body[data-aos-delay="2950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2950"].aos-animate {
  transition-delay: 2950ms;
}
body[data-aos-duration="3000"] [data-aos], [data-aos][data-aos][data-aos-duration="3000"] {
  transition-duration: 3000ms;
}
body[data-aos-delay="3000"] [data-aos], [data-aos][data-aos][data-aos-delay="3000"] {
  transition-delay: 0s;
}
body[data-aos-delay="3000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="3000"].aos-animate {
  transition-delay: 3000ms;
}

[data-aos] {
  pointer-events: none;
}
[data-aos].aos-animate {
  pointer-events: auto;
}

/*--------------------------------------
	easing
---------------------------------------*/
body[data-aos-easing=linear] [data-aos], [data-aos][data-aos][data-aos-easing=linear] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}
body[data-aos-easing=ease] [data-aos], [data-aos][data-aos][data-aos-easing=ease] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}
body[data-aos-easing=ease-in] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
}
body[data-aos-easing=ease-out] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
}
body[data-aos-easing=ease-in-out] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
}
body[data-aos-easing=ease-in-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-back] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}
body[data-aos-easing=ease-out-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-back] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
body[data-aos-easing=ease-in-out-back] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-back] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
body[data-aos-easing=ease-in-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-sine] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}
body[data-aos-easing=ease-out-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-sine] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}
body[data-aos-easing=ease-in-out-sine] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-sine] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
body[data-aos-easing=ease-in-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-quad] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing=ease-out-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-quad] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing=ease-in-out-quad] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-quad] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
body[data-aos-easing=ease-in-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-cubic] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing=ease-out-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-cubic] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing=ease-in-out-cubic] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-cubic] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
body[data-aos-easing=ease-in-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-quart] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
body[data-aos-easing=ease-out-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-out-quart] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
body[data-aos-easing=ease-in-out-quart] [data-aos], [data-aos][data-aos][data-aos-easing=ease-in-out-quart] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

/*--------------------------------------
	animations
---------------------------------------*/
@media screen {
  html:not(.no-js) {
    /**
    * Fade animations:
    * fade
    * fade-up, fade-down, fade-left, fade-right
    * fade-up-right, fade-up-left, fade-down-right, fade-down-left
    */
    /**
    * Zoom animations:
    * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
    * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
    */
    /**
    * Slide animations
    */
    /**
    * Flip animations:
    * flip-left, flip-right, flip-up, flip-down
    */
  }
  html:not(.no-js) [data-aos^=fade][data-aos^=fade] {
    opacity: 0;
    transition-property: opacity, transform;
  }
  html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate {
    opacity: 1;
    transform: none;
  }
  html:not(.no-js) [data-aos=fade-up] {
    transform: translate3d(0, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down] {
    transform: translate3d(0, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-right] {
    transform: translate3d(-100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-left] {
    transform: translate3d(100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-up-right] {
    transform: translate3d(-100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-up-left] {
    transform: translate3d(100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-right] {
    transform: translate3d(-100px, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-left] {
    transform: translate3d(100px, -100px, 0);
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom] {
    opacity: 0;
    transition-property: opacity, transform;
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
  html:not(.no-js) [data-aos=zoom-in] {
    transform: scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-up] {
    transform: translate3d(0, 100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-down] {
    transform: translate3d(0, -100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-right] {
    transform: translate3d(-100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-left] {
    transform: translate3d(100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-out] {
    transform: scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-up] {
    transform: translate3d(0, 100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-down] {
    transform: translate3d(0, -100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-right] {
    transform: translate3d(-100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-left] {
    transform: translate3d(100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide] {
    visibility: hidden;
    transition-property: transform;
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate {
    visibility: visible;
    transform: translate3d(0, 0, 0);
  }
  html:not(.no-js) [data-aos=slide-up] {
    transform: translate3d(0, 100%, 0);
  }
  html:not(.no-js) [data-aos=slide-down] {
    transform: translate3d(0, -100%, 0);
  }
  html:not(.no-js) [data-aos=slide-right] {
    transform: translate3d(-100%, 0, 0);
  }
  html:not(.no-js) [data-aos=slide-left] {
    transform: translate3d(100%, 0, 0);
  }
  html:not(.no-js) [data-aos^=flip][data-aos^=flip] {
    backface-visibility: hidden;
    transition-property: transform;
  }
  html:not(.no-js) [data-aos=flip-left] {
    transform: perspective(2500px) rotateY(-100deg);
  }
  html:not(.no-js) [data-aos=flip-left].aos-animate {
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-right] {
    transform: perspective(2500px) rotateY(100deg);
  }
  html:not(.no-js) [data-aos=flip-right].aos-animate {
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-up] {
    transform: perspective(2500px) rotateX(-100deg);
  }
  html:not(.no-js) [data-aos=flip-up].aos-animate {
    transform: perspective(2500px) rotateX(0);
  }
  html:not(.no-js) [data-aos=flip-down] {
    transform: perspective(2500px) rotateX(100deg);
  }
  html:not(.no-js) [data-aos=flip-down].aos-animate {
    transform: perspective(2500px) rotateX(0);
  }
}
/* frame */
/**======================================
	base

======================================**/
/*--------------------------------------
	body, container
---------------------------------------*/
@layer variable {
  :root {
    --header_height_default: 50px;
    --header_height_change: 40px;
  }
  @media print, screen and (min-width: 600px) {
    :root {
      --header_height_default: 80px;
      --header_height_change: 60px;
    }
  }
}
@layer base {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header_height_change) + var(--topnav_height_change, 0px) + var(--wp-admin--admin-bar--height, 0px)) !important;
    font-size: 62.5%;
  }
  body {
    position: relative;
    background: var(--bg_color_base);
    opacity: 0;
    font-size: 1.4rem;
    font-family: var(--txt_font_base);
    line-height: 1.6;
    color: var(--txt_color_base);
    letter-spacing: 0.05em;
  }
  @media screen and (max-width: 959px) {
    body {
      -webkit-text-size-adjust: 100%;
      -moz-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
  }
  @media screen and (max-width: 959px) {
    body.gnav_open {
      overflow: hidden;
    }
  }
  body.scroll_stop {
    position: fixed;
    right: 0;
    left: 0;
    overflow-y: hidden;
  }
  .container {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  .container .contents_wrap {
    flex-grow: 1;
    overflow: clip;
  }
  .header_wrap {
    top: 0;
    z-index: 4;
    border-bottom: 1px solid var(--border_color_base);
    width: 100%;
    background-color: var(--bg_color_base);
    transition: all 0.5s ease 0.1s;
  }
  .header_wrap_change.header_wrap {
    box-shadow: 10px 0 5px 0 rgba(0, 0, 0, 0.2);
  }
  .header_wrap * {
    transition: all 0.5s ease 0.1s;
  }
  .header_wrap .header {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_default), var(--wrapper_max));
    display: flex;
    flex-wrap: nowrap;
    -moz-column-gap: clamp(10px, 10px + 20 * (100vw - 400px) / 800, 30px);
    column-gap: clamp(10px, 10px + 20 * (100vw - 400px) / 800, 30px);
    align-items: center;
    height: var(--header_height);
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap .header {
      display: grid;
      grid-template-areas: "logo_set shop_name" "logo_set gnav";
      grid-template-columns: auto 1fr;
    }
  }
  @media screen and (min-width: 1200px) {
    .header_wrap .header {
      display: grid;
      grid-template-areas: "logo_set shop_name gnav";
      grid-template-columns: auto auto 1fr;
    }
  }
  @media print, screen and (min-width: 600px) {
    .header_wrap .header a.logo_set {
      display: grid;
      grid-template-areas: "logo logo_sub" "logo logo_marusan";
      gap: calc(var(--header_height) / 16) calc(var(--header_height) / 5);
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap .header a.logo_set {
      grid-area: logo_set;
    }
  }
  .header_wrap .header a.logo_set .logo {
    grid-area: logo;
  }
  .header_wrap .header a.logo_set .logo img {
    width: auto;
    height: calc(var(--header_height) / 2);
  }
  @media screen and (max-width: 599px) {
    .header_wrap .header a.logo_set .logo_sub,
    .header_wrap .header a.logo_set .logo_marusan {
      display: none;
    }
  }
  .header_wrap .header a.logo_set .logo_sub {
    grid-area: logo_sub;
    padding: 0.2em 0.5em;
    border: 1px solid #000;
    background: #fff;
    font-size: calc(var(--header_height) / 6);
    font-weight: bold;
    line-height: 1;
    color: #000;
  }
  .header_wrap .header a.logo_set .logo_marusan {
    grid-area: logo_marusan;
  }
  .header_wrap .header a.logo_set .logo_marusan img {
    width: auto;
    height: calc(var(--header_height) / 5);
  }
  .header_wrap .header .shop_name {
    font-size: clamp(1rem, var(--header_height) / 5, 1.3rem);
    font-weight: bold;
    color: var(--txt_color_heading);
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap .header .shop_name {
      grid-area: shop_name;
      margin-left: auto;
    }
  }
  @media screen and (min-width: 1200px) {
    .header_wrap .header .shop_name {
      margin-inline: 0 auto;
    }
  }
  .header_wrap .header .gnav_btn {
    position: relative;
    z-index: 25;
    order: 1;
    display: block;
    margin-left: auto;
    width: max(var(--header_height) / 3, 20px);
    aspect-ratio: 1.2/1;
    transition: all 0.4s;
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap .header .gnav_btn {
      display: none;
    }
  }
  .header_wrap .header .gnav_btn span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    margin: auto;
    width: 100%;
    height: 2px;
    background-color: var(--btn_color_base, var(--btn_color_bg));
    font-size: 0;
    transition: all 0.4s;
  }
  .header_wrap .header .gnav_btn span:nth-of-type(1) {
    bottom: auto;
  }
  .header_wrap .header .gnav_btn span:nth-of-type(3) {
    top: auto;
  }
  .header_wrap .header .gnav_btn.close {
    transform: rotate(360deg);
  }
  @media print, screen and (min-width: 600px) {
    .header_wrap .header .gnav_btn.close span {
      background: #fff;
    }
  }
  .header_wrap .header .gnav_btn.close span:nth-of-type(1) {
    bottom: 0;
    transform: rotate(-45deg);
  }
  .header_wrap .header .gnav_btn.close span:nth-of-type(2) {
    transform: rotate(45deg);
  }
  .header_wrap .header .gnav_btn.close span:nth-of-type(3) {
    opacity: 0;
  }
  .header_wrap:not(.animate) {
    transition: none !important;
    animation: none !important;
  }
  .header_wrap:not(.animate) > * {
    transition: none !important;
  }
  :is(.type_a, .type_b, .type_c) .container {
    position: relative;
    padding-top: calc(var(--header_height_default) + var(--topnav_height_default, 0px));
    transition: padding-top 0.5s;
  }
  .type_a .header_wrap {
    position: fixed;
    top: var(--wp-admin--admin-bar--height, 0px);
  }
  :is(.type_b, .type_c) .container .header_wrap {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    animation-duration: 1s;
    animation-fill-mode: forwards;
  }
  :is(.type_b, .type_c) .container .header_wrap:not(.header_wrap_change) {
    animation-name: header_wrap_slideup;
  }
  :is(.type_b, .type_c) .container .header_wrap.header_wrap_change {
    top: var(--wp-admin--admin-bar--height, 0);
    animation-name: header_wrap_slidedown;
  }
  @keyframes header_wrap_slidedown {
    0% {
      position: fixed;
      transform: translateY(-100%);
    }
    50% {
      position: fixed;
      transform: translateY(-100%);
    }
    100% {
      position: fixed;
      transform: translateY(0%);
    }
  }
  @keyframes header_wrap_slideup {
    0% {
      position: fixed;
      transform: translateY(0%);
    }
    50% {
      position: fixed;
      transform: translateY(-100%);
    }
    70% {
      position: absolute;
      transform: translateY(-100%);
    }
    100% {
      position: absolute;
      transform: translateY(0%);
    }
  }
  .title_wrap .title {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_default), var(--wrapper_max));
    padding-block: var(--area_margin);
  }
  .title_wrap .title .title_text {
    font-size: clamp(1.8rem, 1.8rem + 12 * (100vw - 40rem) / 800, 3rem);
    font-weight: bold;
    color: var(--txt_color_heading);
  }
  /* gnav sp,tb */
  @media screen and (max-width: 959px) and (max-width: 599px) {
    .header::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 2;
      display: block;
      margin: auto;
      background: var(--bg_color_base);
      pointer-events: none;
    }
  }
  @media screen and (max-width: 959px) and (max-width: 599px) {
    .header > * {
      z-index: 2;
    }
  }
  @media screen and (max-width: 959px) {
    .header .gnav.open {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
      opacity: 1;
      pointer-events: all;
      transition: 0.3s;
    }
    .header .gnav.debug {
      clip-path: none !important;
      opacity: 1;
      pointer-events: all;
    }
    .header .gnav {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 1;
      padding-top: calc(var(--header_height_total) + 10px);
      width: 100%;
      max-width: 640px;
      height: 100dvh;
      overflow-y: scroll;
      clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
      background: var(--color_theme_base);
      opacity: 0;
      color: #fff;
      pointer-events: none;
      transition: 0.3s;
    }
  }
  @media screen and (max-width: 959px) and (min-width: 600px) {
    .header .gnav {
      width: 70%;
      clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    }
  }
  @media screen and (max-width: 959px) {
    .header .gnav .gnav_list {
      margin-inline: auto;
      width: 90%;
    }
    .header .gnav .gnav_list li {
      border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    }
    .header .gnav .gnav_list li a {
      position: relative;
      display: block;
      padding: 0;
      text-decoration: none;
      color: inherit;
    }
    .header .gnav .gnav_list li a > span {
      display: block;
      padding: 15px 5%;
      font-weight: bold;
    }
    .header .gnav .gnav_list li a > span::before {
      position: absolute;
      top: 0;
      right: 10px;
      bottom: 0;
      display: block;
      margin: auto;
      width: 1em;
      height: -moz-fit-content;
      height: fit-content;
      aspect-ratio: 1/1;
      text-align: center;
    }
    .header .gnav .gnav_list li a:focus {
      outline: none !important;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > a span::after {
      content: "";
      position: absolute;
      top: 0;
      right: 10px;
      bottom: 0;
      display: block;
      margin: auto;
      width: 2em;
      aspect-ratio: 1/1;
      background-color: #fff;
      -webkit-mask: no-repeat center/contain;
      mask: no-repeat center/contain;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > a.plus span::after {
      -webkit-mask-image: url(../images/lib/icon/plus.svg);
      mask-image: url(../images/lib/icon/plus.svg);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > a.minus span::after {
      -webkit-mask-image: url(../images/lib/icon/minus.svg);
      mask-image: url(../images/lib/icon/minus.svg);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu {
      display: none;
      transition: height 0s;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul {
      margin-left: auto;
      width: 95%;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li {
      border-top: 1px dashed rgba(255, 255, 255, 0.3);
      border-bottom: none;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a > span {
      font-size: 1.2rem;
      font-weight: normal;
    }
  }
  /* gnav pc */
  @media print, screen and (min-width: 960px) {
    .header .gnav {
      align-self: stretch;
      display: flex;
      margin-left: auto;
    }
    .header .gnav .gnav_list {
      display: flex;
    }
    .header .gnav .gnav_list > li {
      flex-grow: 1;
      display: flex;
    }
    .header .gnav .gnav_list > li > a {
      position: relative;
      display: flex;
      text-decoration: none;
      color: #000;
    }
    .header .gnav .gnav_list > li > a::after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      margin-inline: auto;
      width: 0;
      height: 3px;
      background: var(--color_theme_base);
      opacity: 0;
      transition: 0.3s;
    }
    .header .gnav .gnav_list > li > a > span {
      display: flex;
      -moz-column-gap: 8px;
      column-gap: 8px;
      align-items: center;
      justify-content: center;
      padding-inline: 15px;
      font-weight: bold;
      white-space: nowrap;
    }
    .header .gnav .gnav_list > li > a > span::after {
      display: block;
      width: var(--icon_size);
      aspect-ratio: 1/1;
      background: #000;
      -webkit-mask: url(../images/lib/icon/angle_down.svg) no-repeat center/contain;
      mask: url(../images/lib/icon/angle_down.svg) no-repeat center/contain;
      transform: scale(1.2);
    }
    .header .gnav .gnav_list > li > a > span[class*=icon_] {
      padding-left: 0;
    }
    .header .gnav .gnav_list > li > a.current {
      color: var(--color_theme_base);
    }
    .header .gnav .gnav_list > li > a.current::after {
      width: 100%;
      opacity: 1;
    }
    .header .gnav .gnav_list > li > a:not(.current):hover::after {
      width: 100%;
      opacity: 1;
    }
    .header .gnav .gnav_list > li > a.logout > span::after {
      content: "";
      order: -1;
      -webkit-mask-image: url(../images/lib/icon/lock.svg);
      mask-image: url(../images/lib/icon/lock.svg);
    }
    .header .gnav .gnav_list > li:has(> .submenu) {
      position: relative;
      z-index: 1;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > a > span::after {
      content: "";
      order: 1;
      -webkit-mask-image: url(../images/lib/icon/angle_down.svg);
      mask-image: url(../images/lib/icon/angle_down.svg);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu {
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 2;
      display: none;
      padding: 0;
      min-width: 100%;
      transition: height 0s;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      max-height: calc(100vh - var(--header_height) - var(--topnav_height, 0px));
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li {
      display: block;
      padding: 0;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a {
      display: block;
      text-decoration: none !important;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a > span {
      display: block;
      padding: 15px;
      border: 1px solid var(--border_color_base);
      background: white;
      text-align: center;
      font-size: 1.3rem;
      color: black;
      white-space: nowrap;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a.current > span {
      color: rgba(0, 0, 0, 0.5);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a:not(.current):hover::before, .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a:not(.current):hover::after,
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a:not(.current):hover > span {
      background-color: #eee;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul li:not(:first-child) > a > span {
      border-top: none;
    }
    .header .gnav .gnav_list > li:has(> .submenu):last-child > .submenu {
      right: 0;
      left: auto;
    }
  }
  /*--------------------------------------
  	contents
  ---------------------------------------*/
  /*--------------------------------------
  	footer
  ---------------------------------------*/
  .footer_wrap {
    position: relative;
    z-index: 3;
    padding-block: clamp(30px, 30px + 30 * (100vw - 400px) / 800, 60px);
    width: 100%;
    background: #333;
  }
  .footer_wrap .footer {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_default), var(--wrapper_max));
  }
  @media print, screen and (min-width: 960px) {
    .footer_wrap .footer {
      display: flex;
      justify-content: space-between;
    }
  }
  .footer_wrap .footer .profile {
    margin-bottom: 20px;
  }
  @media print, screen and (min-width: 600px) {
    .footer_wrap .footer .profile {
      margin-bottom: 40px;
    }
  }
  @media print, screen and (min-width: 960px) {
    .footer_wrap .footer .profile {
      margin-bottom: 0;
    }
  }
  .footer_wrap .footer .profile .name,
  .footer_wrap .footer .profile .address {
    text-align: center;
    font-size: 1.3rem;
    color: white;
  }
  @media print, screen and (min-width: 600px) {
    .footer_wrap .footer .profile .name,
    .footer_wrap .footer .profile .address {
      margin-bottom: 15px;
      line-height: 1.3;
    }
  }
  @media print, screen and (min-width: 960px) {
    .footer_wrap .footer .profile .name,
    .footer_wrap .footer .profile .address {
      text-align: left;
    }
  }
  .footer_wrap .footer .profile .name {
    margin-bottom: 5px;
    font-weight: bold;
  }
  .footer_wrap .footer .profile .address {
    margin-bottom: 10px;
  }
  .footer_wrap .footer .profile .tel_set {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  @media print, screen and (min-width: 960px) {
    .footer_wrap .footer .profile .tel_set {
      text-align: left;
    }
  }
  .footer_wrap .footer .profile .tel_set .tel,
  .footer_wrap .footer .profile .tel_set .fax {
    margin-bottom: 10px;
  }
  .footer_wrap .footer .profile .tel_set .tel::before,
  .footer_wrap .footer .profile .tel_set .fax::before {
    border: 1px solid rgba(255, 255, 255, 0.3);
  }
  .footer_wrap .footer .profile .tel_set .tel a,
  .footer_wrap .footer .profile .tel_set .fax a {
    font-size: 1.3rem;
    font-weight: bold;
    color: white;
  }
  @media print, screen and (min-width: 600px) {
    .footer_wrap .footer .sitenav_list {
      display: flex;
      gap: 0 5%;
    }
  }
  @media print, screen and (min-width: 960px) {
    .footer_wrap .footer .sitenav_list {
      gap: 0 30px;
      width: 50%;
    }
  }
  .footer_wrap .footer .sitenav_list .sitenav_item {
    flex-grow: 1;
  }
  .footer_wrap .footer .sitenav_list .sitenav_item .sitenav_heading {
    padding: 25px 15px 10px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.3;
    color: #fff;
    white-space: nowrap;
  }
  @media print, screen and (min-width: 600px) {
    .footer_wrap .footer .sitenav_list .sitenav_item .sitenav_heading {
      margin-bottom: 10px;
      padding: 0;
      border-bottom: none;
      font-size: 1.2rem;
      font-weight: bold;
      line-height: 1.3;
    }
  }
  @media print, screen and (min-width: 600px) {
    .footer_wrap .footer .sitenav_list .sitenav_item li:not(:first-child) a {
      border-top: none;
    }
  }
  .footer_wrap .footer .sitenav_list .sitenav_item li a {
    position: relative;
    display: block;
    padding: 15px 10px 15px calc(15px + 1.5em);
    border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
    text-decoration: none;
    font-size: 1.2rem;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.8);
  }
  @media print, screen and (min-width: 600px) {
    .footer_wrap .footer .sitenav_list .sitenav_item li a {
      border-top: 1px dashed rgba(255, 255, 255, 0.3);
      border-bottom: 1px dashed rgba(255, 255, 255, 0.3);
    }
  }
  .footer_wrap .footer .sitenav_list .sitenav_item li a::before {
    content: "";
    position: absolute;
    left: 15px;
    width: 1em;
    aspect-ratio: 1/1.3;
    background-color: #fff;
    color: inherit;
    -webkit-mask: url(../images/lib/icon/angle_right.svg) no-repeat center/contain;
    mask: url(../images/lib/icon/angle_right.svg) no-repeat center/contain;
  }
  @media print, screen and (min-width: 960px) {
    .footer_wrap .footer .sitenav_list .sitenav_item li a:hover {
      color: white;
    }
  }
  .footer_wrap .footer .sitenav_list .sitenav_item:first-child li:first-child a {
    border-top: 1px dashed rgba(255, 255, 255, 0.3);
  }
  .footer_wrap .copyright_wrap {
    margin-top: clamp(20px, 20px + 20 * (100vw - 400px) / 800, 40px);
  }
  .footer_wrap .copyright_wrap .copyright {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_default), var(--wrapper_max));
    text-align: center;
  }
  .footer_wrap .copyright_wrap .copyright small {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.5);
  }
  /*--------------------------------------
  	loading_wrap
  ---------------------------------------*/
  .loading_wrap {
    position: fixed;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background: white;
    opacity: 1;
    pointer-events: none;
    transition: 1s;
  }
  .loading_wrap img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -20px;
  }
  .loading_wrap.hide {
    opacity: 0;
  }
  /*--------------------------------------
  	cookie_consent
  ---------------------------------------*/
  .cookie_consent {
    --btn_color_border: red;
    position: fixed;
    bottom: 0;
    z-index: 100;
    padding-block: 20px;
    width: 100%;
    background: rgba(0, 0, 0, 0.8);
    color: #eee;
  }
  .cookie_consent.hide {
    display: none;
  }
  .cookie_consent .cookie_item {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px 40px;
    align-items: center;
    margin-inline: auto;
    width: min(90%, var(--wrapper_width_large));
  }
  @media print, screen and (min-width: 960px) {
    .cookie_consent .cookie_item {
      flex-direction: row;
      justify-content: space-between;
    }
  }
  .cookie_consent .cookie_item .cookie_text {
    font-size: 1.2rem;
  }
  .cookie_consent .cookie_item .cookie_text a {
    color: inherit;
  }
  .cookie_consent .cookie_item .btn_wrap {
    flex-direction: row;
    justify-content: center;
  }
  /*--------------------------------------
  	grecaptcha-badge
  ---------------------------------------*/
  .grecaptcha-badge {
    z-index: 10;
  }
}
/**======================================
	contents


	ct24から _component.scss と分離
	装飾類は _component.scss に記述してください。
	（レイヤー優先度は lib・utility・component よりも低いです）

======================================**/
@layer contents {
  .area {
    margin-bottom: var(--area_margin);
    width: 100%;
    overflow-x: clip;
    overflow-y: visible;
  }
  .container:not(:has(.title_wrap)) .area:first-child {
    margin-top: var(--area_margin);
  }
  .box:where(:not(:last-child)) {
    margin-bottom: var(--box_margin);
  }
  .part:where(:not(:last-child)) {
    margin-bottom: var(--part_margin);
  }
  .cont:where(:not(:last-child)) {
    margin-bottom: var(--cont_margin);
  }
  .cont > *:last-child {
    margin-bottom: 0;
  }
  .hgroup,
  .cgroup {
    margin: 0 auto clamp(20px, 20px + 40 * (100vw - 400px) / 800, 60px);
  }
  .hgroup > *:last-child,
  .cgroup > *:last-child {
    margin-bottom: 0;
  }
  .hgroup .heading02, .hgroup .entry_wrap h1, .entry_wrap .hgroup h1,
  .cgroup .heading02,
  .cgroup .entry_wrap h1,
  .entry_wrap .cgroup h1 {
    margin-bottom: 0;
  }
  .hgroup .heading_sub,
  .cgroup .heading_sub {
    font-size: 1.4rem;
  }
  :where(.heading, .heading02, .entry_wrap h1, .heading03, .entry_wrap h3, .heading04, .entry_wrap h4, .heading05, .entry_wrap h5) {
    margin-bottom: 1em;
    line-height: 1.4;
    color: var(--txt_color_heading);
  }
  :where(.heading, .heading02, .entry_wrap h1, .heading03, .entry_wrap h3, .heading04, .entry_wrap h4, .heading05, .entry_wrap h5).color {
    color: var(--color_theme_base);
  }
  :where(.heading, .heading02, .entry_wrap h1, .heading03, .entry_wrap h3, .heading04, .entry_wrap h4, .heading05, .entry_wrap h5).border {
    padding-bottom: 0.3em;
    border-bottom: 1px solid var(--border_color_base);
  }
  .heading02, .entry_wrap h1 {
    font-size: clamp(2.4rem, 2.4rem + 4 * (100vw - 40rem) / 800, 2.8rem);
    color: var(--txt_color_heading);
  }
  .hgroup .heading02, .hgroup .entry_wrap h1, .entry_wrap .hgroup h1 {
    margin-bottom: 0;
  }
  .hgroup .heading_sub,
  .hgroup .date {
    margin-top: 5px;
    text-align: center;
    font-size: 1.3rem;
    color: var(--txt_color_light);
  }
  .heading03, .entry_wrap h3 {
    font-size: clamp(2rem, 2rem + 2 * (100vw - 40rem) / 800, 2.2rem);
    font-weight: bold;
  }
  .heading04, .entry_wrap h4 {
    font-size: clamp(1.8rem, 1.8rem + 2 * (100vw - 40rem) / 800, 2rem);
  }
  .heading05, .entry_wrap h5 {
    margin-bottom: 0.5em;
    border-color: var(--border_color_light);
    font-size: clamp(1.5rem, 1.5rem + 2 * (100vw - 40rem) / 800, 1.7rem);
    font-weight: bold;
  }
  .catch {
    margin-bottom: 0.5em;
    font-size: clamp(2.4rem, 2.4rem + 4 * (100vw - 40rem) / 800, 2.8rem);
    font-family: var(--txt_font_mincho);
    color: var(--txt_color_heading);
  }
  @media print, screen and (min-width: 600px) {
    .catch {
      line-height: 1.8;
    }
  }
  /* text, list */
  .texts p, .entry_wrap p,
  p.text {
    margin-bottom: 10px;
    line-height: 1.8;
  }
  .texts p a, .entry_wrap p a,
  p.text a {
    word-break: break-all;
    word-wrap: break-word;
  }
  .texts p:last-child, .entry_wrap p:last-child,
  p.text:last-child {
    margin-bottom: 0;
  }
  .texts ul, .entry_wrap ul,
  .texts ol,
  .entry_wrap ol,
  ul.text,
  ol.text {
    --icon_color: var(--list_color_base, var(--color_theme_base));
    --icon_gap: 0.2em;
  }
  .texts ul:where(:not(:last-child)), .entry_wrap ul:where(:not(:last-child)),
  .texts ol:where(:not(:last-child)),
  .entry_wrap ol:where(:not(:last-child)),
  ul.text:where(:not(:last-child)),
  ol.text:where(:not(:last-child)) {
    margin-bottom: 10px;
  }
  .texts ul > li, .entry_wrap ul > li,
  .texts ol > li,
  .entry_wrap ol > li,
  ul.text > li,
  ol.text > li {
    position: relative;
    padding-left: calc(var(--icon_size) + var(--icon_gap));
  }
  .texts ul > li::before, .entry_wrap ul > li::before,
  .texts ol > li::before,
  .entry_wrap ol > li::before,
  ul.text > li::before,
  ol.text > li::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
  }
  .texts ul > li > ul, .entry_wrap ul > li > ul,
  .texts ol > li > ul,
  .entry_wrap ol > li > ul,
  ul.text > li > ul,
  ol.text > li > ul,
  .texts ul > li > ol,
  .entry_wrap ul > li > ol,
  .texts ol > li > ol,
  .entry_wrap ol > li > ol,
  ul.text > li > ol,
  ol.text > li > ol {
    margin-top: 6px;
  }
  .texts ul > li > ol li::before, .entry_wrap ul > li > ol li::before,
  .texts ol > li > ol li::before,
  .entry_wrap ol > li > ol li::before,
  ul.text > li > ol li::before,
  ol.text > li > ol li::before {
    transform: scale(1);
  }
  .texts ul li:where(:not(:last-child)), .entry_wrap ul li:where(:not(:last-child)),
  .texts ol li:where(:not(:last-child)),
  .entry_wrap ol li:where(:not(:last-child)),
  ul.text li:where(:not(:last-child)),
  ol.text li:where(:not(:last-child)) {
    margin-bottom: 4px;
  }
  .texts ul > li::before, .entry_wrap ul > li::before,
  ul.text > li::before {
    content: "";
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    -webkit-mask: var(--icon_image, url(../images/lib/icon/dot.svg)) no-repeat center/40%;
    mask: var(--icon_image, url(../images/lib/icon/dot.svg)) no-repeat center/40%;
    translate: 0 calc((1lh - var(--icon_size)) / 2);
  }
  .texts ol, .entry_wrap ol,
  ol.text {
    counter-reset: num 0;
  }
  .texts ol > li, .entry_wrap ol > li,
  ol.text > li {
    counter-increment: num;
  }
  .texts ol > li::before, .entry_wrap ol > li::before,
  ol.text > li::before {
    content: counter(num) ". ";
    font-size: var(--icon_size);
    color: var(--list_color_base, var(--color_theme_base));
  }
  .texts ol > li ol, .entry_wrap ol > li ol,
  ol.text > li ol {
    counter-reset: childnum 0;
  }
  .texts ol > li ol li, .entry_wrap ol > li ol li,
  ol.text > li ol li {
    counter-increment: childnum;
  }
  .texts ol > li ol li::before, .entry_wrap ol > li ol li::before,
  ol.text > li ol li::before {
    content: counter(childnum) ". ";
    color: var(--icon_color);
  }
  ul[class*=icon_] > li,
  ul > li[class*=icon_] {
    --icon_gap: 0.5em;
  }
  ul[class*=icon_] > li::before,
  ul > li[class*=icon_]::before {
    -webkit-mask-size: contain;
    mask-size: contain;
  }
  .texts dl, .entry_wrap dl,
  dl.text {
    --icon_color: var(--list_color_base, var(--color_theme_base));
    --icon_gap: 0.2em;
  }
  .texts dl > dd:where(:not(:last-child)), .entry_wrap dl > dd:where(:not(:last-child)),
  dl.text > dd:where(:not(:last-child)) {
    margin-bottom: 6px;
  }
  .texts dl.ttl_color > dt, .entry_wrap dl.ttl_color > dt,
  dl.text.ttl_color > dt {
    color: var(--color_theme_base);
  }
  .texts dl.ttl_bold > dt, .entry_wrap dl.ttl_bold > dt,
  dl.text.ttl_bold > dt {
    font-weight: bold;
  }
  .texts dl.ttl_dot > dt, .entry_wrap dl.ttl_dot > dt,
  dl.text.ttl_dot > dt {
    position: relative;
    padding-left: calc(var(--icon_size) + var(--icon_gap));
  }
  .texts dl.ttl_dot > dt::after, .entry_wrap dl.ttl_dot > dt::after,
  dl.text.ttl_dot > dt::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    color: var(--list_color_base, var(--color_theme_base));
    -webkit-mask: var(--icon_image, url(../images/lib/icon/dot.svg)) no-repeat center/40%;
    mask: var(--icon_image, url(../images/lib/icon/dot.svg)) no-repeat center/40%;
    translate: 0 calc((1lh - var(--icon_size)) / 2);
  }
  /*--------------------------------------
  	table
  ---------------------------------------*/
  table tr th,
  table tr td,
  .table_type tr th,
  .table_type tr td {
    padding: 8px;
    vertical-align: top;
  }
  @media print, screen and (min-width: 600px) {
    table tr th,
    table tr td,
    .table_type tr th,
    .table_type tr td {
      padding: 15px 10px;
    }
  }
  table tr th > *:last-child,
  table tr td > *:last-child,
  .table_type tr th > *:last-child,
  .table_type tr td > *:last-child {
    margin-bottom: 0;
  }
  table tfoot tr td,
  .table_type tfoot tr td {
    padding-block: 5px;
    text-align: right;
    font-size: 1.1rem;
  }
  table + *,
  .table_type + * {
    margin-top: 8px;
  }
  table.table th,
  table.table td,
  .table_type.table th,
  .table_type.table td {
    border: 1px solid var(--table_border_color);
  }
  table.table th,
  .table_type.table th {
    background: var(--table_th_bg_color);
    color: var(--table_th_txt_color);
  }
  table.table td,
  .table_type.table td {
    background: var(--table_td_bg_color);
    color: var(--table_td_txt_color);
  }
  *:where(table, .table_type).table_line thead tr th,
  *:where(table, .table_type).table_line thead tr td,
  *:where(table, .table_type).table_line tbody tr th,
  *:where(table, .table_type).table_line tbody tr td, *:where(table, .table_type).table_line tr th,
  *:where(table, .table_type).table_line tr td {
    border-top: 1px solid var(--table_border_color);
    border-bottom: 1px solid var(--table_border_color);
  }
  *:where(table, .table_type).table_line thead tr:where(:not(:first-child)),
  *:where(table, .table_type).table_line tbody tr:where(:not(:first-child)), *:where(table, .table_type).table_line tr:where(:not(:first-child)) {
    border-top: 1px solid var(--border_color_base);
  }
  @media screen and (max-width: 599px) {
    *:where(table, .table_type).table_block_sp tbody, *:where(table, .table_type).table_block_sp {
      border: 1px solid var(--border_color_base);
    }
    *:where(table, .table_type).table_block_sp tbody tr, *:where(table, .table_type).table_block_sp tr {
      padding: 10px;
    }
    *:where(table, .table_type).table_block_sp tbody tr th,
    *:where(table, .table_type).table_block_sp tbody tr td, *:where(table, .table_type).table_block_sp tr th,
    *:where(table, .table_type).table_block_sp tr td {
      border: none;
      background-color: transparent;
    }
    *:where(table, .table_type).table_block_sp tbody tr th, *:where(table, .table_type).table_block_sp tr th {
      margin-bottom: 10px;
      padding: 0;
      font-weight: bold;
    }
    *:where(table, .table_type).table_block_sp tbody tr td, *:where(table, .table_type).table_block_sp tr td {
      padding: 0 0 0 10px;
      border: none;
    }
    *:where(table, .table_type).table_block_sp.add_thead tbody tr td::before {
      width: 60px;
    }
    *:where(table, .table_type).table_block_sp.add_thead tbody tr td > *:where(:not(:last-child)) {
      margin-right: 10px;
    }
  }
}
@layer component {
  .entry_wrap h1 {
    text-align: left;
  }
  .entry_wrap h1:not(:first-child) {
    margin-top: var(--area_margin);
  }
  .entry_wrap h3 {
    /* aaaaaaaaaaaaaaaaaaa*/
  }
  .entry_wrap h3:not(:first-child) {
    margin-top: var(--box_margin);
  }
  .entry_wrap h4:not(:first-child) {
    margin-top: var(--part_margin);
  }
  .entry_wrap h5:not(:first-child) {
    margin-top: var(--cont_margin);
  }
  .entry_wrap table th,
  .entry_wrap table td {
    border: 1px solid var(--table_border_color);
  }
  .entry_wrap table th {
    background: var(--table_th_bg_color);
    color: var(--table_th_txt_color);
  }
  .entry_wrap table td {
    background: var(--table_td_bg_color);
    color: var(--table_td_txt_color);
  }
  .entry_wrap img {
    display: inline-block;
    float: none;
    margin-bottom: 6px;
  }
  .entry_wrap a {
    word-break: break-all;
    word-wrap: break-word;
  }
  .entry_wrap blockquote {
    margin-left: 1.05em;
  }
}
/**======================================
	sidebar

		// edit-- 編集箇所
======================================**/
@layer base {
  @media print, screen and (min-width: 960px) {
    .contents:has(> .side_area) {
      container: wrapper/inline-size;
      margin-inline: auto;
      width: min(var(--wrapper_default), var(--wrapper_max));
      display: grid;
      grid-template-rows: repeat(8, min-content);
      grid-template-columns: 1fr 25%;
      gap: 0 5%;
      margin-top: var(--area_margin);
    }
  }
  @media print, screen and (min-width: 960px) {
    .contents:has(> .side_area) .area > * {
      --wrapper_default: 100%;
      --wrapper_max: 100%;
    }
  }
  @media print, screen and (min-width: 960px) {
    .contents:has(> .side_area) .area:where(:not(.side_area)) {
      grid-row: auto;
      grid-column: 1;
      margin-bottom: var(--area_margin);
      padding: 0;
      min-width: 0;
      overflow-x: visible;
    }
  }
  @media print, screen and (min-width: 960px) {
    .contents:has(> .side_area) .area:where(:not(.side_area)) .hgroup .heading02,
    .contents:has(> .side_area) .area:where(:not(.side_area)) .hgroup .heading_sub,
    .contents:has(> .side_area) .area:where(:not(.side_area)) .hgroup .date {
      text-align: left;
    }
  }
  .contents:has(> .side_area) .area.side_area {
    --box_margin: 30px;
  }
  @media print, screen and (min-width: 960px) {
    .contents:has(> .side_area) .area.side_area {
      grid-row: 1/-1;
      grid-column: 2;
      padding-top: 0;
    }
  }
  @media print, screen and (min-width: 960px) {
    .contents:has(> .side_area) .area.side_area.sticky {
      position: sticky;
      top: calc(var(--header_height_total) + 20px);
      margin-bottom: auto !important;
      transition: 0.5s;
    }
  }
  @media print, screen and (min-width: 960px) {
    .contents:has(> .side_area) .area.side_area .box.side_box.sticky {
      position: sticky;
      top: calc(var(--header_height_total) + 20px);
      background: #fff;
      transition: 0.5s;
    }
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .heading_side {
    margin-bottom: 10px;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--txt_color_heading);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .heading_side:where(:not(:first-child)) {
    margin-top: clamp(25px, 25px + 5 * (100vw - 400px) / 800, 30px);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav {
    --icon_image: url(../images/lib/icon/angle_right.svg);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li:first-child {
    border-top: 1px solid var(--border_color_base);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li {
    border-bottom: 1px solid var(--border_color_base);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li * {
    transition: color 0.3s;
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a {
    display: block;
    padding: 15px;
    text-decoration: none;
    cursor: pointer;
    transition: 0.3s;
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a span {
    position: relative;
    display: block;
    padding-left: calc(var(--icon_size) + var(--icon_gap));
    font-size: 1.3rem;
    color: var(--txt_color_base);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: 0;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    font-size: inherit;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
    translate: 0 calc((1lh - var(--icon_size)) / 2);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a:hover span {
    color: var(--color_theme_base);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.current span {
    color: rgba(var(--txt_color_base), 0.5);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.sidenav_openclose_handle.plus {
    --icon_image: url(../images/lib/icon/plus.svg);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.sidenav_openclose_handle.minus {
    --icon_image: url(../images/lib/icon/minus.svg);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child {
    margin-bottom: 6px;
    margin-left: 15px;
    border-top: none;
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child li {
    border-top: none;
    border-bottom: none;
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child li a {
    padding-block: 8px;
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li ul.child li:first-child a {
    padding-top: 0;
  }
}
/* component */
@layer component {
  .search_wrap {
    --icon_size: 24px;
    position: relative;
    width: min(100%, 400px);
  }
  .search_wrap .input_wrap {
    flex-grow: 1;
  }
  .search_wrap .input_wrap input {
    padding-right: calc(var(--icon_size) + 15px);
    width: 100%;
    min-height: 0;
    outline: none;
    box-shadow: none;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item {
    padding: 0;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item > * {
    flex-grow: 1;
    margin: 0;
    padding: var(--btn_pd_block) var(--btn_pd_inline) var(--btn_pd_block) calc(var(--btn_pd_inline) + var(--icon_size));
    border: 2px solid var(--border_color_light);
    border-radius: var(--btn_radius);
    transition: 0.3s;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item > *::before, .radio_sample_xxxx_list label.radio_sample_xxxx_item > *::after {
    top: 0;
    bottom: 0;
    left: 10px;
    margin-block: auto;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item:has(input:checked) > * {
    border-color: var(--form_input_border_focus);
    background: var(--form_input_border_focus);
    font-weight: bold;
    color: #fff;
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item {
    padding: 10px;
    border: 2px solid var(--border_color_light);
    transition: 0.3s;
    --image_texts_imagesize: 50px;
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item > *::before, .radio_sample_yyyy_list label.radio_sample_yyyy_item > *::after {
    display: none;
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item .image_item,
  .radio_sample_yyyy_list label.radio_sample_yyyy_item .texts_item {
    display: block;
    margin: 0;
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item .texts_item > * {
    display: block;
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item .texts_item .ttl {
    margin-bottom: 0.3em;
    font-weight: bold;
    color: var(--txt_color_heading);
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item:has(input:checked) {
    border-color: var(--form_input_border_focus);
    background: var(--form_input_bg_focus);
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item:has(input:checked) .texts_item .ttl {
    color: var(--form_input_border_focus);
  }
}
/*--------------------------------------

	ct24から _contents.scss より分離
	headingなど基礎パーツは _component.scss に記述してください。
	（レイヤー優先度 は contents ・ libよりも高いです）

---------------------------------------*/
@layer component {
  .bg_base {
    background: var(--bg_color_base) !important;
  }
  .bg_sub {
    background: var(--bg_color_sub) !important;
  }
  .texts .big,
  p.text.big {
    font-size: 1.2em;
  }
  .texts .small,
  p.text.small {
    font-size: 0.8em;
  }
  .texts strong.big,
  .texts span.big,
  .texts span.small {
    display: inline-block;
  }
  .marker {
    background: linear-gradient(transparent 75%, rgba(255, 255, 0, 0.9) 25%);
  }
  .caption {
    margin-top: 8px;
    font-size: 1.3rem;
    line-height: 1.3;
  }
  .supple {
    font-size: 1.2rem;
  }
  .caution {
    color: var(--color_util_caution);
  }
  .accent {
    color: var(--color_util_accent);
  }
  .link_arrow, ul.ul_arrow > li,
  .texts ul.ul_arrow > li {
    --icon_image: url(../images/lib/icon/angle_right.svg);
    --icon_gap: 0.2em;
    position: relative;
    padding-left: calc(var(--icon_size) + var(--icon_gap));
  }
  .link_arrow::before, ul.ul_arrow > li::before,
  .texts ul.ul_arrow > li::before {
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background-color: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
    translate: 0 calc((1lh - var(--icon_size)) / 2);
  }
  .link_external::after,
  .link_sscroll::after,
  .link_parent::after {
    --icon_color: var(--txt_color_base);
    content: "";
    display: inline-block;
    margin-left: 5px;
    width: 1em;
    aspect-ratio: 1/1;
    background: var(--icon_color);
    font-size: 0.9em;
    vertical-align: middle;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
    transform: scale(0.8);
  }
  .link_external::after {
    --icon_image: url(../images/lib/icon/link_blank.svg);
  }
  .link_sscroll::after {
    --icon_image: url(../images/lib/icon/angle_double_down.svg);
  }
  .link_parent::after {
    --icon_image: url(../images/lib/icon/angle_right.svg);
    margin-right: 5px;
  }
  ul.ul_line > li::before,
  .texts ul.ul_line > li::before {
    background: linear-gradient(var(--list_color_base, var(--color_theme_base)), var(--list_color_base, var(--color_theme_base))) no-repeat center/80% 1px;
    -webkit-mask: none;
    mask: none;
  }
  ul.ol_circle > li,
  .texts ol.ol_circle > li {
    padding-left: 2em;
    counter-increment: num;
  }
  ul.ol_circle > li::before, ul.ol_circle > li::after,
  .texts ol.ol_circle > li::before,
  .texts ol.ol_circle > li::after {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.6em;
    aspect-ratio: 1/1;
    transform: scale(0.8);
  }
  ul.ol_circle > li::before,
  .texts ol.ol_circle > li::before {
    content: counter(num);
    z-index: 3;
    font-weight: bold;
    color: white;
  }
  ul.ol_circle > li::after,
  .texts ol.ol_circle > li::after {
    content: "";
    z-index: 2;
    border-radius: 50%;
    background-color: var(--list_color_base, var(--color_theme_base));
  }
  .circle_cf_ol {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    background-color: var(--list_color_base, var(--color_theme_base));
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;
    color: white;
  }
  ul.kome > li::before {
    content: "※";
    font-size: var(--icon_size);
    color: transparent;
    -webkit-mask: none;
    mask: none;
    -webkit-background-clip: text;
    background-clip: text;
  }
  ul.ol_kome > li,
  .texts ol.ol_kome > li {
    padding-left: 2em;
    counter-increment: num;
  }
  ul.ol_kome > li::before,
  .texts ol.ol_kome > li::before {
    content: "* " counter(num) " ";
    font-weight: bold;
    color: var(--list_color_base, var(--color_theme_base));
  }
  .list_kome {
    position: relative;
    padding-left: 1.5em;
    list-style: none;
  }
  .list_kome::before {
    content: "※";
    position: absolute;
    left: 0;
    display: block;
  }
  .list_kome .center::before, .list_kome .left::before {
    position: static;
    display: inline-block;
    margin-right: 0.5em;
  }
  @media screen and (max-width: 599px) {
    .list_kome .center_sp::before, .list_kome .left_sp::before, .list_kome .center_sp_tb::before, .list_kome .left_sp_tb::before {
      position: static;
      display: inline-block;
      margin-right: 0.5em;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .list_kome .center_sp_tb::before, .list_kome .left_sp_tb::before, .list_kome .center_tb::before, .list_kome .left_tb::before, .list_kome .center_tb_pc::before, .list_kome .left_tb_pc::before {
      position: static;
      display: inline-block;
      margin-right: 0.5em;
    }
  }
  @media print, screen and (min-width: 960px) {
    .list_kome .center_tb_pc::before, .list_kome .left_tb_pc::before, .list_kome .center_pc::before, .list_kome .left_pc::before {
      position: static;
      display: inline-block;
      margin-right: 0.5em;
    }
  }
  @media screen and (min-width: 1200px) {
    .list_kome .center_lg::before, .list_kome .left_lg::before {
      position: static;
      display: inline-block;
      margin-right: 0.5em;
    }
  }
  .mark, .mark_list li a, .mark_list li:not(:has(> a)) {
    flex-shrink: 0;
    display: inline-block;
    padding: 0.2em 1.5em;
    border: 1px solid var(--border_color_base);
    border-radius: 2em;
    background: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1.3rem;
    line-height: 1.3;
    color: var(--txt_color_base);
    letter-spacing: normal;
    transition: 0.3s;
  }
  a.mark:hover, .mark_list li a:hover {
    background: var(--color_theme_base);
    color: #fff;
  }
  .mark_list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: flex-start;
  }
  .mark_list li:not(:has(> a)) {
    display: block;
  }
  .mark_list li a {
    display: block;
  }
  .mark_ttl,
  .mark_freedial {
    display: flex;
    gap: 0 min(0.5em, 15px);
    align-items: center;
  }
  .mark_ttl::before,
  .mark_freedial::before {
    width: 3em;
    text-align: center;
    font-size: 0.7em;
    color: white;
  }
  .mark_ttl a,
  .mark_freedial a {
    color: inherit;
  }
  .mark_ttl::before {
    content: attr(title);
    background-color: var(--list_color_base, var(--color_theme_base));
  }
  .mark_freedial::before {
    content: "";
    align-self: stretch;
    background: url(../images/lib/parts/icon_freedial.svg) no-repeat center/100%;
  }
  .pdf_mark,
  .excel_mark,
  .word_mark {
    display: inline-block;
    margin-inline: 10px;
    padding: 2px 4px;
    font-size: 0.9rem;
    line-height: 1;
    color: white;
  }
  .pdf_mark {
    background: var(--color_util_file_pdf);
  }
  .excel_mark {
    background: var(--color_util_file_excel);
  }
  .word_mark {
    background: var(--color_util_file_word);
  }
  .pic.frame,
  .object_fit.frame {
    padding: 4px;
    border: 1px solid var(--border_color_base);
  }
  .pic.border,
  .object_fit.border {
    border: 1px solid var(--border_color_base);
  }
  .hover_zoom {
    overflow: hidden;
  }
  .hover_zoom:hover img,
  .hover_zoom a:hover img {
    transform: scale(1.2);
  }
  .hover_opacity:hover img,
  .hover_opacity a:hover img {
    opacity: 0.7;
  }
  .cover_wrap {
    position: relative;
    padding: clamp(10px, 10px + 10 * (100vw - 400px) / 800, 20px);
    border: 1px solid var(--border_color_base);
    border-radius: var(--radius_base);
    background: white;
  }
  .cover_wrap .heading_in_cover {
    position: relative;
    display: block;
    margin-bottom: 10px;
    padding-bottom: 5px;
    padding-left: 1.5em;
    border-bottom: 1px solid var(--border_color_base);
    font-weight: bold;
    line-height: 1.8;
  }
  .cover_wrap .heading_in_cover::before {
    content: "";
    position: absolute;
    left: 0;
    width: 1em;
    aspect-ratio: 1/1;
    background-color: var(--color_theme_base);
    -webkit-mask: url(../images/lib/icon/edit.svg) no-repeat center/contain;
    mask: url(../images/lib/icon/edit.svg) no-repeat center/contain;
  }
  .cover_wrap > *:last-child {
    margin-bottom: 0;
  }
  .openclose_wrap .openclose_handle {
    cursor: pointer;
  }
  .openclose_wrap .openclose_handle:not(.btn_sp) {
    --icon_size: 1.3em;
  }
  .openclose_wrap .openclose_handle:not(.btn_sp) > span {
    position: relative;
    display: block;
    padding-left: calc(var(--icon_size) + var(--icon_gap));
    font-weight: bold;
    transition: 0.3s;
  }
  .openclose_wrap .openclose_handle:not(.btn_sp) > span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: 0;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    font-size: inherit;
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
    translate: 0 calc((1lh - var(--icon_size)) / 2);
  }
  .openclose_wrap .openclose_handle.plus {
    --icon_image: url(../images/lib/icon/plus_circle.svg);
  }
  .openclose_wrap .openclose_handle.minus {
    --icon_image: url(../images/lib/icon/minus_circle.svg);
  }
  .openclose_wrap .openclose_handle:hover:not(.btn_sp) > span {
    color: var(--color_theme_base);
  }
  .openclose_wrap .openclose_target {
    margin-bottom: 0;
    padding-block: 15px;
  }
  .openclose_wrap .openclose_target > *:last-child {
    margin-bottom: 0;
  }
  @media screen and (max-width: 599px) {
    .openclose_wrap:has(> .openclose_handle.btn_sp) {
      border: 1px solid var(--btn_color_border);
      border-radius: var(--btn_radius);
      overflow: hidden;
    }
    .openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp {
      --btn_radius: 0;
    }
    .openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp > * {
      border: none;
    }
    .openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_target {
      padding-inline: 15px;
    }
    .openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_target.btn_group_sp {
      --btn_radius: 0;
      padding: 0;
      border: none;
    }
    .openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp.plus {
      --icon_image: url(../images/lib/icon/plus.svg);
    }
    .openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp.minus {
      --icon_image: url(../images/lib/icon/minus.svg);
    }
  }
  .step_list {
    --circle_size: 30px;
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: space-between;
    margin-inline: auto;
    width: 80%;
    max-width: 600px;
  }
  @media print, screen and (min-width: 960px) {
    .step_list {
      --circle_size: 40px;
    }
  }
  .step_list::before {
    content: "";
    position: absolute;
    top: calc(var(--circle_size) / 2);
    right: 0;
    left: 0;
    z-index: -1;
    display: block;
    margin: auto;
    width: calc(100% - 40px);
    height: 4px;
    background-color: var(--border_color_light);
  }
  .step_list .step_item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 30px;
  }
  .step_list .step_item .step_num {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    width: var(--circle_size);
    height: var(--circle_size);
    background-color: black;
    font-size: calc(var(--circle_size) / 2);
    font-weight: bold;
    line-height: 1;
    color: white;
  }
  .step_list .step_item .step_text {
    position: absolute;
    top: calc(var(--circle_size) + 10px);
    left: 50%;
    text-align: center;
    font-size: 1.2rem;
    white-space: nowrap;
    transform: translateX(-50%);
  }
  .step_list .step_item.current .step_num {
    background-color: var(--color_theme_base);
    color: white;
  }
  .tel_wrap {
    display: flex;
    flex-direction: column;
    -moz-column-gap: 20px;
    column-gap: 20px;
    margin-inline: auto;
    padding: 20px 15px;
    border: 1px solid var(--border_color_base);
    width: min(100%, 600px);
    background-color: white;
  }
  @media print, screen and (min-width: 600px) {
    .tel_wrap {
      flex-direction: row;
      align-items: center;
      justify-content: center;
    }
  }
  @media print, screen and (min-width: 600px) {
    .tel_wrap .tel_item {
      margin-bottom: 0;
    }
  }
  .tel_wrap .tel_item .tel {
    font-size: clamp(2.8rem, 2.8rem + 12 * (100vw - 40rem) / 800, 4rem);
  }
  @media print, screen and (min-width: 960px) {
    .tel_wrap .tel_item .tel {
      font-weight: 500;
    }
  }
  .tel_wrap .tel_item .tel a {
    text-decoration-color: #ccc;
    font-weight: bold;
    line-height: 1;
    color: black;
    letter-spacing: 0.06em;
    white-space: nowrap;
  }
  .tel_wrap .supple_item {
    font-size: 1.3rem;
  }
  .error_box .part {
    text-align: center;
  }
  .error_box .part::before {
    content: "";
    display: inline-block;
    width: 50px;
    aspect-ratio: 1/1;
    background-color: #c90;
    text-align: center;
    -webkit-mask: url(../images/lib/icon/warning.svg) no-repeat center/contain;
    mask: url(../images/lib/icon/warning.svg) no-repeat center/contain;
  }
  .error_box .part p.error_text {
    margin: 30px 0 45px;
  }
  .error_box .part p.error_text span {
    font-size: 2.8rem;
    line-height: 2.8rem;
    color: black;
  }
  .meta_cont {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .meta_cont .meta_date time {
    font-size: 1.2rem;
  }
  .meta_cont .meta_tag li {
    display: inline-block;
  }
  .meta_cont .meta_tag li a {
    display: block;
    padding: 5px;
    border: 1px solid;
    border-color: var(--border_color_base);
    border-radius: 3px;
    background-color: white;
    text-decoration: none;
    font-size: 1rem;
    line-height: 1;
    transition: all 0.3s;
  }
  .meta_cont .meta_tag li a:hover {
    background-color: var(--border_color_base);
    color: white;
  }
  .chart_arrow_list .chart_arrow_item {
    --icon_gap: 10px;
    --icon_size: 40px;
    --icon_image: url(../images/lib/icon/arrow_down.svg);
  }
  .chart_arrow_list .chart_arrow_item:not(:last-child) {
    position: relative;
    margin-bottom: 0;
    padding-bottom: calc(var(--icon_size) + var(--icon_gap) * 2);
  }
  .chart_arrow_list .chart_arrow_item:not(:last-child)::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: var(--icon_gap);
    left: 0;
    display: block;
    margin-inline: auto;
    width: var(--icon_size);
    aspect-ratio: 1/1;
    background: var(--icon_color);
    -webkit-mask: var(--icon_image) no-repeat center/contain;
    mask: var(--icon_image) no-repeat center/contain;
  }
  @media print, screen and (min-width: 600px) {
    .map_wrap {
      display: grid;
      grid-template-columns: 1fr auto;
    }
  }
  @media print, screen and (min-width: 600px) {
    .map_wrap .googlemap_wrap {
      grid-column: 1/3;
    }
  }
  .googlemap_wrap {
    border: 1px solid var(--border_color_base);
  }
  .googlemap_wrap iframe {
    display: block;
    width: 100%;
    aspect-ratio: 7/5;
  }
  .tab_wrap {
    border: 1px solid var(--border_color_base);
    border-radius: var(--radius_base);
    overflow: hidden;
  }
  .tab_wrap .tab_handle_set {
    --clm_gap: 2px;
    position: relative;
    margin-bottom: 0;
  }
  .tab_wrap .tab_handle_set::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--border_color_base);
  }
  .tab_wrap .tab_handle_set > * {
    z-index: 1;
  }
  .tab_wrap .tab_handle_set > * > * {
    display: block;
    padding: 15px;
    background: var(--color_theme_base);
    text-align: center;
    font-weight: bold;
    color: #fff;
  }
  .tab_wrap .tab_handle_set > *.current {
    z-index: 3;
  }
  .tab_wrap .tab_handle_set > *.current > * {
    border-bottom-color: transparent;
    background-color: white;
    color: var(--txt_color_base);
  }
  .tab_wrap .tab_target {
    padding: 15px;
    background-color: white;
  }
  .tab_wrap .tab_handle_set:not([class*=clm]) {
    display: flex;
  }
  .tab_wrap .tab_handle_set:not([class*=clm]):not(.current_grow) > * {
    flex: 1;
  }
  .nav_btn {
    --icon_size: 60%;
    --icon_image: url(../images/lib/icon/angle_right.svg);
    --icon_color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color_theme_base);
    border-radius: 50%;
    width: 40px;
    aspect-ratio: 1/1;
    background-color: var(--color_theme_base);
    transition: 0.3s;
  }
  .nav_btn::before {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .nav_btn.prev {
    translate: 10px;
  }
  @media print, screen and (min-width: 960px) {
    .nav_btn.prev {
      translate: -10px;
    }
  }
  .nav_btn.next {
    translate: -10px;
  }
  @media print, screen and (min-width: 960px) {
    .nav_btn.next {
      translate: 10px;
    }
  }
  .nav_btn:hover {
    --icon_color: var(--color_theme_base);
    background: #fff;
  }
  .gallery_wrap {
    --clm_gap: 5px;
  }
  .gallery_wrap .gallery_target {
    margin-bottom: var(--clm_gap);
  }
  .gallery_wrap .gallery_handles > * .object_fit {
    border: 1px solid var(--border_color_base);
  }
  @media print, screen and (min-width: 960px) {
    .gallery_wrap .gallery_handles > *:hover {
      opacity: 0.5;
    }
  }
  @media print, screen and (min-width: 600px) {
    .gallery_wrap .gallery_handles > .current {
      opacity: 0.5;
    }
  }
  .snap_wrap {
    --clm_gap: 5px;
  }
  .snap_wrap .snap_handles > * .object_fit {
    border: 1px solid var(--border_color_base);
  }
  @media print, screen and (min-width: 960px) {
    .snap_wrap .snap_handles > *:hover {
      opacity: 0.5;
    }
  }
  @media print, screen and (min-width: 600px) {
    .snap_wrap .snap_handles > .current {
      opacity: 0.5;
    }
  }
}
@layer component {
  .xx_yyy01,
  .bc_xx_yyy01,
  label:has(.xx_yyy01) {
    --text_icon_bg: var(--color_xx_yyy01);
    --btn_color_base: var(--color_xx_yyy01);
    --form_input_checked: var(--color_xx_yyy01);
    --app_color: var(--color_xx_yyy01);
  }
  .xx_yyy02,
  .bc_xx_yyy02,
  label:has(.xx_yyy02) {
    --text_icon_bg: var(--color_xx_yyy02);
    --btn_color_base: var(--color_xx_yyy02);
    --form_input_checked: var(--color_xx_yyy02);
    --app_color: var(--color_xx_yyy02);
  }
  .xx_yyy03,
  .bc_xx_yyy03,
  label:has(.xx_yyy03) {
    --text_icon_bg: var(--color_xx_yyy03);
    --btn_color_base: var(--color_xx_yyy03);
    --form_input_checked: var(--color_xx_yyy03);
    --app_color: var(--color_xx_yyy03);
  }
  .xx_yyy04,
  .bc_xx_yyy04,
  label:has(.xx_yyy04) {
    --text_icon_bg: var(--color_xx_yyy04);
    --btn_color_base: var(--color_xx_yyy04);
    --form_input_checked: var(--color_xx_yyy04);
    --app_color: var(--color_xx_yyy04);
  }
  .xx_yyy05,
  .bc_xx_yyy05,
  label:has(.xx_yyy05) {
    --text_icon_bg: var(--color_xx_yyy05);
    --btn_color_base: var(--color_xx_yyy05);
    --form_input_checked: var(--color_xx_yyy05);
    --app_color: var(--color_xx_yyy05);
  }
  .xx_yyy06,
  .bc_xx_yyy06,
  label:has(.xx_yyy06) {
    --text_icon_bg: var(--color_xx_yyy06);
    --btn_color_base: var(--color_xx_yyy06);
    --form_input_checked: var(--color_xx_yyy06);
    --app_color: var(--color_xx_yyy06);
  }
  .step_temp,
  .bc_step_temp,
  label:has(.step_temp) {
    --text_icon_bg: var(--color_step_temp);
    --btn_color_base: var(--color_step_temp);
    --form_input_checked: var(--color_step_temp);
    --app_color: var(--color_step_temp);
  }
  .step_order,
  .bc_step_order,
  label:has(.step_order) {
    --text_icon_bg: var(--color_step_order);
    --btn_color_base: var(--color_step_order);
    --form_input_checked: var(--color_step_order);
    --app_color: var(--color_step_order);
  }
  .step_pay,
  .bc_step_pay,
  label:has(.step_pay) {
    --text_icon_bg: var(--color_step_pay);
    --btn_color_base: var(--color_step_pay);
    --form_input_checked: var(--color_step_pay);
    --app_color: var(--color_step_pay);
  }
  .step_adj,
  .bc_step_adj,
  label:has(.step_adj) {
    --text_icon_bg: var(--color_step_adj);
    --btn_color_base: var(--color_step_adj);
    --form_input_checked: var(--color_step_adj);
    --app_color: var(--color_step_adj);
  }
  .step_fix,
  .bc_step_fix,
  label:has(.step_fix) {
    --text_icon_bg: var(--color_step_fix);
    --btn_color_base: var(--color_step_fix);
    --form_input_checked: var(--color_step_fix);
    --app_color: var(--color_step_fix);
  }
  .step_end,
  .bc_step_end,
  label:has(.step_end) {
    --text_icon_bg: var(--color_step_end);
    --btn_color_base: var(--color_step_end);
    --form_input_checked: var(--color_step_end);
    --app_color: var(--color_step_end);
  }
  .step_comp,
  .bc_step_comp,
  label:has(.step_comp) {
    --text_icon_bg: var(--color_step_comp);
    --btn_color_base: var(--color_step_comp);
    --form_input_checked: var(--color_step_comp);
    --app_color: var(--color_step_comp);
  }
  .step_trouble,
  .bc_step_trouble,
  label:has(.step_trouble) {
    --text_icon_bg: var(--color_step_trouble);
    --btn_color_base: var(--color_step_trouble);
    --form_input_checked: var(--color_step_trouble);
    --app_color: var(--color_step_trouble);
  }
  .step_dead,
  .bc_step_dead,
  label:has(.step_dead) {
    --text_icon_bg: var(--color_step_dead);
    --btn_color_base: var(--color_step_dead);
    --form_input_checked: var(--color_step_dead);
    --app_color: var(--color_step_dead);
  }
  .step_delete,
  .bc_step_delete,
  label:has(.step_delete) {
    --text_icon_bg: var(--color_step_delete);
    --btn_color_base: var(--color_step_delete);
    --form_input_checked: var(--color_step_delete);
    --app_color: var(--color_step_delete);
  }
  .step_nofix,
  .bc_step_nofix,
  label:has(.step_nofix) {
    --text_icon_bg: var(--color_step_nofix);
    --btn_color_base: var(--color_step_nofix);
    --form_input_checked: var(--color_step_nofix);
    --app_color: var(--color_step_nofix);
  }
  .step_ocr_matched,
  .bc_step_ocr_matched,
  label:has(.step_ocr_matched) {
    --text_icon_bg: var(--color_step_ocr_matched);
    --btn_color_base: var(--color_step_ocr_matched);
    --form_input_checked: var(--color_step_ocr_matched);
    --app_color: var(--color_step_ocr_matched);
  }
  .step_dete_backed,
  .bc_step_dete_backed,
  label:has(.step_dete_backed) {
    --text_icon_bg: var(--color_step_dete_backed);
    --btn_color_base: var(--color_step_dete_backed);
    --form_input_checked: var(--color_step_dete_backed);
    --app_color: var(--color_step_dete_backed);
  }
  .step_customer_signed,
  .bc_step_customer_signed,
  label:has(.step_customer_signed) {
    --text_icon_bg: var(--color_step_customer_signed);
    --btn_color_base: var(--color_step_customer_signed);
    --form_input_checked: var(--color_step_customer_signed);
    --app_color: var(--color_step_customer_signed);
  }
  .step_cancel,
  .bc_step_cancel,
  label:has(.step_cancel) {
    --text_icon_bg: var(--color_step_cancel);
    --btn_color_base: var(--color_step_cancel);
    --form_input_checked: var(--color_step_cancel);
    --app_color: var(--color_step_cancel);
  }
  .user_user01,
  .bc_user_user01,
  label:has(.user_user01) {
    --text_icon_bg: var(--color_user_user01);
    --btn_color_base: var(--color_user_user01);
    --form_input_checked: var(--color_user_user01);
    --app_color: var(--color_user_user01);
  }
  .user_user02,
  .bc_user_user02,
  label:has(.user_user02) {
    --text_icon_bg: var(--color_user_user02);
    --btn_color_base: var(--color_user_user02);
    --form_input_checked: var(--color_user_user02);
    --app_color: var(--color_user_user02);
  }
  .user_user03,
  .bc_user_user03,
  label:has(.user_user03) {
    --text_icon_bg: var(--color_user_user03);
    --btn_color_base: var(--color_user_user03);
    --form_input_checked: var(--color_user_user03);
    --app_color: var(--color_user_user03);
  }
  .field_field1,
  .bc_field_field1,
  label:has(.field_field1) {
    --text_icon_bg: var(--color_field_field1);
    --btn_color_base: var(--color_field_field1);
    --form_input_checked: var(--color_field_field1);
    --app_color: var(--color_field_field1);
  }
  .field_field2,
  .bc_field_field2,
  label:has(.field_field2) {
    --text_icon_bg: var(--color_field_field2);
    --btn_color_base: var(--color_field_field2);
    --form_input_checked: var(--color_field_field2);
    --app_color: var(--color_field_field2);
  }
  .field_field3,
  .bc_field_field3,
  label:has(.field_field3) {
    --text_icon_bg: var(--color_field_field3);
    --btn_color_base: var(--color_field_field3);
    --form_input_checked: var(--color_field_field3);
    --app_color: var(--color_field_field3);
  }
  .field_field4,
  .bc_field_field4,
  label:has(.field_field4) {
    --text_icon_bg: var(--color_field_field4);
    --btn_color_base: var(--color_field_field4);
    --form_input_checked: var(--color_field_field4);
    --app_color: var(--color_field_field4);
  }
  .field_field5,
  .bc_field_field5,
  label:has(.field_field5) {
    --text_icon_bg: var(--color_field_field5);
    --btn_color_base: var(--color_field_field5);
    --form_input_checked: var(--color_field_field5);
    --app_color: var(--color_field_field5);
  }
  .field_field6,
  .bc_field_field6,
  label:has(.field_field6) {
    --text_icon_bg: var(--color_field_field6);
    --btn_color_base: var(--color_field_field6);
    --form_input_checked: var(--color_field_field6);
    --app_color: var(--color_field_field6);
  }
  .field_field7,
  .bc_field_field7,
  label:has(.field_field7) {
    --text_icon_bg: var(--color_field_field7);
    --btn_color_base: var(--color_field_field7);
    --form_input_checked: var(--color_field_field7);
    --app_color: var(--color_field_field7);
  }
  .util_caution,
  .bc_util_caution,
  label:has(.util_caution) {
    --text_icon_bg: var(--color_util_caution);
    --btn_color_base: var(--color_util_caution);
    --form_input_checked: var(--color_util_caution);
    --app_color: var(--color_util_caution);
  }
  .util_accent,
  .bc_util_accent,
  label:has(.util_accent) {
    --text_icon_bg: var(--color_util_accent);
    --btn_color_base: var(--color_util_accent);
    --form_input_checked: var(--color_util_accent);
    --app_color: var(--color_util_accent);
  }
  .util_info,
  .bc_util_info,
  label:has(.util_info) {
    --text_icon_bg: var(--color_util_info);
    --btn_color_base: var(--color_util_info);
    --form_input_checked: var(--color_util_info);
    --app_color: var(--color_util_info);
  }
  .texticon {
    display: inline-block;
    margin: 0;
    padding: 8px;
    border-radius: 5px;
    width: 100px;
    background-color: var(--text_icon_bg, var(--btn_color_bg));
    text-align: center;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
  }
  .texticon.zero {
    opacity: 0.3;
  }
  .news_archive_list {
    display: grid;
    gap: 0 5%;
  }
  @media print, screen and (min-width: 600px) {
    .news_archive_list {
      grid-template-columns: auto 1fr;
    }
  }
  .news_archive_list .news_item {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: subgrid;
    align-items: baseline;
    margin-bottom: 0;
    padding-block: 15px;
  }
  .news_archive_list .news_item .date {
    font-size: 1.2rem;
    font-weight: bold;
  }
  .news_archive_list .news_item:not(:last-child) {
    border-bottom: 1px solid var(--border_color_base);
  }
  .archive_table_grid {
    --txt_color_link: #296bdf;
    --icon_color: #000;
    --icon_gap: 0.3em;
    display: grid;
    grid-template-columns: 5em 1fr 1fr repeat(2, auto);
    font-size: clamp(1.2rem, 1.2rem + 2 * (100vw - 40rem) / 800, 1.4rem);
  }
  @media print, screen and (min-width: 600px) {
    .archive_table_grid {
      grid-template-columns: 6.5em 8em 11em repeat(2, auto);
    }
  }
  @media print, screen and (min-width: 960px) {
    .archive_table_grid {
      grid-template-columns: 6.5em 6em 10em auto 8em repeat(3, auto);
    }
  }
  .archive_table_grid .thead,
  .archive_table_grid .tbody {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: subgrid;
  }
  .archive_table_grid .thead .tr,
  .archive_table_grid .tbody .tr {
    grid-column: 1/-1;
    display: grid;
    grid-template-areas: "step client_name report client_tel" "step no no no" "step acceptance_date acceptance_date acceptance_date" "step work_at work_at work_at" "step client_item client_item client_item";
    grid-template-columns: subgrid;
    gap: 5px 15px;
    padding: 10px;
    border-bottom: 1px solid var(--border_color_light);
  }
  @media print, screen and (min-width: 600px) {
    .archive_table_grid .thead .tr,
    .archive_table_grid .tbody .tr {
      grid-template-areas: "step client_name client_tel acceptance_date client_item" "step no report work_at client_item";
    }
  }
  @media print, screen and (min-width: 960px) {
    .archive_table_grid .thead .tr,
    .archive_table_grid .tbody .tr {
      grid-template-areas: "no step client_name client_tel client_item report acceptance_date work_at";
      gap: 0;
      padding: 0;
    }
  }
  .archive_table_grid .thead .tr :is(.th, .td),
  .archive_table_grid .tbody .tr :is(.th, .td) {
    display: grid;
    -moz-column-gap: 12px;
    column-gap: 12px;
    align-items: baseline;
  }
  @media print, screen and (min-width: 960px) {
    .archive_table_grid .thead .tr :is(.th, .td),
    .archive_table_grid .tbody .tr :is(.th, .td) {
      align-items: center;
      padding-inline: 10px;
    }
  }
  .archive_table_grid .thead .tr :is(.th, .td).step,
  .archive_table_grid .tbody .tr :is(.th, .td).step {
    grid-area: step;
    grid-template-rows: subgrid;
  }
  .archive_table_grid .thead .tr :is(.th, .td).step .texticon,
  .archive_table_grid .tbody .tr :is(.th, .td).step .texticon {
    order: -1;
    width: auto;
    font-size: 1rem;
  }
  @media print, screen and (min-width: 960px) {
    .archive_table_grid .thead .tr :is(.th, .td).step .texticon,
    .archive_table_grid .tbody .tr :is(.th, .td).step .texticon {
      order: 0;
    }
  }
  .archive_table_grid .thead .tr :is(.th, .td).no,
  .archive_table_grid .tbody .tr :is(.th, .td).no {
    grid-area: no;
  }
  .archive_table_grid .thead .tr :is(.th, .td).client_name,
  .archive_table_grid .tbody .tr :is(.th, .td).client_name {
    grid-area: client_name;
    grid-template-rows: subgrid;
  }
  .archive_table_grid .thead .tr :is(.th, .td).client_name .name,
  .archive_table_grid .tbody .tr :is(.th, .td).client_name .name {
    display: inline-block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
  }
  .archive_table_grid .thead .tr :is(.th, .td).client_item,
  .archive_table_grid .tbody .tr :is(.th, .td).client_item {
    grid-area: client_item;
  }
  .archive_table_grid .thead .tr :is(.th, .td).client_item p > * > *,
  .archive_table_grid .tbody .tr :is(.th, .td).client_item p > * > * {
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .archive_table_grid .thead .tr :is(.th, .td).client_item p > * > *,
    .archive_table_grid .tbody .tr :is(.th, .td).client_item p > * > * {
      max-width: 100px;
    }
  }
  @media screen and (max-width: 599px) {
    .archive_table_grid .thead .tr :is(.th, .td).client_tel, .archive_table_grid .thead .tr :is(.th, .td).report,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel,
    .archive_table_grid .tbody .tr :is(.th, .td).report {
      margin-left: auto;
    }
    .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn, .archive_table_grid .thead .tr :is(.th, .td).report a.btn,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn {
      position: relative;
      margin-left: auto;
    }
    .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn::before, .archive_table_grid .thead .tr :is(.th, .td).report a.btn::before,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn::before,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn::before {
      content: "";
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      z-index: 1;
      display: block;
      margin: auto;
      width: var(--icon_size);
      aspect-ratio: 1/1;
      font-size: inherit;
      transition: var(--btn_transition);
      transform: scale(1) translateY(-40%);
    }
    .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn > *, .archive_table_grid .thead .tr :is(.th, .td).report a.btn > *,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn > *,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn > * {
      padding: 12px;
      width: 1em;
      aspect-ratio: 1/1;
      font-size: 0;
    }
  }
  @media print, screen and (min-width: 600px) {
    .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn, .archive_table_grid .thead .tr :is(.th, .td).report a.btn,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn {
      width: auto;
    }
    .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn > *, .archive_table_grid .thead .tr :is(.th, .td).report a.btn > *,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn > *,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn > * {
      display: inline-block;
      padding: 0;
      padding-left: 1.5em;
      border: none;
      background: transparent;
      text-align: left;
      font-size: inherit;
      font-weight: normal;
      color: var(--txt_color_base);
      white-space: nowrap;
    }
    .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn > *::before, .archive_table_grid .thead .tr :is(.th, .td).report a.btn > *::before,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn > *::before,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn > *::before {
      left: 0;
      background-color: var(--txt_color_base);
    }
  }
  .archive_table_grid .thead .tr :is(.th, .td).client_tel,
  .archive_table_grid .tbody .tr :is(.th, .td).client_tel {
    grid-area: client_tel;
  }
  .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn::before,
  .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn::before {
    background-color: var(--icon_color);
    -webkit-mask: url(../images/lib/icon/tel.svg) no-repeat center/contain;
    mask: url(../images/lib/icon/tel.svg) no-repeat center/contain;
  }
  .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn:hover,
  .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn:hover {
    --v_btn_color_bg: var(--color_theme_base);
  }
  @media screen and (max-width: 599px) {
    .archive_table_grid .thead .tr :is(.th, .td).client_tel a.btn:hover::before,
    .archive_table_grid .tbody .tr :is(.th, .td).client_tel a.btn:hover::before {
      background-color: #fff;
    }
  }
  .archive_table_grid .thead .tr :is(.th, .td).report,
  .archive_table_grid .tbody .tr :is(.th, .td).report {
    grid-area: report;
  }
  .archive_table_grid .thead .tr :is(.th, .td).report a.btn::before,
  .archive_table_grid .tbody .tr :is(.th, .td).report a.btn::before {
    background-color: var(--color_theme_base);
    -webkit-mask: url(../images/lib/icon/copy.svg) no-repeat center/contain;
    mask: url(../images/lib/icon/copy.svg) no-repeat center/contain;
  }
  @media print, screen and (min-width: 600px) {
    .archive_table_grid .thead .tr :is(.th, .td).report a.btn > *,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn > * {
      text-decoration: underline;
      text-underline-offset: 0.2ex;
      color: var(--txt_color_link);
    }
  }
  .archive_table_grid .thead .tr :is(.th, .td).report a.btn:hover,
  .archive_table_grid .tbody .tr :is(.th, .td).report a.btn:hover {
    --v_btn_color_bg: #fff;
  }
  @media screen and (max-width: 599px) {
    .archive_table_grid .thead .tr :is(.th, .td).report a.btn:hover::before,
    .archive_table_grid .tbody .tr :is(.th, .td).report a.btn:hover::before {
      background-color: var(--color_theme_base);
    }
  }
  @media screen and (max-width: 959px) {
    .archive_table_grid .thead .tr :is(.th, .td).acceptance_date, .archive_table_grid .thead .tr :is(.th, .td).work_at,
    .archive_table_grid .tbody .tr :is(.th, .td).acceptance_date,
    .archive_table_grid .tbody .tr :is(.th, .td).work_at {
      display: grid;
      grid-template-columns: 6.5em 1fr;
      gap: 5px;
    }
  }
  @media print, screen and (min-width: 960px) {
    .archive_table_grid .thead .tr :is(.th, .td).acceptance_date, .archive_table_grid .thead .tr :is(.th, .td).work_at,
    .archive_table_grid .tbody .tr :is(.th, .td).acceptance_date,
    .archive_table_grid .tbody .tr :is(.th, .td).work_at {
      font-size: 1.2rem;
    }
    .archive_table_grid .thead .tr :is(.th, .td).acceptance_date::before, .archive_table_grid .thead .tr :is(.th, .td).work_at::before,
    .archive_table_grid .tbody .tr :is(.th, .td).acceptance_date::before,
    .archive_table_grid .tbody .tr :is(.th, .td).work_at::before {
      display: none;
    }
  }
  .archive_table_grid .thead .tr :is(.th, .td).acceptance_date,
  .archive_table_grid .tbody .tr :is(.th, .td).acceptance_date {
    grid-area: acceptance_date;
  }
  .archive_table_grid .thead .tr :is(.th, .td).acceptance_date::before,
  .archive_table_grid .tbody .tr :is(.th, .td).acceptance_date::before {
    content: "お申込受理日";
  }
  .archive_table_grid .thead .tr :is(.th, .td).work_at,
  .archive_table_grid .tbody .tr :is(.th, .td).work_at {
    grid-area: work_at;
  }
  .archive_table_grid .thead .tr :is(.th, .td).work_at:has(.work_at)::before,
  .archive_table_grid .tbody .tr :is(.th, .td).work_at:has(.work_at)::before {
    content: "取付工事日";
  }
  @media screen and (max-width: 959px) {
    .archive_table_grid .thead .tr :is(.th, .td):empty,
    .archive_table_grid .tbody .tr :is(.th, .td):empty {
      display: none;
    }
  }
  @media print, screen and (min-width: 960px) {
    .archive_table_grid .thead .tr :is(.th, .td):not(:last-child),
    .archive_table_grid .tbody .tr :is(.th, .td):not(:last-child) {
      border-right: 1px solid var(--border_color_light);
    }
  }
  .archive_table_grid .thead .tr.comp,
  .archive_table_grid .tbody .tr.comp {
    background: #f6f6f6;
  }
  .archive_table_grid .thead .tr:first-child,
  .archive_table_grid .tbody .tr:first-child {
    border-top: 1px solid var(--border_color_light);
  }
  .archive_table_grid .thead {
    font-weight: bold;
  }
  @media screen and (max-width: 959px) {
    .archive_table_grid .thead {
      display: none;
    }
  }
  .archive_table_grid .thead .tr .th {
    padding-block: 5px;
  }
  .archive_table_grid .tbody {
    background: #fff;
  }
  @media print, screen and (min-width: 960px) {
    .archive_table_grid .tbody {
      grid-auto-rows: 50px;
    }
  }
  .area.flash_area {
    margin-top: var(--part_margin);
    margin-bottom: var(--part_margin);
  }
  .flash_message {
    border: 1px solid var(--flashmessage-c-border);
    border-radius: 5px;
    background-color: var(--flashmessage-c-bg);
  }
}
/* project */
/**======================================
	top
======================================**/
/*--------------------------------------
	common
---------------------------------------*/
/*--------------------------------------
	promo
---------------------------------------*/
/*--------------------------------------
	top_contents
---------------------------------------*/
.top_contents .area {
  margin-inline: auto;
  width: 90%;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area {
    display: grid;
    grid-template-areas: "btn_box btn_box" "news_box pdf_box" "price_box pdf_box";
    grid-template-rows: repeat(3, min-content);
    grid-template-columns: 1fr max(20%, 160px);
    -moz-column-gap: 5cqw;
    column-gap: 5cqw;
    width: min(var(--wrapper_default), var(--wrapper_max));
  }
}
.top_contents .area .box {
  width: 100%;
}
.top_contents .area .box.news_box {
  grid-area: news_box;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area .box.news_box {
    grid-area: news_box;
  }
}
@media print, screen and (min-width: 960px) {
  .top_contents .area .box.price_box {
    grid-area: price_box;
  }
}
.top_contents .area .box.price_box table tbody tr th {
  width: 120px;
}
@media print, screen and (min-width: 600px) {
  .top_contents .area .box.price_box table tbody tr th {
    width: 160px;
  }
}
.top_contents .area .box.price_box table tbody tr td {
  text-align: right;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area .box.pdf_box {
    grid-area: pdf_box;
  }
}

/*--------------------------------------
	common
---------------------------------------*/
/*--------------------------------------
	common
---------------------------------------*/
/*--------------------------------------
	common
---------------------------------------*/
.order_archive_modal .modal_wrap {
  width: 90%;
}
@media print, screen and (min-width: 600px) {
  .order_archive_modal .modal_wrap {
    width: 100%;
    max-width: 500px;
  }
}
.order_archive_modal .modal_wrap .modal .modal_client {
  padding: clamp(15px, 15px + 25 * (100vw - 400px) / 800, 40px);
}
.order_archive_modal .modal_wrap .modal .modal_client .heading {
  font-size: 1.2rem;
}
.order_archive_modal .modal_wrap .modal .modal_client .customer_information > *:not(.customer_name) {
  padding-block: clamp(5px, 5px + 5 * (100vw - 400px) / 800, 10px);
  border-bottom: 1px dotted #888;
}
.order_archive_modal .modal_wrap .modal .modal_client .customer_information > * p {
  margin-bottom: 0;
}
.order_archive_modal .modal_wrap .modal .modal_client .customer_information > * .title_text {
  font-size: 1.2rem;
  font-weight: bold;
}
.order_archive_modal .modal_wrap .modal .modal_client .customer_information .customer_name .name {
  margin-bottom: 0.8em;
  font-size: 2.4rem;
  font-weight: bold;
}
.order_archive_modal .modal_wrap .modal .modal_client .customer_information .customer_teltime .date.comp {
  font-size: 2rem;
  font-weight: bold;
}
.order_archive_modal .modal_wrap .modal .modal_client:has(.image_item) {
  display: grid;
  grid-template-columns: 1fr 300px;
  -moz-column-gap: 20px;
  column-gap: 20px;
}
.order_archive_modal .modal_wrap .modal .modal_client:has(.image_item) .heading {
  grid-column: 1/-1;
}
.order_archive_modal .modal_wrap .modal .modal_client:has(.image_item) .texts_item {
  grid-column: 1;
}
.order_archive_modal .modal_wrap .modal .modal_client:has(.image_item) .image_item {
  grid-column: 2;
}

.order_post_contents .area.new_form_area {
  --left_right_gap: 10cqw;
}
@media screen and (min-width: 1200px) {
  .order_post_contents .area.new_form_area .box .part.form_set:not(.col) {
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 5cqw;
    column-gap: 5cqw;
  }
}
@media screen and (min-width: 1200px) {
  .order_post_contents .area.new_form_area .box .part.form_set:not(.col) .cont.fbody:not(.col) {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 5%;
    column-gap: 5%;
  }
}
@media screen and (min-width: 1200px) {
  .order_post_contents .area.new_form_area .box .part.form_set:not(.col) .cont.left_item {
    grid-column: 1;
  }
}
.order_post_contents .area.new_form_area .box .part.form_set:not(.col) .cont.right_item {
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (min-width: 1200px) {
  .order_post_contents .area.new_form_area .box .part.form_set:not(.col) .cont.right_item {
    grid-column: 2;
  }
}
.order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) {
  row-gap: 0;
}
.order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .ffoot {
  margin-top: var(--part_margin);
}
@media screen and (max-width: 599px) {
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr {
    border-bottom: 1px dashed var(--border_color_base);
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr:first-child {
    padding-top: 15px;
    border-top: 1px dashed var(--border_color_base);
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr .fd > * {
    padding-block: 0;
    padding-inline: 1em 0;
    border: none;
    min-height: 0;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr .fd > * .fr {
    border: none;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr .fd > * .fr:first-child {
    padding-top: 0;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr .fd > * span {
    color: var(--txt_color_conf);
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr.fr_name .fd.fd_kanji > * {
    margin-bottom: 0;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fr.fr_name .fd.fd_kana > * {
    margin-top: 0;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .cont.right_item .fr:first-child {
    border-top: none;
  }
}
@media print, screen and (min-width: 600px) {
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fbody {
    row-gap: 0;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fbody .fr {
    padding: 15px 10px;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fbody .fr .fd {
    padding: 0;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fbody .fr .fd > *:not(:last-child) {
    margin-bottom: 0;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fbody .fr.fr_tel .fd > * {
    row-gap: 10px;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fbody .fr.fr_tel .fd > * .fr {
    padding: 0;
    border: none;
  }
  .order_post_contents .area.new_form_area .box .part.form_set:where([data-step=conf]) .fbody .fr.fr_tel .fd > * .fr .fd {
    padding-block: 0;
  }
}

/*--------------------------------------
	common
---------------------------------------*/
.mypage_index_container .title_wrap .title {
  padding-block: var(--box_margin);
}

@media screen and (max-width: 599px) {
  .mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr {
    border-bottom: 1px solid var(--color_theme_light);
  }
  .mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr:first-child {
    border-top: 1px solid var(--color_theme_light);
  }
}
.mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr th {
  font-size: clamp(1.4rem, 1.4rem + 2 * (100vw - 40rem) / 800, 1.6rem);
  color: var(--color_theme_light);
}
@media print, screen and (min-width: 600px) {
  .mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr th {
    border: 1px solid #fff;
    width: 20%;
    min-width: 10em;
    background: var(--color_theme_light);
    text-align: center;
    font-weight: bold;
    color: #fff;
    vertical-align: middle;
  }
}
.mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr td {
  align-items: center;
  justify-content: space-between;
}
@media print, screen and (min-width: 600px) {
  .mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr td {
    padding: 20px;
  }
}
.mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr td::before {
  content: none;
}
@media print, screen and (min-width: 600px) {
  .mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr td {
    border-right: 1px solid #fff;
    border-bottom: 1px solid var(--color_theme_light);
  }
}
.mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr td p {
  display: grid;
  grid-template-columns: auto 5em;
  gap: 10px;
  justify-content: space-between;
  width: 100%;
  font-size: clamp(1.4rem, 1.4rem + 2 * (100vw - 40rem) / 800, 1.6rem);
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}
@media print, screen and (min-width: 600px) {
  .mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr:first-child td {
    border-top: 1px solid #fff;
  }
}
@media print, screen and (min-width: 600px) {
  .mypage_index_contents .area .box .part.mypage_table .cont table.table.table_block_sp.add_thead tbody tr:last-child td {
    border-bottom: 1px solid #fff;
  }
}
@media screen and (max-width: 599px) {
  .mypage_index_contents .area .box .part.mypage_table .cont *:where(table, .table_type).table_block_sp tbody, .mypage_index_contents .area .box .part.mypage_table .cont *:where(table, .table_type).table_block_sp {
    border: none;
  }
}

/* print */
/**======================================
	print
======================================**/
/*--------------------------------------
	body
---------------------------------------*/
@page {
  margin: 20mm 10mm 10mm;
}
/*--------------------------------------
	body
---------------------------------------*/
body {
  /* chrome safari opera */
}
@media print and (-webkit-min-device-pixel-ratio: 0) {
  body {
    width: 1200px;
    -webkit-print-c-adjust: exact;
    overflow-x: visible !important;
    overflow-y: visible !important;
  }
}

@media print {
  .container {
    display: block !important;
    min-height: auto;
    opacity: 1;
  }
}

/*--------------------------------------
	header
---------------------------------------*/
@media print {
  .header_wrap {
    position: absolute !important;
    margin-top: 0 !important;
  }
}

/*--------------------------------------
	display: none
---------------------------------------*/
@media print {
  .pagetop {
    display: none;
  }
}
/*# sourceMappingURL=sourcemaps/styles.css.map */