@charset "utf-8";
/* CSS Document */
/*===============================

    common

================================*/
:root {
  --theme_main: #E8571A;
}

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

#base {
  margin: auto;
  width: 1220px;
  @media screen and (max-width: 768px) { width: 100%; }
}

div#cont { margin: 0; }

.l_wrapper {
  display: grid;
  gap: 50px;
  grid-template-areas: 
    "sideNavi main";
  grid-template-columns: 200px minmax(auto, 970px);
  margin: 30px 0 0;
  @media screen and (max-width: 768px) {
    grid-template-areas: "main main";
  }
}

.l_sideNav {
  grid-area: sideNavi;
  @media screen and (max-width: 768px) { display: none; }
}

.l_main {
  grid-area: main;
}

/* 画像 */
.l_main :where(img) {
  height: auto;
  max-width: 100%;
  &:only-child { display: block; }
}

.m_figure {
  figcaption { font-weight: bold; }
}
.m_figure.__center {
  display: grid;
  place-items: center;
  place-content: center;
}

/* セクション */
.l_section {}
.l_section + .l_section { margin-top: 90px; }

/* 段落 */
.m_contentsBox {}
.m_contentsBox > *:not(:first-child) { margin-top: 20px; }

.m_contentsBox--sm {}
.m_contentsBox--sm > *:not(:first-child) { margin-top: 10px; }

/* flex */
.m_flexBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* □（アンケートイメージのチェックボックス） */
.u_square {
  display: block;
  &:not(:first-child) { margin-top: 10px; }
  &:last-child { margin-bottom: 10px; }
  &::before {
    border: 1px solid currentColor;
    content: "";
    display: block;
    height: 0.8em;
    width: 0.8em;
  }
}

/*
    ローカルナビ
================================*/
.l_localNavi {
  display: grid;
  font-size: 16px;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 10px;
  margin-bottom: 60px;
}

.l_localNavi__item {
  border-right: 1px solid #a8a8a8;
}

.l_localNavi__link {
  color: currentColor;
  display: grid;
  grid-template-columns: 1fr auto;
  font-weight: bold;
  padding: 3px 10px;
  place-items: center;
  place-content: center;
}

.l_localNavi__link:hover {
  opacity: .7;
}

.l_localNavi__link::after {
  background-color: var(--theme_main);
  content: "";
  display: grid;
  height: 7px;
  mask-image: url("/resource/img/kyoiku/yobisama_arrow.png");
  mask-position: center;
  mask-repeat: no-repeat;
  width: 11px;
}

@media screen and (max-width:599px) {
  .l_localNavi {
    font-size: 14px;
    grid-template-columns: repeat(2, 1fr);
  }
  .l_localNavi__item { display: flex; }
  .l_localNavi__link {
    place-items: normal;
    width: 100%;
  }
  .l_localNavi__link::after { align-self: center; }
}

/*
    見出し
================================*/
.m_heading {}

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

/* メイン（左側にボーダー） */
.m_heading--primary { margin-bottom: 20px; }
.m_heading--primary > .m_heading__title {
  border-left: 7px solid var(--theme_main);
  font-size: 21px;
  font-weight: bold;
  padding-left: 10px;
}

/* 太文字 */
.m_heading--bold { /*margin-bottom: 15px;*/ }
.m_heading--bold > .m_heading__title {
  font-size: 16px;
  font-weight: bold;
}

/* 強調 */
.m_heading--emphasys { width: fit-content; }
.m_heading--emphasys > .m_heading__title {
  border-bottom: 1px solid var(--theme_main);
  color: var(--theme_main);
  font-size: 20px;
  font-weight: bold;
}

/*
    リスト
================================*/
.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);
      }
    }
  }
}

/* 矢印▶（右向き） */
.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); }
    }
  }
  /* 下向き */
  &.__bottom {
    > .m_list__item::before { transform: rotate(90deg); }
  }
}


/* ■、①など */
.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_columnBox {
  border: 1px solid var(--theme_main);
  border-radius: 10px;
  margin-block: 30px;
  padding: 10px 15px;
  &:last-child { margin-bottom: 0; }
}

.m_columnBox > * + *  { margin-top: 10px; }

.m_columnBox__title {
  border-bottom: 1px solid currentColor;
  font-size: 16px;
  font-weight: bold;
  width: fit-content;
}


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

.m_faqWrap__body {
  margin-bottom: 50px;

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

.m_faqWrap__item {}

.m_faq {
  border-bottom: 1px solid #CBCBCB;
  font-size: 16px;
  overflow: hidden;
  padding: 25px;
  &:first-child { padding-top: 0; }
}

.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: 16px;
  font-weight: 700;
  min-height: 2lh;

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

  &::after {
    background-color: currentColor;
    clip-path: polygon(60% 0, 40% 0, 40% 40%, 0 40%, 0 60%, 40% 60%, 40% 100%, 60% 100%, 60% 60%, 100% 60%, 100% 40%, 60% 40%);
    content: "";
    display: block;
    flex-shrink: 0;
    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; */
    margin-left: auto;
    transition: .3s transform;
    width: 25px;
  }
}

.m_faq.is_opend .m_faq__msg--q::after {
  clip-path: polygon(0 40%, 100% 40%, 100% 60%, 0 60%);
  transform: rotate(180deg);
}

.m_faq__msg--a {
  padding-top: 20px;
  padding-right: 35px;
  font-size: 16px;

  &::before {
    align-self: flex-start;
    color: var(--theme_main, red);
    content: "A";
    flex-shrink: 0;
    font-family: roboto,sans-serif;
    font-size: 40px;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    padding-right: 20px;
  }
}

.m_faq__inner {
  & > * + * { margin-top: 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_linkWrapper {
  align-items: center;
  container: button / inline-size;
  display: flex;
}
.m_linkWrapper--align_left { justify-content: flex-start; }
.m_linkWrapper--align_center { justify-content: center; }
.m_linkWrapper--align_right { justify-content: flex-end; }

:is(.l_main) a:not([class*=link]):not(.m_btn) {
  color: #052674;
  text-decoration: none;

  &:hover {
    color: #005580;
    text-decoration: underline;
  }
}
.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); }
}

.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%;
  }
  
}




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

    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; }
}
