@charset "utf-8";

/*--------------------------------------------------------------------------------
  util => clear
--------------------------------------------------------------------------------*/
.clearfix::after {
  content: '';
  display: block;
  clear: both;
  height: 0;
}
.both{
  clear:both;
}

/*--------------------------------------------------------------------------------
  util => margin
--------------------------------------------------------------------------------*/
.m00 { margin: 0px !important;}    .m05 { margin: 5px !important;}
.m10 { margin: 10px !important;}   .m15 { margin: 15px !important;}
.m20 { margin: 20px !important;}   .m25 { margin: 25px !important;}
.m30 { margin: 30px !important;}   .m35 { margin: 35px !important;}
.m40 { margin: 40px !important;}   .m45 { margin: 45px !important;}
.m50 { margin: 50px !important;}   .m55 { margin: 55px !important;}
.m60 { margin: 60px !important;}

.mt00 { margin-top: 0px !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;}   .mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}   .mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}   .mt55 { margin-top: 55px !important;}
.mt60 { margin-top: 60px !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;}   .ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}   .ml35 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}   .ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}   .ml55 { margin-left: 55px !important;}
.ml60 { margin-left: 60px !important;}

.mb00 { margin-bottom: 0px !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;}   .mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}   .mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}   .mb55 { margin-bottom: 55px !important;}
.mb60 { margin-bottom: 60px !important;}

.mr00 { margin-right: 0px !important;}    .mr05 { margin-right: 5px !important;}
.mr10 { margin-right: 10px !important;}   .mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}   .mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}   .mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}   .mr45 { margin-right: 45px !important;}
.mr50 { margin-right: 50px !important;}   .mr55 { margin-right: 55px !important;}
.mr60 { margin-right: 60px !important;}

/*--------------------------------------------------------------------------------
  util => padding
--------------------------------------------------------------------------------*/
.p00 { padding: 0px !important;}    .p05 { padding: 5px !important;}
.p10 { padding: 10px !important;}   .p15 { padding: 15px !important;}
.p20 { padding: 20px !important;}   .p25 { padding: 25px !important;}
.p30 { padding: 30px !important;}   .p35 { padding: 35px !important;}
.p40 { padding: 40px !important;}   .p45 { padding: 45px !important;}
.p50 { padding: 50px !important;}   .p55 { padding: 55px !important;}
.p60 { padding: 60px !important;}

.pl00 { padding-left: 0px !important;}    .pl05 { padding-left: 5px !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;}   .pl35 { padding-left: 35px !important;}
.pl40 { padding-left: 40px !important;}   .pl45 { padding-left: 45px !important;}
.pl50 { padding-left: 50px !important;}   .pl55 { padding-left: 55px !important;}
.pl60 { padding-left: 60px !important;}

.pr00 { padding-right: 0px !important;}    .pr05 { padding-right: 5px !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;}   .pr35 { padding-right: 35px !important;}
.pr40 { padding-right: 40px !important;}   .pr45 { padding-right: 45px !important;}
.pr50 { padding-right: 50px !important;}   .pr55 { padding-right: 55px !important;}
.pr60 { padding-right: 60px !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;}   .pt35 { padding-top: 35px !important;}
.pt40 { padding-top: 40px !important;}   .pt45 { padding-top: 45px !important;}
.pt50 { padding-top: 50px !important;}   .pt55 { padding-top: 55px !important;}
.pt60 { padding-top: 60px !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;}   .pb35 { padding-bottom: 35px !important;}
.pb40 { padding-bottom: 40px !important;}   .pb45 { padding-bottom: 45px !important;}
.pb50 { padding-bottom: 50px !important;}   .pb55 { padding-bottom: 55px !important;}
.pb60 { padding-bottom: 60px !important;}

/*--------------------------------------------------------------------------------
  util => float clear
--------------------------------------------------------------------------------*/
.u-fl-n { float: none !important; }
.u-fl-l { float: left !important; }
.u-fl-r { float: right !important; }
.u-cl_n { clear: none !important; }
.u-cl_l { clear: left !important; }
.u-cl_r { clear: right !important; }
.u-cl_b { clear: both !important; }

/*--------------------------------------------------------------------------------
  util => ul
--------------------------------------------------------------------------------*/
.disc-l { list-style: disc outside;}
.deci-l { list-style: decimal outside;}

