/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}
@charset "UTF-8";
/*=================================================================================

　変数定義

=================================================================================*/
/*—————————————————————————————————————————————————————
　横幅／高さ／余白設定
—————————————————————————————————————————————————————*/
:root {
  /* 横幅【PC幅のみ】 */
  --width-side: 26rem;
  --width-contents_max: 98rem;
  --width-modal_max: 90rem;
  --width-table_dt: 36%;
  --width-table_dd: 64%;
  /* 高さ【ヘッダのみ】 */
  --height-header_lg: 7.4rem;
  --height-header_mdsm: 6rem;
  /* グリッドシステムの余白 */
  --padding-grid_lgmd: 1.5rem;
  --padding-grid_sm: 0.8rem;
  --padding-grid-inner_lgmd: 3rem;
  --padding-grid-inner_sm: 1.6rem;
  /* コンテンツの左右余白 */
  --padding-contents-lr_lg: 3rem;
  --padding-contents-lr_mdsm: 1.6rem;
}

/*—————————————————————————————————————————————————————
　カラー設定
—————————————————————————————————————————————————————*/
:root {
  --color-key:	#2A3944;
  --color-body_bg:	#F2F3F5;
  /* テキスト */
  --color-txt:	#2A3944;
  --color-txt_rgb:	42, 57, 68;
  --color-txt_contrast:	#FFFFFF;
  --color-txt_contrast_rgb:	255, 255, 255;
  --color-txt_l:	#797E81;
  /* リンク */
  --color-link:	#0084E8;
  --color-link_contrast:	#FFFFFF;
  --color-link_hover:	#0067b5;
  --color-link_hover_bg:	rgba(0, 132, 232, 0.08);
  /* 罫線 */
  --color-border:	#C5CBD6;
  --color-border_l:	rgba(197, 203, 214, 0.5);
  /* ボタンやアラートなどエレメントカラー */
  --color-default:	#F2F3F5;
  --color-primary:	#0084E8;
  --color-primary_rgb:	0, 132, 232;
  --color-secondary:	#826AC5;
  --color-secondary_rgb:	130, 106, 197;
  --color-success:	#00aa6e;
  --color-success_rgb:	0, 170, 110;
  --color-info:	#00aff0;
  --color-info_rgb:	0, 175, 240;
  --color-danger:	#dd4b39;
  --color-danger_rgb:	221, 75, 57;
  --color-warning:	#f39c12;
  --color-warning_rgb:	243, 156, 18;
  --color-disable:	rgba(42, 57, 68, 0.1);
  --color-disable_rgb:	204, 204, 204;
  --color-disable_txt:	rgba(42, 57, 68, 0.5);
  /* ヘッダ */
  --color-header_txt:	#2A3944;
  --color-header_bg:	#FFFFFF;
  --color-body_icon:	#797E81;
  --color-body_dropdown_bg:	#2A3944;
  --color-body_dropdown_hover:	#202c34;
  /* サイド */
  --color-side_txt:	rgba(255, 255, 255, 0.8);
  --color-side_icon:	rgba(255, 255, 255, 0.4);
  --color-side_bg:	#2A3944;
  --color-side_hover:	#202c34;
  --color-side_open_bg:	#24313b;
  --color-side_active:	#1a242b;
  --color-side_active_txt:	white;
  /* コンテンツボックス */
  --color-content-bg:	#FFFFFF;
  --color-content-bg_dark:	#2A3944;
  --color-content-border:	rgba(197, 203, 214, 0.8);
  --color-content-shadow:	#dbdee3;
  /* タイトル */
  --color-ttl_bg:	#dbdee3;
  --color-ttl_bg_dark:	#2A3944;
  /* テーブル */
  --color-table_thead_txt:	#FFFFFF;
  --color-table_thead_bg:	rgba(42, 57, 68, 0.8);
  --color-table_th_bg:	rgba(42, 57, 68, 0.08);
  --color-table_td_bg1:	#FFFFFF;
  --color-table_td_bg2:	#F5F5F5;
  --color-table_hover:	rgba(0, 132, 232, 0.03);
  --color-table_active:	rgba(0, 132, 232, 0.1);
  --color-progressbar_bg: #e4eaef;
  /* オーバーレイ（モーダルやドロワーの背景） */
  --color-overlay-bg:	rgba(0, 0, 0, 0.8);
  /* モーダルウィンドウのコンテンツ背景 */
  --color-modal-bg:	#FFFFFF;
  /* チャート */
  --color-chart01:	#00AAF6;
  --color-chart02:	#2EC193;
  --color-chart03:	#767CDC;
  --color-chart04:	#E97DB3;
  --color-chart05:	#E59C23;
  --color-chart06:	#00C8E1;
  --color-chart07:	#00E0B5;
  /* その他ベーシックな色 */
  --color_black:	#000000;
  --color_white:	#FFFFFF;
  --color_darkgray:	#333333;
  --color_gray:	#ACACAC;
  --color_red:	#EB2D2D;
  --color_blue:	#0059ff;
}

.bl_headerNav_badge:before {
  font-family: "Roboto", sans-serif;
}

.md_close:before, .bl_sideNavi summary:before, .bl_headerNav__dropDown > a:after, .bl_breadcrumb li:nth-child(n+2):before, .bl_pagination_prev span:before, .bl_pagination_prev span:after,
.bl_pagination_next span:before,
.bl_pagination_next span:after, .bl_accordion summary::after, .bl_faq summary::after, .el_form_select:before, .el_form_check input:checked::before, .el_link_txt__newWindow:after, .el_link_txt__arrowRight:after, .el_alert_close {
  font-family: "Material Icons", sans-serif;
}

.bl_headerNav a, .bl_backLink a {
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.bl_headerNav a:hover, .bl_backLink a:hover {
  color: var(--color-link);
}
.bl_headerNav a:hover > i, .bl_backLink a:hover > i {
  color: var(--color-link);
}

.bl_sideNavi_child > li a, .bl_sideNavi_child > li summary, .bl_headerLogo a, .bl_breadcrumb a, .bl_navBox li a, .bl_card > a, .el_link_txt__noUnderline:hover {
  -webkit-transition: all 0.1s ease;
  transition: all 0.1s ease;
}
.bl_sideNavi_child > li a:hover, .bl_sideNavi_child > li summary:hover, .bl_headerLogo a:hover, .bl_breadcrumb a:hover, .bl_navBox li a:hover, .bl_card > a:hover, .el_link_txt__noUnderline:hover {
  opacity: 0.6;
}

/*=================================================================================

　要素セレクタに直接指定

=================================================================================*/
html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  font-size: 62.5%;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.1em;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width: 360px) {
  html {
    font-size: 56%;
  }
}

body {
  background: var(--color-body_bg);
  color: var(--color-txt);
}

main {
  display: block;
}

img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

/*=================================================================================

　レイヤー	接頭辞：ly_*

=================================================================================*/
/*—————————————————————————————————————————————————————
　ヘッダ
—————————————————————————————————————————————————————*/
.ly_header {
  position: relative;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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%;
  min-height: var(--height-header_mdsm);
  margin-right: auto;
  margin-left: auto;
  padding: 0 var(--padding-contents-lr_mdsm);
  -webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.16);
          box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.16);
  background-color: var(--color-header_bg);
}
@media screen and (min-width: 1200px) {
  .ly_header {
    min-height: var(--height-header_lg);
    padding-left: var(--padding-contents-lr_lg);
    padding-right: var(--padding-contents-lr_lg);
  }
}

/*—————————————————————————————————————————————————————
　コンテンツ
—————————————————————————————————————————————————————*/
@media screen and (min-width: 960px) {
  .ly_cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

/*—————————————————————————————————————————————————————
　メイン
—————————————————————————————————————————————————————*/
.ly_cont_main {
  position: relative;
  padding: calc(var(--padding-contents-lr_mdsm) * 2) var(--padding-contents-lr_mdsm) calc(var(--padding-contents-lr_mdsm) * 4);
}
@media screen and (min-width: 960px) {
  .ly_cont_main {
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .ly_cont_main {
    width: calc(100% - var(--width-side));
    padding: calc(var(--padding-grid_lgmd) * 2) calc(var(--padding-grid_lgmd) * 2) calc(var(--padding-grid_lgmd) * 6);
  }
}

/* ————————————— モディファイア ————————————— */
/* 余白なし */
.ly_cont_main__noPadding {
  padding: 0 !important;
}

/*—————————————————————————————————————————————————————
　メイン　コンテンツ上下左右中央 配置（ログインなどに利用）
—————————————————————————————————————————————————————*/
.ly_cont_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: var(--padding-contents-lr_mdsm);
  padding-right: var(--padding-contents-lr_mdsm);
  height: calc(100vh - var(--height-header_mdsm));
}
@media screen and (min-width: 1200px) {
  .ly_cont_center {
    height: calc(100vh - var(--height-header_lg));
  }
}

/*—————————————————————————————————————————————————————
　メイン　サイドなし（コンテンツのみ）
—————————————————————————————————————————————————————*/
.ly_cont_only {
  position: relative;
  max-width: var(--width-contents_max);
  margin-left: auto;
  margin-right: auto;
  padding: calc(var(--padding-contents-lr_mdsm) * 1.5) var(--padding-contents-lr_mdsm) calc(var(--padding-contents-lr_mdsm) * 4);
}
@media screen and (min-width: 1200px) {
  .ly_cont_only {
    padding: calc(var(--padding-grid_lgmd) * 3) calc(var(--padding-grid_lgmd) * 2) calc(var(--padding-grid_lgmd) * 6);
  }
}

/*—————————————————————————————————————————————————————
　サイドバー
—————————————————————————————————————————————————————*/
.ly_cont_side {
  width: var(--width-side);
  height: 100vh;
  padding: var(--padding-contents-lr_mdsm) 0;
  color: var(--color-side_txt);
  background-color: var(--color-side_bg);
}
@media screen and (min-width: 1200px) {
  .ly_cont_side {
    height: auto;
    min-height: calc(100vh - var(--height-header_lg));
  }
}

/*—————————————————————————————————————————————————————
　フッタ
—————————————————————————————————————————————————————*/
.ly_footer {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  padding: var(--padding-contents-lr_mdsm) 0;
}

/*=================================================================================

　エレメント（汎用性あるスタイル）	接頭辞：el_*

=================================================================================*/
/*—————————————————————————————————————————————————————
　基本タイトル
—————————————————————————————————————————————————————*/
h1 {
  font-size: 2.2rem;
}
@media screen and (min-width: 960px) {
  h1 {
    font-size: 3.6rem;
  }
}

h2 {
  font-size: 2rem;
}
@media screen and (min-width: 960px) {
  h2 {
    font-size: 3rem;
  }
}

h3 {
  font-size: 1.8rem;
}
@media screen and (min-width: 960px) {
  h3 {
    font-size: 2.6rem;
  }
}

h4 {
  font-size: 1.7rem;
}
@media screen and (min-width: 960px) {
  h4 {
    font-size: 2rem;
  }
}

h5 {
  font-size: 1.6rem;
}
@media screen and (min-width: 960px) {
  h5 {
    font-size: 1.8rem;
  }
}

h6 {
  font-size: 1.5rem;
}
@media screen and (min-width: 960px) {
  h6 {
    font-size: 1.6rem;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.3;
}
h1 i, h2 i, h3 i, h4 i, h5 i, h6 i {
  margin-right: 0.2em;
  font-size: 100% !important;
  vertical-align: -0.14em;
}

h1, h2, h3 {
  line-height: 1.2;
}

h4, h5, h6 {
  line-height: 1.4;
}

/* サブタイトル */
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  color: var(--color-txt_l);
  margin-left: 0.6em;
  font-weight: normal;
}

h1 small, h2 small, h3 small {
  font-size: 0.5em;
}

h4 small, h5 small, h6 small {
  font-size: 0.7em;
}

/*—————————————————————————————————————————————————————
　ダークスタイル
—————————————————————————————————————————————————————*/
.el_ttl_dark, .el_ttl_box__dark, .el_ttl_bg__dark, .el_ttl_leftLine__dark, .el_ttl_underLine__dark {
  color: var(--color-txt_contrast);
}
.el_ttl_dark small, .el_ttl_box__dark small, .el_ttl_bg__dark small, .el_ttl_leftLine__dark small, .el_ttl_underLine__dark small {
  color: rgba(var(--color-txt_contrast_rgb), 60%);
}

/*—————————————————————————————————————————————————————
　下線タイトル
—————————————————————————————————————————————————————*/
.el_ttl_underLine {
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.7em;
}
@media screen and (min-width: 960px) {
  .el_ttl_underLine {
    padding-bottom: 0.5em;
  }
}

h1.el_ttl_underLine,
h2.el_ttl_underLine,
h3.el_ttl_underLine {
  padding-bottom: 0.6em;
}
@media screen and (min-width: 960px) {
  h1.el_ttl_underLine,
  h2.el_ttl_underLine,
  h3.el_ttl_underLine {
    padding-bottom: 0.5em;
  }
}

/* ————————————— モディファイア ————————————— */
/* 暗め */
.el_ttl_underLine__dark {
  border-bottom: 1px solid var(--color-border_l);
}

/*—————————————————————————————————————————————————————
　左線タイトル
—————————————————————————————————————————————————————*/
.el_ttl_leftLine {
  border-left: 4px solid var(--color-key);
  padding: 0.1em 0.5em;
}

/* ————————————— モディファイア ————————————— */
/* 暗め */
.el_ttl_leftLine__dark {
  border-left: 4px solid var(--color-txt_contrast);
}

/*—————————————————————————————————————————————————————
　背景付タイトル
—————————————————————————————————————————————————————*/
.el_ttl_bg {
  padding: 0.6em;
  background-color: var(--color-ttl_bg);
}

h1.el_ttl_bg,
h2.el_ttl_bg,
h3.el_ttl_bg {
  padding: 0.4em !important;
}

/* ————————————— モディファイア ————————————— */
/* 暗め */
.el_ttl_bg__dark {
  background-color: var(--color-ttl_bg_dark) !important;
}

/*—————————————————————————————————————————————————————
　ボックス内のヘッダタイトル
—————————————————————————————————————————————————————*/
.el_ttl_box {
  margin-top: calc(-1 * var(--padding-grid-inner_sm) * 1.2);
  margin-left: calc(-1 * var(--padding-grid-inner_sm));
  margin-right: calc(-1 * var(--padding-grid-inner_sm));
  margin-bottom: calc(var(--padding-grid-inner_sm) * 1.2);
  padding: 0.8em;
  background-color: var(--color-ttl_bg);
}
@media screen and (min-width: 960px) {
  .el_ttl_box {
    margin-top: calc(-1 * var(--padding-grid-inner_lgmd));
    margin-left: calc(-1 * var(--padding-grid-inner_lgmd));
    margin-right: calc(-1 * var(--padding-grid-inner_lgmd));
    margin-bottom: var(--padding-grid-inner_lgmd);
  }
}
.bl_box__rounded .el_ttl_box {
  border-radius: 0.28rem 0.28rem 0 0;
}
.bl_box__minPadding .el_ttl_box {
  margin-top: calc(-1 * var(--padding-grid-inner_sm) / 1.5);
  margin-left: calc(-1 * var(--padding-grid-inner_sm) / 1.5);
  margin-right: calc(-1 * var(--padding-grid-inner_sm) / 1.5);
  margin-bottom: calc(var(--padding-grid-inner_sm) / 1.5);
}
@media screen and (min-width: 960px) {
  .bl_box__minPadding .el_ttl_box {
    margin-top: calc(-1 * var(--padding-grid-inner_lgmd) / 1.75);
    margin-left: calc(-1 * var(--padding-grid-inner_lgmd) / 1.75);
    margin-right: calc(-1 * var(--padding-grid-inner_lgmd) / 1.75);
    margin-bottom: calc(var(--padding-grid-inner_lgmd) / 1.75);
  }
}
.bl_box__maxPadding .el_ttl_box {
  margin-top: calc(-1 * var(--padding-grid-inner_sm) * 2);
}
@media screen and (min-width: 960px) {
  .bl_box__maxPadding .el_ttl_box {
    margin-top: calc(-1 * var(--padding-grid-inner_lgmd) * 2);
    margin-left: calc(-1 * var(--padding-grid-inner_lgmd) * 2.5);
    margin-right: calc(-1 * var(--padding-grid-inner_lgmd) * 2.5);
    margin-bottom: calc(var(--padding-grid-inner_lgmd) * 2);
  }
}
.bl_box__noPadding .el_ttl_box {
  margin: 0;
}

/* ————————————— モディファイア ————————————— */
/* 暗め */
.el_ttl_box__dark {
  background-color: var(--color-ttl_bg_dark) !important;
}

/*—————————————————————————————————————————————————————
　ボディテキスト
—————————————————————————————————————————————————————*/
.el_txt_body {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 960px) {
  .el_txt_body {
    font-size: 1.6rem;
  }
}

/* ————————————— モディファイア ————————————— */
/* 暗め */
.el_txt_body__dark {
  color: var(--color-txt_contrast);
}

/*—————————————————————————————————————————————————————
　サブテキスト
—————————————————————————————————————————————————————*/
.el_txt_sub {
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--color-txt_l);
}
@media screen and (min-width: 960px) {
  .el_txt_sub {
    font-size: 1.5rem;
  }
}

