/*************************
*******Typography******
**************************/




body {
    background: #fff;
    font-family:"メイリオ", sans-serif, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
    line-height: 180%;
    font-size: 16px !important;
    color: #111;
}

@media (min-width: 768px) {
    body {
        background: #fff;
        font-family:"メイリオ", sans-serif, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
        line-height: 180%;
        font-size: 16px !important;
        color: #111;
        letter-spacing: 0.09em;
    }
}

/* bootstrapcss修正
----------------------------------------------------------*/
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 180%;
}
h1, .h1 {
    font-size: 100%;
  }

p {
    margin: 0 0 0px;
}

h1 {
    line-height: 100%;
    margin: 0px;
    padding: 0px;
    float: none;
}

h2 {
    margin: 0px;
    padding: 0px;
}

h3 {
    margin: 0px;
    padding: 0px;
}

h4 {
    margin: 0px;
    padding: 0px;
}




/* 汎用
----------------------------------------------------------*/
.en {
    font-family: 'Roboto', sans-serif;

}

.jp {
    font-family: 'M PLUS 1p', sans-serif;
}

a {
    outline: none;
    color: #111;
    text-decoration: underline
}

a:link,
a:visited {
    color: #111;
    text-decoration: underline
}

a:hover {
    color: #111;
    text-decoration: none
}

.clear {
    clear: both;
}

.left02 {
    float: left;
}

.right02 {
    float: right;
}

.img-filter a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=80);
    -moz-opacity: 0.7;
}

@media print,
screen and (min-width: 992px) {
    .pc_center {
        text-align: center;
    }
}

@media print,
screen and (min-width: 1200px) {
    .xl_center {
        text-align: center;
    }
}

.sp_center {
    text-align: center;
}