/*--------------------------------------------------------------------------------
  util => effects
--------------------------------------------------------------------------------*/
.h-fade {
  opacity: 1.0;
  transition: opacity 0.3s;
  -webkit-transition: opacity 0.3s;
}
.h-fade:hover {
  opacity: 0.6;
}

/*--------------------------------------------------------------------------------
  util => display
--------------------------------------------------------------------------------*/
.u-d-n     { display: none !important; }
.u-d-b     { display: block !important; }
.u-d-f     { display: -webkit-flex !important; display: flex !important; }
.u-d-if    { display: -webkit-inline-flex !important; display: inline-flex !important; }
.u-d-i     { display: inline !important; }
.u-d-ib    { display: inline-block !important; }
.u-d-li    { display: list-item !important; }
.u-d-ri    { display: run-in !important; }
.u-d-cp    { display: compact !important; }
.u-d-tb    { display: table !important; }
.u-d-itb   { display: inline-table !important; }
.u-d-tbcp  { display: table-caption !important; }
.u-d-tbcl  { display: table-column !important; }
.u-d-tbclg { display: table-column-group !important; }
.u-d-tbhg  { display: table-header-group !important; }
.u-d-tbfg  { display: table-footer-group !important; }
.u-d-tbr   { display: table-row !important; }
.u-d-tbrg  { display: table-row-group !important; }
.u-d-tbc   { display: table-cell !important; }
.u-d-rb    { display: ruby !important; }
.u-d-rbb   { display: ruby-base !important; }
.u-d-rbbg  { display: ruby-base-group !important; }
.u-d-rbt   { display: ruby-text !important; }
.u-d-rbtg  { display: ruby-text-group !important; }
.row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }


/*--------------------------------------------------------------------------------
  util => width
--------------------------------------------------------------------------------*/
.u-w10p { width: 10% !important; } .u-w15p { width: 15% !important; }
.u-w20p { width: 20% !important; } .u-w25p { width: 25% !important; }
.u-w30p { width: 30% !important; } .u-w35p { width: 35% !important; }
.u-w40p { width: 40% !important; } .u-w45p { width: 45% !important; }
.u-w50p { width: 50% !important; } .u-w55p { width: 55% !important; }
.u-w60p { width: 60% !important; } .u-w65p { width: 65% !important; }
.u-w70p { width: 70% !important; } .u-w75p { width: 75% !important; }
.u-w80p { width: 80% !important; } .u-w85p { width: 85% !important; }
.u-w90p { width: 90% !important; } .u-w95p { width: 95% !important; }
.u-w100p { width: 100% !important; } .u-mw100p { max-width: 100% !important; }

/*--------------------------------------------------------------------------------
  util => border-radius
--------------------------------------------------------------------------------*/
.u-bdrs1 { -moz-border-radius: 1px; -webkit-border-radius: 1px; -o-border-radius: 1px; -ms-border-radius: 1px; border-radius: 1px; }
.u-bdrs2 { -moz-border-radius: 2px; -webkit-border-radius: 2px; -o-border-radius: 2px; -ms-border-radius: 2px; border-radius: 2px; }
.u-bdrs3 { -moz-border-radius: 3px; -webkit-border-radius: 3px; -o-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; }
.u-bdrs4 { -moz-border-radius: 4px; -webkit-border-radius: 4px; -o-border-radius: 4px; -ms-border-radius: 4px; border-radius: 4px; }
.u-bdrs5 { -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; }
.u-bdrs6 { -moz-border-radius: 6px; -webkit-border-radius: 6px; -o-border-radius: 6px; -ms-border-radius: 6px; border-radius: 6px; }
.u-bdrs7 { -moz-border-radius: 7px; -webkit-border-radius: 7px; -o-border-radius: 7px; -ms-border-radius: 7px; border-radius: 7px; }
.u-bdrs8 { -moz-border-radius: 8px; -webkit-border-radius: 8px; -o-border-radius: 8px; -ms-border-radius: 8px; border-radius: 8px; }
.u-bdrs9 { -moz-border-radius: 9px; -webkit-border-radius: 9px; -o-border-radius: 9px; -ms-border-radius: 9px; border-radius: 9px; }
.u-bdrs10 { -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px; }
.u-bdrs15 { -moz-border-radius: 15px; -webkit-border-radius: 15px; -o-border-radius: 15px; -ms-border-radius: 15px; border-radius: 15px; }
.u-bdrs20 { -moz-border-radius: 20px; -webkit-border-radius: 20px; -o-border-radius: 20px; -ms-border-radius: 10px; border-radius: 20px; }
.u-bdrs25 { -moz-border-radius: 25px; -webkit-border-radius: 25px; -o-border-radius: 25px; -ms-border-radius: 25px; border-radius: 25px; }
.u-bdrs30 { -moz-border-radius: 30px; -webkit-border-radius: 30px; -o-border-radius: 30px; -ms-border-radius: 30px; border-radius: 30px; }
.u-bdrs35 { -moz-border-radius: 35px; -webkit-border-radius: 35px; -o-border-radius: 35px; -ms-border-radius: 10px; border-radius: 35px; }
.u-bdrs40 { -moz-border-radius: 40px; -webkit-border-radius: 40px; -o-border-radius: 40px; -ms-border-radius: 10px; border-radius: 40px; }
.u-bdrs45 { -moz-border-radius: 45px; -webkit-border-radius: 45px; -o-border-radius: 45px; -ms-border-radius: 45px; border-radius: 45px; }
.u-bdrs50 { -moz-border-radius: 50px; -webkit-border-radius: 50px; -o-border-radius: 50px; -ms-border-radius: 50px; border-radius: 50px; }

