@charset "UTF-8";

/*-----------------------------------------------------------------
 文字の大きさ
------------------------------------------------------------------*/
.fs07 { font-size: 0.7rem !important; }
.fs08 { font-size: 0.8rem !important; }
.fs09 { font-size: 0.9rem !important; }
.fs10 { font-size: 1.0rem !important; }
.fs11 { font-size: 1.1rem !important; }
.fs12 { font-size: 1.2rem !important; }
.fs13 { font-size: 1.3rem !important; }
.fs14 { font-size: 1.4rem !important; }
.fs15 { font-size: 1.5rem !important; }
.fs16 { font-size: 1.6rem !important; }
.fs17 { font-size: 1.7rem !important; }
.fs18 { font-size: 1.8rem !important; }
.fs19 { font-size: 1.9rem !important; }
.fs20 { font-size: 2.0rem !important; }
.fs21 { font-size: 2.1rem !important; }
.fs22 { font-size: 2.2rem !important; }
.fs23 { font-size: 2.3rem !important; }
.fs24 { font-size: 2.4rem !important; }
.fs25 { font-size: 2.5rem !important; }
.fs26 { font-size: 2.6rem !important; }
.fs27 { font-size: 2.7rem !important; }
.fs28 { font-size: 2.8rem !important; }
.fs29 { font-size: 2.9rem !important; }
.fs30 { font-size: 3.0rem !important; }

/*-----------------------------------------------------------------
 文字の太さ
------------------------------------------------------------------*/
.b { font-weight: bold !important; }/*太字*/
.normal { font-weight: normal !important; }/*通常の太さ*/
.lighter { font-weight: lighter !important; }/*細字*/