/* ————————————— モディファイア ————————————— */
/* 暗め */
.el_txt_sub__dark {
  color: rgba(var(--color-txt_contrast_rgb), 60%);
}

/*—————————————————————————————————————————————————————
　注釈
—————————————————————————————————————————————————————*/
.el_txt_notes {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--color-txt_l);
}
@media screen and (min-width: 960px) {
  .el_txt_notes {
    font-size: 1.2rem;
  }
}

/* ————————————— モディファイア ————————————— */
/* テキストインデント */
.el_txt_notes__indent {
  padding-left: 1em;
  text-indent: -1em;
}

/* 暗め */
.el_txt_notes__dark {
  color: rgba(var(--color-txt_contrast_rgb), 60%);
}

/*—————————————————————————————————————————————————————
　テキストリンク
—————————————————————————————————————————————————————*/
.el_link_txt {
  color: var(--color-link);
  border-bottom: 1px solid var(--color-link);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  word-break: break-all;
}
.el_link_txt:hover {
  border-bottom: none;
  color: var(--color-link_hover);
}

/* ————————————— モディファイア ————————————— */
/* 新規ウィンドウアイコン */
.el_link_txt__newWindow {
  position: relative;
  margin-right: 1.4em;
}
.el_link_txt__newWindow:after {
  content: "\e89e";
  position: absolute;
  margin-left: 0.2em;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.el_link_txt__newWindow:hover:after {
  color: var(--color-link_hover);
}

/* 右矢印アイコン */
.el_link_txt__arrowRight {
  position: relative;
  margin-right: 1.4em;
}
.el_link_txt__arrowRight:after {
  content: "\e5e1";
  position: absolute;
  margin-left: 0.2em;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.el_link_txt__arrowRight:hover:after {
  color: var(--color-link_hover);
}

/* 下線なし */
.el_link_txt__noUnderline {
  border-bottom: none;
}
/*—————————————————————————————————————————————————————
　罫線
—————————————————————————————————————————————————————*/
.el_border {
  height: 1px;
  margin: 3rem 0;
  background-color: var(--color-border);
  border: none;
}
@media screen and (min-width: 960px) {
  .el_border {
    margin: 4rem 0;
  }
}

.bl_col + .el_border {
  margin: calc(3rem - var(--padding-grid_sm) * 2) 0 3rem;
}
@media screen and (min-width: 960px) {
  .bl_col + .el_border {
    margin: calc(4rem - var(--padding-grid_lgmd) / 2) 0 4rem;
  }
}

/* ————————————— モディファイア ————————————— */
/* 線色 明 */
.el_border__light {
  background-color: var(--color-border_l);
}

/*—————————————————————————————————————————————————————
　画像
—————————————————————————————————————————————————————*/
/* トリミング */
.el_img_ratio img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.el_img_ratio__1x1 {
  aspect-ratio: 1/1;
}
.el_img_ratio__3x2 {
  aspect-ratio: 3/2;
}
.el_img_ratio__4x3 {
  aspect-ratio: 4/3;
}
.el_img_ratio__16x9 {
  aspect-ratio: 16/9;
}
.el_img_ratio__gold {
  aspect-ratio: 8/5;
}

/*—————————————————————————————————————————————————————
　アラート
—————————————————————————————————————————————————————*/
.el_alert {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.4rem 1.4rem 1.3rem;
  font-size: 1.3rem;
  line-height: 1.5;
  background-color: rgba(var(--color-txt_rgb), 8%);
  border: 1px solid rgba(var(--color-txt_rgb), 12%);
  border-radius: 0.4rem;
}
@media screen and (min-width: 960px) {
  .el_alert {
    padding: 1.8rem 1.8rem 1.7rem;
    font-size: 1.4rem;
  }
}
.el_alert strong {
  display: inline-block;
  margin-bottom: 0.2em;
  font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
  .el_alert strong {
    font-size: 1.6rem;
  }
}
.el_alert > i {
  font-size: 1.8rem;
  margin-top: 0.1em;
  margin-right: 0.3em;
}
@media screen and (min-width: 960px) {
  .el_alert > i {
    margin-top: 0;
    font-size: 2.4rem;
  }
}

/* 閉じるボタン */
.el_alert_close {
  position: absolute;
  content: "\e5cd";
  right: 1.2rem;
  top: 1.2rem;
  opacity: 0.5;
}
.el_alert_close > i {
  font-size: 2rem;
}

/* ————————————— モディファイア ————————————— */
/* プライマリ */
.el_alert__primary {
  background-color: rgba(var(--color-primary_rgb), 8%);
  border: 1px solid rgba(var(--color-primary_rgb), 12%);
}
.el_alert__primary strong,
.el_alert__primary > i {
  color: var(--color-primary);
}

/* セカンダリ */
.el_alert__secondary {
  background-color: rgba(var(--color-secondary_rgb), 8%);
  border: 1px solid rgba(var(--color-secondary_rgb), 12%);
}
.el_alert__secondary strong,
.el_alert__secondary > i {
  color: var(--color-secondary);
}

/* 成功 */
.el_alert__success {
  background-color: rgba(var(--color-success_rgb), 8%);
  border: 1px solid rgba(var(--color-success_rgb), 12%);
}
.el_alert__success strong,
.el_alert__success > i {
  color: var(--color-success);
}

/* インフォメーション */
.el_alert__info {
  background-color: rgba(var(--color-info_rgb), 8%);
  border: 1px solid rgba(var(--color-info_rgb), 12%);
}
.el_alert__info strong,
.el_alert__info > i {
  color: var(--color-info);
}

/* 危険（エラー） */
.el_alert__danger {
  background-color: rgba(var(--color-danger_rgb), 8%);
  border: 1px solid rgba(var(--color-danger_rgb), 12%);
}
.el_alert__danger strong,
.el_alert__danger > i {
  color: var(--color-danger);
}

/* 警告 */
.el_alert__warning {
  background-color: rgba(var(--color-warning_rgb), 8%);
  border: 1px solid rgba(var(--color-warning_rgb), 12%);
}
.el_alert__warning strong,
.el_alert__warning > i {
  color: var(--color-warning);
}

/*—————————————————————————————————————————————————————
　バッジ
—————————————————————————————————————————————————————*/
.el_badge {
  display: inline-block;
  padding: 0.4em 1em;
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
  background-color: var(--color-default);
  border-radius: 50rem;
}
@media screen and (min-width: 960px) {
  .el_badge {
    font-size: 1.2rem;
  }
}

/* ————————————— カラー ————————————— */
.el_badge__primary {
  color: var(--color-txt_contrast) !important;
  background-color: rgba(var(--color-primary_rgb), 100%) !important;
}

.el_badge__secondary {
  color: var(--color-txt_contrast) !important;
  background-color: rgba(var(--color-secondary_rgb), 100%) !important;
}

.el_badge__success {
  color: var(--color-txt_contrast) !important;
  background-color: rgba(var(--color-success_rgb), 100%) !important;
}

.el_badge__info {
  color: var(--color-txt_contrast) !important;
  background-color: rgba(var(--color-info_rgb), 100%) !important;
}

.el_badge__danger {
  color: var(--color-txt_contrast) !important;
  background-color: rgba(var(--color-danger_rgb), 100%) !important;
}

.el_badge__warning {
  color: var(--color-txt_contrast) !important;
  background-color: rgba(var(--color-warning_rgb), 100%) !important;
}

.el_badge__primary_l {
  color: var(--color-primary) !important;
  background-color: rgba(var(--color-primary_rgb), 14%) !important;
}

.el_badge__secondary_l {
  color: var(--color-secondary) !important;
  background-color: rgba(var(--color-secondary_rgb), 14%) !important;
}

.el_badge__success_l {
  color: var(--color-success) !important;
  background-color: rgba(var(--color-success_rgb), 14%) !important;
}

.el_badge__info_l {
  color: var(--color-info) !important;
  background-color: rgba(var(--color-info_rgb), 14%) !important;
}

.el_badge__danger_l {
  color: var(--color-danger) !important;
  background-color: rgba(var(--color-danger_rgb), 14%) !important;
}

.el_badge__warning_l {
  color: var(--color-warning) !important;
  background-color: rgba(var(--color-warning_rgb), 14%) !important;
}

/*—————————————————————————————————————————————————————
　ボタン
—————————————————————————————————————————————————————*/
.el_btn, .el_btnBack {
  display: inline-block;
  padding: 0.7em 1.2em 0.68em;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: var(--color-txt);
  background-color: var(--color-default);
}
.el_btn + .el_btn, .el_btnBack + .el_btn, .el_btn + .el_btnBack, .el_btnBack + .el_btnBack {
  margin-left: 1rem;
}
.el_btn:hover, .el_btnBack:hover {
  opacity: 0.5;
}

/* ————————————— モディファイア ————————————— */
/* 塗りボタン */
.el_btn__primary {
  color: #FFFFFF;
  background-color: var(--color-primary);
}
.el_btn__secondary {
  color: #FFFFFF;
  background-color: var(--color-secondary);
}
.el_btn__success {
  color: #FFFFFF;
  background-color: var(--color-success);
}
.el_btn__info {
  color: #FFFFFF;
  background-color: var(--color-info);
}
.el_btn__danger {
  color: #FFFFFF;
  background-color: var(--color-danger);
}
.el_btn__warning {
  color: #FFFFFF;
  background-color: var(--color-warning);
}

/* 枠線ボタン */
.el_btn__outline, .el_btnBack {
  border: 1px solid var(--color-border);
  background-color: var(--color-content-bg);
}
.el_btn__outline__primary {
  background-color: var(--color-content-bg);
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
}
.el_btn__outline__secondary {
  background-color: var(--color-content-bg);
  border: 1px solid var(--color-secondary);
  color: var(--color-secondary);
}
.el_btn__outline__success {
  background-color: var(--color-content-bg);
  border: 1px solid var(--color-success);
  color: var(--color-success);
}
.el_btn__outline__info {
  background-color: var(--color-content-bg);
  border: 1px solid var(--color-info);
  color: var(--color-info);
}
.el_btn__outline__danger {
  background-color: var(--color-content-bg);
  border: 1px solid var(--color-danger);
  color: var(--color-danger);
}
.el_btn__outline__warning {
  background-color: var(--color-content-bg);
  border: 1px solid var(--color-warning);
  color: var(--color-warning);
}

/* 丸ボタン */
.el_btn__rounded {
  border-radius: 50rem !important;
}

/* ボタンサイズ */
.el_btn__size__s {
  font-size: 1.1rem;
  padding: 0.7em 1em 0.68em;
}
.el_btn__size__s > i {
  margin-right: 0.2em;
  font-size: 1.6rem;
}
.el_btn__size__m {
  font-size: 1.3rem;
  padding: 0.78em 2em 0.73em;
}
@media screen and (min-width: 960px) {
  .el_btn__size__m {
    font-size: 1.4rem;
    min-width: 16rem;
  }
}
.el_btn__size__l, .el_btnBack {
  font-size: 1.4rem;
  padding: 1em 2em 0.98em;
}
@media screen and (min-width: 960px) {
  .el_btn__size__l, .el_btnBack {
    font-size: 1.6rem;
    min-width: 26rem;
  }
}
.el_btn__size__xl {
  font-size: 1.6rem;
  padding: 0.9em 2em 0.88em;
}
@media screen and (min-width: 960px) {
  .el_btn__size__xl {
    font-size: 2rem;
    min-width: 32rem;
  }
}

/* アイコン付きボタン（初期：アイコンは文字前）*/
.el_btn__icon, .el_btnBack {
  vertical-align: middle;
}
.el_btn__icon > i, .el_btnBack > i {
  margin-right: 0.2em;
  font-size: 2rem;
  vertical-align: -0.27em;
  opacity: 0.6;
}

/* アイコンを文字後 アイコン付きボタン */
.el_btn__icon__after > i, .el_btnBack > i {
  margin-left: 0.2em !important;
  margin-right: 0 !important;
}

/* ————————————————— 状態 ————————————————— */
/* 無効化 */
.el_btn.is_disable, .is_disable.el_btnBack {
  pointer-events: none !important;
  background-color: var(--color-disable) !important;
  color: var(--color-disable_txt) !important;
  border: none !important;
}

/* 待機 */
.el_btn.is_progress, .is_progress.el_btnBack {
  pointer-events: none !important;
  position: relative;
  color: transparent !important;
  background-color: var(--color-disable) !important;
  border: none !important;
}
.el_btn.is_progress:after, .is_progress.el_btnBack:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 2rem;
  height: 2rem;
  margin: auto;
  border-radius: 50%;
  border: 0.25rem solid rgba(var(--color-txt_rgb), 0.4);
  border-top-color: rgba(var(--color-txt_rgb), 0.6);
  -webkit-animation: spin 1s infinite linear;
          animation: spin 1s infinite linear;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* ————————————— よく使うセット ————————————— */
/* 戻るボタン */
/*—————————————————————————————————————————————————————
　フォーム項目の説明文
—————————————————————————————————————————————————————*/
.el_form_info {
  margin-bottom: 1.2rem;
  font-size: 1.3rem;
  font-weight: normal;
  line-height: 1.7;
}
.el_form_info + .el_form_info {
  margin-top: -0.5rem;
}
@media screen and (min-width: 960px) {
  .el_form_info {
    font-size: 1.4rem;
  }
}

/*—————————————————————————————————————————————————————
　ヒントテキスト
—————————————————————————————————————————————————————*/
.el_form_tips {
  margin-top: 0.8rem;
  color: var(--color-txt_l);
  font-size: 1.2rem;
  line-height: 1.6;
}
.el_form_tips + .el_form_tips {
  margin-top: 0.5rem;
}

/*—————————————————————————————————————————————————————
　フォーム内メッセージ
—————————————————————————————————————————————————————*/
.el_form_message {
  margin-top: 0.8rem;
  color: var(--color-txt_l);
  font-size: 1.4rem;
  line-height: 1.6;
}
.el_form_message + .el_form_message {
  margin-top: 0.5rem;
}
.el_form_message__success {
  color: var(--color-success);
}
.el_form_message__warning {
  color: var(--color-warning);
}
.el_form_message__danger {
  color: var(--color-danger);
}

/*—————————————————————————————————————————————————————
　必須・任意のラベル項目
—————————————————————————————————————————————————————*/
.el_form_label__required label:after, .el_form_label__optional label:after {
  display: inline-block;
  margin-left: 0.8em;
  padding: 0.4em 0.4em 0.38em;
  vertical-align: 0.2em;
  border-radius: 0.4rem;
  font-size: 1.1rem;
  line-height: 1;
}
.el_form_label__required label:after {
  content: "必須";
  color: #FFFFFF;
  background-color: var(--color_red);
}
.el_form_label__optional label:after {
  content: "任意";
  color: rgba(var(--color-txt_rgb), 70%);
  background-color: rgba(var(--color-txt_rgb), 15%);
}

/*—————————————————————————————————————————————————————
　入力欄 共通スタイル
—————————————————————————————————————————————————————*/
.el_form_select select, .el_form_textarea, .el_form_input {
  width: 100%;
  padding: 1.4rem 1rem;
  font-size: 1.6rem;
  line-height: 1.3;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: solid 1px var(--color-border);
  -webkit-transition: -webkit-box-shadow 0.2s ease;
  transition: -webkit-box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.el_form_select select:hover, .el_form_textarea:hover, .el_form_input:hover {
  outline: solid 1px rgba(var(--color-primary_rgb), 50%);
}
.el_form_select select:focus, .el_form_textarea:focus, .el_form_input:focus, .el_form_select select:active, .el_form_textarea:active, .el_form_input:active {
  outline: solid 2px rgba(var(--color-primary_rgb), 80%);
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-primary_rgb), 12%);
          box-shadow: 0px 0px 1px 6px rgba(var(--color-primary_rgb), 12%);
}
.el_form_select select::-webkit-input-placeholder, .el_form_textarea::-webkit-input-placeholder, .el_form_input::-webkit-input-placeholder {
  color: rgba(var(--color-txt_rgb), 50%);
}
.el_form_select select::-moz-placeholder, .el_form_textarea::-moz-placeholder, .el_form_input::-moz-placeholder {
  color: rgba(var(--color-txt_rgb), 50%);
}
.el_form_select select:-ms-input-placeholder, .el_form_textarea:-ms-input-placeholder, .el_form_input:-ms-input-placeholder {
  color: rgba(var(--color-txt_rgb), 50%);
}
.el_form_select select::-ms-input-placeholder, .el_form_textarea::-ms-input-placeholder, .el_form_input::-ms-input-placeholder {
  color: rgba(var(--color-txt_rgb), 50%);
}
.el_form_select select::placeholder, .el_form_textarea::placeholder, .el_form_input::placeholder {
  color: rgba(var(--color-txt_rgb), 50%);
}

/*—————————————————————————————————————————————————————
　1行テキスト・テキストエリア
—————————————————————————————————————————————————————*/
/* 1行テキスト */
.el_form_input + .el_form_input {
  margin-top: 1.2rem;
}

/* テキストエリア */
.el_form_textarea {
  resize: vertical;
}

/* ————————————————— 状態 ————————————————— */
.el_form_input.is_success,
.el_form_textarea.is_success {
  position: relative;
  outline: solid 2px var(--color-success);
}
.el_form_input.is_success:hover,
.el_form_textarea.is_success:hover {
  outline: solid 2px rgba(var(--color-success_rgb), 50%);
}
.el_form_input.is_success:focus, .el_form_input.is_success:active,
.el_form_textarea.is_success:focus,
.el_form_textarea.is_success:active {
  outline: solid 2px rgba(var(--color-success_rgb), 80%) !important;
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-success_rgb), 25%) !important;
          box-shadow: 0px 0px 1px 6px rgba(var(--color-success_rgb), 25%) !important;
}
.el_form_input.is_warning,
.el_form_textarea.is_warning {
  outline: solid 2px var(--color-warning);
}
.el_form_input.is_warning:hover,
.el_form_textarea.is_warning:hover {
  outline: solid 2px rgba(var(--color-warning_rgb), 50%);
}
.el_form_input.is_warning:focus, .el_form_input.is_warning:active,
.el_form_textarea.is_warning:focus,
.el_form_textarea.is_warning:active {
  outline: solid 2px rgba(var(--color-warning_rgb), 80%) !important;
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-warning_rgb), 25%) !important;
          box-shadow: 0px 0px 1px 6px rgba(var(--color-warning_rgb), 25%) !important;
}
.el_form_input.is_danger,
.el_form_textarea.is_danger {
  outline: solid 2px var(--color-danger);
}
.el_form_input.is_danger:hover,
.el_form_textarea.is_danger:hover {
  outline: solid 2px rgba(var(--color-danger_rgb), 50%);
}
.el_form_input.is_danger:focus, .el_form_input.is_danger:active,
.el_form_textarea.is_danger:focus,
.el_form_textarea.is_danger:active {
  outline: solid 2px rgba(var(--color-danger_rgb), 80%) !important;
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-danger_rgb), 20%) !important;
          box-shadow: 0px 0px 1px 6px rgba(var(--color-danger_rgb), 20%) !important;
}
.el_form_input:disabled,
.el_form_textarea:disabled {
  color: var(--color-disable_txt);
  background-color: var(--color-disable);
}
.el_form_input:disabled:focus, .el_form_input:disabled:hover,
.el_form_textarea:disabled:focus,
.el_form_textarea:disabled:hover {
  outline: solid 1px var(--color-border_l);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.el_form_input:-moz-read-only:focus, .el_form_input:-moz-read-only:hover, .el_form_textarea:-moz-read-only:focus, .el_form_textarea:-moz-read-only:hover {
  outline: solid 1px var(--color-border_l);
  box-shadow: none;
}
.el_form_input:read-only:focus, .el_form_input:read-only:hover,
.el_form_textarea:read-only:focus,
.el_form_textarea:read-only:hover {
  outline: solid 1px var(--color-border_l);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.el_form_input.is_plainTxt,
.el_form_textarea.is_plainTxt {
  padding: 1rem 0 0 !important;
  outline: transparent;
  color: var(--color-txt) !important;
}
.el_form_input.is_plainTxt:focus, .el_form_input.is_plainTxt:hover,
.el_form_textarea.is_plainTxt:focus,
.el_form_textarea.is_plainTxt:hover {
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*—————————————————————————————————————————————————————
　セレクトボックス
—————————————————————————————————————————————————————*/
.el_form_select {
  position: relative;
}
.el_form_select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.el_form_select select:focus, .el_form_select select:active {
  outline: solid 2px rgba(var(--color-primary_rgb), 80%);
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-primary_rgb), 0.1);
          box-shadow: 0px 0px 1px 6px rgba(var(--color-primary_rgb), 0.1);
}
.el_form_select:before {
  pointer-events: none;
  content: "\e5cf";
  display: block;
  position: absolute;
  right: 0.5rem;
  top: 50%;
  -webkit-transform: translateY(-47%);
          transform: translateY(-47%);
  font-size: 2.4rem;
}

/* ————————————— モディファイア ————————————— */
/* マルチセレクトボックス */
.el_form_select__multi option {
  padding: 0.4em;
}
.el_form_select__multi option:checked {
  border-radius: 0.4rem;
  color: #FFFFFF;
  background-color: var(--color-primary);
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-primary)), to(var(--color-primary)));
  background: linear-gradient(var(--color-primary), var(--color-primary));
}
.el_form_select__multi:before {
  display: none !important;
}