@media print,
screen and (min-width: 768px) {
    .sp_center {
        text-align: left;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_center {
        text-align: center;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_center {
        text-align: left;
    }
}

.text-decoration-none a:link,
.text-decoration-none a:visited {
    text-decoration: none;
}

.text-decoration-none a:hover {
    text-decoration: none;
}

.relative {
    position: relative;
}

@media print,
screen and (min-width: 992px) {
    .pc_relative {
        position: relative;
    }
}

.absolute {
    position: absolute;
}

.img_radius img {
    border-radius: 10px;
}

@media screen and (min-width:768px) {
    .img_radius img {
        border-radius: 40px;
    }
}

@media screen and (min-width:992px) {
    .img_radius img {
        border-radius: 80px;
    }
}

.img_radius2 img {
    border-radius: 10px;
}

@media screen and (min-width:768px) {
    .img_radius2 img {
        border-radius: 20px;
    }
}

@media screen and (min-width:992px) {
    .img_radius2 img {
        border-radius: 40px;
    }
}

.overhidden {
    overflow: hidden;
}

/**/

.decoration_none a:link,
.decoration_none a:visited {
    color: #111;
    text-decoration: none;
}

.decoration_none a:hover {
    color: #111;
    text-decoration: none;
}





/* margin,padding
----------------------------------------------------------*/
.padding-none {
    padding: 0;
}

.mt05 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt15 {
    margin-top: 15px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt60 {
    margin-top: 60px;
}

.mb05 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mr20 {
    margin-right: 20px;
}

.mr10 {
    margin-right: 10px;
}

.mr15 {
    margin-right: 15px;
}

.mr25 {
    margin-right: 25px;
}

.mr30 {
    margin-right: 30px;
}

.mr32 {
    margin-right: 32px;
}

.mr05 {
    margin-right: 5px;
}

.ml05 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}


/*sp*/
.sp_mb10 {
    margin-bottom: 10px;
}

@media print,
screen and (min-width: 768px) {
    .sp_mb10 {
        margin-bottom: 0px;
    }
}

.sp_mb20 {
    margin-bottom: 20px;
}

@media print,
screen and (min-width: 768px) {
    .sp_mb20 {
        margin-bottom: 0px;
    }
}

.sp_mb30 {
    margin-bottom: 30px;
}

@media print,
screen and (min-width: 768px) {
    .sp_mb30 {
        margin-bottom: 0px;
    }
}


/*tab*/
@media print,
screen and (min-width: 768px) {
    .tab_mb10 {
        margin-bottom: 10px;
    }

    .tab_mb20 {
        margin-bottom: 20px;
    }

    .tab_mb30 {
        margin-bottom: 30px;
    }

    .tab_mb40 {
        margin-bottom: 40px;
    }

    .tab_mb50 {
        margin-bottom: 50px;
    }

    .tab_mb60 {
        margin-bottom: 60px;
    }

    .tab_mb70 {
        margin-bottom: 70px;
    }

    .tab_mb80 {
        margin-bottom: 80px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mb10 {
        margin-bottom: 0px;
    }

    .tab_mb20 {
        margin-bottom: 0px;
    }

    .tab_mb30 {
        margin-bottom: 0px;
    }

    .tab_mb40 {
        margin-bottom: 0px;
    }

    .tab_mb50 {
        margin-bottom: 0px;
    }

    .tab_mb60 {
        margin-bottom: 0px;
    }

    .tab_mb70 {
        margin-bottom: 0px;
    }

    .tab_mb80 {
        margin-bottom: 0px;
    }
}

/*PC*/
@media print,
screen and (min-width: 992px) {
    .pc_mb10 {
        margin-bottom: 10px;
    }

    .pc_mb20 {
        margin-bottom: 20px;
    }

    .pc_mb30 {
        margin-bottom: 30px;
    }

    .pc_mb40 {
        margin-bottom: 40px;
    }

    .pc_mb50 {
        margin-bottom: 50px;
    }

    .pc_mb60 {
        margin-bottom: 60px;
    }

    .pc_mb70 {
        margin-bottom: 70px;
    }

    .pc_mb80 {
        margin-bottom: 80px;
    }
    .pc_mb100 {
        margin-bottom: 100px;
    }
}

/*sp*/
.sp_mt10 {
    margin-top: 10px;
}

@media print,
screen and (min-width: 768px) {
    .sp_mt10 {
        margin-top: 0px;
    }
}

.sp_mt20 {
    margin-top: 20px;
}

@media print,
screen and (min-width: 768px) {
    .sp_mt20 {
        margin-top: 0px;
    }
}

.sp_mt30 {
    margin-top: 30px;
}

@media print,
screen and (min-width: 768px) {
    .sp_mt30 {
        margin-top: 0px;
    }
}

.sp_mt40 {
    margin-top: 40px;
}

@media print,
screen and (min-width: 768px) {
    .sp_mt40 {
        margin-top: 0px;
    }
}


/*tab*/
@media print,
screen and (min-width: 768px) {
    .tab_mt10 {
        margin-top: 10px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mt10 {
        margin-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_mt20 {
        margin-top: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mt20 {
        margin-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_mt25 {
        margin-top: 25px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mt25 {
        margin-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_mt30 {
        margin-top: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mt30 {
        margin-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_mt60 {
        margin-top:60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mt60 {
        margin-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_mt100 {
        margin-top: 100px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_mt100 {
        margin-top: 0px;
    }
}



/*PC*/
@media print,
screen and (min-width: 992px) {
    .pc_mt10 {
        margin-top: 10px;
    }

    .pc_mt15 {
        margin-top: 15px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt20 {
        margin-top: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt30 {
        margin-top: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt40 {
        margin-top: 40px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt50 {
        margin-top: 50px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt60 {
        margin-top: 60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt70 {
        margin-top: 70px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt80 {
        margin-top: 80px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_mt100 {
        margin-top: 100px;
    }
}

/*sp*/
.sp_pt10 {
    padding-top: 10px;
}

@media print,
screen and (min-width: 768px) {
    .sp_pt10 {
        padding-top: 0px;
    }
}

.sp_pt20 {
    padding-top: 20px;
}

@media print,
screen and (min-width: 768px) {
    .sp_pt20 {
        padding-top: 0px;
    }
}

.sp_pt30 {
    padding-top: 30px;
}

@media print,
screen and (min-width: 768px) {
    .sp_pt30 {
        padding-top: 0px;
    }
}

.sp_pb10 {
    padding-bottom: 10px;
}

@media print,
screen and (min-width: 768px) {
    .sp_pb10 {
        padding-bottom: 0px;
    }
}

.sp_pb20 {
    padding-bottom: 20px;
}

@media print,
screen and (min-width: 768px) {
    .sp_pb20 {
        padding-bottom: 0px;
    }
}

.sp_pb30 {
    padding-bottom: 30px;
}

@media print,
screen and (min-width: 768px) {
    .sp_pb30 {
        padding-bottom: 0px;
    }
}

/*tab*/
@media print,
screen and (min-width: 768px) {
    .tab_pt10 {
        padding-top: 10px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt10 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt20 {
        padding-top: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt20 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt30 {
        padding-top: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt30 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt40 {
        padding-top: 40px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt40 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt50 {
        padding-top: 50px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt50 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt60 {
        padding-top: 60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt60 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt70 {
        padding-top: 70px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt70 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt80 {
        padding-top: 80px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt80 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pt160 {
        padding-top: 160px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pt160 {
        padding-top: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb10 {
        padding-bottom: 10px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb10 {
        padding-bottom: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb20 {
        padding-bottom: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb20 {
        padding-bottom: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb30 {
        padding-bottom: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb30 {
        padding-bottom: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb40 {
        padding-bottom: 40px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb40 {
        padding-bottom: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb50 {
        padding-bottom: 50px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb50 {
        padding-bottom: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb60 {
        padding-bottom: 60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb60 {
        padding-bottom: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb70 {
        padding-bottom: 70px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb70 {
        padding-bottom: 0px;
    }
}

@media print,
screen and (min-width: 768px) {
    .tab_pb80 {
        padding-bottom: 80px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab_pb80 {
        padding-bottom: 0px;
    }
}

/*PC*/
@media print,
screen and (min-width: 992px) {
    .pc_pt10 {
        padding-top: 10px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt20 {
        padding-top: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt30 {
        padding-top: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt40 {
        padding-top: 40px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt50 {
        padding-top: 50px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt60 {
        padding-top: 60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt70 {
        padding-top: 70px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt80 {
        padding-top: 80px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt90 {
        padding-top: 90px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt100 {
        padding-top: 100px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pt160 {
        padding-top: 160px;
    }
}



@media print,
screen and (min-width: 992px) {
    .pc_pb10 {
        padding-bottom: 10px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb20 {
        padding-bottom: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb30 {
        padding-bottom: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb40 {
        padding-bottom: 40px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb50 {
        padding-bottom: 50px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb60 {
        padding-bottom: 60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb70 {
        padding-bottom: 70px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb80 {
        padding-bottom: 80px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb90 {
        padding-bottom: 90px;
    }
}

@media print,
screen and (min-width: 992px) {
    .pc_pb100 {
        padding-bottom: 100px;
    }
}


.auto {
    margin: 0 auto;
}











/* padding消し
----------------------------------------------------------*/
@media print,
screen and (min-width: 992px) {
    .pc_pd0 {
        padding-left: 0px;
        padding-right: 0px;
    }

    .pc_r0 {
        padding-right: 0px;
    }
}


/* list
----------------------------------------------------------*/
.pl0 ul {
    padding-left: 0px;
    margin-bottom: 0px;
}

.list01 li {
    list-style: none;
    margin-bottom: 0px;
}



.list02 li {
    list-style: disc;
    margin-left: -20px;
    padding-bottom: 5px;
    border-bottom: 1px dotted #ccc;
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .list02 li {
        list-style: disc;
        margin-left: -20px;
        padding-bottom: 0px;
        border-bottom: none;
        margin-bottom: 0px;
    }
}

.list03 li {
    list-style-type: decimal;
    margin-left: -15px;
    margin-bottom: 0px;
}

.list03 li span {
    font-weight: bold;
}

.list04 li {
    list-style: disc;
    margin-left: -20px;
    padding-bottom: 5px;
    border-bottom: 1px dotted #ccc;
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .list04 li {
        list-style: disc;
        margin-left: -20px;
        padding-bottom: 0px;
        border-bottom: none;
        margin-bottom: 10px;
    }
}



/* title
---------------------------------------------------- */
.title1{
    letter-spacing: 0.06em;
    font-size:16px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    color: #f8d100;
    line-height: 160%;
}




.title1 .jp {
    letter-spacing: 0.05em;
    display: block;
    font-weight: bold;
    font-size: 140%;
    font-family: 'M PLUS 1p', sans-serif;
}

@media (min-width: 768px) {
    .title1 .jp {
        font-size: 33px;
        margin-bottom: 5px;
    }
}

@media (min-width: 992px) {
    .title1 .jp {
        font-size: 40px;
        letter-spacing: 0.08em;
        margin-bottom: 10px;
    }
}

/**/
.title2 {
    font-size: 120%;
    line-height: 150%;
    font-weight: bold;
}

@media (min-width: 768px) {
    .title2{
        font-size: 22px;
    }
}

@media (min-width: 992px) {
    .title2 {
        font-size: 25px;
    }
}

/**/


/**/

.icon_title {
    padding: 0 0 0 25px;
    background-image: url(../images/icon1.png);
    background-repeat: no-repeat;
    background-position: 0 10px;
    font-size: 25px;
}

@media print,
screen and (min-width: 768px) {
    .icon_title {
        font-size: 27px;
    }
}

@media print,
screen and (min-width: 992px) {
    .icon_title {
        font-size: 30px;
    }
}

/**/
.midashi_sen {
    background: url(../images/sen.jpg) no-repeat left center;
    padding-left: 60px;
    font-size: 120%;
    line-height: 1.4em;
    font-weight: bold;
}

@media print,
screen and (min-width: 1200px) {
    .midashi_sen {
        font-size: 130%;
    }
}

/**/


.midashi1 {
    font-size: 140%;
    line-height: 150%;
    color: #b58135;
}

@media (min-width: 768px) {
    .midashi1 {
        font-size: 28px;
    }
}

@media (min-width: 992px) {
    .midashi1 {
        font-size: 33px;
    }
}
/**/
.midashi2 {
    font-size: 120%;
    line-height: 150%;
    margin-bottom: 15px;
    border-bottom: 1px solid #111;
    padding-bottom: 7px;
    color: #111;
    font-weight: bold;
}

@media (min-width: 768px) {
    .midashi2 {
        font-size: 22px;
        margin-bottom: 15px;
    }
}

@media (min-width: 992px) {
    .midashi2 {
        font-size: 25px;
        margin-bottom: 30px;
    }
}

.midashi3 {
    font-size: 130%;
    line-height: 150%;
    margin-bottom: 10px;
    color: #fff;
    background: #b58135;
    padding: 8px;
}

@media (min-width: 768px) {
    .midashi3 {
        font-size: 25px;
        margin-bottom: 20px;
        padding: 10px;
    }
}

@media (min-width: 992px) {
    .midashi3 {
        font-size: 28px;
        margin-bottom: 40px;
    }
}

.midashi4 {
    font-size: 110%;
    line-height: 150%;
    /* margin-bottom: 15px; */
    /* border-bottom: 1px solid #fff;
    padding-bottom: 7px; */
    color: #fff;
    font-weight: bold;
}

@media (min-width: 768px) {
    .midashi4 {
        font-size: 19px;
        /* margin-bottom: 15px; */
    }
}

@media (min-width: 992px) {
    .midashi4 {
        font-size: 22px;
        /* margin-bottom: 30px; */
    }
}



/* table
----------------------------------------------------------*/
.table1 {
    width: 100%;
    border-collapse: collapse;
    border-right: 1px solid #111;
    border-left: 1px solid #111;
    border-bottom: 1px solid #111;
}

.table1 th {
    width: 100%;
    padding: 10px 10px 10px 10px;
    display: block;
    background: #fdf7d4;
    border-top: 1px solid #111;
    font-weight: normal;
}

.table1 td {
    width: 100%;
    padding: 10px;
    display: block;

}

@media print,
screen and (min-width: 768px) {
    .table1 th {
        width: 28%;
        padding: 15px 12px;
        vertical-align: middle;
        display: table-cell;
        border: 1px solid #333;
        text-align: center;
    }

    .table1 td {
        width: 100%;
        padding: 15px;
        display: table-cell;
        vertical-align: middle;
        border: 1px solid #111;
    }
}

@media print,
screen and (min-width: 992px) {
    .table1 th {
        width: 28%;
        padding: 25px 15px;
    }

    .table1 td {
        padding: 25px 15px;
    }
}

.table1 ul {
    margin: 0;
}

.table2 {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: #fff;
}

.table2 th {
    width: 35%;
    background: #fff;
    border: 1px solid #f8d100;
    box-sizing: border-box;
    padding: 10px;
    vertical-align: top;
    font-weight: normal;
}

.table2 td {
    /*  background: #fff;*/
    border: 1px solid #f8d100;
    box-sizing: border-box;
    padding: 10px;
    vertical-align: top;
    text-align: center;
}

@media screen and (max-width: 767px) {

    .table2 th,
    .table2 td {
        /* display: block;
        width: 100%; */
        border-bottom: none;
    }

    /* .table2 tr:last-child td:last-child {
        border-bottom: 1px solid #111;
    } */

}

@media print,
screen and (min-width: 768px) {

    .table2 th,
    .table2 td {
        vertical-align: middle;
    }
}


.sp_bg {
    background: #f1f1f1;
}

@media print,
screen and (min-width: 768px) {
    .sp_bg {
        background: #fff;
    }
}

/**/
.table3 {
    width: 100%;
    border-collapse: collapse;
}

.table3 th {
    width: 100%;
    padding: 10px 10px 10px 10px;
    display: block;
    color: #fff;
}

.table3 td {
    width: 100%;
    padding: 10px;
    display: block;
    background: #eee;
    border-bottom: 1px solid #fff;

}

@media print,
screen and (min-width: 768px) {
    .table3 th {
        width: 28%;
        padding: 15px 12px;
        vertical-align: middle;
        display: table-cell;
        text-align: center;
    }

    .table3 td {
        width: 100%;
        padding: 15px;
        display: table-cell;
        vertical-align: middle;
    }
}

@media print,
screen and (min-width: 992px) {
    .table3 th {
        width: 28%;
        padding: 25px 15px;
    }

    .table3 td {
        padding: 25px 15px;
    }
}

.table3 ul {
    margin: 0;
}



.table_noblock {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

.table_noblock th {
    padding: 10px;
    vertical-align: middle;
    text-align:left;
    border: 1px solid #f8d100;
    font-weight: normal;
    /* white-space: nowrap; */
    width: 1%;
   
    
}

.table_noblock td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #f8d100;
    white-space: nowrap;
    /* overflow-wrap: break-word; */
}

@media screen and (min-width:768px) {
    .table_noblock th {
        padding: 10px 15px;
    }

    .table_noblock td {
        padding: 10px 15px;
        text-align: center;
    }
}

/**/
.table_noblock2 {
    width: 100%;
    border-collapse: collapse;
}

.table_noblock2 th {
    padding: 10px;
    vertical-align: middle;
    text-align: center;
    border: 1px solid #111;
    white-space: nowrap;
    background: #111;
    color: #fff;
}

.table_noblock2 td {
    padding: 10px;
    vertical-align: middle;
    border: 1px solid #111;
    overflow-wrap: break-word;
}

@media screen and (min-width:768px) {
    .table_noblock2 th {
        padding: 10px 15px;
    }

    .table_noblock2 td {
        padding: 10px 15px;
        text-align: center;
    }
}

.nowrap {
    white-space: nowrap;
    width: 1%;
}


.table_bg1 {
    background: #0099ff;
}

.table_bg2 {
    background: #102c6d;
}






/* border
---------------------------------------------------- */
.border_b {
    border-bottom: 1px solid #f7f7f7;
}

.border_top {
    border-top: 1px solid #ccc;
}

/* bg
---------------------------------------------------- */

.bg_red {
    background: linear-gradient(90deg, #999 0%, #999 50%, #ffffff 50%, #ffffff 100%);
}

.bg_blue {
   background: #102a50;
}

.bg_white {
    background-color: rgba(255, 255, 255, .8);
    padding: 15px;
}

@media screen and (min-width:768px) {
    .bg_white {
        padding: 20px;
    }
}

@media screen and (min-width:992px) {
    .bg_white {
        padding: 40px;
    }
}

@media screen and (min-width:1200px) {
    .bg_white {
        padding: 80px 40px 0 0;
    }
}

.bg_beige {
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 80%, #f2efec 80%, #f2efec 100%);
}

.bg_beige2 {
    background: #f2efec;
}



@media print,
screen and (min-width:992px) {
    .text_padding {
        padding: 60px;
    }
}

@media print,
screen and (min-width:1200px) {
    .text_padding {
        padding: 80px;
    }
}

@media print,
screen and (min-width:768px) {
    .text_padding2 {
        padding-top: 40px;
    }
}

@media print,
screen and (min-width:992px) {
    .text_padding2 {
        padding-top: 60px;
    }
}

@media print,
screen and (min-width:1200px) {
    .text_padding2 {
        padding-top: 80px;
    }
}

.text_padding3 {
    padding: 15px;
}

@media print,
screen and (min-width:768px) {
    .text_padding3 {
        padding: 20px;
    }
}

@media print,
screen and (min-width:992px) {
    .text_padding3 {
        padding: 60px;
    }
}

@media print,
screen and (min-width:1200px) {
    .text_padding3 {
        padding: 80px;
    }
}



@media print,
screen and (min-width:768px) {
    .img_padding {
        padding-top: 40px;
    }
}

@media print,
screen and (min-width:992px) {
    .img_padding {
        padding-top: 0px;
    }
}


.bg1 {
    background: url(../images/bg1.jpg) no-repeat scroll 50% 50% / cover;
}


.bg2 {
    background: url(../images/bg2.jpg) no-repeat top right #fff;
}

.bg {
    background: url(../images/bg.jpg);
}







.white_box {
    background: #fff;
    padding: 20px;
}

@media screen and (min-width:768px) {
    .white_box {
        padding: 60px 40px;
    }
}

@media screen and (min-width:992px) {
    .white_box {
        padding: 80px 40px;
    }
}

/* シャドー
---------------------------------------------------- */
.shadow1 {
    text-shadow: #fff 1px 0 10px;
}

/* マーカー
---------------------------------------------------- */
.marker_blue {
    background: linear-gradient(transparent 60%, #5cbdfd 60%);
}

/* color
---------------------------------------------------- */
.white {
    color: #fff;
}

.black {
    color: #111;
}

.yellow {
    color: #f8d100;
}

.orange {
    color: #ee6000;
}

.red {
    color: #cc0000;
}



/* font
---------------------------------------------------- */
.normal {
    line-height: normal;
}

.lh_s {
    line-height: 100%;
}

.lh_m {
    line-height: 1.5em;
}

.lh_l {
    line-height: 1.8em;
}

.fs13 {
    font-size: 13px;
}

.fs14 {
    font-size: 14px;
}

.fs15 {
    font-size: 15px;
}

.fs16 {
    font-size: 16px;
}

.fs18 {
    font-size: 18px;
}

@media print,
screen and (min-width: 768px) {
    .tab15pc16 {
        font-size: 15px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tab15pc16 {
        font-size: 16px;
    }
}



@media print,
screen and (min-width: 992px) {
    .pc_fs17 {
        font-size: 17px;
    }
}

.s_font {
    font-size: 70%;
    line-height: 160%;
}

@media print,
screen and (min-width: 1200px) {
    .s_font {
        font-size: 14px;
    }
}

.m_font {
    font-size: 110%;
    line-height: 160%;
}

@media (min-width: 768px) {
    .m_font {
        font-size: 20px;
        line-height: 1.6em;
    }
}

@media (min-width: 992px) {
    .m_font {
        font-size: 22px;
        line-height: 1.8em;
    }
}

.l_font {
    font-size: 120%;
    line-height: 160%;
}

@media (min-width: 768px) {
    .l_font {
        font-size: 18px;
        line-height: 160%;
    }
}

@media (min-width: 992px) {
    .l_font {
        font-size: 18px;
        line-height: 1.8em;
    }
}


.ll_font {
    font-size: 140%;
    line-height: 160%;
}

@media (min-width: 768px) {
    .ll_font {
        font-size: 25px;
        line-height: 160%;
    }
}

@media (min-width: 992px) {
    .ll_font {
        font-size: 30px;
        line-height: 1.6em;
    }
}

@media (min-width:1200px) {
    .ll_font {
        font-size: 30px;
    }
}



/* タブレット以上縦書き
----------------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
    .tate_box {
        display: flex;
        justify-content: flex-end;
    }
}

@media print,
screen and (min-width: 768px) {
    .tate {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }
}

@media print,
screen and (min-width: 768px) {
    .tate_sage1 {
        text-indent: 1.5em;
    }
}

@media print,
screen and (min-width: 768px) {
    .text-combine {
        -webkit-text-combine: horizontal;
        -ms-text-combine-horizontal: all;
        text-combine-upright: all;
    }

    /*数字縦書き*/
}

/* 余白
----------------------------------------------------------*/
.space {
    padding: 40px 0;
}

@media (min-width: 768px) {
    .space {
        padding: 80px 0;
    }
}

@media (min-width: 992px) {
    .space {
        padding: 120px 0;
    }
}

.space2 {
    padding: 0px 0 40px;
}

@media (min-width: 768px) {
    .space2 {
        padding: 0px 0 80px;
    }
}

@media (min-width: 992px) {
    .space2 {
        padding: 0px 0 120px;
    }
}

.space4 {
    padding: 0px 0 40px;
}

@media (min-width: 768px) {
    .space4 {
        padding: 0px 0 80px;
    }
}

@media (min-width: 992px) {
    .space4 {
        padding: 0px 0 120px;
    }
}

.space5 {
    padding: 40px 0;
}

@media (min-width: 768px) {
    .space5 {
        padding: 40px 0;
    }
}

@media (min-width: 992px) {
    .space5 {
        padding: 60px 0;
    }
}




.sp_yohaku {
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 768px) {
    .sp_yohaku {
        padding-right: 0px;
        padding-left: 0px;
    }
}

@media (min-width: 768px) {
    .tab_yohaku {
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media (min-width: 992px) {
    .tab_yohaku {
        padding-right: 0px;
        padding-left: 0px;
    }
}


/* 縦横比固定
----------------------------------------------------------*/
.photo-ofi {
	height: 0;
	display: block;
	background-color: #EFEFEF;
	overflow: hidden;
	position: relative;
	padding-bottom: 75%; /* 高さを指定（ボックスの横幅を基準） */
}
.photo-ofi img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
}
.photo-ofi a {
    cursor: pointer;
}

/* 新着
----------------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
    .news_tit {
        color: #fff;
    }
}


.bg_news {
    background: linear-gradient(90deg, #999 0%, #999 15%, #ffffff 15%, #ffffff 100%);
}

@media print,
screen and (min-width: 768px) {
    .bg_news {
        background: linear-gradient(90deg, #999 0%, #999 40%, #ffffff 40%, #ffffff 100%);
    }
}

.btn_pdf:link,
.btn_pdf:visited {
    color: #fff;
    background-color: #0e31a9;
}

.btn_pdf:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}

.btn_pdf.btn {
    border-radius: 50px;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    padding: 0;
    font-size: 90%;
}


.news_waku {
    background-color: #fff;
    padding: 20px 20px;
}

@media print,
screen and (min-width: 1200px) {
    .news_waku {
        padding: 30px;
    }
}

.news_scroll {
    max-height: 250px;
    overflow-y: scroll;
    padding-right: 10px;
    z-index: 1;
}

@media print,
screen and (min-width: 768px) {
    .news_scroll {
        max-height: 290px;
    }
}

.news_table {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.6em;
}

.news_table th {
    width: 100%;
    display: block;
    font-family: 'Roboto', sans-serif;
    font-weight: normal;
    padding-top: 15px;
}

.news_table td {
    /*    width: 100%;*/
    display: block;
    word-break: break-all;
    border-bottom: 1px solid #111;
    padding-bottom: 15px;
}

.new {
    margin-left: 10px;
    font-family: 'Roboto', sans-serif;
    font-size: 90%;
    line-height: 1.0em;
    color: #cc0000;

}

.news_table td a:link,
.news_table td a:visited {
    text-decoration: underline;
}

.news_table a.btn_more {
    text-decoration: none !important;
}

.news_img {
    width: 100%;
}

.news_item {
    width: 46%;
    margin-left: 10px;
    float: right;
}

@media print,
screen and (min-width: 768px) {
    .news_img {
        width: 38%;
        float: right;
    }

    .news_text {
        width: 60%;
        float: left;
    }

    .news_item {
        width: 43%;
        margin-left: 10px;
        float: right;
    }
}



.news_midashi {
    font-weight: bold;
    margin-bottom: 5px;
}

/* sp header
----------------------------------------------------------*/
/* .sp_header {
    padding: 5px 0 3px;
    z-index: 1999;
    position: fixed;
    top: 0;
    background: #fff;
    width: 100%;
} */



/* sp header分余白---*/
#main_mt {
    margin-top:50px;
}

@media print,
screen and (min-width: 768px) {
    #main_mt {
        margin-top: 70px;
    }
}
@media print,
screen and (min-width: 992px) {
    #main_mt {
        margin-top: 0px;
    }
}
/**/
#main_mt2 {
    margin-top:70px;
}

@media print,
screen and (min-width: 768px) {
    #main_mt2 {
        margin-top: 70px;
    }
}
@media print,
screen and (min-width: 992px) {
    #main_mt2 {
        margin-top: 0px;
    }
}




/* header
----------------------------------------------------------*/
@media print,
screen and (min-width: 768px) {
#header_box{
	position: absolute;
	width: 100%;
	z-index:999;
    top: 0;
/*    left: 0%;*/     
}
}



.logo_p {
    padding: 17px 0px 17px 0px;
}

@media print,
screen and (min-width: 768px) {
    .logo_p {
        padding: 20px 0px 20px 0px !important;
    }
}

@media print,
screen and (min-width: 992px) {
    .logo_p {
        padding: 35px 0px 20px 0px !important;
    }
}

@media print,
screen and (min-width: 1200px) {
    .logo_p {
        padding: 35px 0px 35px 0px !important;
    }
}

/**/
.logo_p2 {
    padding: 12px 0px 12px 0px;
}

@media print,
screen and (min-width: 768px) {
    .logo_p2 {
        padding: 10px 0px 10px 0px;
    }
}

@media print,
screen and (min-width: 992px) {
    .logo_p2 {
        padding: 20px 0px 20px 0px;
    }
}

@media print,
screen and (min-width: 1200px) {
    .logo_p2 {
        padding: 20px 0px 20px 0px;
    }
}

/**/

.lh_normal{line-height: normal;}

.header_tel {
    font-size: 16px;
    
    font-weight: bold;
}

@media print,
screen and (min-width: 768px) {
    .header_tel {
        font-size: 16px;
        line-height: 160%;
    }
}

@media print,
screen and (min-width: 992px) {
    .header_tel {
        font-size: 18px;
        line-height: 200%;
        color: #fff;
    }
}

.header_telnum {
    font-size: 26px;
}

@media print,
screen and (min-width: 768px) {
    .header_telnum {
        font-size: 22px;
    }
}

@media print,
screen and (min-width: 992px) {
    .header_telnum {
        font-size: 18px;
    }
}

@media print,
screen and (min-width: 1200px) {
    .header_telnum {
        font-size: 26px;
    }
}

.sp_tel {
    font-size: 150%;
    margin-top: 18px;
    text-align: right;
}


.h_telbox {
    width: 230px;
    float: right;
}


/* tel
----------------------------------------------------------*/
.tel_link a:link,
.tel_link a:visited {
    color: #111;
    text-decoration: none
}

.tel_link a:hover {
    color: #111;
    text-decoration: none
}

.tel_linkwhite a:link,
.tel_linkwhite a:visited {
    color: #fff;
    text-decoration: none
}

.tel_linkwhite a:hover {
    color: #fff;
    text-decoration: none
}

.tel_linkred a:link,
.tel_linkred a:visited {
    color: #999;
    text-decoration: none
}

.tel_linkred a:hover {
    color: #999;
    text-decoration: none
}

/*---*/



/* sp_tel
----------------------------------------------------------*/
.sp_telicon {
    font-size: 35px;
    text-align: right;
    margin-top: 16px;
    color: #111111;
}

@media print,
screen and (min-width: 576px) {
    .sp_telicon {
        margin-top: 20px;
    }
}

.sp_telicon a:link,
.sp_telicon a:visited {
    color: #111;
    text-decoration: none
}

.sp_telicon a:hover {
    color: #111;
    text-decoration: none
}

.sp_telicon .fa {
    margin: 0;
}



/* megamenu
---------------------------------------------------- */
/*
.mega_mt{
    margin-top: 75px;
}

@media print,
screen and (min-width: 992px) {
    .mega_mt{
    margin-top: 30px;
}
}
*/

/* .megamenu_yohakunone .col-12 {
    padding-left: 0px;
    padding-right: 0px;
}
.megamenu_yohakunone .col-md-12 {
    padding-left: 0px;
    padding-right: 0px;
}  */

.menu>ul {
    font-family:"メイリオ", sans-serif, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
    font-weight: 600;
}

/*右寄せ*/
@media print,
screen and (min-width: 992px) {
    .menu>ul {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: center !important;
        list-style: none !important;
    }
}

/*右寄せend*/


/* .menu>ul>li a {
    font-weight: bold;
}

.menu>ul>li a {
    font-weight: bold;
} */

.menu li a:hover {
    color: #ee6000;
    text-decoration: none;
}

.menu .active a:link,
.menu .active a:visited {
    color: #ee6000;
    text-decoration: none;
}

.menu>ul>li>ul.normal-sub img {
    margin-right: 10px;
}

/*PC*/
@media print,
screen and (min-width: 992px) {
    .menu>ul>li a {
        /* border-bottom: 1px solid #fff; */
        color: #fff;
    }

    .menu li a:hover {
        color: #fff;
        text-decoration: none;
        border-bottom: 1px solid #fff;
    }

    .menu .active a:link,
    .menu .active a:visited {
        color: #fff;
        text-decoration: none;
        border-bottom: 1px solid #fff;
    }
}

@media screen and (min-width:1200px) {
    .menu>ul>li a {
        border-bottom: none;
        color: #fff;
    }

    .menu li a:hover {
        border-bottom: none;
        color: #fff;
    }
}

/*アニメ*/
@media screen and (min-width:1200px) {
    .item-navi {
        position: relative;
        z-index: 1;
    }

    .item-navi:after {
        content: '';
        position: absolute;
        left: 0;
        bottom: -4px;
        /*テキストからの距離*/
        width: 0%;
        /*初期状態では下線非表示*/
        height: 1px;
        /*下線の高さ*/
        background: #fff;
        /*下線の色*/
        z-index: -1;
        transition: all 0.4s;
        /*アニメーション速度*/
    }

    .navi:hover .item-navi:after {
        width: 100%;
        /*hover時に表示*/
    }
}

/*スクロール出現naviボタン*/

.navibtn {
    text-align: center;
    display: block;
    color: #fff;
    font-weight: 400;
}

.navibtn a:link,
.navibtn a:visited {
    color: #fff;
    text-decoration: none;
    padding: 7px 5px;
    display: block;
    background: #ee6000;
}

.navibtn a:hover {
    color: #fff !important;
    background: #111;
    display: block;
    padding: 7px 5px;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}

@media print,
screen and (min-width: 992px) {

    .navibtn a:link,
    .navibtn a:visited {
        padding: 8px 10px;
    }

    .navibtn a:hover {
        padding: 8px 10px;
    }
}

@media print,
screen and (min-width: 1200px) {

    .navibtn a:link,
    .navibtn a:visited {
        padding: 8px 10px;
    }

    .navibtn a:hover {
        padding:8px 10px;
    }
}


/*sp*/
.menu-mobile {
    font-weight: bold;
    background: #fff;
}


.menu-mobile:link,
.menu-mobile:visited {
    text-decoration: none;
    color: #111;
}

.menu a:link,
.menu a:visited {
    text-decoration: none;
}



/*navi数が多いとき*/
@media only screen and (max-width: 991px) {
    .sp_header {
        z-index: 1999;
        position: fixed;
        top: 0;
        width: 100%;
        background: #fff;
    }

    /*navi数が多いとき*/
    .sp_header .navi100 {
        position: fixed;
        left: 0;
        top: 55px;
        width: 100%;
        height: 100%;
        overflow-y: scroll;
        padding-bottom: 60px;
        z-index: 9999;
    }

    @media screen and (min-width:540px) {
        .sp_header .navi100 {
            top: 50px;
            padding-bottom: 80px;
        }
    }

    @media screen and (min-width:768px) {
        .sp_header .navi100 {
            top: 7%;
            width: 100%;
            background: #fff;
            height: 80%;
        }
    }

    

    /*
    .menu-container {
    z-index: 9999;
    position: fixed;
    top: 0;
    width: 100%;
}
.navi100{
    position: fixed;
    left: 0;
    width: 100%;
    height:100%;
    overflow-y: scroll; 
    padding-bottom: 60px;
}
*/

    .show-on-mobile li {
        background: #fff;
    }
}

/*
@media only screen and (max-width: 767px) {
    .menu{
        width: 100%;
        left: 0;
    top: 0;
    z-index:999;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    position: fixed;
        height: 100%;
 overflow: auto;
 -webkit-overflow-scrolling: touch;
    }
    
    .show-on-mobile li{
        background: #fff;
    }
}
*/



/*
@media only screen and (max-width: 767px) {
    .header_bg {
    width: 100%;
    top: 0;
    z-index:9999;
    -moz-background-size: 100% auto;
    background-size: 100% auto;
    position: fixed;
    background-color: #fff;
}    
    
}
*/
/*画像とテキスト横並び*/
.megalist {
    display: flex;
    justify-content: start;
    align-items: center;
}

/**/

/*IE contact.htmlで必要*/
.style_none li {
    list-style: none;
}

/*スマホ　ナビの中に電話*/

.mega_tel {
    padding: 1.5em;
    width: 100%;
    display: block;
}

.menu-mobile img {
    display: none;
}

/*=============================
.btn-trigger　閉じるボタンアニメ
=============================*/
.btn-trigger {
    position: relative;
    width: 50px;
    height: 44px;
    cursor: pointer;
  }
  .btn-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #fff;
    border-radius: 4px;
  }
  .btn-trigger, .btn-trigger span {
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
  }
  .btn-trigger span:nth-of-type(1) {
    top: 0;
  }
  .btn-trigger span:nth-of-type(2) {
    top: 20px;
  }
  .btn-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  
  
  /*=============================
  #btn01
  =============================*/
  #btn01.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(-45deg);
    transform: translateY(20px) rotate(-45deg);
  }
  #btn01.active span:nth-of-type(2) {
    opacity: 0;
  }
  #btn01.active span:nth-of-type(3) {
    -webkit-transform: translateY(-20px) rotate(45deg);
    transform: translateY(-20px) rotate(45deg);
  }


/* navi
---------------------------------------------------- */
/*boot打消し*/

.navbar {
    padding: 0rem 0rem 0;
    margin: 0 auto;
}

/*navi一つあたりの余白*/
.navbar-expand-md .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 20px;
}

@media print,
screen and (min-width: 768px) {
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0;
        padding-left: 0;
    }
}

@media print,
screen and (min-width: 1200px) {
    .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0;
        padding-left: 0;
    }
}


/*sp用*/
.navbar-toggler-icon {
    width: 1.3em;
    height: 1.3em;
}

/*トグル濃さ*/
.navbar-light .navbar-toggler {
    color: rgba(255, 255, 255, 1);
    border-color: rgba(153, 153, 153, 1);
}

/*トグル背景*/
.bg-light {
    background-color: #999 !important;
    margin-right: 15px;
    margin-top: 15px;
    /*boot打消し*/
}


/*大きさ*/

.navbar-toggler {
    margin: 0px 0px 0;
}



.navbar-dark .navbar-toggler {
    border: none;
}


.navbar-nav {
    z-index: 9999;
}

@media print,
screen and (min-width: 768px) {
    .navbar-nav {
        padding: 0px 0 0;
    }
}

.navbar button:focus {
    outline: none;
    outline: 0px auto -webkit-focus-ring-color;
}


/* .padding-none .col-md-6 {
    padding-right: 0;
    padding-left: 0;
}


.padding-none .col-lg-7 {
    padding-right: 0;
    padding-left: 0;
} */



/*-ナビ背景黒--*/
.bg-dark {
    background-color: #111 !important;
}

a.bg-dark:hover,
a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
    background-color: #111 !important;
}

/*---*/

/*-SP navi文字色--*/


.navbar-light .navbar-nav .nav-link {
    color: #111;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: #999;
}

.navbar-light .navbar-nav .nav-link:focus {
    color: #111;
}

.navbar-light .navbar-nav .nav-link.disabled {
    color: #111;

}

.navbar-light .navbar-nav .show>.nav-link,
.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .nav-link.active {
    color: #999;
    background: #eee;
}

.navbar-light.navbar-text {
    color: #111;
}

.navbar-light .navbar-text a {
    color: #111;
    text-decoration: none;
}

.navbar-light .navbar-text a:hover,
.navbar-light .navbar-text a:focus {
    color: #111;
    text-decoration: none;
}

/*---*/

/*--SPnavi　下線-*/
.navbar-nav li {
    border-bottom: 1px solid #ccc;
}

/*--PCnavi　下線消し 文字余白サイズ-*/
.navbar-nav li {
    font-size: 17px;
}

@media print,
screen and (min-width: 768px) {

    .navbar-nav li {
        border-bottom: none;
        font-size: 76%;
        margin: 16px 10px 0px 0px;
    }
}

@media print,
screen and (min-width: 992px) {
    .navbar-nav li {
        font-size: 16px;
        margin: 15px 0px 0px 17px;
    }
}

@media print,
screen and (min-width: 1200px) {
    .navbar-nav li {
        font-size: 16px;
        margin: 30px 0px 0px 40px;
    }
}

/*--SP navi-*/
.navbar-nav a:link,
.navbar-nav a:visited {
    text-decoration: none;
    padding: 15px 10px;
    display: block;
}

.navbar-nav a:hover {
    display: block;
    padding: 15px 10px;
    text-decoration: none;
}

@media print,
screen and (min-width: 768px) {

    .navbar-nav a:link,
    .navbar-nav a:visited {
        padding: 0px 10px;
    }

    .navbar-nav a:hover {
        padding: 0px 10px;
        color: #999;
        -webkit-transition: 0.8s;
        -moz-transition: 0.8s;
        -o-transition: 0.8s;
        -ms-transition: 0.8s;
        transition: 0.8s;
        /* border-bottom: 2px solid #999; */
    }
}

@media screen and (min-width:1200px) {
    .navbar-nav a:hover {
        color: #999;
        /* border-bottom: none; */
    }
}

@media print,
screen and (min-width: 768px) {

    .navbar .navbar-nav .show>.nav-link,
    .navbar .navbar-nav .active>.nav-link,
    .navbar .navbar-nav .nav-link.show,
    .navbar .navbar-nav .nav-link.active {
        color: #999;
        /* border-bottom: 2px solid #999; */
    }

}

/**/

/*ドロップダウン*/

.dropdown-menu {
    border-bottom: none !important;
    /*boot.css修正*/
}


.border_b {
    border-bottom: 1px solid #0c4989;
}

.dropdown-menu {
    padding: 0rem 0;
    border-radius: 0;
}

.dropdown-item {
    font-size: 15px;
    background-color: #0e5299;
}

@media print,
screen and (min-width: 768px) {
    .dropdown-item {
        font-size: 15px;
        border-bottom: 1px solid #0c4989;

    }
}

@media print,
screen and (min-width: 992px) {
    .dropdown-item {
        font-size: 15px;
    }
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: #fff;
    background-color: #999;
}

.dropdown-menu a:link,
.dropdown-menu a:visited {
    padding: 10px 7px 10px;
    border-bottom: 1px solid #0c4989;
    color: #fff;
}

.dropdown-menu a:hover {
    padding: 10px 7px 10px;
}

@media print,
screen and (min-width: 768px) {
    .dropdown-menu a:hover {
        border-bottom: 1px solid #0c4989;
    }
}

.dropdown-menu .active {
    background-color: #999;
    color: #111;
}








/*英語小文字*/
/* .nav-item span {
    font-size: 11px;
    color: #999;
    font-family: 'Roboto', sans-serif;
    font-weight: 100;
    margin-left: 5px;
}

@media print,
screen and (min-width: 768px) {
    .nav-item span {
        display: block;
        font-size: 11px;
        text-align: center;
        line-height: normal;
    }
} */



/* nav
---------------------------------------------------- */
@media screen and (min-width:768px) {

    .cb-header {
        position: fixed;
        /* ヘッダーバーを固定 */
        top: -155px;
        left: 0;
        width: 100%;
        z-index: 1999;
        background-color: rgba(17, 17, 17, 0.7);
    }

    .cb-header nav {
        background-color: rgba(255, 255, 255, 1);
    }

}

/* btn
---------------------------------------------------- */

/**/


/* .read_more {
    height: 55px;
    margin-left: 0;
    padding-left: 72px;
}

.read_more::after {
    left: 20px;
}

.read_more_text {
    font-size: 1.6rem;
} */

.read_more_circle {
    width: 55px;
    height: 55px;
}

.read_more {
    position: relative;
    display: inline-flex;
    align-items: center;
    /* height: 50px; */
    margin-left: -37px;
    padding-left: 80px;
    line-height: 1.8;
}

@media print,
screen and (min-width: 768px) {
    .read_more {
        position: relative;
        display: inline-flex;
        align-items: center;
        /* height:50px; */
        margin-left: -37px;
        padding-left: 128px;
        line-height: 1.8;
    }
}

@media print,
screen and (min-width:992px) {
    .read_more {
        position: relative;
        display: inline-flex;
        align-items: center;
        height: 80px;
        margin-left: -37px;
        padding-left: 128px;
        line-height: 1.8;
    }
}

@media print,
screen and (min-width:1200px) {
    .read_more {
        position: relative;
        display: inline-flex;
        align-items: center;
        height: 148px;
        margin-left: -37px;
        padding-left: 128px;
        line-height: 1.8;
    }
}


.read_more::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 40px;
    background: url("../images/arrow.png") center no-repeat;
    z-index: 2;
}

@media print,
screen and (min-width: 768px) {
    .read_more::after {
        content: '';
        position: absolute;
        width: 16px;
        height: 16px;
        left: 68px;
        background: url("../images/arrow.png") center no-repeat;
        z-index: 2;
    }
}


.read_more_text {
    font-size: 1.1rem;
    font-weight: 700;
    transition: .2s ease-out;
}

.read_more_circle {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 90px;
    height: 90px;
    border-radius: 50%;
    overflow: hidden;
    z-index: 0;
}

@media print,
screen and (min-width: 768px) {
    .read_more_circle {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 148px;
        height: 148px;
        border-radius: 50%;
        overflow: hidden;
        z-index: 0;
    }
}


.read_more_circle::before {
    transform: scale(0.5);
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
}


.read_more_circle::after {
    transform: translateY(-50%);
    content: attr(data-text);
    position: absolute;
    top: 50%;
    left: 128px;
    /* border-bottom: 1px solid transparent; */
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.8;
    color: #FFF;
    white-space: nowrap;
    opacity: 0;
    transition: opacity .5s cubic-bezier(.19, 1, .22, 1);
}

.read_more.inversion .read_more_text {
    color: #111;
}

.read_more.inversion .read_more_circle::before {
    background: #111;
}

@media print,
screen and (min-width: 1200px) {
    .read_more:hover {
        opacity: 1;
    }

    .read_more:hover .read_more_circle::before {
        transform: scale(1);
        transition-duration: 0.3s;
    }

    .read_more:hover .read_more_circle::after {
        opacity: 1;
    }

    .read_more:hover .read_more_text {
        border-bottom-color: transparent !important;
    }
}

.btn a:link,
.btn a:visited {
    text-decoration: none;
}

.btn a:hover {
    text-decoration: none;
}

/**/


/*背景が流れる（左から右）*/
/*== ボタン共通設定 */
.btn_anime {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #ee6000;
    background: #ee6000;
    padding: 15px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn_anime span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #fff;
}

.btn_anime:hover span {
    color: #ee6000;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #fff;
    /*背景色*/
    width: 100%;
    height: 100%;
    /*アニメーション*/
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

@media print,
screen and (min-width: 768px) {
    .btn_anime {
        width: 300px;
    }
}

/*-------背景が流れる（左から右）ここまで----------*/


/*背景が流れる（左から右）*/
/*== ボタン共通設定 */
.btn_anime2 {
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
    overflow: hidden;
    /*ボタンの形状*/
    text-decoration: none;
    display: block;
    border: 1px solid #fff;
    background: #fff;
    padding: 15px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn_anime2 span {
    position: relative;
    z-index: 3;
    /*z-indexの数値をあげて文字を背景よりも手前に表示*/
    color: #ee6000;
}

.btn_anime2:hover span {
    color: #fff;
}

/*== 背景が流れる（左から右） */
.bgleft2:before {
    content: '';
    /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    /*色や形状*/
    background: #ee6000;
    /*背景色*/
    width: 100%;
    height: 100%;
    /*アニメーション*/
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft2:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

@media print,
screen and (min-width: 768px) {
    .btn_anime2 {
        width: 300px;
    }
}

/*-------背景が流れる（左から右）ここまで----------*/



/*問い合わせページメールボタン*/

.hover_btn1 {
    text-align: center;
    display: block;
    color: #fff;
}

.hover_btn1 a:link,
.hover_btn1 a:visited {
    color: #fff;
    text-decoration: none;
    padding: 7px 5px;
    display: block;
    background: #999;
}

.hover_btn1 a:hover {
    background: #999;
    display: block;
    padding: 7px 5px;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}

@media print,
screen and (min-width: 992px) {

    .hover_btn1 a:link,
    .hover_btn1 a:visited {
        padding: 15px 5px;
    }

    .hover_btn1 a:hover {
        padding: 15px 5px;
    }
}

/*------*/

.morebtn {
    text-align: center;
    display: block;
}

.morebtn a:link,
.morebtn a:visited {
    color: #fff;
    text-decoration: none;
    padding: 20px 10px;
    display: block;
    background: #999;
}

.morebtn a:hover {
    color: #fff;
    background: #999;
    display: block;
    padding: 20px 10px;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}

@media print,
screen and (min-width: 768px) {
    .morebtn {
        width: 250px;
    }
}

@media print,
screen and (min-width: 992px) {

    .morebtn a:link,
    .morebtn a:visited {
        padding: 10px 10px;
    }

    .morebtn a:hover {
        padding: 10px 10px;
    }
}



/*--------*/




/*--------*/


.morebtn_white {
    text-align: center;
    display: block;
    
}

.morebtn_white a:link,
.morebtn_white a:visited {
    color: #111;
    text-decoration: none;
    padding: 20px 10px;
    display: block;
    background: #fff;
}

.morebtn_white a:hover {
    color: #111;
    background: #f8d100;
    display: block;
    padding: 20px 10px;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}

@media print,
screen and (min-width: 768px) {
    .morebtn_white {
        width: 300px;
    }
}

@media print,
screen and (min-width: 992px) {
    .morebtn_white a:link,
    .morebtn_white a:visited {
        padding: 20px 10px;
    }

    .morebtn_white a:hover {
        padding: 20px 10px;
    }
}

/**/


.morebtn_black {
    text-align: center;
    display: block;

}

.morebtn_black a:link,
.morebtn_black a:visited {
    color: #3a3938;
    text-decoration: none;
    padding: 20px 10px;
    display: block;
    border: 1px solid #3a3938;
}

.morebtn_black a:hover {
    color: #fff;
    background: #3a3938;
    display: block;
    padding: 20px 10px;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}

@media print,
screen and (min-width: 992px) {

    .morebtn_black a:link,
    .morebtn_black a:visited {
        padding: 10px 10px;
    }

    .morebtn_black a:hover {
        padding: 10px 10px;
    }
}

@media print,
screen and (min-width: 768px) {
    .morebtn_black {
        width: 250px;
    }
}





/*--------*/

.circlebtn {
    text-align: center;
    display: block;
}

.circlebtn a:link,
.circlebtn a:visited {
    color: #fff;
    text-decoration: none;
    display: block;
    text-align: center;
    margin: 0 auto;
    width: 100px;
    height: 100px;
    line-height: 100px;
    border-radius: 50%;
    background: #999;
    font-weight: bold;
    font-size: 2em;
}

.circlebtn a:hover {
    color: #fff;
    background: #999;
    display: block;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}


/*--------*/






a.btn_mail,
button.btn {
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 20px 5px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    color: #fff;
    border-radius: 0px;
}

a.btn-gradient {
    font-weight: normal;
    color: #fff;
    border-radius: 0;
    background-image: -webkit-linear-gradient(to right, #f0681b, #f0681b);
    background-image: linear-gradient(to right, #f0681b, #f0681b);
    border-radius: 40px;
}

a.btn-gradient:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    background-image: -webkit-linear-gradient(to right, #f0931b, #f0681b);
    background-image: -webkit-linear-gradient(to right, #f0931b, #f0681b);
    background-image: linear-gradient(to right, #f0931b, #f0681b);
    border-radius: 40px;
}

a.btn-gradient p {
    position: relative;
    z-index: 1;
}

a.btn-gradient:hover {
    color: #fff;
}

a.btn-gradient:hover:after {
    opacity: 0;
}

/*****/

/*添付取り消しボタン*/
.input-group-append .btn {
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    width: 100%;
    padding: 6px 5px !important;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    color: #fff;
    border-radius: 0px;
    margin-top: 5px;
}

/**/

/* box
----------------------------------------------------------*/
.hidden {
    overflow: hidden;
}


.text_box {
    padding: 20px;
    border: 1px solid #111;
    background: #fff;
}

@media print,
screen and (min-width: 768px) {
    .text_box {
        padding: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .text_box {
        padding: 40px;
    }
}

@media print,
screen and (min-width: 1200px) {
    .text_box {
        padding: 60px;
    }
}

/**/


.text_box2 {
    padding: 20px;
    border: 1px solid #111;
}

@media print,
screen and (min-width: 768px) {
    .text_box2 {
        padding: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .text_box2 {
        padding: 40px;
    }
}



/**/




/* マーカーアニメーション
----------------------------------------------------------*/

.marker-animation.active {
    background-position: -100% .5em;
}

.marker-animation {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
}

@media screen and (min-width:992px) {
    .marker-animation.active {
        background-position: -100% .8em;
    }

    .marker-animation {
        background-image: -webkit-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
        background-image: -moz-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
        background-image: -ms-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
        background-image: -o-linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
        background-image: linear-gradient(left, transparent 50%, rgb(243, 252, 144) 50%);
        background-repeat: repeat-x;
        background-size: 200% .6em;
        background-position: 0 .8em;
        transition: all 2s ease;
    }
}

/**/


/* アンカー
----------------------------------------------------------*/
.anchor {
    padding-top: 70px;
    margin-top: -70px;
}

@media screen and (min-width:768px) {
    .anchor {
        padding-top: 100px;
        margin-top: -100px;
    }
}

@media screen and (min-width:992px) {
    .anchor {
        padding-top: 130px;
        margin-top: -130px;
    }
}

.anchor2 {
    padding-top: 70px;
    margin-top: -70px;
}

@media screen and (min-width:768px) {
    .anchor2 {
        padding-top: 80px;
        margin-top: -80px;
    }
}

@media screen and (min-width:992px) {
    .anchor2 {
        padding-top: 100px;
        margin-top: -100px;
    }
}


/* h2
---------------------------------------------------- */
/*タイピング*/
.TextTyping span {
    display: none;
}

/*文字列後ろの線の設定*/
.TextTyping::after {
    content: "|";
    animation: typinganime .8s ease infinite;
}

@keyframes typinganime {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

/**/


#h2_bg {
    background: url(../images/h2_bg.jpg) no-repeat scroll 50% 50% / cover;
}
#h2_contact {
    background: url(../images/h2_contact.jpg) no-repeat scroll 50% 50% / cover;
}
#h2_list {
    background: url(../images/h2_list.jpg) no-repeat scroll 50% 50% / cover;
}
#h2_recruit {
    background: url(../images/h2_recruit.jpg) no-repeat scroll 50% 50% / cover;
}
#h2_company {
    background: url(../images/h2_company.jpg) no-repeat scroll 50% 50% / cover;
}




.h2_tit {
    text-align: center;
    padding: 40px 0 0px;
    font-size: 160%;
    line-height: 120%;
    font-weight: bold;
    /* -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; */
    color: #fff;
    text-shadow: 2px 2px 8px #111;
    letter-spacing: 0.15em;
}

@media print,
screen and (min-width: 768px) {
    .h2_tit {
        padding: 60px 0 0px;
        font-size: 32px;
        letter-spacing: 0.15em;

    }
}

@media print,
screen and (min-width: 992px) {
    .h2_tit {
        padding: 170px 0 0px;
        font-size: 45px;
    }
}

.h2_sub {
    text-align: center;
    padding: 10px 0 40px;
    font-size: 130%;
    line-height: 120%;
    font-weight: bold;
    color: #fff;
    text-shadow: 2px 2px 8px #111;
    letter-spacing: 0.15em;
}

@media print,
screen and (min-width: 768px) {
    .h2_sub {
        text-align: center;
        padding: 10px 0 60px;
    }
}

@media print,
screen and (min-width: 992px) {
    .h2_sub {
        text-align: center;
        padding: 15px 0 80px;
    }
}

/**/
.h2_cate {
    text-align: center;
    padding: 0px 0 10px;
    font-size: 130%;
    line-height: 120%;
    font-weight: bold;
    color: #fff;
    text-shadow: 2px 2px 8px #111;
    letter-spacing: 0.15em;
}

@media print,
screen and (min-width: 768px) {
    .h2_cate {
        text-align: center;
        padding: 0px 0 10px;
    }
}

@media print,
screen and (min-width: 992px) {
    .h2_cate {
        text-align: center;
        padding: 0px 0 10px;
    }
}



/* スクロール
---------------------------------------------------- */
.mainscroll {
    position: absolute;
    bottom: 0%;
    right: 7%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 100;
    font-family: 'Noto Serif', serif;
}


.mainscroll a {
    display: inline-block;
    position: absolute;
    /*  right: 40px;*/
    bottom: 0;
    z-index: 100;
    padding: 10px 10px 80px;
    overflow: hidden;
    color: #fff;
    font-size: 13px;
    line-height: 1;
    letter-spacing: .2em;
    text-transform: uppercase;
    text-decoration: none;
    writing-mode: vertical-lr;
    /*縦書き*/
    /* text-shadow: 1px 1px 5px #000000; */
}

.mainscroll a::after {
    content: '';
    position: absolute;
    bottom: 0%;
    left: 50%;
    width: 1px;
    height: 70px;
    background: #fff;
}

.mainscroll a::after {
    animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }

    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }

    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

#mainjump {
    padding-top: 220px;
    margin-top: -220px;
}



/* mainimage
---------------------------------------------------- */
/* swiper
---------------------------------------------------- */
.main-wrapper {
    margin: 0 auto;
    /* text-align: center; */
}

.main-img img {
    height: 57vh;
    width: 100%;
    object-fit: cover;
}

@media (min-width: 768px),
print {
    .main-img img {
        height: 57vh;
        object-fit: cover;
    }
}

@media (min-width: 992px),
print {
    .main-img img {
        object-fit: cover;
        height: 800px;
    }
}


/*main高さいっぱい*/
@media print,
screen and (min-width: 1200px) {

    .main-container,
    .main-img {
        height: 100vh;
    }

    .main-img>img {
        object-fit: cover;
        /* IE: not support */
        width: 100%;
        height: 100%;
    }
}



/* .photo-ofi img {
    object-fit: cover;
    object-position: 50% 50%;
    font-family: 'object-fit: cover; object-position: 50% 50%;'
} */


#mainimage {
    position: relative;
}

#mainimage .main_kotei{
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	z-index: 999;
	width: 100%;
	margin: 0 auto;
}
#mainimage .main_kotei img{
	 /* max-width: 475px; */
	width:auto;
	height: 250px;
	margin: 0 auto;
}
@media print, screen and (min-width: 576px){
	#mainimage .main_kotei img{width:80px; height: auto;}
}
@media print, screen and (min-width: 768px){
	#mainimage .main_kotei img{	width: 150px; height: auto;}
}
@media print, screen and (min-width: 992px){
	#mainimage .main_kotei img{	width:220px; height: auto;}
}

/*swiperの印刷対応*/
@media print {
    .swiper-slide {
        width: 1110px !important;
        transform: translate3d(-1150px, 0, 0) !important;
    }

    .swiper-slide img {
        width: 1100px;
        height: 500px;
    }
}


/* sidebtn
----------------------------------------------------------*/
.fix-btn{
    position:fixed;
    z-index:100;
    right:10px;
    top:14%;
  }
  @media print, screen and (min-width: 992px){
    .fix-btn{
        top:20%;
      }
  }
  @media print, screen and (min-width: 1000px){
    .fix-btn{
        top:15%;
      }
  }
  @media print, screen and (min-width: 1200px){
    .fix-btn{
        top:30%;
      }
  }
  @media print, screen and (min-width: 1400px){
    .fix-btn{
        top:40%;
      }
  }

  .sidebtn{
    padding: 5px;
    background: #fff;
    border-radius: 10px;
    border: 5px solid #f8d100;
  }
  .sidebtn2{
    padding: 5px;
    background: #fff;
    border-radius: 10px;
    border: 5px solid #ee6000;
  }


/* top
----------------------------------------------------------*/
.bg_2color {
    /* background: linear-gradient(to bottom, #fff 0%, #fff 50%, #102a50 50%, #102a50 100%); */
    background: #102a50;
  }

.top_ban{
    border: 5px solid #111;
}


/*slick*/

.slider{
    width:100%;
    margin:0 auto;
    overflow: hidden;
}
.slider img{
    width:100%;
}
.slider .slick-slide{
    height:auto!important;
}
/**/

.tel_ban{
    background: #f8d100;
    padding: 10px;
    font-size: 20px;    
    font-weight: bold;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    margin-bottom: 10px;
}
@media print,
screen and (min-width: 768px) {
    .tel_ban {
        font-size: 22px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tel_ban {
        font-size: 25px;
    }
}

.tel_ban2{
    background: #ee6000;
    padding: 10px;
    font-size: 20px;    
    font-weight: bold;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    margin-bottom: 10px;
}
@media print,
screen and (min-width: 768px) {
    .tel_ban2 {
        font-size: 22px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tel_ban2 {
        font-size: 25px;
    }
}

/*重ね*/
.imgtext_item5 img {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-width: 1060px;
}



@media print,
screen and (min-width: 768px) {
    .imgtext_item5 {
        margin-left: 0px;
        margin-right: 0px;
        position: relative;
        /*    margin-bottom: 60px;*/
    }

    .imgtext_item5 img {
        width: 60%;
        height: auto;
       
    }

    .imgtext_img5 {
        position: absolute;
        top: 0px;
        left: 0px;
        /*border-radius: 40px 0px 0px 40px; */
    }

}


@media print,
screen and (min-width: 1200px) {
    .imgtext_item5 {
        /*    margin-bottom: 230px;*/
    }
    .imgtext_item5 img {
        width: 50%;
        height: auto;
        left:5%;
    }
}

.imgtext_inr5 {
    padding-top: 30px;
    padding-bottom: 30px;
    background:#102a50;
    color: #fff;
}

@media print,
screen and (min-width: 768px) {
    .imgtext_inr5 {
        margin-top: 120px;
        padding: 20px;
    }
}
@media print,
screen and (min-width: 992px) {
    .imgtext_inr5 {
        margin-top: 130px;
        padding: 30px;
    }
}
@media print,
screen and (min-width: 1200px) {
    .imgtext_inr5 {
        margin-top: 100px;
        padding: 80px;
    }
}
/**/

 .space_imgtext5 {
    padding: 0 0 20px;
}
@media (min-width: 768px) {
    .space_imgtext5 {
        padding: 0px 0 0px;
    }
}
@media (min-width: 860px) {
    .space_imgtext5 {
        padding: 0px 0 60px;
    }
}
@media (min-width: 992px) {
    .space_imgtext5 {
        padding: 0px 0 20px;
    }
}
@media (min-width:1200px) {
    .space_imgtext5 {
        padding: 0px 0 0px;
    }
}
@media (min-width:1400px) {
    .space_imgtext5 {
        padding: 0px 0 0px;
    }
}
@media (min-width:1600px) {
    .space_imgtext5 {
        padding: 0px 0 60px;
    }
} 
@media (min-width:1800px) {
    .space_imgtext5 {
        padding: 0px 0 160px;
    }
} 
/**/




/* works
----------------------------------------------------------*/
/*slick*/

.slick100 {
    width: 100%;
  }
 .slick100 img {
    width: 100%;
    height: auto;
  }
.slick100{
    width: 100%;
  }
 

.slick-arrow {
    position: absolute;
    top: 35%;
    z-index: 10;
    border: none;
    background-color: rgba(255, 255, 255, 0.3);
    padding-top: 10px;
    cursor: pointer;
}
@media print,
screen and (min-width: 768px) {
    .slick-arrow {
    top: 20%;
}
}
@media print,
screen and (min-width: 992px) {
    .slick-arrow {
    top: 30%;
}
}
@media print,
screen and (min-width: 1200px) {
    .slick-arrow {
    top:38%;
}
}


.slick-next {
    right: 20px;
}
.slick-prev {
    left: 20px;
}
/*
.slick-arrow:hover {
    color: #fff;
    opacity: .6;
}
*/

/*画像に変更*/
.slick-prev:before {
  content: "" !important;
}

.slick-prev:after {
  content: url(../images/prev.png);
}

.slick-next:before {
  content: "" !important;
}

.slick-next:after {
  content: url(../images/next.png);
}

/*bootstrap打消し*/
#slick03 button {
  border-radius: 0px;
}

#slick03 button:focus {
  outline: 0px dotted;
  outline: 0px auto -webkit-focus-ring-color;
}

/*カルーセル矢印非表示*/
#slick03-thumb .slick-arrow {
    background: none;
}
#slick03-thumb .slick-prev:after {
    display: none;
}
#slick03-thumb .slick-next:after {
    display: none;
}
/*---slick end----*/



/* recruit.html
---------------------------------------------------- */
/*重ね*/
.imgtext_item1 img {
    width: 100%;
    height: auto;
    object-fit: cover;
}



@media print,
screen and (min-width: 768px) {
    .imgtext_item1 {
        margin-left: 0px;
        margin-right: 0px;
        position: relative;
        /*    margin-bottom: 60px;*/
    }

    .imgtext_item1 img {
        width: 60%;
        height: auto;
       
    }

    .imgtext_img1 {
        position: absolute;
        top: 0px;
        left: 0px;
        /*border-radius: 40px 0px 0px 40px; */
    }

}


@media print,
screen and (min-width: 1200px) {
    .imgtext_item1 {
        /*    margin-bottom: 230px;*/
    }
    .imgtext_item1 img {
        width: 50%;
        height: auto;
        left:5%;
        max-width: 1060px;
    }
}

.imgtext_inr1 {
    padding-top: 30px;
    padding-bottom: 30px;
    background:#102a50;
    color: #fff;
}

@media print,
screen and (min-width: 768px) {
    .imgtext_inr1 {
        margin-top: 120px;
        padding: 20px;
    }
}
@media print,
screen and (min-width: 992px) {
    .imgtext_inr1 {
        margin-top: 130px;
        padding: 30px;
    }
}
@media print,
screen and (min-width: 1200px) {
    .imgtext_inr1 {
        margin-top: 100px;
        padding: 80px;
    }
}
/**/

 .space_imgtext1 {
    padding: 0 0 20px;
}
@media (min-width: 768px) {
    .space_imgtext1 {
        padding: 0px 0 0px;
    }
}
@media (min-width: 860px) {
    .space_imgtext1 {
        padding: 0px 0 20px;
    }
}
@media (min-width: 992px) {
    .space_imgtext1 {
        padding: 0px 0 20px;
    }
}
@media (min-width:1200px) {
    .space_imgtext1 {
        padding: 0px 0 0px;
    }
}
@media (min-width:1400px) {
    .space_imgtext1 {
        padding: 0px 0 0px;
    }
}
@media (min-width:1600px) {
    .space_imgtext1 {
        padding: 0px 0 60px;
    }
} 
@media (min-width:1800px) {
    .space_imgtext1 {
        padding: 0px 0 160px;
    }
} 
/**/



/* list
---------------------------------------------------- */
.category_list {
    list-style: none;
}

.category_list li a {
    border-radius: 5px;
    display: inline-block;
    border: 1px solid #ee6000;
    background: #fff;
    text-align: center;
    line-height: normal;
    font-size: 1em;
    color: #ee6000;
    padding: 10px 5px;
    width: 49.5%;
    float: left;
    margin-bottom: 1px;
    margin-right: 1px;
    transition: background-color 0.3s ease 0s;
    text-decoration: none;
}

.category_list li a:hover,
.category_list .active {
    background-color: #ee6000;
    color: #fff !important;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
    border-radius: 5px;
}

.category_list .active a:link,
.category_list .active a:visited {
    color: #fff;
    background-color: #ee6000;
    border-radius: 5px;

}

.category_list .active:hover {
    background-color: #ee6000;
    color: #fff !important;
    text-decoration: none;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
    border-radius: 5px;
}


@media print,
screen and (min-width: 768px) {
    .category_list {
        display: flex;
        flex-wrap: wrap;
        /*    margin-bottom: 40px;*/
    }

    .category_list li {
        display: flex;
        width: calc(25% - 5px);
        margin-right: 5px;
        margin-bottom: 5px;
    }

    /*.category_tab li:nth-child{ margin-right: 0px;}*/
    /*1行の場合はこれで左端マイナス、2行以上は使えないので左端空ける*/
    .category_list li a {
        float: none;
        margin-bottom: 0px;
        margin-right: 0px;
        /* display: flex;
        justify-content: center;
        align-items: center; */
        width: 100%;
        padding: 10px 5px;

    }
}

@media print,
screen and (min-width: 992px) {
    .category_list {
        /*    margin-bottom: 60px; */
    }

    .category_list li {
        width: calc(25% - 5px);
    }

    .category_list li a {
        padding: 10px 5px;
        font-size: 1.0em;
    }
}

.category_list li span{
    display: block;
    font-size: 14px;
    font-family: 'Roboto', sans-serif;
}

/*スマホで偶数でclear　カテゴリテキストが長いとき崩れ防止*/
.category_list li:nth-child(odd) {
    clear: both;
  }
  
/**/

.list_box{
    background: #fdf7d4;
    padding: 10px;
}

@media print,
screen and (min-width: 768px) {
    .list_box{
        padding:20px;
    }
}
@media print,
screen and (min-width: 992px) {
    .list_box{
        padding:60px;
    }
}

/**/
.list_text{
    width: 220px;
}
@media print,
screen and (min-width: 768px) {
.list_text{
    width: 220px;
}
}
@media print,
screen and (min-width: 992px) {
.list_text{
    width: 300px;
}
}
@media print,
screen and (min-width: 1200px) {
.list_text{
    width:400px;
}
}


/* company
---------------------------------------------------- */
.company_box{
    border: 1px solid #fff;
    padding: 10px;
}
@media print,
screen and (min-width: 768px) {
    .company_box{
        padding: 20px;
    }
}
@media print,
screen and (min-width: 992px) {
    .company_box{
        padding: 30px;
    }
}

.company_tit{
    font-size: 120%;
    font-weight: bold;
    color: #fff;
}
.company_tit span{
    font-size: 30px;
}
@media print,
screen and (min-width: 768px) {
    .company_tit{
        font-size: 22px;
    }
    .company_tit span{
        font-size: 40px;
    }
}
@media print,
screen and (min-width: 992px) {
    .company_tit{
        font-size: 25px;
    }
    .company_tit span{
        font-size: 50px;
    }
}

/* table-*/
.table_blue {
    width: 100%;
    border-collapse: collapse;
}

.table_blue th {
    width: 100%;
    padding: 10px 10px 10px 10px;
    display: block;
    background: #102a50;
    border-bottom: 1px solid#17396c;
    color: #fff;
    font-weight: normal;
}

.table_blue td {
    width: 100%;
    padding: 10px;
    display: block;
    border-bottom: 1px solid#acc3e4;
    background: #cbdbf1;

}

@media print,
screen and (min-width: 768px) {
    .table_blue th {
        width: 28%;
        padding: 15px 12px;
        vertical-align: middle;
        display: table-cell;
        text-align: center;
    }

    .table_blue td {
        width: 100%;
        padding: 15px;
        display: table-cell;
        vertical-align: middle;
    }
}

@media print,
screen and (min-width: 992px) {
    .table_blue th {
        width: 28%;
        padding: 25px 15px;
    }

    .table_blue td {
        padding: 25px 15px;
    }
}







/* contact
---------------------------------------------------- */
@media print,
screen and (min-width: 768px) {
    .contact_midashi {
        margin-right: 20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .contact_midashi {
        margin-right: 40px;
    }
}

/*telfax*/
.tel_box {
    border: 5px solid #f8d100;
    padding: 20px;
    font-weight: 500;
}

@media print,
screen and (min-width: 768px) {
    .tel_box {
        padding: 20px;
        font-size: 20px;
    }
}

@media print,
screen and (min-width:992px) {
    .tel_box {
        padding: 50px;
    }
}

.tel_box .fa {
    margin-right: 5px;
    vertical-align: top;
}

.tel_box_telnum {
    font-size: 30px;
}

@media print,
screen and (min-width: 768px) {
    .tel_box_telnum {
        font-size: 30px;
    }
}

@media print,
screen and (min-width: 992px) {
    .tel_box_telnum {
        font-size: 40px;
        letter-spacing: 0.05em;
    }
}

@media print,
screen and (min-width: 1200px) {
    .tel_box_telnum {
        font-size: 45px;
        letter-spacing: 0.05em;
    }
}
/**/
.tel_box2 {
    border: 5px solid #ee6000;
    padding: 20px;
    font-weight: 500;
}

@media print,
screen and (min-width: 768px) {
    .tel_box2 {
        padding: 20px;
        font-size: 20px;
    }
}

@media print,
screen and (min-width:992px) {
    .tel_box2 {
        padding: 50px;
    }
}

.tel_box2 .fa {
    margin-right: 5px;
    vertical-align: top;
}


/**/


.need {
    /*必須*/
    font-size: 90%;
    color: #fff;
    padding: 0px 6px;
    border-radius: 3px;
    font-weight: normal;
    border-collapse: collapse;
    background: #cc0000;
    margin-right: 10px;
}

/*フォームのテーブル*/
.table_form {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #111;
    /*    background: #fff;*/
}

.table_form th {
    width: 100%;
    padding: 15px 5px 3px 5px;
    display: block;
    font-weight: bold;
}

.table_form td {
    width: 100%;
    border-bottom: 1px solid #111;
    padding: 3px 5px 15px 5px;
    display: block;
}

.table_form th span {
    /*必須*/
    font-size: 70%;
    color: #fff;
    padding: 0px 6px;
    float: right;
    border-radius: 3px;
    font-weight: normal;
    border-collapse: collapse;
    background: #cc0000;
}

.table_form td.last {
    border-bottom: none;
}


.table_form th.sen_none,
.table_form td.sen_none {
    border: 0;
}

@media print,
screen and (min-width: 768px) {
    .table_form th {
        width: 40%;
        border-bottom: 1px solid #111;
        padding: 20px 20px;
        vertical-align: middle;
        text-align: left;
        display: table-cell;
    }

    .table_form td {
        width: 100%;
        padding: 20px 20px;
        display: table-cell;
    }

    .table_form.sen_none .last td {
        padding-bottom: 10px;
    }

    .table_form.sen_none th {
        padding: 10px 20px 0 20px;
    }

    .table_form.sen_none td {
        padding: 10px 25px 0 25px;
    }

}

@media print,
screen and (min-width: 992px) {
    .table_form th {
        width: 30%;
    }
}

/* フォーム関係 */


.required input[type="text"],
.required input[type="password"],
.required select,
.required textarea {
    border: 1px solid #c36;
}



input[type="checkbox"],
input[type="radio"] {
    vertical-align: middle;
    margin: 5px 5px 5px 0;
}

label {
    vertical-align: middle;
    margin: 5px 5px 5px 0;
}

/*input[type="checkbox"]{margin-top: 10px;}*/

input {
    font-size: 100%;
    vertical-align: middle;
    padding: 9px
}

input[type="file"] {
    width: 99%;
}

input[type="text"],
select {
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #111;
}

input[type="email"] {
    color: #111;
}

input:focus[type="text"] {
    border: 1px solid #06c;
}

textarea {
    font-size: 100%;
    border: 1px solid #ccc;
    width: 99%;
    border-radius: 3px;
}

input,
textarea {
    /*display: inline-block; 
  font-family: FontAwesome; */
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -Webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

select {
    padding: 9px;
    color: #111;
}

.form-control {
    color: #111;
}

.form-control.w300 {
    width: 200px;
}

@media (min-width: 768px) {
    .form-control.w300 {
        width: 250px;
    }
}


/*個人情報*/



.privacy_tit {
    font-size: 120%;
    line-height: 150%;
    margin-bottom: 20px;
    font-weight: bold;
    border-bottom: 1px solid #111;
    padding-bottom: 10px;
}

@media (min-width: 768px) {
    .privacy_tit {
        font-size: 17px;
        margin-bottom: 20px;
    }
}

.privacy_waku {
    background-color: #fff;
    padding: 20px 20px;
    border-collapse: collapse;
    border: 1px solid #ccc;
    word-break: break-all;
}

@media print,
screen and (min-width: 992px) {
    .privacy_waku {
        padding: 20px;
    }
}


.privacy_scroll {
    max-height: 200px;
    overflow-y: scroll;
    padding-right: 10px;
    z-index: 1;
}

@media print,
screen and (min-width: 768px) {
    .privacy_scroll {
        max-height: 400px;
    }
}


.btn-primary {
    font-size: 100%;
    padding: 20px 10px;
    border-radius: 0;
}

.btn-primary:hover {
    background-color: #999;
    opacity: 1;
    border-color: #999;
    -webkit-transition: 0.8s;
    -moz-transition: 0.8s;
    -o-transition: 0.8s;
    -ms-transition: 0.8s;
    transition: 0.8s;
}


.form-control {
    height: 50px;
    padding: 12px 10px;
    font-size: 14px;
    line-height: 1.42857143;
    background-image: none;
    border: 1px solid #cccccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}





/* contact　下部
----------------------------------------------------------*/

.contact_bg1 {
    background: url(../images/contact_bg.jpg) no-repeat scroll 50% 50% / cover;
}


.f_space {
    padding: 40px 0;
}

@media (min-width: 768px) {
    .f_space {
        padding: 40px 0;
    }
}

@media (min-width: 992px) {
    .f_space {
        padding: 100px 0;
    }
}


.f_tit{
    letter-spacing: 0.06em;
    font-size:18px;
    font-weight: bold;
    font-family: 'Lato', sans-serif;
    color: #fff;
}

@media (min-width: 768px) {
    .f_tit {
        font-size: 20px;
    }
}

@media (min-width: 992px) {
    .f_tit {
        font-size: 20px;
    }
}

@media (min-width: 1200px) {
    .f_tit {
        font-size: 20px;
    }
}

.f_tit .jp {
    letter-spacing: 0.05em;
    display: block;
    font-weight: bold;
    font-size: 140%;
    margin-top: 5px;
    font-family: "メイリオ", 'Noto Sans JP', sans-serif, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

@media (min-width: 768px) {
    .f_tit .jp {
        font-size: 20px;
    }
}

@media (min-width: 992px) {
    .f_tit .jp {
        font-size: 25px;
        letter-spacing: 0.08em;
    }
}
/**/

.footer_tel {
    font-size: 20px;
    color: #fff;
}

@media print,
screen and (min-width: 768px) {
    .footer_tel {
        font-size:20px;
    }
}

@media print,
screen and (min-width: 992px) {
    .footer_tel {
        font-size:25px;
    }
}

@media print,
screen and (min-width: 1200px) {
    .footer_tel {
        font-size: 25px;
    }
}

.footer_tel .fa {
    margin-right: 5px;
    vertical-align: top;
}

.footer_telnum {
    font-size: 35px;
}

@media print,
screen and (min-width: 768px) {
    .footer_telnum {
        font-size:35px;
    }
}

@media print,
screen and (min-width: 992px) {
    .footer_telnum {
        font-size: 35px;
        letter-spacing: 0.05em;
    }
}

@media print,
screen and (min-width: 1200px) {
    .footer_telnum {
        font-size:40px;
    }
}


/* footer
----------------------------------------------------------*/
#foot_bg {
    padding: 40px 0;
    line-height: 150%;
    /* background: #111;
    color: #fff; */
    font-size: 14px;
    border-top: 1px solid #111;
}

@media print,
screen and (min-width: 992px) {
    #foot_bg {
        padding: 60px 0;
    }
}

#foot_bg2 {
    padding: 40px 0;
    line-height: 150%;
    background: #102a50;
    color: #fff;
    font-size: 14px;
}

@media print,
screen and (min-width: 992px) {
    #foot_bg2 {
        padding: 60px 0;
    }
}


.bg_foot ul {
    padding-left: 0;
    text-align: left;
}

@media print,
screen and (min-width: 768px) {
    .bg_foot ul {
        text-align: left;
    }

    .bg_foot li {
        display: inline;
        font-size: 15px;
        margin-bottom: 5px;
    }

    .bg_foot li a:link,
    .bg_foot li a:visited {
        color: #fff;
        text-decoration: none;
        padding: 0 0px 0 12px;
    }

    .bg_foot li a:hover {
        color: #ccc;
        text-decoration: none
    }
}

@media print,
screen and (min-width: 992px) {
    .bg_foot ul {
        text-align: left;
    }

    .bg_foot li {
        font-size: 12px;
    }
}

@media print,
screen and (min-width: 1200px) {

    .bg_foot li a:link,
    .bg_foot li a:visited {
        padding: 0 0px 0 20px;
    }

    .bg_foot li {
        font-size: 15px;
    }
}

.map a:link,
.map a:visited {
    color: #111;
    text-decoration: none;
}

.map a:hover {
    color: #999;
    text-decoration: none
}

.map .fas {
    margin-right: 5px;
}




/* copy
---------------------------------------------------- */
.copy {
    text-align: center;
    color: #fff;
}

@media print,
screen and (min-width: 768px) {
    .copy {
        font-size: 13px;
        text-align: right;
    }
}









/* pagetop
---------------------------------------------------- */
#pagetop {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 100;
}

@media (min-width: 768px) {
    #pagetop {
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 100;
    }
}





/* エフェクト
----------------------------------------------------------*/
.block-revealer__element {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #111;
    pointer-events: none;
    opacity: 0;
}





/* 印刷改行
----------------------------------------------------------*/
.page-break-before {
    page-break-before: always
}


/* print
----------------------------------------------------------*/
@media print {
    /* .sp_header {
        display: none;
    } */

    .header_bg {
        width: 100%;
        top: 0;
        z-index: 9999;
        -moz-background-size: 100% auto;
        background-size: 100% auto;
        position: absolute;
        /*印刷時固定解除*/
        background-color: #fff;
    }

    .header_telnum {
        font-size: 20px;
    }



    /*meganavi*/
    .menu>ul>.down {
        padding: 0.6em 0.5em !important;
        font-size: 12px;
    }

    .menu>ul>li a {
        padding: 0em 0em !important;
        margin-left: 0.2em;
        font-size: 11px;
    }

    /**/


    /*top*/
    .fix-btn{
        display: none;
    }
    .sidebtn{
        display: none;
    }
    .sidebtn2{
        display: none;
    }

    #main_mt {
        margin-top: 0px;
    }

    .h2_tit {
        padding: 150px 0 0px;
        font-size: 40px;
    }

    .h2_sub {
        padding: 10px 0 40px;
    }

    .tate_mr {
        margin-right: 10px;
    }





    /*印刷時matchHeight無効*/

    .mheight {
        height: 100% !important;
    }
















    /*footer*/
    .f_img img {
        width: 220px;
        height: auto;
    }

    .bg_foot li {
        font-size: 9px;
    }

    .bg_foot li a:link,
    .bg_foot li a:visited {
        padding: 0 0px 0 5px;
    }

    .copy {
        font-size: 12px;
    }

    .footer_telnum {
        font-size: 35px;
    }

    .contact_bg {
        background: #f2efec;
    }











    /*印刷時matchHeight無効*/
    /*
    .mheight {
        height: 100% !important;
    }

    .mheight2 {
        height: 100% !important;
    }
*/


    /*印刷時非表示*/
    .display_none {
        display: none !important;
    }



}