@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 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  :where(html) {
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-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;
    -webkit-border-before: 1px solid;
    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_sass
======================================**/
/**======================================
	functions
======================================**/
/*--------------------------------------
	icon_v
---------------------------------------*/
/*--------------------------------------
	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);
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  :where(:not(div, nav, section)) > :where(a):hover {
    color: rgba(from var(--txt_color_link) r g b/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], .is-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;
  }
}
/*!************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../node_modules/webfonts-loader/index.js??ruleSet[1].rules[1].use[2]!./icon.font.js ***!
  \************************************************************************************************************************************************************************/
@font-face {
  font-family: "iconfont";
  font-display: block;
  src: url("../fonts/iconfont.woff2") format("woff2");
}
@layer variable {
  :root {
    --icon-code-angle_double_down: "";
    --icon-code-angle_double_left: "";
    --icon-code-angle_double_right: "";
    --icon-code-angle_down_circle_line: "";
    --icon-code-angle_down_circle: "";
    --icon-code-angle_down: "";
    --icon-code-angle_left_circle_line: "";
    --icon-code-angle_left_circle: "";
    --icon-code-angle_left: "";
    --icon-code-angle_right_circle_line: "";
    --icon-code-angle_right_circle: "";
    --icon-code-angle_right: "";
    --icon-code-angle_up_circle_line: "";
    --icon-code-angle_up_circle: "";
    --icon-code-angle_up: "";
    --icon-code-arrow_down: "";
    --icon-code-arrow_left: "";
    --icon-code-arrow_right: "";
    --icon-code-arrow_up: "";
    --icon-code-car: "";
    --icon-code-caret_down: "";
    --icon-code-caret_left: "";
    --icon-code-caret_right: "";
    --icon-code-caret_up: "";
    --icon-code-cart: "";
    --icon-code-change_circle: "";
    --icon-code-change: "";
    --icon-code-check: "";
    --icon-code-circle_line: "";
    --icon-code-circle: "";
    --icon-code-close: "";
    --icon-code-copy: "";
    --icon-code-date: "";
    --icon-code-delete: "";
    --icon-code-dot: "";
    --icon-code-dots: "";
    --icon-code-download: "";
    --icon-code-edit: "";
    --icon-code-excel: "";
    --icon-code-exclamation: "";
    --icon-code-eye_close: "";
    --icon-code-eye: "";
    --icon-code-facebook_square: "";
    --icon-code-facebook: "";
    --icon-code-favorite: "";
    --icon-code-fax: "";
    --icon-code-file_blank: "";
    --icon-code-file: "";
    --icon-code-folder: "";
    --icon-code-freedial: "";
    --icon-code-grip: "";
    --icon-code-home: "";
    --icon-code-illustrator: "";
    --icon-code-info_circle: "";
    --icon-code-instagram: "";
    --icon-code-line_square: "";
    --icon-code-line: "";
    --icon-code-link_blank: "";
    --icon-code-list: "";
    --icon-code-lock_open: "";
    --icon-code-lock: "";
    --icon-code-mail: "";
    --icon-code-map: "";
    --icon-code-members: "";
    --icon-code-message_fill: "";
    --icon-code-message: "";
    --icon-code-minus_circle: "";
    --icon-code-minus: "";
    --icon-code-modal: "";
    --icon-code-pagetop: "";
    --icon-code-pdf: "";
    --icon-code-photoshop: "";
    --icon-code-play: "";
    --icon-code-plus_circle: "";
    --icon-code-plus: "";
    --icon-code-question: "";
    --icon-code-search: "";
    --icon-code-sms: "";
    --icon-code-tel: "";
    --icon-code-train: "";
    --icon-code-twitter_square: "";
    --icon-code-twitter: "";
    --icon-code-twitterx: "";
    --icon-code-user: "";
    --icon-code-warning: "";
    --icon-code-word: "";
    --icon-code-wordpress: "";
    --icon-code-youtube: "";
    --icon-url-angle_double_down: url(../images/lib/icon/angle_double_down.svg);
    --icon-url-angle_double_left: url(../images/lib/icon/angle_double_left.svg);
    --icon-url-angle_double_right: url(../images/lib/icon/angle_double_right.svg);
    --icon-url-angle_down_circle_line: url(../images/lib/icon/angle_down_circle_line.svg);
    --icon-url-angle_down_circle: url(../images/lib/icon/angle_down_circle.svg);
    --icon-url-angle_down: url(../images/lib/icon/angle_down.svg);
    --icon-url-angle_left_circle_line: url(../images/lib/icon/angle_left_circle_line.svg);
    --icon-url-angle_left_circle: url(../images/lib/icon/angle_left_circle.svg);
    --icon-url-angle_left: url(../images/lib/icon/angle_left.svg);
    --icon-url-angle_right_circle_line: url(../images/lib/icon/angle_right_circle_line.svg);
    --icon-url-angle_right_circle: url(../images/lib/icon/angle_right_circle.svg);
    --icon-url-angle_right: url(../images/lib/icon/angle_right.svg);
    --icon-url-angle_up_circle_line: url(../images/lib/icon/angle_up_circle_line.svg);
    --icon-url-angle_up_circle: url(../images/lib/icon/angle_up_circle.svg);
    --icon-url-angle_up: url(../images/lib/icon/angle_up.svg);
    --icon-url-arrow_down: url(../images/lib/icon/arrow_down.svg);
    --icon-url-arrow_left: url(../images/lib/icon/arrow_left.svg);
    --icon-url-arrow_right: url(../images/lib/icon/arrow_right.svg);
    --icon-url-arrow_up: url(../images/lib/icon/arrow_up.svg);
    --icon-url-car: url(../images/lib/icon/car.svg);
    --icon-url-caret_down: url(../images/lib/icon/caret_down.svg);
    --icon-url-caret_left: url(../images/lib/icon/caret_left.svg);
    --icon-url-caret_right: url(../images/lib/icon/caret_right.svg);
    --icon-url-caret_up: url(../images/lib/icon/caret_up.svg);
    --icon-url-cart: url(../images/lib/icon/cart.svg);
    --icon-url-change_circle: url(../images/lib/icon/change_circle.svg);
    --icon-url-change: url(../images/lib/icon/change.svg);
    --icon-url-check: url(../images/lib/icon/check.svg);
    --icon-url-circle_line: url(../images/lib/icon/circle_line.svg);
    --icon-url-circle: url(../images/lib/icon/circle.svg);
    --icon-url-close: url(../images/lib/icon/close.svg);
    --icon-url-copy: url(../images/lib/icon/copy.svg);
    --icon-url-date: url(../images/lib/icon/date.svg);
    --icon-url-delete: url(../images/lib/icon/delete.svg);
    --icon-url-dot: url(../images/lib/icon/dot.svg);
    --icon-url-dots: url(../images/lib/icon/dots.svg);
    --icon-url-download: url(../images/lib/icon/download.svg);
    --icon-url-edit: url(../images/lib/icon/edit.svg);
    --icon-url-excel: url(../images/lib/icon/excel.svg);
    --icon-url-exclamation: url(../images/lib/icon/exclamation.svg);
    --icon-url-eye_close: url(../images/lib/icon/eye_close.svg);
    --icon-url-eye: url(../images/lib/icon/eye.svg);
    --icon-url-facebook_square: url(../images/lib/icon/facebook_square.svg);
    --icon-url-facebook: url(../images/lib/icon/facebook.svg);
    --icon-url-favorite: url(../images/lib/icon/favorite.svg);
    --icon-url-fax: url(../images/lib/icon/fax.svg);
    --icon-url-file_blank: url(../images/lib/icon/file_blank.svg);
    --icon-url-file: url(../images/lib/icon/file.svg);
    --icon-url-folder: url(../images/lib/icon/folder.svg);
    --icon-url-freedial: url(../images/lib/icon/freedial.svg);
    --icon-url-grip: url(../images/lib/icon/grip.svg);
    --icon-url-home: url(../images/lib/icon/home.svg);
    --icon-url-illustrator: url(../images/lib/icon/illustrator.svg);
    --icon-url-info_circle: url(../images/lib/icon/info_circle.svg);
    --icon-url-instagram: url(../images/lib/icon/instagram.svg);
    --icon-url-line_square: url(../images/lib/icon/line_square.svg);
    --icon-url-line: url(../images/lib/icon/line.svg);
    --icon-url-link_blank: url(../images/lib/icon/link_blank.svg);
    --icon-url-list: url(../images/lib/icon/list.svg);
    --icon-url-lock_open: url(../images/lib/icon/lock_open.svg);
    --icon-url-lock: url(../images/lib/icon/lock.svg);
    --icon-url-mail: url(../images/lib/icon/mail.svg);
    --icon-url-map: url(../images/lib/icon/map.svg);
    --icon-url-members: url(../images/lib/icon/members.svg);
    --icon-url-message_fill: url(../images/lib/icon/message_fill.svg);
    --icon-url-message: url(../images/lib/icon/message.svg);
    --icon-url-minus_circle: url(../images/lib/icon/minus_circle.svg);
    --icon-url-minus: url(../images/lib/icon/minus.svg);
    --icon-url-modal: url(../images/lib/icon/modal.svg);
    --icon-url-pagetop: url(../images/lib/icon/pagetop.svg);
    --icon-url-pdf: url(../images/lib/icon/pdf.svg);
    --icon-url-photoshop: url(../images/lib/icon/photoshop.svg);
    --icon-url-play: url(../images/lib/icon/play.svg);
    --icon-url-plus_circle: url(../images/lib/icon/plus_circle.svg);
    --icon-url-plus: url(../images/lib/icon/plus.svg);
    --icon-url-question: url(../images/lib/icon/question.svg);
    --icon-url-search: url(../images/lib/icon/search.svg);
    --icon-url-sms: url(../images/lib/icon/sms.svg);
    --icon-url-tel: url(../images/lib/icon/tel.svg);
    --icon-url-train: url(../images/lib/icon/train.svg);
    --icon-url-twitter_square: url(../images/lib/icon/twitter_square.svg);
    --icon-url-twitter: url(../images/lib/icon/twitter.svg);
    --icon-url-twitterx: url(../images/lib/icon/twitterx.svg);
    --icon-url-user: url(../images/lib/icon/user.svg);
    --icon-url-warning: url(../images/lib/icon/warning.svg);
    --icon-url-word: url(../images/lib/icon/word.svg);
    --icon-url-wordpress: url(../images/lib/icon/wordpress.svg);
    --icon-url-youtube: url(../images/lib/icon/youtube.svg);
  }
  .icon-angle_double_down {
    --icon-image: var(--icon-url-angle_double_down);
  }
  .icon-angle_double_left {
    --icon-image: var(--icon-url-angle_double_left);
  }
  .icon-angle_double_right {
    --icon-image: var(--icon-url-angle_double_right);
  }
  .icon-angle_down_circle_line {
    --icon-image: var(--icon-url-angle_down_circle_line);
  }
  .icon-angle_down_circle {
    --icon-image: var(--icon-url-angle_down_circle);
  }
  .icon-angle_down {
    --icon-image: var(--icon-url-angle_down);
  }
  .icon-angle_left_circle_line {
    --icon-image: var(--icon-url-angle_left_circle_line);
  }
  .icon-angle_left_circle {
    --icon-image: var(--icon-url-angle_left_circle);
  }
  .icon-angle_left {
    --icon-image: var(--icon-url-angle_left);
  }
  .icon-angle_right_circle_line {
    --icon-image: var(--icon-url-angle_right_circle_line);
  }
  .icon-angle_right_circle {
    --icon-image: var(--icon-url-angle_right_circle);
  }
  .icon-angle_right {
    --icon-image: var(--icon-url-angle_right);
  }
  .icon-angle_up_circle_line {
    --icon-image: var(--icon-url-angle_up_circle_line);
  }
  .icon-angle_up_circle {
    --icon-image: var(--icon-url-angle_up_circle);
  }
  .icon-angle_up {
    --icon-image: var(--icon-url-angle_up);
  }
  .icon-arrow_down {
    --icon-image: var(--icon-url-arrow_down);
  }
  .icon-arrow_left {
    --icon-image: var(--icon-url-arrow_left);
  }
  .icon-arrow_right {
    --icon-image: var(--icon-url-arrow_right);
  }
  .icon-arrow_up {
    --icon-image: var(--icon-url-arrow_up);
  }
  .icon-car {
    --icon-image: var(--icon-url-car);
  }
  .icon-caret_down {
    --icon-image: var(--icon-url-caret_down);
  }
  .icon-caret_left {
    --icon-image: var(--icon-url-caret_left);
  }
  .icon-caret_right {
    --icon-image: var(--icon-url-caret_right);
  }
  .icon-caret_up {
    --icon-image: var(--icon-url-caret_up);
  }
  .icon-cart {
    --icon-image: var(--icon-url-cart);
  }
  .icon-change_circle {
    --icon-image: var(--icon-url-change_circle);
  }
  .icon-change {
    --icon-image: var(--icon-url-change);
  }
  .icon-check {
    --icon-image: var(--icon-url-check);
  }
  .icon-circle_line {
    --icon-image: var(--icon-url-circle_line);
  }
  .icon-circle {
    --icon-image: var(--icon-url-circle);
  }
  .icon-close {
    --icon-image: var(--icon-url-close);
  }
  .icon-copy {
    --icon-image: var(--icon-url-copy);
  }
  .icon-date {
    --icon-image: var(--icon-url-date);
  }
  .icon-delete {
    --icon-image: var(--icon-url-delete);
  }
  .icon-dot {
    --icon-image: var(--icon-url-dot);
  }
  .icon-dots {
    --icon-image: var(--icon-url-dots);
  }
  .icon-download {
    --icon-image: var(--icon-url-download);
  }
  .icon-edit {
    --icon-image: var(--icon-url-edit);
  }
  .icon-excel {
    --icon-image: var(--icon-url-excel);
  }
  .icon-exclamation {
    --icon-image: var(--icon-url-exclamation);
  }
  .icon-eye_close {
    --icon-image: var(--icon-url-eye_close);
  }
  .icon-eye {
    --icon-image: var(--icon-url-eye);
  }
  .icon-facebook_square {
    --icon-image: var(--icon-url-facebook_square);
  }
  .icon-facebook {
    --icon-image: var(--icon-url-facebook);
  }
  .icon-favorite {
    --icon-image: var(--icon-url-favorite);
  }
  .icon-fax {
    --icon-image: var(--icon-url-fax);
  }
  .icon-file_blank {
    --icon-image: var(--icon-url-file_blank);
  }
  .icon-file {
    --icon-image: var(--icon-url-file);
  }
  .icon-folder {
    --icon-image: var(--icon-url-folder);
  }
  .icon-freedial {
    --icon-image: var(--icon-url-freedial);
  }
  .icon-grip {
    --icon-image: var(--icon-url-grip);
  }
  .icon-home {
    --icon-image: var(--icon-url-home);
  }
  .icon-illustrator {
    --icon-image: var(--icon-url-illustrator);
  }
  .icon-info_circle {
    --icon-image: var(--icon-url-info_circle);
  }
  .icon-instagram {
    --icon-image: var(--icon-url-instagram);
  }
  .icon-line_square {
    --icon-image: var(--icon-url-line_square);
  }
  .icon-line {
    --icon-image: var(--icon-url-line);
  }
  .icon-link_blank {
    --icon-image: var(--icon-url-link_blank);
  }
  .icon-list {
    --icon-image: var(--icon-url-list);
  }
  .icon-lock_open {
    --icon-image: var(--icon-url-lock_open);
  }
  .icon-lock {
    --icon-image: var(--icon-url-lock);
  }
  .icon-mail {
    --icon-image: var(--icon-url-mail);
  }
  .icon-map {
    --icon-image: var(--icon-url-map);
  }
  .icon-members {
    --icon-image: var(--icon-url-members);
  }
  .icon-message_fill {
    --icon-image: var(--icon-url-message_fill);
  }
  .icon-message {
    --icon-image: var(--icon-url-message);
  }
  .icon-minus_circle {
    --icon-image: var(--icon-url-minus_circle);
  }
  .icon-minus {
    --icon-image: var(--icon-url-minus);
  }
  .icon-modal {
    --icon-image: var(--icon-url-modal);
  }
  .icon-pagetop {
    --icon-image: var(--icon-url-pagetop);
  }
  .icon-pdf {
    --icon-image: var(--icon-url-pdf);
  }
  .icon-photoshop {
    --icon-image: var(--icon-url-photoshop);
  }
  .icon-play {
    --icon-image: var(--icon-url-play);
  }
  .icon-plus_circle {
    --icon-image: var(--icon-url-plus_circle);
  }
  .icon-plus {
    --icon-image: var(--icon-url-plus);
  }
  .icon-question {
    --icon-image: var(--icon-url-question);
  }
  .icon-search {
    --icon-image: var(--icon-url-search);
  }
  .icon-sms {
    --icon-image: var(--icon-url-sms);
  }
  .icon-tel {
    --icon-image: var(--icon-url-tel);
  }
  .icon-train {
    --icon-image: var(--icon-url-train);
  }
  .icon-twitter_square {
    --icon-image: var(--icon-url-twitter_square);
  }
  .icon-twitter {
    --icon-image: var(--icon-url-twitter);
  }
  .icon-twitterx {
    --icon-image: var(--icon-url-twitterx);
  }
  .icon-user {
    --icon-image: var(--icon-url-user);
  }
  .icon-warning {
    --icon-image: var(--icon-url-warning);
  }
  .icon-word {
    --icon-image: var(--icon-url-word);
  }
  .icon-wordpress {
    --icon-image: var(--icon-url-wordpress);
  }
  .icon-youtube {
    --icon-image: var(--icon-url-youtube);
  }
}
/*--------------------------------------

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

---------------------------------------*/
@layer variable {
  :root {
    --color_theme_base: #007d5c;
    --color_theme_sub: #008965;
    --color_theme_accent: #ff5959;
    --bg_color_base: #f7f9f8;
    --bg_color_sub: #c4dba2;
    --bg_color_light: #eee;
    --border_color_base: #333;
    --border_color_sub: #888;
    --border_color_light: #99cbbe;
    --txt_color_base: #332;
    --txt_color_sub: #353535;
    --txt_color_light: #888;
    --txt_color_heading: #111;
    --txt_color_link: #358;
    --list_color_base: #007d5c;
    --icon-color_base: #007d5c;
    --table_th_bg_color: #e5e5e5;
    --table_td_bg_color: #fff;
    --table_th_txt_color: #111;
    --table_td_txt_color: #332;
    --table_border_color: #777;
    --btn_color_bg: #007d5c;
    --btn_color_border: #007d5c;
    --btn_color_txt: white;
    --btn_color_txt_hover: #007d5c;
    --btn_color_bg_hover: white;
    --form_input_bg: #fafafa;
    --form_input_bg_hover: #eee;
    --form_input_bg_focus: #fff;
    --form_input_border: #ddd;
    --form_input_border_hover: #097;
    --form_input_border_focus: #097;
    --form_input_checked: #097;
    --form_error: #c00;
    --form_error_bg: rgba(from #c00 r g b / 0.05);
    --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: #259;
    --color_util_calendar_sunday: #e33;
    --color_util_calendar_holiday: #e33;
    --color_util_calendar_close: #ddd;
    --wrapper_max: 1400px;
    --wrapper_max_percent: 90%;
    --area_margin: clamp(60px, 60px + 40 * (100vw - 400px) / 1000, 100px);
    --box_margin: clamp(30px, 30px + 40 * (100vw - 400px) / 1000, 70px);
    --part_margin: clamp(20px, 20px + 20 * (100vw - 400px) / 1000, 40px);
    --cont_margin: clamp(15px, 15px + 10 * (100vw - 400px) / 1000, 25px);
    --radius_base: 4px;
    --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;
    --txt_font_outfit: "Outfit", sans-serif;
    --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_radius: var(--radius_base);
  }
  :root .standard_pc {
    --wrapper_max: 1000px;
  }
  :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_border: black;
    --btn_color_bg: white;
    --btn_color_txt: black;
    --btn_color_bg_hover: rgba(from #eee r g b / 0.5);
    --btn_color_txt_hover: black;
  }
  :root .bc_light {
    --btn_color_border: var(--border_color_base);
    --btn_color_bg: #ebf1f5;
    --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: 50px;
    }
  }
  :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%; /* ここをjsに転記 */
    --carousel_item_width: 80vw; /* ここをjsに転記 */
    --loop_item_width: 50%; /* ここをjsに転記 */
    --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;
      --slider_item_width: 50%; /* ここをjsに転記 */
      --carousel_item_width: 40%; /* ここをjsに転記 */
      --loop_item_width: 33.3%; /* ここをjsに転記 */
    }
  }
  @media print, screen and (min-width: 960px) {
    :root {
      --image_texts_imagesize: 35%;
      --snap_item_width: 100%;
      --snap_gap: 0;
      --slider_item_width: 25%; /* ここをjsに転記 */
      --carousel_item_width: 30%; /* ここをjsに転記 */
      --loop_item_width: 25%; /* ここをjsに転記 */
    }
  }
}
/* 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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    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;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .sns_widget_wrap.twitter_widget .tweet_wrap .icon_item > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.5em;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 20px;
    overflow: hidden;
    background: rgba(from #000 r g b/0.8);
    opacity: 0;
    -webkit-transition: 0.5s;
    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 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow: hidden;
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), to(transparent));
    -webkit-mask-image: linear-gradient(to bottom, black 20%, transparent);
    mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, black), to(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 {
    -webkit-transition: 0.5s;
    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,
  .pic.max svg {
    width: 100%;
  }
  .pic.left img,
  .pic.left svg {
    margin-left: 0;
  }
  .pic.right img,
  .pic.right svg {
    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%;
    object-fit: cover;
  }
  .object_fit img[src$="noimage_icon.svg"],
  .object_fit svg[src$="noimage_icon.svg"] {
    background-color: #eee;
    object-fit: none;
  }
  .object_fit.contain img {
    object-fit: contain;
  }
  .pinchzoom {
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    background-color: var(--bg_color_light);
    -ms-touch-action: none;
    touch-action: none; /* タッチイベントを自前制御 */
  }
  .pinchzoom img {
    width: 100%;
    height: auto;
    pointer-events: none; /* イベントは親divで受ける */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transform-origin: center center;
    transform-origin: center center;
    will-change: transform;
  }
  .pic_text {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    vertical-align: baseline;
  }
  .pic_text img,
  .pic_text svg {
    height: 1.5rem;
  }
  .loupe_lens {
    position: absolute;
    z-index: 10;
    display: none;
    border: 2px solid #000;
    border-radius: 50%;
    overflow: hidden;
    background-repeat: no-repeat;
    pointer-events: none;
  }
}
@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 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    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;
    -webkit-box-shadow: inset 0 1px 1px rgba(from black r g b/0.1);
    box-shadow: inset 0 1px 1px rgba(from black r g b/0.1);
    font-size: 1.6rem;
    -webkit-transition: outline 0.3s, border-color 0.3s, background-color 0.3s, resize 0s;
    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::-webkit-input-placeholder, *:where(form, .form_type, .modal_form) select::-webkit-input-placeholder, *:where(form, .form_type, .modal_form) textarea::-webkit-input-placeholder, *:where(form, .form_type, .modal_form) input::-webkit-input-placeholder {
    color: #ccc;
  }
  *: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::-ms-input-placeholder, *:where(form, .form_type, .modal_form) select::-ms-input-placeholder, *:where(form, .form_type, .modal_form) textarea::-ms-input-placeholder, *:where(form, .form_type, .modal_form) input::-ms-input-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] {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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%;
    -webkit-box-shadow: inset 0 1px 1px rgba(from black r g b/0.1);
    box-shadow: inset 0 1px 1px rgba(from black r g b/0.1);
  }
  *:where(form, .form_type, .modal_form) select {
    padding-right: 40px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    background: var(--form_input_bg) url(../images/lib/parts/select_arrow.svg) no-repeat right 10px center/10px;
    -webkit-box-shadow: 0 1px 3px rgba(from black r g b/0.2);
    box-shadow: 0 1px 3px rgba(from black r g b/0.2);
  }
  @media print, screen and (min-width: 600px) {
    *:where(form, .form_type, .modal_form) select {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
    }
  }
  *:where(form, .form_type, .modal_form) .hidden_text {
    border-style: dashed;
    background: none;
    -webkit-box-shadow: none;
    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: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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);
    -webkit-transition: 0.3s;
    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.is-show {
    display: inline-block;
  }
  *:where(form, .form_type, .modal_form) .size_ss {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      width: calc(12.5% - 4.375px);
    }
  }
  @media screen and (min-width: 1400px) {
    *:where(form, .form_type, .modal_form) .size_ss_lg {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      width: calc(12.5% - 4.375px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_s {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      width: calc(25% - 3.75px);
    }
  }
  @media screen and (min-width: 1400px) {
    *:where(form, .form_type, .modal_form) .size_s_lg {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      width: calc(25% - 3.75px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_m {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      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 {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      width: calc(50% - 2.5px);
    }
  }
  @media screen and (min-width: 1400px) {
    *:where(form, .form_type, .modal_form) .size_m_lg {
      -webkit-box-flex: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      width: calc(50% - 2.5px);
    }
  }
  *:where(form, .form_type, .modal_form) .size_zip {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    width: 4.5em;
  }
  *:where(form, .form_type, .modal_form) .size_1w {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: content-box;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    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: 1400px) {
    *:where(form, .form_type, .modal_form) select.size_full_lg {
      width: 100%;
    }
  }
  *:where(form, .form_type, .modal_form) textarea.size_2row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 2lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_3row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 3lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_4row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 4lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_5row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 5lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_6row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 6lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_7row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 7lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_8row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 8lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_9row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 9lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_10row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 10lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_11row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 11lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_12row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 12lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_13row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 13lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_14row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 14lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_15row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 15lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_16row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 16lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_17row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 17lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_18row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 18lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_19row {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 19lh;
  }
  *:where(form, .form_type, .modal_form) textarea.size_20row {
    -webkit-box-sizing: content-box;
    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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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 {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    margin-inline: auto;
    width: -webkit-fit-content;
    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 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    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 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      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 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      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 {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
    }
  }
  @media screen and (min-width: 1400px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).col_lg {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
    }
  }
  *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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 {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: center;
      -ms-flex-align: center;
      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 {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: center;
      -ms-flex-align: center;
      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 {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
  }
  @media screen and (min-width: 1400px) {
    *:where(form, .form_type, .modal_form) p:where(:has(> input, > textarea, > select, .radio_label, .checkbox_label, > .file_input_wrap)).row_lg {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
  }
  *:where(form, .form_type, .modal_form) p:has(.radio_label, .checkbox_label) {
    -webkit-column-gap: 20px;
    -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) {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 0;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      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.is-look {
    --icon-image: var(--icon-url-eye);
  }
  *:where(form, .form_type, .modal_form) p:has(> input.password) input.password + .password_eye.is-nolook {
    --icon-image: var(--icon-url-eye_close);
  }
  *: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);
    -webkit-transition: 0.2s linear;
    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;
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
  }
  *:where(form, .form_type, .modal_form) label:has(input[type=radio]:checked) > *::after {
    opacity: 1;
    -webkit-transform: scale(0.6);
    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: var(--icon-url-check) no-repeat center/contain;
    mask: var(--icon-url-check) 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;
    -webkit-transition: 0.3s ease-out;
    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.is-directed {
    color: var(--txt_color_base);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: clamp(15px, 15px + 15 * (100vw - 400px) / 1000, 30px);
    border: 2px dashed var(--status_color);
    border-radius: var(--radius_base);
    background-color: var(--form_input_bg);
    text-align: center;
    -webkit-transition: 0.3s;
    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: var(--icon-url-file_blank) no-repeat center/contain;
    mask: var(--icon-url-file_blank) 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 {
    pointer-events: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ready {
    --icon-image: var(--icon-url-arrow_down);
    border: 2px dashed var(--form_input_border);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ready .heading {
    color: var(--txt_color_light);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ready .heading.filename,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ready .heading.is-error {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ready .btn_wrap .btn_change,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ready .btn_wrap .btn_delete {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_error {
    --status_color: var(--color_util_caution);
    --icon-image: var(--icon-url-close);
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_error .btn.btn_change,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_error .btn.btn_delete {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_error .heading.is-info,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_error .heading.is-error {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_error .message {
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_error .btn_wrap .btn_redo {
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok {
    --status_color: #2fa532;
    --icon-image: var(--icon-url-check);
    border-style: solid;
    border-width: 2px;
    background: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok::before,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok .message,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok .btn.btn_select {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok .heading.is-info,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok .heading.is-error {
    display: none;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok .btn.btn_change,
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-status_ok .btn.btn_delete {
    display: block;
  }
  *:where(form, .form_type, .modal_form) .filedrop_wrap.is-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) .is-error,
  *:where(form, .form_type, .modal_form) input[type=file].is-error + .file_select,
  *:where(form, .form_type, .modal_form) label:has(input[type=radio].is-error),
  *:where(form, .form_type, .modal_form) label:has(input[type=checkbox].is-error) {
    --form_input_border: var(--form_error, var(--color_util_caution));
    --form_input_bg: var(--form_error_bg, rgba(from var(--color_util_caution) r g b / 0.05));
  }
  *: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;
      -webkit-column-gap: 5cqw;
      -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 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .form_set:not(.col) .fbody:not(.col) .fr.align_top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .form_set:not(.col) .fbody:not(.col) .fr.align_bottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    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;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-animation-name: animation_fr;
    animation-name: animation_fr;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
  }
  @-webkit-keyframes animation_fr {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @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 {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .form_set .fbody .fr .fd > *:not(:last-child) {
    margin-bottom: 8px;
  }
  .form_set .fbody .fr .fd .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
    margin-bottom: 8px;
  }
  .form_set .fbody .fr .fd .set > * {
    min-width: 0;
  }
  .form_set .fbody .fr .fd .fh_sub {
    font-size: 1.3rem;
  }
  @media print, screen and (min-width: 600px) {
    .form_set .fbody .fr .fd .fh_sub {
      font-weight: bold;
    }
  }
  .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;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
  }
  .form_set .fbody .fr .fd .fbody {
    row-gap: 5px;
  }
  @media print, screen and (min-width: 600px) {
    .form_set .fbody .fr .fd:has(.fh_sub) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set .fbody .fr .fd:has(.fh_sub) p.fh_sub {
      margin-bottom: 0;
    }
  }
  .form_set .fbody .fr.align_top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .form_set .fbody .fr.align_bottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .form_set .fbody .fr.align_center {
    -webkit-box-align: center;
    -ms-flex-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 {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2;
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set .form_btns .submit_back {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1;
    }
  }
  .form_set .with_help {
    display: inline;
  }
  .form_set .btn_help {
    --icon-image: var(--icon-url-question);
    --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: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000)), var(--icon-image);
    -webkit-mask-image: linear-gradient(#000, #000), var(--icon-image);
    mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#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;
    -webkit-transition: 0.3s;
    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: delete;
    --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;
    -webkit-transform: translateY(-50%);
    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.is-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);
    }
  }
  .form_set:where([data-step=conf], form[data-step=confirm]) .fbody {
    row-gap: 0;
  }
  @media print, screen and (min-width: 600px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fbody .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]) .fbody .fr .fh p {
      line-height: 1.6;
    }
  }
  @media print, screen and (min-width: 600px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fbody .fr .fd {
      padding: 15px 10px;
    }
  }
  .form_set:where([data-step=conf], form[data-step=confirm]) .fbody .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]) .fbody .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]) .fbody .fr .fd > * {
      margin: 0;
      padding: 0;
    }
  }
  @media screen and (max-width: 599px) {
    .form_set:where([data-step=conf], form[data-step=confirm]) .fbody .fr .fd > * span {
      color: var(--txt_color_light);
    }
  }
  .form_set:where([data-step=conf], form[data-step=confirm]) .fbody .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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .search_wrap > *,
  .period_wrap > * {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    min-width: 0;
  }
  .search_wrap .input_wrap,
  .period_wrap .input_wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .search_wrap .btn_icon,
  .period_wrap .btn_icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .search_wrap .btn_icon > *,
  .period_wrap .btn_icon > * {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
  .search_wrap .input_wrap {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  @media screen and (max-width: 599px) {
    .period_wrap .input_wrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      row-gap: 5px;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
    }
  }
  .period_wrap .input_wrap input {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
  @media screen and (max-width: 599px) {
    .period_wrap .input_wrap input {
      width: auto;
    }
  }
  .period_wrap .input_wrap .sep {
    -ms-flex-item-align: center;
    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: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 0;
      margin-inline: auto;
      border-radius: var(--radius_base);
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      overflow: hidden;
    }
  }
  .filter_wrap ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .filter_wrap ul li .radio_label,
  .filter_wrap ul li .checkbox_label {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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);
    -webkit-transition: all 0.2s;
    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;
  }
  *:where(table, .table_type) thead tr .middle:is(th, td),
  *:where(table, .table_type) tbody tr .middle:is(th, td) {
    vertical-align: middle;
  }
  *:where(table, .table_type) thead tr .top:is(th, td),
  *:where(table, .table_type) tbody tr .top:is(th, td) {
    vertical-align: top;
  }
  *:where(table, .table_type) thead tr .bottom:is(th, td),
  *:where(table, .table_type) tbody tr .bottom:is(th, td) {
    vertical-align: bottom;
  }
  @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: -webkit-box;
      display: -ms-flexbox;
      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 */
  .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: 1400px) {
    .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: 1400px) and (min-width: 960px) {
    .table_grid.row_lg :where(.thead, .tbody) .tr :where(.th, .td) {
      font-size: 1.5rem;
    }
  }
  @media screen and (min-width: 1400px) {
    .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: var(--icon-url-circle);
  }
  .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: var(--icon-url-change);
    --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;
    -webkit-transform: translateY(-50%);
    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: var(--icon-url-change);
    --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;
    -webkit-transform: translateY(-50%);
    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: var(--icon-url-instagram);
    --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;
    -webkit-transform: translateY(-50%);
    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: var(--icon-url-change);
    --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%;
  }
  p :is(a, span, strong)[class*=icon-]:where(:not(.btn, .btn_icon, .btn_img, .block_icon, .list_icon)) {
    display: inline-block;
  }
  .block_icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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;
  }
  .gnav_list.sample li a {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 60px;
    background-color: white;
    -webkit-transition: all 0.4s;
    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: var(--icon-url-favorite);
  }
  .gnav_list.sample li .gnav_icon.cart {
    --icon-image: var(--icon-url-cart);
  }
  .gnav_list.sample li .gnav_icon.mypage {
    --icon-image: var(--icon-url-user);
  }
  .gnav_list.sample li .gnav_icon.logout {
    --icon-image: var(--icon-url-lock_open);
  }
}
/**======================================
	option_modal

		// edit--
======================================**/
@layer lib {
  /*--------------------------------------
  	modal
  ---------------------------------------*/
  .modal_handle {
    cursor: pointer;
  }
  .modal_icon:hover::before {
    background: rgba(from var(--color_theme_base) r g b/0.5);
  }
  .contents .modal_target {
    container-type: inline-size;
    display: none;
  }
  .modal_overlay.is-show {
    opacity: 1;
  }
  .modal_overlay.is-show,
  .modal_overlay.is-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(100dvh - 0.5px);
    opacity: 0;
    -webkit-transition: opacity 0.7s;
    transition: opacity 0.7s;
  }
  .modal_overlay,
  .modal_overlay * {
    pointer-events: none;
  }
  .modal_overlay .modal_bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(from #000 r g b/0.7);
    cursor: pointer;
  }
  .modal_overlay .modal_wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    padding: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: min(var(--wrapper_max_percent), var(--wrapper_max));
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    background-color: white;
    -webkit-box-shadow: 0 1px 10px black;
    box-shadow: 0 1px 10px black;
  }
  .modal_overlay .modal_wrap .modal {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }
  .modal_overlay .modal_wrap .modal > .modal_target {
    display: block;
    padding: clamp(15px, 15px + 15 * (100vw - 400px) / 1000, 30px);
  }
  .modal_overlay .modal_wrap .modal > .modal_target.no_padding {
    padding: 0;
  }
  .modal_overlay .modal_wrap:has(.youtube_wrap) {
    width: auto;
  }
  .modal_overlay .modal_wrap:has(.modal_target.full) {
    width: 100%;
  }
  .modal_overlay .modal_wrap:has(.modal_target.full) .modal_target {
    padding: 0;
  }
  .modal_wrap:has(.pinchzoom) {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: 100dvh;
    overflow: hidden;
    background: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  .modal_wrap:has(.pinchzoom) .modal {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-height: 100%;
    overflow: visible;
  }
  .modal_wrap:has(.pinchzoom) .modal .modal_target {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: var(--cont_margin);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    width: min(100%, var(--wrapper_max));
    max-height: 80vh;
  }
  @media print, screen and (min-width: 600px) {
    .modal_wrap:has(.pinchzoom) .modal .modal_target {
      width: min(90%, var(--wrapper_max));
    }
  }
  .modal_wrap:has(.pinchzoom) .modal .modal_target .pinchzoom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    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%;
    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;
  }
}
/*--------------------------------------
	tooltip // oo_lib
---------------------------------------*/
@layer lib {
  .js_float_wrap .js-tooltip, .tooltip_handle .js-tooltip {
    display: block;
    padding: 10px;
    border-radius: 3px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 200px;
    background: #222;
    -webkit-box-shadow: 0 2px 4px rgba(from black r g b/0.4);
    box-shadow: 0 2px 4px rgba(from black r g b/0.4);
    opacity: 0;
    font-size: 1.1rem;
    line-height: 1.2;
    color: white;
    white-space: nowrap;
    pointer-events: none;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }
  .js_float_wrap .js-tooltip::after, .tooltip_handle .js-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 20px;
    margin: auto;
    width: 10px;
    aspect-ratio: 1/1;
    -webkit-clip-path: polygon(50% 70%, 100% 0, 0 0);
    clip-path: polygon(50% 70%, 100% 0, 0 0);
    background: #222;
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
  }
  .js_float_wrap .is-show.js-tooltip, .tooltip_handle .is-show.js-tooltip {
    opacity: 1;
    pointer-events: all;
  }
  .js_float_wrap .tooltip_bottom.js-tooltip::after, .tooltip_handle .tooltip_bottom.js-tooltip::after {
    top: auto;
    bottom: 100%;
    -webkit-transform: scale(1, -1);
    transform: scale(1, -1);
  }
  .js_float_wrap .tooltip_right.js-tooltip::after, .tooltip_handle .tooltip_right.js-tooltip::after {
    top: 0;
    right: 100%;
    bottom: 0;
    left: auto;
    -webkit-clip-path: polygon(30% 50%, 100% 100%, 100% 0);
    clip-path: polygon(30% 50%, 100% 100%, 100% 0);
    -webkit-transform: translateX(1px);
    transform: translateX(1px);
  }
  .js_float_wrap .tooltip_left.js-tooltip::after, .tooltip_handle .tooltip_left.js-tooltip::after {
    top: 0;
    right: auto;
    bottom: 0;
    left: 100%;
    -webkit-clip-path: polygon(30% 50%, 100% 100%, 100% 0);
    clip-path: polygon(30% 50%, 100% 100%, 100% 0);
    -webkit-transform: translateX(-1px) scale(-1, 1);
    transform: translateX(-1px) scale(-1, 1);
  }
  .tooltip_handle {
    position: relative;
    display: inline-block;
    border-bottom: 1px dashed #666;
    cursor: pointer;
  }
  .tooltip_handle .js-tooltip {
    position: absolute;
    bottom: 100%;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
  }
  .tooltip_handle .js-tooltip.tooltip_bottom {
    top: 100%;
    bottom: auto;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  .tooltip_handle .js-tooltip.tooltip_right {
    top: 50%;
    bottom: auto;
    left: 100%;
    -webkit-transform: translate(10px, -50%);
    transform: translate(10px, -50%);
  }
  .tooltip_handle .js-tooltip.tooltip_left {
    top: 50%;
    right: 100%;
    bottom: auto;
    -webkit-transform: translate(-10px, -50%);
    transform: translate(-10px, -50%);
  }
  .tooltip_handle.block_icon {
    border-bottom: none;
  }
  .js_float_wrap {
    position: relative;
    z-index: 999;
  }
  .js_float_wrap .js-tooltip {
    position: fixed;
    -webkit-transform: translateY(calc(-100% - 5px));
    transform: translateY(calc(-100% - 5px));
  }
  .js_float_wrap .js-tooltip.tooltip_bottom {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  .js_float_wrap .js-tooltip.tooltip_right {
    -webkit-transform: translate(10px, -50%);
    transform: translate(10px, -50%);
  }
  .js_float_wrap .js-tooltip.tooltip_left {
    -webkit-transform: translate(calc(-100% - 10px), -50%);
    transform: translate(calc(-100% - 10px), -50%);
  }
}
@layer lib {
  /**======================================
  	calendar
  ======================================**/
  .calendar_header {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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: angle_left;
    --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;
    -webkit-transform: translateY(-50%);
    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: angle_right;
    --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;
    -webkit-transform: translateY(-50%);
    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.is-disabled,
  .calendar_header .btn_next.is-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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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: var(--icon-url-check);
    --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;
    -webkit-transition: 0.3s;
    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;
    -webkit-transition: 0.3s;
    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 {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_fade .promo_item.is-current {
    -webkit-animation-name: promo_fade_show;
    animation-name: promo_fade_show;
  }
  .promo_wrap .promo.promo_fade .promo_item:not(.is-current) {
    -webkit-animation-name: promo_fade_hide;
    animation-name: promo_fade_hide;
  }
  @-webkit-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_show {
    0% {
      z-index: 2;
      opacity: 0;
    }
    50% {
      z-index: 2;
      opacity: 1;
    }
    100% {
      z-index: 1;
      opacity: 1;
    }
  }
  @-webkit-keyframes promo_fade_hide {
    0% {
      z-index: 1;
      opacity: 1;
    }
    50% {
      z-index: 1;
      opacity: 1;
    }
    100% {
      z-index: 0;
      opacity: 0;
    }
  }
  @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 {
    -webkit-animation-duration: 4s;
    animation-duration: 4s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.is-current {
    -webkit-animation-name: promo_fade_zoom_show;
    animation-name: promo_fade_zoom_show;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item:not(.is-current) {
    -webkit-animation-name: promo_fade_zoom_hide;
    animation-name: promo_fade_zoom_hide;
  }
  @-webkit-keyframes promo_fade_zoom_show {
    0% {
      z-index: 2;
      opacity: 0;
      -webkit-transform: scale(1);
      transform: scale(1);
    }
    25% {
      opacity: 1;
    }
    50% {
      z-index: 2;
    }
    100% {
      z-index: 1;
      opacity: 1;
      -webkit-transform: scale(1.05);
      transform: scale(1.05);
    }
  }
  @keyframes promo_fade_zoom_show {
    0% {
      z-index: 2;
      opacity: 0;
      -webkit-transform: scale(1);
      transform: scale(1);
    }
    25% {
      opacity: 1;
    }
    50% {
      z-index: 2;
    }
    100% {
      z-index: 1;
      opacity: 1;
      -webkit-transform: scale(1.05);
      transform: scale(1.05);
    }
  }
  @-webkit-keyframes promo_fade_zoom_hide {
    0% {
      z-index: 1;
      opacity: 1;
      -webkit-transform: scale(1.05);
      transform: scale(1.05);
    }
    75% {
      opacity: 1;
    }
    100% {
      z-index: 0;
      opacity: 0;
      -webkit-transform: scale(1.1);
      transform: scale(1.1);
    }
  }
  @keyframes promo_fade_zoom_hide {
    0% {
      z-index: 1;
      opacity: 1;
      -webkit-transform: scale(1.05);
      transform: scale(1.05);
    }
    75% {
      opacity: 1;
    }
    100% {
      z-index: 0;
      opacity: 0;
      -webkit-transform: scale(1.1);
      transform: scale(1.1);
    }
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.promo_01 {
    -webkit-transform-origin: center;
    transform-origin: center;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.promo_02 {
    -webkit-transform-origin: top left;
    transform-origin: top left;
  }
  .promo_wrap .promo.promo_fade_zoom .promo_item.promo_03 {
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
  }
  .promo_wrap .promo.promo_slide .promo_item {
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_slide .promo_item.is-current {
    -webkit-animation-name: promo_slide_show;
    animation-name: promo_slide_show;
  }
  .promo_wrap .promo.promo_slide .promo_item:not(.is-current) {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-animation-name: promo_slide_hide;
    animation-name: promo_slide_hide;
  }
  @-webkit-keyframes promo_slide_show {
    0% {
      z-index: 2;
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
    99% {
      -webkit-transform: translateX(0%);
      transform: translateX(0%);
    }
    100% {
      z-index: 1;
    }
  }
  @keyframes promo_slide_show {
    0% {
      z-index: 2;
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
    99% {
      -webkit-transform: translateX(0%);
      transform: translateX(0%);
    }
    100% {
      z-index: 1;
    }
  }
  @-webkit-keyframes promo_slide_hide {
    0% {
      z-index: 1;
      -webkit-transform: translateX(0%);
      transform: translateX(0%);
    }
    99% {
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
    100% {
      z-index: 0;
    }
  }
  @keyframes promo_slide_hide {
    0% {
      z-index: 1;
      -webkit-transform: translateX(0%);
      transform: translateX(0%);
    }
    99% {
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
    100% {
      z-index: 0;
    }
  }
  .promo_wrap .promo.promo_clip .promo_item {
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  .promo_wrap .promo.promo_clip .promo_item.is-current {
    -webkit-animation-name: promo_clip_show;
    animation-name: promo_clip_show;
  }
  .promo_wrap .promo.promo_clip .promo_item:not(.is-current) {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    -webkit-animation-name: promo_clip_hide;
    animation-name: promo_clip_hide;
  }
  @-webkit-keyframes promo_clip_show {
    0% {
      z-index: 2;
      -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
      clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    }
    99% {
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
    100% {
      z-index: 1;
    }
  }
  @keyframes promo_clip_show {
    0% {
      z-index: 2;
      -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
      clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    }
    99% {
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
    100% {
      z-index: 1;
    }
  }
  @-webkit-keyframes promo_clip_hide {
    0% {
      z-index: 1;
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
    99% {
      -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
      clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    }
    100% {
      z-index: 0;
    }
  }
  @keyframes promo_clip_hide {
    0% {
      z-index: 1;
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
    99% {
      -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
      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;
  }
}
/**======================================
	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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 5px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .pager_wrap ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .pager_wrap ul li > * {
    --icon-color: var(--v_btn_color_icon);
    display: block;
    width: var(--btn_width);
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: none;
    transition: none;
    /*
    	【 --v_btn_color_xx の定義について 】

    	第一候補
    	→ --btn_color_base あるいは --btn_base_white を参照

    	第二候補 (--btn_color_base が定義されていない場合)
    	→ --btn_color_xx を参照

    	Tips：
    	--btn_base_white は、 --btn_color_base が 定義されていない場合は無効扱いになる
    	（--btn_color_base をfromによって白に変色させている為）

    */
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    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);
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .pager_wrap ul li > * > * {
      -webkit-box-shadow: none;
      box-shadow: none;
    }
  }
  .pager_wrap ul li > * > *::before, .pager_wrap ul li > * > *::after {
    background-color: var(--icon-color);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .pager_wrap ul li > * > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .pager_wrap ul li > * > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: fill var(--btn_transition);
    transition: fill var(--btn_transition);
  }
  .pager_wrap ul li > *:active > * {
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.6);
    box-shadow: 0 1px 2px rgba(from black r g b/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_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .pager_wrap ul li > *:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .pager_wrap ul li > *:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .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_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
  }
  .pager_wrap ul li > * > * {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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: var(--icon-url-angle_left);
  }
  .pager_wrap ul li > * > .next {
    --icon-image: var(--icon-url-angle_right);
  }
  .pager_wrap ul li > * > .next::before {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  .pager_wrap ul li > *.is-current {
    opacity: 0.3;
    pointer-events: none;
  }
  .pager_wrap ul li > *.dots {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    text-align: center;
    font-size: 1.2rem;
    color: black;
  }
  .pager_wrap ul li > *.is-disabled {
    opacity: 0.3;
  }
  .pager_wrap ul.pager_numbers li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    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.is-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;
    -webkit-transition: none;
    transition: none;
    /*
    	【 --v_btn_color_xx の定義について 】

    	第一候補
    	→ --btn_color_base あるいは --btn_base_white を参照

    	第二候補 (--btn_color_base が定義されていない場合)
    	→ --btn_color_xx を参照

    	Tips：
    	--btn_base_white は、 --btn_color_base が 定義されていない場合は無効扱いになる
    	（--btn_color_base をfromによって白に変色させている為）

    */
  }
  .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);
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .pagetop a > * {
      -webkit-box-shadow: none;
      box-shadow: none;
    }
  }
  .pagetop a > *::before, .pagetop a > *::after {
    background-color: var(--icon-color);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .pagetop a > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .pagetop a > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: fill var(--btn_transition);
    transition: fill var(--btn_transition);
  }
  .pagetop a:active > * {
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.6);
    box-shadow: 0 1px 2px rgba(from black r g b/0.6);
  }
  .pagetop a:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .pagetop a:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .pagetop a:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .pagetop a:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
  }
  .pagetop a > * {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 1/1;
  }
  .pagetop a > * svg {
    width: 1.5em;
  }
  .btn.btn_hoverline {
    position: relative;
    -webkit-transition: var(--btn_transition);
    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;
    -webkit-transition: var(--btn_transition);
    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;
    -webkit-transform: scale(0.1, 1);
    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;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .btn.btn_hoverline:hover::after {
    opacity: 0;
    -webkit-transform: scale(0.1, 1);
    transform: scale(0.1, 1);
  }
  .btn.btn_zoomout {
    --btn_transition: 0.5s;
    position: relative;
    -webkit-transition: var(--btn_transition);
    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;
    -webkit-transition: var(--btn_transition);
    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;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
  .btn.btn_zoomout:hover > * {
    background: none;
  }
  .btn.btn_zoomout:hover::before {
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  .btn.btn_zoomout:hover::after {
    opacity: 0.5;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .btn.btn_zoomin {
    --btn_transition: 0.5s;
    position: relative;
    -webkit-transition: var(--btn_transition);
    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;
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .btn.btn_zoomin::before {
    border: 1px solid var(--v_btn_color_border);
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  .btn.btn_zoomin::after {
    background-color: var(--v_btn_color_bg);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .btn.btn_zoomin:hover > * {
    background: none;
  }
  .btn.btn_zoomin:hover::before {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .btn.btn_zoomin:hover::after {
    opacity: 0;
    -webkit-transform: scale(1.2);
    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);
    -webkit-transition: var(--btn_transition);
    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;
    -webkit-transition: var(--btn_transition);
    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 {
    --btn_base_white: rgba(from var(--btn_color_base) 255 255 255);
    --btn_base_alpha: rgb(from var(--btn_color_base) r g b / 0.7);
    cursor: pointer;
    --icon-color: var(--v_btn_color_icon);
    display: block;
    width: var(--btn_width);
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: none;
    transition: none;
    /*
    	【 --v_btn_color_xx の定義について 】

    	第一候補
    	→ --btn_color_base あるいは --btn_base_white を参照

    	第二候補 (--btn_color_base が定義されていない場合)
    	→ --btn_color_xx を参照

    	Tips：
    	--btn_base_white は、 --btn_color_base が 定義されていない場合は無効扱いになる
    	（--btn_color_base をfromによって白に変色させている為）

    */
  }
  .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);
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .btn > * {
      -webkit-box-shadow: none;
      box-shadow: none;
    }
  }
  .btn > *::before, .btn > *::after {
    background-color: var(--icon-color);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .btn > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .btn > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: fill var(--btn_transition);
    transition: fill var(--btn_transition);
  }
  .btn:active > * {
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.6);
    box-shadow: 0 1px 2px rgba(from black r g b/0.6);
  }
  .btn:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .btn:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .btn:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .btn:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
  }
  @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;
      -webkit-transition: none;
      transition: none;
      /*
      	【 --v_btn_color_xx の定義について 】

      	第一候補
      	→ --btn_color_base あるいは --btn_base_white を参照

      	第二候補 (--btn_color_base が定義されていない場合)
      	→ --btn_color_xx を参照

      	Tips：
      	--btn_base_white は、 --btn_color_base が 定義されていない場合は無効扱いになる
      	（--btn_color_base をfromによって白に変色させている為）

      */
    }
    .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);
      -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.2);
      box-shadow: 0 1px 2px rgba(from black r g b/0.2);
      text-align: center;
      font-size: var(--btn_txt_size);
      font-weight: bold;
      color: var(--v_btn_color_txt);
      -webkit-transition: var(--btn_transition);
      transition: var(--btn_transition);
    }
  }
  @media screen and (max-width: 599px) and (min-width: 600px) {
    .btn_sp > * {
      -webkit-box-shadow: none;
      box-shadow: none;
    }
  }
  @media screen and (max-width: 599px) {
    .btn_sp > *::before, .btn_sp > *::after {
      background-color: var(--icon-color);
      -webkit-transition: var(--btn_transition);
      transition: var(--btn_transition);
    }
    .btn_sp > * svg {
      display: block;
      fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
      -webkit-transition: var(--btn_transition);
      transition: var(--btn_transition);
    }
    .btn_sp > * svg path {
      fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
      -webkit-transition: fill var(--btn_transition);
      transition: fill var(--btn_transition);
    }
    .btn_sp:active > * {
      -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.6);
      box-shadow: 0 1px 2px rgba(from black r g b/0.6);
    }
    .btn_sp:where(:not(.bc_reverse)) {
      --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
      --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
      --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
      --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    }
    .btn_sp:where(:not(.bc_reverse)):hover {
      --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
      --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
      --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
    }
    .btn_sp:where(.bc_reverse) {
      --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
      --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
      --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
      --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
    }
    .btn_sp:where(.bc_reverse):hover {
      --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
      --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
      --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
    }
  }
  .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, .is-disabled, [disabled]) {
    opacity: 0.2;
    pointer-events: none;
    cursor: default;
  }
  .btn.is-current {
    opacity: 0.4;
    pointer-events: none;
    cursor: default;
  }
  .btn_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: var(--btn_wrap_gap);
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
  }
  .btn_wrap:where(:not(:last-child):not(.cont)) {
    margin-bottom: 10px;
  }
  .btn_wrap.stretch {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .btn_wrap.stretch > *.btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .btn_wrap.stretch > *.btn > * {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap.center {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
    }
  }
  .btn_wrap.row_wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .btn_wrap.grow {
    --btn_width: auto;
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap.grow > *.btn {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
    }
  }
  .btn_wrap.vertical,
  .btn_wrap.col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  @media print, screen and (min-width: 600px) {
    .btn_wrap.vertical.center,
    .btn_wrap.col.center {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
  }
  .btn_wrap.row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .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;
    -webkit-transform: translateY(-50%);
    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;
    -webkit-transform: translateY(-37.5%);
    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;
      -webkit-transform: translateY(-50%);
      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;
      -webkit-transform: translateY(-37.5%);
      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;
    -webkit-transition: none;
    transition: none;
    /*
    	【 --v_btn_color_xx の定義について 】

    	第一候補
    	→ --btn_color_base あるいは --btn_base_white を参照

    	第二候補 (--btn_color_base が定義されていない場合)
    	→ --btn_color_xx を参照

    	Tips：
    	--btn_base_white は、 --btn_color_base が 定義されていない場合は無効扱いになる
    	（--btn_color_base をfromによって白に変色させている為）

    */
  }
  .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);
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .btn_icon > * {
      -webkit-box-shadow: none;
      box-shadow: none;
    }
  }
  .btn_icon > *::before, .btn_icon > *::after {
    background-color: var(--icon-color);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .btn_icon > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .btn_icon > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: fill var(--btn_transition);
    transition: fill var(--btn_transition);
  }
  .btn_icon:active > * {
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.6);
    box-shadow: 0 1px 2px rgba(from black r g b/0.6);
  }
  .btn_icon:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .btn_icon:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .btn_icon:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .btn_icon:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
  }
  .btn_icon > * {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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;
    -webkit-transition: none;
    transition: none;
    /*
    	【 --v_btn_color_xx の定義について 】

    	第一候補
    	→ --btn_color_base あるいは --btn_base_white を参照

    	第二候補 (--btn_color_base が定義されていない場合)
    	→ --btn_color_xx を参照

    	Tips：
    	--btn_base_white は、 --btn_color_base が 定義されていない場合は無効扱いになる
    	（--btn_color_base をfromによって白に変色させている為）

    */
  }
  .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);
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    box-shadow: 0 1px 2px rgba(from black r g b/0.2);
    text-align: center;
    font-size: var(--btn_txt_size);
    font-weight: bold;
    color: var(--v_btn_color_txt);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  @media print, screen and (min-width: 600px) {
    .btn_img > * {
      -webkit-box-shadow: none;
      box-shadow: none;
    }
  }
  .btn_img > *::before, .btn_img > *::after {
    background-color: var(--icon-color);
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .btn_img > * svg {
    display: block;
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: var(--btn_transition);
    transition: var(--btn_transition);
  }
  .btn_img > * svg path {
    fill: var(--v_btn_color_icon, var(--v_btn_color_txt));
    -webkit-transition: fill var(--btn_transition);
    transition: fill var(--btn_transition);
  }
  .btn_img:active > * {
    -webkit-box-shadow: 0 1px 2px rgba(from black r g b/0.6);
    box-shadow: 0 1px 2px rgba(from black r g b/0.6);
  }
  .btn_img:where(:not(.bc_reverse)) {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .btn_img:where(:not(.bc_reverse)):hover {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
  }
  .btn_img:where(.bc_reverse) {
    --v_btn_color_bg: var(--btn_base_white, var(--btn_color_bg_hover));
    --v_btn_color_txt: var(--btn_color_base, var(--btn_color_txt_hover));
    --v_btn_color_icon: var(--btn_color_base, var(--btn_color_txt_hover, var(--btn_color_txt_hover)));
    --v_btn_color_border: var(--btn_color_base, var(--btn_color_border));
  }
  .btn_img:where(.bc_reverse):hover {
    --v_btn_color_bg: var(--btn_color_base, var(--btn_color_bg));
    --v_btn_color_txt: var(--btn_base_white, var(--btn_color_txt));
    --v_btn_color_icon: var(--btn_base_white, var(--btn_color_icon, var(--btn_color_txt)));
  }
  .btn_img > * {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      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: var(--icon-url-angle_right);
    }
    .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: -webkit-min-content;
    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) > .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) > div:nth-last-child(1 of :not(.image_item)),
  :is(.texts_image) > div:nth-last-child(1 of :not(.image_item)) {
    margin-bottom: 0;
  }
  :is(.image_texts) > *.align_self_start,
  :is(.texts_image) > *.align_self_start {
    -ms-flex-item-align: start;
    align-self: flex-start;
  }
  :is(.image_texts) > *.align_self_center,
  :is(.texts_image) > *.align_self_center {
    -ms-flex-item-align: center;
    align-self: center;
  }
  :is(.image_texts) > *.align_self_end,
  :is(.texts_image) > *.align_self_end {
    -ms-flex-item-align: end;
    align-self: flex-end;
  }
  :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) {
    -webkit-box-align: center;
    -ms-flex-align: center;
    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, -webkit-min-content) 1fr;
    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, -webkit-min-content);
    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, -webkit-min-content) 1fr;
    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, -webkit-min-content);
    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, -webkit-min-content) 1fr;
    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, -webkit-min-content);
    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, -webkit-min-content) 1fr;
    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, -webkit-min-content);
    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, -webkit-min-content) 1fr;
    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, -webkit-min-content);
    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, -webkit-min-content) 1fr;
    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, -webkit-min-content);
    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) > *.align_self_start {
    -ms-flex-item-align: start;
    align-self: flex-start;
  }
  :is(.left_right) > *.align_self_center {
    -ms-flex-item-align: center;
    align-self: center;
  }
  :is(.left_right) > *.align_self_end {
    -ms-flex-item-align: end;
    align-self: flex-end;
  }
  :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;
  }
  .align_start:is(.left_right) {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .align_center:is(.left_right) {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .align_end:is(.left_right) {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  :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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    gap: var(--snap_gap);
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
  }
  :is(.snap) > .clm_item {
    -ms-flex-negative: 0;
    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: -webkit-min-content;
      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) > .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) > div:nth-last-child(1 of :not(.image_item)),
    :is(.texts_image_sp, .texts_image_sp_tb) > div:nth-last-child(1 of :not(.image_item)) {
      margin-bottom: 0;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > *.align_self_start,
    :is(.texts_image_sp, .texts_image_sp_tb) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > *.align_self_center,
    :is(.texts_image_sp, .texts_image_sp_tb) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.image_texts_sp, .image_texts_sp_tb) > *.align_self_end,
    :is(.texts_image_sp, .texts_image_sp_tb) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.left_right_sp, .left_right_sp_tb) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.left_right_sp, .left_right_sp_tb) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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;
    }
    .align_start:is(.left_right_sp, .left_right_sp_tb) {
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
    .align_center:is(.left_right_sp, .left_right_sp_tb) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .align_end:is(.left_right_sp, .left_right_sp_tb) {
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
    }
    :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: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
      gap: var(--snap_gap);
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
    }
    :is(.snap_sp, .snap_sp_tb) > .clm_item {
      -ms-flex-negative: 0;
      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: -webkit-min-content;
      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) > .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) > div:nth-last-child(1 of :not(.image_item)),
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > div:nth-last-child(1 of :not(.image_item)) {
      margin-bottom: 0;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > *.align_self_start,
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > *.align_self_center,
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.image_texts_sp_tb, .image_texts_tb, .image_texts_tb_pc) > *.align_self_end,
    :is(.texts_image_sp_tb, .texts_image_tb, .texts_image_tb_pc) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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;
    }
    .align_start:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) {
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
    .align_center:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .align_end:is(.left_right_sp_tb, .left_right_tb, .left_right_tb_pc) {
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
    }
    :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: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
      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 {
      -ms-flex-negative: 0;
      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: -webkit-min-content;
      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) > .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) > div:nth-last-child(1 of :not(.image_item)),
    :is(.texts_image_tb_pc, .texts_image_pc) > div:nth-last-child(1 of :not(.image_item)) {
      margin-bottom: 0;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > *.align_self_start,
    :is(.texts_image_tb_pc, .texts_image_pc) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > *.align_self_center,
    :is(.texts_image_tb_pc, .texts_image_pc) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.image_texts_tb_pc, .image_texts_pc) > *.align_self_end,
    :is(.texts_image_tb_pc, .texts_image_pc) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.left_right_tb_pc, .left_right_pc) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.left_right_tb_pc, .left_right_pc) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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;
    }
    .align_start:is(.left_right_tb_pc, .left_right_pc) {
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
    .align_center:is(.left_right_tb_pc, .left_right_pc) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .align_end:is(.left_right_tb_pc, .left_right_pc) {
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
    }
    :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: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
      gap: var(--snap_gap);
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
    }
    :is(.snap_tb_pc, .snap_pc) > .clm_item {
      -ms-flex-negative: 0;
      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: 1400px) {
    :is(.image_texts_lg),
    :is(.texts_image_lg) {
      display: grid;
      grid-auto-rows: -webkit-min-content;
      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) > .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) > div:nth-last-child(1 of :not(.image_item)),
    :is(.texts_image_lg) > div:nth-last-child(1 of :not(.image_item)) {
      margin-bottom: 0;
    }
    :is(.image_texts_lg) > *.align_self_start,
    :is(.texts_image_lg) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.image_texts_lg) > *.align_self_center,
    :is(.texts_image_lg) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.image_texts_lg) > *.align_self_end,
    :is(.texts_image_lg) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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, -webkit-min-content) 1fr;
      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, -webkit-min-content);
      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) > *.align_self_start {
      -ms-flex-item-align: start;
      align-self: flex-start;
    }
    :is(.left_right_lg) > *.align_self_center {
      -ms-flex-item-align: center;
      align-self: center;
    }
    :is(.left_right_lg) > *.align_self_end {
      -ms-flex-item-align: end;
      align-self: flex-end;
    }
    :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;
    }
    .align_start:is(.left_right_lg) {
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: flex-start;
    }
    .align_center:is(.left_right_lg) {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }
    .align_end:is(.left_right_lg) {
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
    }
    :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: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
      gap: var(--snap_gap);
      overflow-x: scroll;
      scroll-snap-type: x mandatory;
    }
    :is(.snap_lg) > .clm_item {
      -ms-flex-negative: 0;
      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);
    }
  }
  /*--------------------------------------
  	fukidashi
  ---------------------------------------*/
  .fukidashi {
    --image_texts_imagesize: clamp(80px, 80px + 40 * (100vw - 400px) / 1000, 120px);
    --image_texts_gap: 20px;
    --fukidashi_bg_color: #fff;
    display: grid;
    grid-template-columns: var(--image_texts_imagesize) 1fr;
    grid-auto-flow: row dense;
    gap: 0 var(--image_texts_gap);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .fukidashi > * {
    min-width: 0;
  }
  .fukidashi > .texts_item {
    position: relative;
    grid-column: 2;
    padding: clamp(10px, 10px + 10 * (100vw - 400px) / 1000, 20px);
    border-radius: 6px;
    background: var(--fukidashi_bg_color, var(--bg_color_base));
  }
  .fukidashi > .texts_item::before {
    content: "";
    position: absolute;
    top: 20px;
    display: block;
    margin: auto;
    width: calc(var(--image_texts_gap) * 0.8);
    aspect-ratio: 1/1.5;
    background: var(--fukidashi_bg_color, var(--bg_color_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 {
    grid-column: 1;
    width: var(--image_texts_imagesize);
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.3;
  }
  .fukidashi.fukidashi_left > .texts_item::before {
    left: calc(var(--image_texts_gap) * -0.8 + 1px);
    -webkit-clip-path: polygon(0 51%, 100% 100%, 100% 0);
    clip-path: polygon(0 51%, 100% 100%, 100% 0);
  }
  .fukidashi.fukidashi_right {
    grid-template-columns: 1fr var(--image_texts_imagesize);
  }
  .fukidashi.fukidashi_right > .texts_item {
    grid-column: 1;
  }
  .fukidashi.fukidashi_right > .texts_item::before {
    right: calc(var(--image_texts_gap) * -0.8 + 1px);
    -webkit-clip-path: polygon(100% 50%, 0 100%, 0 0);
    clip-path: polygon(100% 50%, 0 100%, 0 0);
  }
  .fukidashi.fukidashi_right > .image_item {
    grid-column: 2;
  }
  .nav_dots {
    --icon-image: var(--icon-url-angle_right);
    --icon-size: 40px;
    grid-column: 1/-1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-block: 8px;
  }
  .nav_dots > span {
    display: block;
    border-radius: 50%;
    width: 8px;
    aspect-ratio: 1/1;
    background-color: #ccc;
    -webkit-transition: background-color 0.5s;
    transition: background-color 0.5s;
  }
  .nav_dots > span.is-current {
    background-color: var(--color_theme_base);
  }
  .nav_btn {
    position: relative;
    z-index: 2;
    grid-row: 1;
    opacity: 1;
    cursor: pointer;
    -webkit-transition: 0.3s;
    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.is-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: -webkit-min-content 1fr -webkit-min-content;
    grid-template-columns: min-content 1fr min-content;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .snap_wrap {
    position: relative;
    display: grid;
    grid-template-columns: -webkit-min-content 1fr -webkit-min-content;
    grid-template-columns: min-content 1fr min-content;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .snap_wrap .snap_handles > *.is-current {
    opacity: 0.5;
  }
  :is(.slider_wrap, .carousel_wrap, .loop_wrap) {
    position: relative;
    display: grid;
    grid-template-rows: -webkit-min-content -webkit-min-content;
    grid-template-rows: min-content min-content;
    grid-template-columns: -webkit-min-content 1fr -webkit-min-content;
    grid-template-columns: min-content 1fr min-content;
    -webkit-box-align: center;
    -ms-flex-align: center;
    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: -webkit-box;
    display: -ms-flexbox;
    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;
    -ms-flex-negative: 0;
    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;
  }
  :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: var(--slider_item_width);
  }
  :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: var(--carousel_item_width);
  }
  :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: var(--loop_item_width);
  }
  .smooth_slide_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow: hidden;
  }
  .smooth_slide_wrap .smooth_slide_items {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0 !important;
    -webkit-animation: smooth_slide infinite var(--smooth_slide_duration, 30s) linear both;
    animation: smooth_slide infinite var(--smooth_slide_duration, 30s) linear both;
  }
  @-webkit-keyframes smooth_slide {
    from {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
    to {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
  }
  @keyframes smooth_slide {
    from {
      -webkit-transform: translateX(0);
      transform: translateX(0);
    }
    to {
      -webkit-transform: translateX(-100%);
      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;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .tab_wrap .tab_handle_set > * > * {
    display: block;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .tab_wrap .tab_handle_set > *.is-current {
    pointer-events: none;
    cursor: default;
  }
  .tab_wrap .tab_handle_set.is-current_grow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .tab_wrap .tab_handle_set.is-current_grow > * {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    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.is-current_grow > * > * {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .tab_wrap .tab_handle_set.is-current_grow > *.is-current {
    width: 100%;
  }
  .tab_wrap .tab_target {
    margin-bottom: 0;
  }
  ul.ul_ttl {
    display: grid;
    gap: 5px 1em;
  }
  ul.ul_ttl > li {
    display: grid;
    margin-bottom: 0;
  }
  ul.ul_ttl > li > .ttl, ul.ul_ttl > li::after {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    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: 1400px) {
    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;
  }
  ul.ul_ttl.rowgap_11px {
    row-gap: 11px;
  }
  ul.ul_ttl.rowgap_12px {
    row-gap: 12px;
  }
  ul.ul_ttl.rowgap_13px {
    row-gap: 13px;
  }
  ul.ul_ttl.rowgap_14px {
    row-gap: 14px;
  }
  ul.ul_ttl.rowgap_15px {
    row-gap: 15px;
  }
  ul.ul_ttl.rowgap_16px {
    row-gap: 16px;
  }
  ul.ul_ttl.rowgap_17px {
    row-gap: 17px;
  }
  ul.ul_ttl.rowgap_18px {
    row-gap: 18px;
  }
  ul.ul_ttl.rowgap_19px {
    row-gap: 19px;
  }
  ul.ul_ttl.rowgap_20px {
    row-gap: 20px;
  }
  ul.ul_ttl.clmgap_5px {
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
  }
  ul.ul_ttl.clmgap_6px {
    -webkit-column-gap: 6px;
    -moz-column-gap: 6px;
    column-gap: 6px;
  }
  ul.ul_ttl.clmgap_7px {
    -webkit-column-gap: 7px;
    -moz-column-gap: 7px;
    column-gap: 7px;
  }
  ul.ul_ttl.clmgap_8px {
    -webkit-column-gap: 8px;
    -moz-column-gap: 8px;
    column-gap: 8px;
  }
  ul.ul_ttl.clmgap_9px {
    -webkit-column-gap: 9px;
    -moz-column-gap: 9px;
    column-gap: 9px;
  }
  ul.ul_ttl.clmgap_10px {
    -webkit-column-gap: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px;
  }
  ul.ul_ttl.clmgap_11px {
    -webkit-column-gap: 11px;
    -moz-column-gap: 11px;
    column-gap: 11px;
  }
  ul.ul_ttl.clmgap_12px {
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px;
  }
  ul.ul_ttl.clmgap_13px {
    -webkit-column-gap: 13px;
    -moz-column-gap: 13px;
    column-gap: 13px;
  }
  ul.ul_ttl.clmgap_14px {
    -webkit-column-gap: 14px;
    -moz-column-gap: 14px;
    column-gap: 14px;
  }
  ul.ul_ttl.clmgap_15px {
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
  }
  ul.ul_ttl.clmgap_16px {
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    column-gap: 16px;
  }
  ul.ul_ttl.clmgap_17px {
    -webkit-column-gap: 17px;
    -moz-column-gap: 17px;
    column-gap: 17px;
  }
  ul.ul_ttl.clmgap_18px {
    -webkit-column-gap: 18px;
    -moz-column-gap: 18px;
    column-gap: 18px;
  }
  ul.ul_ttl.clmgap_19px {
    -webkit-column-gap: 19px;
    -moz-column-gap: 19px;
    column-gap: 19px;
  }
  ul.ul_ttl.clmgap_20px {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
  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: 1400px) {
    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;
    }
  }
  @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: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
    }
    .scroll_wrap .pic,
    .scroll_wrap .object_fit {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
    }
    .scroll_wrap .pic img,
    .scroll_wrap .pic svg,
    .scroll_wrap .object_fit img,
    .scroll_wrap .object_fit svg {
      width: auto;
      max-width: none;
    }
  }
  .scroll_horizon::before {
    opacity: 0;
    pointer-events: none;
  }
  .scroll_horizon.is-show_icon::before {
    opacity: 1;
  }
  .scroll_horizon.is-draggable {
    cursor: -webkit-grab;
    cursor: grab;
  }
  .scroll_horizon.is-dragging {
    cursor: -webkit-grabbing;
    cursor: grabbing;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
}
@layer lib {
  @media screen and (max-width: 599px) {
    .hide_sp {
      display: none !important;
    }
  }
  @media screen and (max-width: 959px) {
    .hide_sp_tb {
      display: none !important;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .hide_tb {
      display: none !important;
    }
  }
  @media print, screen and (min-width: 600px) {
    .hide_tb_pc {
      display: none !important;
    }
  }
  @media print, screen and (min-width: 960px) {
    .hide_pc {
      display: none !important;
    }
  }
  @media screen and (min-width: 1400px) {
    .hide_lg {
      display: none !important;
    }
  }
  .bold {
    font-weight: bold;
  }
  .nobr {
    display: inline-block;
  }
  :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).right {
    text-align: right;
  }
  @media screen and (max-width: 599px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).right_sp, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .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, .texts, .caption, .catch, .supple).right_sp_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).right_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).right_tb_pc {
      text-align: right;
    }
  }
  @media print, screen and (min-width: 960px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).right_tb_pc, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).right_pc {
      text-align: right;
    }
  }
  @media screen and (min-width: 1400px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).right_lg {
      text-align: right;
    }
  }
  :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).left {
    text-align: left;
  }
  @media screen and (max-width: 599px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).left_sp, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .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, .texts, .caption, .catch, .supple).left_sp_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).left_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).left_tb_pc {
      text-align: left;
    }
  }
  @media print, screen and (min-width: 960px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).left_tb_pc, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).left_pc {
      text-align: left;
    }
  }
  @media screen and (min-width: 1400px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).left_lg {
      text-align: left;
    }
  }
  :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).center {
    text-align: center;
  }
  @media screen and (max-width: 599px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).center_sp, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .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, .texts, .caption, .catch, .supple).center_sp_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).center_tb, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).center_tb_pc {
      text-align: center;
    }
  }
  @media print, screen and (min-width: 960px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).center_tb_pc, :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .caption, .catch, .supple).center_pc {
      text-align: center;
    }
  }
  @media screen and (min-width: 1400px) {
    :where(.heading, .heading02, .heading03, .heading04, .heading05, .text, .texts, .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: 1400px) {
    .texts .right_lg {
      text-align: right;
    }
  }
  .texts .left {
    text-align: left;
  }
  @media screen and (max-width: 599px) {
    .texts .left_sp, .texts .left_sp_tb {
      text-align: left;
    }
  }
  @media screen and (min-width: 600px) and (max-width: 959px) {
    .texts .left_sp_tb, .texts .left_tb, .texts .left_tb_pc {
      text-align: left;
    }
  }
  @media print, screen and (min-width: 960px) {
    .texts .left_tb_pc, .texts .left_pc {
      text-align: left;
    }
  }
  @media screen and (min-width: 1400px) {
    .texts .left_lg {
      text-align: left;
    }
  }
  .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: 1400px) {
    .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;
    -webkit-transition: none;
    transition: none;
  }
  .fadein_wrap.is-show {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s;
  }
  .area > :not(.full) {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_max_percent), 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: 1400px) {
    .area > .full_lg {
      width: 100%;
    }
  }
  .area > .full > * {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_max_percent), var(--wrapper_max));
  }
  .wrapper {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_max_percent), 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: 1400px) {
    .wrapper_break_lg {
      margin-inline: calc(50% - 50vw) !important;
    }
  }
  .bottom_line {
    margin-bottom: clamp(20px, 20px + 10 * (100vw - 400px) / 1000, 30px);
    padding-bottom: clamp(20px, 20px + 10 * (100vw - 400px) / 1000, 30px);
    border-bottom: 1px solid var(--border_color_base);
  }
  .box.flash_wrap {
    margin-bottom: var(--part_margin);
  }
}
@layer lib {
  .is-hidden {
    display: none;
  }
  .is-fadein {
    -webkit-animation: fadein 0.7s ease both;
    animation: fadein 0.7s ease both;
  }
  @-webkit-keyframes fadein {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  @keyframes fadein {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  .is-fadeout {
    -webkit-animation: fadeout 0.3s ease forwards;
    animation: fadeout 0.3s ease forwards;
  }
  @-webkit-keyframes fadeout {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @keyframes fadeout {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
}
/* vendor */
/*======================================
	aos
======================================*/
/*--------------------------------------
	core
---------------------------------------*/
body[data-aos-duration="50"] [data-aos], [data-aos][data-aos][data-aos-duration="50"] {
  -webkit-transition-duration: 50ms;
  transition-duration: 50ms;
}
body[data-aos-delay="50"] [data-aos], [data-aos][data-aos][data-aos-delay="50"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="50"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="50"].aos-animate {
  -webkit-transition-delay: 50ms;
  transition-delay: 50ms;
}
body[data-aos-duration="100"] [data-aos], [data-aos][data-aos][data-aos-duration="100"] {
  -webkit-transition-duration: 100ms;
  transition-duration: 100ms;
}
body[data-aos-delay="100"] [data-aos], [data-aos][data-aos][data-aos-delay="100"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="100"].aos-animate {
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}
body[data-aos-duration="150"] [data-aos], [data-aos][data-aos][data-aos-duration="150"] {
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}
body[data-aos-delay="150"] [data-aos], [data-aos][data-aos][data-aos-delay="150"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="150"].aos-animate {
  -webkit-transition-delay: 150ms;
  transition-delay: 150ms;
}
body[data-aos-duration="200"] [data-aos], [data-aos][data-aos][data-aos-duration="200"] {
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
}
body[data-aos-delay="200"] [data-aos], [data-aos][data-aos][data-aos-delay="200"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="200"].aos-animate {
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
body[data-aos-duration="250"] [data-aos], [data-aos][data-aos][data-aos-duration="250"] {
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms;
}
body[data-aos-delay="250"] [data-aos], [data-aos][data-aos][data-aos-delay="250"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="250"].aos-animate {
  -webkit-transition-delay: 250ms;
  transition-delay: 250ms;
}
body[data-aos-duration="300"] [data-aos], [data-aos][data-aos][data-aos-duration="300"] {
  -webkit-transition-duration: 300ms;
  transition-duration: 300ms;
}
body[data-aos-delay="300"] [data-aos], [data-aos][data-aos][data-aos-delay="300"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="300"].aos-animate {
  -webkit-transition-delay: 300ms;
  transition-delay: 300ms;
}
body[data-aos-duration="350"] [data-aos], [data-aos][data-aos][data-aos-duration="350"] {
  -webkit-transition-duration: 350ms;
  transition-duration: 350ms;
}
body[data-aos-delay="350"] [data-aos], [data-aos][data-aos][data-aos-delay="350"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="350"].aos-animate {
  -webkit-transition-delay: 350ms;
  transition-delay: 350ms;
}
body[data-aos-duration="400"] [data-aos], [data-aos][data-aos][data-aos-duration="400"] {
  -webkit-transition-duration: 400ms;
  transition-duration: 400ms;
}
body[data-aos-delay="400"] [data-aos], [data-aos][data-aos][data-aos-delay="400"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="400"].aos-animate {
  -webkit-transition-delay: 400ms;
  transition-delay: 400ms;
}
body[data-aos-duration="450"] [data-aos], [data-aos][data-aos][data-aos-duration="450"] {
  -webkit-transition-duration: 450ms;
  transition-duration: 450ms;
}
body[data-aos-delay="450"] [data-aos], [data-aos][data-aos][data-aos-delay="450"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="450"].aos-animate {
  -webkit-transition-delay: 450ms;
  transition-delay: 450ms;
}
body[data-aos-duration="500"] [data-aos], [data-aos][data-aos][data-aos-duration="500"] {
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
}
body[data-aos-delay="500"] [data-aos], [data-aos][data-aos][data-aos-delay="500"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="500"].aos-animate {
  -webkit-transition-delay: 500ms;
  transition-delay: 500ms;
}
body[data-aos-duration="550"] [data-aos], [data-aos][data-aos][data-aos-duration="550"] {
  -webkit-transition-duration: 550ms;
  transition-duration: 550ms;
}
body[data-aos-delay="550"] [data-aos], [data-aos][data-aos][data-aos-delay="550"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="550"].aos-animate {
  -webkit-transition-delay: 550ms;
  transition-delay: 550ms;
}
body[data-aos-duration="600"] [data-aos], [data-aos][data-aos][data-aos-duration="600"] {
  -webkit-transition-duration: 600ms;
  transition-duration: 600ms;
}
body[data-aos-delay="600"] [data-aos], [data-aos][data-aos][data-aos-delay="600"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="600"].aos-animate {
  -webkit-transition-delay: 600ms;
  transition-delay: 600ms;
}
body[data-aos-duration="650"] [data-aos], [data-aos][data-aos][data-aos-duration="650"] {
  -webkit-transition-duration: 650ms;
  transition-duration: 650ms;
}
body[data-aos-delay="650"] [data-aos], [data-aos][data-aos][data-aos-delay="650"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="650"].aos-animate {
  -webkit-transition-delay: 650ms;
  transition-delay: 650ms;
}
body[data-aos-duration="700"] [data-aos], [data-aos][data-aos][data-aos-duration="700"] {
  -webkit-transition-duration: 700ms;
  transition-duration: 700ms;
}
body[data-aos-delay="700"] [data-aos], [data-aos][data-aos][data-aos-delay="700"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="700"].aos-animate {
  -webkit-transition-delay: 700ms;
  transition-delay: 700ms;
}
body[data-aos-duration="750"] [data-aos], [data-aos][data-aos][data-aos-duration="750"] {
  -webkit-transition-duration: 750ms;
  transition-duration: 750ms;
}
body[data-aos-delay="750"] [data-aos], [data-aos][data-aos][data-aos-delay="750"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="750"].aos-animate {
  -webkit-transition-delay: 750ms;
  transition-delay: 750ms;
}
body[data-aos-duration="800"] [data-aos], [data-aos][data-aos][data-aos-duration="800"] {
  -webkit-transition-duration: 800ms;
  transition-duration: 800ms;
}
body[data-aos-delay="800"] [data-aos], [data-aos][data-aos][data-aos-delay="800"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="800"].aos-animate {
  -webkit-transition-delay: 800ms;
  transition-delay: 800ms;
}
body[data-aos-duration="850"] [data-aos], [data-aos][data-aos][data-aos-duration="850"] {
  -webkit-transition-duration: 850ms;
  transition-duration: 850ms;
}
body[data-aos-delay="850"] [data-aos], [data-aos][data-aos][data-aos-delay="850"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="850"].aos-animate {
  -webkit-transition-delay: 850ms;
  transition-delay: 850ms;
}
body[data-aos-duration="900"] [data-aos], [data-aos][data-aos][data-aos-duration="900"] {
  -webkit-transition-duration: 900ms;
  transition-duration: 900ms;
}
body[data-aos-delay="900"] [data-aos], [data-aos][data-aos][data-aos-delay="900"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="900"].aos-animate {
  -webkit-transition-delay: 900ms;
  transition-delay: 900ms;
}
body[data-aos-duration="950"] [data-aos], [data-aos][data-aos][data-aos-duration="950"] {
  -webkit-transition-duration: 950ms;
  transition-duration: 950ms;
}
body[data-aos-delay="950"] [data-aos], [data-aos][data-aos][data-aos-delay="950"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="950"].aos-animate {
  -webkit-transition-delay: 950ms;
  transition-delay: 950ms;
}
body[data-aos-duration="1000"] [data-aos], [data-aos][data-aos][data-aos-duration="1000"] {
  -webkit-transition-duration: 1000ms;
  transition-duration: 1000ms;
}
body[data-aos-delay="1000"] [data-aos], [data-aos][data-aos][data-aos-delay="1000"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1000"].aos-animate {
  -webkit-transition-delay: 1000ms;
  transition-delay: 1000ms;
}
body[data-aos-duration="1050"] [data-aos], [data-aos][data-aos][data-aos-duration="1050"] {
  -webkit-transition-duration: 1050ms;
  transition-duration: 1050ms;
}
body[data-aos-delay="1050"] [data-aos], [data-aos][data-aos][data-aos-delay="1050"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1050"].aos-animate {
  -webkit-transition-delay: 1050ms;
  transition-delay: 1050ms;
}
body[data-aos-duration="1100"] [data-aos], [data-aos][data-aos][data-aos-duration="1100"] {
  -webkit-transition-duration: 1100ms;
  transition-duration: 1100ms;
}
body[data-aos-delay="1100"] [data-aos], [data-aos][data-aos][data-aos-delay="1100"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1100"].aos-animate {
  -webkit-transition-delay: 1100ms;
  transition-delay: 1100ms;
}
body[data-aos-duration="1150"] [data-aos], [data-aos][data-aos][data-aos-duration="1150"] {
  -webkit-transition-duration: 1150ms;
  transition-duration: 1150ms;
}
body[data-aos-delay="1150"] [data-aos], [data-aos][data-aos][data-aos-delay="1150"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1150"].aos-animate {
  -webkit-transition-delay: 1150ms;
  transition-delay: 1150ms;
}
body[data-aos-duration="1200"] [data-aos], [data-aos][data-aos][data-aos-duration="1200"] {
  -webkit-transition-duration: 1200ms;
  transition-duration: 1200ms;
}
body[data-aos-delay="1200"] [data-aos], [data-aos][data-aos][data-aos-delay="1200"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1200"].aos-animate {
  -webkit-transition-delay: 1200ms;
  transition-delay: 1200ms;
}
body[data-aos-duration="1250"] [data-aos], [data-aos][data-aos][data-aos-duration="1250"] {
  -webkit-transition-duration: 1250ms;
  transition-duration: 1250ms;
}
body[data-aos-delay="1250"] [data-aos], [data-aos][data-aos][data-aos-delay="1250"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1250"].aos-animate {
  -webkit-transition-delay: 1250ms;
  transition-delay: 1250ms;
}
body[data-aos-duration="1300"] [data-aos], [data-aos][data-aos][data-aos-duration="1300"] {
  -webkit-transition-duration: 1300ms;
  transition-duration: 1300ms;
}
body[data-aos-delay="1300"] [data-aos], [data-aos][data-aos][data-aos-delay="1300"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1300"].aos-animate {
  -webkit-transition-delay: 1300ms;
  transition-delay: 1300ms;
}
body[data-aos-duration="1350"] [data-aos], [data-aos][data-aos][data-aos-duration="1350"] {
  -webkit-transition-duration: 1350ms;
  transition-duration: 1350ms;
}
body[data-aos-delay="1350"] [data-aos], [data-aos][data-aos][data-aos-delay="1350"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1350"].aos-animate {
  -webkit-transition-delay: 1350ms;
  transition-delay: 1350ms;
}
body[data-aos-duration="1400"] [data-aos], [data-aos][data-aos][data-aos-duration="1400"] {
  -webkit-transition-duration: 1400ms;
  transition-duration: 1400ms;
}
body[data-aos-delay="1400"] [data-aos], [data-aos][data-aos][data-aos-delay="1400"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1400"].aos-animate {
  -webkit-transition-delay: 1400ms;
  transition-delay: 1400ms;
}
body[data-aos-duration="1450"] [data-aos], [data-aos][data-aos][data-aos-duration="1450"] {
  -webkit-transition-duration: 1450ms;
  transition-duration: 1450ms;
}
body[data-aos-delay="1450"] [data-aos], [data-aos][data-aos][data-aos-delay="1450"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1450"].aos-animate {
  -webkit-transition-delay: 1450ms;
  transition-delay: 1450ms;
}
body[data-aos-duration="1500"] [data-aos], [data-aos][data-aos][data-aos-duration="1500"] {
  -webkit-transition-duration: 1500ms;
  transition-duration: 1500ms;
}
body[data-aos-delay="1500"] [data-aos], [data-aos][data-aos][data-aos-delay="1500"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1500"].aos-animate {
  -webkit-transition-delay: 1500ms;
  transition-delay: 1500ms;
}
body[data-aos-duration="1550"] [data-aos], [data-aos][data-aos][data-aos-duration="1550"] {
  -webkit-transition-duration: 1550ms;
  transition-duration: 1550ms;
}
body[data-aos-delay="1550"] [data-aos], [data-aos][data-aos][data-aos-delay="1550"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1550"].aos-animate {
  -webkit-transition-delay: 1550ms;
  transition-delay: 1550ms;
}
body[data-aos-duration="1600"] [data-aos], [data-aos][data-aos][data-aos-duration="1600"] {
  -webkit-transition-duration: 1600ms;
  transition-duration: 1600ms;
}
body[data-aos-delay="1600"] [data-aos], [data-aos][data-aos][data-aos-delay="1600"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1600"].aos-animate {
  -webkit-transition-delay: 1600ms;
  transition-delay: 1600ms;
}
body[data-aos-duration="1650"] [data-aos], [data-aos][data-aos][data-aos-duration="1650"] {
  -webkit-transition-duration: 1650ms;
  transition-duration: 1650ms;
}
body[data-aos-delay="1650"] [data-aos], [data-aos][data-aos][data-aos-delay="1650"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1650"].aos-animate {
  -webkit-transition-delay: 1650ms;
  transition-delay: 1650ms;
}
body[data-aos-duration="1700"] [data-aos], [data-aos][data-aos][data-aos-duration="1700"] {
  -webkit-transition-duration: 1700ms;
  transition-duration: 1700ms;
}
body[data-aos-delay="1700"] [data-aos], [data-aos][data-aos][data-aos-delay="1700"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1700"].aos-animate {
  -webkit-transition-delay: 1700ms;
  transition-delay: 1700ms;
}
body[data-aos-duration="1750"] [data-aos], [data-aos][data-aos][data-aos-duration="1750"] {
  -webkit-transition-duration: 1750ms;
  transition-duration: 1750ms;
}
body[data-aos-delay="1750"] [data-aos], [data-aos][data-aos][data-aos-delay="1750"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1750"].aos-animate {
  -webkit-transition-delay: 1750ms;
  transition-delay: 1750ms;
}
body[data-aos-duration="1800"] [data-aos], [data-aos][data-aos][data-aos-duration="1800"] {
  -webkit-transition-duration: 1800ms;
  transition-duration: 1800ms;
}
body[data-aos-delay="1800"] [data-aos], [data-aos][data-aos][data-aos-delay="1800"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1800"].aos-animate {
  -webkit-transition-delay: 1800ms;
  transition-delay: 1800ms;
}
body[data-aos-duration="1850"] [data-aos], [data-aos][data-aos][data-aos-duration="1850"] {
  -webkit-transition-duration: 1850ms;
  transition-duration: 1850ms;
}
body[data-aos-delay="1850"] [data-aos], [data-aos][data-aos][data-aos-delay="1850"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1850"].aos-animate {
  -webkit-transition-delay: 1850ms;
  transition-delay: 1850ms;
}
body[data-aos-duration="1900"] [data-aos], [data-aos][data-aos][data-aos-duration="1900"] {
  -webkit-transition-duration: 1900ms;
  transition-duration: 1900ms;
}
body[data-aos-delay="1900"] [data-aos], [data-aos][data-aos][data-aos-delay="1900"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1900"].aos-animate {
  -webkit-transition-delay: 1900ms;
  transition-delay: 1900ms;
}
body[data-aos-duration="1950"] [data-aos], [data-aos][data-aos][data-aos-duration="1950"] {
  -webkit-transition-duration: 1950ms;
  transition-duration: 1950ms;
}
body[data-aos-delay="1950"] [data-aos], [data-aos][data-aos][data-aos-delay="1950"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="1950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="1950"].aos-animate {
  -webkit-transition-delay: 1950ms;
  transition-delay: 1950ms;
}
body[data-aos-duration="2000"] [data-aos], [data-aos][data-aos][data-aos-duration="2000"] {
  -webkit-transition-duration: 2000ms;
  transition-duration: 2000ms;
}
body[data-aos-delay="2000"] [data-aos], [data-aos][data-aos][data-aos-delay="2000"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2000"].aos-animate {
  -webkit-transition-delay: 2000ms;
  transition-delay: 2000ms;
}
body[data-aos-duration="2050"] [data-aos], [data-aos][data-aos][data-aos-duration="2050"] {
  -webkit-transition-duration: 2050ms;
  transition-duration: 2050ms;
}
body[data-aos-delay="2050"] [data-aos], [data-aos][data-aos][data-aos-delay="2050"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2050"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2050"].aos-animate {
  -webkit-transition-delay: 2050ms;
  transition-delay: 2050ms;
}
body[data-aos-duration="2100"] [data-aos], [data-aos][data-aos][data-aos-duration="2100"] {
  -webkit-transition-duration: 2100ms;
  transition-duration: 2100ms;
}
body[data-aos-delay="2100"] [data-aos], [data-aos][data-aos][data-aos-delay="2100"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2100"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2100"].aos-animate {
  -webkit-transition-delay: 2100ms;
  transition-delay: 2100ms;
}
body[data-aos-duration="2150"] [data-aos], [data-aos][data-aos][data-aos-duration="2150"] {
  -webkit-transition-duration: 2150ms;
  transition-duration: 2150ms;
}
body[data-aos-delay="2150"] [data-aos], [data-aos][data-aos][data-aos-delay="2150"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2150"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2150"].aos-animate {
  -webkit-transition-delay: 2150ms;
  transition-delay: 2150ms;
}
body[data-aos-duration="2200"] [data-aos], [data-aos][data-aos][data-aos-duration="2200"] {
  -webkit-transition-duration: 2200ms;
  transition-duration: 2200ms;
}
body[data-aos-delay="2200"] [data-aos], [data-aos][data-aos][data-aos-delay="2200"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2200"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2200"].aos-animate {
  -webkit-transition-delay: 2200ms;
  transition-delay: 2200ms;
}
body[data-aos-duration="2250"] [data-aos], [data-aos][data-aos][data-aos-duration="2250"] {
  -webkit-transition-duration: 2250ms;
  transition-duration: 2250ms;
}
body[data-aos-delay="2250"] [data-aos], [data-aos][data-aos][data-aos-delay="2250"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2250"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2250"].aos-animate {
  -webkit-transition-delay: 2250ms;
  transition-delay: 2250ms;
}
body[data-aos-duration="2300"] [data-aos], [data-aos][data-aos][data-aos-duration="2300"] {
  -webkit-transition-duration: 2300ms;
  transition-duration: 2300ms;
}
body[data-aos-delay="2300"] [data-aos], [data-aos][data-aos][data-aos-delay="2300"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2300"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2300"].aos-animate {
  -webkit-transition-delay: 2300ms;
  transition-delay: 2300ms;
}
body[data-aos-duration="2350"] [data-aos], [data-aos][data-aos][data-aos-duration="2350"] {
  -webkit-transition-duration: 2350ms;
  transition-duration: 2350ms;
}
body[data-aos-delay="2350"] [data-aos], [data-aos][data-aos][data-aos-delay="2350"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2350"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2350"].aos-animate {
  -webkit-transition-delay: 2350ms;
  transition-delay: 2350ms;
}
body[data-aos-duration="2400"] [data-aos], [data-aos][data-aos][data-aos-duration="2400"] {
  -webkit-transition-duration: 2400ms;
  transition-duration: 2400ms;
}
body[data-aos-delay="2400"] [data-aos], [data-aos][data-aos][data-aos-delay="2400"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2400"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2400"].aos-animate {
  -webkit-transition-delay: 2400ms;
  transition-delay: 2400ms;
}
body[data-aos-duration="2450"] [data-aos], [data-aos][data-aos][data-aos-duration="2450"] {
  -webkit-transition-duration: 2450ms;
  transition-duration: 2450ms;
}
body[data-aos-delay="2450"] [data-aos], [data-aos][data-aos][data-aos-delay="2450"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2450"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2450"].aos-animate {
  -webkit-transition-delay: 2450ms;
  transition-delay: 2450ms;
}
body[data-aos-duration="2500"] [data-aos], [data-aos][data-aos][data-aos-duration="2500"] {
  -webkit-transition-duration: 2500ms;
  transition-duration: 2500ms;
}
body[data-aos-delay="2500"] [data-aos], [data-aos][data-aos][data-aos-delay="2500"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2500"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2500"].aos-animate {
  -webkit-transition-delay: 2500ms;
  transition-delay: 2500ms;
}
body[data-aos-duration="2550"] [data-aos], [data-aos][data-aos][data-aos-duration="2550"] {
  -webkit-transition-duration: 2550ms;
  transition-duration: 2550ms;
}
body[data-aos-delay="2550"] [data-aos], [data-aos][data-aos][data-aos-delay="2550"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2550"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2550"].aos-animate {
  -webkit-transition-delay: 2550ms;
  transition-delay: 2550ms;
}
body[data-aos-duration="2600"] [data-aos], [data-aos][data-aos][data-aos-duration="2600"] {
  -webkit-transition-duration: 2600ms;
  transition-duration: 2600ms;
}
body[data-aos-delay="2600"] [data-aos], [data-aos][data-aos][data-aos-delay="2600"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2600"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2600"].aos-animate {
  -webkit-transition-delay: 2600ms;
  transition-delay: 2600ms;
}
body[data-aos-duration="2650"] [data-aos], [data-aos][data-aos][data-aos-duration="2650"] {
  -webkit-transition-duration: 2650ms;
  transition-duration: 2650ms;
}
body[data-aos-delay="2650"] [data-aos], [data-aos][data-aos][data-aos-delay="2650"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2650"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2650"].aos-animate {
  -webkit-transition-delay: 2650ms;
  transition-delay: 2650ms;
}
body[data-aos-duration="2700"] [data-aos], [data-aos][data-aos][data-aos-duration="2700"] {
  -webkit-transition-duration: 2700ms;
  transition-duration: 2700ms;
}
body[data-aos-delay="2700"] [data-aos], [data-aos][data-aos][data-aos-delay="2700"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2700"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2700"].aos-animate {
  -webkit-transition-delay: 2700ms;
  transition-delay: 2700ms;
}
body[data-aos-duration="2750"] [data-aos], [data-aos][data-aos][data-aos-duration="2750"] {
  -webkit-transition-duration: 2750ms;
  transition-duration: 2750ms;
}
body[data-aos-delay="2750"] [data-aos], [data-aos][data-aos][data-aos-delay="2750"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2750"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2750"].aos-animate {
  -webkit-transition-delay: 2750ms;
  transition-delay: 2750ms;
}
body[data-aos-duration="2800"] [data-aos], [data-aos][data-aos][data-aos-duration="2800"] {
  -webkit-transition-duration: 2800ms;
  transition-duration: 2800ms;
}
body[data-aos-delay="2800"] [data-aos], [data-aos][data-aos][data-aos-delay="2800"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2800"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2800"].aos-animate {
  -webkit-transition-delay: 2800ms;
  transition-delay: 2800ms;
}
body[data-aos-duration="2850"] [data-aos], [data-aos][data-aos][data-aos-duration="2850"] {
  -webkit-transition-duration: 2850ms;
  transition-duration: 2850ms;
}
body[data-aos-delay="2850"] [data-aos], [data-aos][data-aos][data-aos-delay="2850"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2850"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2850"].aos-animate {
  -webkit-transition-delay: 2850ms;
  transition-delay: 2850ms;
}
body[data-aos-duration="2900"] [data-aos], [data-aos][data-aos][data-aos-duration="2900"] {
  -webkit-transition-duration: 2900ms;
  transition-duration: 2900ms;
}
body[data-aos-delay="2900"] [data-aos], [data-aos][data-aos][data-aos-delay="2900"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2900"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2900"].aos-animate {
  -webkit-transition-delay: 2900ms;
  transition-delay: 2900ms;
}
body[data-aos-duration="2950"] [data-aos], [data-aos][data-aos][data-aos-duration="2950"] {
  -webkit-transition-duration: 2950ms;
  transition-duration: 2950ms;
}
body[data-aos-delay="2950"] [data-aos], [data-aos][data-aos][data-aos-delay="2950"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="2950"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="2950"].aos-animate {
  -webkit-transition-delay: 2950ms;
  transition-delay: 2950ms;
}
body[data-aos-duration="3000"] [data-aos], [data-aos][data-aos][data-aos-duration="3000"] {
  -webkit-transition-duration: 3000ms;
  transition-duration: 3000ms;
}
body[data-aos-delay="3000"] [data-aos], [data-aos][data-aos][data-aos-delay="3000"] {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
body[data-aos-delay="3000"] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay="3000"].aos-animate {
  -webkit-transition-delay: 3000ms;
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.42, 0, 1, 1);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.58, 1);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  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] {
  -webkit-transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  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;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
  }
  html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
  html:not(.no-js) [data-aos=fade-up] {
    -webkit-transform: translate3d(0, 100px, 0);
    transform: translate3d(0, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down] {
    -webkit-transform: translate3d(0, -100px, 0);
    transform: translate3d(0, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-right] {
    -webkit-transform: translate3d(-100px, 0, 0);
    transform: translate3d(-100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-left] {
    -webkit-transform: translate3d(100px, 0, 0);
    transform: translate3d(100px, 0, 0);
  }
  html:not(.no-js) [data-aos=fade-up-right] {
    -webkit-transform: translate3d(-100px, 100px, 0);
    transform: translate3d(-100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-up-left] {
    -webkit-transform: translate3d(100px, 100px, 0);
    transform: translate3d(100px, 100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-right] {
    -webkit-transform: translate3d(-100px, -100px, 0);
    transform: translate3d(-100px, -100px, 0);
  }
  html:not(.no-js) [data-aos=fade-down-left] {
    -webkit-transform: translate3d(100px, -100px, 0);
    transform: translate3d(100px, -100px, 0);
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom] {
    opacity: 0;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
  }
  html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale(1);
  }
  html:not(.no-js) [data-aos=zoom-in] {
    -webkit-transform: scale(0.6);
    transform: scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-up] {
    -webkit-transform: translate3d(0, 100px, 0) scale(0.6);
    transform: translate3d(0, 100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-down] {
    -webkit-transform: translate3d(0, -100px, 0) scale(0.6);
    transform: translate3d(0, -100px, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-right] {
    -webkit-transform: translate3d(-100px, 0, 0) scale(0.6);
    transform: translate3d(-100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-in-left] {
    -webkit-transform: translate3d(100px, 0, 0) scale(0.6);
    transform: translate3d(100px, 0, 0) scale(0.6);
  }
  html:not(.no-js) [data-aos=zoom-out] {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-up] {
    -webkit-transform: translate3d(0, 100px, 0) scale(1.2);
    transform: translate3d(0, 100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-down] {
    -webkit-transform: translate3d(0, -100px, 0) scale(1.2);
    transform: translate3d(0, -100px, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-right] {
    -webkit-transform: translate3d(-100px, 0, 0) scale(1.2);
    transform: translate3d(-100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos=zoom-out-left] {
    -webkit-transform: translate3d(100px, 0, 0) scale(1.2);
    transform: translate3d(100px, 0, 0) scale(1.2);
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide] {
    visibility: hidden;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
  }
  html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  html:not(.no-js) [data-aos=slide-up] {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  html:not(.no-js) [data-aos=slide-down] {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  html:not(.no-js) [data-aos=slide-right] {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  html:not(.no-js) [data-aos=slide-left] {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  html:not(.no-js) [data-aos^=flip][data-aos^=flip] {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
  }
  html:not(.no-js) [data-aos=flip-left] {
    -webkit-transform: perspective(2500px) rotateY(-100deg);
    transform: perspective(2500px) rotateY(-100deg);
  }
  html:not(.no-js) [data-aos=flip-left].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-right] {
    -webkit-transform: perspective(2500px) rotateY(100deg);
    transform: perspective(2500px) rotateY(100deg);
  }
  html:not(.no-js) [data-aos=flip-right].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
    transform: perspective(2500px) rotateY(0);
  }
  html:not(.no-js) [data-aos=flip-up] {
    -webkit-transform: perspective(2500px) rotateX(-100deg);
    transform: perspective(2500px) rotateX(-100deg);
  }
  html:not(.no-js) [data-aos=flip-up].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
    transform: perspective(2500px) rotateX(0);
  }
  html:not(.no-js) [data-aos=flip-down] {
    -webkit-transform: perspective(2500px) rotateX(100deg);
    transform: perspective(2500px) rotateX(100deg);
  }
  html:not(.no-js) [data-aos=flip-down].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
    transform: perspective(2500px) rotateX(0);
  }
}
/* frame */
/**======================================
	base

		// init-- 初期設定
		// edit-- 編集箇所
======================================**/
/*--------------------------------------
	body, container
---------------------------------------*/
@layer variable {
  :root {
    --header_height: 70px;
    --header_wrap_height: var(--header_height);
    --header_bottom_position: calc(var(--header_height) + var(--wp-admin--admin-bar--height, 0px));
  }
  @media print, screen and (min-width: 600px) {
    :root {
      --header_height: 90px;
    }
  }
  @media print, screen and (min-width: 960px) {
    :root {
      --header_height: 120px;
    }
  }
  :root:has(.header_wrap.is-change) {
    --header_height: 40px;
  }
  @media print, screen and (min-width: 600px) {
    :root:has(.header_wrap.is-change) {
      --header_height: 60px;
    }
  }
  @media print, screen and (min-width: 960px) {
    :root:has(.header_wrap.is-change) {
      --header_height: 80px;
    }
  }
}
@layer base {
  html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header_bottom_position) + 10px) !important;
    font-size: 62.5%;
  }
  body {
    position: relative;
    background: var(--bg_color_base);
    opacity: 0;
    font-size: clamp(1.4rem, 1.4rem + 2 * (100vw - 40rem) / 1000, 1.6rem);
    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%;
      -ms-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
  }
  @media screen and (max-width: 959px) {
    body.is-gnav_open {
      overflow: hidden;
    }
  }
  body.is-scroll_stop {
    position: fixed;
    right: 0;
    left: 0;
    overflow-y: hidden;
  }
  .container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
  }
  .container .contents_wrap {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    overflow: clip;
  }
  .header_wrap {
    top: 0;
    z-index: 4;
    border-top: 5px solid black;
    border-bottom: 1px solid var(--border_color_base);
    width: 100%;
    background-color: var(--bg_color_base);
    -webkit-transition: all 0.5s ease 0.1s;
    transition: all 0.5s ease 0.1s;
  }
  .is-change.header_wrap {
    -webkit-box-shadow: 10px 0 5px 0 rgba(from black r g b/0.2);
    box-shadow: 10px 0 5px 0 rgba(from black r g b/0.2);
  }
  .header_wrap * {
    -webkit-transition: all 0.5s ease 0.1s;
    transition: all 0.5s ease 0.1s;
  }
  .header_wrap .header {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_max_percent), var(--wrapper_max));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: var(--header_height);
  }
  .header_wrap .header .logo_set {
    text-decoration: none;
  }
  .header_wrap .header .logo_set .logo img {
    width: auto;
    height: clamp(30px, 30px + 10 * (100vw - 400px) / 1000, 40px);
  }
  .header_wrap .header .gnav_btn {
    position: relative;
    z-index: 25;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    display: block;
    width: max(var(--header_height) / 3, 20px);
    aspect-ratio: 1.2/1;
    -webkit-transition: all 0.4s;
    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;
    -webkit-transition: all 0.4s;
    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.is-close {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  @media print, screen and (min-width: 600px) {
    .header_wrap .header .gnav_btn.is-close span {
      background: #fff;
    }
  }
  .header_wrap .header .gnav_btn.is-close span:nth-of-type(1) {
    bottom: 0;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .header_wrap .header .gnav_btn.is-close span:nth-of-type(2) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .header_wrap .header .gnav_btn.is-close span:nth-of-type(3) {
    opacity: 0;
  }
  .header_wrap .side_fix {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;
    margin-inline: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.25s ease, visibility 0.25s, -webkit-transform 0.25s ease;
    transition: opacity 0.25s ease, visibility 0.25s, -webkit-transform 0.25s ease;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, -webkit-transform 0.25s ease;
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap .side_fix {
      top: 50%;
      right: 0;
      bottom: auto;
      left: auto;
      margin: 0;
      width: 88px;
      -webkit-transform: translate(100%, -50%);
      transform: translate(100%, -50%);
    }
  }
  .header_wrap_change.header_wrap .side_fix {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap_change.header_wrap .side_fix {
      -webkit-transform: translate(2px, -50%);
      transform: translate(2px, -50%);
    }
  }
  .header_wrap .side_fix .btn {
    margin-inline: auto;
    width: clamp(200px, 200px + 200 * (100vw - 400px) / 1000, 400px);
    --btn_radius: 10px 10px 0 0;
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap .side_fix .btn {
      --btn_radius: 10px 0 0 10px;
    }
  }
  .header_wrap .side_fix .btn > span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 38px;
    font-size: clamp(1.4rem, 1.4rem + 6 * (100vw - 40rem) / 1000, 2rem);
    line-height: 1.1;
    letter-spacing: 11%;
    --v_btn_color_bg: var(--color_theme_sub);
  }
  @media print, screen and (min-width: 960px) {
    .header_wrap .side_fix .btn > span {
      position: relative;
      padding: 15px calc(25px + 1em) 15px 20px;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      text-orientation: upright;
    }
    .header_wrap .side_fix .btn > span::after {
      content: "";
      position: absolute;
      top: 0;
      right: 15px;
      bottom: 0;
      display: block;
      margin: auto;
      width: 1em;
      aspect-ratio: 19/68;
      background: url(../images/common/star_accent_vertical.svg) no-repeat center/contain;
    }
  }
  .header_wrap .side_fix .btn:hover > span {
    --v_btn_color_bg: #fff;
  }
  .header_wrap:not(.is-animate) {
    -webkit-transition: none !important;
    transition: none !important;
    -webkit-animation: none !important;
    animation: none !important;
  }
  .header_wrap:not(.is-animate) > * {
    -webkit-transition: none !important;
    transition: none !important;
  }
  :is(.type_a, .type_b, .type_c) .container {
    position: relative;
    padding-top: var(--header_wrap_height);
    -webkit-transition: padding-top 0.5s;
    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;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  :is(.type_b, .type_c) .container .header_wrap:not(.is-change) {
    -webkit-animation-name: header_wrap_slideup;
    animation-name: header_wrap_slideup;
  }
  :is(.type_b, .type_c) .container .header_wrap.is-change {
    top: var(--wp-admin--admin-bar--height, 0px);
    -webkit-animation-name: header_wrap_slidedown;
    animation-name: header_wrap_slidedown;
  }
  @-webkit-keyframes header_wrap_slidedown {
    0% {
      position: fixed;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    50% {
      position: fixed;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    100% {
      position: fixed;
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
    }
  }
  @keyframes header_wrap_slidedown {
    0% {
      position: fixed;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    50% {
      position: fixed;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    100% {
      position: fixed;
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
    }
  }
  @-webkit-keyframes header_wrap_slideup {
    0% {
      position: fixed;
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
    }
    50% {
      position: fixed;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    70% {
      position: absolute;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    100% {
      position: absolute;
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
    }
  }
  @keyframes header_wrap_slideup {
    0% {
      position: fixed;
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
    }
    50% {
      position: fixed;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    70% {
      position: absolute;
      -webkit-transform: translateY(-100%);
      transform: translateY(-100%);
    }
    100% {
      position: absolute;
      -webkit-transform: translateY(0%);
      transform: translateY(0%);
    }
  }
  .breadcrumb_wrap {
    background: rgba(from black r g b/0.1);
  }
  .breadcrumb_wrap .breadcrumb {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_max_percent), var(--wrapper_max));
    overflow-x: scroll;
  }
  @media print, screen and (min-width: 960px) {
    .breadcrumb_wrap .breadcrumb {
      overflow: hidden;
    }
  }
  .breadcrumb_wrap .breadcrumb ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 10px 0;
  }
  .breadcrumb_wrap .breadcrumb ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    font-size: 1.2rem;
  }
  .breadcrumb_wrap .breadcrumb ul li a,
  .breadcrumb_wrap .breadcrumb ul li a:visited,
  .breadcrumb_wrap .breadcrumb ul li span {
    display: block;
    color: var(--txt_color_base);
    white-space: nowrap;
  }
  @media print, screen and (min-width: 960px) {
    .breadcrumb_wrap .breadcrumb ul li a,
    .breadcrumb_wrap .breadcrumb ul li a:visited,
    .breadcrumb_wrap .breadcrumb ul li span {
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
    }
  }
  @media print, screen and (min-width: 960px) {
    .breadcrumb_wrap .breadcrumb ul li a:hover {
      opacity: 0.7;
    }
  }
  .breadcrumb_wrap .breadcrumb ul li:not(:first-child)::before {
    content: "";
    display: block;
    margin: 0 15px;
    width: 1em;
    aspect-ratio: 1/1;
    background: var(--icon-url-angle_right) no-repeat center/contain;
    -webkit-transform: scale(1.2) translateY(0.1em);
    transform: scale(1.2) translateY(0.1em);
  }
  .title_wrap {
    position: relative;
    background: #222;
  }
  .title_wrap .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 15px 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-inline: auto;
    width: min(90%, var(--wrapper_max));
    height: clamp(150px, 150px + 50 * (100vw - 400px) / 1000, 200px);
    text-align: center;
  }
  .title_wrap .title .title_text,
  .title_wrap .title .title_text_sub {
    color: white;
  }
  .title_wrap .title .title_text {
    font-size: clamp(2rem, 2rem + 12 * (100vw - 40rem) / 1000, 3.2rem);
    line-height: 1.3;
  }
  .title_wrap .title .title_text_sub {
    font-size: clamp(1.2rem, 1.2rem + 4 * (100vw - 40rem) / 1000, 1.6rem);
  }
  /* 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.is-open {
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
      opacity: 1;
      pointer-events: all;
    }
    .header .gnav.debug {
      -webkit-clip-path: none !important;
      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_bottom_position) + 10px);
      width: 100%;
      max-width: 640px;
      height: 100dvh;
      overflow-y: scroll;
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
      clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
      background: rgba(from black r g b/0.8);
      opacity: 0;
      color: #fff;
      pointer-events: none;
      -webkit-transition: 0.3s;
      transition: 0.3s;
    }
  }
  @media screen and (max-width: 959px) and (min-width: 600px) {
    .header .gnav {
      width: 70%;
      -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
      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(from white r g b/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: -webkit-fit-content;
      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.is-plus span::after {
      -webkit-mask-image: var(--icon-url-plus);
      mask-image: var(--icon-url-plus);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > a.is-minus span::after {
      -webkit-mask-image: var(--icon-url-minus);
      mask-image: var(--icon-url-minus);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu {
      display: none;
      -webkit-transition: height 0s;
      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(from white r g b/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 {
      width: 60%;
      min-width: 500px;
      max-width: 720px;
    }
    .header .gnav .gnav_list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .header .gnav .gnav_list > li {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      width: auto;
    }
    .header .gnav .gnav_list > li > a {
      position: relative;
      display: block;
      height: 100%;
      text-decoration: none;
    }
    .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;
      -webkit-transition: 0.3s;
      transition: 0.3s;
    }
    .header .gnav .gnav_list > li > a > span {
      display: block;
      padding: 15px 0;
      text-align: center;
      color: black;
      white-space: nowrap;
    }
    .header .gnav .gnav_list > li > a > span[class*=icon-] {
      padding-left: 0;
    }
    .header .gnav .gnav_list > li > a.is-current::after {
      width: 100%;
      opacity: 1;
    }
    .header .gnav .gnav_list > li > a:not(.is-current):hover::after {
      width: 100%;
      opacity: 1;
    }
    .header .gnav .gnav_list > li:has(> .submenu) {
      position: relative;
      z-index: 1;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > a > span::after {
      content: "";
      display: inline-block;
      margin-left: 8px;
      width: 1em;
      aspect-ratio: 1/1;
      background: var(--color_theme_base);
      vertical-align: middle;
      -webkit-mask: var(--icon-url-angle_down) no-repeat center/contain;
      mask: var(--icon-url-angle_down) no-repeat center/contain;
      -webkit-transform: scale(1.2);
      transform: scale(1.2);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu {
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 2;
      display: none;
      padding: 0;
      min-width: 100%;
      -webkit-transition: height 0s;
      transition: height 0s;
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      max-height: calc(100vh - var(--header_bottom_position));
    }
    .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.is-current > span {
      color: rgba(from black r g b/0.5);
    }
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a:not(.is-current):hover::before, .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a:not(.is-current):hover::after,
    .header .gnav .gnav_list > li:has(> .submenu) > .submenu > ul > li > a:not(.is-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(20px, 20px + 10 * (100vw - 400px) / 1000, 30px) calc(clamp(20px, 20px + 10 * (100vw - 400px) / 1000, 30px) + 40px);
    width: 100%;
    background: var(--bg_color_sub);
  }
  @media print, screen and (min-width: 960px) {
    .footer_wrap {
      padding-bottom: clamp(20px, 20px + 10 * (100vw - 400px) / 1000, 30px);
    }
  }
  .footer_wrap .copyright_wrap .copyright {
    container: wrapper/inline-size;
    margin-inline: auto;
    width: min(var(--wrapper_max_percent), var(--wrapper_max));
    text-align: center;
  }
  .footer_wrap .copyright_wrap .copyright small {
    font-size: 1.2rem;
    color: rgba(from #fff r g b/0.5);
  }
  /*--------------------------------------
  	loading_wrap
  ---------------------------------------*/
  .loading_wrap {
    position: fixed;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background: white;
    opacity: 1;
    pointer-events: none;
    -webkit-transition: 1s;
    transition: 1s;
  }
  .loading_wrap img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -20px;
  }
  .loading_wrap.is-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(from black r g b/0.8);
    color: #eee;
  }
  .cookie_consent.is-hide {
    display: none;
  }
  .cookie_consent .cookie_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px 40px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-inline: auto;
    width: min(90%, var(--wrapper_max));
  }
  @media print, screen and (min-width: 960px) {
    .cookie_consent .cookie_item {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      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 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  /*--------------------------------------
  	grecaptcha-badge
  ---------------------------------------*/
  .grecaptcha-badge {
    z-index: 10;
  }
}
/**======================================
	contents

		// must-- 必須編集箇所
		// edit-- 編集箇所

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

======================================**/
@layer contents {
  .area {
    padding-block: var(--area_margin);
    width: 100%;
    overflow-x: clip;
    overflow-y: visible;
  }
  .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) / 1000, 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 {
    text-align: center;
    font-size: clamp(2.4rem, 2.4rem + 4 * (100vw - 40rem) / 1000, 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 {
    padding-bottom: 0.3em;
    border-bottom: 2px solid var(--border_color_base);
    font-size: clamp(2rem, 2rem + 2 * (100vw - 40rem) / 1000, 2.2rem);
    font-weight: bold;
  }
  .heading04, .entry_wrap h4 {
    font-size: clamp(1.8rem, 1.8rem + 2 * (100vw - 40rem) / 1000, 2rem);
  }
  .heading05, .entry_wrap h5 {
    margin-bottom: 0.5em;
    font-size: clamp(1.5rem, 1.5rem + 2 * (100vw - 40rem) / 1000, 1.7rem);
    font-weight: bold;
  }
  .catch {
    margin-bottom: 0.5em;
    font-size: clamp(2.4rem, 2.4rem + 4 * (100vw - 40rem) / 1000, 2.8rem);
    font-weight: bold;
    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 {
    -webkit-transform: scale(1);
    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, var(--icon-url-dot)) no-repeat center/80%;
    mask: var(--icon-image, var(--icon-url-dot)) no-repeat center/80%;
    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);
    font-weight: bold;
    font-family: var(--txt_font_outfit);
    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, var(--icon-url-dot)) no-repeat center/40%;
    mask: var(--icon-image, var(--icon-url-dot)) 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_max_percent), var(--wrapper_max));
      display: grid;
      grid-template-rows: repeat(8, -webkit-min-content);
      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_max_percent: 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_bottom_position) + 20px);
      margin-bottom: auto !important;
      -webkit-transition: 0.5s;
      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_bottom_position) + 20px);
      background: #fff;
      -webkit-transition: 0.5s;
      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) / 1000, 30px);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav {
    --icon-image: var(--icon-url-angle_right);
  }
  .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 * {
    -webkit-transition: color 0.3s;
    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;
    -webkit-transition: 0.3s;
    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.is-current span {
    color: rgba(from var(--txt_color_base) r g b/0.5);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.sidenav_openclose_handle.is-plus {
    --icon-image: var(--icon-url-plus);
  }
  .contents:has(> .side_area) .area.side_area .box.side_box .sidenav li a.sidenav_openclose_handle.is-minus {
    --icon-image: var(--icon-url-minus);
  }
  .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;
    margin-inline: auto;
    width: min(100%, 400px);
  }
  .search_wrap .input_wrap {
    width: 100%;
  }
  .search_wrap .input_wrap input {
    padding-right: calc(var(--icon-size) + 15px);
    width: 100%;
    min-height: 0;
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  .search_wrap button {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    z-index: 1;
    margin-block: auto;
  }
  .radio_sample_xxxx_list {
    gap: 8px;
    border: none;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item {
    padding: 0;
    border: none;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item > *:not(input) {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    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);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item > *:not(input)::before, .radio_sample_xxxx_list label.radio_sample_xxxx_item > *:not(input)::after {
    top: 0;
    bottom: 0;
    left: 10px;
    margin-block: auto;
  }
  .radio_sample_xxxx_list label.radio_sample_xxxx_item:has(input:checked) > *:not(input) {
    border-color: var(--form_input_border_focus);
    background: var(--form_input_border_focus);
    font-weight: bold;
    color: #fff;
  }
  .radio_sample_yyyy_list {
    gap: 8px;
    border: none;
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item {
    --image_texts_imagesize: 50px;
    --image_texts_gap: 8px;
    padding: 10px;
    border: 2px solid var(--border_color_light);
    border-radius: var(--btn_radius);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .radio_sample_yyyy_list label.radio_sample_yyyy_item > * {
    padding: 0;
  }
  .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,
  [class*=heading] .big {
    font-size: 1.2em;
  }
  .texts .small,
  p.text.small,
  [class*=heading] .small {
    font-size: 0.8em;
  }
  .texts strong.big,
  .texts span.big,
  .texts span.small {
    display: inline-block;
  }
  .marker {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(25%, rgba(from #ffd900 r g b/0.9)));
    background: linear-gradient(transparent 75%, rgba(from #ffd900 r g b/0.9) 25%);
  }
  .caption {
    font-size: 1.3rem;
    line-height: 1.3;
  }
  .caption:where(:not(:first-child)) {
    margin-top: 8px;
  }
  .supple {
    font-size: 1.2rem;
  }
  .caution {
    color: var(--color_util_caution);
  }
  .accent {
    color: var(--color_util_accent);
  }
  .mincho {
    font-family: var(--txt_font_mincho);
  }
  .link_arrow, ul.ul_arrow > li,
  .texts ul.ul_arrow > li {
    --icon-image: var(--icon-url-angle_right);
    --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;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  .link_external::after {
    --icon-image: var(--icon-url-link_blank);
  }
  .link_sscroll::after {
    --icon-image: var(--icon-url-angle_double_down);
  }
  .link_parent::after {
    --icon-image: var(--icon-url-angle_right);
    margin-right: 5px;
  }
  ul.ul_line > li::before,
  .texts ul.ul_line > li::before {
    background: -webkit-gradient(linear, left top, left bottom, from(var(--list_color_base, var(--color_theme_base))), to(var(--list_color_base, var(--color_theme_base)))) no-repeat center/80% 1px;
    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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 1.6em;
    aspect-ratio: 1/1;
    -webkit-transform: scale(0.8);
    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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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.ul_kome > li::before {
    content: "※";
    font-size: var(--icon-size);
    color: transparent;
    -webkit-mask: none;
    mask: none;
    -webkit-background-clip: text;
    background-clip: text;
    translate: none;
  }
  ol.ol_kome > li {
    padding-left: 2em;
    counter-increment: num;
  }
  ol.ol_kome > li::before {
    content: "* " counter(num) " ";
    font-weight: bold;
  }
  ol.ol_bracket > li {
    padding-left: 2em;
    counter-increment: num;
  }
  ol.ol_bracket > li::before {
    content: "(" counter(num) ") ";
  }
  .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: 1400px) {
    .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)) {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: inline-block;
    padding: 0.2em 1.5em;
    border: 1px solid var(--mark_color_border, var(--mark_color, var(--border_color_base)));
    border-radius: 2em;
    background: var(--mark_color_bg, var(--mark_color, #fff));
    text-align: center;
    text-decoration: none;
    font-size: 1.3rem;
    line-height: 1.3;
    color: var(--mark_color_txt, var(--mark_color, var(--txt_color_base)));
    letter-spacing: normal;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a.mark:hover, .mark_list li a:hover {
    background: var(--mark_color_bg_hover, var(--mark_color, var(--color_theme_base)));
    color: var(--mark_color_txt_hover, var(--mark_color, #fff));
  }
  .mark_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 5px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .mark_list li:not(:has(> a)) {
    display: block;
  }
  .mark_list li a {
    display: block;
  }
  .mark_ttl,
  .mark_freedial {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 min(0.5em, 15px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    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: "";
    -ms-flex-item-align: stretch;
    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 img,
  .object_fit.border img {
    border: 1px solid var(--border_color_base);
  }
  .pic.radius img,
  .object_fit.radius img {
    border-radius: var(--radius_base);
  }
  .object_fit.golden_ratio {
    aspect-ratio: 8/5;
  }
  .object_fit.silver_ratio {
    aspect-ratio: 7/5;
  }
  .object_fit.wide_ratio {
    aspect-ratio: 16/9;
  }
  .hover_zoom {
    overflow: hidden;
  }
  .hover_zoom:hover img,
  .hover_zoom a:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
  .hover_opacity:hover img,
  .hover_opacity a:hover img {
    opacity: 0.7;
  }
  .cover_wrap {
    position: relative;
    padding: var(--cover_wrap_padding, clamp(10px, 10px + 10 * (100vw - 400px) / 1000, 20px));
    border: 1px solid var(--border_color_base);
    border-radius: clamp(20px, 20px + 20 * (100vw - 400px) / 1000, 40px);
    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: var(--icon-url-edit) no-repeat center/contain;
    mask: var(--icon-url-edit) 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;
    -webkit-transition: 0.3s;
    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.is-plus {
    --icon-image: var(--icon-url-plus_circle);
  }
  .openclose_wrap .openclose_handle.is-minus {
    --icon-image: var(--icon-url-minus_circle);
  }
  .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.is-plus {
      --icon-image: var(--icon-url-plus);
    }
    .openclose_wrap:has(> .openclose_handle.btn_sp) .openclose_handle.btn_sp.is-minus {
      --icon-image: var(--icon-url-minus);
    }
  }
  .step_list {
    --circle_size: 30px;
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 30px;
  }
  .step_list .step_item .step_num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .step_list .step_item.is-current .step_num {
    background-color: var(--color_theme_base);
    color: white;
  }
  @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: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin: auto;
      padding: 10px;
      border-radius: 10px;
      width: clamp(140px, 50%, 200px);
      height: 100px;
      background: rgba(from #000 r g b/0.5) url(../images/lib/parts/scroll_horizon.svg) no-repeat center 30%/30px;
      text-align: center;
      font-size: 1.2rem;
      font-weight: bold;
      color: #fff;
      -webkit-transition: 0.3s;
      transition: 0.3s;
    }
  }
  .tel_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-column-gap: 20px;
    -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 {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: 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) / 1000, 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: var(--icon-url-warning) no-repeat center/contain;
    mask: var(--icon-url-warning) 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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    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;
    -webkit-transition: all 0.3s;
    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: var(--icon-url-arrow_down);
  }
  .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 > *.is-current {
    z-index: 3;
  }
  .tab_wrap .tab_handle_set > *.is-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: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .tab_wrap .tab_handle_set:not([class*=clm]):not(.is-current_grow) > * {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .nav_btn {
    --icon-size: 60%;
    --icon-image: var(--icon-url-angle_right);
    --icon-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .nav_btn::before {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: 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 > .is-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 > .is-current {
      opacity: 0.5;
    }
  }
  .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;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .modal_icon::before {
    background: rgba(from #000 r g b/0.5);
  }
  .modal_icon::after {
    display: block;
    background: #fff;
    -webkit-mask: var(--icon-url-plus_circle) no-repeat center/60%;
    mask: var(--icon-url-plus_circle) no-repeat center/60%;
  }
  .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: var(--icon-url-close) no-repeat center/100%;
    mask: var(--icon-url-close) 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;
      -webkit-transform: translate(50%, -50%);
      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_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;
    -webkit-transition: opacity 0.3s;
    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;
    -webkit-transform: translateY(-50%);
    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: var(--icon-url-arrow_left);
    mask-image: var(--icon-url-arrow_left);
  }
  .modal_overlay .modal_prev_next > *.next {
    right: 0;
  }
  .modal_overlay .modal_prev_next > *.next span::before {
    -webkit-mask-image: var(--icon-url-arrow_right);
    mask-image: var(--icon-url-arrow_right);
  }
  .modal_overlay .modal_prev_next > *.is-disabled {
    pointer-events: none;
  }
  .modal_overlay .modal_prev_next > *.is-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_overlay .nav_dots {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    padding-block: 15px;
    background: #fff;
  }
}
@layer component {
  .icontest {
    font-size: 100px;
    line-height: 1;
  }
  .icontest::before {
    content: var(--icon-code-circle);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    width: 1em;
    aspect-ratio: 1/1;
    background: #000;
    font-family: "iconfont";
    color: #fff;
  }
  .icon_text_test {
    margin-bottom: 100px;
  }
  .icon_text_test::before {
    content: var(--icon-code-plus_circle);
    display: inline;
    font-family: "iconfont";
  }
  .icon_text_test::after {
    content: "AFTER";
    display: inline;
  }
  .icon_text_test.textlarge {
    border: 1px solid #ccc;
    font-size: 100px;
  }
  .icon_text_test.textlarge::before {
    border: 1px solid red;
  }
  .icon_text_test.textlarge::after {
    border: 1px solid green;
  }
  .icon_text_test.textlarge span {
    border: 1px solid blue;
  }
  .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:first-child {
    border-top: 1px solid var(--border_color_base);
  }
  .news_archive_list .news_item {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: subgrid;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    margin-bottom: 0;
    padding-block: 15px;
    border-bottom: 1px solid var(--border_color_base);
  }
  .news_archive_list .news_item .date {
    font-size: 1.2rem;
  }
  .color_test_1 {
    --test_color: #f00;
    height: 100px;
    background-color: hsl(from var(--color_theme_base) h s l/0.3);
  }
  .color_test_2 {
    height: 100px;
    background: rgba(from var(--color_theme_base) r g b/0.5);
  }
  .color_test_3 {
    height: 100px;
  }
  .outfit {
    font-family: var(--txt_font_outfit);
  }
  .special_star {
    margin-bottom: 0;
  }
  .special_star span {
    position: relative;
    padding-inline: calc(1em + 5px);
  }
  .special_star span::before, .special_star span::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    display: block;
    margin: auto;
    width: 1em;
    aspect-ratio: 1/1;
    background: url(../images/top/special_star.svg) no-repeat center/contain;
  }
  .special_star span::before {
    left: 0;
  }
  .special_star span::after {
    right: 0;
  }
  .base_color {
    color: var(--color_theme_base);
  }
  .sub_color {
    color: var(--txt_color_sub);
  }
  .original_fukidashi {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 25px;
    padding: 5px 10px;
    border: 1px solid #000;
    width: 180px;
  }
  .original_fukidashi::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 125px;
    width: 40px;
    height: 1px;
    background: #fff;
  }
  .original_fukidashi::after {
    content: "";
    position: absolute;
    right: 15px;
    bottom: -18px;
    width: 25px;
    height: 1px;
    background: #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
  .original_fukidashi p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .confetti {
    --paper-shape: url(../images/top/confetti_piece_01.svg);
    --paper-height: 81.27%;
    position: fixed;
    inset-block: 0;
    z-index: 10;
    width: clamp(56px, 15vw, 216px);
    overflow: clip;
    pointer-events: none;
    contain: layout paint;
  }
  .confetti i {
    position: absolute;
    top: -40px;
    left: var(--x);
    display: block;
    width: var(--size);
    height: var(--size);
    -webkit-animation: confetti_fall var(--fall) linear var(--delay) infinite;
    animation: confetti_fall var(--fall) linear var(--delay) infinite;
  }
  .confetti i::before {
    content: "";
    display: block;
    width: 100%;
    height: var(--paper-height);
    background: var(--paper);
    -webkit-mask: var(--paper-shape) no-repeat center/100% 100%;
    mask: var(--paper-shape) no-repeat center/100% 100%;
    -webkit-animation: confetti_sway var(--sway) ease-in-out var(--delay) infinite alternate, confetti_turn var(--turn) linear var(--delay) infinite;
    animation: confetti_sway var(--sway) ease-in-out var(--delay) infinite alternate, confetti_turn var(--turn) linear var(--delay) infinite;
  }
  .confetti i:nth-child(even) {
    --paper-shape: url(../images/top/confetti_piece_02.svg);
    --paper-height: 89.54%;
  }
  @-webkit-keyframes confetti_fall {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    5%, 94% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      -webkit-transform: translate3d(0, calc(100vh + 80px), 0);
      transform: translate3d(0, calc(100vh + 80px), 0);
    }
  }
  @keyframes confetti_fall {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    5%, 94% {
      opacity: 1;
    }
    100% {
      opacity: 0;
      -webkit-transform: translate3d(0, calc(100vh + 80px), 0);
      transform: translate3d(0, calc(100vh + 80px), 0);
    }
  }
  @-webkit-keyframes confetti_sway {
    from {
      translate: -10px 0;
    }
    to {
      translate: 14px 0;
    }
  }
  @keyframes confetti_sway {
    from {
      translate: -10px 0;
    }
    to {
      translate: 14px 0;
    }
  }
  @-webkit-keyframes confetti_turn {
    from {
      -webkit-transform: rotate(var(--angle)) rotateY(0deg);
      transform: rotate(var(--angle)) rotateY(0deg);
    }
    to {
      -webkit-transform: rotate(calc(var(--angle) + 360deg)) rotateY(360deg);
      transform: rotate(calc(var(--angle) + 360deg)) rotateY(360deg);
    }
  }
  @keyframes confetti_turn {
    from {
      -webkit-transform: rotate(var(--angle)) rotateY(0deg);
      transform: rotate(var(--angle)) rotateY(0deg);
    }
    to {
      -webkit-transform: rotate(calc(var(--angle) + 360deg)) rotateY(360deg);
      transform: rotate(calc(var(--angle) + 360deg)) rotateY(360deg);
    }
  }
  .confetti i:nth-child(4n+1) {
    --size: clamp(11px, 1.4vw, 20px);
    --paper: #008965;
    --sway: 3s;
  }
  .confetti i:nth-child(4n+2) {
    --size: clamp(12px, 1.6vw, 23px);
    --paper: #b9d52b;
    --sway: 3.6s;
  }
  .confetti i:nth-child(4n+3) {
    --size: clamp(13px, 1.8vw, 26px);
    --paper: #afafaf;
    --sway: 4.2s;
  }
  .confetti i:nth-child(4n+4) {
    --size: clamp(14px, 2vw, 29px);
    --paper: #7fc21c;
    --sway: 4.8s;
  }
  .confetti i:nth-child(1) {
    --x: 8%;
    --rest: 2%;
    --fall: 15s;
    --delay: -0.5s;
    --delay-right: -2.7s;
    --turn: 6s;
    --angle: 0deg;
  }
  .confetti i:nth-child(2) {
    --x: 52%;
    --rest: 63%;
    --fall: 22s;
    --delay: -14.1s;
    --delay-right: -4.07s;
    --turn: 7s;
    --angle: 47deg;
  }
  .confetti i:nth-child(3) {
    --x: 22%;
    --rest: 30%;
    --fall: 18s;
    --delay: -4.75s;
    --delay-right: -5.44s;
    --turn: 8s;
    --angle: 94deg;
  }
  .confetti i:nth-child(4) {
    --x: 76%;
    --rest: 91%;
    --fall: 25s;
    --delay: -21.85s;
    --delay-right: -6.81s;
    --turn: 9s;
    --angle: 141deg;
  }
  .confetti i:nth-child(5) {
    --x: 37%;
    --rest: 58%;
    --fall: 21s;
    --delay: -10.41s;
    --delay-right: -8.18s;
    --turn: 10s;
    --angle: 188deg;
  }
  .confetti i:nth-child(6) {
    --x: 64%;
    --rest: 25%;
    --fall: 17s;
    --delay: -2.03s;
    --delay-right: -9.55s;
    --turn: 6s;
    --angle: 235deg;
  }
  .confetti i:nth-child(7) {
    --x: 4%;
    --rest: 86%;
    --fall: 24s;
    --delay: -17.5s;
    --delay-right: -10.92s;
    --turn: 7s;
    --angle: 282deg;
  }
  .confetti i:nth-child(8) {
    --x: 86%;
    --rest: 53%;
    --fall: 20s;
    --delay: -7.02s;
    --delay-right: -12.29s;
    --turn: 8s;
    --angle: 329deg;
  }
  .confetti i:nth-child(9) {
    --x: 44%;
    --rest: 20%;
    --fall: 16s;
    --delay: -15.61s;
    --delay-right: -13.66s;
    --turn: 9s;
    --angle: 376deg;
  }
  .confetti i:nth-child(10) {
    --x: 16%;
    --rest: 81%;
    --fall: 23s;
    --delay: -13.43s;
    --delay-right: -15.03s;
    --turn: 10s;
    --angle: 423deg;
  }
  .confetti i:nth-child(11) {
    --x: 69%;
    --rest: 48%;
    --fall: 19s;
    --delay: -3.93s;
    --delay-right: -16.4s;
    --turn: 6s;
    --angle: 470deg;
  }
  .confetti i:nth-child(12) {
    --x: 31%;
    --rest: 15%;
    --fall: 15s;
    --delay: -12.48s;
    --delay-right: -17.77s;
    --turn: 7s;
    --angle: 517deg;
  }
  .confetti i:nth-child(13) {
    --x: 91%;
    --rest: 76%;
    --fall: 22s;
    --delay: -9.66s;
    --delay-right: -19.14s;
    --turn: 8s;
    --angle: 564deg;
  }
  .confetti i:nth-child(14) {
    --x: 57%;
    --rest: 43%;
    --fall: 18s;
    --delay: -1.12s;
    --delay-right: -3.51s;
    --turn: 9s;
    --angle: 611deg;
  }
  .confetti i:nth-child(15) {
    --x: 11%;
    --rest: 10%;
    --fall: 25s;
    --delay: -16.81s;
    --delay-right: -4.88s;
    --turn: 10s;
    --angle: 658deg;
  }
  .confetti i:nth-child(16) {
    --x: 80%;
    --rest: 71%;
    --fall: 21s;
    --delay: -6.18s;
    --delay-right: -6.25s;
    --turn: 6s;
    --angle: 705deg;
  }
  .confetti.confetti_left {
    left: 0;
  }
  .confetti.confetti_right {
    right: 0;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
  }
  .confetti.confetti_right i {
    --delay: var(--delay-right);
  }
  @media (prefers-reduced-motion: reduce) {
    .confetti i {
      top: var(--rest);
      -webkit-animation: none;
      animation: none;
    }
    .confetti i::before {
      -webkit-transform: rotate(var(--angle));
      transform: rotate(var(--angle));
      -webkit-animation: none;
      animation: none;
    }
  }
}
/* project */
/**======================================
	top
======================================**/
.top_container {
  padding-top: 0;
}
.top_container .header_wrap {
  z-index: 20;
  display: block;
  border: 0;
  height: 0;
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-transform: none;
  transform: none;
  -webkit-animation: none;
  animation: none;
}
.top_container .header_wrap > .header {
  display: none;
}

/*--------------------------------------
	common
---------------------------------------*/
.heading_top {
  position: relative;
  padding-bottom: calc(clamp(15px, 15px + 5 * (100vw - 400px) / 1000, 20px) + 10px);
  text-align: center;
  font-size: clamp(1.8rem, 1.8rem + 14 * (100vw - 40rem) / 1000, 3.2rem);
  font-weight: bold;
  font-family: var(--txt_font_outfit);
  line-height: 1.3;
}
.heading_top::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  width: clamp(55px, 55px + 15 * (100vw - 400px) / 1000, 70px);
  aspect-ratio: 68/19;
  background: url(../images/common/star_accent.svg) no-repeat center/contain;
}

.heading_top.sub {
  padding-bottom: 20px;
  font-size: clamp(1.6rem, 1.6rem + 4 * (100vw - 40rem) / 1000, 2rem);
  font-family: var(--txt_font_base);
}
.heading_top.sub::before {
  border-radius: 999px;
  width: 86px;
  height: 1px;
  aspect-ratio: auto;
  background: #fff;
}

/*--------------------------------------
	top_contents
---------------------------------------*/
.top_contents .area.promo_area {
  --area_margin: 0;
  position: relative;
  height: auto;
  overflow: clip;
  background: var(--color_theme_sub);
}
.top_contents .area.promo_area .promo_inner {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto;
  grid-template-columns: minmax(0, 1fr);
  margin-inline: auto;
  padding-top: 34px;
  width: min(100%, 600px);
  isolation: isolate;
}
.top_contents .area.promo_area .promo_inner::before {
  content: "";
  position: absolute;
  top: 102px;
  left: 50%;
  z-index: -1;
  border-radius: 50%;
  width: 213.18%;
  height: calc(100% - 158px);
  background: #fff;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.top_contents .area.promo_area .promo_inner > * {
  min-width: 0;
}
.top_contents .area.promo_area .promo_inner p,
.top_contents .area.promo_area .promo_inner figure {
  margin: 0;
}
.top_contents .area.promo_area .promo_inner img {
  display: block;
  width: 100%;
  height: auto;
}
.top_contents .area.promo_area .promo_head {
  grid-area: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 95px;
  padding-inline: 15px;
}
.top_contents .area.promo_area .promo_head .logo {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 139px;
  flex: 0 1 139px;
  min-width: 0;
}
.top_contents .area.promo_area .promo_head .head_txt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}
.top_contents .area.promo_area .promo_head .head_txt .since {
  font-weight: 300;
}
.top_contents .area.promo_area .promo_detail {
  position: relative;
  z-index: 2;
  grid-area: 2/1;
  margin-inline: auto;
  width: calc(100% - 30px);
  text-align: center;
}
.top_contents .area.promo_area .promo_detail .com {
  font-size: clamp(24px, 7.46vw, 30px);
  font-weight: 900;
  line-height: 1.4;
  color: #333;
}
.top_contents .area.promo_area .promo_detail .ribbon {
  position: relative;
  margin-top: -14px;
}
.top_contents .area.promo_area .promo_detail .catch {
  position: relative;
  margin-top: 15px;
  font-size: clamp(21px, 6.96vw, 28px);
  font-weight: 700;
  line-height: 1.4;
  color: #1b1b1b;
}
.top_contents .area.promo_area .promo_detail .catch::before, .top_contents .area.promo_area .promo_detail .catch::after {
  content: "";
  position: absolute;
  width: 1.6em;
  aspect-ratio: 69/86;
  background: no-repeat center/contain;
  pointer-events: none;
}
.top_contents .area.promo_area .promo_detail .catch::before {
  bottom: -12px;
  left: -6px;
  background-image: url(../images/top/sparkle_left.svg);
}
.top_contents .area.promo_area .promo_detail .catch::after {
  right: -6px;
  bottom: 0;
  background-image: url(../images/top/sparkle_right.svg);
}
.top_contents .area.promo_area .promo_detail .regular_text {
  margin-top: 17px;
  font-size: 14px;
  line-height: 1.8;
  color: #1b1b1b;
}
.top_contents .area.promo_area > .promo_inner > .promo_rui {
  position: relative;
  z-index: 1;
  grid-area: 3/1;
  align-self: end;
  justify-self: center;
  margin: 14px 0 0;
  width: 95.77%;
  min-width: 0;
}
.top_contents .area.promo_area > .promo_inner > .promo_rui > .pic {
  display: block;
  margin: 0;
  width: 100%;
}
.top_contents .area.promo_area > .promo_inner > .promo_rui > .pic img {
  display: block;
  width: 100%;
  height: auto;
}
.top_contents .area.promo_area > .promo_inner > .promo_rui .profile {
  position: absolute;
  right: 2.4%;
  bottom: 11px;
  display: grid;
  gap: 0;
  color: #fff;
}
.top_contents .area.promo_area > .promo_inner > .promo_rui .profile p {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
}
.top_contents .area.promo_area > .promo_inner > .promo_rui .profile .large_text {
  font-size: 14px;
  font-weight: 900;
  line-height: 1.4;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.promo_area > .promo_inner > .promo_rui {
    grid-area: 2/2/4/4;
    justify-self: start;
    margin: 29px 0 0 auto;
    width: 91.51%;
  }
  .top_contents .area.promo_area > .promo_inner > .promo_rui .profile {
    right: 8.6%;
    bottom: 21px;
  }
  .top_contents .area.promo_area > .promo_inner > .promo_rui .profile p {
    font-size: 18px;
  }
  .top_contents .area.promo_area > .promo_inner > .promo_rui .profile .large_text {
    font-size: 24px;
  }
}
.top_contents .area.promo_area .campaign_goods {
  z-index: 2;
  grid-area: 3/1;
  align-self: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 64px;
  padding-inline: 6%;
  padding-bottom: 20px;
}
.top_contents .area.promo_area .campaign_goods .goods {
  min-width: 0;
}
.top_contents .area.promo_area .campaign_goods .original_fukidashi {
  display: none;
}
.top_contents .area.promo_area .campaign_goods .pic {
  -webkit-filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
}
.top_contents .area.promo_area .campaign_goods .memo {
  width: 25.69%;
}
.top_contents .area.promo_area .campaign_goods .memo .pic {
  -webkit-transform: rotate(-11.63deg);
  transform: rotate(-11.63deg);
}
.top_contents .area.promo_area .campaign_goods .coaster {
  margin-top: 21px;
  width: 27.75%;
}
.top_contents .area.promo_area .campaign_goods .coaster .pic {
  -webkit-transform: rotate(8.33deg);
  transform: rotate(8.33deg);
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.promo_area .promo_inner {
    grid-template-rows: auto auto minmax(0, 1fr);
    grid-template-columns: minmax(0, 745fr) minmax(0, 250fr) minmax(0, 445fr);
    padding-top: 0;
    width: min(100%, 1440px);
    min-height: min(62.5vw, 900px);
  }
  .top_contents .area.promo_area .promo_inner::before {
    top: 50%;
    left: 36.7%;
    width: auto;
    height: calc(100% + 44px);
    aspect-ratio: 1/1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .top_contents .area.promo_area .promo_head {
    grid-area: 1/3;
    align-self: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 14px;
    margin: 0;
    padding: min(4.17vw, 60px) 0 0;
  }
  .top_contents .area.promo_area .promo_head .logo {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 56.18%;
  }
  .top_contents .area.promo_area .promo_head .head_txt {
    text-align: center;
    font-size: clamp(14px, 1.39vw, 20px);
  }
  .top_contents .area.promo_area .promo_head .head_txt .since {
    font-size: clamp(18px, 1.74vw, 25px);
  }
  .top_contents .area.promo_area .promo_detail {
    grid-area: 1/1/3/3;
    align-self: start;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 0;
    margin-left: 17.7%;
    padding-top: min(6.94vw, 100px);
    width: 71%;
  }
  .top_contents .area.promo_area .promo_detail .com {
    font-size: clamp(32px, 3.33vw, 48px);
    line-height: 1.33;
  }
  .top_contents .area.promo_area .promo_detail .ribbon {
    margin: -14px auto 0;
    width: 91.7%;
  }
  .top_contents .area.promo_area .promo_detail .catch {
    margin-top: 18px;
    font-size: clamp(32px, 3.55vw, 51px);
  }
  .top_contents .area.promo_area .promo_detail .catch::before, .top_contents .area.promo_area .promo_detail .catch::after {
    width: 1.34em;
  }
  .top_contents .area.promo_area .promo_detail .catch::before {
    left: 0;
  }
  .top_contents .area.promo_area .promo_detail .regular_text {
    margin-top: 13px;
    font-size: clamp(14px, 1.25vw, 18px);
  }
  .top_contents .area.promo_area .campaign_goods {
    grid-area: 3/1/4/3;
    display: grid;
    grid-template-columns: minmax(0, 376fr) minmax(0, 250fr);
    gap: 0;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    -webkit-box-pack: normal;
    -ms-flex-pack: normal;
    justify-content: normal;
    margin: 10px 0 0 14.87%;
    padding: 0 0 min(1.39vw, 20px);
    width: 62.91%;
  }
  .top_contents .area.promo_area .campaign_goods .goods {
    position: relative;
    display: grid;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    margin: 0;
    width: auto;
  }
  .top_contents .area.promo_area .campaign_goods .memo {
    grid-template-columns: 42.82% 61.52%;
  }
  .top_contents .area.promo_area .campaign_goods .memo .pic {
    grid-area: 1/2;
  }
  .top_contents .area.promo_area .campaign_goods .memo .original_fukidashi {
    grid-area: 1/1;
    margin-top: min(2.22vw, 32px);
    width: 92.24%;
  }
  .top_contents .area.promo_area .campaign_goods .coaster {
    grid-template-columns: minmax(0, 1fr);
  }
  .top_contents .area.promo_area .campaign_goods .coaster .pic {
    grid-area: 1/1;
    margin-top: min(5.07vw, 73px);
  }
  .top_contents .area.promo_area .campaign_goods .coaster .original_fukidashi {
    grid-area: 1/1;
    margin-top: min(1.94vw, 28px);
    margin-left: 2%;
    width: 59.4%;
  }
  .top_contents .area.promo_area .campaign_goods .original_fukidashi {
    position: relative;
    z-index: 1;
    display: block;
    margin: 0;
    padding: 5px 0;
  }
  .top_contents .area.promo_area .campaign_goods .original_fukidashi p {
    font-size: clamp(10px, 0.9722vw, 14px);
    font-weight: 400;
    line-height: 1.4;
  }
  .top_contents .area.promo_area .campaign_goods .original_fukidashi::before {
    right: 14px;
    left: auto;
    width: 32px;
  }
}
.top_contents .area.top_special_area .box .part .cont .tti {
  margin-bottom: 14px;
  text-align: center;
}
.top_contents .area.top_special_area .box .part .cont .tti > * {
  display: inline-block;
  padding: 5px 17px;
  border-radius: 50px;
  font-weight: bold;
  color: #fff;
}
.top_contents .area.top_special_area .box .part .cont .tti.bc_accent > * {
  background: var(--color_theme_accent);
}
.top_contents .area.top_special_area .box .part .cont .tti.bc_theme > * {
  background: var(--color_theme_base);
}
.top_contents .area.top_special_area .box .part:where(:not(:last-child)) {
  margin-bottom: 30px;
}
.top_contents .area.top_special_area .box:where(:not(:last-child)) {
  margin-bottom: clamp(46px, 46px + 10 * (100vw - 400px) / 1000, 56px);
}
.top_contents .area.top_special_area .box.campaign_table .part.cover_wrap {
  padding: clamp(20px, 20px + 20 * (100vw - 400px) / 1000, 40px) clamp(10px, 10px + 60 * (100vw - 400px) / 1000, 70px);
  border: 1px dashed var(--color_theme_base);
  border-radius: clamp(20px, 20px + 10 * (100vw - 400px) / 1000, 30px);
}
.top_contents .area.top_special_area .box.campaign_table .part.cover_wrap .cont table tbody {
  border-right-color: transparent;
  border-left-color: transparent;
}
.top_contents .area.top_special_area .box.campaign_table .part.cover_wrap .cont table tbody tr th {
  padding-left: clamp(10px, 10px + 30 * (100vw - 400px) / 1000, 40px);
  vertical-align: middle;
}
.top_contents .area.top_special_area .box.campaign_table .part.cover_wrap .cont table tbody tr td {
  padding-left: 0;
}
.top_contents .area.top_special_area .box.campaign_table .part.cover_wrap .cont table tbody tr td > * {
  font-weight: 500;
}
.top_contents .area.top_special_area .box.campaign_table .part.cover_wrap .cont table tbody tr td .black {
  font-weight: 900;
}
.top_contents .area.top_recommend_area {
  padding-block: clamp(50px, 50px + 10 * (100vw - 400px) / 1000, 60px) clamp(23px, 23px + 7 * (100vw - 400px) / 1000, 30px);
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden {
  grid-column: 1/-1;
  margin-bottom: 0;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden {
    overflow-x: visible;
    overflow-y: clip;
  }
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items {
    --carousel-gap: clamp(8px, 8px + 22 * (100vw - 400px) / 1000, 30px);
    --carousel-side-space: 30px;
    gap: var(--carousel-gap);
  }
}
@media screen and (min-width: 1400px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items {
    --carousel-gap: 50px;
  }
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: grid;
  grid-template: auto/1fr;
  justify-items: center;
  padding-bottom: clamp(55px, 55px + 20 * (100vw - 400px) / 1000, 75px);
  min-width: 0;
}
@media screen and (max-width: 599px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item {
    --carousel_item_width: 60vw;
  }
}
@media screen and (min-width: 600px) and (max-width: 959px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item {
    --carousel_item_width: 33.333%;
  }
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item {
    --carousel_item_width: auto;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 calc((100% - var(--carousel-side-space) * 2 - var(--carousel-gap) * 4) / 5);
    flex: 1 0 calc((100% - var(--carousel-side-space) * 2 - var(--carousel-gap) * 4) / 5);
    padding-inline: 0;
  }
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item {
  container-type: inline-size;
  position: relative;
  z-index: 1;
  grid-area: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 85%;
  aspect-ratio: 1;
}
@media screen and (max-width: 599px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item {
    width: 90%;
  }
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item {
    -ms-flex-item-align: start;
    align-self: start;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    width: 100%;
    min-height: 0;
    aspect-ratio: 1/1;
  }
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item .case_tti {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 5cqw;
  }
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item .case_tti > * {
    padding-bottom: 1cqw;
  }
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item .case_tti > * .light {
    font-size: 5.4cqw;
  }
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item .case_tti > * .semibold {
    font-size: 9.2cqw;
    line-height: 1.1;
  }
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item p.text {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0;
    max-width: 78%;
    line-height: 1.8;
  }
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  height: 110%;
  background: url(../images/top/case_hexagon.svg) no-repeat center/100% 100%;
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item p.text {
  font-size: 7.3cqw;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_item p.text {
    font-size: 6.15cqw;
  }
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .pic {
  z-index: 2;
  grid-area: 1/1;
  align-self: flex-end;
  justify-self: flex-end;
  margin: 0;
  width: 40%;
  -webkit-transform: translate(10%, 55%);
  transform: translate(10%, 55%);
}
@media print, screen and (min-width: 600px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .pic {
    width: 35%;
    -webkit-transform: translate(10%, 50%);
    transform: translate(10%, 50%);
  }
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .pic {
    width: 50%;
    -webkit-transform: translate(20%, 55%);
    transform: translate(20%, 55%);
  }
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .pic img {
  display: block;
  width: 100%;
  height: auto;
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_tti {
  margin-bottom: clamp(13px, 13px + 10 * (100vw - 400px) / 1000, 23px);
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_tti > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-items: center;
  padding-bottom: 3px;
  border-bottom: 1px solid var(--color_theme_base);
  color: var(--color_theme_base);
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_tti > * .light {
  font-size: clamp(1.2rem, 1.2rem + 2 * (100vw - 40rem) / 1000, 1.4rem);
  font-weight: 300;
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item .case_tti > * .semibold {
  font-size: clamp(1.8rem, 1.8rem + 6 * (100vw - 40rem) / 1000, 2.4rem);
  font-weight: 500;
  line-height: clamp(17px, 17px + 7 * (100vw - 400px) / 1000, 24px);
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .carousel_overflow_hidden .carousel_items .carousel_item p.text {
  font-size: clamp(1.4rem, 1.4rem + 2 * (100vw - 40rem) / 1000, 1.6rem);
  font-weight: 500;
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .nav_btn {
  display: none;
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .nav_dots {
  margin-top: 30px;
}
@media print, screen and (min-width: 960px) {
  .top_contents .area.top_recommend_area .box .part.carousel_wrap .nav_dots {
    display: none;
  }
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .nav_dots > span {
  border-radius: 0;
  width: 30px;
  height: 4px;
  background: #fff;
}
.top_contents .area.top_recommend_area .box .part.carousel_wrap .nav_dots > span.is-current {
  background: var(--color_theme_base);
}
.top_contents .area.top_product_area .hgroup p {
  margin-top: clamp(10px, 10px + 10 * (100vw - 400px) / 1000, 20px);
  text-align: center;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap {
  padding: clamp(20px, 20px + 30 * (100vw - 400px) / 1000, 50px) clamp(20px, 20px + 40 * (100vw - 400px) / 1000, 60px);
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap > .pic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  height: 151px;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap > .pic img {
  display: block;
  width: auto;
  height: 145px;
  object-fit: contain;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .goods_name {
  margin: 0;
  font-size: clamp(1.3rem, 1.3rem + 3 * (100vw - 40rem) / 1000, 1.6rem);
  font-weight: 900;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .goods_detail {
  margin-top: 6px;
  font-size: clamp(1.4rem, 1.4rem + 2 * (100vw - 40rem) / 1000, 1.6rem);
  font-weight: 500;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items {
  position: relative;
  padding-top: 18px;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items > .pic {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: block;
  margin: 0;
  width: min(80%, 255px);
  height: auto;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item {
  display: grid;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  justify-items: start;
  padding: 24px 10px 8px;
  border: 1px solid #333;
  border-radius: 10px;
  min-height: 100px;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item > * {
  -webkit-transform: translateX(0.5em);
  transform: translateX(0.5em);
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item p {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.8;
  color: #353535;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item .price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.4rem;
  white-space: nowrap;
  -webkit-transform: translateX(0.15em);
  transform: translateX(0.15em);
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item .price .outfit {
  margin-right: 4px;
  font-size: clamp(2.6rem, 2.6rem + 6 * (100vw - 40rem) / 1000, 3.2rem);
  line-height: 1.2;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item .price,
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item p:last-child {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item .sub_color {
  color: #ff5959;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item p:last-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .price_wrap .price_items .price_item p:last-child .outfit {
  margin-right: 0;
  margin-left: 3px;
  font-size: clamp(2.6rem, 2.6rem + 6 * (100vw - 40rem) / 1000, 3.2rem);
  line-height: 1.2;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec {
  margin-top: 14px;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .supple {
  margin-bottom: 8px;
  line-height: 1.7;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 1.2rem;
  line-height: 1.7;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line tr {
  border-bottom: 1px solid #ccc;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line tr:last-child {
  border-bottom: 0;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line th,
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line td {
  padding: 6px 10px;
  border: 0;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line th {
  width: 100px;
  background: #f2f2f2;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line td {
  background: #fff;
  font-weight: 500;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap .spec .table_line td p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
.top_contents .area.top_product_area .box .part .cont.texts .cover_wrap:not(:last-child) {
  margin-bottom: 15px;
}
@media print, screen and (min-width: 600px) {
  .top_contents .area.top_product_area .box .part .cont.texts .cover_wrap:not(:last-child) {
    margin-bottom: 0;
  }
}
.top_contents .area.top_entry_area {
  padding: 40px 20px 0;
  background: #c4dba2;
}
.top_contents .area.top_entry_area .hgroup {
  margin-bottom: 20px;
  text-align: center;
}
@media print, screen and (min-width: 600px) {
  .top_contents .area.top_entry_area .hgroup {
    margin-bottom: 10px;
  }
}
.top_contents .area.top_entry_area .box .part .cont.texts {
  margin-inline: auto;
  width: 100%;
  max-width: 930px;
}
.top_contents .area.top_entry_area .box .part .cont.texts .entry_title {
  margin: 0;
  font-size: clamp(1.4rem, 1.4rem + 6 * (100vw - 40rem) / 1000, 2rem);
  line-height: 1.6;
}
.top_contents .area.top_entry_area .box .part .cont.texts .entry_description {
  margin-top: 26px;
  line-height: 1.8;
}
.top_contents .area.top_entry_area .box .part .cont.texts .entry_description p {
  margin: 0;
}
.top_contents .area.top_entry_area .box .part .cont.texts .entry_description .bold {
  font-size: clamp(1.6rem, 1.6rem + 2 * (100vw - 40rem) / 1000, 1.8rem);
}
.top_contents .area.top_entry_area .box .part .cont.texts .entry_note {
  margin: 10px auto 0;
  font-size: clamp(1.2rem, 1.2rem + 2 * (100vw - 40rem) / 1000, 1.4rem);
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 50px auto 0;
  padding: calc(clamp(5px, 5px + 5 * (100vw - 400px) / 1000, 10px) + clamp(25px, 25px + 25 * (100vw - 400px) / 1000, 50px)) calc(clamp(5px, 5px + 5 * (100vw - 400px) / 1000, 10px) + clamp(15px, 15px + 60 * (100vw - 400px) / 1000, 75px)) calc(clamp(5px, 5px + 5 * (100vw - 400px) / 1000, 10px) + clamp(35px, 35px + 25 * (100vw - 400px) / 1000, 60px));
  border: 0;
  border-radius: 10px;
  width: 100%;
  background: #fff;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box::before {
  content: "";
  position: absolute;
  inset: clamp(5px, 5px + 5 * (100vw - 400px) / 1000, 10px);
  border: 1px solid #99cbbe;
  border-radius: 8px;
  pointer-events: none;
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box > * {
  position: relative;
  z-index: 1;
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box .message_title {
  margin: 0;
  font-size: clamp(1.6rem, 1.6rem + 4 * (100vw - 40rem) / 1000, 2rem);
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box .message_text {
  margin-inline: auto;
  margin-top: 20px;
  max-width: 760px;
  font-size: clamp(1.4rem, 1.4rem + 2 * (100vw - 40rem) / 1000, 1.6rem);
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box .message_text p {
  margin: 0;
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box .message_text p + p {
  margin-top: 0;
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box a {
  margin: clamp(30px, 30px + 37 * (100vw - 400px) / 1000, 67px) auto 0;
  width: min(100%, 490px);
}
.top_contents .area.top_entry_area .box .part .cont.texts .message_box a > * {
  --btn_radius: 999px;
  padding: clamp(10px, 10px + 10 * (100vw - 400px) / 1000, 20px);
  font-size: clamp(1.4rem, 1.4rem + 6 * (100vw - 40rem) / 1000, 2rem);
}

/*--------------------------------------
	common
---------------------------------------*/
/*--------------------------------------
	common
---------------------------------------*/
/* 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 */