/* ————————————————— 状態 ————————————————— */
.el_form_select.is_success select {
  position: relative;
  outline: solid 2px var(--color-success);
}
.el_form_select.is_success select:hover {
  outline: solid 2px rgba(var(--color-success_rgb), 50%);
}
.el_form_select.is_success select:focus, .el_form_select.is_success select:active {
  outline: solid 2px rgba(var(--color-success_rgb), 80%) !important;
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-success_rgb), 25%) !important;
          box-shadow: 0px 0px 1px 6px rgba(var(--color-success_rgb), 25%) !important;
}
.el_form_select.is_warning select {
  outline: solid 2px var(--color-warning);
}
.el_form_select.is_warning select:hover {
  outline: solid 2px rgba(var(--color-warning_rgb), 50%);
}
.el_form_select.is_warning select:focus, .el_form_select.is_warning select:active {
  outline: solid 2px rgba(var(--color-warning_rgb), 80%) !important;
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-warning_rgb), 25%) !important;
          box-shadow: 0px 0px 1px 6px rgba(var(--color-warning_rgb), 25%) !important;
}
.el_form_select.is_danger select {
  outline: solid 2px var(--color-danger);
}
.el_form_select.is_danger select:hover {
  outline: solid 2px rgba(var(--color-danger_rgb), 50%);
}
.el_form_select.is_danger select:focus, .el_form_select.is_danger select:active {
  outline: solid 2px rgba(var(--color-danger_rgb), 80%) !important;
  -webkit-box-shadow: 0px 0px 1px 6px rgba(var(--color-danger_rgb), 20%) !important;
          box-shadow: 0px 0px 1px 6px rgba(var(--color-danger_rgb), 20%) !important;
}
.el_form_select select:disabled {
  color: var(--color-disable_txt);
  background-color: var(--color-disable);
}
.el_form_select select:disabled:focus, .el_form_select select:disabled:hover {
  outline: solid 1px var(--color-border_l);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.el_form_select option:disabled {
  color: var(--color-disable_txt);
  background-color: var(--color-disable);
  border-radius: 0.4rem;
}

/*—————————————————————————————————————————————————————
　ラジオボタン・チェックボタン
—————————————————————————————————————————————————————*/
.el_form_radio,
.el_form_check {
  display: inline-block;
  margin-left: 3rem;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: normal !important;
  cursor: pointer;
}
@media screen and (min-width: 960px) {
  .el_form_radio,
  .el_form_check {
    font-size: 1.5rem;
  }
}
.el_form_radio input,
.el_form_check input {
  position: relative;
  width: 22px;
  height: 22px;
  vertical-align: -6px;
  border: 1px solid var(--color-border);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  margin-left: -3rem;
  margin-right: 0.8rem;
}
.el_form_radio input:hover,
.el_form_check input:hover {
  border: 1px solid rgba(var(--color-primary_rgb), 50%);
}
.el_form_radio input:focus, .el_form_radio input:active,
.el_form_check input:focus,
.el_form_check input:active {
  outline: solid 2px rgba(var(--color-primary_rgb), 20%) !important;
}
.el_form_radio input:checked::before,
.el_form_check input:checked::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  -webkit-animation: anim_form_select 0.3s linear;
          animation: anim_form_select 0.3s linear;
}

@-webkit-keyframes anim_form_select {
  0% {
    -webkit-box-shadow: 0 0 0 1px transparent;
            box-shadow: 0 0 0 1px transparent;
  }
  50% {
    -webkit-box-shadow: 0 0 0 10px rgba(var(--color-primary_rgb), 20%);
            box-shadow: 0 0 0 10px rgba(var(--color-primary_rgb), 20%);
  }
  100% {
    -webkit-box-shadow: 0 0 0 10px transparent;
            box-shadow: 0 0 0 10px transparent;
  }
}

@keyframes anim_form_select {
  0% {
    -webkit-box-shadow: 0 0 0 1px transparent;
            box-shadow: 0 0 0 1px transparent;
  }
  50% {
    -webkit-box-shadow: 0 0 0 10px rgba(var(--color-primary_rgb), 20%);
            box-shadow: 0 0 0 10px rgba(var(--color-primary_rgb), 20%);
  }
  100% {
    -webkit-box-shadow: 0 0 0 10px transparent;
            box-shadow: 0 0 0 10px transparent;
  }
}
/* ラジオボタン */
.el_form_radio input {
  border-radius: 50%;
}
.el_form_radio input:checked::before {
  content: "";
  width: 14px;
  height: 14px;
  background-color: var(--color-primary);
}

/* チェックボックス */
.el_form_check input {
  border-radius: 0.4rem;
}
.el_form_check input:checked {
  border: none;
  background-color: var(--color-primary);
}
.el_form_check input:checked::before {
  content: "\e5ca";
  -webkit-transform: translate(-50%, -49%);
          transform: translate(-50%, -49%);
  font-size: 1.6rem;
  font-weight: bold;
  color: #FFFFFF;
}

/* ————————————————— 状態 ————————————————— */
/* ラジオボタン・チェックボタン共通 */
.el_form_radio input.is_warning,
.el_form_check input.is_warning {
  border: 2px solid var(--color-warning);
}
.el_form_radio input.is_warning:hover,
.el_form_check input.is_warning:hover {
  border: 2px solid rgba(var(--color-warning_rgb), 50%);
}
.el_form_radio input.is_danger,
.el_form_check input.is_danger {
  border: 2px solid var(--color-danger);
}
.el_form_radio input.is_danger:hover,
.el_form_check input.is_danger:hover {
  border: 2px solid rgba(var(--color-danger_rgb), 50%);
}
.el_form_radio input:disabled,
.el_form_check input:disabled {
  pointer-events: none;
  background-color: var(--color-disable);
  border: none;
}
.el_form_radio input:disabled:hover,
.el_form_check input:disabled:hover {
  border: none;
}
.el_form_radio input:disabled:focus, .el_form_radio input:disabled:active,
.el_form_check input:disabled:focus,
.el_form_check input:disabled:active {
  outline: none;
}

/* ラジオボタン */
.el_form_radio input.is_warning:checked::before {
  background-color: var(--color-warning);
}
.el_form_radio input.is_danger:checked::before {
  background-color: var(--color-danger);
}

/* チェックボックス */
.el_form_check input.is_warning:checked {
  background-color: var(--color-warning);
}
.el_form_check input.is_danger:checked {
  background-color: var(--color-danger);
}

