@charset "UTF-8";
/* ユーティリティ・レイアウト等 */

/* ---------------------------------------------------------
   【レイアウト】
--------------------------------------------------------- */

.widthBase {
  width: 1100px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0 10px;
}

.section_base {
  width: 100%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.widthHalf {
  width: 50%;
}

.width4Half {
  width: 25%;
}

.center {
  text-align: center !important;
}

.right {
  text-align: right !important;
}

.left {
  text-align: left !important;
}

.top {
  vertical-align: top !important;
}

.bottom {
  vertical-align: bottom !important;
}

.grid_container {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.grid_1,
.grid_2,
.grid_2-4,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11 {
  margin-right: 2.857142857142857%;
}

.gm_small .grid_1,
.gm_small .grid_2,
.gm_small .grid_2-4,
.gm_small .grid_3,
.gm_small .grid_4,
.gm_small .grid_5,
.gm_small .grid_6,
.gm_small .grid_7,
.gm_small .grid_8,
.gm_small .grid_9,
.gm_small .grid_10,
.gm_small .grid_11 {
  margin-right: 1.408450704225352%;
}

.grid_1 img,
.grid_2 img,
.grid_2-4 img,
.grid_3 img,
.grid_4 img,
.grid_5 img,
.grid_6 img,
.grid_7 img,
.grid_8 img,
.grid_9 img,
.grid_10 img,
.grid_11 img {
  max-width: 100%;
  height: auto;
}

.grid_1:last-child,
.grid_2:last-child,
.grid_2-4:last-child,
.grid_3:last-child,
.grid_4:last-child,
.grid_5:last-child,
.grid_6:last-child,
.grid_7:last-child,
.grid_8:last-child,
.grid_9:last-child,
.grid_10:last-child,
.grid_11:last-child {
  margin-right: 0;
}

.col2:nth-child(even),
.col3:nth-of-type(3n),
.col4:nth-of-type(4n),
.col5:nth-of-type(5n),
.col6:nth-of-type(6n),
.col7:nth-of-type(7n),
.col8:nth-of-type(8n) {
  margin-right: 0;
}

.grid_1 {
  width: 5.714285714285714%;
}

.grid_2 {
  width: 14.28571428571429%;
}

.grid_2-4 {
  width: 17.71428571428571%;
}

.grid_3 {
  width: 22.85714285714286%;
}

.grid_4 {
  width: 31.42857142857143%;
}

.grid_5 {
  width: 40%;
}

.grid_6 {
  width: 48.57142857142857%;
}

.grid_7 {
  width: 57.14285714285714%;
}

.grid_8 {
  width: 65.71428571428571%;
}

.grid_9 {
  width: 74.28571428571429%;
}

.grid_10 {
  width: 82.85714285714286%;
}

.grid_11 {
  width: 91.42857142857143%;
}

.grid_12 {
  width: 100%;
}

.gm_small .grid_1 {
  width: 7.042253521126761%;
}

.gm_small .grid_2 {
  width: 15.49295774647887%;
}

.gm_small .grid_2-4 {
  width: 18.87323943661972%;
}

.gm_small .grid_3 {
  width: 23.94366197183099%;
}

.gm_small .grid_4 {
  width: 32.3943661971831%;
}

.gm_small .grid_5 {
  width: 40.84507042253521%;
}

.gm_small .grid_6 {
  width: 49.29577464788732%;
}

.gm_small .grid_7 {
  width: 57.74647887323944%;
}

.gm_small .grid_8 {
  width: 66.19718309859155%;
}

.gm_small .grid_9 {
  width: 74.64788732394366%;
}

.gm_small .grid_10 {
  width: 83.09859154929577%;
}

.gm_small .grid_11 {
  width: 91.54929577464789%;
}

.block_1 img
, .block_2 img
, .block_2-4 img
, .block_3 img
, .block_4 img
, .block_5 img
, .block_6 img
, .block_7 img
, .block_8 img
, .block_9 img
, .block_10 img
, .block_11 img {
  max-width: 100%;
  height: auto;
}

.block_1 {
  width: 8.333%;
}

.block_2 {
  width: 16.666%;
}

.block_2-4 {
  width: 20%;
}

.block_3 {
  width: 25%;
}

.block_4 {
  width: 33.333%;
}

.block_5 {
  width: 41.665%;
}

.block_6 {
  width: 50%;
}

.block_7 {
  width: 58.331%;
}

.block_8 {
  width: 66.666%;
}

.block_9 {
  width: 75%;
}

.block_10 {
  width: 83.33%;
}

.block_11 {
  width: 91.663%;
}

.block_12 {
  width: 100%;
}

.nav_block li {
  float: left;
}

.nav_block a {
  display: block;
}

.nav_block_3 {
  width: 33.33333333333333%;
  width: 320px;
}

.nav_block_4 {
  width: 25%;
  width: 240px;
}

.nav_block_5 {
  width: 20%;
  width: 192px;
}

.nav_block_6 {
  width: 16.66666666666667%;
  width: 160px;
}

.nav_block_7 {
  width: 14.27083333333333%;
  width: 137px;
}

.nav_block_7:last-child {
  width: 14.375%;
  width: 138px;
}

.nav_block_8 {
  width: 12.5%;
  width: 120px;
}

.tab {
  display: none;
}

.tab_over_ib {
  display: inline-block;
}

.tab_und {
  display: none;
}

.tab_ib {
  display: none;
}

.tab_und_ib {
  display: none;
}

.tab_hide_ib {
  display: inline-block;
}

.sp {
  display: none;
}

.sp_ib {
  display: none;
}

.d-b {
  display: block;
}

.d-ib {
  display: inline-block;
}

.va-t {
  vertical-align: top;
}

.va-m {
  vertical-align: middle;
}

.va-b {
  vertical-align: bottom;
}

/* d-ibの親にセットすることで隙間を消す */
.ib-nospace {
  font-size: 0;
}

/* 上記の指定により文字が消滅するのを防ぐ */
.ib-nospace > * {
  font-size: 1rem;
}

.mxw-100per {
  max-width: 100%;
}

.mxh-100per {
  max-height: 100%;
}

/* ---------------------------------------------------------
   【utility】
--------------------------------------------------------- */

/* （親）フレックスボックス基本設定 */
.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* （親）上から下へ垂直方向に配置 */
.u-flex-fdc {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* （親）右から左に配置 */
.u-flex-fdrr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* （親）横複数行に配置 */
.u-flex-fww {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/* （親）親要素の高さいっぱいに配置 */
.u-flex-ais {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  height: auto;
}

/* （親）クロス軸の中央に配置 */
.u-flex-aic {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* （親）クロス軸の最後に配置 */
.u-flex-aife {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

/* （親）中央に配置 */
.u-flex-jcc {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* （親）等間隔に配置 */
.u-flex-jcsa {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
.u-flex-jcsb {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/* （親）最後に配置 */
.u-flex-jcfe {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/* フリーのポジティブなスペースがある場合に
flexアイテムが他のflexアイテムと比較してどのくらいの大きさになるかを指定 */
.u-flex-item-fg-1 {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

/* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
.u-flex-item-fb-full {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}

.u-flex-item-fb-25p {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%;
}

.u-flex-item-fb-one-thirds {
  -ms-flex-preferred-size: 33.3%;
  flex-basis: 33.3%;
  max-width: 33.3%;
}

.u-flex-item-fb-half {
  -ms-flex-preferred-size: 49%;
  flex-basis: 49%;
  max-width: 49%;
}

.flex-row {
  margin-right: -15px;
  margin-left: -15px;
}

.flex-row > .flex-item {
  padding-right: 15px;
  padding-left: 15px;
}

.flex-row._small {
  margin-right: -10px;
  margin-left: -10px;
}

.flex-row._small > .flex-item {
  padding-right: 10px;
  padding-left: 10px;
}

/* iframeに自動振り分けされるクラス */
.u-obj-box {
  position: relative;
  max-width: 100%;
  height: 0;
  padding-top: 40%;
  overflow: hidden;
  background-color: #222;
}

.u-obj-box video,
.u-obj-box object,
.u-obj-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.u-obj-box object {
  height: auto;
}

/* object-fit */
.object-fit-cover img {
  /*
    ↓適宜指定
    width: ;
    height: ;
*/
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: cover;';
}

/* アコーディオンクラス */
.accordion {
  position: relative;
  cursor: pointer;
}

.u-hide {
  display: none;
}

/* アコーディオンの矢印 使用する場合は有効に */
[class*="accordion"]::after {
  display: inline-block;
  z-index: 5;
  position: absolute;
  top: 0;
  right: .5em;
  bottom: 0;
  height: 10px;
  margin: auto 0;
  font-size: .8em;
}

.accordion::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  content: ">";
}

.accordion.open::after {
  -webkit-transform: rotate(-90deg);
  right: 1.4em;
  transform: rotate(-90deg);
}

/* 画像を4:3の比率に切り取る。imgタグのコンテナにいずれかをセット */
/* ※flex-box内で使用する場合は、flex-itemのpadding-bottom:100%が効かなくなる(高さに対する割合になる？)ため、flex-box内にもう一段divで囲う。
flex-box>div1>div2>img の様に。
div1にflex-basisで幅を指定、div2に.u-imgFrame をセットし、width:100%;とする。
参考) https://stackoverflow.com/questions/36783190/why-doesnt-percentage-padding-margin-work-on-flex-items-in-firefox/36783414
*/
.u-imgFrame
, .u-imgFrame--Vertical {
  /*余った部分の背景色*/
  display: block;
  position: relative;
  /*	width: 横幅を決める必要がある場合は任意の数値を入れて下さい;*/
  padding-bottom: 75%;
  /* 横幅に対する縦の比率。ここを変更すれば4:3以外の比率も可能です。 */
  overflow: hidden;
  background-color: #eee;
}

.u-imgFrame--Vertical.u-imgFrame--square {
  padding-bottom: 100%;
}

.u-imgFrame img
, .u-imgFrame--Vertical img {
  -webkit-transform: translate(-50%, -50%);
  /* 真ん中に */
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  transform: translate(-50%, -50%);
}

.u-imgFrame--Vertical img {
  width: auto;
  max-width: none;
  height: 100%;
}

/*ボックスの中の位置揃え*/
.u-box-container {
  position: relative;
}

[class*="u-box-in-"] {
  position: absolute;
}

.u-box-in-center {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.u-box-in-top-center {
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.u-box-in-bottom-center {
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 auto;
}

.u-box-in-top-left {
  top: 0;
  left: 0;
}

.u-box-in-top-right {
  top: 0;
  right: 0;
}

.u-box-in-bottom-left {
  bottom: 0;
  left: 0;
}

.u-box-in-bottom-right {
  right: 0;
  bottom: 0;
}

/*animation*/
.u-effect {
  -webkit-transition: .6s;
  -webkit-transition-delay: .4s;
  transition: .6s;
  transition-delay: .4s;
}

.u-effect + .u-effect {
  -webkit-transition-delay: .7s;
  transition-delay: .7s;
}

.u-effect + .u-effect + .u-effect {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

/* ---------------------------------------------------------
   【テキストスタイル】
--------------------------------------------------------- */

.fc-green {
  color: #009747;
}

.fc-brown {
  color: #c27d2f;
}

.fc-red {
  color: #cc0000;
}

.fc-blue {
  color: #4c9cb6;
}

.fc-navy {
  color: #080850;
}

.fc-yellow {
  color: #f90;
}

.fc-orange {
  color: #f60;
}

.fc-lnk-blue, a.fc-lnk-blue {
  color: #036eb7;
}

.fc-white, a.fc-white {
  color: #fff;
}

.fc-black, a.fc-black {
  color: #000;
}

.fc-dark-gray, a.fc-dark-gray {
  color: #231815;
}

.fb-yelow {
  background-color: #ff9;
}

a:hover .fb-yelow {
  background-color: #ff9;
  text-decoration: underline;
}

.bg-orange {
  border: solid 1px #fff0d0;
  background-color: #fff8e8;
}

/* フォント */
.ff-notosansjp {
  font-family: 'Noto Sans JP', sans-serif;
}

.ff-notosansjapanese {
  font-family: 'Noto Sans Japanese', sans-serif;
}

.ff-cinzel {
  font-family: 'Cinzel', serif;
}

.ff-mincho {
  font-family: '游明朝', 'Yu Mincho', "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "MS Mincho","Noto Serif JP", serif;
}

.ff-gothic {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ ゴシック", "MS Gothic", sans-serif;
}

.ff-roundedmplus1c {
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.ff-hannari {
  font-family: "Hannari",'游明朝', 'Yu Mincho', "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "MS Mincho","Noto Serif JP", serif;
}

.ff-notoserifjp {
  font-family: 'Noto Serif JP', serif;
}

.ff-mplus {
  font-family: 'M PLUS 1p', sans-serif;
  letter-spacing: 0;
}

/* フォントウェイト */
.fw-inherit {
  font-weight: inherit;
}

.bold {
  font-weight: bold;
}

.fw-normal {
  font-weight: normal;
}

/* notosansjp */
.fw-notojp100thin {
  font-weight: 100;
}

.fw-notojp200light {
  font-weight: 300;
}

/*.fw-notojp300demilight {font-weight:350;}*/
/* DemiLightは Noto Sans Japaneseにはあるが、Noto Sans JPには現在、存在しない */
.fw-notojp400regular {
  font-weight: 400;
}

.fw-notojp500medium {
  font-weight: 500;
}

.fw-notojp700bold {
  font-weight: 700;
}

.fw-notojp900black {
  font-weight: 900;
}

/* notosansjp */
.fw-notojapanese100thin {
  font-weight: 100;
}

.fw-notojapanese200light {
  font-weight: 200;
}

.fw-notojapanese300demilight {
  font-weight: 300;
}

.fw-notojapanese400regular {
  font-weight: 400;
}

.fw-notojapanese500medium {
  font-weight: 500;
}

.fw-notojapanese700bold {
  font-weight: 700;
}

.fw-notojapanese900black {
  font-weight: 900;
}

/* cinzel */
.fw-cinzel400regular {
  font-weight: 400;
}

.fw-cinzel700bold {
  font-weight: 700;
}

.fw-cinzel900black {
  font-weight: 900;
}

/* Mincho */
.fw-mincho300light {
  font-weight: 300;
}

.fw-mincho400regular {
  font-weight: 400;
}

.fw-mincho600demibold {
  font-weight: 600;
}

/* Gochic */
.fw-gothic300light {
  font-weight: 300;
}

.fw-gothic400regular {
  font-weight: 400;
}

.fw-gothic500medium {
  font-weight: 500;
}

.fw-gothic600bold {
  font-weight: 600;
}

/* フォントスタイル */
.fs-normal {
  font-style: normal;
}

/* テキストトランスフォーム */
.tt_upper {
  text-transform: uppercase;
}

.tt_lower {
  text-transform: lowercase;
}

/* リストスタイル */
.ls-none {
  list-style: none;
}

.ls-none-imp {
  list-style: none !important;
}

/* ---------------------------------------------------------
   【font-size 13px 100%】
--------------------------------------------------------- */

.f10 {
  font-size: 10px;
}

.f11 {
  font-size: 11px;
}

.f12 {
  font-size: 12px;
}

.f13 {
  font-size: 13px;
}

.f14 {
  font-size: 14px;
}

.f15 {
  font-size: 15px;
}

.f16 {
  font-size: 16px;
}

.f17 {
  font-size: 17px;
}

.f18 {
  font-size: 18px;
}

.f19 {
  font-size: 19px;
}

.f20 {
  font-size: 20px;
}

.f21 {
  font-size: 21px;
}

.f22 {
  font-size: 22px;
}

.f24 {
  font-size: 24px;
}

.f26 {
  font-size: 26px;
}

.f28 {
  font-size: 28px;
}

/* ---------------------------------------------------------
   【余白】	5px未満は個別に追加
--------------------------------------------------------- */

.mt00 {
  margin-top: 0 !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt120 {
  margin-top: 120px !important;
}

.mb00 {
  margin-bottom: 0 !important;
}

.mb01 {
  margin-bottom: 1px !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml00 {
  margin-left: 0px !important;
}

.ml05 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.mr00 {
  margin-right: 0px !important;
}

.mr05 {
  margin-right: 5px !important;
}

.mr08 {
  margin-right: 8px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.pt00 {
  padding-top: 0px !important;
}

.pt05 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb00 {
  padding-bottom: 0px !important;
}

.pb05 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl00 {
  padding-left: 0px !important;
}

.pl05 {
  padding-left: 05px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr04 {
  padding-right: 04px !important;
}

.pr05 {
  padding-right: 05px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.inner00 {
  padding: 0;
}

.inner05 {
  padding: 5px;
}

.inner10 {
  padding: 10px;
}

.inner15 {
  padding: 15px;
}

.inner20 {
  padding: 20px;
}

.inner25 {
  padding: 25px;
}

.inner30 {
  padding: 30px;
}

/* ---------------------------------------------------------
   【フロート】
--------------------------------------------------------- */

.fl {
  float: left;
}

.fr {
  float: right;
}

.both {
  clear: both;
}

.both03 {
  height: 03px;
  clear: both;
}

.both05 {
  height: 05px;
  clear: both;
}

.both09 {
  height: 09px;
  clear: both;
}

.both10 {
  height: 10px;
  clear: both;
}

.both15 {
  height: 15px;
  clear: both;
}

.both20 {
  height: 20px;
  clear: both;
}

.both25 {
  height: 25px;
  clear: both;
}

.both30 {
  height: 30px;
  clear: both;
}

.both40 {
  height: 40px;
  clear: both;
}

.both50 {
  height: 50px;
  clear: both;
}

.both60 {
  height: 60px;
  clear: both;
}

.both70 {
  height: 70px;
  clear: both;
}

.both80 {
  height: 80px;
  clear: both;
}

.both90 {
  height: 90px;
  clear: both;
}

.both100 {
  height: 100px;
  clear: both;
}

.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/* ベース部分 */

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

html {
  height: 100%;
}

body, input, textarea, td, th {
  color: #534741;
  /* Shippori Mincho　しっぽり明朝 */
  font-family: 'Shippori Mincho', serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.1em;
}

body, input, textarea {
  background-color: #fff;
}

input[type="checkbox"], input[type="radio"] {
  background-color: inherit;
}

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body > img[id^="Vesicomyid"] {
  display: none;
}

a,
a:hover,
a img,
a:hover img {
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}

a.op:not(.lnk_no_opacity):hover img,
a:not(.lnk_no_opacity):hover img,
#sSubmit:hover {
  filter: alpha(opacity=80);
  opacity: 0.8;
}

a {
  color: #4da6ff;
  text-decoration: none;
}

a:visited {
  color: #4da6ff;
}

a:hover {
  color: #006dd9;
  text-decoration: underline;
  filter: alpha(opacity=80);
  opacity: 0.8;
}

a.lnk_no_txt_dec:hover, .single_post_link a {
  text-decoration: none;
}

a.lnk_no_opacity:hover {
  filter: alpha(opacity=100);
  opacity: 1;
}

a.lnk_color_inherit, .lnk_color_inherit a {
  color: inherit;
}

a:active {
  color: #4da6ff;
  text-decoration: none;
}

a:focus {
  outline: none;
}

/* 電話番号のリンクイベント */
a[href^="tel:"] {
  display: inline-block;
  pointer-events: none;
}

/*res start　481px*/

/*res end 481px*/
input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

em {
  font-style: normal;
  font-weight: bold;
}

strong {
  font-style: normal;
  font-weight: bold;
}

img {
  -webkit-backface-visibility: hidden;
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}

body#tinymce {
  padding: 10px;
  background: none;
  background-color: #FFF;
  background-image: none;
}

#tinymce .alignleft,
#tinymce img.alignleft,
.section .alignleft,
.section img.alignleft {
  margin-top: 4px;
  margin-right: 24px;
  float: left;
}

#tinymce .alignright,
#tinymce img.alignright,
.section .alignright,
.section img.alignright {
  margin-top: 4px;
  margin-left: 24px;
  float: right;
}

#tinymce .aligncenter,
#tinymce img.aligncenter,
.section .aligncenter,
.section img.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
  clear: both;
}

#tinymce img.alignleft,
#tinymce img.alignright,
#tinymce img.aligncenter,
.section img.alignleft,
.section img.alignright,
.section img.aligncenter {
  margin-bottom: 12px;
}

#tinymce ul:not([class]) li,
.section ul:not([class]) li {
  margin-bottom: 8px;
  margin-left: 20px;
  line-height: 1.3;
  list-style: disc;
}

#tinymce ul[class] li,
.section ul[class] li {
  list-style: none;
}

#tinymce ol:not([class]) li,
.section ol:not([class]) li {
  margin-bottom: 8px;
  margin-left: 25px;
  line-height: 1.3;
  list-style: decimal;
}

/* --------------------------------------------
   【topics】
-------------------------------------------- */

.section_topics {
  margin: 1em 0;
  padding: 1em;
}

.topics_container {
  margin: 0 -.5em;
}

.topics_item {
  padding: 0 .5em;
}

.topics_content_date {
  color: #666;
  font-size: .8em;
}

.topics_content_title {
  margin: .5em 0;
  font-size: 1.2em;
}

.topics_content_txt {
  word-break: break-all;
}

/* --------------------------------------------
   【sidebar】
-------------------------------------------- */

/* --------------------------------------------
   共通パーツ
-------------------------------------------- */

.cnt_widthBase {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  overflow-x: hidden;
}

/* ヘッダー */

/* PCナビ */
/* PCナビ 追従 */
.hdrNav.scroll {
  z-index: 100000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
}

/* PCナビ カレント */
.hdrNav [aria-current] a {
  pointer-events: none;
}

/* モバイルメニュー */
.hdr_slidemenu {
  -webkit-transform: translateX(100%);
  display: none;
  z-index: -1;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  overflow-y: auto;
  transform: translateX(100%);
  background-color: rgba(255, 230, 154, 0.95);
  opacity: 0;
}

/* オープン時 */
.hdr_slidemenu.select {
  -webkit-transform: translateX(0);
  display: block;
  z-index: 100001;
  left: 0;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  transform: translateX(0);
  opacity: 1;
  /*追従するモバイルロゴより上に*/
}

.hdr_slidemenu a {
  color: #333;
}

.hdr_slidemenu_nav {
  width: 38.4375em;
  margin: 6.25em auto 9.375em;
  font-size: 0.8em;
}

.hdr_slidemenu_nav li {
  border-bottom: 1px dashed #534741;
  font-size: 2em;
  list-style: none;
  text-align: center;
}

.hdr_slidemenu_nav li a {
  display: block;
  padding: 0.9375em 0.5em;
  color: inherit;
  text-decoration: none;
}

/* モバイルメニュー */
.menu_bar {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.75em;
  margin-right: 1em;
  color: #534741;
  cursor: pointer;
}

.menuTitle {
  margin-top: 0.5em;
  font-size: 1.25em;
  text-align: center;
}

.menu_bar.select .menuTitle {
  margin-top: .3em;
  letter-spacing: 0;
}

.menu_bar.select .menu_bar_img {
  width: 1.9375em;
}

/* モバイルメニュー 追従 */
.hdrLogo.scroll,
.headerLogo.scroll {
  z-index: 100000;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  left: 0;
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  background-color: #fff;
}

/* モバイル お問い合わせ */
.contact_area li {
  width: 100%;
  background: #009de6;
}

.contact_area li:nth-of-type(2) {
  margin-left: auto;
}

.contact_area li a {
  display: block;
  padding: 10vw 0 3vw;
  border-right: 1px solid #fff;
  color: #fff;
  font-weight: bold;
}

.hdr_slidemenu .contact_area li a {
  padding: 5vw 0;
}

.contact_area li.contact_area_tel a {
  background: url(../images/hdr_phone.svg) center 2vw/4vw no-repeat;
}

.contact_area li.contact_area_web a {
  background: url(../images/hdr_mail.svg) center 3vw/6vw no-repeat;
}

.contact_area li a:hover {
  opacity: .7;
}

.headerLogo {
  -webkit-box-shadow: 0 0.1875em 0.1875em rgba(0, 0, 0, 0.4);
  padding-top: 0.6875em;
  padding-bottom: 0.9375em;
  border-top: 0.625em solid #534741;
  background-color: #fff;
  box-shadow: 0 0.1875em 0.1875em rgba(0, 0, 0, 0.4);
}

.headerLogo_left {
  padding-left: 1.25em;
}

.headerLogo_top {
  font-size: 1.5em;
  font-weight: normal;
  line-height: 1.3;
}

.headerLogo__txt {
  margin-top: 0.14286em;
  font-size: 2.1875em;
  font-weight: bold;
  line-height: 1;
}

a.headerLogo__txt {
  display: inline-block;
  color: #534741;
  text-decoration: none;
}

.headerLogo_right {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}

.headerLogo_right_tel {
  margin-right: 0;
  margin-left: auto;
  padding: 0.8125em 1.25em 0.5625em;
  background-color: #534741;
  background-position: 0.5em top;
  background-repeat: no-repeat;
  background-size: contain;
  font-weight: bold;
  text-align: center;
}

a.headerLogo_right_tel {
  display: block;
  color: inherit;
  text-decoration: none;
}

.headerLogo_right_tel_txt {
  color: #fff;
  font-size: 1.25em;
  line-height: 1;
}

.headerLogo_right_tel_num {
  margin-top: 0.1em;
  color: #fff889;
  font-size: 1.6875em;
  letter-spacing: -0.025em;
  line-height: 1;
}

.headerLogo_right_time {
  margin-top: 0.25em;
  color: #fff;
  font-size: 0.9375em;
}

.hdr_main_img {
  z-index: -1;
  position: relative;
}

/* フッター */

.ftr {
  padding-bottom: 1em;
  background-color: #534741;
}

.ftr_hp {
  width: 10em;
  margin: 0 auto;
  padding: 0.55em;
  border-radius: 1.66667em;
  background-color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
}

a.ftr_hp {
  display: block;
  color: inherit;
  text-decoration: none;
}

.copyright-txt {
  margin-top: 0.75em;
  color: #fff;
  font-size: 1.375em;
  letter-spacing: -0.1em;
}

.bottom_cnv {
  z-index: 100;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding-top: 0.625em;
  padding-bottom: 0.625em;
  background-color: #534741;
}

.bottom_cnv_label {
  width: 18.21739em;
  margin: 0 auto;
  border: 1px solid #fff889;
  border-radius: 0.78261em;
  color: #fff889;
  font-size: 1.4375em;
  text-align: center;
}

.bottom_cnv_tel_icon {
  width: 2.0625em;
}

.bottom_cnv_tel_num {
  margin-left: 0.15em;
  font-size: 3.1875em;
  font-weight: bold;
  line-height: 1;
}

a.bottom_cnv_tel_num {
  color: #fff !important;
  text-decoration: none;
}

.bottom_cnv_time {
  color: #Fff;
  font-size: 1.625em;
  font-weight: bold;
}

.bottom_cnv_right {
  width: 14.9375em;
  margin-left: 0.9375em;
}

@media screen and (max-width: 1900px) {
  /* ユーティリティ・レイアウト等 */
  /* ベース部分 */
  /* ヘッダー */
}

@media screen and (max-width: 1540px) {
  /* ユーティリティ・レイアウト等 */
  /* ベース部分 */
  /* ヘッダー */
  /* フッター */
}

@media screen and (max-width: 1260px) {
  /* ユーティリティ・レイアウト等 */
  /* ベース部分 */
  /* ヘッダー */
  /* フッター */
}

@media screen and (max-width: 1024px) {
  /* ユーティリティ・レイアウト等 */
  /* 【レイアウト】 */
  .widthBase {
    width: 95%;
    padding: 0;
  }
  /* 【utility】 */
  /* （親）フレックスボックス基本設定 */
  .u-flex-t-l {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  /* （親）上から下へ垂直方向に配置 */
  .u-flex-fdc-t-l {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  /* （親）横複数行に配置 */
  .u-flex-fww-t-l {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  /* （親）親要素の高さいっぱいに配置 */
  .u-flex-ais-t-l {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: auto;
  }
  /* （親）クロス軸の中央に配置 */
  .u-flex-aic-t-l {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  /* （親）中央に配置 */
  .u-flex-jcc-t-l {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  /* （親）等間隔に配置 */
  .u-flex-jcsa-t-l {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  /* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
  .u-flex-jcsb-t-l {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  /* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
  .u-flex-item-fb-half-t-l {
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
    max-width: 49%;
  }
  .u-flex-item-fb-full-t-l {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  /* 表示優先度 */
  .u-flex-item-o-0-t-l {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .u-flex-item-o-1-t-l {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  /* 【テキストスタイル】 */
  /* 【font-size】 */
  /* 【余白】 */
  /* 【フロート】 */
  /* ベース部分 */
  a:hover {
    text-decoration: none;
  }
  /* 【topics】 */
  /* 【sidebar】 */
  /* 共通パーツ */
  /* ヘッダー */
  .headerLogo_left {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .headerLogo__txt {
    font-size: 1.8em;
  }
  .headerLogo_right {
    margin-right: 2em;
    font-size: 0.9em;
  }
  /* フッター */
}

@media screen and (max-width: 750px) {
  /* ユーティリティ・レイアウト等 */
  /* 【レイアウト】 */
  .tab_center {
    text-align: center !important;
  }
  .tab_left {
    text-align: left !important;
  }
  .tab_right {
    text-align: right !important;
  }
  .col_tab_reset[class*="col"] {
    margin-right: 2.857142857142857%;
  }
  .col_tab_reset[class*="block"] {
    margin-right: 0%;
  }
  .gm_small .col_tab_reset[class*="col"] {
    margin-right: 1.408450704225352%;
  }
  .col2_tab[class*="col"]:nth-of-type(even),
  .col3_tab[class*="col"]:nth-of-type(3n),
  .col4_tab[class*="col"]:nth-of-type(4n),
  .col5_tab[class*="col"]:nth-of-type(5n),
  .col6_tab[class*="col"]:nth-of-type(6n),
  .col7_tab[class*="col"]:nth-of-type(7n),
  .col8_tab[class*="col"]:nth-of-type(8n) {
    margin-right: 0;
  }
  .col2_tab {
    width: 48.57142857142857%;
  }
  .col3_tab {
    width: 31.42857142857143%;
  }
  .col4_tab {
    width: 22.85714285714286%;
  }
  .gm_small .col2_tab {
    width: 49.29577464788732%;
  }
  .gm_small .col3_tab {
    width: 32.3943661971831%;
  }
  .gm_small .col4_tab {
    width: 23.94366197183099%;
  }
  .col2_tab[class*="block"] {
    width: 50%;
  }
  .col3_tab[class*="block"] {
    width: 33.3%;
  }
  .col4_tab[class*="block"] {
    width: 25%;
  }
  .col_tab_all_reset[class*="col"] {
    width: 100%;
    margin-right: 0;
    float: none;
  }
  .pc {
    display: none;
  }
  .tab {
    display: block;
  }
  .tab_und {
    display: block;
  }
  .tab_ib {
    display: inline-block;
  }
  .tab_und_ib {
    display: inline-block;
  }
  .tab_hide {
    display: none;
  }
  .tab_hide_ib {
    display: none;
  }
  /* 【utility】 */
  .u-flex-reset_tab_und {
    display: block;
  }
  /* （親）フレックスボックス基本設定 */
  .u-flex-t {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  /* （親）上から下へ垂直方向に配置 */
  .u-flex-fdc-t {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  /* （親）横複数行に配置 */
  .u-flex-fww-t {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  /* （親）親要素の高さいっぱいに配置 */
  .u-flex-ais-t {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: auto;
  }
  /* （親）クロス軸の中央に配置 */
  .u-flex-aic-t {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  /* （親）中央に配置 */
  .u-flex-jcc-t {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  /* （親）等間隔に配置 */
  .u-flex.u-flex-jcsa-t {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  /* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
  .u-flex-jcsb-t {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  /* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
  .u-flex-item-fb-half-t {
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
    max-width: 49%;
  }
  .u-flex-item-fb-full-t {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  /* 表示優先度 */
  .u-flex-item-o-0-t {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .u-flex-item-o-1-t {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  /* アコーディオン */
  .accordion-tab {
    position: relative;
    cursor: pointer;
  }
  .u-hide-tab {
    display: none;
  }
  /* アコーディオン矢印（任意） */
  .accordion-tab::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    content: ">";
  }
  .accordion-tab.open::after {
    -webkit-transform: rotate(-90deg);
    right: 1.4em;
    transform: rotate(-90deg);
  }
  /* 【テキストスタイル】 */
  /* 【font-size】 */
  .f10_tab {
    font-size: 10px;
  }
  .f11_tab {
    font-size: 11px;
  }
  .f12_tab {
    font-size: 12px;
  }
  .f13_tab {
    font-size: 13px;
  }
  .f14_tab {
    font-size: 14px;
  }
  .f15_tab {
    font-size: 15px;
  }
  .f16_tab {
    font-size: 16px;
  }
  .f18_tab {
    font-size: 18px;
  }
  .f20_tab {
    font-size: 20px;
  }
  .f21_tab {
    font-size: 21px;
  }
  .f22_tab {
    font-size: 22px;
  }
  .f24_tab {
    font-size: 24px;
  }
  .f26_tab {
    font-size: 26px;
  }
  .f28_tab {
    font-size: 28px;
  }
  .f42_tab {
    font-size: 42px;
  }
  .f56_tab {
    font-size: 56px;
  }
  /* 【余白】 */
  .mt00_tab {
    margin-top: 0 !important;
  }
  .mt05_tab {
    margin-top: 5px !important;
  }
  .mt10_tab {
    margin-top: 10px !important;
  }
  .mt15_tab {
    margin-top: 15px !important;
  }
  .mt20_tab {
    margin-top: 20px !important;
  }
  .mt25_tab {
    margin-top: 25px !important;
  }
  .mt30_tab {
    margin-top: 30px !important;
  }
  .mt40_tab {
    margin-top: 40px !important;
  }
  .mt50_tab {
    margin-top: 50px !important;
  }
  .ml00_tab {
    margin-left: 0 !important;
  }
  .ml05_tab {
    margin-left: 5px !important;
  }
  .ml10_tab {
    margin-left: 10px !important;
  }
  .ml15_tab {
    margin-left: 15px !important;
  }
  .ml20_tab {
    margin-left: 20px !important;
  }
  .ml25_tab {
    margin-left: 25px !important;
  }
  .ml30_tab {
    margin-left: 30px !important;
  }
  .mr00_tab {
    margin-right: 0 !important;
  }
  .mr05_tab {
    margin-right: 5px !important;
  }
  .mr10_tab {
    margin-right: 10px !important;
  }
  .mr15_tab {
    margin-right: 15px !important;
  }
  .mr20_tab {
    margin-right: 20px !important;
  }
  .mr25_tab {
    margin-right: 25px !important;
  }
  .mr30_tab {
    margin-right: 30px !important;
  }
  .mb00_tab {
    margin-bottom: 0 !important;
  }
  .mb05_tab {
    margin-bottom: 5px !important;
  }
  .mb10_tab {
    margin-bottom: 10px !important;
  }
  .mb15_tab {
    margin-bottom: 15px !important;
  }
  .mb20_tab {
    margin-bottom: 20px !important;
  }
  .mb25_tab {
    margin-bottom: 25px !important;
  }
  .mb30_tab {
    margin-bottom: 30px !important;
  }
  .pt00_tab {
    padding-top: 0 !important;
  }
  .pt05_tab {
    padding-top: 5px !important;
  }
  .pt10_tab {
    padding-top: 10px !important;
  }
  .pt15_tab {
    padding-top: 15px !important;
  }
  .pt20_tab {
    padding-top: 20px !important;
  }
  .pt25_tab {
    padding-top: 25px !important;
  }
  .pt30_tab {
    padding-top: 30px !important;
  }
  .pl00_tab {
    padding-left: 0 !important;
  }
  .pl05_tab {
    padding-left: 5px !important;
  }
  .pl10_tab {
    padding-left: 10px !important;
  }
  .pl15_tab {
    padding-left: 15px !important;
  }
  .pl20_tab {
    padding-left: 20px !important;
  }
  .pl25_tab {
    padding-left: 25px !important;
  }
  .pl30_tab {
    padding-left: 30px !important;
  }
  .pr00_tab {
    padding-right: 0 !important;
  }
  .pr05_tab {
    padding-right: 5px !important;
  }
  .pr10_tab {
    padding-right: 10px !important;
  }
  .pr15_tab {
    padding-right: 15px !important;
  }
  .pr20_tab {
    padding-right: 20px !important;
  }
  .pr25_tab {
    padding-right: 25px !important;
  }
  .pr30_tab {
    padding-right: 30px !important;
  }
  .pb00_tab {
    padding-bottom: 0 !important;
  }
  .pb05_tab {
    padding-bottom: 5px !important;
  }
  .pb10_tab {
    padding-bottom: 10px !important;
  }
  .pb15_tab {
    padding-bottom: 15px !important;
  }
  .pb20_tab {
    padding-bottom: 20px !important;
  }
  .pb25_tab {
    padding-bottom: 25px !important;
  }
  .pb30_tab {
    padding-bottom: 30px !important;
  }
  /* 【フロート】 */
  .fl.tab_set,
  .fr.tab_set {
    float: none;
  }
  /* ベース部分 */
  body, input, textarea, td, th {
    font-size: 2.1vw;
  }
  /* 【topics】 */
  /* 【sidebar】 */
  /* 共通パーツ */
  /* ヘッダー */
  .hdr_slidemenu_nav {
    font-size: 1em;
  }
  .headerLogo {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-right: 1em;
  }
  .headerLogo_left {
    margin-left: 1em;
    font-size: 0.9em;
  }
  .headerLogo__txt {
    font-size: 2.1875em;
  }
  .headerLogo__menu_inner {
    position: relative;
  }
  .headerLogo__menu_inner .u-hide {
    position: absolute;
    right: 4em;
    bottom: -8em;
    width: 24.125em;
  }
  .headerLogo__menu_inner .u-hide img {
    z-index: 10000;
    position: relative;
  }
  .headerLogo_tel_icon {
    width: 4.75em;
    margin-right: 2.5em;
  }
  .headerLogo_tel_icon::after {
    display: none;
  }
  /* フッター */
  .ftr {
    padding-bottom: 12.5em;
  }
}

@media screen and (max-width: 480px) {
  /* ユーティリティ・レイアウト等 */
  /* 【レイアウト】 */
  .sp_center {
    text-align: center !important;
  }
  .sp_left {
    text-align: left !important;
  }
  .sp_right {
    text-align: right !important;
  }
  .col_sp_reset[class*="col"] {
    margin-right: 2.857142857142857% !important;
  }
  .col_sp_reset[class*="block"] {
    margin-right: 0% !important;
  }
  .gm_small .col_sp_reset[class*="col"] {
    margin-right: 1.408450704225352% !important;
  }
  .col2_sp[class*="col"]:nth-of-type(even),
  .col3_sp[class*="col"]:nth-of-type(3n),
  .col4_sp[class*="col"]:nth-of-type(4n),
  .col5_sp[class*="col"]:nth-of-type(5n),
  .col6_sp[class*="col"]:nth-of-type(6n),
  .col7_sp[class*="col"]:nth-of-type(7n),
  .col8_sp[class*="col"]:nth-of-type(8n) {
    margin-right: 0 !important;
  }
  .col2_sp {
    width: 48.57142857142857% !important;
  }
  .col3_sp {
    width: 31.42857142857143% !important;
  }
  .col4_sp {
    width: 22.85714285714286% !important;
  }
  .gm_small .col2_sp {
    width: 49.29577464788732% !important;
  }
  .gm_small .col3_sp {
    width: 32.3943661971831% !important;
  }
  .gm_small .col4_sp {
    width: 23.94366197183099% !important;
  }
  .col2_sp[class*="block"] {
    width: 50% !important;
  }
  .col3_sp[class*="block"] {
    width: 33.3% !important;
  }
  .col4_sp[class*="block"] {
    width: 25% !important;
  }
  .col_sp_all_reset[class*="col"]
, .gm_small .col_sp_all_reset[class*="col"]
, .col_sp_all_reset[class*="block"] {
    width: 100% !important;
    margin-right: 0 !important;
    float: none !important;
  }
  .tab {
    display: none;
  }
  .tab_over {
    display: none;
  }
  .tab_over_ib {
    display: none;
  }
  .tab_ib {
    display: none;
  }
  .tab_hide {
    display: block;
  }
  .tab_hide_ib {
    display: inline-block;
  }
  .sp {
    display: block;
  }
  .sp_ib {
    display: inline-block;
  }
  /* 【utility】 */
  .u-flex-reset_sp {
    display: block;
  }
  /* （親）フレックスボックス基本設定 */
  .u-flex-s {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  /* （親）上から下へ垂直方向に配置 */
  .u-flex-fdc-s {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  /* （親）横複数行に配置 */
  .u-flex-fww-s {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  /* （親）親要素の高さいっぱいに配置 */
  .u-flex-ais-s {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: auto;
  }
  /* （親）クロス軸の中央に配置 */
  .u-flex-aic-s {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  /* （親）中央に配置 */
  .u-flex-jcc-s {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  /* （親）等間隔に配置 */
  .u-flex.u-flex-jcsa-s {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  /* （親）最初と最後のアイテムは端に、残りは等間隔で配置 */
  .u-flex-jcsb-s {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  /* 最初のメインとなるサイズを元に、幅と高さのプロパティを同じ値に */
  .u-flex-item-fb-half-s {
    -ms-flex-preferred-size: 49%;
    flex-basis: 49%;
    max-width: 49%;
  }
  .u-flex-item-fb-full-s {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  /* 表示優先度 */
  .u-flex-item-o-0-s {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }
  .u-flex-item-o-1-s {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
  /* iframeに自動振り分けされるクラス */
  .u-obj-box {
    padding-top: 80%;
  }
  /* アコーディオン */
  .accordion-sp {
    position: relative;
    cursor: pointer;
  }
  .u-hide-sp {
    display: none;
  }
  /* アコーディオン矢印（任意） */
  .accordion-sp::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    content: ">";
  }
  .accordion-sp.open::after {
    -webkit-transform: rotate(-90deg);
    right: 1.4em;
    transform: rotate(-90deg);
  }
  /* 【テキストスタイル】 */
  /* 【font-size】 */
  .f10_sp {
    font-size: 10px;
  }
  .f11_sp {
    font-size: 11px;
  }
  .f12_sp {
    font-size: 12px;
  }
  .f13_sp {
    font-size: 13px;
  }
  .f14_sp {
    font-size: 14px;
  }
  .f15_sp {
    font-size: 15px;
  }
  .f16_sp {
    font-size: 16px;
  }
  .f18_sp {
    font-size: 18px;
  }
  .f20_sp {
    font-size: 20px;
  }
  .f21_sp {
    font-size: 21px;
  }
  .f22_sp {
    font-size: 22px;
  }
  .f24_sp {
    font-size: 24px;
  }
  .f26_sp {
    font-size: 26px;
  }
  .f28_sp {
    font-size: 28px;
  }
  .f42_sp {
    font-size: 42px;
  }
  .f56_sp {
    font-size: 56px;
  }
  /* 【余白】 */
  .mt00_sp {
    margin-top: 0 !important;
  }
  .mt05_sp {
    margin-top: 5px !important;
  }
  .mt10_sp {
    margin-top: 10px !important;
  }
  .mt15_sp {
    margin-top: 15px !important;
  }
  .mt20_sp {
    margin-top: 20px !important;
  }
  .mt25_sp {
    margin-top: 25px !important;
  }
  .mt30_sp {
    margin-top: 30px !important;
  }
  .ml00_sp {
    margin-left: 0 !important;
  }
  .ml05_sp {
    margin-left: 5px !important;
  }
  .ml10_sp {
    margin-left: 10px !important;
  }
  .ml15_sp {
    margin-left: 15px !important;
  }
  .ml20_sp {
    margin-left: 20px !important;
  }
  .ml25_sp {
    margin-left: 25px !important;
  }
  .ml30_sp {
    margin-left: 30px !important;
  }
  .mr00_sp {
    margin-right: 0 !important;
  }
  .mr05_sp {
    margin-right: 5px !important;
  }
  .mr10_sp {
    margin-right: 10px !important;
  }
  .mr15_sp {
    margin-right: 15px !important;
  }
  .mr20_sp {
    margin-right: 20px !important;
  }
  .mr25_sp {
    margin-right: 25px !important;
  }
  .mr30_sp {
    margin-right: 30px !important;
  }
  .mb00_sp {
    margin-bottom: 0 !important;
  }
  .mb05_sp {
    margin-bottom: 5px !important;
  }
  .mb10_sp {
    margin-bottom: 10px !important;
  }
  .mb15_sp {
    margin-bottom: 15px !important;
  }
  .mb20_sp {
    margin-bottom: 20px !important;
  }
  .mb25_sp {
    margin-bottom: 25px !important;
  }
  .mb30_sp {
    margin-bottom: 30px !important;
  }
  .pt00_sp {
    padding-top: 0 !important;
  }
  .pt05_sp {
    padding-top: 5px !important;
  }
  .pt10_sp {
    padding-top: 10px !important;
  }
  .pt15_sp {
    padding-top: 15px !important;
  }
  .pt20_sp {
    padding-top: 20px !important;
  }
  .pt25_sp {
    padding-top: 25px !important;
  }
  .pt30_sp {
    padding-top: 30px !important;
  }
  .pl00_sp {
    padding-left: 0 !important;
  }
  .pl05_sp {
    padding-left: 5px !important;
  }
  .pl10_sp {
    padding-left: 10px !important;
  }
  .pl15_sp {
    padding-left: 15px !important;
  }
  .pl20_sp {
    padding-left: 20px !important;
  }
  .pl25_sp {
    padding-left: 25px !important;
  }
  .pl30_sp {
    padding-left: 30px !important;
  }
  .pr00_sp {
    padding-right: 0 !important;
  }
  .pr05_sp {
    padding-right: 5px !important;
  }
  .pr10_sp {
    padding-right: 10px !important;
  }
  .pr15_sp {
    padding-right: 15px !important;
  }
  .pr20_sp {
    padding-right: 20px !important;
  }
  .pr25_sp {
    padding-right: 25px !important;
  }
  .pr30_sp {
    padding-right: 30px !important;
  }
  .pb00_sp {
    padding-bottom: 0 !important;
  }
  .pb05_sp {
    padding-bottom: 5px !important;
  }
  .pb10_sp {
    padding-bottom: 10px !important;
  }
  .pb15_sp {
    padding-bottom: 15px !important;
  }
  .pb20_sp {
    padding-bottom: 20px !important;
  }
  .pb25_sp {
    padding-bottom: 25px !important;
  }
  .pb30_sp {
    padding-bottom: 30px !important;
  }
  /* 【フロート】 */
  .fl.sp_set,
  .fr.sp_set {
    float: none;
  }
  /* ベース部分 */
  a[href^="tel:"] {
    /* ベース部分 */
    pointer-events: auto;
  }
  #tinymce .alignleft,
  #tinymce img.alignleft,
  .section .alignleft,
  .section img.alignleft {
    display: inline-block;
    width: 100% !important;
    margin-bottom: 15px;
    margin-left: 0;
    float: none;
    text-align: center;
  }
  #tinymce .alignright,
  #tinymce img.alignright,
  .section .alignright,
  .section img.alignright {
    display: inline-block;
    width: 100% !important;
    margin-bottom: 15px;
    margin-left: 0;
    float: none;
    text-align: center;
  }
  /* 【topics】 */
  .topics_item img {
    margin-bottom: 1em;
  }
  /* 【sidebar】 */
  /* 共通パーツ */
  /* ヘッダー */
  /* モバイル お問い合わせ */
  .contact_area li {
    width: 50%;
  }
  /* フッター */
}

@media screen and (min-width: 481px) {
  a[href^="tel:"] {
    color: inherit;
  }
}