/*--------------------------------------------------------------------------------
  font-style
--------------------------------------------------------------------------------*/
/* font size */
.f08{ font-size: 0.8rem !important;}
.f09{ font-size: 0.9rem !important;}
.f10{ font-size: 1.0rem !important;}
.f11{ font-size: 1.1rem !important;} .f21{ font-size: 2.1rem !important;} .f31{ font-size: 3.1rem !important;} .f41{ font-size: 4.1rem !important;} .f51{ font-size: 5.1rem !important;}
.f12{ font-size: 1.2rem !important;} .f22{ font-size: 2.2rem !important;} .f32{ font-size: 3.2rem !important;} .f42{ font-size: 4.2rem !important;} .f52{ font-size: 5.2rem !important;}
.f13{ font-size: 1.3rem !important;} .f23{ font-size: 2.3rem !important;} .f33{ font-size: 3.3rem !important;} .f43{ font-size: 4.3rem !important;} .f53{ font-size: 5.3rem !important;}
.f14{ font-size: 1.4rem !important;} .f24{ font-size: 2.4rem !important;} .f34{ font-size: 3.4rem !important;} .f44{ font-size: 4.4rem !important;} .f54{ font-size: 5.4rem !important;}
.f15{ font-size: 1.5rem !important;} .f25{ font-size: 2.5rem !important;} .f35{ font-size: 3.5rem !important;} .f45{ font-size: 4.5rem !important;} .f55{ font-size: 5.5rem !important;}
.f16{ font-size: 1.6rem !important;} .f26{ font-size: 2.6rem !important;} .f36{ font-size: 3.6rem !important;} .f46{ font-size: 4.6rem !important;} .f56{ font-size: 5.6rem !important;}
.f17{ font-size: 1.7rem !important;} .f27{ font-size: 2.7rem !important;} .f37{ font-size: 3.7rem !important;} .f47{ font-size: 4.7rem !important;} .f57{ font-size: 5.7rem !important;}
.f18{ font-size: 1.8rem !important;} .f28{ font-size: 2.8rem !important;} .f38{ font-size: 3.8rem !important;} .f48{ font-size: 4.8rem !important;} .f58{ font-size: 5.8rem !important;}
.f19{ font-size: 1.9rem !important;} .f29{ font-size: 2.9rem !important;} .f39{ font-size: 3.9rem !important;} .f49{ font-size: 4.9rem !important;} .f59{ font-size: 5.9rem !important;}
.f20{ font-size: 2.0rem !important;} .f30{ font-size: 3.0rem !important;} .f40{ font-size: 4.0rem !important;} .f50{ font-size: 5.0rem !important;} .f60{ font-size: 6.0rem !important;}

.u-fsxxs { font-size: xx-small; }
.u-fsxs  { font-size:  x-small; }
.u-fss   { font-size:    small; }
.u-fsm   { font-size:   medium; }
.u-fsl   { font-size:    large; }
.u-fsxl  { font-size:  x-large; }
.u-fsxxl { font-size: xx-large; }

.u-tim-05 { text-indent: -0.5em; }
.u-tim-10 { text-indent: -1.0em; }
.u-tim-15 { text-indent: -1.5em; }
.u-tim-20 { text-indent: -2.0em; }