/* ————————————— モディファイア ————————————— */
/* ラベル内のテキストなし（input単体利用） */
.el_form_radio__noTxt,
.el_form_check__noTxt {
  margin-left: 0 !important;
}
.el_form_radio__noTxt input,
.el_form_check__noTxt input {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/*—————————————————————————————————————————————————————
　範囲スライダー
—————————————————————————————————————————————————————*/
.el_form_range {
  width: 100%;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}

/*—————————————————————————————————————————————————————
　入力欄　サイズ・レイアウト変更用
—————————————————————————————————————————————————————*/
/* サイズ指定・横幅 */
.el_form_style_width__s {
  max-width: 6em !important;
  min-width: 3em !important;
}
.el_form_style_width__m {
  max-width: 12em !important;
  min-width: 6em !important;
}
.el_form_style_width__l {
  max-width: 24em !important;
  min-width: 12em !important;
}

/* サイズ指定・高さ */
.el_form_style_height__s {
  height: 3.05em;
}
.el_form_style_height__m {
  min-height: 10rem;
}
.el_form_style_height__l {
  min-height: 20rem;
}

/*=================================================================================

　ブロック	接頭辞：bl_*

=================================================================================*/
/*—————————————————————————————————————————————————————
　カラム
—————————————————————————————————————————————————————*/
.bl_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-top: calc(-1 * var(--padding-grid_sm));
  margin-left: calc(-1 * var(--padding-grid_sm));
  margin-right: calc(-1 * var(--padding-grid_sm));
}
@media screen and (min-width: 960px) {
  .bl_col {
    margin-top: calc(-1 * var(--padding-grid_lgmd) / 2);
    margin-left: calc(-1 * var(--padding-grid_lgmd));
    margin-right: calc(-1 * var(--padding-grid_lgmd));
  }
}
.bl_col > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding: var(--padding-grid_sm);
}
@media screen and (min-width: 960px) {
  .bl_col > * {
    padding: calc(var(--padding-grid_lgmd) / 2) var(--padding-grid_lgmd);
  }
}

/* ————————————— モディファイア ————————————— */
/* 横幅 - 全幅 */
.bl_col__1 {
  width: 8.3333333333%;
}
.bl_col__2 {
  width: 16.6666666667%;
}
.bl_col__3 {
  width: 25%;
}
.bl_col__4 {
  width: 33.3333333333%;
}
.bl_col__5 {
  width: 41.6666666667%;
}
.bl_col__6 {
  width: 50%;
}
.bl_col__7 {
  width: 58.3333334792%;
}
.bl_col__8 {
  width: 66.6666666667%;
}
.bl_col__9 {
  width: 75.0000001875%;
}
.bl_col__10 {
  width: 83.3333333333%;
}
.bl_col__11 {
  width: 91.6666667431%;
}
.bl_col__12 {
  width: 100%;
}

/* 横幅 - スマホ幅 */
@media screen and (max-width: 959px) {
  .bl_col_sm__1 {
    width: 8.3333333333%;
  }
  .bl_col_sm__2 {
    width: 16.6666666667%;
  }
  .bl_col_sm__3 {
    width: 25%;
  }
  .bl_col_sm__4 {
    width: 33.3333333333%;
  }
  .bl_col_sm__5 {
    width: 41.6666666667%;
  }
  .bl_col_sm__6 {
    width: 50%;
  }
  .bl_col_sm__7 {
    width: 58.3333334792%;
  }
  .bl_col_sm__8 {
    width: 66.6666666667%;
  }
  .bl_col_sm__9 {
    width: 75.0000001875%;
  }
  .bl_col_sm__10 {
    width: 83.3333333333%;
  }
  .bl_col_sm__11 {
    width: 91.6666667431%;
  }
  .bl_col_sm__12 {
    width: 100%;
  }
}

/* カラム間の左右余白 - 少 */
.bl_col__paddingLR__Min {
  margin-left: calc(-1 * var(--padding-grid_sm) / 2);
  margin-right: calc(-1 * var(--padding-grid_sm) / 2);
}
@media screen and (min-width: 960px) {
  .bl_col__paddingLR__Min {
    margin-left: calc(-1 * var(--padding-grid_lgmd) / 2);
    margin-right: calc(-1 * var(--padding-grid_lgmd) / 2);
  }
}
.bl_col__paddingLR__Min > * {
  padding: calc(var(--padding-grid_sm) / 2);
}
@media screen and (min-width: 960px) {
  .bl_col__paddingLR__Min > * {
    padding: calc(var(--padding-grid_lgmd) / 2);
  }
}

/* カラム間の上余白 - 大 */
.bl_col__paddingTop__Max {
  margin-top: calc(-1 * var(--padding-grid_sm));
}
@media screen and (min-width: 960px) {
  .bl_col__paddingTop__Max {
    margin-top: calc(-1 * var(--padding-grid_lgmd));
  }
}
.bl_col__paddingTop__Max > * {
  padding: calc(var(--padding-grid_sm) * 2) var(--padding-grid_sm);
}
@media screen and (min-width: 960px) {
  .bl_col__paddingTop__Max > * {
    padding: var(--padding-grid_lgmd);
  }
}

