@charset "utf-8";

/* ========================================================
    base.css => 共通基本CSS
======================================================== */

/* reset
============================================================================================================ */
html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
    background-repeat: no-repeat;
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary {
  display: block;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

table {
    font-size: 100%;
    font-family: inherit;
}
fieldset, img {
    border: 0;
}
img {
    vertical-align: middle;
}
address, caption, cite, code, dfn, em, th, var {
    font-style: normal;
    font-weight: normal;
}
ol, ul {
    list-style: none;
}
caption, th {
    text-align: left;
}
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
}
q:before, q:after {
    content: '';
}
abbr, acronym {
    border: 0;
}
select, input, textarea {
    font-size: 100%;
}

button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}


/* ClearFix
============================================================================================================ */
.clearfix,
.row {
    zoom: 1;
}
.clearfix:after,
.row:after {
    content: "."; display: block; height: 0; clear: both; visibility: hidden; line-height: 0; overflow: hidden;
}


/* float
============================================================================================================ */
.fl {float: left;}
.fr {float: right;}

@media screen and (max-width: 768px) {
.fl {float: none;}
.fr {float: none;}
}

/* block_center
============================================================================================================ */
.bc{
    display: block;
    margin-right: auto;
    margin-left: auto;
}

/* text-align
============================================================================================================ */
.tal {text-align: left;}
.tac {text-align: center;}
.tar {text-align: right;}


/* margin
============================================================================================================ */
.m00 {margin: 0 !important;}
.mb {margin-bottom: 1.5em !important;}
.mb00 {margin-bottom: 0 !important;}
.mb05 {margin-bottom: 5px !important;}
.mb08 {margin-bottom: 8px !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;}
.mt {margin-top: 1.5em !important;}
.mt00 {margin-top: 0 !important;}
.mt05 {margin-top: 5px !important;}
.mt08 {margin-top: 8px !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;}
.mt-40 {margin-top: -40px !important;}

/* padding
============================================================================================================ */
.p00 {padding: 0 !important;}
.pb {padding-bottom: 1.3em !important;}
.pb00 {padding-bottom: 0 !important;}
.pb05 {padding-bottom: 5px !important;}
.pb08 {padding-bottom: 8px !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;}
.pt00 {padding-top: 0 !important;}
.pt05 {padding-top: 5px !important;}
.pt08 {padding-top: 8px !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;}


/* font size
============================================================================================================ */
.fz10 {font-size: 10px; font-size: 1.0rem;}
.fz11 {font-size: 11px; font-size: 1.1rem;}
.fz12 {font-size: 12px; font-size: 1.2rem;}
.fz13 {font-size: 13px; font-size: 1.3rem;}
.fz14 {font-size: 14px; font-size: 1.4rem;}
.fz15 {font-size: 15px; font-size: 1.5rem;}
.fz16 {font-size: 16px; font-size: 1.6rem;}
.fz17 {font-size: 17px; font-size: 1.7rem;}
.fz18 {font-size: 18px; font-size: 1.8rem;}
.fz19 {font-size: 19px; font-size: 1.9rem;}
.fz20 {font-size: 20px; font-size: 2.0rem;}


/* font weight
============================================================================================================ */
.fwb{ font-weight: bold; }
.fwn {
    font-weight: normal !important;
}