@charset "UTF-8";
/**
 * PC SP 表示切り替え
 * NOTE: display: none以外は記述禁止
**/
@media (min-width: 768px) {
  .sp--disp,
  .sp-disp,
  .sp_disp {
    display: none !important;
  }
}
@media (max-width: 767.98px) {
  .pc--disp,
  .pc-disp,
  .pc_disp {
    display: none !important;
  }
}


/**
 * テキスト装飾
**/
.text_underline {
  background: linear-gradient(transparent 50%, var(--marker-c) 50%);
}
.text_link {
  color: var(--font-c-link);
  text-decoration: underline;
}


/**
 * 色
**/
.fc__red {
  color: var(--site-c-red);
}
.fc__blue {
  color: var(--site-c-main);
}

/**
 * フォントウェイト
**/
.fw_700,
.fw_bold {
  font-weight: 700;
}
.fw_600 {
  font-weight: 600;
}
.fw_500 {
  font-weight: 500;
}
.fw_400 {
  font-weight: 400;
}

/**
 * テキストアライン
**/
.text_right {
  text-align: right;
}
.text_left {
  text-align: left;
}
.text_center {
  text-align: center;
}


/**
 * マージン
**/
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}
.mt35 {margin-top: 35px;}
.mt40 {margin-top: 40px;}
.mt45 {margin-top: 45px;}
.mt50 {margin-top: 50px;}
.mt55 {margin-top: 55px;}
.mt60 {margin-top: 60px;}
.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb35 {margin-bottom: 35px;}
.mb40 {margin-bottom: 40px;}
.mb45 {margin-bottom: 45px;}
.mb50 {margin-bottom: 50px;}
.mb55 {margin-bottom: 55px;}
.mb60 {margin-bottom: 60px;}

/**
 * 幅
**/
.w50 {width: 50px;}
.w100 {width: 100px;}
.w150 {width: 150px;}
.w200 {width: 200px;}
.w250 {width: 250px;}
.w300 {width: 300px;}
.w350 {width: 350px;}
.w400 {width: 400px;}

/**
 * フロート
**/
.fl {
  float: left;
}

.fr {
  float: right;
}

/**
 * clearfix
**/
.clear {
  clear: both;
}

.cf::after,
.clearfix::after {
  content: '';
  display: table;
  clear: both;
}

/**
 * フレックス
**/
.flex_wrap {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
}

/**
* base_wrap
* NOTE: サイト内共通 横幅
**/
.base_wrap {
  max-width: var(--site-container-width);
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--site-container-padding);
}

/**
 * .bg__full_width
 * NOTE: .base_wrap内でも背景の横幅だけが画面幅100%となり、コンテンツ幅はそのまま親要素の横幅を継承する
**/
.bg__full_width {
  margin-left: calc((100vw - 100%) / -2);
  margin-right: calc((100vw - 100%) / -2);
  padding-left: calc((100vw - 100%) / 2);
  padding-right: calc((100vw - 100%) / 2);
}


/**
 * bg__type_xxxx
 * サイト内共通 背景色は以下に記述
**/
.bg__type_default {
  background-color: var(--site-bg-c);
}
.bg__type_sub {
  background-color: var(--site-bg-c-sub);
}
.bg__type_gray {
  background-color: var(--site-bg-c-underlayer);
}


/**
 * 
 * 共通タイトル
 * NOTE: 使用例 <elem class="c_title"><span>新着情報</span><a>もっとみる</a></elem>
 * 
**/
.c_title {
  font-size: 22px;
  font-weight: 700;
  background: var(--site-bg-c-sub);
  color: var(--site-c-main);
  margin-bottom: 20px;
  padding: 12px 20px;
  position: relative;
}
*+.c_title {
  margin-top: 24px;
}
@media (max-width: 767.98px) {
  .c_title {
    font-size: 18px;
    text-align: center;
    margin-bottom: 16px;
    padding: 12px 20px;
  }
}
/* 小さい英字 */
.c_title::after {
  content: attr(data-small);
  display: block;
  color: var(--font-c);
  font-size: 16px;
  line-height: 0.6;
  margin: 0 0 0;
  transform: scale(0.6);
  transform-origin: left center;
}
@media (max-width: 767.98px) {
  .c_title::after {
    transform-origin: center center;
    margin: 0;
  }
}
/* タイトル文字 */
/* NOTE: spanの使用を推奨 */
.c_title > span {
  display: inline-block;
  vertical-align: middle;
}
@media (max-width: 767.98px) {
  .c_title > span {
    display: block;
  }
}
/* アイコン（デフォルト不使用） */
.c_title > i {
  display: none;
}
@media (max-width: 767.98px) {
  .c_title > i {
    display: none;
    margin: 0 0 13px;
  }
}
.c_title > i > img {
  width: auto;
  height: 1.5em;
  vertical-align: middle;
}
@media (max-width: 767.98px) {
  .c_title > i > img {
    width: auto;
    height: 25px;
  }
}
/* リンク */
.c_title > a {
  display: block;
  font-size: 14px;
  font-weight: 500;
  position: absolute;
  top: 16px;
  right: 0;
  z-index: 1;
  transform: translate(0, -50%);
}
.c_title > a::before {
  content: "\f105";
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;
  margin-right: 8px;
}