/* 両端配置 */
@media screen and (min-width: 960px) {
  .bl_col__justifyContentsSpaceBetween {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/* スマホ版 両端配置 */
@media screen and (max-width: 959px) {
  .bl_col__justifyContentsSpaceBetween_sm {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/* 中央配置 */
@media screen and (min-width: 960px) {
  .bl_col__justifyContentsCenter {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/* スマホ版 中央配置 */
@media screen and (max-width: 959px) {
  .bl_col__justifyContentsCenter_sm {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/*—————————————————————————————————————————————————————
　基本ボックス
—————————————————————————————————————————————————————*/
.bl_box {
  background-color: var(--color-content-bg);
  padding: calc(1.2 * var(--padding-grid-inner_sm)) var(--padding-grid-inner_sm);
}
@media screen and (min-width: 960px) {
  .bl_box {
    padding: var(--padding-grid-inner_lgmd) var(--padding-grid-inner_lgmd) calc(1.1 * var(--padding-grid-inner_lgmd));
  }
}

/* ————————————— モディファイア ————————————— */
/* 角丸 */
.bl_box__rounded {
  border-radius: 0.4rem;
  overflow: hidden;
}

/* 枠線 */
.bl_box__border {
  border: 1px solid var(--color-content-border);
}

/* ドロップシャドウ */
.bl_box__shadow {
  -webkit-box-shadow: 0px 1px 2px var(--color-content-shadow);
          box-shadow: 0px 1px 2px var(--color-content-shadow);
}

/* ボックス内の余白小 */
.bl_box__minPadding {
  padding: calc(var(--padding-grid-inner_sm) / 1.5) !important;
}
@media screen and (min-width: 960px) {
  .bl_box__minPadding {
    padding: calc(var(--padding-grid-inner_lgmd) / 1.75) !important;
  }
}

/* ボックス内の余白大 */
.bl_box__maxPadding {
  padding: calc(2 * var(--padding-grid-inner_sm)) var(--padding-grid-inner_sm) !important;
}
@media screen and (min-width: 960px) {
  .bl_box__maxPadding {
    padding: calc(2 * var(--padding-grid-inner_lgmd)) calc(2.5 * var(--padding-grid-inner_lgmd)) !important;
  }
}

/* ボックス内の余白なし */
.bl_box__noPadding {
  padding: 0 !important;
}

/* ボックス内の余白なし */
.bl_box__scrollY {
  max-height: 20rem;
  overflow-y: scroll;
}

/* 背景色あり */
.bl_box__bg {
  background-color: #e4e6ea;
}

.bl_box__bg__dark {
  background-color: var(--color-content-bg_dark);
}

.bl_box__bg__primary_l {
  background-color: rgba(var(--color-primary_rgb), 8%);
}

.bl_box__bg__secondary_l {
  background-color: rgba(var(--color-secondary_rgb), 8%);
}

.bl_box__bg__success_l {
  background-color: rgba(var(--color-success_rgb), 8%);
}

.bl_box__bg__info_l {
  background-color: rgba(var(--color-info_rgb), 8%);
}

.bl_box__bg__danger_l {
  background-color: rgba(var(--color-danger_rgb), 8%);
}

.bl_box__bg__warning_l {
  background-color: rgba(var(--color-warning_rgb), 8%);
}

.bl_box__bg__primary {
  background-color: var(--color-primary);
}

.bl_box__bg__secondary {
  background-color: var(--color-secondary);
}

.bl_box__bg__success {
  background-color: var(--color-success);
}

.bl_box__bg__info {
  background-color: var(--color-info);
}

.bl_box__bg__danger {
  background-color: var(--color-danger);
}

.bl_box__bg__warning {
  background-color: var(--color-warning);
}

/*—————————————————————————————————————————————————————
　横幅の最大値固定化
—————————————————————————————————————————————————————*/
.bl_contBoxed {
  max-width: var(--width-contents_max);
  margin-left: auto;
  margin-right: auto;
}

/*—————————————————————————————————————————————————————
　リスト
—————————————————————————————————————————————————————*/
.bl_list {
  padding-left: 2rem;
}
.bl_list li {
  padding-top: 0.45em;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: justify;
  list-style: disc;
}
@media screen and (min-width: 960px) {
  .bl_list li {
    font-size: 1.6rem;
  }
}
.bl_list ul {
  padding-left: 1em;
}
.bl_list ul li {
  list-style: circle;
}

/* ————————————— モディファイア ————————————— */
/* 番号付き */
.bl_list__order li {
  list-style: decimal !important;
}
.bl_list__order ul li {
  list-style: decimal !important;
}
.bl_list__order ul li::marker {
  color: var(--color-txt_l);
}

/* アイコン付き */
.bl_list__icon {
  padding-left: 2.4rem;
}
.bl_list__icon li {
  position: relative;
  list-style: none !important;
}
.bl_list__icon i {
  position: absolute;
  display: inline-block;
  left: -2.4rem;
  font-size: 2rem;
  line-height: 1.1;
}
.bl_list__icon ul li i {
  color: var(--color-txt_l);
}

/* スタイルなし */
.bl_list__noStyle {
  padding-left: 0rem;
}
.bl_list__noStyle li {
  list-style: none !important;
}
.bl_list__noStyle ul {
  padding-left: 2rem;
}

/*—————————————————————————————————————————————————————
　定義リスト（dl dt dd）
—————————————————————————————————————————————————————*/
.bl_dateList {
  position: relative;
  border-top: 1px solid var(--color-border_l);
}
.bl_dateList dt,
.bl_dateList dd {
  font-size: 1.3rem;
  line-height: 1.6;
}
@media screen and (min-width: 960px) {
  .bl_dateList dt,
  .bl_dateList dd {
    font-size: 1.5rem;
  }
}
.bl_dateList dt {
  font-weight: normal;
  padding: 2rem 0 0 0;
}
@media screen and (min-width: 960px) {
  .bl_dateList dt {
    position: absolute;
    left: 0;
    width: 12em;
    padding: 2rem 0 1.8rem 0;
  }
}
.bl_dateList dd {
  border-bottom: 1px solid var(--color-border_l);
  padding: 0.4rem 0 2rem 0;
}
@media screen and (min-width: 960px) {
  .bl_dateList dd {
    padding: 2rem 0 1.8rem 0;
  }
}
@media screen and (min-width: 960px) {
  .bl_dateList dd {
    padding-left: 12em;
  }
}
.bl_dateList a {
  color: var(--color-link);
  word-break: break-all;
}
.bl_dateList a:hover {
  color: var(--color-link_hover);
}

.bl_dateList__label dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 960px) {
  .bl_dateList__label dt {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 17.5em;
  }
}
.bl_dateList__label dt:after {
  content: attr(data-label);
  padding: 0.4em 1em;
  margin-left: 1rem;
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
  background-color: var(--color-default);
  border-radius: 50rem;
}
@media screen and (min-width: 960px) {
  .bl_dateList__label dt:after {
    width: 10em;
    padding: 0.4em 0.3em;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 959px) {
  .bl_dateList__label dd {
    padding: 0.6rem 0 2rem 0;
  }
}
@media screen and (min-width: 960px) {
  .bl_dateList__label dd {
    padding-left: 19em;
  }
}

/* ————————————— ラベルカラー ————————————— */
.bl_dateList_label__primary:after {
  color: var(--color-primary) !important;
  background-color: rgba(var(--color-primary_rgb), 14%) !important;
}

.bl_dateList_label__secondary:after {
  color: var(--color-secondary) !important;
  background-color: rgba(var(--color-secondary_rgb), 14%) !important;
}

.bl_dateList_label__success:after {
  color: var(--color-success) !important;
  background-color: rgba(var(--color-success_rgb), 14%) !important;
}

.bl_dateList_label__info:after {
  color: var(--color-info) !important;
  background-color: rgba(var(--color-info_rgb), 14%) !important;
}

.bl_dateList_label__danger:after {
  color: var(--color-danger) !important;
  background-color: rgba(var(--color-danger_rgb), 14%) !important;
}

.bl_dateList_label__warning:after {
  color: var(--color-warning) !important;
  background-color: rgba(var(--color-warning_rgb), 14%) !important;
}

/*—————————————————————————————————————————————————————
　ボタン群
—————————————————————————————————————————————————————*/
.bl_buttons {
  margin-bottom: -1rem;
}
.bl_buttons > * {
  margin: 0 0.8rem 1rem 0 !important;
}

/* ————————————— モディファイア ————————————— */
/* 縦並び */
.bl_buttons__column {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* 均等配置 */
.bl_buttons__spaceBetween {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.bl_buttons__spaceBetween > * {
  margin: 0 0rem 1rem 0 !important;
}

/* 中央配置 */
.bl_buttons__center {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/*—————————————————————————————————————————————————————
　バッジ群
—————————————————————————————————————————————————————*/
.bl_badges {
  margin-bottom: -1rem;
}
.bl_badges > * {
  display: inline-block;
  margin: 0 0.5rem 1rem 0 !important;
}

/*—————————————————————————————————————————————————————
　ステップバー
—————————————————————————————————————————————————————*/
.bl_progressBar {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.bl_progressBar li {
  position: relative;
  text-align: center;
  font-size: 0rem;
  font-weight: 500;
  counter-increment: steps;
  color: rgba(var(--color-txt_rgb), 60%);
}
@media screen and (min-width: 960px) {
  .bl_progressBar li {
    font-size: 1.4rem;
  }
}
.bl_progressBar li.is_active:before, .bl_progressBar li.is_complete:before {
  background-color: var(--color-primary);
  color: var(--color-txt_contrast);
}
.bl_progressBar li.is_active:after, .bl_progressBar li.is_complete:after {
  background-color: var(--color-primary);
}
.bl_progressBar li.is_active {
  font-weight: bold;
  color: var(--color-primary);
}
@media screen and (max-width: 959px) {
  .bl_progressBar li.is_active {
    font-size: 1.2rem;
  }
}
.bl_progressBar li:before, .bl_progressBar li:after {
  content: "";
}
.bl_progressBar li:before {
  content: counter(steps);
  position: relative;
  display: block;
  z-index: 2;
  width: 3rem;
  height: 3rem;
  margin: 0 auto 0.8rem auto;
  line-height: 3rem;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  border-radius: 50%;
  background-color: var(--color-progressbar_bg);
}
@media screen and (min-width: 960px) {
  .bl_progressBar li:before {
    width: 4rem;
    height: 4rem;
    margin: 0 auto 1.5rem auto;
    font-size: 1.6rem;
    line-height: 4rem;
  }
}
.bl_progressBar li:after {
  position: absolute;
  z-index: 1;
  top: 1.3rem;
  left: -50%;
  width: 100%;
  height: 3px;
  background-color: var(--color-progressbar_bg);
}
@media screen and (min-width: 960px) {
  .bl_progressBar li:after {
    top: 1.8rem;
  }
}
.bl_progressBar li:first-child::after {
  content: none;
}

.bl_progressBar__2 li {
  width: 50% !important;
}

.bl_progressBar__3 li {
  width: 33.3333333333% !important;
}

.bl_progressBar__4 li {
  width: 25% !important;
}

.bl_progressBar__5 li {
  width: 20% !important;
}

.bl_progressBar__6 li {
  width: 16.6666666667% !important;
}

.bl_progressBar__7 li {
  width: 14.2857142857% !important;
}

.bl_progressBar__8 li {
  width: 12.5% !important;
}

.bl_progressBar__9 li {
  width: 11.1111111111% !important;
}

.bl_progressBar__10 li {
  width: 10% !important;
}

/*—————————————————————————————————————————————————————
　カード
—————————————————————————————————————————————————————*/
.bl_card {
  background-color: var(--color-content-bg);
  height: 100%;
}
.bl_card > a a, .bl_card > a button {
  pointer-events: none !important;
}

.bl_card_inner {
  padding: 2rem;
}
.bl_card_inner > * {
  margin-top: 0.8rem;
}
.bl_card_inner > *:first-child {
  margin-top: 0;
}
@media screen and (min-width: 960px) {
  .bl_card_inner > * {
    margin-top: 1.2rem;
  }
}

/* タイトル */
.bl_card_ttl {
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .bl_card_ttl {
    font-size: 1.8rem;
  }
}

/* 本文 */
.bl_card_txt {
  font-size: 1.3rem;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .bl_card_txt {
    font-size: 1.4rem;
  }
}

/* サブテキスト（日付など） */
.bl_card_subTxt {
  font-size: 1.2rem;
  color: var(--color-txt_l);
}
@media screen and (min-width: 960px) {
  .bl_card_subTxt {
    font-size: 1.3rem;
  }
}

/* ボタン */
.bl_card_btn {
  margin-top: 2rem;
  text-align: center;
}

/* ————————————— モディファイア ————————————— */
/* 角丸 */
.bl_card.bl_card__rounded {
  border-radius: 0.8rem;
}
.bl_card.bl_card__rounded figure img {
  border-radius: 0.8rem 0.8rem 0 0;
}

/* 枠線 */
.bl_card.bl_card__border {
  border: 1px solid var(--color-border);
}

/*—————————————————————————————————————————————————————
　アコーディオン
—————————————————————————————————————————————————————*/
.bl_accordion summary, .bl_faq summary {
  position: relative;
  text-align: justify;
  cursor: pointer;
  list-style: none;
}
.bl_accordion summary:before, .bl_faq summary:before {
  content: "";
}
.bl_accordion summary::after, .bl_faq summary::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-left: 1rem;
  content: "\e145";
  font-size: 1.8rem;
  color: var(--color-primary);
}
@media screen and (min-width: 960px) {
  .bl_accordion summary::after, .bl_faq summary::after {
    font-size: 2.4rem;
    right: 1.8rem;
  }
}
.bl_accordion[open] summary::after, [open].bl_faq summary::after {
  content: "\e15b";
}

/* ————————————— モディファイア ————————————— */
/* 枠線 */
.bl_accordion__border {
  border: 1px solid var(--color-border);
}

/* 展開部の境界線 */
.bl_accordion__line[open] summary {
  border-bottom: 1px solid var(--color-border_l);
}

/* ダークスタイル */
.bl_accordion__dark summary::after {
  color: var(--color_white);
}

.bl_accordion__rounded {
  border-radius: 0.4rem;
  overflow: hidden;
}

/*—————————————————————————————————————————————————————
　よくある質問（アコーディオン）
—————————————————————————————————————————————————————*/
.bl_faqUnit details + details {
  margin-top: 2.6rem;
}

.bl_faq {
  border: 1px solid var(--color-border);
  background-color: var(--color-content-bg);
}
.bl_faq summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.6rem 4rem;
}
@media screen and (min-width: 960px) {
  .bl_faq summary {
    padding: 2rem 6rem 2rem 4rem;
    font-size: 1.6rem;
  }
}
.bl_faq div {
  padding: 2rem 2rem 2rem 4rem;
}
@media screen and (min-width: 960px) {
  .bl_faq div {
    padding: 2rem 6rem 2rem 4rem;
  }
}
.bl_faq summary,
.bl_faq div {
  font-size: 1.4rem;
  text-align: justify;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .bl_faq summary,
  .bl_faq div {
    font-size: 1.6rem;
  }
}
.bl_faq[open] summary {
  border-bottom: 1px dotted var(--color-border);
}
.bl_faq summary::before,
.bl_faq div::before {
  display: inline-block;
  margin-left: -2.4rem;
  margin-right: 1rem;
  line-height: 1;
  font-size: 1.7rem;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .bl_faq summary::before,
  .bl_faq div::before {
    font-size: 2rem;
  }
}
.bl_faq summary::before {
  content: "Q";
  color: var(--color_blue);
}
.bl_faq div::before {
  content: "A";
  color: var(--color_red);
}

/* ————————————— モディファイア ————————————— */
.bl_faq__notOpen summary {
  pointer-events: none;
}
.bl_faq__notOpen summary:after {
  content: "";
}
.bl_faq__notOpen[open] summary:after {
  content: "";
}

/* ====================================================

　　ナビゲーション

==================================================== */
/*—————————————————————————————————————————————————————
　ページ先頭（前のページに戻る・パンくず）
—————————————————————————————————————————————————————*/
.bl_navPageHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: calc(-1 * var(--padding-contents-lr_mdsm));
  margin-bottom: 3rem;
}
@media screen and (min-width: 960px) {
  .bl_navPageHead {
    margin-top: -1rem;
  }
}

/* 前のページに戻る */
.bl_backLink {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_backLink a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.3rem;
  line-height: 1.4;
  color: var(--color-txt_l);
}
.bl_backLink i {
  font-size: inherit;
  line-height: 1.4;
}

/* パンくず */
.bl_breadcrumb {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: auto;
  margin-left: auto;
  font-size: 1.3rem;
  color: var(--color-txt_l);
}
.bl_breadcrumb li {
  text-align: right;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.bl_breadcrumb li:nth-child(n+2):before {
  content: "\e5cc";
  padding: 0 0.6rem;
}
.bl_breadcrumb a {
  color: var(--color-link);
}

/*—————————————————————————————————————————————————————
　ページネーション
—————————————————————————————————————————————————————*/
.bl_pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 960px) {
  .bl_pagination {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (max-width: 959px) {
  .bl_pagination {
    width: 100%;
  }
}
.bl_pagination li {
  margin-right: 0.5rem;
  font-size: 1.4rem;
  line-height: 1;
  display: none;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .bl_pagination li {
    display: block;
    font-size: 1.6rem;
  }
}
.bl_pagination li a {
  display: block;
  padding: 1rem 1.3rem;
  border: 1px solid var(--color-border);
  border-radius: 0.3rem;
  background-color: #FFFFFF;
}
.bl_pagination li:hover a {
  background-color: var(--color-txt);
  border-color: var(--color-txt);
  color: #FFFFFF;
}
.bl_pagination li:hover:before, .bl_pagination li:hover:after {
  color: #FFFFFF;
}
.bl_pagination li.is_active a {
  pointer-events: none;
  background-color: var(--color-link);
  color: var(--color-link_contrast);
  border-color: var(--color-link);
}
.bl_pagination li.is_disable {
  pointer-events: none;
  opacity: 0.4;
}

.bl_pagination_prev,
.bl_pagination_next {
  position: relative;
  display: block !important;
}
@media screen and (max-width: 959px) {
  .bl_pagination_prev a,
  .bl_pagination_next a {
    min-width: 10rem;
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
}
.bl_pagination_prev span:before, .bl_pagination_prev span:after,
.bl_pagination_next span:before,
.bl_pagination_next span:after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.bl_pagination_prev a {
  padding-left: 2em !important;
}
.bl_pagination_prev span:before {
  content: "\e314";
  left: 0.5em;
}

.bl_pagination_next {
  margin-right: 0rem;
}
.bl_pagination_next a {
  padding-right: 2em !important;
}
.bl_pagination_next span:before {
  content: "\e315";
  right: 0.5em;
}

/*—————————————————————————————————————————————————————
　カプセル型
—————————————————————————————————————————————————————*/
.bl_navPills {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0.5rem;
  border-radius: 0.4rem;
  background-color: #FFF;
}
@media screen and (min-width: 960px) {
  .bl_navPills {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
.bl_navPills li {
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-right: 0.25rem;
}
@media screen and (min-width: 960px) {
  .bl_navPills li {
    width: auto;
    font-size: 1.6rem;
  }
}
.bl_navPills li:last-child {
  margin-right: 0;
}
.bl_navPills li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 4rem;
  padding: 0.5rem 1rem;
  border-radius: 0.4rem;
  color: var(--color-link);
}
@media screen and (min-width: 960px) {
  .bl_navPills li a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: 11rem;
    min-height: 5rem;
    padding: 1rem;
  }
}
.bl_navPills li a:hover {
  background-color: var(--color-link_hover_bg);
}
.bl_navPills li i {
  font-size: 2.4rem;
  padding-right: 0.16em;
}
.bl_navPills li.is_active a {
  pointer-events: none;
  font-weight: bold;
  background-color: var(--color-link);
  color: var(--color-link_contrast);
}
.bl_navPills li.is_disable {
  pointer-events: none;
  opacity: 0.5;
}
.bl_navPills li.is_disable a {
  color: var(--color-txt);
}

/* ————————————— モディファイア ————————————— */
/* 背景色なし */
.bl_navPills__backgroundNone {
  padding: 0;
  background-color: inherit;
}
.bl_navPills__backgroundNone li a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  min-width: auto;
  min-height: 4rem;
  padding: 1rem 1.5rem;
}

/* 横幅100% */
.bl_navPills__width100 {
  width: 100%;
}

/* リスト型（縦配置） */
.bl_navPills__column li {
  width: 100%;
}
.bl_navPills__column li a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (min-width: 960px) {
  .bl_navPills__column li a {
    min-width: auto;
  }
}

/* 中央揃え */
.bl_navPills__alignCenter {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* 均等配置 */
.bl_navPills__evenly {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

/* 枠線あり */
.bl_navPills__border {
  border: 1px solid var(--color-border);
}

/* スマホ時 横スクロール */
.bl_navPills__scrollX {
  width: 100%;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media screen and (max-width: 959px) {
  .bl_navPills__scrollX {
    overflow-x: scroll;
    width: calc(100% + var(--padding-contents-lr_mdsm));
    border-right: none !important;
    border-radius: 0.4rem 0 0 0.4rem;
  }
}
@media screen and (max-width: 959px) {
  .bl_navPills__scrollX li a {
    white-space: nowrap;
  }
}

.bl_navPills__dark {
  background-color: var(--color-txt);
  border: none;
}
.bl_navPills__dark li a {
  color: #FFFFFF;
}
.bl_navPills__dark li a:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.bl_navPills__dark li.is_active a {
  background-color: #FFFFFF;
  color: var(--color-link);
}
.bl_navPills__dark li.is_disable a {
  color: #FFFFFF;
}

/* ————————————— 子要素に指定するスタイル ————————————— */
.bl_navPills_iconAfter i {
  padding-right: 0 !important;
  padding-left: 0.16em;
}

/*—————————————————————————————————————————————————————
　タブ
—————————————————————————————————————————————————————*/
.bl_navTab {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 959px) {
  .bl_navTab {
    overflow-x: auto;
  }
}
@media screen and (min-width: 960px) {
  .bl_navTab {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.bl_navTab:before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color-border_l);
}
.bl_navTab li {
  z-index: 1;
  font-size: 1.3rem;
  line-height: 1.2;
  border-bottom: 1px solid var(--color-border_l);
}
@media screen and (min-width: 960px) {
  .bl_navTab li {
    font-size: 1.5rem;
  }
}
.bl_navTab li a {
  display: block;
  padding: 1.2rem 1.4rem;
}
@media screen and (max-width: 959px) {
  .bl_navTab li a {
    white-space: nowrap;
  }
}
@media screen and (min-width: 960px) {
  .bl_navTab li a {
    padding: 1.5rem 2rem;
  }
}
.bl_navTab li:hover {
  color: var(--color-primary);
}
.bl_navTab li.is_active {
  pointer-events: none;
  font-weight: bold;
  border-bottom: 3px solid var(--color-primary);
}
.bl_navTab li.is_disable {
  pointer-events: none;
  color: rgba(var(--color-txt_rgb), 40%);
}

/* ————————————— モディファイア ————————————— */
/* ボックス要素とセットのタブ */
.bl_navTab__boxSet li:first-child.is_active {
  border-left: 1px solid var(--color-content-bg);
}
.bl_navTab__boxSet li.is_active {
  border-top: 2px solid var(--color-primary);
  border-right: 1px solid var(--color-border_l);
  border-left: 1px solid var(--color-border_l);
  border-bottom: none;
  background-color: var(--color-content-bg);
}

/* ボックス要素の中に入れるタブ */
.bl_navTab__boxInner {
  width: calc(100% + var(--padding-grid-inner_sm) * 2);
  margin-top: calc(-1 * var(--padding-grid-inner_sm));
  margin-left: calc(-1 * var(--padding-grid-inner_sm));
  margin-bottom: var(--padding-grid-inner_sm);
}
@media screen and (min-width: 960px) {
  .bl_navTab__boxInner {
    width: calc(100% + var(--padding-grid-inner_lgmd));
    margin-top: calc(-1 * var(--padding-grid-inner_lgmd));
    margin-left: calc(-1 * var(--padding-grid-inner_lgmd));
    margin-bottom: var(--padding-grid-inner_lgmd);
  }
}
@media screen and (min-width: 960px) {
  .bl_navTab__boxInner:before {
    width: calc(100% + var(--padding-grid-inner_lgmd));
  }
}

/*—————————————————————————————————————————————————————
　ボックス型
—————————————————————————————————————————————————————*/
.bl_navBox li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  font-weight: bold;
  border-radius: 0.8rem;
  -webkit-box-shadow: 0px 1px 2px var(--color-content-shadow);
          box-shadow: 0px 1px 2px var(--color-content-shadow);
  color: var(--color-primary);
  background-color: var(--color-content-bg);
}
.bl_navBox li a:hover {
  opacity: 0.6;
}
.bl_navBox li i, .bl_navBox li img {
  display: block;
  color: rgba(var(--color-primary_rgb), 0.3);
  font-weight: normal;
}
.bl_navBox li p small {
  display: block;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: normal;
  color: var(--color-txt_l);
}
@media screen and (min-width: 960px) {
  .bl_navBox li p small {
    font-size: 1.2rem;
  }
}

/* ————————————— モディファイア ————————————— */
/* アイコン横並び */
.bl_navBox__row li a {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 1.2rem 1.4rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
  .bl_navBox__row li a {
    padding: 2.8rem 2rem;
    font-size: 1.8rem;
  }
}
.bl_navBox__row li i, .bl_navBox__row li img {
  margin-right: 0.4em;
  font-size: 2.8rem;
}
@media screen and (min-width: 960px) {
  .bl_navBox__row li i, .bl_navBox__row li img {
    font-size: 6rem;
    margin-right: 1.4rem;
  }
}
.bl_navBox__row li p small {
  margin-top: 0.3em;
}

/* アイコン縦並び */
.bl_navBox__column a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2rem 1rem;
  font-size: 1.2rem;
}
@media screen and (min-width: 960px) {
  .bl_navBox__column a {
    padding: 4rem 2rem;
    font-size: 1.8rem;
  }
}
.bl_navBox__column i, .bl_navBox__column img {
  margin-bottom: 1rem;
  font-size: 2.8rem;
}
@media screen and (min-width: 960px) {
  .bl_navBox__column i, .bl_navBox__column img {
    font-size: 8rem;
  }
}

/* ====================================================

　　フォーム

==================================================== */
/*—————————————————————————————————————————————————————
　フォームブロック
—————————————————————————————————————————————————————*/
.bl_form dt {
  margin-top: 4rem;
}
.bl_form dt:first-child {
  margin-top: 0;
}
.bl_form dd {
  margin-top: 1.2rem;
}
.bl_form label {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: bold;
}
@media screen and (min-width: 960px) {
  .bl_form label {
    font-size: 1.5rem;
  }
}
.bl_form label small {
  font-size: 80%;
  font-weight: 500;
  margin-left: 0.5em;
  color: var(--color-txt_l);
}

/* ————————————— モディファイア ————————————— */
/* テーブル風レイアウト */
@media screen and (min-width: 960px) {
  .bl_form.bl_form__table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
@media screen and (min-width: 960px) {
  .bl_form.bl_form__table dt,
  .bl_form.bl_form__table dd {
    margin-top: 2rem;
    padding: 1rem 0;
  }
  .bl_form.bl_form__table dt:first-of-type,
  .bl_form.bl_form__table dd:first-of-type {
    margin-top: 0rem;
  }
}
.bl_form.bl_form__table dt {
  margin-top: 3rem;
  padding: 1em;
  border-radius: 0.4rem;
  background-color: var(--color-table_th_bg);
}
.bl_form.bl_form__table dt:first-of-type {
  margin-top: 0rem;
}
@media screen and (min-width: 960px) {
  .bl_form.bl_form__table dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: var(--width-table_dt);
    margin-top: 2rem;
    padding: 0 0 0 2rem;
  }
}
@media screen and (min-width: 960px) {
  .bl_form.bl_form__table dt label {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 960px) {
  .bl_form.bl_form__table dd {
    width: var(--width-table_dd);
    padding-left: 2rem;
  }
}
@media screen and (min-width: 960px) {
  .bl_form.bl_form__table dd .bl_form_group {
    margin-top: 1rem;
  }
}

/*—————————————————————————————————————————————————————
　フォームのグループ化（ラジオ・チェックボックス）
—————————————————————————————————————————————————————*/
.bl_form_group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.3em 3em;
  margin-top: 1.5rem;
}

/* ————————————— モディファイア ————————————— */
/* レイアウト変更：縦 */
.bl_form_group__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  gap: 0.5em 0 !important;
}

/*　入力フォーム分割時に利用
　　（郵便番号等・電話番号など間に文字が入る場合）
—————————————————————————————————*/
.bl_form_groupInTxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_form_groupInTxt > span {
  display: block;
  padding: 0 0.8em;
  font-size: 1.6rem;
  white-space: nowrap;
  border: 1px solid 1px var(--color-border_l);
}
.bl_form_groupInTxt > span:first-child {
  padding-left: 0;
}

/*—————————————————————————————————————————————————————
　入力欄とラジオ・チェックボックスの高さ調整
—————————————————————————————————————————————————————*/
@media screen and (min-width: 960px) {
  .bl_form_groupTxtHeight {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 4.6rem;
  }
  .bl_form_groupTxtHeight .bl_form_group {
    margin-top: 0;
  }
  .bl_form_groupTxtHeight label {
    margin-bottom: 0;
  }
}

/* ====================================================

　　テーブル

==================================================== */
/*—————————————————————————————————————————————————————
　シンプルテーブル
—————————————————————————————————————————————————————*/
.bl_table {
  width: 100%;
}
.bl_table th,
.bl_table td {
  width: auto;
  padding: 1.3em 1.6rem 1.2em;
  vertical-align: middle;
  font-size: 1.2rem;
  line-height: 1.4;
}
@media screen and (min-width: 960px) {
  .bl_table th,
  .bl_table td {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1200px) {
  .bl_table th,
  .bl_table td {
    font-size: 1.5rem;
  }
}
.bl_table thead tr {
  border-top: 1px solid var(--color-border_l);
}
.bl_table thead th {
  padding: 0.8em 1.6rem 0.8em 1.6rem;
  font-size: 1.1rem;
  line-height: 1.2;
}
@media screen and (min-width: 1200px) {
  .bl_table thead th {
    font-size: 1.3rem;
  }
}
.bl_table tbody tr {
  border-bottom: 1px solid var(--color-border_l);
}
.bl_table tbody tr:first-child {
  border-top: 1px solid var(--color-border_l);
}
.bl_table tbody tr.is_active {
  background-color: var(--color-table_active) !important;
}
.bl_table tbody tr.is_disable {
  cursor: default !important;
  background-color: rgba(var(--color-disable_rgb), 45%) !important;
}
.bl_table thead + tbody tr:first-child {
  border-top: 1px solid var(--color-border_l);
}

/* ————————————— モディファイア ————————————— */
/* データ表示用テーブル */
.bl_table__data {
  width: 100%;
}
.bl_table__data thead tr {
  border-top: none;
  background-color: var(--color-table_thead_bg);
  color: var(--color-table_thead_txt);
}
.bl_table__data thead th {
  font-weight: normal;
}
.bl_table__data th,
.bl_table__data td {
  padding: 1em 0.8rem;
}
@media screen and (min-width: 960px) {
  .bl_table__data th,
  .bl_table__data td {
    padding: 1.3em 1.6rem;
  }
}
.bl_table__data tbody tr {
  background-color: var(--color-table_td_bg1);
}
.bl_table__data thead + tbody tr:first-child {
  border-top: none;
}

/* ミニマルなテーブル */
.bl_table__min th,
.bl_table__min td {
  padding: 0.8em 0.4rem;
}
@media screen and (min-width: 960px) {
  .bl_table__min th,
  .bl_table__min td {
    padding: 0.8em 1.6rem;
  }
}
.bl_table__min tbody th {
  font-weight: normal;
  background-color: var(--color-table_th_bg);
}

/* スマホ時 縦レイアウトに変更 */
@media screen and (max-width: 959px) {
  .bl_table__row thead {
    display: none;
  }
}
@media screen and (max-width: 959px) {
  .bl_table__row tbody td {
    display: block;
    text-align: left;
    width: 100%;
    margin: 0;
    padding: 0.6rem 0;
  }
  .bl_table__row tbody td:first-child {
    padding-top: 2rem;
  }
  .bl_table__row tbody td:last-child {
    padding-bottom: 2rem;
  }
  .bl_table__row tbody td:before {
    display: block;
    content: attr(data-label);
    font-weight: bold;
    padding-bottom: 0.2rem;
  }
}
@media screen and (max-width: 959px) {
  .bl_table__row thead + tbody tr:first-child {
    border-top: 1px solid var(--color-border_l);
  }
}

/* スマホ時 縦レイアウトに変更 tdの項目と本文を横並びにしたい場合 */
@media screen and (max-width: 959px) {
  .bl_table__row__tdColumn {
    padding-top: 0.3rem !important;
    padding-bottom: 0.3rem !important;
  }
  .bl_table__row__tdColumn:before {
    display: inline-block !important;
    content: "" attr(data-label) "：" !important;
    font-weight: normal !important;
    padding-bottom: 0 !important;
  }
}

/* スマホ時 縦レイアウトに変更（tdの左右パディングありver） */
@media screen and (max-width: 959px) {
  .bl_table__row__padding tbody td {
    padding-left: var(--padding-grid-inner_sm);
    padding-right: var(--padding-grid-inner_sm);
  }
}

/* ホバースタイルあり */
.bl_table_style__hover tbody tr:not(.is_active, .is_disable):hover {
  background-color: var(--color-table_hover) !important;
}

/* 罫線あり */
.bl_table_style__border th,
.bl_table_style__border td {
  border: 1px solid var(--color-border_l);
}

/* 罫線なし */
.bl_table_style__noBorder tr {
  border-bottom: none !important;
}
.bl_table_style__noBorder tr:first-child {
  border-top: none !important;
}

/* テーブル最後のtr下罫線なし */
.bl_table_style__lastNoBorder tr:last-child {
  border-bottom: none !important;
}

/* 交互に背景色を変える */
.bl_table_style__stripe tbody tr {
  background-color: var(--color-table_td_bg1);
}
.bl_table_style__stripe tbody tr:nth-child(even) {
  background-color: var(--color-table_td_bg2);
}

/* 均等配置 */
.bl_table_style__layoutFixed {
  table-layout: fixed;
}

/* 【スマホ時】横スクロール
————————————————————————————————*/
@media screen and (max-width: 959px) {
  .bl_table_scrollX {
    overflow-x: scroll;
    width: calc(100% + var(--padding-contents-lr_mdsm));
  }
}
.bl_table_scrollX table {
  width: 100%;
  border-collapse: collapse;
}
@media screen and (max-width: 959px) {
  .bl_table_scrollX table {
    min-width: 1000px;
  }
}

/* アイコン
————————————————————————————————*/
.bl_table_icon {
  font-size: 2rem;
  line-height: 1.2;
  vertical-align: middle;
  margin: 0 0.4em 0 0;
  -webkit-transform: rotate(0.05deg);
          transform: rotate(0.05deg);
}

/* ————————————— モディファイア ————————————— */
/* スマホ時 アイコンと文字を改行する */
@media screen and (max-width: 959px) {
  .bl_table_icon_sm__row {
    margin: 0 !important;
    display: block;
  }
}

/* ====================================================

　　特定ページ利用

==================================================== */
/*—————————————————————————————————————————————————————
　ログイン
—————————————————————————————————————————————————————*/
.bl_login_inner {
  max-width: 60rem;
  padding: 5rem 3rem;
  background-color: var(--color-content-bg);
  -webkit-box-shadow: 0px 1px 2px var(--color-content-shadow);
          box-shadow: 0px 1px 2px var(--color-content-shadow);
}
@media screen and (min-width: 960px) {
  .bl_login_inner {
    width: 60rem;
    padding: 5rem;
  }
}

/* ログインフォームの微調整 */
.bl_login_form dt {
  margin-top: 3rem;
}

/* ログインフォームのロゴ */
.bl_login_logo {
  min-width: 20rem;
  max-width: 34rem;
  width: 70%;
}
@media screen and (min-width: 960px) {
  .bl_login_logo {
    max-width: 34rem;
  }
}

/*—————————————————————————————————————————————————————
　HTMLのステータスコードエラー
—————————————————————————————————————————————————————*/
.bl_htmlStatusError {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: var(--padding-contents-lr_mdsm);
  padding-right: var(--padding-contents-lr_mdsm);
  height: calc(100vh - var(--height-header_mdsm));
}
@media screen and (min-width: 1200px) {
  .bl_htmlStatusError {
    height: calc(100vh - var(--height-header_lg));
  }
}

/* 英語タイトル */
.bl_htmlStatusError_ttlEng {
  font-size: 2.8rem;
  text-align: center;
  font-weight: bold;
  color: rgba(var(--color-txt_rgb), 30%);
}
@media screen and (min-width: 960px) {
  .bl_htmlStatusError_ttlEng {
    font-size: 8rem;
  }
}
.bl_htmlStatusError_ttlEng i {
  display: block;
  margin-bottom: 0.2em;
  font-size: 8rem;
  color: var(--color-danger);
}
@media screen and (min-width: 960px) {
  .bl_htmlStatusError_ttlEng i {
    font-size: 10rem;
    margin-bottom: 0.1em;
  }
}

/* 日本語タイトル */
.bl_htmlStatusError_ttl {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 1.8rem;
}
@media screen and (min-width: 960px) {
  .bl_htmlStatusError_ttl {
    font-size: 2.4rem;
  }
}

/*—————————————————————————————————————————————————————
　完了ページ用
—————————————————————————————————————————————————————*/
.bl_status {
  text-align: center;
}

/* アイコン表示エリア */
.bl_status_head {
  padding: 4rem 0;
  background-color: rgba(var(--color-primary_rgb), 8%);
  color: var(--color-primary);
}
.bl_status_head i {
  margin-bottom: 2rem;
  font-size: 6rem;
}
@media screen and (min-width: 960px) {
  .bl_status_head i {
    font-size: 10rem;
  }
}

/* タイトル */
.bl_status_head_ttl {
  font-weight: bold;
}

/* ————————————— モディファイア ————————————— */
/* 完了 */
.bl_status__complete .bl_status_head {
  background-color: rgba(var(--color-success_rgb), 10%) !important;
  color: var(--color-success) !important;
}

/* エラー */
.bl_status__error .bl_status_head {
  background-color: rgba(var(--color-danger_rgb), 10%) !important;
  color: var(--color-danger) !important;
}

/* ====================================================

　　ヘッダ

==================================================== */
/*—————————————————————————————————————————————————————
　ロゴ
—————————————————————————————————————————————————————*/
.bl_headerLogo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: auto;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  color: var(--color-key);
}
@media screen and (min-width: 960px) {
  .bl_headerLogo {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1200px) {
  .bl_headerLogo {
    font-size: 2rem;
  }
}
.bl_headerLogo img {
  max-width: 14rem;
  max-height: 4rem;
}
@media screen and (min-width: 960px) {
  .bl_headerLogo img {
    max-width: 26rem;
    max-height: 4.6rem;
  }
}
/*—————————————————————————————————————————————————————
　ナビゲーション
—————————————————————————————————————————————————————*/
/*　wrapper
————————————————————————————————*/
.bl_headerNav_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_headerNav_wrap > * {
  margin-left: 1.6rem;
}
@media screen and (min-width: 960px) {
  .bl_headerNav_wrap > * {
    margin-left: 2.4rem;
  }
}
@media screen and (min-width: 1200px) {
  .bl_headerNav_wrap > * {
    margin-left: 4rem;
  }
}

/* 左側配置 */
.bl_headerNav_wrap__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_headerNav_wrap__left > * {
  margin-right: 1.4rem;
  margin-left: 0;
}
@media screen and (min-width: 960px) {
  .bl_headerNav_wrap__left > * {
    margin-right: 2.4rem;
    margin-left: 0;
  }
}
@media screen and (min-width: 1200px) {
  .bl_headerNav_wrap__left > * {
    margin-right: 4rem;
    margin-left: 0;
  }
}

/*　ナビゲーション
————————————————————————————————*/
.bl_headerNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_headerNav > li:nth-child(n+2) {
  margin-left: 1.6rem;
}
@media screen and (min-width: 960px) {
  .bl_headerNav > li:nth-child(n+2) {
    margin-left: 3rem;
  }
}
.bl_headerNav a {
  font-size: 1.1rem;
  line-height: 1.2;
  color: var(--color-header_txt);
}
.bl_headerNav a strong {
  font-weight: bold;
}
.bl_headerNav a > i {
  font-size: 2.8rem;
  line-height: 1.1;
}
@media screen and (min-width: 1200px) {
  .bl_headerNav a > i {
    font-size: 3.2rem;
  }
}
.bl_headerNav.is_active a {
  color: var(--color-link) !important;
}
.bl_headerNav.is_active a > i {
  color: var(--color-link) !important;
}

/* ————————————— モディファイア ————————————— */
/* テキストナビ */
.bl_headerNav.bl_headerNav__txt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bl_headerNav.bl_headerNav__txt a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 960px) {
  .bl_headerNav.bl_headerNav__txt a {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 1200px) {
  .bl_headerNav.bl_headerNav__txt a {
    font-size: 1.5rem;
  }
}
.bl_headerNav.bl_headerNav__txt a > i {
  margin-right: 0.8rem;
  color: var(--color-body_icon);
}

/* アイコン大ナビ */
.bl_headerNav.bl_headerNav__icon a {
  display: block;
  font-size: 1.1rem;
  text-align: center;
}
.bl_headerNav.bl_headerNav__icon a > i {
  display: block;
}

/* ドロップダウン展開メニュー */
.bl_headerNav__dropDown {
  position: relative;
}
.bl_headerNav__dropDown > a {
  position: relative;
  cursor: pointer;
}
.bl_headerNav__dropDown > a:after {
  content: "\e5cf";
  display: block;
  margin-left: 0.4rem;
  color: var(--color-body_icon);
  font-size: 2.4rem;
  line-height: 1;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 1200px) {
  .bl_headerNav__dropDown > a:after {
    font-size: 2.8rem;
  }
}
.bl_headerNav__dropDown > a.is_active:after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  color: var(--color-link) !important;
}
.bl_headerNav__dropDown > a:hover {
  color: var(--color-header_txt) !important;
}
.bl_headerNav__dropDown > a:hover:after {
  color: var(--color-link) !important;
}
.bl_headerNav__dropDown.bl_headerNav_txtNone__sm > a:after {
  margin-left: 0rem;
}
@media screen and (min-width: 960px) {
  .bl_headerNav__dropDown.bl_headerNav_txtNone__sm > a:after {
    margin-left: 0.4rem;
  }
}
.bl_headerNav__dropDown.bl_headerNav_txtNone__sm > a > i {
  margin-right: 0rem;
}
@media screen and (min-width: 960px) {
  .bl_headerNav__dropDown.bl_headerNav_txtNone__sm > a > i {
    margin-right: 0.8rem;
  }
}
.bl_headerNav__dropDown > ul {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  position: absolute;
  top: 6rem;
  right: 0;
  width: 25rem;
  background: var(--color-body_dropdown_bg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 960px) {
  .bl_headerNav__dropDown > ul {
    width: 30rem;
  }
}
@media screen and (min-width: 1200px) {
  .bl_headerNav__dropDown > ul {
    top: 7rem;
  }
}
.bl_headerNav__dropDown > ul.is_show {
  visibility: visible;
  opacity: 1;
  top: 5rem;
}
@media screen and (min-width: 1200px) {
  .bl_headerNav__dropDown > ul.is_show {
    top: 5.8rem;
  }
}
.bl_headerNav__dropDown > ul li a {
  display: block;
  padding: 1.4rem 1.6rem;
  font-size: 1.3rem;
  line-height: 1.2;
  color: #FFF !important;
}
.bl_headerNav__dropDown > ul li a:hover {
  background-color: var(--color-body_dropdown_hover);
}
@media screen and (min-width: 1200px) {
  .bl_headerNav__dropDown > ul li a {
    padding: 1.8rem 2rem;
    font-size: 1.4rem;
  }
}
.bl_headerNav__dropDown > ul li i {
  font-size: 1.5rem !important;
  vertical-align: middle;
}
@media screen and (min-width: 1200px) {
  .bl_headerNav__dropDown > ul li i {
    font-size: 2rem !important;
  }
}
.bl_headerNav__dropDown > ul > ul li {
  color: #FFF;
}
.bl_headerNav__dropDown > ul > ul li a {
  padding: 1.4rem 2rem;
}
@media screen and (min-width: 1200px) {
  .bl_headerNav__dropDown > ul > ul li a {
    padding: 1.4rem 3rem;
  }
}

.bl_headerNav__dropDown_secTtl {
  padding: 2rem 2rem 1rem;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.7);
}

.bl_headerNav__dropDown_line {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/*　通知バッジ
————————————————————————————————*/
.bl_headerNav_badge {
  position: relative;
}
.bl_headerNav_badge:before {
  content: attr(data-badge);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  right: -0.2rem;
  min-width: 1.4rem;
  height: 1.4rem;
  padding: 0.3rem;
  font-size: 1rem;
  line-height: 1;
  border-radius: 1rem;
  color: #FFF;
  background-color: var(--color_red);
}
@media screen and (min-width: 960px) {
  .bl_headerNav_badge:before {
    right: -0.4rem;
  }
}
@media screen and (min-width: 1200px) {
  .bl_headerNav_badge:before {
    min-width: 1.6rem;
    height: 1.6rem;
  }
}

/* ====================================================

　　サイド

==================================================== */
/*—————————————————————————————————————————————————————
　サイドナビゲーション（親・子・孫階層まで）
—————————————————————————————————————————————————————*/
/* 全階層共通 */
.bl_sideNavi li {
  margin: 0rem 1.4rem;
}
@media screen and (min-width: 1200px) {
  .bl_sideNavi li {
    margin: 0.4rem 1.4rem;
  }
}
.bl_sideNavi li a, .bl_sideNavi li summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 5rem;
  padding: 0.6rem 0rem 0.2rem;
  font-size: 1.4rem;
  line-height: 1.2;
  cursor: pointer;
  -webkit-transition: padding 0.2s ease;
  transition: padding 0.2s ease;
}
@media screen and (min-width: 1200px) {
  .bl_sideNavi li a, .bl_sideNavi li summary {
    min-height: 6rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-size: 1.6rem;
  }
}
.bl_sideNavi li a:hover, .bl_sideNavi li summary:hover {
  border-radius: 0.8rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  background-color: var(--color-side_hover);
}
@media screen and (min-width: 1200px) {
  .bl_sideNavi li a:hover, .bl_sideNavi li summary:hover {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
}
.bl_sideNavi li i {
  margin-right: 1.2rem;
  margin-bottom: 0.2em;
  vertical-align: middle;
  font-size: 1.8rem;
  line-height: 1;
  color: var(--color-side_icon);
}
@media screen and (min-width: 1200px) {
  .bl_sideNavi li i {
    margin-bottom: 0.1em;
    font-size: 2.4rem;
  }
}

/*　アコーディオン：全階層共通
————————————————————————————————*/
.bl_sideNavi summary {
  position: relative;
  list-style: none;
  cursor: pointer;
}
.bl_sideNavi summary:before {
  content: "\e5cc";
  position: absolute;
  right: 0rem;
  top: calc(50% - 14px);
  font-size: 2.4rem;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.bl_sideNavi summary::-webkit-details-marker {
  display: none !important;
}
.bl_sideNavi details[open] {
  width: calc(100% + 1.4rem + 1.4rem);
  margin-left: -1.4rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  background-color: var(--color-side_open_bg);
}
.bl_sideNavi details[open] > summary:before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.bl_sideNavi details[open] > summary:hover {
  background-color: inherit;
}

/* 子階層 */
.bl_sideNavi_child > li a, .bl_sideNavi_child > li summary {
  min-height: 4rem !important;
  padding-left: 1.8rem !important;
}
.bl_sideNavi_child > li a:hover, .bl_sideNavi_child > li summary:hover {
  background-color: inherit;
}

/* 孫階層 */
.bl_sideNavi_grandchild > li > a, .bl_sideNavi_grandchild > li summary {
  min-height: 4rem !important;
  padding-left: 1.8rem !important;
}
.bl_sideNavi_grandchild > li > a:hover, .bl_sideNavi_grandchild > li summary:hover {
  background-color: inherit;
}

/* ————————————————— 状態 ————————————————— */
/* 選択中：全階層共通 */
.bl_sideNavi .is_active {
  pointer-events: none;
  padding: 0 1.4rem;
  border-radius: 0.8rem;
  color: var(--color-side_active_txt);
  background-color: var(--color-side_active);
}

/*　セクションタイトル
————————————————————————————————*/
.bl_sideNavi_secTtl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 2rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  min-height: 3rem;
  font-size: 1.2rem;
}

/* ====================================================

　　フッタ

==================================================== */
/*—————————————————————————————————————————————————————
　フッタのコピーライト
—————————————————————————————————————————————————————*/
.bl_footer_copy {
  font-size: 1rem;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  line-height: 1.2;
  text-align: center;
  color: var(--color-txt_l);
}
@media screen and (min-width: 1200px) {
  .bl_footer_copy {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

/* ====================================================

　　サイド

==================================================== */
.uq_sideLevel {
  margin: 1rem 1.4rem 3rem 1.4rem;
  padding: 1.6rem;
  border-radius: 0.4rem;
  background-color: #FFFFFF;
  font-size: 1rem;
  color: var(--color-txt_l);
  line-height: 1;
}
@media screen and (min-width: 1200px) {
  .uq_sideLevel {
    padding: 2rem;
    font-size: 1.2rem;
  }
}
.uq_sideLevel i {
  display: inline-block;
  margin-right: 0.2em;
  font-size: 1.5rem;
  vertical-align: middle;
}
@media screen and (min-width: 1200px) {
  .uq_sideLevel i {
    font-size: 1.8rem;
  }
}
.uq_sideLevel strong {
  display: block;
  margin-top: 0.5em;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--color-key);
}
@media screen and (min-width: 1200px) {
  .uq_sideLevel strong {
    font-size: 2rem;
  }
}

/*=================================================================================

　ヘルパー	接頭辞：hp_*

=================================================================================*/
/*—————————————————————————————————————————————————————
　上余白
—————————————————————————————————————————————————————*/
.hp_marginTop {
  display: block;
}
.hp_marginTop__xl {
  margin-top: 8rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginTop__xl {
    margin-top: 12rem !important;
  }
}
.hp_marginTop__l {
  margin-top: 4rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginTop__l {
    margin-top: 6.4rem !important;
  }
}
.hp_marginTop__m {
  margin-top: 2.8rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginTop__m {
    margin-top: 4.8rem !important;
  }
}
.hp_marginTop__s {
  margin-top: 1.6rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginTop__s {
    margin-top: 2.8rem !important;
  }
}
.hp_marginTop__xs {
  margin-top: 0.8rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginTop__xs {
    margin-top: 1.6rem !important;
  }
}
.hp_marginTop__xxs {
  margin-top: 0.4rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginTop__xxs {
    margin-top: 0.8rem !important;
  }
}
.hp_marginTop__none {
  margin-top: 0 !important;
}

/* スマホ用 */
@media screen and (max-width: 959px) {
  .hp_marginTop_sm {
    display: block;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginTop_sm__xl {
    margin-top: 8rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginTop_sm__l {
    margin-top: 4rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginTop_sm__m {
    margin-top: 2.8rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginTop_sm__s {
    margin-top: 1.6rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginTop_sm__xs {
    margin-top: 0.8rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginTop_sm__xxs {
    margin-top: 0.4rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginTop_sm__none {
    margin-top: 0 !important;
  }
}

/*—————————————————————————————————————————————————————
　右余白
—————————————————————————————————————————————————————*/
.hp_marginRight {
  display: block;
}
.hp_marginRight__l {
  margin-right: 1.8rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginRight__l {
    margin-right: 2.4rem !important;
  }
}
.hp_marginRight__m {
  margin-right: 0.9rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginRight__m {
    margin-right: 1.8rem !important;
  }
}
.hp_marginRight__s {
  margin-right: 0.7rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginRight__s {
    margin-right: 1.4rem !important;
  }
}
.hp_marginRight__none {
  margin-right: 0 !important;
}

/* スマホ用 */
@media screen and (max-width: 959px) {
  .hp_marginRight_sm {
    display: block;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginRight_sm__l {
    margin-right: 1.8rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginRight_sm__m {
    margin-right: 0.9rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginRight_sm__s {
    margin-right: 0.7rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginRight_sm__none {
    margin-right: 0 !important;
  }
}

/* auto */
.hp_marginRight_auto {
  margin-right: auto;
}
@media screen and (min-width: 960px) {
  .hp_marginRight_auto__lgmd {
    margin-right: auto !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_marginRight_auto__lgmd {
    margin-right: auto !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginRight_auto__sm {
    margin-right: auto !important;
  }
}

/*—————————————————————————————————————————————————————
　左余白
—————————————————————————————————————————————————————*/
.hp_marginLeft__l {
  margin-left: 1.8rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginLeft__l {
    margin-left: 2.4rem !important;
  }
}
.hp_marginLeft__m {
  margin-left: 0.9rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginLeft__m {
    margin-left: 1.8rem !important;
  }
}
.hp_marginLeft__s {
  margin-left: 0.7rem !important;
}
@media screen and (min-width: 960px) {
  .hp_marginLeft__s {
    margin-left: 1.4rem !important;
  }
}
.hp_marginLeft__none {
  margin-left: 0 !important;
}

/* スマホ用 */
@media screen and (max-width: 959px) {
  .hp_marginLeft_sm {
    display: block;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginLeft_sm__l {
    margin-left: 1.8rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginLeft_sm__m {
    margin-left: 0.9rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginLeft_sm__s {
    margin-left: 0.7rem !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginLeft_sm__none {
    margin-left: 0 !important;
  }
}

/* auto */
.hp_marginLeft_auto {
  margin-left: auto;
}
@media screen and (min-width: 960px) {
  .hp_marginLeft_auto__lgmd {
    margin-left: auto !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_marginLeft_auto__lgmd {
    margin-left: auto !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_marginLeft_auto__sm {
    margin-left: auto !important;
  }
}

/*—————————————————————————————————————————————————————
　デバイス別 表示・非表示
—————————————————————————————————————————————————————*/
.hp_hide {
  display: none !important;
}
@media screen and (max-width: 959px) {
  .hp_hide__lg {
    display: block !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_hide__lg {
    display: block !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_hide__lg {
    display: none !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_hide__lgmd {
    display: block !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_hide__lgmd {
    display: none !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_hide__lgmd {
    display: none !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_hide__md {
    display: block !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_hide__md {
    display: none !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_hide__md {
    display: block !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_hide__mdsm {
    display: none !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_hide__mdsm {
    display: none !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_hide__mdsm {
    display: block !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_hide__sm {
    display: none !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_hide__sm {
    display: block !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_hide__sm {
    display: block !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_show__md {
    display: none !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_show__md {
    display: block !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_show__md {
    display: none !important;
  }
}

/*—————————————————————————————————————————————————————
　行揃え
—————————————————————————————————————————————————————*/
/* 中央揃え */
.hp_textAlign_center {
  text-align: center !important;
}
@media screen and (max-width: 959px) {
  .hp_textAlign_center__lgmd {
    text-align: left !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_textAlign_center__lgmd {
    text-align: center !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_textAlign_center__lgmd {
    text-align: center !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_textAlign_center__sm {
    text-align: center !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_textAlign_center__sm {
    text-align: left !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_textAlign_center__sm {
    text-align: left !important;
  }
}

/* 右揃え */
.hp_textAlign_right {
  text-align: right !important;
}
@media screen and (max-width: 959px) {
  .hp_textAlign_right__lgmd {
    text-align: left !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_textAlign_right__lgmd {
    text-align: right !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_textAlign_right__lgmd {
    text-align: right !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_textAlign_right__sm {
    text-align: right !important;
  }
}
@media screen and (min-width: 960px) {
  .hp_textAlign_right__sm {
    text-align: left !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_textAlign_right__sm {
    text-align: left !important;
  }
}

/* 左揃え */
.hp_textAlign_left {
  text-align: left !important;
}
@media screen and (min-width: 960px) {
  .hp_textAlign_left__lgmd {
    text-align: left !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_textAlign_left__lgmd {
    text-align: left !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_textAlign_left__sm {
    text-align: left !important;
  }
}

/*—————————————————————————————————————————————————————
　折り返し
—————————————————————————————————————————————————————*/
.hp_whiteSpace_normal {
  white-space: normal !important;
}
@media screen and (min-width: 960px) {
  .hp_whiteSpace_normal__lgmd {
    white-space: normal !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_whiteSpace_normal__lgmd {
    white-space: normal !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_whiteSpace_normal__sm {
    white-space: normal !important;
  }
}

.hp_whiteSpace_nowrap {
  white-space: nowrap !important;
}
@media screen and (min-width: 960px) {
  .hp_whiteSpace_nowrap__lgmd {
    white-space: nowrap !important;
  }
}
@media screen and (min-width: 1200px) {
  .hp_whiteSpace_nowrap__lgmd {
    white-space: nowrap !important;
  }
}
@media screen and (max-width: 959px) {
  .hp_whiteSpace_nowrap__sm {
    white-space: nowrap !important;
  }
}

/*—————————————————————————————————————————————————————
　カラー
—————————————————————————————————————————————————————*/
.hp_color__primary {
  color: var(--color-primary) !important;
}

.hp_color__secondary {
  color: var(--color-secondary) !important;
}

.hp_color__success {
  color: var(--color-success) !important;
}

.hp_color__info {
  color: var(--color-info) !important;
}

.hp_color__danger {
  color: var(--color-danger) !important;
}

.hp_color__warning {
  color: var(--color-warning) !important;
}

.hp_color__disable {
  color: var(--color-disable) !important;
}

.hp_color__txt {
  color: var(--color-txt) !important;
}

.hp_color__txt_l {
  color: var(--color-txt_l) !important;
}

.hp_color__link {
  color: var(--color-link) !important;
}

.hp_color__black {
  color: var(--color_black) !important;
}

.hp_color__white {
  color: var(--color_white) !important;
}

.hp_color__darkgray {
  color: var(--color_darkgray) !important;
}

.hp_color__gray {
  color: var(--color_gray) !important;
}

.hp_color__red {
  color: var(--color_red) !important;
}

.hp_color__blue {
  color: var(--color_blue) !important;
}

/*—————————————————————————————————————————————————————
　横幅
—————————————————————————————————————————————————————*/
.hp_width__100 {
  width: 100% !important;
}

.hp_width__95 {
  width: 95% !important;
}

.hp_width__90 {
  width: 90% !important;
}

.hp_width__85 {
  width: 85% !important;
}

.hp_width__80 {
  width: 80% !important;
}

.hp_width__75 {
  width: 75% !important;
}

.hp_width__70 {
  width: 70% !important;
}

.hp_width__65 {
  width: 65% !important;
}

.hp_width__60 {
  width: 60% !important;
}

.hp_width__55 {
  width: 55% !important;
}

.hp_width__50 {
  width: 50% !important;
}

.hp_width__45 {
  width: 45% !important;
}

.hp_width__40 {
  width: 40% !important;
}

.hp_width__35 {
  width: 35% !important;
}

.hp_width__30 {
  width: 30% !important;
}

.hp_width__25 {
  width: 25% !important;
}

.hp_width__20 {
  width: 20% !important;
}

.hp_width__15 {
  width: 15% !important;
}

.hp_width__10 {
  width: 10% !important;
}

.hp_width__auto {
  width: auto !important;
}

@media screen and (max-width: 959px) {
  .hp_width_sm__100 {
    width: 100% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__95 {
    width: 95% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__90 {
    width: 90% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__85 {
    width: 85% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__80 {
    width: 80% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__75 {
    width: 75% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__70 {
    width: 70% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__65 {
    width: 65% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__60 {
    width: 60% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__55 {
    width: 55% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__50 {
    width: 50% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__45 {
    width: 45% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__40 {
    width: 40% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__35 {
    width: 35% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__30 {
    width: 30% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__25 {
    width: 25% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__20 {
    width: 20% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__15 {
    width: 15% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__10 {
    width: 10% !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_width_sm__auto {
    width: auto !important;
  }
}

/*—————————————————————————————————————————————————————
　フォントサイズ
—————————————————————————————————————————————————————*/
/* 全幅 */
.hp_fontSize__7 {
  font-size: 1rem !important;
  -webkit-transform: scale(0.7) !important;
          transform: scale(0.7) !important;
}

.hp_fontSize__8 {
  font-size: 1rem !important;
  -webkit-transform: scale(0.8) !important;
          transform: scale(0.8) !important;
}

.hp_fontSize__9 {
  font-size: 1rem !important;
  -webkit-transform: scale(0.9) !important;
          transform: scale(0.9) !important;
}

.hp_fontSize__10 {
  font-size: 1rem !important;
}

.hp_fontSize__11 {
  font-size: 1.1rem !important;
}

.hp_fontSize__12 {
  font-size: 1.2rem !important;
}

.hp_fontSize__13 {
  font-size: 1.3rem !important;
}

.hp_fontSize__14 {
  font-size: 1.4rem !important;
}

.hp_fontSize__15 {
  font-size: 1.5rem !important;
}

.hp_fontSize__16 {
  font-size: 1.6rem !important;
}

.hp_fontSize__17 {
  font-size: 1.7rem !important;
}

.hp_fontSize__18 {
  font-size: 1.8rem !important;
}

.hp_fontSize__19 {
  font-size: 1.9rem !important;
}

.hp_fontSize__20 {
  font-size: 2rem !important;
}

.hp_fontSize__21 {
  font-size: 2.1rem !important;
}

.hp_fontSize__22 {
  font-size: 2.2rem !important;
}

.hp_fontSize__23 {
  font-size: 2.3rem !important;
}

.hp_fontSize__24 {
  font-size: 2.4rem !important;
}

.hp_fontSize__25 {
  font-size: 2.5rem !important;
}

.hp_fontSize__26 {
  font-size: 2.6rem !important;
}

.hp_fontSize__27 {
  font-size: 2.7rem !important;
}

.hp_fontSize__28 {
  font-size: 2.8rem !important;
}

.hp_fontSize__29 {
  font-size: 2.9rem !important;
}

.hp_fontSize__30 {
  font-size: 3rem !important;
}

.hp_fontSize__31 {
  font-size: 3.1rem !important;
}

.hp_fontSize__32 {
  font-size: 3.2rem !important;
}

.hp_fontSize__33 {
  font-size: 3.3rem !important;
}

.hp_fontSize__34 {
  font-size: 3.4rem !important;
}

.hp_fontSize__35 {
  font-size: 3.5rem !important;
}

.hp_fontSize__36 {
  font-size: 3.6rem !important;
}

.hp_fontSize__37 {
  font-size: 3.7rem !important;
}

.hp_fontSize__38 {
  font-size: 3.8rem !important;
}

.hp_fontSize__39 {
  font-size: 3.9rem !important;
}

.hp_fontSize__40 {
  font-size: 4rem !important;
}

.hp_fontSize__41 {
  font-size: 4.1rem !important;
}

.hp_fontSize__42 {
  font-size: 4.2rem !important;
}

.hp_fontSize__43 {
  font-size: 4.3rem !important;
}

.hp_fontSize__44 {
  font-size: 4.4rem !important;
}

.hp_fontSize__45 {
  font-size: 4.5rem !important;
}

.hp_fontSize__46 {
  font-size: 4.6rem !important;
}

.hp_fontSize__47 {
  font-size: 4.7rem !important;
}

.hp_fontSize__48 {
  font-size: 4.8rem !important;
}

.hp_fontSize__49 {
  font-size: 4.9rem !important;
}

.hp_fontSize__50 {
  font-size: 5rem !important;
}

.hp_fontSize__51 {
  font-size: 5.1rem !important;
}

.hp_fontSize__52 {
  font-size: 5.2rem !important;
}

.hp_fontSize__53 {
  font-size: 5.3rem !important;
}

.hp_fontSize__54 {
  font-size: 5.4rem !important;
}

.hp_fontSize__55 {
  font-size: 5.5rem !important;
}

.hp_fontSize__56 {
  font-size: 5.6rem !important;
}

.hp_fontSize__57 {
  font-size: 5.7rem !important;
}

.hp_fontSize__58 {
  font-size: 5.8rem !important;
}

.hp_fontSize__59 {
  font-size: 5.9rem !important;
}

.hp_fontSize__60 {
  font-size: 6rem !important;
}

.hp_fontSize__61 {
  font-size: 6.1rem !important;
}

.hp_fontSize__62 {
  font-size: 6.2rem !important;
}

.hp_fontSize__63 {
  font-size: 6.3rem !important;
}

.hp_fontSize__64 {
  font-size: 6.4rem !important;
}

.hp_fontSize__65 {
  font-size: 6.5rem !important;
}

.hp_fontSize__66 {
  font-size: 6.6rem !important;
}

.hp_fontSize__67 {
  font-size: 6.7rem !important;
}

.hp_fontSize__68 {
  font-size: 6.8rem !important;
}

.hp_fontSize__69 {
  font-size: 6.9rem !important;
}

.hp_fontSize__70 {
  font-size: 7rem !important;
}

.hp_fontSize__71 {
  font-size: 7.1rem !important;
}

.hp_fontSize__72 {
  font-size: 7.2rem !important;
}

.hp_fontSize__73 {
  font-size: 7.3rem !important;
}

.hp_fontSize__74 {
  font-size: 7.4rem !important;
}

.hp_fontSize__75 {
  font-size: 7.5rem !important;
}

.hp_fontSize__76 {
  font-size: 7.6rem !important;
}

.hp_fontSize__77 {
  font-size: 7.7rem !important;
}

.hp_fontSize__78 {
  font-size: 7.8rem !important;
}

.hp_fontSize__79 {
  font-size: 7.9rem !important;
}

.hp_fontSize__80 {
  font-size: 8rem !important;
}

/* スマホ用 */
@media screen and (max-width: 959px) {
  .hp_fontSize_sm__6 {
    font-size: 1rem !important;
    -webkit-transform: scale(0.6) !important;
            transform: scale(0.6) !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__7 {
    font-size: 1rem !important;
    -webkit-transform: scale(0.7) !important;
            transform: scale(0.7) !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__8 {
    font-size: 1rem !important;
    -webkit-transform: scale(0.8) !important;
            transform: scale(0.8) !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__9 {
    font-size: 1rem !important;
    -webkit-transform: scale(0.9) !important;
            transform: scale(0.9) !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__10 {
    font-size: 1rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__11 {
    font-size: 1.1rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__12 {
    font-size: 1.2rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__13 {
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__14 {
    font-size: 1.4rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__15 {
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__16 {
    font-size: 1.6rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__17 {
    font-size: 1.7rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__18 {
    font-size: 1.8rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__19 {
    font-size: 1.9rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__20 {
    font-size: 2rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__21 {
    font-size: 2.1rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__22 {
    font-size: 2.2rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__23 {
    font-size: 2.3rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__24 {
    font-size: 2.4rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__25 {
    font-size: 2.5rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__26 {
    font-size: 2.6rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__27 {
    font-size: 2.7rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__28 {
    font-size: 2.8rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__29 {
    font-size: 2.9rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__30 {
    font-size: 3rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__31 {
    font-size: 3.1rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__32 {
    font-size: 3.2rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__33 {
    font-size: 3.3rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__34 {
    font-size: 3.4rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__35 {
    font-size: 3.5rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__36 {
    font-size: 3.6rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__37 {
    font-size: 3.7rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__38 {
    font-size: 3.8rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__39 {
    font-size: 3.9rem !important;
  }
}

@media screen and (max-width: 959px) {
  .hp_fontSize_sm__40 {
    font-size: 4rem !important;
  }
}

/*—————————————————————————————————————————————————————
　フォントのウェイト
—————————————————————————————————————————————————————*/
.hp_fontWeight__bold {
  font-weight: 500 !important;
}

.hp_fontWeight__normal {
  font-weight: normal !important;
}

/*=================================================================================

　プログラム	接頭辞：js_* など

=================================================================================*/
/*—————————————————————————————————————————————————————
　オーバーレイ背景（モーダルやドロワーに利用） bodyに指定
—————————————————————————————————————————————————————*/
.js_overlay {
  display: block;
  position: fixed;
  z-index: 20;
  cursor: pointer;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-color: var(--color-overlay-bg);
  visibility: hidden;
}

/*—————————————————————————————————————————————————————
　サイドナビゲーション展開時
—————————————————————————————————————————————————————*/
.js_sideNav {
  pointer-events: none;
  position: fixed;
  top: 0;
  left: calc(-1 * var(--width-side));
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (min-width: 1200px) {
  .js_sideNav {
    position: relative;
    pointer-events: all;
    left: 0;
  }
}

.js_sideNav_btnClose {
  display: block;
  padding-left: var(--padding-contents-lr_mdsm);
}

.is_sideNav_open {
  height: 100%;
  overflow: hidden;
}
.is_sideNav_open .js_overlay {
  opacity: 1;
  visibility: visible;
}
.is_sideNav_open .ly_cont_side {
  pointer-events: all;
  z-index: 21;
  left: 0;
  overflow-y: scroll;
}

/*-————————————————————————————————————————————————————
　モーダルウィンドウ（Micromodal.js）
　接頭辞　md_
-————————————————————————————————————————————————————*/
.md_overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: var(--color-overlay-bg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.md_wrapper {
  position: relative;
  z-index: 1001;
  overflow-y: auto;
  max-width: var(--width-modal_max);
  max-height: 90vh;
  margin: var(--padding-contents-lr_mdsm);
  padding: 3rem;
  border-radius: 0.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: var(--color-modal-bg);
}
@media screen and (min-width: 960px) {
  .md_wrapper {
    width: var(--width-modal_max);
    margin: var(--padding-contents-lr_lg);
    padding: 4rem 3rem;
  }
}

.md_close {
  right: 1rem;
  top: 1rem;
  position: absolute;
}
.md_close:before {
  font-size: 2.6rem;
  color: var(--color-txt_l);
  content: "\e5cd";
}

/* アニメーション */
@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
@keyframes mmslideOut {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .md_overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .md_wrapper {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .md_overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .md_wrapper {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}
