@charset "utf-8";


/* CSS Document */
/*===============================

    common

================================*/
body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  color: #333;
  font: 400 15px "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
  background: #fff;

  @media screen and (max-width: 810px) { margin: auto; }
}

.l_mainWrap {
display: flex;
justify-content: space-between;
margin: 30px auto 0;
width: 1220px;

  /* 逆配置 */
  &.__reverse {
    .l_main { order: 2; }
    .l_side { order: 1; }
  }

  /* 検索結果表示 */
  #resultSearch {
    &[v-cloak] { display: none; }
    display: none;
    &:not([v-cloak]):has(.resultSearch__body) {
      display: block;
      width: 100%;
    }
  }
}

.l_main {
  --main-WrapWidth: 970px;
  width: var(--main-WrapWidth);
}

.l_side {
  width: 200px;
}

.mr-search__inner { margin-top: 0; }

.l_contentsWrapper {}

/* 幅980px */
.l_mainWrap.__narrow {
  width: 980px;

  .l_main {
    --main-WrapWidth: 730px;
    width: var(--main-WrapWidth);
  }
}

/* 3カラム */
.main {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
.main__leftnavi {
  float: none;
  /*margin-top: 0 !important;*/
}
.main__left {
  padding: 0;
  --main-WrapWidth: 750px;
  width: var(--main-WrapWidth);
}
.main__right { float: none; }

/* 検索結果表示 */
#resultSearch {
  display: none;
  &:has(.resultSearch__body) {
    display: block;
    width: 750px;
  }
}