/**
 * 共通list
**/
*+.list__type_dot,
*+.list__type_number,
*+.list__type_notes,
*+.list__type_round {
  margin-top: 16px;
}

/* ドットアイコン */
.list__type_dot > li {
  line-height: 1.5;
  padding: 0 0 0 1em;
  position: relative;
}
.list__type_dot li + li {
  margin-top: 0.25em;
}
.list__type_dot li::before {
  content: '';
  display: inline-block;
  border-radius: 50%;
  background: var(--site-c-main);
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0;
  top: 0.75em;
  transform: translate(0, -40%) scale(0.25);
  transform-origin: left center;
}

/* まる塗りつぶしアイコン */
.list__type_round > li {
  line-height: 1.5;
  padding: 0 0 0 1.5em;
  position: relative;
}
.list__type_round li + li {
  margin-top: 0.5em;
}
.list__type_round li::before {
  content: '';
  display: inline-block;
  border-radius: 50%;
  background: var(--site-c-black);
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0;
  top: 0.75em;
  transform: translate(0, -50%) scale(1.0);
  transform-origin: left center;
}

/* ※アイコン */
.list__type_notes > li {
  line-height: 1.5;
  padding: 0 0 0 1.5em;
  position: relative;
}
.list__type_notes li + li {
  margin-top: 0.5em;
}
.list__type_notes li::before {
  content: "※";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.75em;
  transform: translate(0, -50%) scale(1.0);
  transform-origin: left center;
}

/* 番号アイコン */
.list__type_number {
  counter-reset: list-number-type;
}
.list__type_number > li {
  line-height: 1.5;
  padding: 0 0 0 1.5em;
  position: relative;
}
.list__type_number li + li {
  margin-top: 0.5em;
}
.list__type_number li::before {
  counter-increment: list-number-type;
  content: counter(list-number-type) '.';
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0.75em;
  transform: translate(0, -50%) scale(1.0);
  transform-origin: left center;
}


/**
 * 共通table
**/
.table {}
.table__type_default {
  --table-border-width: 1px;
  --table-th-width: 160px;
  width: 100%;
  table-layout: auto;
}
*+.table__type_default {
  margin-top: 16px;
}
.table__type_default>thead>tr>th,
.table__type_default>tbody>tr>th,
.table__type_default>tfoot>tr>th,
.table__type_default>thead>tr>td,
.table__type_default>tbody>tr>td,
.table__type_default>tfoot>tr>td {
  border: solid var(--table-border-width) var(--site-border-c);
  background: #fff;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.666;
  text-align: left;
  vertical-align: top;
  padding: 12px 16px;
}
.table__type_default>tbody>tr>th {
  background: var(--site-bg-c-sub);
  width: var(--table-th-width);
	font-weight: 700;
}
.table__type_default>tbody>tr>td {
  width: calc( 100% - var(--table-th-width) );
}

.table__type_default>thead>tr>*+th,
.table__type_default>tbody>tr>*+th,
.table__type_default>tfoot>tr>*+th,
.table__type_default>thead>tr>*+td,
.table__type_default>tbody>tr>*+td,
.table__type_default>tfoot>tr>*+td {
  border-left: none;
  position: relative;
}
.table__type_default>thead>tr>*+th::before,
.table__type_default>tbody>tr>*+th::before,
.table__type_default>tfoot>tr>*+th::before,
.table__type_default>thead>tr>*+td::before,
.table__type_default>tbody>tr>*+td::before,
.table__type_default>tfoot>tr>*+td::before {
  content: '';
  display: block;
  background: inherit;
  width: var(--table-border-width);
  position: absolute;
  top: 0;
  left: calc( var(--table-border-width) * -1 );
  bottom: 0;
  right: auto;
}