/* color */
.u-fc-white  { color: #fff !important; }
.u-fc-red    { color: #d0182a !important; }
.u-fc-cred   { color: #c00 !important; }
.u-fc-orange { color: #fd9f56 !important; }
.u-fc-dred   { color: #d00 !important; }
.u-fc-black  { color: #111 !important; }
.u-fc-dark   { color: #666 !important; }
.u-fc-gray   { color: #999 !important; }
.u-fc-blue   { color: #0083d1 !important; }
.u-fc-lblue  { color: #56bdc8 !important; }
.u-fc-green  { color: #0a9921 !important; }
.u-fc-pink   { color: #ec727f !important; }

/* font weight */
.u-fw-n  { font-weight: normal !important; }
.u-fw-b  { font-weight: bold !important; }
.u-fw-br { font-weight: bolder !important; }
.u-fw-lr { font-weight: lighter !important; }
.u-fw-i  { font-weight: inherit !important; }

.u-fw100 { font-weight: 100 !important; }
.u-fw200 { font-weight: 200 !important; }
.u-fw300 { font-weight: 300 !important; }
.u-fw400 { font-weight: 400 !important; }
.u-fw500 { font-weight: 500 !important; }
.u-fw600 { font-weight: 600 !important; }
.u-fw700 { font-weight: 700 !important; }
.u-fw800 { font-weight: 800 !important; }
.u-fw900 { font-weight: 900 !important; }

/* font style */
.u-fsn  { font-style: normal !important; }
.u-fso  { font-style: oblique !important; }
.u-fsi  { font-style: italic !important; }

/* font family */
.u-ff-en { font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.u-ff-en2 { font-family: 'Roboto', sans-serif, Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.u-ff-en3 { }

/* text align */
.u-ta-l { text-align: left !important; }
.u-ta-c { text-align: center !important; }
.u-ta-r { text-align: right !important; }
.u-ta-j { text-align: justify !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-tb  { vertical-align: text-bottom !important; }
.u-va-b   { vertical-align: bottom !important; }
.u-va-sub { vertical-align: sub !important; }

/* line height */
.u-lh10 { line-height: 1.0; } .u-lh11 { line-height: 1.1; } .u-lh12 { line-height: 1.2; } .u-lh13 { line-height: 1.3; } .u-lh14 { line-height: 1.4; } .u-lh15 { line-height: 1.5; } .u-lh16 { line-height: 1.6; } .u-lh17 { line-height: 1.7; } .u-lh18 { line-height: 1.8; } .u-lh19 { line-height: 1.9; }
.u-lh20 { line-height: 2.0; } .u-lh21 { line-height: 2.1; } .u-lh22 { line-height: 2.2; } .u-lh23 { line-height: 2.3; } .u-lh24 { line-height: 2.4; } .u-lh25 { line-height: 2.5; } .u-lh26 { line-height: 2.6; } .u-lh27 { line-height: 2.7; } .u-lh28 { line-height: 2.8; } .u-lh29 { line-height: 2.9; }
.u-lh30 { line-height: 3.0; }

/* word break */
.u-wobr-n  { word-break: normal !important; }
.u-wobr-k  { word-break: keep-all !important; }
.u-wobr-ba { word-break: break-all !important; word-wrap: break-word !important; }

.u-whsp-n  { white-space: normal !important; }
.u-whsp-p  { white-space: pre !important; }
.u-whsp-nw { white-space: nowrap !important; }

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

/* text border */
.u-bdb--black { border-bottom: 1px solid #111; }
.u-bdb--blue { border-bottom: 1px solid #3e5faa; }

/*--------------------------------------------------------------------------------
  table
--------------------------------------------------------------------------------*/
.tbl-base table {
  width: 100%;
  font-size: 1.2rem;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
  font-family: inherit;
  border: 1px solid #bfbfbf;
}
.tbl-base table th {
  padding: 15px;
  font-size: 1.4rem;
  border-bottom: 1px solid #bfbfbf;
  border-right: 1px solid #bfbfbf;
  background-color: #d5e0ea;
  display: table-cell;
  vertical-align: middle;
  font-weight: 500;
  position: relative;
}
.tbl-base table td {
  border-left: 1px solid #bfbfbf;
  border-right: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
  background: #fff;
  display: table-cell;
  padding: 15px;
  font-size: 1.4rem;
  word-break: break-all;
}