@charset "utf-8";
/* ========================================
parts.css
 ------------------------------------------
 common
 font
 padding / margin
 html
======================================== */

/* ----------------------------------------
 - clearfix
---------------------------------------- */
.clearfix {
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
}
/*-----------------------------------------------------
CLEAR
-------------------------------------------------------*/
.cl_L {
    clear: left !important;
}
.cl_R {
    clear: right !important;
}
/* ---------------------------------------- 
 - float
---------------------------------------- */
.fl_L {
    float: left !important;
}
.fl_R {
    float: right !important;
}
/* ---------------------------------------- 
 - common
---------------------------------------- */
a, a p {
    color: #2e2e2e;
    text-decoration: none;
    opacity: 1;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}
a:hover, a:hover p, a:active, a:active p {
    color: #2e2e2e;
    /*text-decoration:underline;*/
    text-decoration: none;
}
a:hover, a:hover p {
    opacity: 0.6;
}
a:visited, a:visited p {
    /*text-decoration:underline;*/
    text-decoration: none;
}
a.underline {
    text-decoration: underline;
}
img {
    vertical-align: bottom;
}
img.rspImg {
    width: 100% !important;
    height: auto;
}
strong {
    font-weight: bold;
}
.imgTxt {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    text-align: left;
    outline: 0;
    overflow: hidden;
}
.imgBtn a, .imgBtn a:link, .imgBtn a:visited, .imgBtn a:hover, .imgBtn a:active, .imgBtn a:focus, .imgBtn button, .imgBtn button:link, .imgBtn button:visited, .imgBtn button:hover, .imgBtn button:active, .imgBtn button:focus {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    text-align: left;
    outline: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
}
.imgBtn button {
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    img {
        width: 100%;
        height: auto;
    }
}
/* ---------------------------------------- 
 - font
---------------------------------------- */
.fhN {
    line-height: 1 !important;
}
.fhS {
    line-height: 1.4 !important;
}
.fhM {
    line-height: 1.6 !important;
}
.fhL {
    line-height: 1.8 !important;
}
.fhLL {
    line-height: 2 !important;
}
.fwB {
    font-weight: bold !important;
}
.fwN {
    font-weight: nomal !important;
}
sup { /*10px相当*/
    font-size: 84% !important;
    vertical-align: top;
}
/* ---------------------------------------- 
 - fonts
---------------------------------------- */
.gothic {
    font-family: Avenir, Helvetica, Arial, Verdana, Roboto, 'Noto Sans Japanese', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.mincho {
    font-family: "Noto Serif JP", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
    letter-spacing: 0.05em;
}
.tInd1 {
    text-indent: 1em;
}
.fwN {
    font-weight: 400;
}
.fwM {
    font-weight: 500;
}
.fwB {
    font-weight: 700;
}
.asterisk {
    color: #FB0004;
}
/* ---------------------------------------- 
 - padding / margin
---------------------------------------- */
.pdB5 {
    padding-bottom: 5px !important;
}
.pdB10 {
    padding-bottom: 10px !important;
}
.pdB20 {
    padding-bottom: 20px !important;
}
.pdB30 {
    padding-bottom: 30px !important;
}
.pdB35 {
    padding-bottom: 35px !important;
}
.pdB45 {
    padding-bottom: 45px !important;
}
.pdB80 {
    padding-bottom: 80px !important;
}
.pdB100 {
    padding-bottom: 100px !important;
}
.pdB120 {
    padding-bottom: 120px !important;
}
.pdB140 {
    padding-bottom: 140px !important;
}
.pdB160 {
    padding-bottom: 160px !important;
}
.pdT5 {
    padding-top: 5px !important;
}
.pdT10 {
    padding-top: 10px !important;
}
.pdT15 {
    padding-top: 15px !important;
}
.pdT20 {
    padding-top: 20px !important;
}
.pdT25 {
    padding-top: 25px !important;
}
.pdT30 {
    padding-top: 30px !important;
}
.pdT35 {
    padding-top: 35px !important;
}
.pdT40 {
    padding-top: 40px !important;
}
.pdT45 {
    padding-top: 45px !important;
}
.pdT50 {
    padding-top: 50px !important;
}
.pdT55 {
    padding-top: 55px !important;
}
.pdT60 {
    padding-top: 60px !important;
}
.pdT65 {
    padding-top: 65px !important;
}
.pdT70 {
    padding-top: 70px !important;
}
.pdT75 {
    padding-top: 75px !important;
}
.pdT80 {
    padding-top: 80px !important;
}
.pdT85 {
    padding-top: 85px !important;
}
.pdT100 {
    padding-top: 100px !important;
}
.pdT110 {
    padding-top: 110px !important;
}
.pdT115 {
    padding-top: 115px !important;
}
.pdT0_1em {
    padding-top: 0.1em !important;
}
.pdT1em {
    padding-top: 1em !important;
}
.pdT1_5em {
    padding-top: 1.5em !important;
}
.pdT2em {
    padding-top: 2em !important;
}
.pdT2_5em {
    padding-top: 2.5em !important;
}
.pdT3em {
    padding-top: 3em !important;
}
.pdR5 {
    padding-right: 5px !important;
}
.pdR10 {
    padding-right: 10px !important;
}
.pdR25 {
    padding-right: 25px !important;
}
.pdR50 {
    padding-right: 50px !important;
}
.pdL5 {
    padding-left: 5px !important;
}
.pdL10 {
    padding-left: 10px !important;
}
.pdL20 {
    padding-left: 20px !important;
}
.pdL25 {
    padding-left: 25px !important;
}
.pdL35 {
    padding-left: 35px !important;
}
.pdL40 {
    padding-left: 40px !important;
}
.pdL50 {
    padding-left: 50px !important;
}
.pdL70 {
    padding-left: 70px !important;
}
.pdL90 {
    padding-left: 90px !important;
}
.pdL95 {
    padding-left: 95px !important;
}
.pdL100 {
    padding-left: 100px !important;
}
.pdL1em {
    padding-left: 1em !important;
}
.pdL2em {
    padding-left: 2em !important;
}
.mgB10 {
    margin-bottom: 10px !important;
}
.mgB20 {
    margin-bottom: 20px !important;
}
.mgB25 {
    margin-bottom: 25px !important;
}
.mgT10 {
    margin-top: 10px !important;
}
.mgT15 {
    margin-top: 15px !important;
}
.mgT20 {
    margin-top: 20px !important;
}
.mgT30 {
    margin-top: 30px !important;
}
.mgT35 {
    margin-top: 35px !important;
}
.mgT40 {
    margin-top: 40px !important;
}
.mgT45 {
    margin-top: 45px !important;
}
.mgT60 {
    margin-top: 60px !important;
}
.mgT80 {
    margin-top: 80px !important;
}
.mgT0_1em {
    margin-top: 0.1em !important;
}
.mgT1em {
    margin-top: 1em !important;
}
.mgT1_5em {
    margin-top: 1.5em !important;
}
.mgT2em {
    margin-top: 2em !important;
}
.mgT3em {
    margin-top: 3em !important;
}
.mgL5 {
    margin-left: 5px !important;
}
.mgL10 {
    margin-left: 10px !important;
}
.mgL15 {
    margin-left: 15px !important;
}
.mgL20 {
    margin-left: 20px !important;
}
.mgL30 {
    margin-left: 30px !important;
}
.mgL35 {
    margin-left: 35px !important;
}
.mgL40 {
    margin-left: 40px !important;
}
.mgL45 {
    margin-left: 45px !important;
}
.mgR5 {
    margin-right: 5px !important;
}
.mgR10 {
    margin-right: 10px !important;
}
.mgR15 {
    margin-right: 15px !important;
}
.mgR20 {
    margin-right: 20px !important;
}
.mgR30 {
    margin-right: 30px !important;
}
.mgR35 {
    margin-right: 35px !important;
}
.mgR40 {
    margin-right: 40px !important;
}
.mgR45 {
    margin-right: 45px !important;
}
.tInd1em {
    text-indent: 1em;
}
/* ---------------------------------------- 
 - text-align
---------------------------------------- */
.ta_L, td.ta_L {
    text-align: left !important;
}
.ta_R, td.ta_R {
    text-align: right !important;
}
.ta_C, td.ta_C {
    text-align: center !important;
}
/* ---------------------------------------- 
 - hidden
---------------------------------------- */
.hidden {
    display: none !important;
}
/* ---------------------------------------- 
 - Table
---------------------------------------- */
/* ---------------------------------------- 
 - pankuzu
---------------------------------------- */
.pankuzu {
    font-size: 12px;
    padding: 1em 10px 3em;
}
@media screen and (max-width: 768px) {
    .pankuzu {
        display: none;
    }
}
/* ---------------------------------------- 
 - Flexbox
---------------------------------------- */
.flexbox {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.flexbox.justifyContentSpaceBetween {
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
}
.flexbox.alignItemsCenter {
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
}
.flexbox.flexFlowRowReverse {
    flex-flow: row-reverse;
}
.flexbox.justifyContentFlexEnd {
    -webkit-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}
/* ---------------------------------------- 
 - ぶらさげインデント
---------------------------------------- */
.note {}
.note p {
    line-height: 1.5;
}
.note dt {
    float: left;
    margin-right: 0.4em;
    line-height: 1.5;
}
.note dd {
    overflow: hidden;
    padding: 0 !important;
    line-height: 1.5;
    text-align: left;
}
/* Clearfix */
dl.note:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
dl.note {
    display: inline-block;
}
/* Hides from IE-mac \*/
* html dl.note {
    height: 1%;
}
dl.note {
    display: block;
}
/* ---------------------------------------- 
 - modaal
---------------------------------------- */
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
    background: #2e2e2e !important;
}
/* ---------------------------------------- 
 - googleMap
---------------------------------------- */
.googleMap {
    width: 100%;
    height: 0;
    padding-bottom: 42.5%;
    overflow: hidden;
    position: relative;
}
.googleMap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
@media(max-width: 768px) {
    .googleMap {
        padding-bottom: 60%;
    }
}
/* ---------------------------------------- 
 - 電話番号リンク
---------------------------------------- */
@media(min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}