/* buttonスタイル初期化 */
:where(button) {
  padding: 0;
  background-color: transparent;
  border: none;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

/* 画像 */
:is(.l_contentsHeader, .l_contentsBody) :where(img) {
  height: auto;
  max-width: 100%;
}


@media screen and (max-width: 810px) {
  :is(.l_mainWrap, .main) {
    margin: auto;
    width: 95%;
  }
  :is(.l_main, .main__left) {
    --main-WrapWidth: 810px;
    width: 100%;
  }
  /* 幅狭版（２カラムのみ） */
  .l_mainWrap.__narrow {
    margin: auto;
    width: 95%;

    .l_main {
      --main-WrapWidth: 810px;
      width: 100%;
    }
  }

  :is(.l_side, .main__leftnavi, .main__right) { display: none; }
}
@media screen and (max-width: 599px) {
}



/*
    レイアウト
================================*/
.l_contentsWrapper {}

.l_contentsHeader {
  container: mainHeaderWrap / inline-size;
  margin-bottom: 30px;
}

.l_contentsBody {
  container: mainWrap / inline-size;
  > * + * { margin-top: 50px; }
}

.l_section {
  &:has( > .m_contentsBox) > *:not(.m_heading) + * { margin-top: 30px; }
}

.m_contentsBox {
  > * + *:not(.m_list--ast):not(.m_box--adjacent) { margin-top: 20px; }

  & div:not([class]) {
    > * + * { margin-top: 10px; }
  }
}

/* 囲いあり */
.m_contentsBox--border {
  border: 13px solid #ccc;
  padding: 25px;

  .m_contentsBox__title {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
  }

  > * + * { margin-top: 20px; }
}

/* 仕切り線 */
.m_contentsBox--partition {
  + & {
    border-top: 1px solid #333;
    padding-top: 15px;
    margin-top: 15px;
  }

  > * + *:not(:has(.m_link--emphasis)) { margin-top: 20px; }
}

/* flex */
.m_contentsBox--flex {
  display: flex;
  gap: 20px;

  @container (max-width: 720px){ justify-content: space-between; }
  @container (max-width: 500px){ flex-direction: column; }

   > * { 
    flex: 1 1 auto;
    font-size: 13px;
    max-width: 50%;
    min-width: calc((100% / 4) - 20px);/* 最大４つまで */
    width: 100%;
    @container (max-width: 500px){ max-width: none; }
  }
}


/********** ローカルナビ **********/
.l_localNavi:not(:has(.m_localNavi)) {
  border-right: 1px solid #333;
  border-left: 1px solid #333;
  display: flex;
  font-size: 14px;
  width: 100%;

  .l_localNavi__item {
    display: flex;
    flex: 1;

    + .l_localNavi__item {
      border-left: 1px solid #333;
    }
  }/* .l_localNavi__item */

  .l_localNavi__link {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 2.5em;
    padding: 1em .5em;
    transition: .3s opacity;
    width: 100%;

    &:hover { opacity: .7; }
  }/* .l_localNavi__link */
}/* l_localNavi */

/* ボタン型 */
.l_localNavi_bgColor {
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  gap: 8px;
  width: 100%;

  > .l_localNavi__item {
    border: none;
    display: flex;
    flex: 1;
  }

  .l_localNavi__link {
    align-items: center;
    background-color: var(--theme_main, red);
    border-radius: 8px;
    color: #fff;
    display: flex;
    justify-content: center;
    min-height: 2.5em;
    padding: 1em .5em;
    transition: .3s opacity;
    width: 100%;

    &:hover { opacity: 0.7; }
  }
}/* .l_localNavi_bgColor */


@container mainHeaderWrap (max-width: 580px) {
  .l_localNavi:not(:has(.m_localNavi)) {
    border: none;
    flex-wrap: wrap;
    gap: 8px 0;

    > .l_localNavi__item {
      border: none;
      box-sizing: content-box;/* border分ばらつきが出るため */
      flex: initial;
      width: calc(50% - 2px);

      &:nth-child(odd) { border-left: 1px solid #333; }
      &:nth-child(odd):last-child { border-right: 1px solid #333; }
      &:nth-child(even) {
        border-right: 1px solid #333;
        border-left: 1px solid #333;
      }
    }
  }

  .l_localNavi_bgColor > .l_localNavi__item {
    flex: initial;
    width: calc(100% / 2 - (8px * 1 / 2));
  }
}


/*
    見出し
================================*/
:where(h2) {
  --heading-lh_level2: 1.8;
  font-size: 25px;
  font-weight: 700;
  line-height: var(--heading-lh_level2);
}

:where(h3) {
  --heading-lh_level3: 1.6;
  font-size: 22px;
  font-weight: 700;
  line-height: var(--heading-lh_level3);
}

.m_heading:not(:only-child):not(.m_heading--introduction) { margin-bottom: 20px; }


/* 画像だけ */
.m_heading--keyvisual { line-height: 0; }

/* 写真＋帯に文字載せ */
.m_keyvisual__heading { margin-bottom: 0 !important; }/* override */
.m_heading--keyvisual_ontext {  
  position: relative;
  &:has( + *) { margin-bottom: 30px; }

  & img { display: block; }

  > .m_heading__title {
    background-color: rgba(255,255,255,.9);
    font-size: 24px;
    font-weight: bold;
    padding: .25em;
    position: absolute;
    left: 0;
    bottom: 0.5em;
    width: 100%;
  }
}

@container mainHeaderWrap (max-width: 580px) {
  .m_heading--keyvisual_ontext {
    display: flex;
    flex-direction: column-reverse;

    > .m_heading__title {
      background-color: transparent;
      border-bottom: 3px solid var(--theme_main, #0168b3);
      position: static;
    }
  }
}

/* 左太線＋下線 */
.m_heading--border_lb {
  border-left: 9px solid #333;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 30px;
  padding-left: 14px;
  position: relative;

  &::before {
    background-color: #333;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    bottom: -10px;
    left: -9px;
    width: calc(100% + 9px);
  }

  &.__theme_main {
    border-color: var(--theme_main);
    &::before { background-color: var(--theme_main); }
  }
  &.__theme_sub {
    border-color: var(--theme_sub);
    &::before { background-color: var(--theme_sub); }
  }
  &.__theme_accent {
    border-color: var(--theme_accent);
    &::before { background-color: var(--theme_accent); }
  }
  &.__theme_extra1 {
    border-color: var(--theme_extra1);
    &::before { background-color: var(--theme_extra1); }
  }
  &.__theme_extra2 {
    border-color: var(--theme_extra2);
    &::before { background-color: var(--theme_extra2); }
  }
  &.__theme_extra3 {
    border-color: var(--theme_extra3);
    &::before { background-color: var(--theme_extra3); }
  }
}

/* 下線 */
.m_heading--underline {
  border-bottom: 2px solid red;

  &.__theme_main { border-bottom-color: var(--theme_main); }
  &.__theme_sub { border-bottom-color: var(--theme_sub); }
  &.__theme_accent { border-bottom-color: var(--theme_accent); }
  &.__theme_extra1 { border-bottom-color: var(--theme_extra1); }
  &.__theme_extra2 { border-bottom-color: var(--theme_extra2); }
  &.__theme_extra3 { border-bottom-color: var(--theme_extra3); }
}

/* 中央寄せ */
.m_heading--align_center {
  > .m_heading__title { text-align: center; }
}

/* 右寄せ */
.m_heading--align_right {
  text-align: right;
}

/* カラーテキスト（メインカラー） */
.m_heading--colorText {
  > .m_heading__title { color: red; }


  &.__theme_main {
    > .m_heading__title { color: var(--theme_main); }
  }
  &.__theme_sub {
    > .m_heading__title { color: var(--theme_sub); }
  }
  &.__theme_accent {
    > .m_heading__title { color: var(--theme_accent); }
  }
  &.__theme_extra1 {
    > .m_heading__title { color: var(--theme_extra1); }
  }
  &.__theme_extra2 {
    > .m_heading__title { color: var(--theme_extra2); }
  }
  &.__theme_extra3 {
    > .m_heading__title { color: var(--theme_extra3); }
  }
}

/* 太文字のみ */
.m_heading--bold {
  > .m_heading__title { font-weight: bold; }
}

/* １文字分のマーク付き */
.m_heading--hasMark {
  > .m_heading__title {
    padding-left: 1em;
    text-indent: -1em;
  }
}



/*
    リスト
================================*/
.m_list {}
.m_list__item {}
.m_list__link {
  color: #052674;
  text-decoration: none;

  &:hover {
    color: #005580;
    text-decoration: underline;
  }
}


@media screen and (max-width: 599px) {
  .m_list__item > br { display: none; }
}

/* 横並び */
.m_list--horizontal {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;

  > .m_list__item {
    width: fit-content;
  }
}

/* アスタリスク */
.m_list--ast {
  font-size: 0.85em;

  > .m_list__item {
    padding-left: 1em;
    position: relative;
    text-indent: 0;/* 入れ子時の対応 */

    &::before {
      content: "\203B";/* ※ */
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}

/* 箇条書き */
.m_list--bullet {
  > .m_list__item {
    padding-left: 1em;
    position: relative;
    text-indent: 0;/* 入れ子時の対応 */

    &::before {
      content: "\30FB";/* ・（中黒） */
      position: absolute;
      top: 0;
      left: 0;
    }
  }
}

/* 数字（全角＋．） */
.m_list--num {

  > .m_list__item {
    text-indent: -2em;
    padding-left: 2em;
  }
  > .m_list__item:nth-of-type(n+10){
    text-indent: -2.3em;
    padding-left: 2.3em;
  }
}

/* 数字（１）（２） */
.m_list--bracketNum {
  > .m_list__item {
    text-indent: -3em;
    padding-left: 3em;
  }

}


/* チェックマーク */
.m_list--check {
  > .m_list__item {
    padding-left: 1.3em;
    position: relative;
    text-indent: 0;/* 入れ子時の対応 */

    &::before {
      border-left: 3px solid red;
      border-bottom: 3px solid red;
      content: "";
      height: .5em;
      position: absolute;
      top: .5em;
      left: 0;
      transform: rotate(-45deg);
      width: 1em;
    }

    &.__theme_main {
      &::before {
        border-left-color: var(--theme_main);
        border-bottom-color: var(--theme_main);
      }
    }
    &.__theme_sub {
      &::before {
        border-left-color: var(--theme_sub);
        border-bottom-color: var(--theme_sub);
      }
    }
    &.__theme_accent {
      &::before {
        border-left-color: var(--theme_accent);
        border-bottom-color: var(--theme_accent);
      }
    }
    &.__theme_extra1 {
      &::before {
        border-left-color: var(--theme_extra1);
        border-bottom-color: var(--theme_extra1);
      }
    }
    &.__theme_ectra2 {
      &::before {
        border-left-color: var(--theme_ectra2);
        border-bottom-color: var(--theme_ectra2);
      }
    }
    &.__theme_extra3 {
      &::before {
        border-left-color: var(--theme_extra3);
        border-bottom-color: var(--theme_extra3);
      }
    }
  }
}

/* 矢印▶（右向き） */
.m_list--arrow {
  > .m_list__item {
    padding-left: 1em;
    position: relative;
    text-indent: 0;/* 入れ子時の対応 */

    &::before {
      border: 5px solid transparent;
      border-right: 0;
      border-left: 10px solid currentColor;
      content: "";
      display: block;
      height: 0;
      position: absolute;
      top: .5em;
      left: 0;
      width: 0;
    }
  }

  &.__theme_main {
    > .m_list__item {
      &::before { border-left-color: var(--theme_main); }
    }
  }
  &.__theme_sub {
    > .m_list__item {
      &::before { border-left-color: var(--theme_sub); }
    }
  }
  &.__theme_accent {
    > .m_list__item {
      &::before { border-left-color: var(--theme_accent); }
    }
  }
  &.__theme_extra1 {
    > .m_list__item {
      &::before { border-left-color: var(--theme_extra1); }
    }
  }
  &.__theme_extra2 {
    > .m_list__item {
      &::before { border-left-color: var(--theme_extra2); }
    }
  }
  &.__themeextra3 {
    > .m_list__item {
      &::before { border-left-color: var(--themeextra3); }
    }
  }

  /* 下向き */
  &.__bottom {
    > .m_list__item::before { transform: rotate(90deg); }
  }
}

/* 受講者の声 */
.m_list--impression {
  > .m_list__item {
    --listItem_fz_impr: 1em;
    --listItem_lh_impr: 1.2;
    font-size: var(--listItem_fz_impr);
    line-height: var(--listItem_lh_impr);
    padding-left: 25px;
    position: relative;
    text-indent: 0;/* 入れ子時の対応 */

    & + .m_list__item { margin-top: 10px; }

    &::before {
      background-color: var(--theme_main);
      content: "";
      display: block;
      height: 17px;
      position: absolute;
      top: calc((var(--listItem_fz_impr) * var(--listItem_lh_impr) - var(--listItem_fz_impr)) / 2);
      left: 0;
      -webkit-mask-image: url("/resource/img/bup/icon_speech-bubble_s.svg");
      mask-image: url("/resource/img/bup/icon_speech-bubble_s.svg");
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      width: 18px;
    }
  }

  &.__theme_sub {
    > .m_list__item {
      &::before { background-color: var(--theme_sub); }
    }
  }

  &.__theme_accent {
    > .m_list__item {
      &::before { background-color: var(--theme_accent); }
    }
  }
}


/* ■、①など */
.m_list--hasMark {
  > .m_list__item:not(:has(a)) {
    padding-left: 1em;
    text-indent: -1em;
  }

  .m_list__link {
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
  }
}



/*
    ボタン
================================*/
.m_btnWrapper {
  align-items: center;
  container: button / inline-size;
  display: flex;
}
.m_btnWrapper--align_left { justify-content: flex-start; }
.m_btnWrapper--align_center { justify-content: center; }
.m_btnWrapper--align_right { justify-content: flex-end; }

.m_btn {
  background-color: var(--theme_accent, #0168b3);
  border-radius: 8px;
  box-shadow: 3px 3px 6px rgba(77, 77, 77, .5);
  color: #fff;
  cursor: pointer;
  display: grid;
  min-height: 2.5em;
  padding: .8em 3em;
  place-content: center;
  width: fit-content;

  &.__color_black { color: #333; }

  &:hover {
    box-shadow: none;
    transform: translate(3px, 3px);
  }

  &.__theme_main { background-color: var(--theme_main); }
  &.__theme_sub { background-color: var(--theme_sub); }
  &.__theme_extra1 { background-color: var(--theme_extra1); }
  &.__theme_extra2 { background-color: var(--theme_extra2); }
  &.__theme_extra3 { background-color: var(--theme_extra3); }
}

.m_btn--contact {
  grid-template-columns: auto 1fr;

  &::before {
    background-color: #fff;
    content: "";
    display: block;
    height: auto;
    margin-right: 10px;
    -webkit-mask-image: url("/resource/img/bup/icon_mail.svg");
    mask-image: url("/resource/img/bup/icon_mail.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    width: 2em;
  }
  &.__color_black::before { background-color: #333; }

  @container button (min-width: 580px) {
    max-width: 60%;
  }
  
}


/*
    リンク
================================*/
:is(.l_contentsHeader, .l_contentsBody) a:not([class*=link]):not(.m_btn) {
  color: #052674;
  text-decoration: none;

  &:hover {
    color: #005580;
    text-decoration: underline;
  }
}

/* 太文字＋少し大きめ */
.m_link--emphasis {
  color: currentColor;
  font-size: 18px;
  font-weight: bold;
  transition: .3s opacity;
  
  &:hover {
    opacity: 0.7;
  }
}

/* 画像リンク */
.m_link--banner {
  display: block;
  line-height: 0;
  transition: .3s opacity;
  width: fit-content;
  
  &:hover { opacity: .7; }
}



/*
    テキスト装飾
================================*/
/* 赤太文字（補足するときはu_fw-nと併記） */
.m_text--attention {
  color: red;
  font-weight: 900;
}

/* 1文字分ずらす */
.m_text--indent {
  text-indent: -1em;
  padding-left: 1em;
}


/*
    画像
================================*/
.m_figure {
  &:has(img) { line-height: 0; }
  > * + * { margin-top: 10px; }

  .m_figure__title {
    font-size: 1.2em;
    font-weight: 700;
    line-height: normal;
  }
}


/*
    メディアデザイン
================================*/
.m_media {
  display: grid;
  grid-template-areas: "mediaImage mediaContents";
  grid-template-columns: max-content 1fr;
  gap: 20px;

  &.__rev {
    grid-template-areas: "mediaContents mediaImage";
    grid-template-columns: 1fr max-content;

    @container mainWrap (max-width: 560px) {
      grid-template-areas:
      "mediaImage mediaImage"
      " mediaContents mediaContents";
    }
  }

  @container mainWrap (max-width: 560px) {
    grid-template-areas:
    "mediaImage mediaImage"
    " mediaContents mediaContents";
  }
}

.m_media__image {
  grid-area: mediaImage;
  line-height: 0;

  @container mainWrap (max-width: 560px) {
    text-align: center;
  }

}

.m_media__contents {
  grid-area: mediaContents;
  > * + * { margin-top: 20px; }
}


/*
    テーブル（表）
================================*/
.m_table {
  border: 1px solid #333;
  border-collapse: collapse;
  font-size: 12px;
  width: 100%;

  & th,
  & td {
    border: 1px solid #333;
    height: 100%;
    padding: 3px;
    vertical-align: middle;
  }

  & th {
    font-weight: bold;
    text-align: center;
  }

  @container mainWrap (max-width: 560px) {
    width: 730px;
  }
}

/* ◎○△表（マトリクス表） */
.m_table--evalMatrix {
  table-layout: fixed;
  td > [class*="u_has--"] {
    display: grid;
    place-content: center;
    place-items: center;
  }
  .u_has--doubleCircle {
    &::before {
      background-color: red;
      content: "";
      display: block;
      height: 1.5em;
      -webkit-mask-image: url("/resource/img/bup/icon_double_circle.svg");
      mask-image: url("/resource/img/bup/icon_double_circle.svg");
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      width: 1.5em;
    }
  }
  .u_has--circle {
    &::before {
      background-color: red;
      content: "";
      display: block;
      height: 1.5em;
      -webkit-mask-image: url("/resource/img/bup/icon_circle.svg");
      mask-image: url("/resource/img/bup/icon_circle.svg");
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      width: 1.5em;
    }
  }
  .u_has--triangle{
    &::before {
      background-color: currentColor;
      content: "";
      display: block;
      height: 1.5em;
      -webkit-mask-image: url("/resource/img/bup/icon_triangle.svg");
      mask-image: url("/resource/img/bup/icon_triangle.svg");
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      width: 1.5em;
    }
  }
}

/* ボトムのスケジュール */
.m_table--btmSchedule {
  font-size: 14px;
  height: 100%;
  width: 100%;

  thead {
    th {
      background-color: #194a72;
      color: #fff;
      font-weight: normal;
      padding: 3px;
      text-align: center;
      &:not(:first-child) { border-left: 1px solid #fff; }
      &:nth-of-type(1) { width: 190px; }
      &:nth-of-type(3) { width: 147px; }
      &:nth-of-type(4) { width: 170px; }
    }
    &::after {
      content: "";
      display: block;
      padding-top: 2px;
      width: 100%;
    }
  }
  tbody {
    tr {
      &:hover { background-color: #e8f1ff; }
    }
    td {
      border: 1px solid #000;
      height: 100%;
      padding: 5px;
      vertical-align: middle;
      .td_cell--date {
        .td_cell--place {
          display: grid;
          font-size: 12px;
          gap: 0 10px;
          grid-template-columns: repeat(2, 1fr);
          margin-top: 5px;
          span {
            background-color: #fff;
            border: 1px solid #f26a32;
            border-radius: 9999px;
            color: #f26a32;
            display: grid;
            place-content: center;
          }
          > a {
            color: #f26a3f;
            &:hover {
              color: #f26a3f;
            }
          }
        }
      }
      .td_cell--name {}
      .td_cell--price {
        display: grid;
        gap: 0 5px;
        grid-template-columns: repeat(2,1fr);
        span:nth-of-type(2n) { text-align: right; }
      }
      .td_cell--appBtn {
        display: grid;
        gap: 0 5px;
        grid-template-columns: repeat(2, 1fr);
        height: 100%;
        width: 100%;
        [class^="btn--"] {
          border-radius: 5px;
          color: #fff;
          display: grid;
          height: 100%;
          place-content: center;
          width: 100%;
          &:hover {
            color: #fff;
            opacity: .7;
            text-decoration: none;
          }
        }
        .btn--webins { background-color: #2352A4; }
        .btn--normal { background-color: #4ea0de; }
      }
    }
  }
  @media screen and (max-width: 599px) {
    thead { display: none; }
    tr {
      display: block;
      & + & { margin-top: 10px; }
    }
    td {
      display: flex;
      gap: 0 20px;
      & + & { margin-top: -1px; }
      &:not(:has([class="td_cell--appBtn"]))::before {
        background-color: #194a72;
        color: #fff;
        content: attr(data-label);
        display: grid;
        flex-shrink: 0;
        margin: -5px;
        padding: 3px;
        place-content: center;
        width: 7em;
      }
    }
    .td_cell--price { margin-left: auto; }
    .td_cell--date {
      br { display: none; }
    }
    .td_cell--appBtn {
      [class^="btn--"] {
        min-height: 3em;
        place-items: center;
        &::after {
          content: "で申込";
          font-size: 0.8em;
        }
      }
    }
  }
}


/*
    グリッドカードデザイン
================================*/
.m_gridArea {}

.l_grid--lineup {
  --cardGrid_colWidth: calc(var(--main-WrapWidth) / 3);
  --cardGrid_gap: 30px;
  display: grid;
  font-size: 13px;
  grid-template-columns: repeat(auto-fit, minmax(calc(var(--cardGrid_colWidth) - var(--cardGrid_gap)), 1fr));
  gap: var(--cardGrid_gap);

  &.__col4 {
    --cardGrid_colWidth: calc(var(--main-WrapWidth) / 4);
  }
}

/* Lサイズ */
.m_cardGridLg {
  position: relative;

  > * + * { margin-top: 5px; }
}

.m_cardGridLg__title {
  --cardGrid_title_fz: 18px;
  --cardGrid_title_lh: 1.4;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: var(--cardGrid_title_fz);
  font-weight: bold;
  height: calc(var(--cardGrid_title_fz) * 2 * var(--cardGrid_title_lh));
  -webkit-line-clamp: 2;
  line-height: var(--cardGrid_title_lh);
  overflow: hidden;
  text-overflow: ellipsis;
}

.m_cardGridLg__link {
  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    transition: .3s background-color;
  }

  &:hover::before { background-color: rgba(255, 255, 255, 0.3); }
}

.m_cardGridLg__attribute {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.m_cardGridLg__type {
  &::before {
    content: "";
    display: block;
    border: 1px solid;
    font-size: 11px;
    line-height: 1;
    padding: 2px 3px;
    text-align: center;
    min-width: 40px;
    width: fit-content;
  }
}

.m_cardGridLg__date {
  color: #d66c00;
  width: fit-content;
}

.m_cardGridLg__image {
  line-height: 0;

  > img {
    height: auto;
    max-width: 100%;
  }
}

.m_cardGridLg__contents {
  --cardGrid_cont_fz: 13px;
  --cardGrid_cont_lh: 1.6;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: var(--cardGrid_cont_fz);
  height: calc(var(--cardGrid_cont_fz) * 4 * var(--cardGrid_cont_lh));
  -webkit-line-clamp: 4;
  line-height: var(--cardGrid_cont_lh);
  overflow: hidden;
  text-overflow: ellipsis;
}


/* Mサイズ */
.m_cardGridMd {
  display: grid;
  place-content: center;
  position: relative;

  > * + * { margin-top: 5px; }
}

.m_cardGridMd__title {
  --cardGrid_title_fz: 14px;
  --cardGrid_title_lh: 1.5;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: var(--cardGrid_title_fz);
  font-weight: bold;
  height: calc(var(--cardGrid_title_fz) * 2 * var(--cardGrid_title_lh));
  -webkit-line-clamp: 2;
  line-height: var(--cardGrid_title_lh);
  overflow: hidden;
  text-overflow: ellipsis;
}

.m_cardGridMd__link {
  &::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    transition: .3s background-color;
  }

  &:hover::before { background-color: rgba(255, 255, 255, 0.3); }
}

.m_cardGridMd__attribute {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.m_cardGridMd__type {
  &::before {
    content: "";
    display: block;
    border: 1px solid;
    font-size: 11px;
    line-height: 1;
    padding: 2px 3px;
    text-align: center;
    min-width: 40px;
    width: fit-content;
  }
}

.m_cardGridMd__date {
  color: #d66c00;
  width: fit-content;
}


/* 共通コンテンツタイプ */
[data-service_type=douga]::before {
  content: "\52d5\753b\95a2\9023";/* 動画関連 */
  color: #cc2d5e;
  background: none;
}
[data-service_type=middle]::before {
  content: "\307e\3068\3081";/* まとめ */
  color: #842e30;
  background: none;
}
[data-service_type=haken]::before {
  content: "\6D3E\9063";/* 派遣 */
  color: #842e30;
  background: none;
}
[data-service_type=bup]::before {
  content: "\516C\958B";/* 公開 */
  color: #0c3f71;
  background: none;
}
[data-service_type=other]::before {
  content: "\4ed6\ff7b\ff70\ff8b\ff9e\ff7d";/* 他ｻｰﾋﾞｽ */
  color: #e6002d;
  background: none;
}
[data-service_type=it]::before {
  content: "IT\FF7B\FF70\FF8B\FF9E\FF7D";/* ITｻｰﾋﾞｽ */
  color: #008d79;
  background: none;
}
[data-service_type=free]::before {
  content: "\7121\6599\FF7E\FF90\FF85\FF70";/* 無料ｾﾐﾅｰ */
  color: #333;
  background: none;
}
[data-service_type=cont]::before {
  content: "\8AAD\307F\7269";/* 読み物 */
  color: #0c3f71;
  background: none;
}
[data-service_type=consul]::before {
  content: "\30B3\30F3\30B5\30EB";/* コンサル */
  color: #7a614f;
  background: none;
}


/*
    イントロダクション
================================*/
.m_introductionBox {}
.m_heading--introduction {
  margin-bottom: 0;

  > .m_heading__title {
    background-color: var(--theme_main, #be0201);
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.18;
    padding: 8px;
    text-align: center;
  }
}

.m_introductionBox__body {
  background-color: rgba(var(--theme_intro), 0.13);
  padding: 15px;
}

.m_introductionBox__inner {
  background-color: #fff;
  container-type: inline-size; 
  padding: 20px 25px;

  > * + * { margin-top: 20px; }
}


/*
    インフォメーション
================================*/
.m_informationBox {}


/*
    お客様の声PICK UP
================================*/
.m_voiceBox {
  > *:not(.m_voiceBox__title) + * {
    border-top: 1px solid #ccc;
    padding-top: 20px;
    margin-top: 20px;
  }
}

.m_voiceBox__title {
  color: var(--theme_accent);
  font-weight: bold;
  margin-bottom: 10px;
}


/*
    FAQ
================================*/
.m_faqWrap {}

.m_faqWrap__body {
  margin-bottom: 50px;

  >:last-child {
    margin-bottom: 0;
  }
}

.m_faqWrap__item {}

.m_faq:has(summary) {
  background-color: #fff;
  box-shadow: 0 0 6px rgba(0,0,0,.16);
  border-radius: 20px;
  margin-bottom: 30px;
  overflow: hidden;
  padding: 20px;
}

.m_faq__item {
  display: block;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

.m_faq__msg {
  align-items: center;
  display: flex;
  padding-right: 35px;
  position: relative;
  width: 100%;
}

.m_faq__msg--q {
  color: currentColor;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;

  &::before {
    color: var(--theme_main);
    content: "Q";
    flex-shrink: 0;
    font-family: roboto,sans-serif;
    font-size: 26px;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
    padding-right: 20px;
  }

  &::after {
    background-color: var(--theme_main, blue);
    content: "";
    display: block;
    height: 25px;
    -webkit-mask-image: url("/resource/img/bup/icon_circle-arrow.svg");
    mask-image: url("/resource/img/bup/icon_circle-arrow.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    transition: .3s transform;
    width: 25px;
  }
}

.m_faq.is_opend .m_faq__msg--q::after {
  transform: rotate(180deg);
}

.m_faq__msg--a {
  padding-top: 20px;
  font-size: 14px;

  &::before {
    color: var(--theme_accent, red);
    content: "A";
    flex-shrink: 0;
    font-family: roboto,sans-serif;
    font-size: 26px;
    font-weight: 700;
    font-style: normal;
    line-height: 1;
    padding-right: 20px;
  }
}

.m_faqWrap__footer {
  padding-bottom: 50px;
}

.m_faqWrap__footerTtl {
  margin-bottom: 20px;
  color: #5558a5;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.m_faqWrap__img {
  text-align: center;
}

.m_faqWrap__imgLink {
  display: inline-block;
  line-height: 1;
  color: inherit;
  transition: .3s opacity;

  &:hover { opacity: .7; }

  img {
    border: 1px solid #c7c7c7;
    max-width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 599px) {
  .m_faq__msg--q::before {
      align-self:flex-start;
  }

  .m_faq__msg--a::before {
      align-self: flex-start;
  }

  .m_faq__msg--q::after {
      top: auto;
      bottom: auto;
  }
}


/*
    画像を横並びにする
================================*/
.m_inlineImages {
  display: flex;
  gap: 10px;

  /* 画像が正方形の場合 */
  &:has(.u_image--square){
    @container mainWrap (max-width: 750px) {
      justify-content: space-between;
    }
    @container mainWrap (max-width: 530px) {
      align-items: center;
      flex-direction: column;
      justify-content: center;
    }
  }
}

.m_inlineImages__item {
  line-height: 0;

  /* .m_inlineImagesの中では幅を親要素に合わせる */
  .m_link--banner { width: auto; }

  &:has(.u_image--vertical) {
    width: calc(100% / 5);
  }

  &:has(.u_image--horizontal) {
    width: calc(100% / 3);
  }

  &:has(.u_image--square) {
    width: 220px;

    .u_image--square {
      max-width: none;
      width: 100%;
    }
  }

}


/*
    その他
================================*/
/* 隣接させたい */
.m_box--adjacent { margin-top: 0; }

/* 右寄せ（注釈など） */
.m_box--horizon_right {
  display: grid;
  grid-template-columns: auto;
  justify-content: end;
}

/* iframe */
.m_iframeBox {
  & iframe { width: 100%; }
}



/*
    テストページ用
================================*/
.m_colorPickerWrap {
  background-color: #fff;
  border: 3px solid red;
  font-size: 14px;
  padding: 20px;
  position: fixed;
  bottom: 0;
  left: 0;
  /*left: 10px;
  transform: translateY(-50%);*/
  width: 100%;
  z-index: 99999999;
}

.m_colorPicker {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 20px;
  place-content: center;
  /*place-items: center;*/
}

.m_colorPicker__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}

.m_colorPicker__label {
  cursor: pointer;
}

input[id^=colorPicker__] {
  all: revert;
  cursor: pointer;
}

@media screen and (max-width: 599px) {
  .m_colorPickerWrap { display: none; }
}

/* コピペ用テキストボックス */
.m_textAreaWrapper { 
  margin: 20px 0 0;
}

.m_textArea { width: 100%; }

.m_textArea__title { font-weight: bold; }
.m_textArea_contents {
  border: 1px solid #000;
  padding: 0 10px;
}
.m_textArea_contents {
  all: revert;
  display: block;
  height: 100%;
  resize: none;
  width: 100%;
}



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

    Utility

================================*/
/* uniqe */
.u_em {
  color: var(--theme_accent);
  font-weight: bold;
}

/* display */
.u_d-b { display: block !important; }
.u_d-n { display: none !important; }
.u_d-fx { display: flex !important; }

@media screen and (max-width: 810px){
  .u_resMd_d-n { display: none !important; }
  .u_resMd_d-b { display: block !important; }
}

@media screen and (max-width: 599px){
  .u_res_d-n { display: none !important; }
  .u_res_d-b { display: block !important; }
}

/* float */
.u_fl-n { float: none !important; }
.u_fl-l { float: left !important; }
.u_fl-r { float: right !important; }

/* font-size */
.u_fz-xs { font-size: .75em !important; }
.u_fz-sm { font-size: .875em !important; }
.u_fz-md { font-size: 1em !important; }
.u_fz-lg { font-size: 1.25em !important; }
.u_fz-xl { font-size: 1.5em !important; }
.u_fz-sr { font-size: smaller !important; }
.u_fz-lr { font-size: larger !important; }

.u_fz10 { font-size: 10px !important; }
.u_fz11 { font-size: 11px !important; }
.u_fz12 { font-size: 12px !important; }
.u_fz13 { font-size: 13px !important; }
.u_fz14 { font-size: 14px !important; }
.u_fz15 { font-size: 15px !important; }
.u_fz16 { font-size: 16px !important; }
.u_fz17 { font-size: 17px !important; }
.u_fz18 { font-size: 18px !important; }
.u_fz19 { font-size: 19px !important; }
.u_fz20 { font-size: 20px !important; }

/* font-weigth */
.u_fw-b { font-weight: bold !important; }
.u_fw-n { font-weight: normal !important; }

/* line-height */
.u_lh-nm { line-height: normal !important; }
.u_lh-ih { line-height: inherit !important; }
.u_lh0 { line-height: 0 !important; }
.u_lh1 { line-height: 1 !important; }
.u_lh2 { line-height: 2 !important; }
.u_lh3 { line-height: 3 !important; }
.u_lh4 { line-height: 4 !important; }
.u_lh5 { line-height: 5 !important; }
.u_lh6 { line-height: 6 !important; }
.u_lh-xs { line-height: 1.25 !important; }
.u_lh-sm { line-height: 1.33 !important; }
.u_lh-md { line-height: 1.5 !important; }
.u_lh-lg { line-height: 1.75 !important; }
.u_lh-xl { line-height: 2 !important; }

/* padding */
.u_pt0 { padding-top: 0 !important; }
.u_pt-xs { padding-top: 0.2rem !important; }
.u_pt-sm { padding-top: 0.5rem !important; }
.u_pt-md { padding-top: 1rem !important; }
.u_pt-lg { padding-top: 1.5rem !important; }
.u_pt-xl { padding-top: 3rem !important; }

.u_pl0 { padding-left: 0 !important; }
.u_pl-xs { padding-left: 0.2rem !important; }
.u_pl-sm { padding-left: 0.5rem !important; }
.u_pl-md { padding-left: 1rem !important; }
.u_pl-lg { padding-left: 1.5rem !important; }
.u_pl-xl { padding-left: 3rem !important; }

.u_pb0 { padding-bottom: 0 !important; }
.u_pb-xs { padding-bottom: 0.2rem !important; }
.u_pb-sm { padding-bottom: 0.5rem !important; }
.u_pb-md { padding-bottom: 1rem !important; }
.u_pb-lg { padding-bottom: 1.5rem !important; }
.u_pb-xl { padding-bottom: 3rem !important; }

.u_pr0 { padding-right: 0 !important; }
.u_pr-xs { padding-right: 0.2rem !important; }
.u_pr-sm { padding-right: 0.5rem !important; }
.u_pr-md { padding-right: 1rem !important; }
.u_pr-lg { padding-right: 1.5rem !important; }
.u_pr-xl { padding-right: 3rem !important; }

.u_py0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.u_py10 { padding-top: 10px !important; padding-bottom: 10px !important; }
.u_py20 { padding-top: 20px !important; padding-bottom: 20px !important; }
.u_py30 { padding-top: 30px !important; padding-bottom: 30px !important; }

.u_pt5 { padding-top: 5px !important; }
.u_pt10 { padding-top: 10px !important; }
.u_pt15 { padding-top: 15px !important; }
.u_pt20 { padding-top: 20px !important; }
.u_pt30 { padding-top: 30px !important; }
.u_pt40 { padding-top: 40px !important; }
.u_pt50 { padding-top: 50px !important; }
.u_pt100 { padding-top: 100px !important; }

.u_pl5 { padding-left: 5px !important; }
.u_pl10 { padding-left: 10px !important; }
.u_pl15 { padding-left: 15px !important; }
.u_pl20 { padding-left: 20px !important; }
.u_pl30 { padding-left: 30px !important; }
.u_pl50 { padding-left: 50px !important; }
.u_pl100 { padding-left: 100px !important; }

.u_pb5 { padding-bottom: 5px !important; }
.u_pb10 { padding-bottom: 10px !important; }
.u_pb15 { padding-bottom: 15px !important; }
.u_pb20 { padding-bottom: 20px !important; }
.u_pb30 { padding-bottom: 30px !important; }
.u_pb40 { padding-bottom: 40px !important; }
.u_pb50 { padding-bottom: 50px !important; }
.u_pb100 { padding-bottom: 100px !important; }

.u_pr5 { padding-right: 5px !important; }
.u_pr10 { padding-right: 10px !important; }
.u_pr15 { padding-right: 15px !important; }
.u_pr20 { padding-right: 20px !important; }
.u_pr30 { padding-right: 30px !important; }
.u_pr50 { padding-right: 50px !important; }
.u_pr100 { padding-right: 100px !important; }


/* margin */
.u_mt0 { margin-top: 0 !important; }
.u_mt-xs { margin-top: 0.2rem !important; }
.u_mt-sm { margin-top: 0.5rem !important; }
.u_mt-md { margin-top: 1rem !important; }
.u_mt-lg { margin-top: 1.5rem !important; }
.u_mt-xl { margin-top: 3rem !important; }

.u_ml0 { margin-left: 0 !important; }
.u_ml-xs { margin-left: 0.2rem !important; }
.u_ml-sm { margin-left: 0.5rem !important; }
.u_ml-md { margin-left: 1rem !important; }
.u_ml-lg { margin-left: 1.5rem !important; }
.u_ml-xl { margin-left: 3rem !important; }

.u_mb0 { margin-bottom: 0 !important; }
.u_mb-xs { margin-bottom: 0.2rem !important; }
.u_mb-sm { margin-bottom: 0.5rem !important; }
.u_mb-md { margin-bottom: 1rem !important; }
.u_mb-lg { margin-bottom: 1.5rem !important; }
.u_mb-xl { margin-bottom: 3rem !important; }

.u_mr0 { margin-right: 0 !important; }
.u_mr-xs { margin-right: 0.2rem !important; }
.u_mr-sm { margin-right: 0.5rem !important; }
.u_mr-md { margin-right: 1rem !important; }
.u_mr-lg { margin-right: 1.5rem !important; }
.u_mr-xl { margin-right: 3rem !important; }

.u_my0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.u_my10 { margin-top: 10px !important; margin-bottom: 10px !important; }
.u_my20 { margin-top: 20px !important; margin-bottom: 20px !important; }
.u_my30 { margin-top: 30px !important; margin-bottom: 30px !important; }

.u_mt5 { margin-top: 5px !important; }
.u_mt10 { margin-top: 10px !important; }
.u_mt15 { margin-top: 15px !important; }
.u_mt20 { margin-top: 20px !important; }
.u_mt30 { margin-top: 30px !important; }
.u_mt50 { margin-top: 50px !important; }
.u_mt100 { margin-top: 100px !important; }

.u_mt-5 { margin-top: -5px !important; }
.u_mt-10 { margin-top: -10px !important; }
.u_mt-15 { margin-top: -15px !important; }
.u_mt-20 { margin-top: -20px !important; }
.u_mt-30 { margin-top: -30px !important; }
.u_mt-50 { margin-top: -50px !important; }
.u_mt-100 { margin-top: -100px !important; }

.u_ml5 { margin-left: 5px !important; }
.u_ml10 { margin-left: 10px !important; }
.u_ml15 { margin-left: 15px !important; }
.u_ml20 { margin-left: 20px !important; }
.u_ml30 { margin-left: 30px !important; }
.u_ml50 { margin-left: 50px !important; }
.u_ml100 { margin-left: 100px !important; }

.u_ml-5 { margin-left: -5px !important; }
.u_ml-10 { margin-left: -10px !important; }
.u_ml-15 { margin-left: -15px !important; }
.u_ml-20 { margin-left: -20px !important; }
.u_ml-30 { margin-left: -30px !important; }
.u_ml-50 { margin-left: -50px !important; }
.u_ml-100 { margin-left: -100px !important; }

.u_mb5 { margin-bottom: 5px !important; }
.u_mb10 { margin-bottom: 10px !important; }
.u_mb15 { margin-bottom: 15px !important; }
.u_mb20 { margin-bottom: 20px !important; }
.u_mb30 { margin-bottom: 30px !important; }
.u_mb50 { margin-bottom: 50px !important; }
.u_mb100 { margin-bottom: 100px !important; }

.u_mb-5 { margin-bottom: -5px !important; }
.u_mb-10 { margin-bottom: -10px !important; }
.u_mb-15 { margin-bottom: -15px !important; }
.u_mb-20 { margin-bottom: -20px !important; }
.u_mb-30 { margin-bottom: -30px !important; }
.u_mb-50 { margin-bottom: -50px !important; }
.u_mb-100 { margin-bottom: -100px !important; }

.u_mr5 { margin-right: 5px !important; }
.u_mr10 { margin-right: 10px !important; }
.u_mr15 { margin-right: 15px !important; }
.u_mr20 { margin-right: 20px !important; }
.u_mr30 { margin-right: 30px !important; }
.u_mr50 { margin-right: 50px !important; }
.u_mr100 { margin-right: 100px !important; }

.u_mr-5 { margin-right: -5px !important; }
.u_mr-10 { margin-right: -10px !important; }
.u_mr-15 { margin-right: -15px !important; }
.u_mr-20 { margin-right: -20px !important; }
.u_mr-30 { margin-right: -30px !important; }
.u_mr-50 { margin-right: -50px !important; }
.u_mr-100 { margin-right: -100px !important; }

.u_m-a { margin: auto !important; }

/* position */
.u_pos-r { position: relative !important; }
.u_pos-a { position: absolute !important; }

/* text-align */
.u_ta-c { text-align: center !important; }
.u_ta-r { text-align: right !important; }
.u_ta-l { text-align: left !important; }

/* text-indent */
.u_ti--1 { text-indent: -1em !important; padding-left: 1em !important; }
.u_ti-0 { text-indent: 0em !important; padding-left: 0em !important; }

/* text-decoration */
.u_td-n { text-decoration: none !important; }
.u_td-u { text-decoration: underline !important; }
.u_td-o { text-decoration: overline !important; }
.u_td-l { text-decoration: line-through !important; }

/* vertical-align */
.u_va-sup { vertical-align: super !important; }
.u_va-t { vertical-align: top !important; }
.u_va-tt { vertical-align: text-top !important; }
.u_va-m { vertical-align: middle !important; }
.u_va-bl { vertical-align: baseline !important; }
.u_va-b { vertical-align: bottom !important; }
.u_va-tb { vertical-align: text-bottom !important; }
.u_va-sub { vertical-align: sub !important; }

/* flexbox */
.u_ac-fs { align-content: flex-start !important; }
.u_ac-fe { align-content: flex-end !important; }
.u_ac-c { align-content: center !important; }
.u_ac-sb { align-content: space-between !important; }
.u_ac-sa { align-content: space-around !important; }
.u_ac-s { align-content: stretch !important; }
.u_ai-fs { align-items: flex-start !important; }
.u_ai-fe { align-items: flex-end !important; }
.u_ai-c { align-items: center !important; }
.u_ai-b { align-items: baseline !important; }
.u_ai-s { align-items: stretch !important; }
.u_as-a { align-self: auto !important; }
.u_as-fs { align-self: flex-start !important; }
.u_as-fe { align-self: flex-end !important; }
.u_as-c { align-self: center !important; }
.u_as-b { align-self: baseline !important; }
.u_as-s { align-self: stretch !important; }
.u_jc-fs { justify-content: flex-start !important; }
.u_jc-fe { justify-content: flex-end !important; }
.u_jc-c { justify-content: center !important; }
.u_jc-sb { justify-content: space-between !important; }
.u_jc-sa { justify-content: space-around !important; }
.u_fx0-1-a { flex: 0 1 auto !important; }
.u_fx1-0-a { flex: 1 0 auto !important; }
.u_fx1-1-a { flex: 1 1 auto !important; }
.u_fx0-0-a { flex: 0 0 auto !important; }
.u_fx1-0-0 { flex: 1 0 0% !important; }
.u_fx1-1-0 { flex: 1 1 0% !important; }

/* order */
.u_ord0 { order: 0 !important; }
.u_ord1 { order: 1 !important; }
.u_ord2 { order: 2 !important; }
.u_ord3 { order: 3 !important; }
.u_ord4 { order: 4 !important; }
.u_ord5 { order: 5 !important; }
.u_ord6 { order: 6 !important; }
.u_ord9999 { order: 9999 !important; }
.u_ord-1 { order: -1 !important; }

/* table-layout */
.u_tbl-a { table-layout: auto !important; }
.u_tbl-f { table-layout: fixed !important; }

/* width */
.u_w350 { width: 350px !important; }
.u_w400 { width: 400px !important; }

.u_w40p { width: 40% !important; }
.u_w45p { width: 45% !important; }
.u_w50p { width: 50% !important; }

.u_maW70p { max-width: 70% !important; }
.u_maW75p { max-width: 75% !important; }
.u_maW80p { max-width: 80% !important; }

/*横幅*/
.u_col1{width:8.333%;}
.u_col2{width:16.667%;}
.u_col3{width:25%;}
.u_col4{width:33.333%;}
.u_col5{width:41.666%;}
.u_col6{width:50%;}
.u_col7{width:58.333%;}
.u_col8{width:66.666%;}
.u_col9{width:75%;}
.u_col10{width:83.33%;}
.u_col11{width:91.666%;}
.u_col12{width:100%;}
@media screen and (max-width:768px){
  .u_resMdCol1{width:8.333%;}
  .u_resMdCol2{width:16.667%;}
  .u_resMdCol3{width:25%;}
  .u_resMdCol4{width:33.333%;}
  .u_resMdCol5{width:41.666%;}
  .u_resMdCol6{width:50%;}
  .u_resMdCol7{width:58.333%;}
  .u_resMdCol8{width:66.666%;}
  .u_resMdCol9{width:75%;}
  .u_resMdCol10{width:83.33%;}
  .u_resMdCol11{width:91.666%;}
  .u_resMdCol12{width:100%;}
}
@media screen and (max-width:599px){
  .u_resSmCol1{width:8.333%;}
  .u_resSmCol2{width:16.667%;}
  .u_resSmCol3{width:25%;}
  .u_resSmCol4{width:33.333%;}
  .u_resSmCol5{width:41.666%;}
  .u_resSmCol6{width:50%;}
  .u_resSmCol7{width:58.333%;}
  .u_resSmCol8{width:66.666%;}
  .u_resSmCol9{width:75%;}
  .u_resSmCol10{width:83.33%;}
  .u_resSmCol11{width:91.666%;}
  .u_resSmCol12{width:100%;}
}

@media screen and (max-width:768px){
  .u_resMdBlock { display: block; }
  .u_resMdHide { display: none; }
}
@media screen and (max-width:768px){
  .u_resSmBlock { display: block; }
  .u_resSmHide { display: none; }
}