/*-----------------------------------------------------------------
 文字の色
------------------------------------------------------------------*/
.text-lightgray { color: #ddd !important; }
.text-gray { color: #aaa !important; }
.text-darkgray { color: #777 !important; }
.text-blue { color: #39BDD4 !important; }
.text-red { color: #D55858 !important; }
.text-green { color: #95CB23 !important; }
.text-yellow { color: #E8EC1E !important; }
.text-orange { color: #F5760F !important; }
.text-pink { color: #EF37A4 !important; }
.text-black { color: #000 !important; }
.text-white { color: #fff !important; }

/*-----------------------------------------------------------------
 文字の位置
------------------------------------------------------------------*/
/*縦の位置*/
.text-top { vertical-align: top !important; }/*上*/
.text-middle { vertical-align: middle !important; }/*中央*/
.text-bottom { vertical-align: bottom !important; }/*下*/

/*横の位置*/
.text-left { text-align: left !important; }/*左*/
.text-center { text-align: center !important; }/*中央*/
.text-right { text-align: right !important; }/*右*/

/*-----------------------------------------------------------------
 文字の装飾
------------------------------------------------------------------*/
.ita { font-style: italic !important;}/*イタリック体*/
.ul { text-decoration: underline !important; }/*下線を引く*/
.ul-none { text-decoration: none !important; }/*下線を消す*/
.del { text-decoration:line-through !important;}/*取消線を引く*/
.ellipsis { /*複数行のはみ出し部分を三点リーダーで省略*/
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
}

/* 行の高さ */
.lh10 { line-height: 1.0 !important; }
.lh11 { line-height: 1.1 !important; }
.lh12 { line-height: 1.2 !important; }
.lh13 { line-height: 1.3 !important; }
.lh14 { line-height: 1.4 !important; }
.lh15 { line-height: 1.5 !important; }

/* 字下げ */
.indent { text-indent: 1em !important; }
.indent2 { text-indent: 2em !important; }
.indent3 { text-indent: 3em !important; }
.indent4 { text-indent: 4em !important; }
.indent5 { text-indent: 5em !important; }

/* 改行 */
.br { margin-top: 1em !important; }
.br2 { margin-top: 2em !important; }
.br3 { margin-top: 3em !important; }

/*-----------------------------------------------------------------
 フロート
------------------------------------------------------------------*/
/*右寄せ：左側に文章が回りこみ*/
.f-r {
  margin: 0 0 10px 18px;
  float: right;
}

.right { float: right; }

/*左寄せ：右側に文章が回りこみ*/
.f-l {
  margin: 0 18px 10px 0;
  float: left;
}

.left { float: left; }

/*中央寄せ*/
.center {
  margin: 0 auto !important;
  display: block !important;
}

/*回り込み解除*/
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

/*回り込み解除*/
.clear { clear: both !important; }

/*-----------------------------------------------------------------
 flex helper
------------------------------------------------------------------*/
/* flex */
.flex {
  -js-display: flex;/*flexibility.js*/
  display: -ms-flexbox;/*--- IE10用 ---*/
  display: -webkit-box;/*--- Androidブラウザ用 ---*/
  display: -webkit-flex;/*--- safari用 ---*/
  display: flex !important;
  position: relative;
}

/* flex複数行 */
.flex.wrap {
  -ms-flex-wrap: wrap;/*--- IE10用 ---*/
  /* Androidブラウザは対応していないので指定不可 */
  -webkit-flex-wrap: wrap;/*--- safari用 ---*/
  flex-wrap: wrap !important;
}

/* flex横軸 */
.flex.h-between {
  -ms-flex-pack: justify;/*--- IE10用 ---*/
  -webkit-box-pack: justify;/*--- Androidブラウザ用 ---*/
  -webkit-justify-content: space-between;/*--- safari用 ---*/
  justify-content: space-between !important;
}

.flex.h-center {
  -ms-flex-pack: center;/*--- IE10用 ---*/
  -webkit-box-pack: center;/*--- Androidブラウザ用 ---*/
  -webkit-justify-content: center;/*--- safari用 ---*/
  justify-content: center !important;
}

.flex.h-end {
  -ms-flex-pack: end;/*--- IE10用 ---*/
  -webkit-box-pack: end;/*--- Androidブラウザ用 ---*/
  -webkit-justify-content: flex-end;/*--- safari用 ---*/
  justify-content: flex-end !important;
}

/* flex縦軸 */
.flex.v-center {
  -ms-flex-align: center;/*--- IE10用 ---*/
  -webkit-box-align: center;/*--- Androidブラウザ用 ---*/
  -webkit-align-items: center;/*--- safari用 ---*/
  align-items: center !important;
}

/* flex-item */
.flex-item {
  width: 100%;
  position: relative;
  display: block;
}

/* flex（2列） */
.flex.flex-col-2 {
  -webkit-box-pack: justify;/*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;/*--- IE10用 ---*/
  -webkit-justify-content: space-between;/*--- safari用 ---*/
  justify-content: space-between;
}
.flex.flex-col-2 .flex-item {
  width: 49%;
}
.flex.flex-col-2 .flex-item:nth-child(2n) {
  margin-right: 0;
}

/* flex（3列） */
.flex.flex-col-3 .flex-item {
  margin-right: 2%;
  width: 32%;
}
.flex.flex-col-3 .flex-item:nth-child(3n) {
  margin-right: 0;
}

/* flex（4列） */
.flex.flex-col-4 .flex-item {
  margin-right: 1%;
  width: 24.25%;
}
.flex.flex-col-4 .flex-item:nth-child(4n) {
  margin-right: 0;
}

/*-----------------------------------------------------------------
 margin helper
------------------------------------------------------------------*/
.mn { margin: 0 !important; }

.m10 { margin: 10px !important; }
.m20 { margin: 20px !important; }
.m30 { margin: 30px !important; }
.m40 { margin: 40px !important; }
.m50 { margin: 50px !important; }

.mtn { margin-top: 0px !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

.mbn { margin-bottom: 0px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }

.mh10 {
  margin-right: 10px !important;
  margin-left: 10px !important;
}
.mh20 {
  margin-right: 20px !important;
  margin-left: 20px !important;
}
.mh30 {
  margin-right: 30px !important;
  margin-left: 30px !important;
}

.mv10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.mv20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.mv30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

/*-----------------------------------------------------------------
 padding helper
------------------------------------------------------------------*/
.pn { padding: 0 !important; }

.p10 { padding: 10px !important; }
.p20 { padding: 20px !important; }
.p30 { padding: 30px !important; }
.p40 { padding: 40px !important; }
.p50 { padding: 50px !important; }

.ptn { padding-top: 0px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }

.pbn { padding-bottom: 0px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb50 { padding-bottom: 50px !important; }

.ph10 {
  padding-right: 10px !important;
  padding-left: 10px !important;
}
.ph20 {
  padding-right: 20px !important;
  padding-left: 20px !important;
}
.ph30 {
  padding-right: 30px !important;
  padding-left: 30px !important;
}
.ph40 {
  padding-right: 40px !important;
  padding-left: 40px !important;
}
.ph50 {
  padding-right: 50px !important;
  padding-left: 50px !important;
}

.pv10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.pv20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
.pv30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}
.pv40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.pv50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/*-----------------------------------------------------------------
 border helper
------------------------------------------------------------------*/
.bo1 { border: 1px solid #ddd !important; }
.bot1 { border-top: 1px solid #ddd !important; }
.bor1 { border-right: 1px solid #ddd !important; }
.bob1 { border-bottom: 1px solid #ddd !important; }
.bol1 { border-left: 1px solid #ddd !important; }

.radius2 { border-radius: 2px !important; }
.radius4 { border-radius: 4px !important; }
.radius6 { border-radius: 6px !important; }
.radius8 { border-radius: 8px !important; }
.radius10 { border-radius: 10px !important; }

/*-----------------------------------------------------------------
 背景の色
------------------------------------------------------------------*/
.bg-white { background: #fff !important; }

/*-----------------------------------------------------------------
 その他
------------------------------------------------------------------*/
/*リストのアイコンをなくす*/
.no-i { list-style-type: none !important; }

/*非表示・ブロック化・インライン化*/
.collapse { display: none !important; }
.block { display: block !important; }
.inline { display: inline !important; }
.inline-block { display: inline-block !important; }

/*幅*/
.w100 { width: 100% !important; }
